Helm Chart version: 1.11.3
🌟 What's new
🎉 New features
🖌 Bitmask support for precise image annotation
There is a new BitmaskLabels tag to support pixel-level image annotation using a brush and eraser. This new tag allows for highly detailed segmentation using brush-based region and a cursor that reflects brush size down to single pixels for fine detail. We’ve also improved performance so it can handle more regions with ease. (#7766 #7799 #7852)
Additionally, Mac users can now use two fingers to pinch zoom and pan images for all annotation tasks.
bitmask.mp4
🔤 Custom global hotkeys
You can now configure global hotkeys for each user account. These are available from the Account & Settings page. (#7784)

✅ Feature updates
▶️ One-click annotation for audio-text dialogues
When labeling paragraphs in dialogue format (layout="dialogue"
), you can now apply labels at an utterance level. (#8037)
There is a new button that you can click to apply the selected label to the entire utterance. You can also use the pre-configured Command + Shift + A
hotkey:

⚙️ Settings for TimelineLabels configurations
When you are using a labeling configuration that includes <TimelineLabels>
, you will now see a settings icon. (#8011)
From here you can specify the following:
- Playback speed for the video
- Whether to loop timeline regions

↕️ Adjustable height for audio players
While you can still adjust the default height in the labeling configuration, now users can drag and drop to adjust the height as needed. (#8116 #8138)
2_29_adjust.mp4
✏️ Apply labels from multiple <Labels>
controls
When you have a labeling configuration that includes multiple <Labels>
blocks, like the following:
<View>
<Text name="text" value="$text" granularity="word"/>
<Labels name="category" toName="text" choice="single">
<Label value="Animal" background="red"/>
<Label value="Plant" background="darkorange"/>
</Labels>
<Labels name="type" toName="text" choice="single">
<Label value="Mammal" background="green"/>
<Label value="Reptile" background="gray"/>
<Label value="Bird" background="blue"/>
</Labels>
</View>
You can now choose multiple labels to apply to the selected region. (#8162)
2-29-multilabels.mp4
⏱ Support for high-frequency rate time series data
You can now annotate time series data on the sub-second decimal level. (#8056)
Note: Your time format must include .%f
to support decimals.
For example:
timeFormat="%Y-%m-%d %H:%M:%S.%f"
Special thanks to @dronishe for reporting this issue (7948)

☁️ Improved cloud storage modal
When adding cloud storage, the modal has now been redesigned to add clarity and additional guidance to the process. (#8007 #8057)
For example, you can now preview a list of files that will be imported in order to verify your settings.


🧩 Improved UI for empty Data Manager
When loading the Data Manager in which you have not yet imported data, you will now see a more helpful interface. (#8149)

🔳 Snap bounding boxes to pixels
The <Rectangle>
and <RectangleLabels>
tags now include the snap
parameter, allowing you to snap bounding boxes to pixels. (#8045)
Tip: To see a pixel grid when zoomed in on an image, you must disable pixel smoothing. This can be done as a parameter on the <Image>
tag or from the user settings.
📌 Define the default collapsed state
The <Collapse>
tag now includes an open
parameter. You can use this to specify whether a content area should be open or collapsed by default. (#7993)
🌈 Configure whether to display spectrograms in the labeling configuration
There is a new spectrogram
parameter for the <Audio>
tag, allowing you to show spectrograms by default. (#7762 #7788)
⭐️ SDK 2.0.x
We released a new version of the SDK, with multiple functional and documentation enhancements.
✨ Miscellaneous UX improvements
-
Removed the default zoom level calculation for Audio, allowing it to render the full waveform by default. (#7980)
-
Removed repetitive headers from Info and History panels in the labeling interface. (#7832)
💪 Performance improvements and optimizations
Multiple performance optimizations, fine-tuning, and dependency cleanup. (#8105, #8102, #7926)
⚠️ Breaking changes
-
/api/projects/{project_id}/export
is now deprecated. (#7967) -
The page size for
/api/projects
API is now limited to 100 projects. (#7936) -
SDK 2.0 included several breaking changes.
🔒 Security
-
Fixed a Koa.js XSS vulnerability tied to a redirect function. (#7927)
-
Added improved password validation. (#7859)
-
Removed unsafe-eval from default CSP configuration. (#7776)
🐞 Bug fixes
-
Fixed various UI issues associated with tooltips and buttons. (#8049, #8158, #8058, #8009, #8070)
-
Fixed various UI issues for dark mode. (#7990, #7985, #7867)
-
Fixed an issue where predictions with empty results could not pass validation. (#8269)
-
Fixed an issue where audio and video would be out of sync when working with lengthy videos. (#7633)
-
Fixed an issue where, when zoomed in, bounding boxes would shift after being flipped. (#8148)
-
Fixed an issue where an empty Import modal would be shown briefly when uploading a file. (#8155)
-
Fixed an issue with duplicate entries when filtering for annotators from the Data Manager. (#8202)
-
Fixed an issue where long storage titles prevented users from accessing the overflow menu. (#8137)
-
Fixed an issue where imported child choices were not selectable when using the
leafsOnly
parameter for taxonomies. (#8146) -
Fixed an issue with labeling
Text
orHypertext
with multipleTaxonomy
tags at the same time. (#8103) -
Fixed an issue where the taxonomy drop-drop down was not displaying in the labeling interface preview. (#7881)
-
Fixed an issue where the focus was lost when entering a character on the webhook header fields. (#8077)
-
Fixed an issue that would sometimes render a user in the Data Manager without a display name. (#8081)
-
Fixed an issue affecting manually entering the end time for an audio region. (#7829)
-
Fixed an issue where autocomplete was not working when configure the labeling interface as part of the create project workflow. (#8072)
-
Fixed an issue where the layout was incorrect when pinning Data Manager filters to the sidebar. (#8061)
-
Fixed an issue where resizing the labeling interface area would not resize the video player. (#8038)
-
Fixed an issue where a blank avatar would display in the Data Manager when more than 10 annotators had worked on a task. (#8026)
-
Fixed an issue were api/tasks would time out with a large number of annotations. (#8005)
-
Fixed an issue where text in a
<TextArea>
field was still submitted even if the field was conditionally hidden. (#7982) -
Fixed an issue where multichannel timelines would display on initial load. (#7984)
-
Fixed an issue where the error indicator was not visible when creating a project. (#7964)
-
Fixed an issue that caused avatars to overflow the table cell in the Data Manager. (#7932)
-
Fixed an issue where users were able to improperly modify regions and add polygon points when using Compare all annotations on a task. (#7907, #7900)
-
Fixed an issue where time series charts were not always properly displayed in the playground. (#7918)
-
Fixed an issue that where the data import page did not display correctly after importing a CSV file. (#7898)
-
Fixed an issue that prevented audio regions from being visualized over the full interface in split channel mode. (#7848)
-
Fixed an issue where audio failed to render the full waveform when zoomed out at the page level. (#7854 #7857)
-
Fixed an issue where filters disappeared in the Data Manager and could not be edited after changes to filters or columns. (#7843)
-
Fixed an issue where RichText Tags were not rendering correctly on Firefox due to cross-browser compatibility problems. (#7866)
-
Fixed an issue causing vertical displacement of TimeSeries charts with large datasets and specific zoom levels, sometimes shifting the chart beyond the visible screen area. (#7833)
-
Fixed an issue with incorrect rendering height of split channel audio. (#7820)
-
Fixed an issue where docs links opened in the same window instead of a new tab. (#7806)
-
Fixed an issue where creating a new tab in the Data Manager caused the tab to move to the front after refreshing the page. (#7819)
-
Fixed an issue that prevented the Allow drawing outside of video boundaries setting from functioning correctly. (#7816)
-
Fixed an issue where displaying a large amount of data in
TimeSeries
using theTimeSeriesVisualizer
component caused problems. (#7800)
🤩 Contributors
💡 Community contributions
❤️ HumanSignal team
- @nick-skriabin
- @deppp
- @cloudmark
- @Gondragos
- @asynclizard
- @niklub
- @ricardoantoniocm
- @bmartel
- @triklozoid
- @makseq
- @wesleylima
- @nass600
- @jombooth
- @yyassi-heartex
- @carly-bartel
- @hlomzik
- @luarmr
Full Changelog: tags/1.20.0...1.21.0
This changelog was updated in response to a push of 5c98832
Workflow run
Jira Release Issues 1.21.0 FilterTurned off Feature Flags (95)
- feat_all_optic_71_dashboard_multiple_labeling_group_support_v1_01092023_short
- feat_front_dev_1752_notification_links_in_label_and_review_streams
- feat_front_dev_3260_alternative_shortcuts_for_video_naviagtion
- feat_front_dev_399_lock_interface_when_trial_expired_short
- feat_optic_1098_annotation_history_lead_time_charts
- ff_back_2004_async_review_24032022_short
- ff_back_2884_comments_notifications_02092022_short
- ff_back_DEV_1711_review_queue_140222_short
- ff_back_DEV_3374_review_query_160922_short
- ff_back_dev_1948_reviewed_status_16052022_short
- ff_back_dev_2362_project_credentials_060722_short
- ff_back_dev_4664_remove_storage_file_on_export_delete_29032023_short
- ff_back_experimental_features
- ff_front_dev_1442_unselect_shape_on_click_outside_080622_short
- ff_front_dev_1480_created_on_in_review_180122_short
- ff_front_dev_1682_model_version_dropdown_070622_short
- ff_front_dev_2186_comments_for_update
- ff_front_dev_2671_anchor_rotate_bbox_010722_short
- ff_front_optic_1610_ask_ai_questions
- fflag-feat-dev-2887-comments-ui-editor-short
- fflag-feat-dev-3034-comments-with-drafts-short
- fflag-feat-front-dev-2866-free-trial-invite-short
- fflag-feat-front-dev-3051-trial-experience
- fflag_all_feat_utc_112_open_in_starter_cloud
- fflag_all_feat_utc_204_users_performance_improvements_in_dm_for_large_orgs
- fflag_feat_all_dia_1576_prompts_easy_breezy_onboarding_long
- fflag_feat_all_dia_1576_prompts_easy_breezy_onboarding_short_async_presets_ks
- fflag_feat_all_dia_1700_pinned_organization_sidebar
- fflag_feat_all_dia_2067_tasks_table_component
- fflag_feat_all_dia_835_prompter_workflow_long
- fflag_feat_all_leap_1534_custom_task_lock_timeout_short
- fflag_feat_all_lops_315_temp_datasets_limitations_short
- fflag_feat_all_lops_e_3_datasets_short
- fflag_feat_all_lsdv_e_295_project_level_roles_via_saml_scim_ldap_short
- fflag_feat_all_optic_1354_sum_annotation_region_count_short
- fflag_feat_all_utc_222_prompts_api_keys_enterprise_only
- fflag_feat_back_dev_3756_queue_enrollment_min_short
- fflag_feat_back_lsdv_3958_server_side_encryption_for_target_storage_short
- fflag_feat_back_lsdv_4932_enable_memory_profiler
- fflag_feat_back_lsdv_5307_import_reviews_drafts_29062023_short
- fflag_feat_back_optic_1579_force_memory_profiler
- fflag_feat_back_optic_428_scim_multi_mapping
- fflag_feat_backend_optic_427_org_member_role_throttling_short
- fflag_feat_bros_193_new_cloud_storage_providers_short
- fflag_feat_dev_2755_regions_list_grouped_by_labels_with_ordered_collapse_short
- fflag_feat_dia_1661_improve_prompts_discovery_and_conversion
- fflag_feat_dia_1697_product_tour_short
- fflag_feat_dia_1920_project_creation_sample_data_short
- fflag_feat_dia_1925_view_sample_raw_json_short
- fflag_feat_fit_449_datamanager_filter_members_short
- fflag_feat_fit_528_icon_menu_short
- fflag_feat_fit_52_label_studio_enterprise_embed
- fflag_feat_front_bros_194_custom_tags_short
- fflag_feat_front_dev-2536_comment_notifications_short
- fflag_feat_front_dev_3051_trial_experience_short
- fflag_feat_front_dia_1747_projects_list_banner
- fflag_feat_front_leap_1173_disable_postpone_skip_short
- fflag_feat_front_leap_482_self_serve_short
- fflag_feat_front_lops_134_find_similarity_29082023_short
- fflag_feat_front_optic_optic_1442_hubspot_talk_to_sales_modal_short
- fflag_feat_front_prod_281_project_list_search_19072023_short
- fflag_feat_optic_1025_zendesk_widget_integration
- fflag_feat_optic_161_project_settings_for_low_agreement_threshold_score_short
- fflag_feat_optic_378_limit_projects_per_page_to_ten_short
- fflag_feat_optic_650_target_storage_task_format_long
- fflag_feat_optic_67_drag_and_drop_charts
- fflag_feat_root_47_plugins_without_eval
- fflag_feat_utc_161_bulk_queue_total_11072025_short
- fflag_feat_utc_210_prediction_validation_15082025
- fflag_feature_all_optic_1421_cold_start_v2
- fflag_feature_all_optic_1541_performance_score_on_latest_review_short
- fflag_fix_all_leap_877_annotator_membership_api_03042024_short
- fflag_fix_all_lsdv_4813_async_export_conversion_22032023_short
- fflag_fix_all_lsdv_4896_dm_actions_to_reviewers_20230403_short
- fflag_fix_all_lsdv_4971_async_reimport_09052023_short
- fflag_fix_all_optic_18_dashboard_label_distribution_chart_async_22082023_short
- fflag_fix_all_optic_79_task_count_is_wrong_short
- fflag_fix_back_4620_memory_efficient_predictions_import_08012025_short
- fflag_fix_back_dev_3668_review_stream_optimizaion_short
- fflag_fix_back_dev_4174_overlap_issue_experiments_10012023_short
- fflag_fix_back_dev_4185_next_task_additional_logging_long
- fflag_fix_back_lsdv_4523_show_overlap_first_order_27022023_short
- fflag_fix_back_lsdv_5425_1_enable_permissions_restrictions_for_annotators_long
- fflag_fix_back_plt_825_rate_limiter_debug_14072025_short
- fflag_fix_bros_113_members_user_order_20250816
- fflag_fix_font_lsdv_3009_draft_saving_stuck_130223_short
- fflag_fix_front_dev_2918_labeling_filtered_paragraphs_250822_short
- fflag_fix_front_fit_31_synced_media_buffering
- fflag_fix_front_leap_443_select_annotation_once
- fflag_fix_front_lsdv_4600_lead_time_27072023_short
- fflag_fix_optic_1259_lse_projects_read_apis_use_replica_short
- fflag_front_dia_1150_ddisco_sneak_preview
- fflag_root_43_prediction_results_filter
- fflag_root_45_better_user_filter
- fix_backend_dev_3134_exclude_deactivated_users