Skip to content

Commit 661cec0

Browse files
committed
Merge branch 'develop' into 'fb-custom-regions'
Workflow run: https://github.com/HumanSignal/label-studio/actions/runs/18078010277
2 parents 0b9a93b + 3f41aa1 commit 661cec0

File tree

64 files changed

+1699
-390
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1699
-390
lines changed

docs/source/guide/label_studio_compare.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,12 @@ Label Studio is available to everyone as open source software (Label Studio Comm
6767
<td style="text-align:center">✅</td>
6868
<td style="text-align:center">✅</td>
6969
<td style="text-align:center">✅</td>
70+
</tr>
71+
<tr>
72+
<td><b>Advanced cloud storage integrations</b><br/><a href="storage.html">Databricks Unity Catalog, IAM for AWS S3, Azure Blob Storage with Service Principal, and WIF for Google Cloud Storage connections.</a></td>
73+
<td style="text-align:center">❌</td>
74+
<td style="text-align:center">❌</td>
75+
<td style="text-align:center">✅</td>
7076
</tr>
7177
<tr>
7278
<td><b>Import pre-annotated data</b><br/><a href="predictions.html">Import pre-annotated data (predictions) into Label Studio for further refinement and assessment.</a></td>
Lines changed: 277 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,277 @@
1+
---
2+
hide_sidebar: true
3+
---
4+
5+
## Label Studio Enterprise 2.29.0
6+
7+
<div class="onprem-highlight">New Chat tag, Azure Blob Storage with Service Principal authentication, filtering enhancements, improved UX</div>
8+
9+
*Sep 26, 2025*
10+
11+
Helm Chart version: [1.11.2](https://github.com/HumanSignal/charts/blob/master/heartex/label-studio/Chart.yaml)
12+
13+
### New features
14+
15+
#### Annotate conversations with a new Chat tag
16+
17+
Chat conversations are now a native data type in Label Studio, so you can annotate, automate, and measure like you already do for images, video, audio, and text.
18+
19+
For more information, see:
20+
21+
[**Chat tag page**](/tags/chat)
22+
23+
[**Chat labeling templates**](/templates/gallery_chat)
24+
25+
[**Blog - Introducing Chat: 4 Use Cases to Ship a High Quality Chatbot**](https://humansignal.com/blog/introducing-chat-4-use-cases-to-ship-a-high-quality-chatbot/)
26+
27+
![Screenshot](/images/releases/2-29-chat.png)
28+
29+
### Enhancements
30+
31+
#### One-click annotation for audio-text dialogues
32+
33+
When labeling paragraphs in dialogue format (`layout="dialogue"`), you can now apply labels at an utterance level.
34+
35+
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:
36+
37+
![Screenshot](/images/releases/2-29-audio-text.png)
38+
39+
#### Adjustable height for audio players
40+
41+
While you can still adjust the default height in the labeling configuration, now users can drag and drop to adjust the height as needed.
42+
43+
<video style="max-width: 800px;" class="gif-border" autoplay loop muted>
44+
<source src="/images/releases/2_29_adjust.mp4">
45+
</video>
46+
47+
#### Support for Azure Blob Storage with Service Principal authentication
48+
49+
You can now connect your projects to Azure Blob Storage using Service Principal authentication.
50+
51+
Service Principal authentication uses Entra ID to authenticate applications rather than account keys, allowing you to grant specific permissions and can be easily revoked or rotated. For more information, see [Azure Blob Storage with Service Principal authentication](https://docs.humansignal.com/guide/storage#Azure-Blob-Storage-with-Service-Principal-authentication).
52+
53+
<img style="max-width: 825px" src="/images/releases/2-29-azure.png" alt="Screenshot"/>
54+
55+
#### Redesigned cloud storage modal
56+
57+
When adding cloud storage, the modal has now been redesigned to add clarity and additional guidance to the process.
58+
59+
For example, you can now preview a list of files that will be imported in order to verify your settings.
60+
61+
<img style="max-width: 800px" src="/images/releases/2-29-cloud-storage-modal.png" alt="Screenshot"/>
62+
63+
64+
#### Debug custom agreement metrics
65+
66+
There is a new **See Logs** option for [custom agreement metrics](custom_metric), which you can use to view log history and error messages.
67+
68+
<img style="max-width: 500px" src="/images/releases/2-29-debug-metrics.png" alt="Screenshot"/>
69+
70+
#### Nested annotator filter
71+
72+
When applying an annotation results filter, you will now see a nested Annotator option. This allows you to specify that the preceding filter should be related to the specific annotator.
73+
74+
For example, the following filter will retrieve any tasks that have an annotation with choice "bird" selected, and also retrieve any tasks that have an annotation submitted by "Sally Opossum."
75+
76+
This means if you have a task where "Max Opossum" and "Sally Opossum" both submitted annotations, but only Max chose "bird", the task would be returned in your filter.
77+
78+
![Screenshot](/images/releases/2-29-nested1.png)
79+
80+
With the new nested filter, you can specify that you only want tasks in which "Sally Opossum" selected "bird":
81+
82+
![Screenshot](/images/releases/2-29-nested2.png)
83+
84+
#### Filter by prediction results
85+
86+
You can now filter prediction results by selecting options that correspond to control tag values.
87+
88+
Previously, you could only filter using an unstructured text search.
89+
90+
The prediction results filter also includes a nested model version filter, which (if specified) will ensure that your filters returns tasks only when the selected prediction result comes from the selected model.
91+
92+
![Screenshot](/images/releases/2-29-prediction-filter.png)
93+
94+
#### Hide Data Manager columns from users
95+
96+
There is a new project setting available from **Annotation > Annotating Options** and **Review > Reviewing Options** called **Show unused data columns to reviewers in the Data Manager**.
97+
98+
This setting allows you to hide unused Data Manager columns from any Annotator or Reviewer who also has permission to view the Data Manager.
99+
100+
"Unused" Data Manager columns are columns that contain data that is not being used in the labeling configuration.
101+
102+
For example, you may include meta or system data that you want to view as part of a project, but you don't necessarily want to expose that data to Annotators and Reviewers.
103+
104+
<img style="max-width: 600px" src="/images/releases/2-29-dm-columns.png" alt="Screenshot"/>
105+
106+
#### Manager and Reviewer access to the Annotator Dashboard
107+
108+
Managers and Reviewers will now see a link to the Annotator Dashboard from the Home page.
109+
110+
The [**Annotator Dashboard**](dashboard_annotator) displays information about their annotation history.
111+
112+
**Managers:**
113+
114+
![Screenshot](/images/releases/2-29-apd-manager.png)
115+
116+
**Reviewers:**
117+
118+
![Screenshot](/images/releases/2-29-apd-reviewer.png)
119+
120+
#### Show models in the Members dashboard
121+
122+
If your project is using predictions, you will now see a **Show Models** toggle on the [Members dashboard](https://docs.humansignal.com/guide/dashboard_members).
123+
124+
This will allow you to view model agreement as compared to annotators, other models, and ground truths.
125+
126+
![Screenshot](/images/releases/2-29-show-models.png)
127+
128+
129+
#### Set model provider API keys for an organization
130+
131+
There is a new **Model Providers** page available at the organization level where you can configure API keys to use with LLM tasks.
132+
133+
If you have previously set up model providers as part of your Prompts workflow, they are automatically included in the list.
134+
135+
For more information, see [Model provider API keys for organizations](https://docs.humansignal.com/guide/model_providers).
136+
137+
![Screenshot](/images/releases/2-29-model-providers.png)
138+
139+
140+
#### Improved UX on the Organization page
141+
142+
The Organization page (only accessible to Owner and Admin roles) has been redesigned to be more consistent with the rest of the app.
143+
144+
Note that as part of this change, the [**Access Token**](https://docs.humansignal.com/guide/access_tokens) page has been moved under **Settings**.
145+
146+
**Before:**
147+
148+
![Screenshot](/images/releases/2-29-org-before.png)
149+
150+
**After:**
151+
152+
![Screenshot](/images/releases/2-29-org-after.png)
153+
154+
#### New email notification option for users who are not activated
155+
156+
Administrators and Owners can now opt in to get an email notification when a new user logs in who has not yet been assigned a role.
157+
158+
Like all email preferences, this can be disabled and hidden for the whole organization on the **Organization > Usage and License** page.
159+
160+
![Screenshot](/images/releases/2-29-not-activated.png)
161+
162+
163+
#### Apply labels from multiple `<Labels>` controls
164+
165+
When you have a labeling configuration that includes multiple `<Labels>` blocks, like the following:
166+
167+
```xml
168+
<View>
169+
<Text name="text" value="$text" granularity="word"/>
170+
<Labels name="category" toName="text" choice="single">
171+
<Label value="Animal" background="red"/>
172+
<Label value="Plant" background="darkorange"/>
173+
</Labels>
174+
<Labels name="type" toName="text" choice="single">
175+
<Label value="Mammal" background="green"/>
176+
<Label value="Reptile" background="gray"/>
177+
<Label value="Bird" background="blue"/>
178+
</Labels>
179+
</View>
180+
```
181+
182+
You can now choose multiple labels to apply to the selected region.
183+
184+
<video style="max-width: 800px;" class="gif-border" autoplay loop muted>
185+
<source src="/images/releases/2-29-multilabels.mp4">
186+
</video>
187+
188+
#### Multiple SDK enhancements
189+
190+
We have continued to add new endpoints to our SDK. See our [**SDK releases**](https://github.com/HumanSignal/label-studio-sdk/releases).
191+
192+
#### Miscellaneous UX improvements
193+
194+
- Various improvements to the list view for the Projects page.
195+
196+
- Improvements to sorting and buttons for the grid view of the Projects page.
197+
198+
- Each user has a numeric ID that you can use in automated workflows. These IDs are now easier to quickly find through the UI.
199+
200+
You can find them listed on the **Organization** page and in the **Annotation Summary** table on the **Members** page for projects.
201+
202+
- When loading the Data Manager in which you have not yet imported data, you will now see a more helpful interface.
203+
204+
- When duplicating a project, you will now see a modal with an updated UI and more helpful text.
205+
206+
#### Performance improvements and optimizations
207+
208+
Multiple performance optimizations, fine-tuning, and dependency cleanup.
209+
210+
### Bug fixes
211+
212+
- Fixed an issue with the disabled state style for the Taxonomy tag on Dark Mode.
213+
214+
- Fixed an issue where users were able to select multiple values when filtering annotation results despite multiselect not being compatible with the labeling config.
215+
216+
- Fixed an issue that caused project search to not match certain word parts.
217+
218+
- Fixed an issue where long storage titles prevented users from accessing the overflow menu.
219+
220+
- Fixed an issue where the workspaces dropdown from the Annotator Performance page would disappear if the workspace name were too long.
221+
222+
- Fixed an issue where imported child choices were not selectable when using the `leafsOnly` parameter for taxonomies.
223+
224+
- Fixed an issue with labeling `Text` or `Hypertext` with multiple `Taxonomy` tags at the same time.
225+
226+
- Fixed a small visual issue with the buttons to create tokens.
227+
228+
- Fixed a small issue with column header text alignment in the Data Manager.
229+
230+
- Fixed an issue with export CSV files where the headers did not align with the data within the column.
231+
232+
- Fixed an issue in the project dashboard with tasks not being calculated due to timezone issues.
233+
234+
- Fixed an issue where clicking on an annotator's task count opens the Data Manager with the wrong annotator pre-loaded filter.
235+
236+
- Fixed an issue with the magic wand tool.
237+
238+
- Fixed an issue where, when zoomed in, bounding boxes would shift after being flipped.
239+
240+
- Fixed an issue where too much task information would appear in notification emails.
241+
242+
- Fixed an issue where the workspaces list would sometimes get stuck loading.
243+
244+
- Fixed an issue where users would see "The page or resource you were looking for does not exist" while performing resource-intensive searches
245+
246+
- Fixed several issues related to the user drop-down in the Annotator Performance Dashboard.
247+
248+
- Fixed an issue with pausing annotators in projects with a large number of users.
249+
250+
- Fixed an issue where an empty Import modal would be shown briefly when uploading a file.
251+
252+
- Fixed an issue with duplicate entries when filtering for annotators from the Data Manager
253+
254+
- Fixed an issue where users would sometimes see a 404 error in the labeling stream when there were skipped or postponed tasks.
255+
256+
- Fixed several issues related to loading the Annotator Performance dashboard.
257+
258+
- Fixed an issue where audio and video would be out of sync when working with lengthy videos.
259+
260+
- Fixed an issue with a 500 error in the Django Admin panel.
261+
262+
- Fixed several issues related to loading the Members page and Members modal.
263+
264+
- Fixed an issue where predictions with empty results could not pass validation.
265+
266+
- Fixed an issue where on tasks with more than 10 annotators, the number of extra annotators displayed in the Data Manager column would not increment correctly.
267+
268+
- Fixed an issue where users in the Manager role were shown a permissions error when attempted to access the **Settings > Cloud Storage** page.
269+
270+
- Fixed a small issue in the Members modal where empty space was not being filled.
271+
272+
- Fixed an issue where in some cases Owners and Admins could be removed from workspace membership.
273+
274+
- Fixed an issue where the Copy button was not showing the correct state in some instances
275+
276+
- Fixed an issue where the Info panel was showing conditional choices that were not relevant to the selected region.
277+

docs/source/guide/storage.md

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,37 @@ section: "Import & Export"
1313

1414
Integrate popular cloud and external storage systems with Label Studio to collect new items uploaded to the buckets, containers, databases, or directories and return the annotation results so that you can use them in your machine learning pipelines.
1515

16-
Set up the following cloud and other storage systems with Label Studio:
17-
- [Amazon S3](#Amazon-S3)
18-
- [Google Cloud Storage](#Google-Cloud-Storage)
19-
- [Microsoft Azure Blob storage](#Microsoft-Azure-Blob-storage)
20-
- [Redis database](#Redis-database)
21-
- [Local storage](#Local-storage) <div class="enterprise-only">(for On-prem only)</div>
22-
- [Databricks Files (UC Volumes)](#Databricks-Files-UC-Volumes)
16+
<div class="opensource-only">
17+
18+
| Storage | Community | Enterprise |
19+
|---|---|---|
20+
| [Amazon S3](#Amazon-S3) |||
21+
| [Amazon S3 with IAM role](https://docs.humansignal.com/guide/storage#Set-up-an-S3-connection-with-IAM-role-access) |||
22+
| [Google Cloud Storage](#Google-Cloud-Storage) |||
23+
| [Google Cloud Storage WIF Auth](https://docs.humansignal.com/guide/storage#Google-Cloud-Storage-with-Workload-Identity-Federation-WIF) |||
24+
| [Microsoft Azure Blob Storage](#Microsoft-Azure-Blob-storage) |||
25+
| [Microsoft Azure Blob Storage with Service Principal](https://docs.humansignal.com/guide/storage#Azure-Blob-Storage-with-Service-Principal-authentication) |||
26+
| [Databricks Files (UC Volumes)](https://docs.humansignal.com/guide/storage#Databricks-Files-UC-Volumes) |||
27+
| [Redis database](#Redis-database)|||
28+
| [Local storage](#Local-storage) |||
29+
30+
</div>
31+
32+
<div class="enterprise-only">
33+
34+
| Storage | Community | Enterprise |
35+
|---|---|---|
36+
| [Amazon S3](#Amazon-S3) |||
37+
| [Amazon S3 with IAM role](#Set-up-an-S3-connection-with-IAM-role-access) |||
38+
| [Google Cloud Storage](#Google-Cloud-Storage) |||
39+
| [Google Cloud Storage WIF Auth](#Google-Cloud-Storage-with-Workload-Identity-Federation-WIF) |||
40+
| [Microsoft Azure Blob Storage](#Microsoft-Azure-Blob-storage) |||
41+
| [Microsoft Azure Blob Storage with Service Principal](#Azure-Blob-Storage-with-Service-Principal-authentication) |||
42+
| [Databricks Files (UC Volumes)](#Databricks-Files-UC-Volumes) |||
43+
| [Redis database](#Redis-database)|||
44+
| [Local storage](#Local-storage) (on-prem only) |||
45+
46+
</div>
2347

2448

2549
## Troubleshooting
53.9 KB
Loading
45.4 KB
Loading
297 KB
Loading
240 KB
Loading
389 KB
Loading
357 KB
Loading
160 KB
Loading

0 commit comments

Comments
 (0)