You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Any time we add entities to the "recognized" list in the bids function, we will create a breaking change. This is because unrecognized entities are currently added to the end of the path in the order specified by the user. Recognizing them will move them to the closer to the front of the path, disrupting the naming convention in the user's workflow and possibly requiring them to rerun their analysis or attempt to rename all their files.
This would require a major version update any time we update bids(), and prevent users with existing workflows from upgrading to exciting new features.
While the basic problem is fundamental to the way bids() works, we can mitigate it by creating separately versioned bids functions. This boutique implementation will be made straight-forward upon completion of #245. Essentially all we'll need is a versioned spec file for every update of the bids function.
Usage
Users would be encouraged to import bids as follows:
fromsnakebidsimportbids_x_x_xasbids
This will guarantee the structure of their bids paths stays constant over snakebids updates. Of course, the current bids function will still be available for import, but it will always reflect the latest updates.
To prevent accidental breakage, a warning will be printed if a user calls the original bids function and passes unrecognized entities (as these create future vulnerability).
The text was updated successfully, but these errors were encountered:
Any time we add entities to the "recognized" list in the
bids
function, we will create a breaking change. This is because unrecognized entities are currently added to the end of the path in the order specified by the user. Recognizing them will move them to the closer to the front of the path, disrupting the naming convention in the user's workflow and possibly requiring them to rerun their analysis or attempt to rename all their files.This would require a major version update any time we update
bids()
, and prevent users with existing workflows from upgrading to exciting new features.While the basic problem is fundamental to the way
bids()
works, we can mitigate it by creating separately versioned bids functions. This boutique implementation will be made straight-forward upon completion of #245. Essentially all we'll need is a versioned spec file for every update of thebids
function.Usage
Users would be encouraged to import bids as follows:
This will guarantee the structure of their bids paths stays constant over
snakebids
updates. Of course, the currentbids
function will still be available for import, but it will always reflect the latest updates.To prevent accidental breakage, a warning will be printed if a user calls the original
bids
function and passes unrecognized entities (as these create future vulnerability).The text was updated successfully, but these errors were encountered: