Skip to content

Releases: HumanSignal/label-studio

1.7.0

15 Dec 15:18
59a9662
Compare
Choose a tag to compare

Label Studio 1.7 Release Notes

The Label Studio 1.7 Open Source release now supports larger audio files, millisecond-level controls, and an advanced rendering engine among new features that put Label Studio at the forefront of data labeling for audio files. This release also introduces simplified ways to deploy and manage your Label Studio application using full infrastructure provisioning with Terraform scripts and scalable service management on Kubernetes with Helm Charts deployment.

Breaking changes

Starting with this release, the application will run using a non-root docker user with ID 1001.

If you encounter any permission issues when running the application in a docker container, you can fix them by changing the ownership of the relevant files and directories to 1001.

docker run -it --user root -v `pwd`/mydata:/label-studio/data heartexlabs/label-studio:1.7.0 chown -R 1001:root /label-studio/data/

New Feature and Enhancement

Label Studio 1.7.0 includes the following new features and enhancements.

  • Starting with this release, you can install Label Studio to your cloud infrastructure using the Terraform scripts and Helm Charts.
  • The audio labeling platform introduces the enhancements of the audio player with the ability to annotate audio files up to two hours in length, provide fine-grain annotation controls, and implement an efficient rendering engine that displays the audio waveforms while remaining performant, even with large, and multi-hour audio files. You can now play and navigate through an audio waveform by precisely managing the labeled regions. Regions and relations are simple to manage and manipulate on the audio waveform and interface.
  • This release provides the Comments and Notifications feature that defines how annotators, reviewers, and administrators communicate and receive updates on projects and tasks.
  • Add new header GitHub stars by @Travis1282 in #3040.
  • Update header CSS, GitHub stars, and command block on search by @Travis1282 in #3074.
  • Add swagger docs for AllStorage APIs by @KonstantinKorotaev in #2815, DEV-2914.
  • Read virtual annotator filters from local storage as a fallback by @robot-ci-heartex in #3089, DEV-3572.
  • Add mixin to Project to support mechanism to cancel old jobs by @KonstantinKorotaev in #2547, DEV-2075.
  • Load task with given comment by @robot-ci-heartex in #3250, DEV-3750.
  • Support updated_by for annotations by @hakan458 in #3244, DEV-3259
  • Queue management min backend by @triklozoid in #3282, DEV-3756.
  • Support for Updated_by field on annotation level in Update, Accept , and Reject by @hakan458 in #3318, DEV-3259.

Bug Fixes

Label Studio 1.7.0 includes the following bug fixes.

Read more

Release 1.6.0

27 Sep 17:07
Compare
Choose a tag to compare

Label Studio 1.6 Release Notes

The Label Studio 1.6 open source release now supports video object tracking in general availability, making it the most popular open source data labeling platform to support all data types—video, image, text and hypertext, time series, and audio. In addition to the new video player that supports frame-by-frame video object tracking, the latest release also features a new annotation user interface called the Outliner that is more efficient, ergonomic, and flexible.

New Features

Label Studio 1.6.0 includes the following new features and enhancements:

  • Video object tracking support and template by @nicholasrq
  • Bounding box annotation UX improvements by @yyassi-heartex in #2437, DEV-2132
  • Per model backend model version selector by @bmartel in #2476, DEV-1682
  • Dynamic Labels templates by @hlomzik in #2527, DEV-2636
  • Experimental feature add data field by @makseq in #2558
  • Create filters for authors in Paragraph Transcription by @bmartel in #2557, DEV-2669
  • Improve project list performance by hydrating counters in a second request by @bmartel in #2579, DEV-2575
  • Implement image enhancements to zoom, pixelate, and center in #2654, DEV-2504
  • Move model_version to ML backend and add get versions by @KonstantinKorotaev in #2023, DEV-1646
  • Add proxy password to interactive annotations context by @KonstantinKorotaev in #2613, DEV-2362
  • Regions list grouped by labels with the persistent and ordered collapse in #2701, DEV-2755
  • Add command for the export project in open source by @guilhermemachado26 in #2824, DEV-3145
  • Add uwsgi and nginx by @farioas in #2868, DEV-3031
  • Add option to sync audio with paragraphs allowing playback of chunk position in #2866, DEV-2461
  • Movable columns in Data Manager in #2882, DEV-2984
  • Introduce default attributes for AudioPlus in #2862, DEV-388
  • Introduce simplified shortcuts in #2897, DEV-3260
  • Add "video" type to the Data Manager columns API by @makseq in #2976, DEV-3372
  • Display supported video formats by @nicholasrq in #2974, DEV-3371
  • Enable video preview in #2981, DEV-3373

