Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions CHANGELOG.released.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,38 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MICRO`.
For upgrade instructions, please check the [migration guide](MIGRATIONS.released.md).

## [25.10.0](https://github.com/scalableminds/webknossos/releases/tag/25.10.0) - 2025-09-22
[Commits](https://github.com/scalableminds/webknossos/compare/25.09.0...25.10.0)

### Highlights
- Added a new multi cut mode to the proofreading tool, allowing more precise agglomerate splits. Instead of marking just one point per partition, users can now specify multiple points for each side of the split before performing the cut. [#8824](https://github.com/scalableminds/webknossos/pull/8824)

### Added
- When starting an inference job on a dataset with inverted intensity values, that inversion now also applies in the inference job. [#8796](https://github.com/scalableminds/webknossos/pull/8796)
- Added a new multi cut mode to the proofreading tool, allowing more precise agglomerate splits. Instead of marking just one point per partition, users can now specify multiple points for each side of the split before performing the cut. [#8824](https://github.com/scalableminds/webknossos/pull/8824)
- Added the option to log out from all devices. [#8850](https://github.com/scalableminds/webknossos/pull/8850)
- Added a placeholder to the voxel size input field in the upload form. [#8876](https://github.com/scalableminds/webknossos/pull/8876)
- Added new camera positioning option for animations. [#8909](https://github.com/scalableminds/webknossos/pull/8909)

### Changed
- Use blosc-java instead of jblosc. [#8882](https://github.com/scalableminds/webknossos/pull/8882)
- The webknossos-worker jobs export_tiff and render_animation are now allowed also for public datasets of other organizations. [#8911](https://github.com/scalableminds/webknossos/pull/8911)

### Fixed
- Fixed that segmentation layer names were incorrectly displayed as obfuscated strings (tracing ids) in the viewport status indicator when viewing areas with missing data (e.g. at certain zoom levels). [#8865](https://github.com/scalableminds/webknossos/pull/8865)
- Fixed a bug where reading zarr3 data would return failures instead of the fill value if requested source chunks don’t exist. [#8885](https://github.com/scalableminds/webknossos/pull/8885)
- Fixed a bug where zarr streaming could fail for volume annotations that have a larger bbox than their fallback layer. (Some of those were created before #7580) [#8888](https://github.com/scalableminds/webknossos/pull/8888)
- Fixed that pressing AltGr, Ctrl or Command closed the authentication modal when viewing a public dataset. [#8895](https://github.com/scalableminds/webknossos/pull/8895)
- Fixed a bug where annotation updates would fail if multiple annotation layers are renamed such that a previously-taken name is then used by another layer. [#8896](https://github.com/scalableminds/webknossos/pull/8896)
- Fixed that the frontend requested ad-hoc meshes with out-of-layer-bounds coordinates. [#8901](https://github.com/scalableminds/webknossos/pull/8901)
- Fixed loading ad-hoc-computed meshes for static segmentation layers. [#8903](https://github.com/scalableminds/webknossos/pull/8903)
- Ad hoc mesh requests loading infinitely. [#8915](https://github.com/scalableminds/webknossos/pull/8915)
- Fix periodic polling of missing updates when another user edits an annotation. [#8919](https://github.com/scalableminds/webknossos/pull/8919)
- Fixed WK crashing when navigating between pages while maintenance banner is visible. [#8925](https://github.com/scalableminds/webknossos/pull/8925)
- Fixed navbar height when navigating between pages while maintenance banner is visible. [#8925](https://github.com/scalableminds/webknossos/pull/8925)
- Fixed running custom-model worker inferences with models shared from other wk organizations. [#4283](https://github.com/scalableminds/voxelytics/pull/4283) [#8926](https://github.com/scalableminds/webknossos/pull/8926)
- Fixed a bug in reading zarr3-format connectome files caused by a wrong metadata key [#8927](https://github.com/scalableminds/webknossos/pull/8927)

## [25.09.0](https://github.com/scalableminds/webknossos/releases/tag/25.09.0) - 2025-08-26
[Commits](https://github.com/scalableminds/webknossos/compare/25.07.1...25.09.0)

Expand Down
11 changes: 9 additions & 2 deletions MIGRATIONS.released.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,20 @@ See `MIGRATIONS.unreleased.md` for the changes which are not yet part of an offi
This project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MICRO`.
User-facing changes are documented in the [changelog](CHANGELOG.released.md).

