🌟 What's new
🎉 New features
🌙 Dark mode - Beta 🧪
Label Studio can now be used in dark mode. (#6550)
Click your avatar in the upper right to find the toggle for dark mode.
- Auto - Use your system settings to determine light or dark mode.
- Light - Use light mode.
- Dark - Use dark mode.
This addresses a long-standing user request (#314), and thank you for to everyone who contributed their thoughts!

✅ Feature updates
▶️ Click and drag adjustment for video timeline segments
You can now click and drag to adjust the length of video timeline segments. (#7251)
Thank you to @idobenamram for opening an issue requesting this enhancement. (#6439)
✏️ Click and drag adjustment for text spans
You can also now click and drag to adjust text span regions. (#7309)
🔍 Improved drop-down selectors
When there are a large number of options in a drop-down menu, you can now search through the list of available options. (#7257)
📦 Support for BrushLabels export to COCO format
You can now export polygons created using the BrushLabels tag to COCO format. (#7252, #429)
Special thanks to community member @KMYsqHRK for contributing this PR.
🔑 New API endpoint to rotate personal access tokens
There is a new API endpoint to rotate the new JWT personal access tokens: https://api.labelstud.io/api-reference/api-reference/tokens/rotate (#7435)
⚙️ New flag to enable legacy tokens from the CLI
Adds an --enable-legacy-api-token
flag that results in both legacy and JWT tokens to be enabled for new organizations. This is useful if you are using certain automations for Label Studio instances. (#7413, #7388)
Special thanks to community members @harrymander for bringing this use case to our attention (#7355), and to @benglewis for creating the initial PR.
🎯 NumPy 2.0 support in the Label Studio SDK
The Label Studio SDK now supports NumPy 2.0. (#436, #7414)
Special thanks to @benglewis for submitting a PR for this.
Also thank you to @nic-elia who opened an issue to track this. (#296)
Note that Label Studio does not yet support NumPy 2.0. This support only applies to the SDK.
🧰 Label Studio Converter CLI
When you install the Label Studio SDK, you can now use the label-studio-converter
command from your terminal. (#443)
This command had previously been available as a standalone tool, allowing you to convert your Label Studio JSON exports into common ML annotation formats.
🔒 Security
-
Upgraded Babel to address vulnerabilities. (#7374)
-
Addressed a CSP issue by removing
unsafe-eval
usage. (#7190)Again, special thanks to @benglewis for submitting this PR!
-
Made security improvements around exception error messages. (#7310)
-
Made security improvements around project parameter validation. (#7349)
-
Remove unused
upload-example
endpoint. (#7440)
🐞 Bug fixes
-
Fixed an issue where the
visibleWhen
parameter was not working when used with a taxonomy. (#7373) -
Fixed an issue where clicking on the timeline region in the region list did not move the slider to the correct position. (#7392)
-
Fixed an issue where some segments were not previewable when annotating videos with the TimeLineLabels tag. (#7244)
-
Fixed an issue where a frontend error was causing project creation to fail in development environments. (#7273)
-
Fixed an issue where regions would be added to the wrong task when moving quickly between tasks. (#7212)
-
Fixed several small issues with how labeled regions appear when completing OCR tasks. (#7259)
-
Fixed an issue where the
prediction-changed
value was not being reset after making manual changes to pre-annotations for classification tasks. (#7312) -
Fixed an issue where importing from the UI would fail when importing from a URL. (#7280)
🤩 Contributors
🚀 Community PRs
-
Hiroki Kamiya contributed a PR to support COCO format for BrushLabels #429.
-
This release includes 3 PRs from Ben Lewis! 🎉:
💡 Community contributions
- Ido Ben Amram for opening issue #6439 requesting more control over editing TimelineLabels
- Users @debpalash (#4376) and @coelho-k (#4475) for opening issues requesting COCO format for BrushLabels
- Harry Mander for opening issue #7355 explaining why users needed a flag for enable legacy tokens
- Nicola Elia for opening issue #296 requesting NumPy 2.0 support
❤️ HumanSignal team
Full Changelog: tags/1.17.0...1.18.0
This changelog was updated in response to a push of a5c4b5a Workflow runJira Release Issues 1.18.0 Filter
Turned off Feature Flags (99)
- 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_1713_audio_ui_150222_short
- ff_front_dev_1442_unselect_shape_on_click_outside_080622_short
- ff_front_dev_1480_created_on_in_review_180122_short
- ff_front_dev_1658_notification_center_170222_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_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_4915_async_task_import_13042023_short
- fflag_feat_all_lsdv_e_295_project_level_roles_via_saml_scim_ldap_short
- fflag_feat_all_optic_1181_membership_performance
- fflag_feat_all_optic_1354_sum_annotation_region_count_short
- fflag_feat_all_optic_520_annotator_report_short
- 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_dev_2755_regions_list_grouped_by_labels_with_ordered_collapse_short
- fflag_feat_dia_1528_gemini_models_support_vertex_ai_support_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_dia_2092_multitasks_per_storage_link
- 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_2036_annotations_summary
- fflag_feat_front_leap_482_self_serve_short
- fflag_feat_front_lops_134_find_similarity_29082023_short
- fflag_feat_front_lops_86_datasets_storage_edit_short
- fflag_feat_front_optic_1351_use_new_projects_counts_api_short
- fflag_feat_front_optic_1417_improve_project_list_cache_short
- fflag_feat_front_optic_1856_ask_ai_support_ticket_creation_short
- fflag_feat_front_optic_767_annotator_project_multiselect_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_2123_audio_spectrograms
- fflag_feat_optic_2125_timeseries_sync
- 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_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_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_leap_1818_set_convert_background_failure_logging_02062025_short
- fflag_fix_back_leap_612_explore_review_09042024_short
- 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_font_lsdv_3009_draft_saving_stuck_130223_short
- fflag_fix_front_dev_2918_labeling_filtered_paragraphs_250822_short
- fflag_fix_front_dev_3391_interactive_view_all
- fflag_fix_front_leap_443_select_annotation_once
- fflag_fix_front_lsdv_4600_lead_time_27072023_short
- fflag_fix_front_optic_1418_cache_members_manager_apis_short
- fflag_fix_optic_1259_lse_projects_read_apis_use_replica_short
- fflag_fix_optic_214_extra_blank_dashboard_charts_short
- fflag_fix_optic_391_tasks_outside_low_agreement_project_counts_short
- fflag_front_dia_1150_ddisco_sneak_preview
- fix_backend_dev_3134_exclude_deactivated_users
ALL QUOTE LINES WILL BE IGNORED