Skip to content

Releases: posit-dev/pointblank

v0.22.0

26 Feb 15:43

Choose a tag to compare

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-profile StringField objects for direct unpacking into a Schema(). Supports three tiers ("minimal", "standard", "full"), name splitting, column include/exclude, and a prefix= parameter for namespacing. (#367)
  • Significantly expanded YAML workflow support with governance metadata (owner, consumers, version), final_actions and reference top-level keys, aggregate validation methods (col_sum_gt, col_avg_le, etc.), col_pct_null, data_freshness, shortcut syntax for the active parameter, 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

19 Feb 20:08
8a8f08a

Choose a tag to compare

New Features

  • Significantly enhanced generate_dataset() with locale mixing (country= now accepts lists or weighted dicts), frequency-weighted sampling via a 4-tier system, a user_agent preset 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, a generate_dataset pytest 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.qmd by 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

04 Feb 20:15

Choose a tag to compare

New Features

  • Added the generate_dataset() function for creating realistic synthetic test data from Schema definitions, with a suite of field helper functions (int_field(), string_field(), date_field(), name_field(), etc.) and support for 50 country locales via the country= parameter. (#348)

Full Changelog: v0.19.0...v0.20.0

v0.19.0

21 Jan 20:56
2155e4f

Choose a tag to compare

New Features

  • We can now specify owner, consumers, and version metadata for data validations within the Validate class. (#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

13 Jan 15:19

Choose a tag to compare

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

02 Dec 03:17

Choose a tag to compare

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 in config()) for enabling/disabling validation report footer sections. (#327)
  • Added the test-core target 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

  • Removed a duplicate paragraph in the docs. (#329, @dpprdan)

New Contributors

Full Changelog: v0.16.0...v0.17.0

v0.16.0

18 Nov 15:14

Choose a tag to compare

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.txt and llms-full.txt files 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

Full Changelog: v0.15.0...v0.16.0

v0.15.0

28 Oct 14:23
0b47c1b

Choose a tag to compare

New Features

  • Several new validation methods were incorporated: col_vals_within_spec(), col_vals_increasing(), col_vals_decreasing(), and tbl_match(). (#304, #305, #306)
  • The option to ignore SSL verification was added to the DraftValidation class via the new verify_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

10 Oct 00:00
5061e7d

Choose a tag to compare

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() and read_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

19 Sep 23:54
b03a9fa

Choose a tag to compare

New Features

  • Add Enum support to col_vals_in_set() and col_vals_not_in_set(). (#280)
  • The col_vals_regex() validation method now has the inverse= 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