Skip to content

Releases: scalableminds/webknossos

24.06.0

28 May 15:31
e12c756
Compare
Choose a tag to compare

Highlights

  • Within the proofreading tool, the user can now interact with the super voxels of a mesh in the 3D viewport. For example, this allows to merge or cut super voxels from another. As before, the proofreading tool requires an agglomerate file. #7742
  • In the time tracking view, all annotations and tasks can be shown for each user by expanding the table. The individual time spans spent with a task or annotating an explorative annotation can be accessed via CSV export. The detail view including a chart for the individual spans has been removed. #7733

Added

  • Minor improvements for the timetracking overview (faster data loading, styling). #7789
  • Updated several backend dependencies for optimized stability and performance. #7782
  • Voxelytics workflows can be searched by name and hash. #7790
  • If a self-hosted WEBKNOSSOS instance has not been updated for six months or more, a closable banner proposes an upgrade to webknossos.org. #7768

Changed

  • Non-admin or -manager users can no longer start long-running jobs that create datasets. This includes annotation materialization and AI inferrals. #7753
  • The config value datastore.localFolderWhitelist can now be set for each datastore individually. #7800

Fixed

  • Fixed a bug where a toast that was reopened had a flickering effect during the reopening animation. #7793
  • Fixed a bug where some annotation times would be shown double. #7787
  • Fixed a bug where no columns were shown in the time tracking overview. #7803
  • Fixed a bug where ad-hoc meshes for coarse magnifications would have gaps. #7799
  • Fixed that the context menu didn't open correctly in the 3D viewport when right-clicking a node. #7809
  • Fixed that right-clicking a mesh in the 3D viewport did crash when the corresponding segmentation layer was not visible. #7811

24.05.0

29 Apr 15:11
8176042
Compare
Choose a tag to compare

Highlights

  • Changed the time-tracking overview to show times spent in annotations and tasks and filter them by teams and projects. In the linked detail view, the tracked times can also be filtered by type (annotations or tasks) and project. #7524
  • Time Tracking now also works when editing other users’ shared annotations, and when editing proofreading annotations (a.k.a. editable mappings). #7749
  • Creating and deleting edges is now possible with ctrl+(alt/shift)+leftclick in orthogonal, flight and oblique mode. Also, the flight and oblique modes allow selecting nodes with leftclick, creating new trees with 'c' and deleting the active node with 'del'. #7678

Added

  • Added Typescript defintions for @scalableminds/prop-types package. #7744
  • Added Typescript definitions for react-remarkable package. #7748

Changed

  • Improved task list to sort tasks by project date, add option to expand all tasks at once and improve styling. #7709
  • The time tracking api route /api/users/:id/loggedTime, which is used by the webknossos-libs client, and groups the times by month, now uses UTC when determining month limits, rather than the server’s local timezone. #7524
  • Duplicated annotations are opened in a new browser tab. #7724
  • When proofreading segments and merging two segments, the segment item that doesn't exist anymore after the merge is automatically removed. #7729
  • Changed some internal APIs to use spelling dataset instead of dataSet. This requires all connected datastores to be the latest version. #7690
  • Toasts are shown until WEBKNOSSOS is running in the active browser tab again. Also, the content of most toasts that show errors or warnings is printed to the browser's console. #7741
  • Improved UI speed when editing the description of an annotation. #7769
  • Updated dataset animations to use the new meshing API. Animitation now support ad-hoc meshes and mappings. #7692

Fixed

  • Fixed that the Command modifier on MacOS wasn't treated correctly for some shortcuts. Also, instead of the Alt key, the ⌥ key is shown as a hint in the status bar on MacOS. #7659
  • Moving from the time tracking overview to its detail view, the selected user was not preselected in the next view. #7722
  • Fixed incorrect position of WEBKNOSSOS logo in screenshots. #7726
  • Fixed that invisible nodes could be selected when using the skeleton tool. #7732
  • Fixed a bug where users that have no team memberships were omitted from the user list. #7721
  • Added an appropriate placeholder to be rendered in case the timetracking overview is otherwise empty. #7736
  • The overflow menu in the layer settings tab for layers with long names can now be opened comfortably. #7747
  • Fixed a bug where segmentation data looked scrambled when reading uint32 segmentation layers with CompressedSegmentation codec. #7757
  • Fixed a bug when downsampling a volume annotation that previously had only a restricted magnification set. #7759

Removed

  • Meshfiles with version 2 or older are no longer supported. Talk to us about support in converting your old meshfiles. #7764

Breaking Changes

  • When merging two trees or segments, the active item will always "survive" the merge operation (the clicked item will be merged into the active one). This was not consistent for certain skeleton-based operations (i.e., merging skeletons with a shortcut and proofreading segmentations with agglomerate skeletons). #7729

