Releases: bids-standard/bids-validator
2.2.3
Fixed
- NIfTI files with bad qform matrices, resulting from non-normalized quaternions, would previously raise a NIFTI_HEADER_UNREADABLE error. Now only the axis codes are disabled, preventing orientation checks, but not raising errors.
Pull requests merged
Full Changelog: 2.2.2...2.2.3
2.2.2
Changed
-
Support
min()andmax()of numbers in the expression language. This allows for simpler rules when a field may be a number or array of numbers. -
Annexed files that are not local are treated as empty instead of erroring if a remote URL could not be constructed. The size of missing files are included in the summary estimate of dataset size.
Fixed
INVALID_FILE_ENCODINGissues now print sensible messages instead of crashing.
Pull requests merged
- feat: Support min/max of single numbers by @effigies in #284
- chore: Bump schema by @effigies in #285
- feat: Fall back to an empty file for absent symlinks with no public S3 URL by @effigies in #287
- chore(ci): Build against macos-15-intel by @effigies in #289
- fix: Add missing INVALID_FILE_ENCODING issue definition by @nellh in #292
Full Changelog: 2.2.1...2.2.2
2.2.1
Added
-
Support for
associations.physioandassociations.events.sidecar. -
Implement
associations.coordsystemsto collate multiplecoordsystem.jsonfiles,
as required by BEP 042 (EMG).
Changed
- Validation context generation was tweaked to improve concurrency, giving 4x validation
speedups in some cases.
Pull requests merged
- test: Add opener implementations for tests by @effigies in #283
- feat: Start loading contexts earlier, buffer contexts for better concurrency by @effigies in #282
- BEP020 patches by @effigies in #260
- BEP042 patches by @drammock in #268
Full Changelog: 2.2.0...2.2.1
2.2.0
Added
-
Added
--formatoption to specify output format:text(default),json, orjson_pp(pretty-printed JSON) -
Pretty-printed JSON output support via
--format json_ppoption -
Datalad/git-annex datasets with remote content in public S3 buckets can be validated with the
--preferredRemote <remote-name>flag. If a public S3 bucket is detected without this flag, the most recent export is used.
Changed
- Refactored file access classes to be more DRY.
Fixed
- Circular references that could lead to a hanging process were mitigated. (#278)
Deprecated
- Deprecated
--jsonoption in favor of--format json(backward compatibility maintained)
What's Changed
- fix: Weakly reference parent FileTrees, upgrade hed-validator by @effigies in #279
- feat: add --format option for output formatting by @djken2009 in #271
- rf: Make BIDSFile generic wrapper, with FileOpener providing the file type handling by @effigies in #280
- feat: Load annexed data from public S3 special remotes by @effigies in #281
Full Changelog: 2.1.1...2.2.0
2.1.1
Added
-
Additional (dataset-defined) columns are now validated against the
definitions in the sidecar files. -
Throw error on file name case collision.
-
Add support for the
unique()function in schema expressions. -
Support issues messages that access validation context variables.
Changed
-
Initial column TSV checks now support missing, optional initial columns.
-
Index column TSV checks now support missing, optional index columns.
-
Now supports Deno 2.5 and Typescript 5.9.2.
-
Parsed JSON files are now cached to reduce I/O and parsing costs.
-
Throw an error if specified schema (e.g. via
--schemaorBIDS_SCHEMAenv
var) could not be loaded.
Fixed
-
File access failures consistently produce
FILE_READerrors across all file types. -
Fixed json encoding issue in web log download (#174).
-
Throw utf-8 encoding error for tsv files similar to json files.
Pull requests merged
- feat: Allow initial and index columns to be non-required by @effigies in #243
- fix: Check index columns by @effigies in #255
- chore: Use deno 2.4 in CI by @effigies in #257
- type: Adapt to changes in ArrayBuffers in Typescript 5.9.2 by @effigies in #258
- chore: Bump dependency specs by @effigies in #256
- feat: Add file access functions that translate errors into issues by @effigies in #259
- feat: Cache JSON file loads by @effigies in #262
- fix: properly encode JSON data in data URL for download link by @djken2009 in #263
- feat: add unique() function for expressions by @drammock in #261
- throw utf8 encoding error for tsv files, add non utf-8 test data and test. by @rwblair in #264
- Throw an error, do not just log an error, if provided schema is not legit by @yarikoptic in #270
- fix: Include target entities in exact match check by @effigies in #273
- feat: Load datatype and modality when building file context by @effigies in #272
- feat: Add issue message formatting by @effigies in #267
- Add per context check to see if any files in its directory have the same name with different case by @rwblair in #265
- rf: Validate additional columns when defined by @effigies in #254
- rel: 2.1.1 by @effigies in #274
New Contributors
- @djken2009 made their first contribution in #263
- @drammock made their first contribution in #261
Full Changelog: 2.1.0...2.1.1
2.1.0
This release adds support for BIDS 1.10.1.
Added
- Load
.tsv.gzcolumn contents for validation. - Issue deprecation warning for
"89+"inagecolumns, per bids-standard/bids-specification#2162. - Added support for extracting image orientation from NIfTI headers, added to the BIDS schema in 1.10.1.
Changed
- Raise errors for all TSV type check failures. Previously, recommended and optional fields would raise warnings.
- Updated
@bids/schemato ~1.1.0, corresponding to BIDS version 1.10.1.
Fixed
- Avoid descending into opaque directories (such as
*.zarr/) when checking for unused sidecars. (#227)
Pull requests merged
- chore(dev): Bump @bids/schema v1.1.0-dev by @effigies in #129
- chore: Bump @bids/schema v1.1.0-dev.5 by @effigies in #153
- feat: Implement warning for sidecar overrides by @effigies in #214
- chore: Upgrade schema for dev validator by @effigies in #241
- chore(ci): Verify only first tag by @effigies in #246
- chore: Bump @bids/schema to 1.1.0 by @effigies in #249
- feat: Enable type checking on tsv.gz files by @effigies in #240
- feat: Split out deprecation warning for age=="89+" by @effigies in #242
- feat: Extract image orientation from NIfTI header by @effigies in #112
- feat: Always error on incorrect TSV types by @effigies in #247
- fix: Do not descend into pseudo-files or opaque directories when checking for unused files by @rwblair in #231
Full Changelog: 2.0.11...2.1.0
2.0.11
2.0.10
Added
Changed
-
Improved handling of TSV columns with sidecar definitions.
"Format","Minimum"and"Maximum"keys are now supported. -
--datasetTypesand--blacklistModalitiesoptions now accept a string array (--datasetTypes raw,derivative) and can be combined.
Fixed
- A crash in the web validator prevented validation from taking place.
Infrastructure
- Docker images will once again be pushed to bids/validator.
Pull requests merged
- fix: Use string[] options for datasetTypes and blacklistModalities by @nellh in #238
- chore: Reenable DockerHub pushes by @effigies in #237
- doc: Add FAQ by @effigies in #233
- rf: Throw more issue-like objects in loading functions by @effigies in #236
- feat: Unify schema and sidecar-defined column validation by @effigies in #234
- fix: Do not crash on missing datasetTypes option by @effigies in #244
Full Changelog: 2.0.9...2.0.10
2.0.9
Added
-
Display version in web app
-
The
--datasetTypesflag accepts a list ofDatasetTypes,
allowing applications to restrict the datasets they accept.
Changed
-
Upgraded to BIDS schema version 1.0.13.
-
Raise error when JSON files are parsed and their root value is anything other than an object
PRs
- chore: Bump schema version by @effigies in #223
- chore(deps): Bump hed-validator dependency to 4.1.4 by @happy5214 in #220
- chore: Update BIDS schema, relax to ~version by @effigies in #230
- Raise error when json files are parsed and their root value is an array instead of object. by @rwblair in #225
- feat: Display version in web app by @effigies in #208
- fix: Revert to HED validator 4.0 by @effigies in #232
- feat: Add DatasetType passlist to allow applications to limit support by @effigies in #235
Full Changelog: 2.0.8...2.0.9