## [25.10.0](https://github.com/scalableminds/webknossos/releases/tag/25.10.0) - 2025-09-22
[Commits](https://github.com/scalableminds/webknossos/compare/25.09.0...25.10.0)

### Postgres Evolutions
- [139-logout-everywhere.sql](conf/evolutions/139-logout-everywhere.sql)
- [140-annotation-layer-name-check-deferrable.sql](conf/evolutions/140-annotation-layer-name-check-deferrable.sql)

## [25.09.0](https://github.com/scalableminds/webknossos/releases/tag/25.09.0) - 2025-08-26
[Commits](https://github.com/scalableminds/webknossos/compare/25.07.1...25.09.0)

### Postgres Evolutions
- [138-add-webauthn-credentials.sql](conf/evolutions/138-add-webauthn-credentials.sql)
- [136-extra-column-for-email-changed.sql](conf/evolutions/136-extra-column-for-email-changed.sql)
- [137-virtual-datasets.sql](conf/evolutions/137-virtual-datasets.sql)
- [138-add-webauthn-credentials.sql](conf/evolutions/138-add-webauthn-credentials.sql)

## [25.07.1](https://github.com/scalableminds/webknossos/releases/tag/25.07.1) - 2025-07-11
[Commits](https://github.com/scalableminds/webknossos/compare/25.07.0...25.07.1)
Expand Down Expand Up @@ -891,4 +898,4 @@ First release
- [009-remove-team-assignment-from-task.sql](conf/evolutions/009-remove-team-assignment-from-task.sql)
- [010-add-organization-data.sql](conf/evolutions/010-add-organization-data.sql)
- [011-add-isOrganizationTeam.sql](conf/evolutions/011-add-isOrganizationTeam.sql)
- [012-add-foreign-keys.sql](conf/evolutions/012-add-foreign-keys.sql)
- [012-add-foreign-keys.sql](conf/evolutions/012-add-foreign-keys.sql)
29 changes: 23 additions & 6 deletions frontend/javascripts/viewer/api/api_latest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ import {
import { flatToNestedMatrix } from "viewer/model/accessors/dataset_layer_transformation_accessor";
import {
getActiveMagIndexForLayer,
getAdditionalCoordinatesAsString,
getPosition,
getRotationInRadian,
} from "viewer/model/accessors/flycam_accessor";
Expand Down Expand Up @@ -2575,12 +2576,18 @@ class DataApi {
* api.data.setMeshVisibility(segmentId, false);
*/
setMeshVisibility(segmentId: number, isVisible: boolean, layerName?: string) {
const state = Store.getState();
const effectiveLayerName = getRequestedOrVisibleSegmentationLayerEnforced(
Store.getState(),
state,
layerName,
).name;
const additionalCoordinates = state.flycam.additionalCoordinates;
const additionalCoordKey = getAdditionalCoordinatesAsString(additionalCoordinates);

if (Store.getState().localSegmentationData[effectiveLayerName].meshes?.[segmentId] != null) {
if (
state.localSegmentationData[effectiveLayerName]?.meshes?.[additionalCoordKey]?.[segmentId] !=
null
) {
Store.dispatch(updateMeshVisibilityAction(effectiveLayerName, segmentId, isVisible));
} else {
throw new Error(
Expand All @@ -2597,12 +2604,18 @@ class DataApi {
* api.data.removeMesh(segmentId, layerName);
*/
removeMesh(segmentId: number, layerName?: string): void {
const state = Store.getState();
const effectiveLayerName = getRequestedOrVisibleSegmentationLayerEnforced(
Store.getState(),
state,
layerName,
).name;
const additionalCoordinates = state.flycam.additionalCoordinates;
const additionalCoordKey = getAdditionalCoordinatesAsString(additionalCoordinates);

if (Store.getState().localSegmentationData[effectiveLayerName].meshes?.[segmentId] != null) {
if (
state.localSegmentationData[effectiveLayerName]?.meshes?.[additionalCoordKey]?.[segmentId] !=
null
) {
Store.dispatch(removeMeshAction(effectiveLayerName, segmentId));
} else {
throw new Error(
Expand All @@ -2619,12 +2632,16 @@ class DataApi {
* api.data.resetMeshes();
*/
resetMeshes(layerName?: string) {
const state = Store.getState();
const effectiveLayerName = getRequestedOrVisibleSegmentationLayerEnforced(
Store.getState(),
state,
layerName,
).name;
const additionalCoordinates = state.flycam.additionalCoordinates;
const additionalCoordKey = getAdditionalCoordinatesAsString(additionalCoordinates);
const segmentIds = Object.keys(
Store.getState().localSegmentationData[effectiveLayerName].meshes || EMPTY_OBJECT,
Store.getState().localSegmentationData[effectiveLayerName]?.meshes?.[additionalCoordKey] ||
EMPTY_OBJECT,
);

for (const segmentId of segmentIds) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,15 @@ export default class SegmentMeshController {
group.segmentId = segmentId;
this.addMeshToMeshGroups(additionalCoordinatesString, layerName, segmentId, lod, group);

const segmentationTracing = getActiveSegmentationTracing(Store.getState());
const state = Store.getState();
if (isNewlyAddedMesh) {
const isVisible =
state.localSegmentationData?.[layerName]?.meshes?.[additionalCoordinatesString]?.[segmentId]
.isVisible ?? true;
this.setMeshVisibility(segmentId, isVisible, layerName, additionalCoordinates);
}

const segmentationTracing = getActiveSegmentationTracing(state);
if (segmentationTracing != null) {
// addMeshFromGeometry is often called multiple times for different sets of geometries.
// Therefore, used a throttled variant of the updateActiveUnmappedSegmentIdHighlighting method.
Expand Down
2 changes: 0 additions & 2 deletions unreleased_changes/8796.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8824.md

This file was deleted.

5 changes: 0 additions & 5 deletions unreleased_changes/8850.md

This file was deleted.

3 changes: 0 additions & 3 deletions unreleased_changes/8865.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8876.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8882.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8885.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8888.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8895.md

This file was deleted.

5 changes: 0 additions & 5 deletions unreleased_changes/8896.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8901.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8903.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8909.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8911.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8915.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8919.md

This file was deleted.

4 changes: 0 additions & 4 deletions unreleased_changes/8925.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8926.md

This file was deleted.

2 changes: 0 additions & 2 deletions unreleased_changes/8927.md

This file was deleted.

5 changes: 5 additions & 0 deletions unreleased_changes/8936.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### Added
- Added a function to the frontend, that allows to react to specific actions for better script customizability.

### Fixed
- Fixed multiple mesh related frontend API function (setMeshVisibility, removeMesh, and resetMeshes). Moreover, the mesh visibility is now applied even when changed during loading the mesh.
Loading