Bug Fixes

Label Studio 1.6.0 includes the following bug fixes.

  • Fixed paragraph data to load into QuickView by @yyassi-heartex in #2440, DEV-2465
  • User was able to edit Time Series results imported as read-only by @yyassi-heartex in #2444, DEV-2367
  • X-axis zoom threshold by @Travis1282 in #2494, DEV-1714
  • Added guard with an error message for non-incremental, non-sequential datasets in Time Series (#1752) by @bmartel in #2487, DEV-2510
  • Worked on the Next task query optimization by @triklozoid in #2262, DEV-2184
  • Bounding box flickered during region creation by @yyassi-heartex in #2510, DEV-2592
  • Fixed an issue to avoid the display of delete all region buttons when an annotation is read-only @bmartel in #2515, DEV-2309
  • Fixed blind SSRF on add model and import by @triklozoid in #2450, DEV-2235
  • Fixed deselection of ImageView bounding box before creating another by @bmartel in #2475, DEV-1442
  • Unfinished polygon zoom fix by @Travis1282 in #2518, DEV-2313
  • Suppressed removeChild error by @hlomzik in #2521, DEV-2608
  • Fixed data in SERP Ranking in-app template by @hlomzik in #2528, DEV-2604
  • Fixed runtime error when duration is not extracted by @KonstantinKorotaev in #2297, DEV-2095
  • Fixed annotation_id is provided as float value in CSV export by @KonstantinKorotaev in #2244, DEV-2139
  • ProjectModelVersionSelector values were not correctly set @bmartel in #2533, DEV-1682
  • Sync speed between video and audio by @juliosgarbi in #2524, DEV-2207
  • Prop whenChoiceValue worked as expected by @juliosgarbi in #2497, DEV-1833
  • Fixed django migrations warning by @triklozoid in #2543, DEV-2665
  • Replaced inner_id index with multicolumn by @triklozoid in #2542, DEV-2667
  • Fixed issues with rotating bounding box @yyassi-heartex in #2535, DEV-2647
  • Moved calculate_stats_all_orgs to rq_workers, swap migration by @makseq in #2569, DEV-2589
  • Fixed error for actions with ordering by joined field by @KonstantinKorotaev in #2536, DEV-2658
  • Allowed cmd or ctrl to create regions immediately with deselecting on canvas click enabled. by @bmartel in #2553, DEV-2655
  • Supported both regions drawing behaviors with a settings flag by @bmartel in #2574, DEV-2655
  • Allowed unfinished polygons to be saved as a draft by @bmartel in #2549, DEV-2432
  • Displayed source filename for S3 objects by @triklozoid in #2555, DEV-2687
  • Removed lookbehind in Safari Regex by @hlomzik in #2602, DEV-2777
  • Deselected image region bbox on short click by @bmartel in #2600, DEV-2739
  • Changed rotate anchor of bbox by @juliosgarbi in #2591, DEV-2671
  • Removed extra slash for file URL by @aisensiy in #2601
  • Multiple rendered labels in regions by @Travis1282 in #2590, DEV-2763
  • Unable to delete relationships between regions by @yyassi-heartex in #2612, DEV-2806
  • Hide storage filename field for old projects by @triklozoid in #2624, DEV-2687
  • DEV-1179: DateTime tag, fixes for date save and region switch by @Travis1282 in #2537, DEV-117
  • Improved delete point functionality by @Travis1282 in #2545, DEV-2431
  • get_local_path failed to work on local-files by @KonstantinKorotaev in #2642, DEV-2827
  • Quote relative path for local files by @m-nez in #2633
  • Hold to continuous draw image view shapes show immediately in #2651, DEV-2655
  • 3 point bbox tool remains selected but hidden when the user changes label configuration from Rectangle to RectangleLabels in #2673, DEV-2696
  • Outliner updated collapse/expand UI in #2668, DEV-2851
  • Renamed Tasks to Actions in #2699
  • Updated django version by @triklozoid in #2706, DEV-2936
  • Panels can obscure underlying content in #2707, DEV-2926
  • Fixed collapsed texts for TextArea in #2710, DEV-2930
  • Selection box of rectangle region remains broken after hide/ unhide action in #2712, DEV-2922
  • Stored XSS via SVG file by @dvwright in #2273, DEV-2236
  • Duplicated polygon regions in #2738, DEV-2967
  • Locked polygons in #2740, DEV-2977
  • Adding new fields leads to an error in label config validation by @KonstantinKorotaev in #2760, DEV-2939
  • Grouping regions without a label in #2714, DEV-2942
  • Fixed Audio resizing behavior in #2716, DEV-2934
  • Fixed floating panel positioning and constraints in #2718, DEV-2943
  • Fixed hiding NER regions with new outliner in #2708, DEV-2931
  • Better UI for Textarea inputs in the outliner in #2711, DEV-2927
  • Fixed NER region text not displaying in Details in #2715, DEV-2958
  • Changed ML URL validation flag name by @KonstantinKorotaev in #2773, DEV-3058
  • Fixed a visual bug with the Zoom To flyout menu on smaller screen sizes in #2765, DEV-3049
  • Polygon isn't finished when moved in #2674, DEV-2514
  • Annotation region locking should not persist in #2734, DEV-2949
  • Renamed variable to ML_BLOCK_LOCAL_IP by @KonstantinKorotaev in #2774, DEV-3058
  • Fixed history items rendering on the canvas in #2781, DEV-2970
  • Fixed changing label config for repeater tag by @KonstantinKorotaev in #2725, DEV-1462
  • Change the model version selector API response handling and present upgrade error for out-of-date ml backend by @bmartel in #2695, DEV-2905
  • Fixed reset after adding or removing labels by @KonstantinKorotaev in #2787, DEV-3090
  • Fixed paragraphs selection in #2779, DEV-3030
  • Added reset for project summaries in Rename labels by @makseq in #2797
  • Choices selected by default in #2798, DEV-2519
  • Fixed user creating API by @triklozoid in #2801, DEV-3131
  • Repeater performance improvement in #2805, DEV-3077
  • Disabled DTDForbidden for label config validation by @KonstantinKorotaev in #2782, DEV-3089
  • Added new property to turn lazyload off in #2820, DEV-3077
  • Undo keypoints when creating a new polygon in #2733, DEV-2576
  • Removed potential data exposure from logs by @niklub in #2828, DEV-3164
  • Fixed saving text for paragraph regions in #2827, DEV-3101
  • Added validation to avoid users importing local files using URL by @guilhermemachado26 in #2840, DEV-3212
  • Parsed all-time series timestamps to UTC to avoid improper calculations using possible daylight savings time in #2841, DEV-3211
  • Selected region corrupted the history in #2847, DEV-3140
  • Show/ Hide/ Lock / Unlock actions break the Undo functionality for video labels in #2854, DEV-2968
  • Image scaling goes lower than 1 causing small images in #2848, DEV-3061
  • Tasks are not filtered on the filter field change in #2860, DEV-3233
  • Sentry release frontend by @nicholasrq in #2891, DEV-3251
  • Fixed Delete tasks action to work with annotated queryset by @KonstantinKorotaev in #2895, DEV-3313
  • Fixed tabs randomly mixed after label stream by @guilhermemachado26 in #2892, DEV-1947
  • Prevented annotating collapsed phrases in paragraphs in #2869, DEV-2918
  • Misspelled in data export by @makseq in #2929
  • Regions in the 'Grouped by Label' section at the Outliner tab were ordered as they are ordered in labeling schema in #2927, dev-3055
  • User selection of regions grouping section at Outliner tab was not persistent in #2930, DEV-3056
  • Removed unused fields from completed_by by @triklozoid in #2918, DEV-3379
  • Repeater performance improvement in #2916, DEV-3298
  • Added more details for ML backend error by @KonstantinKorotaev in #2912, DEV-3351
  • Allowed video playhead scrubbing in #2937, DEV-3404
  • Moved zoom buttons to video's control panel in #2936, DEV-3405
  • Textarea placement in the config prevents OT in #2952, DEV-3429
  • Added a line between draft and annotation on annotation list in #2951, DEV-3074
  • Changed to 1 item per page changing page by region in #2953, DEV-3428
  • Don't add labels to Textarea result in #2964, DEV-2208
  • Fixed _scan_and_create_links failure for invalid annotation a...
Read more

Release 1.5.0post0

13 Jul 16:50
8c657fc
Compare
Choose a tag to compare

Label Studio 1.5.0post0 Release Notes

Bug Fixes

  • Correct region loading for video labelling
  • Don't crash when open quick view with specified task
  • Safari fix

Release 1.5.0

16 Jun 15:10
Compare
Choose a tag to compare

Label Studio 1.5.0 Release Notes

The latest release of Label Studio is dedicated to more dynamic and custom ways to define, change, and display label sets. Big new features include the ability to show labels dynamically (as opposed to statically), for example for classification or computer vision tasks use images rather than text for the label name and allow annotators to create new labels and evolve the taxonomy as they work through the dataset.

The Label Studio 1.5.0 release includes the new features and enhancements, breaking changes, and bug fixes.

Important notes about installation

This release has long migrations and they can take up to 1-2 hours depending on your task number (relevant for instances with more than 100k tasks). If you want to avoid them, you should run label-studio --skip-long-migrations and then call label-studio calculate_stats_all_orgs. These migrations affect task counters like total annotation number, canceled number, and prediction number.

New Features and Enhancements

Label Studio 1.5.0 includes the following new features and enhancements.

  • Introduce dynamic labels as a task input through prediction from the model, or from a database lookup instead of having annotators scroll through an extensive list of choices. Dynamic labeling saves time and increases the consistency of labeling the objects.
  • Enhance the labeling methods by creating label sets with images and hyperlinks. This results in a better visual signal for annotators. You can also customize the view of choices to be displayed by using HTML markup.
  • Allow annotators to add new classes in taxonomy as they work through the dataset, without the need to predefine classes.
  • Add support for default settings functionality to the Label Studio Editor.
  • Include the Last updated by column in Data Manager with information about who made the last modifications for any of the annotations in this task at updated_at time.
  • Easily handle the imported tasks by sorting the task IDs in ascending order of filenames.
  • Add the no more tasks screen at the end of the queue. Now, you can go back to the previous task from the end of the labeling stream.
  • Set default y-scale parameter at label config level for audio UI.
  • Overlay timeline on top of the waveform for full height timestamp tooltip.
  • Add a group of APIs to manage labels in the Label Studio.
  • Create a lead time column in Data Manager with averaged lead time per task.
  • Improve the HyperTextLabels regions to no longer shift on annotation submit/ update/ change annotation/ draft to original toggle/ open close task/ undo redo toggle.
  • Improve the performance for API querying the next task in Label Stream.
  • Augment the performance of loading the project lists.
  • In the Quick View mode, the left-side list of tasks is focused on the current annotating task.
  • Add Undo/Redo functionality for audio.
  • Display the column (settings) icon when Quick View is opened.
  • Add support of OCR <TextArea> for editable=false.
  • Enable auto-resize of images to screen option.

Breaking Changes

Label Studio 1.5.0 includes the following breaking changes.

  • All drafts (including drafts without initial annotation and drafts that are attached to annotation) from the current user’s session pass the ML backend for interactive prediction.
  • Set the page_size limit to < 100 values in api/projects/ID/tasks API.

Bug Fixes

Label Studio 1.5.0 includes the following bug fixes.

  • Fixed an issue where selecting the Pan tool wiped out unfinished polygon drawings.
  • Fixed an issue in audio data type, where the View all Annotations mode did not work for some time after the annotation was created.
  • Fixed performance for annotation results filters.
  • Fixed Static Application Security Testing (SAST) security issues in Label Studio Open Source.
  • Fixed an issue where signup permissions were denied for users without an invite link.
  • Fixed security issues reported by the Open Web Application Security Project (OWASP) Zed Attack Proxy (ZAP) scanner.
  • Fixed an issue where required=true was set along with visibleWhen for TextArea and Choices.
  • Fixed an issue where the click action on Create annotations from predictions in Data Manager generated the ANNOTATIONS_CREATED webhook event.
  • Fixed an issue where the usage of relations between <BrushLabels> regions crashed the Label Studio App.
  • Fixed an issue where the TextArea with displayMode="region-list" text lost focus in an OCR project.
  • Fixed image cropping issue.
  • Fixed an issue where Text and Header tags failed to work with integers.
  • Fixed an issue where the label config preview failed when a user applied one custom label config and later replaced it with another custom config.
  • Fixed an issue where the named entity recognition granularity failed to reflect correctly in exported data.
  • Fixed HyperText security breach / JavaScript injection attack. Removed in-use script elements and replaced them with a stub which was replaced later during execution. Only in-use scripts were executed and placed in the appropriate location.

Thank you to all the contributors for making Label Studio 1.5.0 a success!

Release 1.4.1

12 Feb 00:37
a26ba3e
Compare
Choose a tag to compare

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 the fit() 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

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 and updated_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.

Label Studio 1.4.0

19 Nov 16:36
3e28c16
Compare
Choose a tag to compare

This release of Label Studio includes a Python SDK, as well as other enhancements including: customizable hotkeys, labeling improvements, the ability to create annotations from predictions, and various infrastructure improvements that make deploying and managing Label Studio easier and faster.

Thanks to all of our contributors and people that reported issues!

Customize labeling hotkeys

You can now customize the hotkeys used for labeling, included the much-requested ability to customize the hotkey combination for submitting an annotation. See all the details in the labeling with hotkeys documentation. Thanks to Grigoriy Livshits and Schulzjo in issue #941, Flavien Berwick in issue #796, and Nathan Derave, Tram-Anh Nguyen, and Filippo Broggini in issue #208 for requesting this functionality.
Additionally, as requested by Mykola Sharhan in issue #812, this release also includes new hotkeys for Time Series labeling, plus Video, Image, and Audio labeling. Check out the hotkey documentation for more.

Prediction and annotation improvements

  • You can now use the API or the new SDK to create annotations directly from predictions. Several people in Slack have asked about this functionality, and we're happy to say that it's finally here!
  • Annotations created from pre-annotations include links to the predictions that were used when annotating the task as parent_prediction when you export or retrieve annotations using the API.
  • Similarly, annotations copied from other annotations include links to the annotation used to create the new annotation as parent_annotation when you export or retrieve annotations using the API.
  • You can now delete annotations from target cloud storage when they are deleted from Label Studio.
  • Fixed an issue displaying predictions to annotators in quickview when the option to "Show predictions to annotators" was selected.

Export improvements

  • Exported tasks now contain more details about the annotation process, such as draft annotations and predicted annotations. These additional details appear in all places that you can export tasks, including files exported using the API or Label Studio UI, tasks saved to target storage connections, and annotations sent to machine learning backends.
  • Improved the new export API that allows you to generate a file for export and control on a granular level what is included. This includes filtering by completed_by or updated_at time, as well as specifying a data manager view ID and exporting only the tasks visible with those filters. See the API docs for create new export.
  • When exporting annotations, the completed_by field can return either the user ID or a full dictionary of user data. It returns the user ID only by default. If you want to see more details about users, set "annotations__completed_by": { "only_id": false }. See the docs for creating a new export.
  • Fixed an issue with UTF-8 characters in export filenames reported by Théo HENAFF in issue #1266.

Deployment and server management improvements

  • Faster Docker build process
  • Label Studio subpath is automatically configured
  • Updated the nginx configuration to have a client_max_body_size of 200MB that can be configured.
  • Added support for MinIO
  • Added OrganizationMember to the Django admin dashboard
  • Now you can use Visual Studio Code Remote - Containers with Label Studio to set up the developer environment and make changes. Thanks to twsl for your code contribution!
  • Docker setup now includes friendlier defaults that avoid CSRF errors for localhost deployments. Thanks to David Sanders for contributing the fix!
  • Fixed an issue where a server hang with Label Studio could lead to an infinite loop and cause the browser to freeze.

Data management improvements

  • Improved the performance of the Data Manager page.
  • Added ordering chaining so that you can, for example order by "Annotators" first, and by "Completed" second.
  • Filter and sort tasks according to the model version used to create specific predictions.
  • Improved and fixed some data manager filtering bugs.

ML backend improvements

  • Added webhook support to the ML backend. You can now set up a webhook that notifies you when an ML backend is connected to Label Studio.
  • Fix issues associated with saving and retrieving model versions in ML backends.
  • Fixed a bug with an error message (ironically) when Label Studio failed to connect to an ML backend. Thanks to David Sanders for contributing the fix!
  • Fix double call of ML backend predict() method for one task [https://github.com//pull/1763] Thanks to Nithishkumar K R

Storage improvements

  • If you have a cloud data connection set up, you can import task data that references cloud storage URLs such as s3:// or gs:// and the URLs are automatically presigned.
  • Fixed an issue where local storage was listed twice in the storage list API results. Thanks to Eric Hansen for your report in issue #1564.
  • Fixed the content-type for local file storage.
  • Improved streaming access for local file storage.
  • Fixed an issue where GCS credentials were not able to be added in the Label Studio UI for target storage connections.
  • Improve the form filling experience when adding storage details.

Other improvements

  • It's now even easier to extend the available webhook endpoints to add webhooks to any API endpoint. See how to Create custom events for webhooks in Label Studio and Contribute your own!.
  • The user account page now includes details about your active organization.
  • Project and organization members APIs now include pagination, and you can specify ordering for the organization member API.
  • Made various security improvements to Label Studio.

Other bug fixes

  • Fixed an issue where the labeling configuration might overflow the text box in code view. Thanks to David Sanders for contributing the fix!
  • Fixed an issue where S3 links to task data did not resolve when referenced in HTML links.
  • The port flag was incorrect when calling MySQL status. Thanks to amansohi for contributing the fix!
  • Fixed issue #1259 reported by LUO Lingxiao and Yogesh Kumar where labeling configurations containing a single choice option failed.
  • Fixed an issue with validating imported paragraphs data when using the Paragraphs tag with valueType=url

Labeling and tag improvements

  • Emoji and special characters are now handled properly when performing Named Entity Recognition (NER) tasks on text with those.
  • When using the whenLabelValue= parameter to do conditional labeling, you can now specify multiple comma-separated label values.
  • Updated the Video templates to use the new Video tag instead of the HyperText tag.
  • Added the visual tag to collapse data when labeling.
  • Update the tag so that it can be used with control tags and added a new Tabular Data template.
  • Perform validation with the HyperText tag when used with nested items.
  • Improve the top navigation bar to make the task ID selectable and update the layout.
  • For selected regions, display the text.
  • Added the ability to view task history with previous and next buttons when labeling. Thanks schafsam for your request in issue #1098.
  • Added an indicator to predicted regions, making it easier to identify which region is a pre-annotation and which is a manual annotation on the task.
  • Add a link on the region panel between predictions and annotations so that you can see which annotation was created from which prediction.
  • Returned the option to "delete all regions", which went missing. Thanks to David Sanders for your report in issue #1645.
  • HTML labeling improvements

    • Updated the way that HTML annotations are stored. Prior to this change, paragraph text highlighted for labeling would have an xpath with /main/div[1] and the exported annotation would include the <p> tag and text. Now, the xpath for regions like this is /main/div/p/text()[1].
    • Fixed an issue with HyperText where excess labels were applied to multiple spans inside of one text region. Thanks to Piotr Podbielski for your [contribution](https://github.com/heartexl...
Read more

Label Studio 1.3.0

17 Sep 18:19
90aa4ec
Compare
Choose a tag to compare

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

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!

18 Aug 16:53
a0817cb
Compare
Choose a tag to compare

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

13 Aug 09:20
a06d5d9
Compare
Choose a tag to compare

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://... or gs://..., 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 the completed_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 and lead_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

30 Jun 22:57
536f604
Compare
Choose a tag to compare

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 test@example.com --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.