Releases: HumanSignal/label-studio
Label Studio 1.3.0
Interactive ML-assisted labeling
The biggest update in this release is introducing... Interactive ML-assisted labeling with pre-annotations! You need to set up a machine learning backend to use this feature. Read all the details in the release blog or in the machine learning documentation.
Thanks to @juan57 for the suggestion and also to @xuankhanhdo, @amant555, and @prathameshk for requesting similar functionality.
Improved semantic segmentation
Thanks to diligently-reported issues from @royschwartz2 and the hard work of our frontend team, there are many improvements to performing semantic segmentation.
- You can adjust the eraser size.
- Improved the performance of semantic segmentation after several regions have been annotated.
There are also some bug fixes:
- Highlighted regions and labels now display in the correct location after zooming.
- Submitting the task after hiding annotations does not delete the annotations.
Delayed export options for improved performance
To improve performance when exporting results from large labeling projects, you can now choose to export a file with the results. It's a two step process, starting with creating an export file and then downloading the export file with the results.
Thanks to @MiguelFreire, @shubhangi27397, @R-Peleg, and @twsl for reporting and discussing export performance.
Cloud storage improvements
- A new logging handler for Google Cloud Storage thanks to contributor @mpomarole.
- Added a manual target storage sync option to allow for more control over annotation syncing. See more details in the external storage documentation.
- Improved handling of cloud storage target sync errors, thanks to @scott2b for reporting.
Data manager improvements
- Choose to label all tasks, or filter the data manager and label only the tasks as displayed.
- Improvements to the filtering behavior as requested and pointed out by @karelserruys-foodpairing and @AlexRoss-WHS.
- You can now display and filter by annotation ID in the data manager.
- Moved the import and export buttons out of the main header. Export or import data while viewing the project data manager instead of on any page in Label Studio.
Labeling improvements
- When labeling, in the regions sidebar you can see the type of region that was created with an icon.
- Select multiple regions at once using ctrl+click, as requested by @mbuet2ner.
- Use the
alt + .
keyboard shortcut to cycle through entities, instead of alt+tab as requested by @danielcrane. - A new
hint
parameter for the Label tag lets you add a tooltip for specific labels. - Improved performance of the label stream, reported by @anshul-dt, @tristanratz, and @iakremnev.
Other improvements
- You can now use MySQL as a database backend with Label Studio thanks to contributor @dehydr8. See the details in #1385.
- Contributor @jeroenboeye fixed a bug in the export API documentation example.
- Improvements to the wait for postgres shell script from contributor @piraka9011.
Documentation improvements
- Revised Tag documentation now includes more details, examples, and sample results JSON to make crafting predictions for different types of labeling easier.
- Ability to copy code examples and sample JSON with one click.
- Improved readability of code examples by updating the colors used for highlighting.
Bug fixes
- Fixed an issue where polygon points and keypoints were large after zooming an image.
- Fixed issues with the Taxonomy tag reported by @ynouri and @irogers
- Fix some errors using the ctrl+enter hotkey to submit tasks.
- Fixed issues with hypertext labeling, such as allowing variables anywhere in the tags. For example:
<Text>Title: $title</Text>
. - Fixed an issue where offsets were occurring incorrectly in NER annotation, reported by @Lolologist.
- Fixed an issue where boolean types weren't working for values in a labeling configuration.
- Fixed a bug where relations didn't appear in the UI after returning to an annotation with relations. Thanks to @joeydb94, @kaitco, and @3nuc for reporting bugs with relations.
- Fixed a bug with resizing images affecting bounding boxes. Thanks @VladYushchenko for the report!
This release closes the following issues:
#1236, #1174, #1134, #655, #771, #1091, #1371, #970, #671, #1008, #476, #1262, #1244, #1243, #1205, #1072, #1026, #1014, #1141
Release 1.2.0: Webhooks!
Label Studio now supports webhooks!
Subscribe to event actions such as TASKS_CREATED, ANNOTATION_CREATED, PROJECT_UPDATED and more to easily integrate Label Studio with your machine learning pipeline.
Check out the introductory blog post: https://labelstud.io/blog/release-120.html
Check out the documentation: https://labelstud.io/guide/webhooks.html
Release 1.1.1
Label Studio 1.1.1 Release Notes
New Functionality
This version of Label Studio includes the following improvements and new functionality.
Cloud storage improvements
- Recursively scan S3 buckets connected as source storage.
- URLs in tasks that reference objects in connected cloud storage buckets or blobs automatically resolve. If you create a cloud storage connection and import data with URLs such as
s3://...
orgs://...
, the objects at those URLs automatically resolve in your labeling tasks. - Specify Google Cloud Storage (GCS) credentials in a JSON file when setting up GCS source storage, instead of using the environment variable
GOOGLE_STORAGE_CREDENTIALS
. See Sync data from external storage. - For form fields that expect JSON, such as when setting up external storage, the JSON is now validated.
Tag and Template improvements
- Add support for a Video tag to be used for classification.
- Improve the Taxonomy tag.
- Added a Repeater tag for dynamic labeling. Thanks to @gfauchart for your contribution!
- Optimize bbox and ellipse creation for image segmentation.
- Updated the Video Timeline Segmentation template.
Other improvements
- If you're using an ML backend, you can now select the specific version of the model to use when showing predictions to annotators. See Set up machine learning.
- When importing data that includes annotator email addresses in the
completed_by
field, Label Studio now matches the annotator email addresses to existing annotators and assigns those annotators to the tasks. If thecompleted_by
field is undefined, a validation error is shown. - When importing tasks, you can now specify the
was_cancelled
attribute for a task to indicate that it was skipped. - Filter predictions by specific tasks or project IDs when using the API.
- Improvements to exporting audio transcription data, and CSV export is expanded to include
created/updated_at
fields andlead_time
data. - Improved performance when exporting tasks and annotations, as reported by @R-Peleg .
Bug Fixes
This version of Label Studio includes the following bug fixes.
Label Studio UI
- Fixed an issue where the Create button stopped opening the modal after it was closed. Thanks @yoku2010 for your contribution!
- Fixed bugs with the filters on the data manager, including integer filters and filtering with the
is_empty
argument. Thanks @alex-eurec for your report. - Fixed the TTL settings for S3 and cloud storage.
- Fixed a bug where the presigned URL toggle was not being respected. Thanks @nader-bitstrapped-com for reporting this issue!
- Fixed an issue with S3 links with prefixes and white space.
- Fixed an issue deleting annotations.
- Fixed a bug with the size of the canvas when viewing all annotations for a task.
Label Stream
- Fixed a bug where skipped annotations appear in the label stream for other annotators to label and annotators working from a manually-assigned queue continued to be assigned skipped tasks.
- Fixed an issue where regions were missing from draft annotations.
- Fixed an issue where the zoom button moved while an image was loading.
- Fixed an issue when labeling with brushes.
- Fixed an issue where the brush area did not display correctly after zooming an image.
- Fixed an issue with minimum size of shapes.
- Fixed polygons being distorted when switching between original and draft annotations.
- Prevent a polygon from being created with fewer than 3 points.
- Fixed several issues with the RichText tag, including issues scrolling to region, text region offsets, selection range size in different browsers, incorrect selection in word, sentence, and paragraph granularity mode, overlapping ranges, and trimming spaces. Thanks to @uklft, @sharkzeeh, @1ytic, @lluissalord, @inzomiac, @stantonius, @jimsandwick99, @function2-llx, @somejonus, and @prohor33 for your reports!
- Fixed an issue when using hotkeys on choices with the Taxonomy tag.
- Fixed an issue when using relations with rotating, zooming, and erasing regions on images.
Other bug fixes
- Fixed an issue where a task might be duplicated in export results when there is more than 1 annotation per task. Thanks @HarshSharma12 for your report.
- Fixed issues with the
./serve_local_files.sh
script. - Fixed an issue where ML backend error responses were improperly handled.
- Fixed an issue running SQLite database on Windows.
- Fixed an issue handling API proxy errors.
Release 1.1.0
Version 1.1 Release Notes
Multi-tool image labeling
Add different types of regions to your images, for example, rectangles, ellipses, polygons, brush masks, and keypoints. Combine the different types of Control tags in the labeling configuration that you create for the labeling interface. See the labeling documentation for more.
Add regions without labels
When adding predicted annotations or when doing labeling in Label Studio, you can add regions without assigning labels. See the pre-annotation documentation for details.
Quickly create and remove regions
Add a rectangle or an ellipse to your image with just two clicks, or double click to create a polygon, rectangle, or ellipse.
If you accidentally select a point on an image while creating a polygon, just double click to remove the erroneous point and continue creating the region. You need to have at least three polygon points to be able to remove one.
Switch visibility for all regions at once
While you could previously show or hide regions one by one, now you can toggle the visibility of all regions at once, and also hide all regions for a specific label at once.
YOLO export support
Export image annotations in a text format compatible with YOLO v3 models. Thanks to @johnson7788 for his PR!
OCR improvements
Write the text for a selected region in the sidebar, rather than at the bottom of the labeling interface screen.
Filter the data manager by annotators
You can now filter the data manager by annotator, letting you create different views and tabs for the tasks completed by different annotators, and more easily review the annotation progress by annotator on the data manager.
Performance improvements
Various performance optimizations to make loading hundreds of bounding boxes on images faster.
Create tokens for users when you start Label Studio
You can now create tokens for users from the command line when you start Label Studio. This makes it easier to integrate Label Studio with your automated pipelines because you can specify a token to use with the API rather than locating the token in the Label Studio UI.
label-studio --username [email protected] --password opossum --user-token token12345
See more in Set up user accounts in the Label Studio documentation.
Bug fixes and updates
This release also includes various bug fixes and smaller updates:
- Added multi-select capabilities for bounding box and other object detection regions. Thanks to @mbeut2ner for requesting this feature in #655.
- Updated examples for serving Label Studio behind a proxy with a subpath.
- Fixed issue when exporting completed tasks.
- From contributor @xhuaustc, improved the
wait-for-postgres.sh
script to provide a better experience by using environment variables. - Added an environment variable,
ENABLE_LOCAL_FILES_STORAGE
(true by default), for cases when you might want to disable local file storage as an option entirely. - Fixed URL building when using a custom hostname or subpath that was breaking some user experience in the Label Studio UI.
- Contributor @SAdnen fixed an issue with the Docker compose file that caused the server to get stuck at startup, an issue also reported by @suvojit-0x55aa.
- Fixed an issue where the storage modals to add storage using Label Studio UI did not appear.
- Fixed console warnings for MobX (out of bounds).
- Fixed an issue with relations for remotely loaded data.
- Fixed an issue with adding two sets of Rectangle Labels to the same labeling interface configuration.
- Fixed issue #1072 and #1026 with relations appearing for the Text tag with valueType=url, reported by @joeydb94 and @3nuc.
- Fixed issues with erasing brushes reported in #492 and #867 by @tristanratz and @royschwartz2.
- Fixed issues with NER labeling causing text highlighting to be incorrectly offset from the selected region reported in #539 and #1008 by @blanchefort and @Lolologist.
Release 1.0.2
1.0.2 release notes
Label Studio makes the master branch available as a stable beta at all times. This release includes bug fixes and improvements since 1.0.1 was released, but that were available to anyone using the Docker container or building from the Git repo directly.
New functionality
- Use environment variables for specifying usernames and passwords when you restrict signup to be invite-only. See Restrict signup for cloud deployments in the Label Studio documentation.
- Additional features after adding a machine learning backend, such as options for manual and automated retrieval of predictions, and the option to send a training signal to a connected ML backend when new annotations are submitted. See Set up machine learning with Label Studio.
- CSV and other export formats from Label Studio now allow exporting an entire task with annotations and predictions. Thanks to @uriel-tannen for your issue requesting this.
- Added draft annotation functionality, allowing you to switch between an in-progress annotation and a past annotation.
- Added the ability to copy and edit an annotation in the Label Studio UI by clicking Create Copy when labeling.
- Support Google Cloud Services credentials from the environment. Thanks to @lordzuko for a pull request with this bug fix and improvement!
Bug fixes
- Fixed the PORT variable index in the example shell script for serving local files. Thanks @JustasB for the pull request!
- Static files in the Label Studio container are now shared with the nginx container. Thanks to @nlml for the pull request!
- Fixed an issue where a validation error prevents label deletion. Thanks @JustinGovender for your bug report!
- Fixed distinct collaborators getting the same task in a project. Thanks to @rodrigocaus for the pull request!
- Fixed an issue where S3 imported tasks were created with nested JSON files. Thanks to @yashwantkeswani for the pull request!
- Fixed the path to the template assets. Thanks to @even-wei for the pull request!
- Fixed an issue where seeking in audio files did not work as expected.
- Improved the experience for adding local files as a source.
- Fixed an issue where data files used an absolute path instead of a relative path. Thanks @jackklpan for the pull request!
- Fixed an issue with Redis storage validation. Thanks to @jvdavim for your bug report.
- Fixed an issue where filtering by numeric data types didn't work. Thanks to @dkalaitzidis for reporting this issue!
- Fixed an issue where changing the filter field didn't affect the operator.
Other improvements
- Updated the look and feel of the Label Studio UI.
- Made it easier to see the task ID in the Label Studio UI.
- Improved error messaging.
- Improved API documentation.
Release 1.0.1
Improved functionality:
- You can invite users to Label Studio instead of having them sign up. See Invite collaborators to a project.
- Connect local directories to access files and labeling tasks stored locally or on remote servers. See Local storage.
- Exported and stored annotations now include data about who completed the labeling task and created the annotation. Thanks to Uriel Tannen and others who requested this in Slack.
Fixed the following issues:
- Hotkeys that weren't working
- Issues preventing the data manager and the UI from loading
- Cases where some data was not UTF-8-encoded, causing problems on some Windows machines. Thanks to @secslim for your PR!
- Ordering by prediction score was not working.
- Only the latest annotation would be exported, instead of all annotations for a task. Thanks to Uriel Tannen and others who reported this in Slack.
- Deleting selected tasks deleted annotations from annotated tasks instead of deleting tasks and annotations. Thanks to @gamblard and @antonyscerri for reporting.
Release 1.0.0
Label Studio has been rewritten to provide a streamlined UI, scalability, and support for multiple projects.
- Multi-user labeling. Sign up and log in to Label Studio so that any annotations you create are tied to your account.
- Multiple projects to allow you to annotate multiple datasets in parallel.
- Project setup wizard to make it easier to start a new project and import your data.
- Customize the labeling interface without editing the label config XML directly. Add labels and select the relevant fields in your data for the type of labeling you want to perform.
- Database storage to allow you to scale your data labeling. Start with a SQLite database or set up PostgreSQL for large volume data labeling projects.
- Django backend replaces the Flask backend.
Release 0.9.1.post1
Fix LSF with TextArea editing mechanics
Fix labeling configs for NeMo
Fix predict drag&drop redirect on the model page
Release 0.9.1
Cloud storage improvements
- Set up Microsoft Azure as source or target storage for tasks and completions (@keesschollaart81).
- Set up Redis as source or target storage for tasks and completions. (@kasuteru)
- Added an option to set the Amazon AWS S3 endpoint with an environment variable when setting up cloud storage (@herber523).
See Cloud Storages.
Automated Speech Recognition with Nvidia NeMo ML backend
- Added an example for Automatic Speech Recognition (ASR) machine learning backend using NVIDIA NeMo toolkit, including an ASR_MANIFEST export format.
- Updated the Label Studio Frontend for textarea labeling to make it easier to update transcription labels.
- Renamed the template "Whole Audio Transcription" to "Speech Transcription".
Other improvements
- POST a label config as XML using the API (@laynr).
- Add a while loop to check for more busy ports (@UtrechtUniversity).
- Use pre-labeling to make predictions for specific tasks by ID.
- No longer require tasks and completions to be ASCII-formatted, supporting non-ASCII languages like Persian (#578)
- Improved the workflow for importing data to make it easier to fix label configuration errors.
- Improved the timeseries data import flow to make it clearer how to import from text files.
- Improved the multi-session mode experience.
Notable bug fixes
- Fixed an issue where exported data would have duplicate completions.
- Fixed a bug when uploading files in multi-session mode.
- Improved handling of timeseries and polygon labels.
- Fixed a bug where the .conll export format misses labels or assigns them to the subsequent token.
Release 0.9.0.post5
Fixes
- Remove hostname prefix for upload files in case of localhost
- Add timeout to version check (#560) (@LamDang)
- Update requests dependency
- Add list to Image in validation
- Change attrs version to >=19.1.0
- Add INIT_COMMAND to run.sh
Features
- Add task patch API
Co-authored-by: LamDang [email protected]