Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unified annotation versioning #7917

Open
wants to merge 402 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
402 commits
Select commit Hold shift + click to select a range
ce14718
duplicate editable mapping
fm3 Oct 28, 2024
ba47647
do not report layer changes to postgres when loading an older version
fm3 Oct 28, 2024
b3f9a2c
some cleanup
fm3 Oct 28, 2024
8a0d637
use new annotation duplicate in task assignment
fm3 Oct 28, 2024
3d92ae3
move old routes to new update actions
Oct 28, 2024
6498050
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
Oct 28, 2024
41cada1
spelling of layer type proto
fm3 Oct 28, 2024
aef7d33
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
fm3 Oct 28, 2024
05b7e40
ensure loading newest annotation version from tracing store and patch…
Oct 28, 2024
8d5be05
send update annotation name and description as update actions
Oct 28, 2024
3155f6c
Merge branch 'master' into unified-annotation-versioning
fm3 Oct 29, 2024
85dece0
WIP task creation
fm3 Oct 29, 2024
a543415
fix task creation without base
fm3 Oct 29, 2024
d8d7fd4
wip task creation from base id
fm3 Oct 29, 2024
41a326c
fix volume task creation with base id
fm3 Oct 29, 2024
9549ad1
Merge branch 'master' into unified-annotation-versioning
fm3 Oct 30, 2024
11cbcd2
rename annotation.proto layers to annotationLayers, simplify duplicat…
fm3 Oct 30, 2024
65f2ebd
wip merge
fm3 Oct 30, 2024
e55768d
merge skeletons
fm3 Oct 30, 2024
63c8e6f
merge volume data
fm3 Oct 30, 2024
74c679b
small renamings
fm3 Oct 30, 2024
1a59e62
always use only data layers sent by tracing store and disregard layer…
Oct 30, 2024
ec8cd74
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 5, 2024
0e9fffc
earliestAccessibleVersion; always fetch all layers; wip resetToBase
fm3 Nov 5, 2024
02f78b7
call resetToBase
fm3 Nov 5, 2024
bc51deb
remove volume tracing downsampling feature (backend)
fm3 Nov 5, 2024
7150c25
also duplicate annotation v0
fm3 Nov 5, 2024
3ffdf3b
use SequenceUtils
fm3 Nov 5, 2024
fb1b595
cleanup todo comments
fm3 Nov 5, 2024
89c4ec2
remap action tracing ids in duplicate
fm3 Nov 5, 2024
b89a7f6
re-add accidentally deleted function
Nov 5, 2024
636a34d
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
Nov 5, 2024
2d922b0
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 7, 2024
5089c69
update todo comments
fm3 Nov 7, 2024
6dfc1ba
adapt e2e tests
fm3 Nov 7, 2024
cb46fca
rename sendUpdateActions in e2e test
fm3 Nov 7, 2024
c81f28b
skip flushing tracings with no changes
fm3 Nov 7, 2024
b1ae06c
remove (broken) morton index from volume bucket keys
fm3 Nov 7, 2024
8b5e2db
flush all tracings if a revert or resetToBase action is present
fm3 Nov 7, 2024
89216a5
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 11, 2024
913d21a
re-connect tracing migration service
fm3 Nov 11, 2024
322ffaa
wip merge editable mappings
fm3 Nov 11, 2024
1cc0774
wip mergedFromContents
fm3 Nov 11, 2024
4b6ccc0
wip merged from contents
fm3 Nov 11, 2024
69d1a16
create editable mapping info when applying UpdateMappingName action
fm3 Nov 11, 2024
f95a3fd
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 11, 2024
5ec9697
batching in duplicate updates
fm3 Nov 11, 2024
f6f83b8
resolve some small todo comments
fm3 Nov 11, 2024
fbadb93
adjust frontend editable mapping initialization
Nov 11, 2024
b48191d
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 12, 2024
04dccff
first set mapping to editable before forcing sending all updates ton …
Nov 12, 2024
2b3c841
re-connect initializeWithData
fm3 Nov 12, 2024
bf2da97
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
fm3 Nov 12, 2024
184eff4
loglevel for pekko.event
fm3 Nov 12, 2024
a07404b
fix skeleton lookup
fm3 Nov 12, 2024
ab056ce
wip merge editable mappings
fm3 Nov 12, 2024
689e728
instantiate updater
fm3 Nov 12, 2024
01bc252
save linearized updates after merging editable mappings
fm3 Nov 12, 2024
39936d4
use newVersion also for tracing layers in merged
fm3 Nov 12, 2024
91449a8
fix volume version
fm3 Nov 12, 2024
8f30c3f
adapt parsing bucket keys (no more morton index)
fm3 Nov 13, 2024
11ffa47
WIP iron out reversion fold during merge
fm3 Nov 13, 2024
9eb780c
iron out reversion folds in update history before merging editable ma…
fm3 Nov 13, 2024
7a67500
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 14, 2024
669a557
add docstrings, remove applyUpdates bool
fm3 Nov 14, 2024
4eb3911
fix merging skeleton-only, remove makeMappingEditable route
fm3 Nov 14, 2024
f422831
remove CompactVolumeUpdateAction
fm3 Nov 14, 2024
8671a7f
remove outdated todo comments
fm3 Nov 14, 2024
4d0a813
unify naming, no more persist, use toTemporaryStore
fm3 Nov 14, 2024
c7316fc
further unify naming
fm3 Nov 14, 2024
1cd857f
fix storing tracing after AddLayer action. skip reporting annotation …
fm3 Nov 14, 2024
9b904d6
never rely on editable mapping update action agglomerateIds
fm3 Nov 14, 2024
c60c713
wip temporary tracings
fm3 Nov 18, 2024
f0c35ba
use temporary store when loading annotations
fm3 Nov 18, 2024
03d62c8
fix mergedFromIds params
fm3 Nov 18, 2024
2ef2b32
fix lookup in annotationStore
fm3 Nov 18, 2024
01276f4
create segment index for compound again
fm3 Nov 18, 2024
f8f397a
remove outdated comments
fm3 Nov 18, 2024
b66423d
add todo comment for tracing stats
Nov 18, 2024
14bd8aa
single version param for download route
fm3 Nov 18, 2024
16aae92
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
fm3 Nov 18, 2024
42b9bf2
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 18, 2024
8549b21
Fix unit tests, add two-level caching for materialized annotationWith…
fm3 Nov 18, 2024
ac5bd22
unify logging
fm3 Nov 18, 2024
e7a464f
cleanup
fm3 Nov 18, 2024
d6a8e8e
init fossildb migration
fm3 Nov 18, 2024
14d44c8
update frontend to newest annotation stats schema and fix typing & li…
Nov 19, 2024
cc8382b
include annotation stats per layer in time tracking api response json
fm3 Nov 19, 2024
aa02568
continue if a layer’s stats couldn’t be updated
fm3 Nov 19, 2024
03de53e
add some function stubs to migration
fm3 Nov 19, 2024
247fe9c
wip migration: read annotations from postgres
fm3 Nov 20, 2024
44bf6fc
fetch annotation info from postgres
fm3 Nov 20, 2024
c7af0fb
iterate on migration
fm3 Nov 20, 2024
caeb16a
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 21, 2024
4cb9b75
wip migrate updates
fm3 Nov 21, 2024
aa86dad
migrate updates in stupid concat strategy
fm3 Nov 21, 2024
fbd5ac8
migrate skeleton + volume proto
fm3 Nov 21, 2024
fce6576
restructure migration code
fm3 Nov 21, 2024
187eed0
cleanup
fm3 Nov 21, 2024
5dbaceb
add two frontend TODO comments
Nov 25, 2024
7f96b42
migration: renamings for update actions, insert actionTracingId
fm3 Nov 25, 2024
e95bbc6
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
fm3 Nov 25, 2024
9b72b15
migration: add generaetd code
fm3 Nov 25, 2024
6c08032
migration: set tracing proto fields, create annotationProto
fm3 Nov 25, 2024
2772692
migrate volume buckets
fm3 Nov 25, 2024
dcc08e6
migration: annotation layer name, volume segment index
fm3 Nov 25, 2024
b5d3b48
migrate editable mapping distributed elements
fm3 Nov 25, 2024
93b0c6c
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 26, 2024
ef191d1
migration: remove morton index, migrate editablemappinginfo objects
fm3 Nov 26, 2024
ab5cddb
migration: switch from orjson to msgspec
fm3 Nov 26, 2024
e2e513f
migration: add cli args, actually write to target fossilDB
fm3 Nov 26, 2024
d314f8a
parallelize, add postgres connection parameter
fm3 Nov 27, 2024
35a0e48
avoid redundant calls in task creation (regression introduced in cba7…
philippotto Nov 27, 2024
7036656
migration: humanize time diff add previous-start argument
fm3 Nov 27, 2024
4585043
migration: wip handle compacted update actions, add error logging + c…
fm3 Nov 27, 2024
171d853
fix removeAllButLastUpdateTracingAction
philippotto Nov 27, 2024
97e02e8
adapt some todo comments
philippotto Nov 27, 2024
ca3fb72
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 27, 2024
7897f25
change renameTracing to use old editAnnotation route
philippotto Nov 27, 2024
115adc5
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Nov 27, 2024
5fc5813
more comments
philippotto Nov 27, 2024
122ed14
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 27, 2024
6344552
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Nov 28, 2024
7734391
fix merge conflicts
philippotto Nov 28, 2024
a9fdce3
fix types for editAnnotation
philippotto Nov 28, 2024
b9cb2d9
Merge branch 'master' into unified-annotation-versioning
fm3 Nov 28, 2024
62dc283
handle UpdatTdCamera updates, migration: mark more as compacted
fm3 Nov 28, 2024
9c1373c
fix parsing CompactVolumeUpdateActions
fm3 Nov 28, 2024
bf91832
fix migration for proofreading, add some more error messages to backend
fm3 Nov 28, 2024
f380807
when initializing an annotation in the front-end use annotation.versi…
philippotto Nov 28, 2024
fe1ce0b
remove max handling of versions
philippotto Nov 28, 2024
da5a84c
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Nov 28, 2024
3fbdf01
wip: allow updating annotation name from dashboard
fm3 Nov 28, 2024
f48f080
migration use passed pg password, add ETR, remove debug logging
fm3 Nov 28, 2024
402403a
fix version handling in model initialization etc
philippotto Nov 28, 2024
e0d5894
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Nov 28, 2024
be8cdcd
adapt the types so that update actions that need isolation cannot be …
philippotto Nov 29, 2024
3ca9833
remove downsampling feature volume annotations
philippotto Nov 29, 2024
3654217
use editableMappingId == volumeTracingId constraint
philippotto Nov 29, 2024
01953aa
fix deletion of layer
philippotto Nov 29, 2024
1dcd33e
fix importVolumeData
philippotto Nov 29, 2024
2a639d2
improve labels for proofreading entries in version restore view
philippotto Nov 29, 2024
56bb6eb
remove/fix some more todo comments
philippotto Nov 29, 2024
31bb491
pass tracingId directly to update actions instead of magically adding…
philippotto Nov 29, 2024
bb9f146
get rid of unused-tracing-id and superfluous passing of relevant trac…
philippotto Nov 29, 2024
8759bb3
fix stuck 'Activating Mapping' message
philippotto Dec 2, 2024
cc3ecb1
Merge branch 'master' into unified-annotation-versioning
fm3 Dec 2, 2024
e0267c9
do not include name in annotationProto and updateAnnotationMetadata a…
fm3 Dec 2, 2024
8bf55fa
add version parameter to editableMapping agglomerateIdsForSegments
fm3 Dec 2, 2024
f256b6f
option to count versions
fm3 Dec 2, 2024
f340b14
migration: add verbose flag, log also to file
fm3 Dec 3, 2024
19888f3
add error for missing layers
fm3 Dec 3, 2024
c8dfaec
migration: randomize order with md5 hash
fm3 Dec 3, 2024
9299f71
get rid of tracing.version in frontend
philippotto Dec 3, 2024
ca2767f
fix linting
philippotto Dec 3, 2024
0113f9a
remove remaining version properties
philippotto Dec 3, 2024
94670e5
fix save saga spec
philippotto Dec 3, 2024
ca61fb8
fix skeletontracing saga spec
philippotto Dec 3, 2024
3be7d8c
mock annotation proto in specs
philippotto Dec 3, 2024
4d870cb
fix wkstore adapter spec
philippotto Dec 3, 2024
dd9dadc
fix more incorrectly passed transactionIds; fix save_reducer spec
philippotto Dec 3, 2024
d08621d
fix last frontend tests :tm:
philippotto Dec 3, 2024
b903187
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 3, 2024
0d48f4a
fix linting
philippotto Dec 3, 2024
656561a
format backend
fm3 Dec 3, 2024
71bf9a4
Merge branch 'master' of github.com:scalableminds/webknossos into uni…
philippotto Dec 4, 2024
d553524
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 4, 2024
a0d536b
WIP: migration: merge updates in a less naive way
fm3 Dec 4, 2024
ca1ce9f
incorporate version parameter in agglomeratesForSegments route; refac…
philippotto Dec 4, 2024
eaef5a1
migration: iron out reverts, merge updates by timestamp
fm3 Dec 4, 2024
8a57621
migration: adapt to changed annotationProto format
fm3 Dec 4, 2024
e46df33
small cleanup in migration
fm3 Dec 4, 2024
25cf990
fix version restore preview for editable mappings
philippotto Dec 4, 2024
5f25d9f
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 4, 2024
130ef67
fix that restoring to another version broke the loading of mesh files
philippotto Dec 4, 2024
6f140d9
fix ordering in updateActionLog
fm3 Dec 5, 2024
05ca4aa
migration: wip select which to materialize
fm3 Dec 5, 2024
1b419a4
Merge branch 'master' into unified-annotation-versioning
fm3 Dec 5, 2024
408bb52
reload page when switching to a version in the version restore view t…
philippotto Dec 5, 2024
4dffaf6
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 5, 2024
3dca73c
revert temporary sorting fix in FE
philippotto Dec 5, 2024
d160263
respect earliestAccessibleVersion in version restore view
philippotto Dec 6, 2024
625403d
fix editing of annotation name
philippotto Dec 6, 2024
39cc656
fix that newest version was also requested even when no annotation ex…
philippotto Dec 6, 2024
70988b7
fix tooltip for segment stats
philippotto Dec 6, 2024
856f11b
require passing annotationid to some tracingstore routes
fm3 Dec 9, 2024
f24d123
Revert "require passing annotationid to some tracingstore routes"
fm3 Dec 9, 2024
a34c774
introduce skeletonMayHavePendingUpdates property to annotation proto …
fm3 Dec 9, 2024
4f90eaa
Revert "Revert "require passing annotationid to some tracingstore rou…
fm3 Dec 9, 2024
950cb17
Merge branch 'master' into unified-annotation-versioning
fm3 Dec 9, 2024
406d7ee
set skeletonMayHavePendingUpdates to None after applying updates
fm3 Dec 9, 2024
0fecca6
migration: set the bool only where it makes sense
fm3 Dec 9, 2024
d0248b4
migration: set earliest_accessible_version for editable mapping annot…
fm3 Dec 9, 2024
f4b6068
don't fail on loading addSegmentIndex and compactVolumeActions
fm3 Dec 9, 2024
f6d7554
checkpoints for migration
fm3 Dec 9, 2024
a0ff64e
cleanup in migration
fm3 Dec 9, 2024
2109a68
pass annotationId to routes that require it (back-end cannot find the…
philippotto Dec 9, 2024
e688945
also require annotation id in volume data request
fm3 Dec 10, 2024
bbdd8b7
fix annotationId param for data route
philippotto Dec 10, 2024
9237bda
use annotation id also for access request
fm3 Dec 10, 2024
5af55d8
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
fm3 Dec 10, 2024
bd1fd1b
fix switched ids
fm3 Dec 10, 2024
d92472b
adapt e2e tests
fm3 Dec 10, 2024
282084f
unused import
fm3 Dec 10, 2024
6e3709a
fix that version restore view didnt open when loading a version that …
philippotto Dec 10, 2024
5b16fed
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 10, 2024
f8b830b
remove unused imports
philippotto Dec 10, 2024
05a5956
use toasts related to proofreading undo
philippotto Dec 10, 2024
7a1ecd9
Merge branch 'master' into unified-annotation-versioning
fm3 Dec 11, 2024
47eda78
add custom start time argument to migration
fm3 Dec 11, 2024
bfc5cf6
set editableMappingsMayHavePendingUpdates in migration
fm3 Dec 11, 2024
aa327d0
fetch extra editable mapping updates if needed
fm3 Dec 11, 2024
2c74668
fix downloading older volumes. changelog + migration guide.
fm3 Dec 11, 2024
29dd282
Merge branch 'master' into unified-annotation-versioning
fm3 Dec 11, 2024
7695e46
fix assertion in volume download
fm3 Dec 11, 2024
7332d78
remove debug logging
fm3 Dec 11, 2024
78eb6ff
fix typing and CI
philippotto Dec 11, 2024
7013ca8
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 11, 2024
192e4b3
fix requesting volume data from older version
fm3 Dec 12, 2024
49406a5
if allDataZip is requested with annotationId, use that one also for t…
fm3 Dec 12, 2024
9582dff
fix test
philippotto Dec 12, 2024
aea43c6
clean up editAnnotation
philippotto Dec 12, 2024
e0be98c
rename to getUnversionedAnnotationInformation
philippotto Dec 12, 2024
e8da52d
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 12, 2024
a6f476c
fix annotation stats and linting
philippotto Dec 12, 2024
63ffe8a
fix superfluous request with empty annotation id
philippotto Dec 12, 2024
e7776bf
fix type check test
philippotto Dec 12, 2024
5f07292
resnap freshshots
fm3 Dec 12, 2024
8a8e88c
add e2e test for updating metadata
philippotto Dec 12, 2024
1e91979
clean up typing of update actions
philippotto Dec 12, 2024
20ea661
update todo comment
philippotto Dec 12, 2024
1e093eb
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 12, 2024
d7cb2e2
unused import
fm3 Dec 12, 2024
9585319
save one lookup of annotationProto
fm3 Dec 12, 2024
e7b071f
fix sandbox view
philippotto Dec 12, 2024
c134fed
Merge branch 'unified-annotation-versioning' of github.com:scalablemi…
philippotto Dec 12, 2024
5ed14b0
more verbose bucket loading errors, include Failure message
fm3 Dec 12, 2024
b27b78b
set editableMappingsMayHavePendingUpdates to None after are updates a…
fm3 Dec 16, 2024
fe31b44
implement migrationf feedback part1
fm3 Dec 16, 2024
25bb7c2
Update MIGRATIONS.unreleased.md
fm3 Dec 16, 2024
b2dfcaa
wip: clean-up older migration run in case of reverts. use new fossilD…
fm3 Dec 16, 2024
5c264ec
migration: fix cleanup of previous, use multi-version put
fm3 Dec 16, 2024
e948743
pin versions in requirements.txt
fm3 Dec 16, 2024
6b80d2b
iterate on migration guide
fm3 Dec 16, 2024
c44560c
bump fossildb version to 0.1.33 (master_504)
fm3 Dec 16, 2024
601032f
migration: fix mapping id lookup
fm3 Dec 16, 2024
f3a2eeb
rename type to typ in AnnotationLayerProto and DeleteLayerAnnotationA…
fm3 Dec 16, 2024
fc48bfc
fix applying extraSkeletonActions on older requested annotation versions
fm3 Dec 17, 2024
df88f4d
remove debug logging
fm3 Dec 17, 2024
60139a0
Merge branch 'master' into unified-annotation-versioning
fm3 Dec 17, 2024
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
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[codespell]
# Ref: https://github.com/codespell-project/codespell#using-a-config-file
skip = *.svg,*.sublime-workspace,*.lock,.codespellrc,./util/target/,./binaryData,./node_modules,./pg,./project/target,./target,./webknossos-datastore/target,./webknossos-jni/target,./webknossos-tracingstore/target,./util/target,./coverage,./public-test,./tools/proxy/node_modules,./docs/publications.md,./public/bundle
skip = *.svg,*.sublime-workspace,*.lock,.codespellrc,./util/target/,./binaryData,./node_modules,./pg,./project/target,./target,./webknossos-datastore/target,./webknossos-jni/target,./webknossos-tracingstore/target,./util/target,./coverage,./public-test,./tools/proxy/node_modules,./docs/publications.md,./public/bundle,./tools/migration-unified-annotation-versioning/venv
# some names and camelCased variables etc
ignore-regex = \b([a-z]+[A-Z][a-zA-Z]*|H Mattern|Manuel|Nat Commun)\b
ignore-words-list = lod,nd,ue
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.py]
indent_size = 4

[*.md]
trim_trailing_whitespace = false

Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ RUNNING_PID
.bloop
.metals
metals.sbt
__pycache__/


# Webknossos
Expand Down Expand Up @@ -109,4 +110,4 @@ metals.sbt
!.yarn/releases
!.yarn/sdks
!.yarn/versions
tools/**/.yarn/*
tools/**/.yarn/*
3 changes: 3 additions & 0 deletions CHANGELOG.unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released
### Added
- Added the total volume of a dataset to a tooltip in the dataset info tab. [#8229](https://github.com/scalableminds/webknossos/pull/8229)
- Optimized performance of data loading with “fill value“ chunks. [#8271](https://github.com/scalableminds/webknossos/pull/8271)
- When using the “Restore older Version” feature, there are no longer separate tabs for the different annotation layers. Only one linear annotation history is now used, and if you revert to an older version, all layers are reverted. If layers were added/deleted since then, that is also reverted. This also means that proofreading annotations can now be reverted to older versions as well. The description text of annotations is now versioned as well. [#7917](https://github.com/scalableminds/webknossos/pull/7917)

### Changed
- Renamed "resolution" to "magnification" in more places within the codebase, including local variables. [#8168](https://github.com/scalableminds/webknossos/pull/8168)
Expand All @@ -26,6 +27,7 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released
- Fixed that listing datasets with the `api/datasets` route without compression failed due to missing permissions regarding public datasets. [#8249](https://github.com/scalableminds/webknossos/pull/8249)
- A "Locked by anonymous user" banner is no longer shown when opening public editable annotations of other organizations. [#8273](https://github.com/scalableminds/webknossos/pull/8273)
- Fixed a bug that uploading a zarr dataset with an already existing `datasource-properties.json` file failed. [#8268](https://github.com/scalableminds/webknossos/pull/8268)
- Fixed that the frontend did not ensure a minimum length for annotation layer names. Moreover, names starting with a `.` are also disallowed now. [#8244](https://github.com/scalableminds/webknossos/pull/8244)
- Fixed the organization switching feature for datasets opened via old links. [#8257](https://github.com/scalableminds/webknossos/pull/8257)
- Fixed that uploading an NML file without an organization id failed. Now the user's organization is used as fallback. [#8277](https://github.com/scalableminds/webknossos/pull/8277)
- Fixed that the frontend did not ensure a minium length for annotation layer names. Moreover, names starting with a `.` are also disallowed now. [#8244](https://github.com/scalableminds/webknossos/pull/8244)
Expand All @@ -38,5 +40,6 @@ For upgrade instructions, please check the [migration guide](MIGRATIONS.released

### Removed
- Removed support for HTTP API versions 3 and 4. [#8075](https://github.com/scalableminds/webknossos/pull/8075)
- Removed the feature to downsample existing volume annotations. All new volume annotations had a whole mag stack since [#4755](https://github.com/scalableminds/webknossos/pull/4755) (four years ago). [#7917](https://github.com/scalableminds/webknossos/pull/7917)

### Breaking Changes
6 changes: 6 additions & 0 deletions MIGRATIONS.unreleased.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ User-facing changes are documented in the [changelog](CHANGELOG.released.md).
## Unreleased
[Commits](https://github.com/scalableminds/webknossos/compare/24.12.0...HEAD)
- Removed support for HTTP API versions 3 and 4. [#8075](https://github.com/scalableminds/webknossos/pull/8075)
- The migration route `addSegmentIndex` was removed. If you haven’t done this yet, but need segment indices for your volume annotations, upgrade to an earlier version first, call addSegmentIndex, and then upgrade again. [#7917](https://github.com/scalableminds/webknossos/pull/7917)
- The versioning scheme of annotations has been changed. That requires a larger migration including the FossilDB content. [#7917](https://github.com/scalableminds/webknossos/pull/7917)
- New FossilDB version `0.1.33` (docker image `scalableminds/fossildb:master__504`) is required.
- For the migration, a second FossilDB needs to be started. To do that, either use the docker image, a jar, or checkout the [fossilDB repository](https://github.com/scalableminds/fossildb). If you opened your old FossilDB with an options file, it probably makes sense to use the same options file for the new one as well.
- FossilDB must now be opened with new column family set `skeletons,volumes,volumeData,volumeSegmentIndex,editableMappingsInfo,editableMappingsAgglomerateToGraph,editableMappingsSegmentToAgglomerate,annotations,annotationUpdates`.
- The FossilDB content needs to be migrated. For that, use the python program at `tools/migration-unified-annotation-versioning` (see python main.py --help for instructions). Note that it writes to a completely new FossilDB, that must first be opened with the new column families, see above. The migration code needs to connect to postgres, to the old FossilDB and to the new. After the migration, replace the old FossilDB by the new one (either change the ports of the existing programs, or exchange the data directories on disk). The migration can also be run in several steps so that the majority of the data can already be migrated while WEBKNOSSOS is still running. Then only annotations that have been edited again since the first run need to be migrated in the incremental second run during a WEBKNOSSOS downtime.

### Postgres Evolutions:
- [124-decouple-dataset-directory-from-name](conf/evolutions/124-decouple-dataset-directory-from-name)
Loading