24.04.0

25 Mar 13:40
cceb337
Compare
Choose a tag to compare

Highlights

  • Segment statistics are now available for ND datasets. #7411
  • Added a new "Split from all neighboring segments" feature for the proofreading mode. #7611
  • Added support for uploading N5 and Neuroglancer Precomputed datasets. #7578

Added

  • Added support for storing analytics events in the Postgres. #7594 #7609
  • Webknossos can now open ND Zarr datasets with arbitrary axis orders (not limited to **xyz anymore). #7592
  • Added support for skeleton annotations within datasets that have transformed layers. The skeleton nodes will move according to the transforms when rendering a specific layer natively. Also, downloading visible trees can be done by incorporating the current transforms. However, note that the back-end export does not take transforms into account. #7588
  • If storage scan is enabled, the measured used storage is now displayed in the dashboard’s dataset detail view. #7677
  • Prepared support to download full stl meshes via the HTTP api. #7587
  • You can now place segment index files with your on-disk segmentation layers, which makes segment stats available when viewing these segmentations, and also when working on volume annotations based on these segmentation layers. #7437
  • Added an action to delete erroneous, unimported datasets directly from the dashboard. #7448
  • Added support for window, active, inverted keys from the omero info in the NGFF metadata. 7685
  • Added getSegment function to JavaScript API. Also, createSegmentGroup returns the id of the new group now. #7694
  • Added support for importing N5 datasets without multiscales metadata. #7664

Changed

  • Datasets stored in WKW format are no longer loaded with memory mapping, reducing memory demands. #7528
  • Content Security Policy (CSP) settings are now relaxed by default. To keep stricter CSP rules, add them to your specific application.conf. #7589
  • The state of whether a mapping is active and what exact mapping is now locked to the annotation upon the first volume annotation action to ensure future consistent results. Moreover, while a JSON mapping is active, no volume annotation can be done. #7549
  • WEBKNOSSOS now uses Java 21. #7599
  • Email verification is disabled by default. To enable it, set webKnossos.user.emailVerification.activated to true in your application.conf. #7620 #7621
  • Added more documentation for N5 and Neuroglancer precomputed web upload. #7622
  • Added the config key webKnossos.user.timeTrackingOnlyWithSignificantChanges, which when set to true will only track time if the user has made significant changes to the annotation. #7627
  • Only display UI elements to launch background jobs if the (worker) backend actually supports them. #7591
  • If the current dataset folder in the dashboard cannot be found (e.g., because somebody else deleted it), the page navigates to the root folder automatically. #7669
  • Voxelytics logs are now stored by organization name, rather than id, in Loki. This is in preparation of the unification of these two concepts. #7687
  • Using a segment index file with a different data type than uint16 will now result in an error. #7698
  • Improved performance of JSON mappings in preparation of frontend HDF5 mappings. #7706

Fixed

  • Fixed rare SIGBUS crashes of the datastore module that were caused by memory mapping on unstable file systems. #7528
  • Fixed loading local datasets for organizations that have spaces in their names. #7593
  • Fixed a bug where proofreading annotations would stay black until the next server restart due to expired but cached tokens. #7598
  • Fixed a bug where ad-hoc meshing didn't make use of a segment index, even when it existed. #7600
  • Fixed a bug where importing remote datasets with existing datasource-properties.jsons would not properly register the remote credentials. #7601
  • Fixed a bug in ND volume annotation downloads where the additionalAxes metadata had wrong indices. #7592
  • Fixed a bug in proofreading aka editable mapping annotations where splitting would sometimes give the new id to the selected segment rather than to the split-off one. #7608
  • Fixed small styling errors as a follow-up to the antd v5 upgrade. #7612
  • Fixed that the iOS keyboard automatically showed up when moving through a dataset. #7660
  • Fixed deprecation warnings caused by Antd <Collapse> components. #7610
  • Fixed small styling error with a welcome notification for new users on webknossos.org. #7623
  • Fixed that filtering by tags could produce false positives. #7640
  • Fixed a slight offset when creating a node with the mouse. #7639
  • Fixed small styling error with NML drag and drop uploading. #7641
  • Fixed a bug where the annotation list would show teams the annotation is shared with multiple times. #7659
  • Fixed incorrect menu position that could occur sometimes when clicking the ... button next to a segment. #7680
  • Fixed an error in the Loki integration to support Loki 2.9+. #7684
  • Fixed inconsistent style of antd components and odd behavior of dataset/annotation description Markdown input. #7700

Removed

  • Removed the integration with BrainTracing user databases. #7693

Breaking Changes

  • Updated antd UI library from version 4.24.15 to 5.13.2. Drop support for nodeJs version <18. #7522

