From 06dce441e1835e0906a2e1b7eab8a74095e4d0d7 Mon Sep 17 00:00:00 2001 From: Philipp Otto Date: Tue, 25 Apr 2023 13:40:58 +0200 Subject: [PATCH 1/5] Release 23.05.0 --- CHANGELOG.released.md | 30 ++++++++++++++++++++++++++++++ CHANGELOG.unreleased.md | 21 +-------------------- MIGRATIONS.released.md | 9 ++++++++- MIGRATIONS.unreleased.md | 3 +-- 4 files changed, 40 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.released.md b/CHANGELOG.released.md index 7bea2e11873..3096a1b6a0c 100644 --- a/CHANGELOG.released.md +++ b/CHANGELOG.released.md @@ -7,6 +7,36 @@ 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). +## [23.05.0](https://github.com/scalableminds/webknossos/releases/tag/23.05.0) - 2023-04-25 +[Commits](https://github.com/scalableminds/webknossos/compare/23.04.2...23.05.0) + +### Highlights +- Segments can now be removed from the segment list via the context menu. [#6944](https://github.com/scalableminds/webknossos/pull/6944) +- Added support for viewing neuroglancer precomputed segmentations using "compressed segmentation" compression. [#6947](https://github.com/scalableminds/webknossos/pull/6947) + +### Added +- WEBKNOSSOS screenshots now include a logo in the lower left corner. Users with a paid license can disable this feature in the viewport options in the settings tab on the left side of the screen. [#6910](https://github.com/scalableminds/webknossos/pull/6910) +- Added support for datasets with mixed magnifications (e.g., one layer contains mag 2-2-2 and another contains 2-2-1). [#6943](https://github.com/scalableminds/webknossos/pull/6943) +- Added rendering precomputed meshes with level of detail depending on the zoom of the 3D viewport. This feature only works with version 3 mesh files. [#6909](https://github.com/scalableminds/webknossos/pull/6909) +- Editing the meta data of segments (e.g., the name) is now undoable. [#6944](https://github.com/scalableminds/webknossos/pull/6944) +- Added more icons and small redesigns for various pages in line with the new branding. [#6938](https://github.com/scalableminds/webknossos/pull/6938) +- Added more graphics and branding to job notification emails. [#6994](https://github.com/scalableminds/webknossos/pull/6994) +- Added action button in Team Admin page that links to the User Admin page to edit team members there. [#6958](https://github.com/scalableminds/webknossos/pull/6999) + +### Changed +- Moved the view mode selection in the toolbar next to the position field. [#6949](https://github.com/scalableminds/webknossos/pull/6949) +- Redesigned welcome toast for new, annonymous users with new branding. [#6961](https://github.com/scalableminds/webknossos/pull/6961) +- When saving annotations, the URL of the webknossos instance is stored in the resulting NML file. [#6964](https://github.com/scalableminds/webknossos/pull/6964) + +### Fixed +- Fixed unintended dependencies between segments of different volume layers which used the same segment id. Now, using the same segment id for segments in different volume layers should work without any problems. [#6960](https://github.com/scalableminds/webknossos/pull/6960) +- Fixed incorrect initial tab when clicking "Show Annotations" for a user in the user list. Also, the datasets tab was removed from that page as it was the same as the datasets table from the main dashboard. [#6957](https://github.com/scalableminds/webknossos/pull/6957) +- Fixed that unsaved changes were shown when opening an annotation, although there weren't any. [#6972](https://github.com/scalableminds/webknossos/pull/6972) +- Fixed misleading email about successful dataset upload, which was in some cases sent even for unusable datasets. [#6977](https://github.com/scalableminds/webknossos/pull/6977) +- Fixed upload of skeleton annotations with no trees, only bounding boxes, being incorrectly rejected. [#6985](https://github.com/scalableminds/webknossos/pull/6985) +- Fixed that Google Cloud Storage URLs with bucket names containing underscores could not be parsed. [#6998](https://github.com/scalableminds/webknossos/pull/6998) +- Fixed regression that caused public datasets to crash when not being logged in. [#7010](https://github.com/scalableminds/webknossos/pull/7010) + ## [23.04.2](https://github.com/scalableminds/webknossos/releases/tag/23.04.2) - 2023-04-14 [Commits](https://github.com/scalableminds/webknossos/compare/23.04.1...23.04.2) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 36cf535d926..5f497a49eb7 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -8,32 +8,13 @@ and this project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MIC For upgrade instructions, please check the [migration guide](MIGRATIONS.released.md). ## Unreleased -[Commits](https://github.com/scalableminds/webknossos/compare/23.04.2...HEAD) +[Commits](https://github.com/scalableminds/webknossos/compare/23.05.0...HEAD) ### Added -- WEBKNOSSOS screenshots now include a logo in the lower left corner. Users with a paid license can disable this feature in the viewport options in the settings tab on the left side of the screen. [#6910](https://github.com/scalableminds/webknossos/pull/6910) -- Added support for datasets with mixed magnifications (e.g., one layer contains mag 2-2-2 and another contains 2-2-1). [#6943](https://github.com/scalableminds/webknossos/pull/6943) -- Added rendering precomputed meshes with level of detail depending on the zoom of the 3D viewport. This feature only works with version 3 mesh files. [#6909](https://github.com/scalableminds/webknossos/pull/6909) -- Segments can now be removed from the segment list via the context menu. [#6944](https://github.com/scalableminds/webknossos/pull/6944) -- Editing the meta data of segments (e.g., the name) is now undoable. [#6944](https://github.com/scalableminds/webknossos/pull/6944) -- Added more icons and small redesigns for various pages in line with the new branding. [#6938](https://github.com/scalableminds/webknossos/pull/6938) -- Added support for viewing neuroglancer precomputed segmentations using "compressed segmentation" compression. [#6947](https://github.com/scalableminds/webknossos/pull/6947) -- Added more graphics and branding to job notification emails. [#6994](https://github.com/scalableminds/webknossos/pull/6994) -- Added action button in Team Admin page that links to the User Admin page to edit team members there. [#6958](https://github.com/scalableminds/webknossos/pull/6999) ### Changed -- Moved the view mode selection in the toolbar next to the position field. [#6949](https://github.com/scalableminds/webknossos/pull/6949) -- Redesigned welcome toast for new, annonymous users with new branding. [#6961](https://github.com/scalableminds/webknossos/pull/6961) -- When saving annotations, the URL of the webknossos instance is stored in the resulting NML file. [#6964](https://github.com/scalableminds/webknossos/pull/6964) ### Fixed -- Fixed unintended dependencies between segments of different volume layers which used the same segment id. Now, using the same segment id for segments in different volume layers should work without any problems. [#6960](https://github.com/scalableminds/webknossos/pull/6960) -- Fixed incorrect initial tab when clicking "Show Annotations" for a user in the user list. Also, the datasets tab was removed from that page as it was the same as the datasets table from the main dashboard. [#6957](https://github.com/scalableminds/webknossos/pull/6957) -- Fixed that unsaved changes were shown when opening an annotation, although there weren't any. [#6972](https://github.com/scalableminds/webknossos/pull/6972) -- Fixed misleading email about successful dataset upload, which was in some cases sent even for unusable datasets. [#6977](https://github.com/scalableminds/webknossos/pull/6977) -- Fixed upload of skeleton annotations with no trees, only bounding boxes, being incorrectly rejected. [#6985](https://github.com/scalableminds/webknossos/pull/6985) -- Fixed that Google Cloud Storage URLs with bucket names containing underscores could not be parsed. [#6998](https://github.com/scalableminds/webknossos/pull/6998) -- Fixed regression that caused public datasets to crash when not being logged in. [#7010](https://github.com/scalableminds/webknossos/pull/7010) ### Removed diff --git a/MIGRATIONS.released.md b/MIGRATIONS.released.md index dd8f93bb441..bcbc8501161 100644 --- a/MIGRATIONS.released.md +++ b/MIGRATIONS.released.md @@ -6,6 +6,13 @@ 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). +## [23.05.0](https://github.com/scalableminds/webknossos/releases/tag/23.05.0) - 2023-04-25 +[Commits](https://github.com/scalableminds/webknossos/compare/23.04.2...23.05.0) +- The config key features.isDemoInstance was renamed to features.isWkorgInstance (only needs to be adapted for the main wkorg instance). [#6941](https://github.com/scalableminds/webknossos/pull/6941/files) + +### Postgres Evolutions: +None. + ## [23.04.2](https://github.com/scalableminds/webknossos/releases/tag/23.04.2) - 2023-04-14 [Commits](https://github.com/scalableminds/webknossos/compare/23.04.1...23.04.2) @@ -22,7 +29,7 @@ None. [Commits](https://github.com/scalableminds/webknossos/compare/23.03.1...23.04.0) ### Postgres Evolutions: -None. +- [101-coordinate-transformations.sql](conf/evolutions/101-coordinate-transformations.sql) ## [23.03.1](https://github.com/scalableminds/webknossos/releases/tag/23.03.1) - 2023-03-14 [Commits](https://github.com/scalableminds/webknossos/compare/23.03.0...23.03.1) diff --git a/MIGRATIONS.unreleased.md b/MIGRATIONS.unreleased.md index aa816ce2476..14f98b35c6b 100644 --- a/MIGRATIONS.unreleased.md +++ b/MIGRATIONS.unreleased.md @@ -6,7 +6,6 @@ This project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MICRO`. User-facing changes are documented in the [changelog](CHANGELOG.released.md). ## Unreleased -[Commits](https://github.com/scalableminds/webknossos/compare/23.04.2...HEAD) -- The config key features.isDemoInstance was renamed to features.isWkorgInstance (only needs to be adapted for the main wkorg instance). [#6941](https://github.com/scalableminds/webknossos/pull/6941/files) +[Commits](https://github.com/scalableminds/webknossos/compare/23.05.0...HEAD) ### Postgres Evolutions: From d7a072ed01c136013ae8fc3477ee37dbee3443f2 Mon Sep 17 00:00:00 2001 From: Philipp Otto Date: Wed, 26 Apr 2023 11:11:29 +0200 Subject: [PATCH 2/5] Guard against NaNs in shader (#7018) * guard against nan when deciding whether to use performance optimization in shader * update changelog --- CHANGELOG.unreleased.md | 1 + frontend/javascripts/oxalis/shaders/texture_access.glsl.ts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 5f497a49eb7..00ffd7a7f83 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -15,6 +15,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released ### Changed ### Fixed +- Fixed rendering issues on some affected systems that led to "black holes". [#7018](https://github.com/scalableminds/webknossos/pull/7018) ### Removed diff --git a/frontend/javascripts/oxalis/shaders/texture_access.glsl.ts b/frontend/javascripts/oxalis/shaders/texture_access.glsl.ts index b747b11863f..da6356c479b 100644 --- a/frontend/javascripts/oxalis/shaders/texture_access.glsl.ts +++ b/frontend/javascripts/oxalis/shaders/texture_access.glsl.ts @@ -202,7 +202,10 @@ export const getColorForCoords: ShaderModule = { offsetInBucket = mod(coords, bucketWidth); vec3 offsetInBucketUVW = transDim(offsetInBucket); if (offsetInBucketUVW.x < 0.01 || offsetInBucketUVW.y < 0.01 - || offsetInBucketUVW.x >= 31. || offsetInBucketUVW.y >= 31.) { + || offsetInBucketUVW.x >= 31. || offsetInBucketUVW.y >= 31. + || isNan(offsetInBucketUVW.x) || isNan(offsetInBucketUVW.y) + || isNan(offsetInBucketUVW.z) + ) { beSafe = true; } } From f80e8cc130815e06a064f5eafee4982f05e302aa Mon Sep 17 00:00:00 2001 From: Philipp Otto Date: Thu, 27 Apr 2023 12:25:12 +0200 Subject: [PATCH 3/5] Workaround for WebGL crash for datasets with many segmentation layers (#6995) * reduce shader complexity when having multiple segmentation layers (shader needs to be compiled more often then, though) * fix tests * clean up * update changelog --- CHANGELOG.unreleased.md | 1 + .../data_rendering_logic.tsx | 12 ++- .../model/binary/data_rendering_logic.spec.ts | 99 +++++++++---------- 3 files changed, 57 insertions(+), 55 deletions(-) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 00ffd7a7f83..adce36897a7 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -16,6 +16,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released ### Fixed - Fixed rendering issues on some affected systems that led to "black holes". [#7018](https://github.com/scalableminds/webknossos/pull/7018) +- Added a workaround for a WebGL crash which could appear when a dataset contained many segmentation layers. [#6995](https://github.com/scalableminds/webknossos/pull/6995) ### Removed diff --git a/frontend/javascripts/oxalis/model/bucket_data_handling/data_rendering_logic.tsx b/frontend/javascripts/oxalis/model/bucket_data_handling/data_rendering_logic.tsx index 1b55bea6ce9..146caf72ff5 100644 --- a/frontend/javascripts/oxalis/model/bucket_data_handling/data_rendering_logic.tsx +++ b/frontend/javascripts/oxalis/model/bucket_data_handling/data_rendering_logic.tsx @@ -200,6 +200,7 @@ export function calculateTextureSizeAndCountForLayer( function buildTextureInformationMap< Layer extends { elementClass: ElementClass; + category: "color" | "segmentation"; }, >( layers: Array, @@ -238,6 +239,7 @@ function getSmallestCommonBucketCapacity< function getRenderSupportedLayerCount< Layer extends { elementClass: ElementClass; + category: "color" | "segmentation"; }, >( specs: GpuSpecs, @@ -262,8 +264,15 @@ function getRenderSupportedLayerCount< (specs.maxTextureCount - textureCountForSegmentation - lookupTextureCount) / maximumTextureCountForLayer, ); + + // Without any GPU restrictions, WK would be able to render all color layers + // plus one segmentation layer. Use that as the upper layer count limit to avoid + // compiling too complex shaders. + const maximumLayerCount = + Array.from(textureInformationPerLayer.keys()).filter((l) => l.category === "color").length + + (hasSegmentation ? 1 : 0); return { - maximumLayerCountToRender, + maximumLayerCountToRender: Math.min(maximumLayerCountToRender, maximumLayerCount), maximumTextureCountForLayer, }; } @@ -271,6 +280,7 @@ function getRenderSupportedLayerCount< export function computeDataTexturesSetup< Layer extends { elementClass: ElementClass; + category: "color" | "segmentation"; }, >( specs: GpuSpecs, diff --git a/frontend/javascripts/test/model/binary/data_rendering_logic.spec.ts b/frontend/javascripts/test/model/binary/data_rendering_logic.spec.ts index 8be9d20d4a4..e2cec2f3c8b 100644 --- a/frontend/javascripts/test/model/binary/data_rendering_logic.spec.ts +++ b/frontend/javascripts/test/model/binary/data_rendering_logic.spec.ts @@ -1,3 +1,4 @@ +import _ from "lodash"; import { calculateTextureSizeAndCountForLayer, computeDataTexturesSetup, @@ -25,6 +26,34 @@ const grayscaleElementClass = "uint8"; const volumeByteCount = 4; const volumeElementClass = "uint32"; +/* + * The current rendering logic in WK only allows + * as many layers as necessary. This is done to avoid + * that the shaders are compiled for N layers even though + * N layers will never be rendered at the same time (because + * only one segmentation layer can be rendered at a time). + * For that reason, testing the specs has to be done with a + * sufficiently large amount of layers. To achieve this, + * the helper function createLayers is used. + */ + +const createGrayscaleLayer = () => ({ + byteCount: grayscaleByteCount, + elementClass: grayscaleElementClass, + category: "color", +}); +const createVolumeLayer = () => ({ + byteCount: volumeByteCount, + elementClass: volumeElementClass, + category: "segmentation", +}); + +function createLayers(grayscaleCount: number, volumeCount: number) { + const grayscaleLayers = _.range(0, grayscaleCount).map(() => createGrayscaleLayer()); + const volumeLayers = _.range(0, volumeCount).map(() => createVolumeLayer()); + return grayscaleLayers.concat(volumeLayers); +} + test("calculateTextureSizeAndCountForLayer: grayscale data + minSpecs", (t) => { const { textureSize, textureCount } = calculateTextureSizeAndCountForLayer( minSpecs, @@ -90,24 +119,8 @@ test("calculateTextureSizeAndCountForLayer: color data + betterSpecs", (t) => { t.is(textureSize, midSpecs.supportedTextureSize); t.is(textureCount, 1); }); -const grayscaleLayer1 = { - byteCount: grayscaleByteCount, - elementClass: grayscaleElementClass, -}; -const grayscaleLayer2 = { - byteCount: grayscaleByteCount, - elementClass: grayscaleElementClass, -}; -const grayscaleLayer3 = { - byteCount: grayscaleByteCount, - elementClass: grayscaleElementClass, -}; -const volumeLayer1 = { - byteCount: volumeByteCount, - elementClass: volumeElementClass, -}; -type Layer = typeof grayscaleLayer1; +type Layer = ReturnType; const getByteCount = (layer: Layer) => layer.byteCount; @@ -123,7 +136,7 @@ function computeDataTexturesSetupCurried(spec: typeof minSpecs, hasSegmentation: return (layers: Layer[]) => computeDataTexturesSetup( spec, - layers as { elementClass: ElementClass }[], + layers as { elementClass: ElementClass; category: "color" | "segmentation" }[], getByteCount as any, hasSegmentation, DEFAULT_REQUIRED_BUCKET_CAPACITY, @@ -137,17 +150,22 @@ test("Basic support (no segmentation): all specs", (t) => { [midSpecs, 15], [betterSpecs, 31], ]; + const hundredGrayscaleLayers = createLayers(100, 0); for (const [spec, expectedLayerCount] of specs) { const computeDataTexturesSetupPartial = computeDataTexturesSetupCurried(spec, false); - testSupportFlags(t, computeDataTexturesSetupPartial([grayscaleLayer1]), expectedLayerCount); testSupportFlags( t, - computeDataTexturesSetupPartial([grayscaleLayer1, grayscaleLayer2]), + computeDataTexturesSetupPartial(hundredGrayscaleLayers), expectedLayerCount, ); testSupportFlags( t, - computeDataTexturesSetupPartial([grayscaleLayer1, grayscaleLayer2, grayscaleLayer3]), + computeDataTexturesSetupPartial(hundredGrayscaleLayers), + expectedLayerCount, + ); + testSupportFlags( + t, + computeDataTexturesSetupPartial(hundredGrayscaleLayers), expectedLayerCount, ); } @@ -155,41 +173,14 @@ test("Basic support (no segmentation): all specs", (t) => { test("Basic support + volume: min specs", (t) => { const computeDataTexturesSetupPartial = computeDataTexturesSetupCurried(minSpecs, true); - testSupportFlags(t, computeDataTexturesSetupPartial([grayscaleLayer1, grayscaleLayer2]), 4); - testSupportFlags(t, computeDataTexturesSetupPartial([grayscaleLayer1, volumeLayer1]), 1); - testSupportFlags( - t, - computeDataTexturesSetupPartial([grayscaleLayer1, grayscaleLayer2, volumeLayer1]), - 1, - ); - testSupportFlags( - t, - computeDataTexturesSetupPartial([ - grayscaleLayer1, - grayscaleLayer2, - grayscaleLayer3, - volumeLayer1, - ]), - 1, - ); + testSupportFlags(t, computeDataTexturesSetupPartial(createLayers(10, 0)), 4); + testSupportFlags(t, computeDataTexturesSetupPartial(createLayers(10, 1)), 1); + testSupportFlags(t, computeDataTexturesSetupPartial(createLayers(10, 1)), 1); + testSupportFlags(t, computeDataTexturesSetupPartial(createLayers(10, 1)), 1); }); test("Basic support + volume: mid specs", (t) => { const computeDataTexturesSetupPartial = computeDataTexturesSetupCurried(midSpecs, true); - testSupportFlags(t, computeDataTexturesSetupPartial([grayscaleLayer1, volumeLayer1]), 12); - testSupportFlags( - t, - computeDataTexturesSetupPartial([grayscaleLayer1, grayscaleLayer2, volumeLayer1]), - 12, - ); - testSupportFlags( - t, - computeDataTexturesSetupPartial([ - grayscaleLayer1, - grayscaleLayer2, - grayscaleLayer3, - volumeLayer1, - ]), - 12, - ); + testSupportFlags(t, computeDataTexturesSetupPartial(createLayers(20, 1)), 12); + testSupportFlags(t, computeDataTexturesSetupPartial(createLayers(5, 1)), 6); }); From 94df327b4541e50cde34a0e51eb3061ae148eff7 Mon Sep 17 00:00:00 2001 From: Philipp Otto Date: Tue, 2 May 2023 18:23:01 +0200 Subject: [PATCH 4/5] Release 23.05.1 --- CHANGELOG.released.md | 7 +++++++ CHANGELOG.unreleased.md | 4 +--- MIGRATIONS.released.md | 6 ++++++ MIGRATIONS.unreleased.md | 2 +- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.released.md b/CHANGELOG.released.md index 3096a1b6a0c..887433d5922 100644 --- a/CHANGELOG.released.md +++ b/CHANGELOG.released.md @@ -7,6 +7,13 @@ 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). +## [23.05.1](https://github.com/scalableminds/webknossos/releases/tag/23.05.1) - 2023-05-02 +[Commits](https://github.com/scalableminds/webknossos/compare/23.05.0...23.05.1) + +### Fixed +- Fixed rendering issues on some affected systems that led to "black holes". [#7018](https://github.com/scalableminds/webknossos/pull/7018) +- Added a workaround for a WebGL crash which could appear when a dataset contained many segmentation layers. [#6995](https://github.com/scalableminds/webknossos/pull/6995) + ## [23.05.0](https://github.com/scalableminds/webknossos/releases/tag/23.05.0) - 2023-04-25 [Commits](https://github.com/scalableminds/webknossos/compare/23.04.2...23.05.0) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index adce36897a7..d95260a4b42 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -8,15 +8,13 @@ and this project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MIC For upgrade instructions, please check the [migration guide](MIGRATIONS.released.md). ## Unreleased -[Commits](https://github.com/scalableminds/webknossos/compare/23.05.0...HEAD) +[Commits](https://github.com/scalableminds/webknossos/compare/23.05.1...HEAD) ### Added ### Changed ### Fixed -- Fixed rendering issues on some affected systems that led to "black holes". [#7018](https://github.com/scalableminds/webknossos/pull/7018) -- Added a workaround for a WebGL crash which could appear when a dataset contained many segmentation layers. [#6995](https://github.com/scalableminds/webknossos/pull/6995) ### Removed diff --git a/MIGRATIONS.released.md b/MIGRATIONS.released.md index bcbc8501161..96f7d076318 100644 --- a/MIGRATIONS.released.md +++ b/MIGRATIONS.released.md @@ -6,6 +6,12 @@ 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). +## [23.05.1](https://github.com/scalableminds/webknossos/releases/tag/23.05.1) - 2023-05-02 +[Commits](https://github.com/scalableminds/webknossos/compare/23.05.0...23.05.1) + +### Postgres Evolutions: +None. + ## [23.05.0](https://github.com/scalableminds/webknossos/releases/tag/23.05.0) - 2023-04-25 [Commits](https://github.com/scalableminds/webknossos/compare/23.04.2...23.05.0) - The config key features.isDemoInstance was renamed to features.isWkorgInstance (only needs to be adapted for the main wkorg instance). [#6941](https://github.com/scalableminds/webknossos/pull/6941/files) diff --git a/MIGRATIONS.unreleased.md b/MIGRATIONS.unreleased.md index 14f98b35c6b..09bc79978af 100644 --- a/MIGRATIONS.unreleased.md +++ b/MIGRATIONS.unreleased.md @@ -6,6 +6,6 @@ This project adheres to [Calendar Versioning](http://calver.org/) `0Y.0M.MICRO`. User-facing changes are documented in the [changelog](CHANGELOG.released.md). ## Unreleased -[Commits](https://github.com/scalableminds/webknossos/compare/23.05.0...HEAD) +[Commits](https://github.com/scalableminds/webknossos/compare/23.05.1...HEAD) ### Postgres Evolutions: From 4511358c72ac8d5e6f6effe8943f1efb4612410f Mon Sep 17 00:00:00 2001 From: Philipp Otto Date: Wed, 3 May 2023 10:00:51 +0200 Subject: [PATCH 5/5] fix incorrect merge --- CHANGELOG.unreleased.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 017b30dfc54..c4a3b0a423e 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -17,13 +17,12 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released ### Changed ### Fixed -- Fixed unintended dependencies between segments of different volume layers which used the same segment id. Now, using the same segment id for segments in different volume layers should work without any problems. [#6960](https://github.com/scalableminds/webknossos/pull/6960) -- Fixed incorrect initial tab when clicking "Show Annotations" for a user in the user list. Also, the datasets tab was removed from that page as it was the same as the datasets table from the main dashboard. [#6957](https://github.com/scalableminds/webknossos/pull/6957) -- Fixed that unsaved changes were shown when opening an annotation, although there weren't any. [#6972](https://github.com/scalableminds/webknossos/pull/6972) -- Fixed misleading email about successful dataset upload, which was in some cases sent even for unusable datasets. [#6977](https://github.com/scalableminds/webknossos/pull/6977) -- Fixed upload of skeleton annotations with no trees, only bounding boxes, being incorrectly rejected. [#6985](https://github.com/scalableminds/webknossos/pull/6985) -- Fixed that Google Cloud Storage URLs with bucket names containing underscores could not be parsed. [#6998](https://github.com/scalableminds/webknossos/pull/6998) -- Fixed regression that caused public datasets to crash when not being logged in. [#7010](https://github.com/scalableminds/webknossos/pull/7010) +- Fixed that changing a segment color could lead to a crash. [#7000](https://github.com/scalableminds/webknossos/pull/7000) +- The fill_value property of zarr dataset is now used when it is not a number. [#7017](https://github.com/scalableminds/webknossos/pull/7017) +- Fixed a bug that made downloads of public annotations fail occasionally. [#7025](https://github.com/scalableminds/webknossos/pull/7025) +- Fixed layouting of used storage space on the organization page. [#7034](https://github.com/scalableminds/webknossos/pull/7034) +- Fixed a bug where updating skeleton annotation tree group visibility would break the annotation. [#7037](https://github.com/scalableminds/webknossos/pull/7037) +- Fixed importing Neuroglancer Precomputed datasets that have a voxel offset in their header. [#7019](https://github.com/scalableminds/webknossos/pull/7019) ### Removed