NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #852 most downloaded on PyPI
Always know what to expect from your data.
Last release 8 days ago
25 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
11 versions withdrawn
withdrawn after publishing
9 years old
369 releases · first in 2017
[FEATURE] POC ZEP Config Loading
requirements.txt file when installing linting/static check dependencies in CI (#6368)remark-named-snippets plugin (#6376)packaging_and_installation CI tests against latest tag (#6386)yarn snippet-check command (#6351)ConfigurationProvider hierarchy (#6321)cloud_constants.py (#6349)termcolor dependency (#6348)usage_stats_opt_out method in DataContext (#5339)mypy to 0.990 (#6361)mypy in contrib CLI (#6370)ConfigurationProvider (#6345)ConfigurationProvider and ConfigurationSubstitutor private (#6375)GeCloudStoreBackend to GXCloudStoreBackend (#6377)pydantic version requirement (#6384)One column per quarter.
[DOCS] Removes deprecated expectation notebook exploration doc
CloudNotificationAction tests (#6327)partial_unexpected values for SUMMARY format (#6334)pypi release badge (#6324)BaseDataContext.get_batch_list (#6291)Optional errors flagged by mypy (#6319)DataContext (#6304)save_changes flag on Datasource CRUD (#6258)great_expectations.render.types package (#6315)[DOCS] Removing deprecated Custom Metrics doc
[BUGFIX] Pin termcolor to below 2.1.0 due to breaking changes in lib's TTY parsing logic
GeCloudIdentifiers to find the suite ID from the name (#6243)termcolor to below 2.1.0 due to breaking changes in lib's TTY parsing logic (#6257)InferredAssetSqlDataConnector include_schema_name introspection of identical table names in different schemas (#6166)docs-integration tests, and temporarily pin sqlalchemy (#6268)Datasource credentials are not persisted to Cloud/disk (#6254)noqa: F821 Flake8 directive (#6220)data_docs (#6246)dev CI (#6231)compatability and comprehensive stages in dev CI to improve performance (#6245)Marshmallow warnings (missing parameter changed to load_default as of 3.13) (#6213).png files out of project root (#6249)expectation.py attributes (#6265)dev CI (#6267)warn_unused_ignores (#6270)marshmallow version bump (#6271)ExpectColumnValueZScoresToBeLessThan (#6229)[MAINTENANCE] Replace deprecated iteritems with items
py to dev dependencies to circumvent compatability issues with pytest==7.2.0 (#6202)test_package_dependencies.py to include py lib (#6204)TypeError (#6216)ge_cloud_id instead of name (#6234)scope_check in Azure CI to trigger on changed .py source code files (#6185)parse_evaluation_parameter (#6191)BaseDataContext to AbstractDataContext (#6188)expectation.py (#6173)dev CI pipeline to improve performance (#6203)CloudMigrator.retry_unsuccessful_validations (#6206)iteritems with items (#6205)Datasource CRUD (#6186)ExpectColumnValuesToBeJsonParsable, including a fix for Spark (#6207)BaseDataContext to AbstractDataContext (#6201)py (#6217)UsageStatsEvents a StrEnum (#6225)requirements-dev*.txt files to separate dir (#6223)[FEATURE] Initial zep datasource protocol.
runtime.txt to fix breaking Netlify builds (#6181)GE_DATA_CONTEXT_ID env var to the docker file (#6122)from __future__ import annotations to clean up type hints (#6127)[FEATURE] Add logging/warnings to GX Cloud migration process
gx.get_context() method that returns correct DataContext-type (#6104)Set-Based Column Map Expectation template import (#6134)GESqlDialect Enum for Hive (#6149)test_migrate=True Cloud migrator output (#6119)CloudMigrator (#6125)sqlalchemy-redshift from 0.7.7 to 0.8.8 (#6082)rendered_content if rendering does not fail with new InlineRenderer failure message (#6091)[FEATURE] Enable sending of ConfigurationBundle payload in HTTP request to Cloud backend
ConfigurationBundle payload in HTTP request to Cloud backend (#6083)DataContext.save_datasource not sending class_name in result payload (#6108)docs-integration test due to new whole_table splitter behavior (#6103)data_context_id property to ConfigurationBundle (#6094)[FEATURE] Since value set in expectation kwargs is list of strings, do not emit expect_column_values_to_be_in_set for datetime valued columns
if TYPE_CHECKING (#6076)CloudDataContext to retrieve and initialize its own project config (#6006)Session factory function (#6007)[FEATURE] context.save_datasource
ConfiguredAssetSqlDataConnector config in datasource new CLI workflow (#6044)[MAINTENANCE] Remove deprecated account_id from GX Cloud integrations
ConfiguredAssetSqlDataConnector (#5993)run_profiler_notebook test (#5983)get_validator test assertions due to change in fixture batches (#5989)save_expectation_suite behavior with Cloud-backed DataContext (#6004)pprint in ExpectationSuite.show_expectations_by_expectation_type() due to Jupyter rate limit (#6026)CheckpointStore (#5967)DataContext.__init__ to move Cloud-specific logic to CloudDataContext (#5981)splitter_method at Asset and DataConnector level (#6000)splitter_method strings with SplitterMethod Enum and leverage GESqlDialect Enum where applicable (#5980)DataContext.add_datasource works with nested DataConnector ids (#5992)GeCloudStoreBackend (#5999)Validator (#5988)dgtest from dev pipeline (#6003)account_id from GX Cloud integrations (#6010)datasource new workflow to enable ConfiguredAssetDataConnector usage with SQL-backed Datasources (#6019)[BUGFIX] Data Assistant plotting with zero expectations produced
schema to be passed in as batch_spec_passthrough in Spark (#5900)Marshmallow upper bound to work with Airflow operator (#5952)@pytest.mark.integration (#5931)tests/data_context/stores dir (#5913)tests/validator (#5926)tests/rule_based_profiler (#5930)Stores (#5953)Store test utils from source code to tests (#5932)ConfigurationStore (#5948)ValidationGraph and related classes (#5954)data_context/store (#5923)[MAINTENANCE] SqlAlchemyExecutionEngine case for SQL Alchemy Select and TextualSelect due to SADeprecationWarning
include_rendered_content to get_expectation_suite and get_validation_result (#5853)delete_expectation_suite returns proper boolean result (#5878)checkpoint_identifier within Checkpoint.run workflow (#5894)DataContext.add_checkpoint() updates existing objects in GX Cloud (#5895)Datasource caching in DataContext (#5839)DataAssistant tests with @pytest.mark.integration (#5845)Datasource caching (#5844)@pytest.mark.unit (#5846)datasource, data_context, core typing, lint fixes (#5824)id instead id_ (#5775)ExpectationSuite CRUD on DataContext to recognize Cloud ids (#5836)test_expectation_suite_crud.py (#5868)marshmallow__shade (#5866)pytest-timeout (#5857)tests/core with @pytest.mark.unit and @pytest.mark.integration (#5879)pytest-timeout timeout value during unit-testing step (#5884)@pytest.mark.slow throughout test suite (#5882)SqlAlchemyExecutionEngine case for SQL Alchemy Select and TextualSelect due to SADeprecationWarning (#5902)[FEATURE] query.pair_column Metric
query.pair_column Metric (#5743)DomainBuilder execution time per Rule of Rule-Based Profiler (#5796)ExpectationSuite Rendering (#5726)save_profiler to remove explicit name and ge_cloud_id args (#5792)ge_cloud_id reference from DataContext ExpectationSuite CRUD (#5791)ge_cloud_id from DataContext.add_profiler() signature (#5804)RuleBasedProfiler creation and retrieval (#5815)pytest-mock & pytest-icdiff plugins (#5819)list_ methods on DataContext to emit names along with object ids (#5826)DataContextVariables (#5828)[FEATURE] DataAssistantResult plot multiple metrics per expectation
DataAssistantResult plot multiple metrics per expectation (#5556)DataAssistant.run() level (default value is True) (#5744)postgres (#5776)SuiteValidationResult.meta validation id propogation before ValidationOperator._run_action (#5760)DataConnectorConfig (#5740)oneshot estimator to quantiles estimator (#5737)exact estimator by default (#5759)GeCloudIdentifier creation in Checkpoint.run() (#5784)[MAINTENANCE] Remove deprecation warning from DataConnector-level batch_identifiers for RuntimeDataConnector
default_validation_id in CheckpointConfig (#5693)ExpectationSuiteValidationResult.meta within Checkpoint.run() (#5725)resource_type from call to StoreBackend.build_key (#5690)resource_type in InlineStoreBackend constructor (#5671)RuleBasedProfiler corner case configuration changes (#5631)e2e mark on E2E Cloud tests (#5691)gx-cloud-e2e stage of CI (#5695)e2e mark to pyproject.toml (#5699)rule_based_profiler and rule_based_profiler.types (#5680)integration mark to tests in test_datasource_crud.py (#5708)cloud-db-integration-pipeline (#5704)DataConnector-level batch_identifiers for RuntimeDataConnector (#5717)AbstractConfig to make name and id_ consistent attrs (#5698)DataContextVariables in DataContext hierarchy to automatically determine how to persist changes (#5715)InMemoryStoreBackend out of store_backend.py (#5679)[BUGFIX] SlackRenderer / EmailRenderer links to deprecated doc
DataContext.add_checkpoint() to ensure validations within CheckpointConfig contain ids (#5638)expect_column_values_to_be_valid_crc32 (#5580) (thanks @sp1thas)--cloud flag to dgtest-cloud-overrides section of Azure YAML (#5632)id vs id_ in Cloud integration tests (#5677)id to CheckpointValidationConfig (#5603)--clear-cache flag for invoke type-check (#5639)dgtest test runner utilizing Git URL in CI (#5645)DataContext.add_checkpoint() (#5653)tasks.py and create new file usage_stats_utils.py (#5593)id_ fields in Marshmallow schema serialize as id (#5660)[MAINTENANCE] Handle numpy deprecation warnings
SimpleSqlDatasource (#5610)0.315.0 from requirements (#5606)ExpectationSuite CRUD at BaseDataContext level (#5604)get_validator on Cloud-backed DataContext (#5619)test_data_context_datasources to improve test performance and narrow test scope (#5588)Datasource CRUD on DataContext to ensure consistent behavior (#5584)RuleBasedProfiler config (#5590)resource_type used in GeCloudStoreBackend is converted to GeCloudRESTResource enum as needed (#5601)numpy deprecation warnings (#5615)[FEATURE] Integrate DataContextVariables with DataContext
DataContextVariables with DataContext (#5466)try/except around DataContext._save_project_config to mitigate issues with permissions (#5550)/data-context-variables endpoint to adhere to desired chema (#5509)key arg out of Store.serialize/deserialize (#5511)FileDataContextVariables (#5516)GeCloudStoreBackend to use PUT and DELETE HTTP verbs instead of PATCH (#5527)/profiler Cloud endpoint support (#5499)Store (#5529)domain_type of an ExpectationConfiguration object (#5542)DataAssistantResult display charts (#5528)[FEATURE] Control volume of metadata output when running DataAssistant classes.
None values removed (#5474)dependency-graph pipeline YAML to ensure --spark gets passed to dgtest (#5477)spark.sql.warehouse.dir (#5490)teams.yml (#5457)InlineRenderer invocation feature flag from ExpectationValidationResult (#5441)DataContext Refactor. Migration of datasource and store (#5404)DataContextVariables to leverage @property and @setter (#5446)DataAssistantResult fixtures module scoped (#5465)parter-integration pipeline only runs on cronjob (#5500)GeCloudStoreBackend to better integrate with GE Cloud (#5497)teams.yml (#5489)add_datasource method on AbstractDataContext does not persist by default (#5482)[FEATURE] Add atomic rendered_content to ExpectationValidationResult and ExpectationConfiguration
rendered_content to ExpectationValidationResult and ExpectationConfiguration (#5369)DataContext.update_datasource CRUD method (#5417)condition_value of a row_condition (#5393) (thanks @sp1thas)BaseDataContext does not persist Datasource changes by default (#5423)project_config_with_variables_substituted to AbstractDataContext (#5385)GeCloudStoreBackend (#5427)rendered_content in ExpectationValidationResult (#5438)datasource_name out of DataContext.update_datasource (#5440)meta (#5445)[FEATURE] Add Rule Statistics to DataAssistantResult for display in Jupyter notebook
_apply_global_config_overrides() to AbstractDataContext (#5285)config_variables in DataContext (#5376)RuleBasedProfiler progress bars for better user experience (#5400)[FEATURE] Enable NumericMetricRangeMultiBatchParameterBuilder to use evaluation dependencies
add_datasource to leverage the DatasourceStore (#5334)cloud_db_integration pipeline (#5321)_apply_global_config_overrides() method to return config (#5286)0.15.10 release (#5325)[FEATURE] DataContextVariables CRUD for stores
DataContextVariables CRUD for stores (#5268)DataContextVariables CRUD for data_docs_sites (#5269)DataContextVariables CRUD for anonymous_usage_statistics (#5271)DataContextVariables CRUD for notebooks (#5272)DataContextVariables CRUD for concurrency (#5273)DataContextVariables CRUD for progress_bars (#5274)DatasourceStore with DataContext (#5292)OnboardingDataAssistant (#5276)check_type_hint_coverage script to ensure proper mypy installation (#5291)DataAssistantResult cleanup and extensibility enhancements (#5259)[FEATURE] Add new expectation: expect column values to match powers of a base g… (#5219) (thanks @rifatKomodoDragon)
DatasourceStore (#5206)InlineStoreBackend (#5216)DataContextVariables accessors (#5238)OnboardingDataAssistant plots for expect_table_columns_to_match_set (#5208)DataContextVariables CRUD for config_variables_file_path (#5262)DataContextVariables CRUD for plugins_directory (#5263)DataContextVariables CRUD for store name accessors (#5264)cloud mark to pytest.ini (#5254)DataContextVariableKey for use in Stores (#5255)autoupdate GitHub action (#5270)[FEATURE] OnboardingDataAssistant plots for expect_table_row_count_to_be_between non-sequential batches
OnboardingDataAssistant plots for expect_table_row_count_to_be_between non-sequential batches (#5212)OnboardingDataAssistant (#5189)…for conversion to numpy array (to avoid deprecation warnings)
Expectations (#5169)OnboardingDataAssistant backend (#5193)Validator is instantiated with Incorrect BatchRequest (#5172)expectation_gallery Azure pipeline (#5194)DataAssistantResult (#5198)[BUGFIX] Read deployment_version instead of using versioneer in deprecation tests
NumericMetricRangeMultiBatchParameterBuilder kernel density estimation (#5084)ColumnValuesLengthMin and ColumnValuesLengthMax metrics (#5107)batch_identifiers in plot tooltips (#5091)DataAssistantResult plotting API (#5117)ExpectColumnValueLengthsToBeBetween (#4985)DataAssistant plotting for non-sequential batches (#5126)DataAssistant notebook for new plotting API (#5118)external_sqldialect mark to skip during lightweight runs (#5139)MetricTypes and AttributedResolvedMetrics (#5100)[FEATURE] Add subset operation to Domain class
ExpectColumnStddevToBeBetween (#5065)self_check() now also checks for aws_config_file (#5040)multi_batch_rule_based_profiler test up to date with RBP changes (#5066)openlineage-integration-common package (#5041) (thanks @mobuchowski)DataAssistant plotting to leverage utility dataclasses (#5022)pypandoc version constraint added (< 1.8) (#5093)RuleBasedProfiler and DataAssistant workflows (#5080)[FEATURE] Enable self-initializing ExpectColumnMeanToBeBetween
ExpectColumnMeanToBeBetween (#4986)ExpectColumnMedianToBeBetween (#4987)ExpectColumnSumToBeBetween (#4988)VolumeDataAssistant Example (#5010)DataAssistantResult.plot() return value to emit PlotResult wrapper dataclass (#4962)autoupdate GitHub action (#5001)DataAssistant registry capabilities into DataAssistantRegistry to enable user aliasing (#4991)flake8 in CI/CD (#5005)vconcat plots into one interactive plot (#5002)black in pre-commit config (#5019)[FEATURE] Enable self-initializing capabilities for ExpectColumnProportionOfUniqueValuesToBeBetween
ExpectColumnProportionOfUniqueValuesToBeBetween (#4929)VolumeDataAssistant (#4930)ExpectColumnValuesToMatchRegex/ExpectColumnValuesToNotMatchRegex (#4958)ExpectColumnValuesToMatchStrftimeFormat (#4977)monkeypatch to set a consistent bootstrap seed in tests (#4960)dgtest-overrides (#4976)great_expectations pipeline stages to prevent false positive build failures (#4957)cryptography package (#4963)-> None (per PEP 484) (#4969)false_positive_rate is not in range [0, 1] or very close to bounds (#4946)[BUGFIX] Add deprecation comment to RuntimeDataConnector
DataAssistantResult.plot() (#4873)ExpectColumnUniqueValueCountToBeBetween (#4902)great_expectations import fails when SQL Alchemy is not installed (#4880)DataAssistant into DataAssistantResult (#4896)import_ge stage doesn't cause misleading Slack notifications (#4898)RuleBasedProfilerConfig (#4882)dgtest-overrides list to include all test files not captured by primary strategy (#4891)ge init in packaging CI pipeline (#4885)DataAssistantResult.plot() conditional formatting and tooltips (#4881)[BUGFIX] Temporarily adjust Deprecation Warning Count
RuntimeDataConnector able to specify Assets (#4861)notebook to GE_REQUIRED_DEPENDENCIES (#4842)oneshot estimation method (#4852)Datasource tests that work with RuntimeDataConnector by backend. (#4853)DataContext tests that work with RuntimeDataConnector by backend (#4858)[FEATURE] Implement Multi-Column Domain Builder for Rule-Based Profiler
regex ParameterBuilder to match Expectation (#4594)ignored_columns snippet in "Getting Started" (#4609)requests in usage stats integration tests (#4600)pybigquery check that is no longer needed (#4681)[FEATURE] Convert Existing Self-Initializing Expectations to Make ExpectationConfigurationBuilder Self-Contained with its own validation_parameter_bui
ParameterBuilder to match Expectation (#4590)conftest (#4534)mistune dependency (#4569)black in response to hotfix for Click v8.1.0 (#4577)[FEATURE] Enables Regex-Based Column Map Expectations
YAMLHandler Class (#4510)nbconvert to dev dependencies (#4515)How to Configure Credentials (#4525)Checkpoints documentation and add snippet (#4474)camel_to_snake util to RegexBasedColumnMapExpectation (#4511)compatability stage to dependency_graph pipeline (#4514)[BUGFIX] Updates or deletes broken and deprecated example notebooks
core-team (#4382)add_rule() method for RuleBasedProfilers and tests (#4358)RuleBasedProfiler.run() (#4386)get_parent usage stats utility in test_yaml_config (#4410)--spark flag back to azure-pipelines.yml compatibility_matrix stage. (#4418)pytest-azurepiplines usage from test_cli stages in Azure pipelines (#4432)snippet tag to gcs data docs (#4383)snippet tags to existing documentation (#4397)packaging_and_installation pipeline to run at off-hours (#4384)ge_class attr out of Anonymizer and related child classes (#4393)Anonymizer (#4419)RegexPatternStringParameterBuilder tests to use unittests (#4436)[FEATURE] ParameterBuilder for Computing Average Unexpected Values Fractions for any Map Metric
IndexError around data asset pagination from CLI (#4346)format in favor of f-strings (#4347)--no-postgresql and --no-spark flags from pytest. Enable --postgresql and --spark (#4309)[FEATURE] Enable Simultaneous Execution of all Metric Computations for ParameterBuilder implementations in Rule-Based Profiler
ConfiguredAssetSqlDataConnector now correctly handles schema and prefix/suffix (#4268)deep_filter_properties_iterable to ensure that empty values are cleaned (#4298)[FEATURE] Add run_profiler_on_data method to DataContext
run_profiler_on_data method to DataContext (#4190)RegexPatternStringParameterBuilder for RuleBasedProfiler (#4167)condition to DefaultExpectationConfigurationBuilder (#4246)RegexPatternStringParameterBuilder is deterministic (#4240)test_script_runner.py actually raises AssertionErrors correctly (#4239)[FEATURE] Support Multi-Dimensional Metric Computations Generically for Multi-Batch Parameter Builders
dependency_graph pipeline changes to ensure usage_stats runs in parallel (#4198)[FEATURE] Create profiler from DataContext
suite command and related utilities (#4158)great_expectations pipeline trigger to be more consistent (#4138)class_name as mandatory field from RuleBasedProfiler (#4139)AWSAthena does not create temporary table as part of processing Batch by default, which is currently not supported (#4103)Exception as e instances (#4143)test_script_runner.py. Integration and Docs tests (#4145)compatability stage from dependency-graph pipeline (#4161)[FEATURE] Delete profilers from DataContext
pip --upgrade to a specific version for CI/CD pipeline (#4100)pip==20.2.4 for usage statistics stage of CI/CD (#4102)[MAINTENANCE] Change logger.warn to logger.warning to remove deprecation warnings
logger.warn to logger.warning to remove deprecation warnings (#4085)[FEATURE] List profilers from DataContext
test_yaml_config utility (#4038)test_yaml_config (#4029)[FEATURE] Marshmallow schema for Rule Based Profiler
test_script_runner.py to break-up test list (#3987)[FEATURE] Add pagination/search to CLI batch request listing
cloud-db-integration pipeline (#3977)mssql (#3950)render method in PageRenderer (#3962)render method of Content Block Renderer (#3960)[MAINTENANCE] Fix breaking change caused by the new version of ruamel.yaml
great_expectations_contrib CLI tool (#3909)dependency_graph pipeline to use dgtest CLI (#3912)CheckDocsDependenciesChanges to only handle .py files (#3936)check_docs_deps (#3949)[FEATURE] PandasExecutionEngine is able to instantiate Google Storage client in Google Cloud Composer
[DOCS] Updates to configuring credentials
add_expectation() in ExpectationSuite supports usage statistics for GE. (#3824)[FEATURE] Add support for named groups in data asset regex
[FEATURE] Instrument Runtime DataConnector for Usage Statistics: Add "checkpoint.run" Event Schema
[FEATURE] Feature/render validation metadata (#3397) (thanks @vshind1)
deep_filter_properties_dict() to deep_filter_properties_iterable()black dep (#3778)[DOCS] Updated code example to remove deprecated "File" function (#3632) (thanks @daccorti)
[FEATURE] Enable support for Teradata SQLAlchemy dialect (#3496) (thanks @imamolp)
[MAINTENANCE] Adds util for handling SADeprecation warning
[FEATURE] Support median calculation in AWS Athena (#3596) (thanks @persiyanov)
[FEATURE] Retrieve data context config through Cloud API endpoint #3586
Full Changelog: https://github.com/great-expectations/great_expectations/compare/0.13.39...0.13.40
[BUGFIX] Fix deprecation warning for importing from collections (#3546) (thanks @shpolina)
[MAINTENANCE] Provide Deprecation Notice for the "parse_strings_as_datetimes" Expectation Parameter in V3
Your coding agent can read these notes before it upgrades. Set up the MCP server →