Release 1.4.1
Notable changes
Starting in this version, when you add an ML backend, a webhook is created to send an event to your ML backend each time an annotation is updated or created. Alongside this change, the following has also changed:
- The
completions
parameter of thefit()
method is deprecated and will be removed in the next release. - "Start model training after any annotations are submitted or updated" is now unchecked by default.
- Requests to the
/train
API endpoint now include a timeout.
See train a model with your ML backend for more details about this change.
Changes from contributors
- Add a GitHub action to warn about stale issues and PRs to improve team responses. Thanks @twsl for your contribution in #1754.
- Fix an issue where the
Relation
tag was ignored by theparse_config
function in the ML backend SDK. Thanks to @tomfat for your first contribution in #1811! - @YuMS corrected the example syntax for the task import API in #1831. Thanks for your first contribution!
- @AaronDeRybelHowest added a Flair ML backend example in HumanSignal/label-studio-ml-backend#68. Thanks so much for your contribution!!
- @Fireblossom fixed an issue with the PyTorch ML backend in this PR: HumanSignal/label-studio-ml-backend#80. Thanks for contributing!
- Improved performance of the
encode_rle
function used to export brush masks thanks to contributions from @csaroff in HumanSignal/label-studio-converter#52. - @changrq fixed an issue with YOLO coordinates deviating when a rectangle is rotated in HumanSignal/label-studio-converter#73. We appreciate your contribution!
- @raulbocanegra added a required project key to the payload of storage exports and imports in the SDK in HumanSignal/label-studio-sdk#14. Thanks for contributing!
- @denck007 fixed an issue where the
get_users()
function in the SDK didn't work for open source users because of a dependency on organization membership, which is an Enterprise-only functionality. Thanks for your contribution in HumanSignal/label-studio-sdk#23! - @fabiolab extended the SDK to allow extra headers for HTTP requests. Thanks for your contributions in HumanSignal/label-studio-sdk#30.
- @laynr added the ability to sync storage to the SDK in HumanSignal/label-studio-sdk#20. Thanks for your consistent contributions!
- @Fkawala added the ability to use email and password credentials to log into the SDK, rather than using a token. Thanks for your contribution in HumanSignal/label-studio-sdk#29.
- @kaustuk added the ability to set a cursor color and width for the Audio tag. Thanks for your contributions in HumanSignal/label-studio-frontend#347 and requesting this feature in #1682.
Features
- Add auto-created webhooks when you add an ML backend to Label Studio. See more in the documentation.
- Add the option to reveal pre-annotations interactively
- Add the ability to enable experimental functionality with the
EXPERIMENTAL_FEATURES
environment variable. - Add the ability to specify a
lead_time
to imported annotations. - Add the ability to view
created_at
time for annotations andupdated_at
time for tasks on the data manager. - Added an ELECTRA model example for the ML backend in HumanSignal/label-studio-ml-backend#76.
- Added a brush predictions example for the SDK.
- When performing active learning with Label Studio, the model version selected to display predictions on tasks defaults to the most recent model version.
Labeling and tag updates
- Add the ability to uncheck a selected checkbox when using the Choices tag.
- Add the
overviewWidth
parameter to the TimeSeries tag to set a default overview width in percents, requested by @TueLindhart in issue #1330. - More fully support the Repeater tag.
- Add a vertical zoom control.
- Add a resolver parameter to the Text tag to retrieve data from a remote URL in PR #396.
- Add tooltips to zoom controls in audio labeling.
Notable bug fixes
- Fixed a bug where relations break the labeling interface when added as predictions, or when viewing annotations with relations.
- Fixed issues with permissions when setting up local file storage connections.
- Fixed issues with building and installing Label Studio taking a long time due to resolving various google dependencies.
- Fixed an issue where the
selected=true
option for the Choices tag wasn't being used. Thanks to @DougTrajano for reporting in issue #1848. - Fixed issue #1757 reported by @uriel-tannen that prevented saving a labeling configuration without existing labels.
- Improved the functionality of the CONLL converter to be more robust as suggested by @tomasohara in issue #61, and also updated to handle empty labels and complicated configurations.
- Fixed an issue with Docker builds on MacOS reported by @simonlsk in issue #1859.
- Fixed an issue where the
--version
flag doesn't print the version reported by @magicaltoast in issue #1880. - Fix an issue where shortcuts did not work when editing TextArea results.
Other bug fixes
- Fixed a bug with undo where it deselected a region instead of removing it for brush masks.
- Fixed bugs where unclosed tags and other errors when defining labeling configurations could cause Label Studio to break.
- Fixed an issue where bounding boxes failed to rotate.
- Fixed an issue where VOC export failed when trying to export using the snapshot functionality.
- Removed a dependency on the ground truth field for determining when labeling is complete.
- Fix performance issues when retrieving project storage.
- Fix crosshair functionality when zooming and rotating images.
- Improve appearance of tabs on the data manager when there are a large number.
- Fixed the ability to go back to a previously-skipped task and submit an annotation.
- Fix the ability to use custom service account credentials for GCE.
- Fixed timeouts occurring with the ML API and added environment variables to configure the timeout limits in #1978.
- Fixed an issue with the mmdetection ML backend example.
- Improved YOLO export to have sorted classes.
- Improved handling of empty labels in YOLO, COCO, and VOC export formats.
- Fix an issue rendering certain data types in the "view all" annotations page.
Changes to requirements and dependencies
- Bump Pillow from 8.3.2 to 9.0.0 in the ML backend.
- Bump nltk from 3.5 to 3.6.6 in the ML backend.
- Bump django from 3.1.13 to 3.1.14 in Label Studio.
Docs changes
- Added the ability to search Label Studio website by typing on any page, and to quickly copy code samples using a copy button.
- Updated all Templates documentation to match the product templates and include more details about use cases and functionality.
- Updated API documentation:
- To be more clear about IDs
- To remove deprecated information from pre-1.0.0 versions of Label Studio.
- To improve export API specs
- Fixed issues with Docker Compose documentation.
- Add details about importing URLs and links using the valueType parameter in tags, and also improved details and troubleshooting when handling HTML labeling. See import data.
- Add spaCy export information, improved export format JSON details, and to the export docs.
- Add dedicated data management documentation.
- Add details to troubleshoot pre-annotations
- Updated the tags documentation to be the latest version.
- Removed support for Python 3.6 as a result of supporting Pillow 9.0.0.