24.02.3

22 Feb 14:02
@fm3 fm3
809f128
Compare
Choose a tag to compare

Fixed

  • Fixed a bug where the user list view would show duplicate team roles, and user changes (e.g. giving experience) would sometimes fail. #7646

24.02.2

15 Feb 15:04
ac69fa0
Compare
Choose a tag to compare

Fixed

  • Fixed a bug where the annotation list in the dashboard would attempt to display deleted annotations, and then fail. #7628

24.02.1

15 Feb 10:34
2b7040e
Compare
Choose a tag to compare

Fixed

  • Fixed a bug where the annotation list in the dashboard would attempt to display deleted annotations, and then fail. #7628

24.02.0

29 Jan 09:51
b4c5026
Compare
Choose a tag to compare

Highlights

  • Added thumbnails to the dashboard dataset list. #7479
  • The data of segments can now be deleted in the segment side panel. #7435
  • Added the ability to compose a new dataset from existing dataset layers. This can be done with or without transforms (transforms will be derived from landmarks given via BigWarp CSV or WK NMLs). #7395

Added

  • Added support for S3-compliant object storage services (e.g. MinIO) as a storage backend for remote datasets. #7453
  • Added support for blosc compressed N5 datasets. #7465
  • Added route for triggering the compute segment index worker job. #7471
  • Added the option to configure the name of the output segmentation layer in the neuron inferral job. #7472
  • Adhoc mesh rendering is now available for ND datasets.#7394
  • When setting up WEBKNOSSOS from the git repository for development, the organization directory for storing datasets is now automatically created on startup. #7517
  • Multiple segments can be dragged and dropped in the segments tab. #7536
  • Added the option to convert agglomerate skeletons to freely modifiable skeletons in the context menu of the Skeleton tab. #7537
  • The annotation list in the dashboard now also shows segment counts of volume annotations (after they have been edited). #7548
  • The buildinfo route now reports the supported HTTP API versions. #7581
  • After deleting specific teams, projects and task types, their names can now be re-used when creating new ones. #7573

Changed

  • Improved loading speed of the annotation list. #7410
  • Improved loading speed for the users list. #7466
  • Admins and Team Managers can now also download job exports for jobs of other users, if they have the link. #7462
  • Updated some dependencies of the backend code (play 2.9, sbt 1.9, minor upgrades for others) for optimized performance. #7366
  • Processing jobs can now be distributed to multiple webknossos-workers with finer-grained configurability. Compare migration guide. #7463
  • A warning is shown when the user tries to annotate volume data in the "Overwrite Empty" mode when no voxels were changed. #7526
  • Updated antd UI library from version 4.24.8 to 4.24.15. #7505
  • Changed the default dataset search mode to also search in subfolders. #7539
  • When clicking a segment in the viewport, it is automatically focused in the segment list. A corresponding context menu entry was added as well. #7512
  • Updated the isValidName route in the API to return 200 for valid and invalid names. With this, the API version was bumped up to 6. #7550
  • Upgraded to Play 3. #7562
  • When no Email Address for New-User Notifications is configured, the organization owner will be notified. For overtime notifications, the project owner and the organization owner will be notified. #7561
  • The metadata for ND datasets and their annotation has changed: upper bound of additionalAxes is now stored as an exclusive value, called "end" in the NML format. #7547
  • Added support for the index_location parameter in sharded Zarr 3 datasets. #7553

Fixed

  • Datasets with annotations can now be deleted. The concerning annotations can no longer be viewed but still be downloaded. #7429
  • Fixed several deprecation warnings for using antd's Tabs.TabPane components. #7469
  • Fixed problems when requests for loading data failed (could impact volume data consistency and rendering). #7477
  • The settings page for non-wkw datasets no longer shows a wall of non-applying errors. #7475
  • Fixed a bug where dataset deletion for ND datasets and datasets with coordinate transforms would not free the name even if no referencing annotations exist. #7495
  • Fixed a bug where the URL in the sharing link was wrongly decoded before encoding into a URI. #7502
  • Fixed a bug where loaded meshes were not encoded in the sharing link. #7507
  • Fixed a bug where meshes (or chunks of them) were always colored white, if they were loaded while the corresponding segmentation layer was disabled. #7507
  • Fixed a race condition when opening a short link, that would sometimes lead to an error toast. #7507
  • Fixed that the Segment Statistics feature was not available in the context menu of segment groups and in the context menu of the data viewports. #7510
  • Fixed rare bug which produced a benign error toast on some mouse interactions. #7525
  • Fixed a bug where dataset managers were not allowed to assign teams to new datasets that they are only member of. This already worked while editing the dataset later, but not during upload. #7518
  • Fixed regression in proofreading tool when automatic mesh loading was disabled and a merge/split operation was performed. #7534
  • Fixed that last dimension value in ND dataset was not loaded. #7535
  • Fixed the initialization of the mapping list for agglomerate views if json mappings are present. #7537
  • Fixed a bug where uploading ND volume annotations would lead to errors due to parsing of the chunk paths. #7547
  • Fixed a bug where listing the annotations of other users would result in empty lists even if there are annotations and you should be allowed to see them. #7563
  • Fixed the "Download Meshes" functionality which was affected by the recent introduction of the CSP. #7577
  • Fixed a bug where listing the annotations of other users would result in empty lists even if there are annotations, and you should be allowed to see them. #7563
  • Fixed errors showing when viewing the annotation list. #7579
  • Fixed a bug where all-zero chunks/buckets were omitted when downloading volume annotation even in case of a fallback segmentation layer, where their zeroed-bucket information is actually needed. #7576
  • Fixed a bug where zarr3 datasets with sharding that didn’t specify an explicit index_location in their metadata could not be read. #7583

