Below is an extract from the CHANGELOG file showing all the updates for this release.
[2.7.0]
14-May-2026
New Features and Enhancements
- Updated
apply_cleaning_rules()to support nested boolean conditions (and/or/not) inside theconditionsblock and a new optionaltime_range_conditionsblock on cleaning rules, in line with the updated BrightHub/measurement-locations/{uuid}/cleaning-rulesAPI response. Existing flat-condition cleaning rule files continue to work unchanged. The newmeasurement_point_uuidandstatistic_type_idfields onconditionsandclean_outitems are accepted but currently ignored — column resolution still relies onassembled_column_name. Thecleaning_rule.schema.jsonwas extended with atime_conditiondefinition. (#609) - Rewrote
README.mdandcontributing.mdto align with the docs site, with clearer install options (venv / conda), a quick-start example, and an expanded contributing guide covering the fork workflow, editable dev install and running the test suite. (#602) test_load_brighthubis now skipped automatically when no BrightHub credentials are available — eitherBRIGHTHUB_CLIENT_IDandBRIGHTHUB_CLIENT_SECRET, or the deprecatedBRIGHTHUB_EMAILandBRIGHTHUB_PASSWORD— so the test suite runs cleanly without BrightHub credentials. (#602)- Added support for reading Parquet files from BrightHub in
LoadBrightHub.get_data()via a newfile_extensionargument (one of'.csv'or'.parquet'). Default remains'.csv'for backwards compatibility; Parquet is expected to become the default in the next major release. Reading Parquet requires a parquet engine — install withpip install brightwind[parquet](pyarrow) orpip install brightwind[parquet-fastparquet](fastparquet). (#601)
Bug Fixes
Deprecated
- The implicit default of
file_extension='.csv'inLoadBrightHub.get_data()is deprecated and will change to'.parquet'in the next major release. Calls that do not passfile_extensionexplicitly will emit aDeprecationWarning. Passfile_extension='.csv'to keep the current behaviour, orfile_extension='.parquet'to opt in early. (#601)