Releases: posit-dev/pointblank
Releases · posit-dev/pointblank
v0.22.0
New Features
- Expanded
generate_dataset()country support with 29 new countries (EC, PA, SA, UA, AM, AZ, BO, CM, DO, GE, GT, HN, IL, JM, JO, KH, KZ, LB, MD, MM, MZ, NP, PY, RS, RW, SV, TZ, UY, UZ), bringing the total to 100 supported countries, along with expanded street lists and normalized industry names across existing countries. (#370, #371) - Added
profile_fields()as a composite helper that creates a dictionary of person-profileStringFieldobjects for direct unpacking into aSchema(). Supports three tiers ("minimal","standard","full"), name splitting, column include/exclude, and aprefix=parameter for namespacing. (#367) - Significantly expanded YAML workflow support with governance metadata (
owner,consumers,version),final_actionsandreferencetop-level keys, aggregate validation methods (col_sum_gt,col_avg_le, etc.),col_pct_null,data_freshness, shortcut syntax for theactiveparameter, unknown-key validation to catch typos, and YAML-to-Python roundtrip fidelity. (#369)
Bug Fixes
- Fixed
preview()failing on tables with duration (timedelta) columns by casting them to strings before display. (#368)
Docs
- Added YAML reference and validation workflow guides covering governance metadata and aggregate methods. (#369)
- Updated data generation documentation with
profile_fields()usage and 100-country support. (#367, #370, #371)
Full Changelog: v0.21.0...v0.22.0
v0.21.0
New Features
- Significantly enhanced
generate_dataset()with locale mixing (country=now accepts lists or weighted dicts), frequency-weighted sampling via a 4-tier system, auser_agentpreset with country-weighted browser selection, presets for hash digests (md5,sha1,sha256), barcodes (ean8,ean13), date strings (date_between,date_range,future_date,past_date), and ISO 3166-1 country codes (country_code_2,country_code_3), country-specific license plate formats, industry-coherent person-company pairing, agenerate_datasetpytest fixture with automatic per-test seeding, and expanded country support (bringing the total to 71). (#352, #354, #355, #358, #360, #361, #362, #363, #364, #365, #366) - Added expressions support for the
active=parameter to provide for more flexible and dynamic validation workflows. (#349)
Docs
- Added validation report notes output display in documentation examples. (#350)
- Improved docstrings for
generate_dataset()and all*_field()functions. (#353) - Fixed broken links in
quickstart.qmdby removing incorrect path prefixes. (@Meghansaha, #357) - Updated data generation documentation with new presets and features. (#359)
Full Changelog: v0.20.0...v0.21.0
v0.20.0
New Features
- Added the
generate_dataset()function for creating realistic synthetic test data fromSchemadefinitions, with a suite of field helper functions (int_field(),string_field(),date_field(),name_field(), etc.) and support for 50 country locales via thecountry=parameter. (#348)
Full Changelog: v0.19.0...v0.20.0
v0.19.0
New Features
- We can now specify
owner,consumers, andversionmetadata for data validations within theValidateclass. (#344) - The new
data_freshness()validation method has been added for easily checking the freshness of data. (#345)
Fixes
- Added the
.step_report()capability for the aggregate validation methods (e.g.,col_sum_gt(),col_sd_lt(), etc.). (#343) - Updated SVG icons for all of the aggregate validation methods. (#346)
Full Changelog: v0.18.0...v0.19.0
v0.18.0
New Features
- Added several validation methods that work on aggregates of column values (e.g.,
col_sum_gt(),col_sd_lt(), etc.). (@tylerriccio33, #332)
Fixes
- Implemented fix for handling datetime strings in
_apply_segments(). (#337) - Added reference data as a default for aggregation comparison values. (@tylerriccio33, #339)
- Add experimental gradual typing for development. (@tylerriccio33, #198, #338)
- Improved the display of aggregation-type methods in the validation report. (#342)
Docs
- Updated the reference API with aggregate check methods. (#340)
Full Changelog: v0.17.0...v0.18.0
v0.17.0
New Features
- All
col_schema_match()validation steps are now accompanied by notes that describe the results. (#325) - Notes appear in validation reports notes when columns are not found or none are resolved by use of column selectors. (#326)
- Validation reports now have informative notes for steps that use the
pre=parameter. (#328) - New options are available (in
get_tabular_report()and globally inconfig()) for enabling/disabling validation report footer sections. (#327) - Added the
test-coretarget for running core tests (large time savings compared to running all tests). (#331) - New validation method added,
col_pct_null(), for checking the percentage of Null values in a column. (#290, @tylerriccio33)
Fixes
New Contributors
Full Changelog: v0.16.0...v0.17.0
v0.16.0
New Features
- Use of local thresholds settings will now produce notes at the bottom of the validation report table. (#318)
- Added the
print_database_tables()function for printing a list of tables in a database connection. (#322, @Meghansaha) - Added YAML support for several recently added validation methods. (#312)
- There are now report translations for all official EU languages. (#314)
Fixes
- Ensured that Pointblank is compatible with Python 3.14 (#320)
Docs
- Revised project website navigation to put the User Guide front and center. (#307, #321)
- Modified logo used in website. (#308)
- Added both the
llms.txtandllms-full.txtfiles to the project website. (#310) - Updated documentation with newly-added validation methods. (#311)
- Added a PDF version of the User Guide to the website (#313)
- Improved the appearance of the website's sidebar button (visible at constrained screen widths). (#315)
- Fixed broken contributor info links. (#316, @Meghansaha)
New Contributors
- @Meghansaha made their first contribution in #316
Full Changelog: v0.15.0...v0.16.0
v0.15.0
New Features
- Several new validation methods were incorporated:
col_vals_within_spec(),col_vals_increasing(),col_vals_decreasing(), andtbl_match(). (#304, #305, #306) - The option to ignore SSL verification was added to the
DraftValidationclass via the newverify_ssl=parameter. (#302) - Added the (internal for now) 'notes' functionality for validation step, which will allow for useful information in individual validation steps to be available post-interrogation. (#303)
Fixes
- Altered the HTML tags of 'brief' text in validation reports for better display across different publishing environments. (#299)
Docs
- Added a User Guide page on validation reports. (#300)
Full Changelog: v0.14.0...v0.15.0
v0.14.0
New Features
- Added the
.prompt()validation method to enable data validation using LLMs, evaluating data in rows against natural language descriptions instead of programmatic rules. (#287) - The new
write_file()andread_file()functions allow for writing/reading validation objects to and from disk. (#291) - More translation languages added (
"id","uk","he","th", and"fa"). (#293)
Docs
- Summary fields in the
get_validation_summary()docs examples were updated. (@jrycw, #284) - The
yaml_to_python()function now has published docs on the project website. (@jrycw, #288) - There's now a Posit badge in the header of the project website. (#292)
Fixes
- Zero-row tables are now better handled in the validation workflow. (#297)
Chores
- Added many tests to improve code coverage. (#294, #298)
- New tests and documentation now available for validations involving datetime + timezone comparisons. (#289)
Full Changelog: v0.13.4...v0.14.0
v0.13.4
New Features
- Add Enum support to
col_vals_in_set()andcol_vals_not_in_set(). (#280) - The
col_vals_regex()validation method now has theinverse=parameter to enable negative regex matching. (#282)
Fixes
- The usage of
pre=is now better isolated to the steps using it. (#283)
Full Changelog: v0.13.3...v0.13.4