Removed

  • Removed Swagger/OpenAPI json description of the HTTP API. #7494
  • Removed several unused frontend libraries. #7521

23.12.0

05 Dec 18:26
68842e8
Compare
Choose a tag to compare

Highlights

  • Zarr datasets can now be directly uploaded to WEBKNOSSOS. #7397

Added

  • Added support for reading uint24 rgb layers in datasets with zarr2/zarr3/n5/neuroglancerPrecomputed format, as used for voxelytics predictions. #7413
  • Adding a remote dataset can now be done by providing a Neuroglancer URI. #7416
  • Added a filter to the Task List->Stats column to quickly filter for tasks with "Prending", "In-Progress" or "Finished" instances. #7430

Changed

  • An appropriate error is returned when requesting an API version that is higher than the current version. #7424
  • Upgraded FossilDB database used to store annotation data to version 0.1.27. #7440

Fixed

  • Searching the segments in the sidebar will highlight newly focused segments properly now. #7406
  • Fixed a bug when opening a task for which a mag restriction exists. The bug only occurred when the referenced mag didn't exist in the dataset. #7403
  • Fixed that trees with ids around 1023 were invisible on some systems. #7443
  • Fixed styling issues with the maintenance banner so that it no longer overlaps other menus, tabs, and buttons. #7421
  • Exploring HTTP uris of unknown hosts no longer causes an exception error message to be displayed. #7422
  • Fixed the initialization of the dark theme if it was active during page load. #7446
  • Fixed a rare bug in ad-hoc meshing for voxelytics-created segmentations with agglomerate mappings. #7449

23.11.0

24 Oct 11:46
f0953cd
Compare
Choose a tag to compare

Highlights

  • Added a new tool that allows either measuring the distance of a path or a non-self-crossing area. #7258
  • For setups with webknossos-worker: Added a feature to create an engaging animation video of a dataset and its meshes processed in Blender. #7348

Added

  • Added social media link previews for links to datasets and annotations (only if they are public or if the links contain sharing tokens). #7331
  • Loading sharded zarr3 datasets is now significantly faster. #7363 and #7370
  • OME-NGFF datasets with only 2 dimensions can now be imported and viewed. #7349
  • Higher-dimension coordinates (e.g., for the t axis) are now encoded in the URL, too, so that reloading the page will keep you at your current position. Only relevant for 4D datasets. #7328
  • WEBKNOSSOS can now also explore datasets on the local file system if enabled in the new config key datastore.localFolderWhitelist. #7389
  • It is now possible to download volume annotations as zarr- rather than wkw-based zip. This case also supports annotations on timeseries (ND) datasets. #7288

Changed

  • Updated backend code to Scala 2.13, with upgraded Dependencies for optimized performance. #7327
  • Remote datasets with a datasource-properties.json can now also be imported without the need for OME metadata. #7372
  • Occurrences of isosurface were renamed to ad-hoc mesh. This also applies to configuration files. #7350
  • Improved user interface to start automatic AI analysis. #7368

Fixed

  • Fixed that some segment (group) actions were not properly disabled for non-editable segmentation layers. #7207
  • Fixed a bug where data from zarr2 datasets that have a channel axis was broken. #7374
  • Fixed a bug which changed the cursor position while editing the name of a tree or the comment of a node. #7390
  • Streaming sharded zarr3 datasets from servers which do not respond with Accept-Ranges header is now possible. #7392

23.10.2

11 Oct 13:42
@fm3 fm3
a6f09e2
Compare
Choose a tag to compare

Fixed

  • Fixed that segment statistics were requested in the wrong resolution and without properly considering the dataset scale. #7355