[0.4.13] - 2026-04-21
Added
- Added a floating selection panel to grid pages.
- Tags can be created and assigned directly from the sample and annotation detail view.
- Tags can be created and assigned directly from the side panel in the grid view.
- Tags can be renamed directly from the side panel in the grid view.
- Tags can be deleted from the side panel in the grid view.
- Show Embedding Plot selection as a filter item in the left panel.
- Added thumbnail quality setting in the Settings dialog. Enable "High Quality Thumbnails" to load compressed JPEG thumbnails in grid views, reducing bandwidth for large datasets.
- Added
Dataset.update_metadatamethod to update metadata of multiple samples at once. - Exposed Pascal VOC segmentation export from the Python interface.
- Added cloud storage support for Pascal VOC semantic segmentation annotations.
Changed
- Embedding plot shows only 2 categories
FilteredandNot Filtered.
Fixed
- Fixed annotation editing UX in sample details by showing a Saving indicator while changes are persisted.
What's Changed
- Add useAnnotationsFilter hook by @horatiualmasan in #861
- Fix: Update css rules to render long text nicely by @IgorSusmelj in #865
- Update metadata of multiple samples at once by @lukas-lightly in #869
- Move coding guidelines by @michal-lightly in #871
- Streamline PR instructions by @michal-lightly in #873
- Add more
dataset_idfields by @lukas-lightly in #874 - Enforce per-pixel instance segmentation and remove semantic segmentation mode. by @LeonardoRosaa in #875
- Remove semantic segmentation settings keyboard shortcut by @LeonardoRosaa in #880
- Move best practices to a separate guideline by @michal-lightly in #876
- Unify segmentation label naming to “Segmentation Mask” by @LeonardoRosaa in #878
- Switch Pascal VOC Export to Instance Segmentation by @LeonardoRosaa in #882
- Store Pascal VOC segmentations as instance segmentation by @LeonardoRosaa in #879
- Change ObjectTrackTable foreign key by @lukas-lightly in #877
- Support cloud-storage paths for Pascal VOC semantic segmentation imports by @LeonardoRosaa in #872
- Replace annotation_type with explicit export_format across export API and UI by @LeonardoRosaa in #886
- Condense frontend guidelines by @michal-lightly in #881
- PE: Model loading logs non verbose by @JonasWurst in #895
- Update the backend guideline by @michal-lightly in #891
- Link all coding guidelines by @michal-lightly in #897
- Keep embedding plot selection when when applying filters by @horatiualmasan in #890
- Print connection message when connecting to enterprise by @MalteEbner in #902
- Introduce show_bounding_boxes_for_segmentation setting by @LeonardoRosaa in #900
- Update label filters counts using embedding plot selection by @horatiualmasan in #887
- Add bounding box visibility toggle for images and videos by @LeonardoRosaa in #884
- Remove semantic_segmentation annotation type and unify segmentation handling by @LeonardoRosaa in #892
- feat: restore scroll state on history back by @ikondrat in #898
- Change foreign key in AnnotationLabelTable by @lukas-lightly in #903
- Use dataset_id in to_annotation_create() by @lukas-lightly in #906
- Persist cloud credentials on the server side by @mihnea-necsulescu in #885
- Internalize remove-tag logic into SegmentTags component by @JonasWurst in #899
- feat: allow to fetch all frames without pagination by @ikondrat in #910
- fix: use immutable updates in annotation crop selection store by @michal-lightly in #907
- Migrate export functions to dataset_id by @lukas-lightly in #908
- feat: Fetch all frames without pagination.frontend by @ikondrat in #911
- Enterprise Docs page: Overview + How to Connect by @MalteEbner in #917
- Create GUI Performance Testing Benchmark by @MalteEbner in #904
- feat: prerender annotations as data urls for for video by @ikondrat in #918
- add 1 week lifetime by @ikondrat in #914
- feat: missed schema update by @ikondrat in #923
- feat: add useSelectionSummary hook by @michal-lightly in #915
- feat: add SelectionPill component and integrate into collection layout by @michal-lightly in #916
- Tag Details: Add tag popover by @JonasWurst in #913
- Make selected items highlight nicer by @michal-lightly in #919
- Add tag from details view by @JonasWurst in #889
- Feat: Add on-the-fly thumbnail generation for faster grid view loading by @IgorSusmelj in #922
- Tag workflow: Add tag input component by @JonasWurst in #926
- Improve segmentation preview rendering by @LeonardoRosaa in #924
- feat: add test for prev/next appearance by @ikondrat in #929
- Fix browser sample focus outline by @michal-lightly in #925
- Enterprise documentation: Add Cloud Storage Docs by @MalteEbner in #928
- feat: fix issue with flackiness in scroll restoration test for annotations by @ikondrat in #937
- Introduce useInstanceSegmentationPreview types by @LeonardoRosaa in #943
- Introduce createPreviewRenderer by @LeonardoRosaa in #945
- feat: introduce utils to fetch collections to simplify logic in layout.ts by @ikondrat in #939
- Introduce createBrushDrawer by @LeonardoRosaa in #944
- Introduce createSourceMaskManager by @LeonardoRosaa in #946
- feat: clean up collection loading by @ikondrat in #940
- feat: introduce middleware to track too long requests by @ikondrat in #947
- Add ObjectDetectionQuery and ObjectDetectionField by @lukas-lightly in #941
- Introduce useInstanceSegmentationPreview hook by @LeonardoRosaa in #935
- Docs: Add Metadata page content by @michal-lightly in #938
- Docs: Add Captions page content by @michal-lightly in #936
- Faster segmentation preview rendering by @LeonardoRosaa in #932
- Support destination-out for eraser by @LeonardoRosaa in #951
- Add ClassificationField and ClassificationQuery by @lukas-lightly in #950
- Docs: Write the Tags page by @michal-lightly in #934
- Docs: Add Export page content by @michal-lightly in #948
- Rework tag workflow by @JonasWurst in #933
- Remove TagCreateDialog by @JonasWurst in #956
- Rename DatasetExport to ImageDatasetExport by @michal-lightly in #957
- Expose PascalVoc export from the Python interface by @michal-lightly in #958
- Faster preview rendering while erasing by @LeonardoRosaa in #952
- Introduce InstanceSegmentationField and InstanceSegmentationQuery by @lukas-lightly in #953
- Fix: Make deletion of tags in backend safe by @IgorSusmelj in #963
- Improve interaction with Embedding plot selection by @horatiualmasan in #893
- Docs: Add security section also covering enterprise by @MalteEbner in #942
- Show saving indicator while annotation edits are being persisted by @LeonardoRosaa in #962
- Add: Allow deletion of tags in frontend by @IgorSusmelj in #964
- Add: user can rename tags in frontend by @IgorSusmelj in #970
- Keep only 2 categories for points in Embedding plot by @horatiualmasan in #920
- Bump labelformat version by @horatiualmasan in #976
- Bump version to 0.4.13 by @horatiualmasan in #979
Full Changelog: v0.4.12...v0.4.13