Changelog¶
Changelog¶
All notable changes to this project are documented in this file.
[0.2.0] - 2026-06-12¶
Auto-detect and ROI improvements¶
- Auto-detect now defaults to positive-going SD signals in the workbench, reset state, committed event metadata, and detector preset. Negative-going and both-polarity detection remain selectable for dark-going recordings.
Host project persistence¶
- Added
.swellcontainer schema 3 with optional embedded source images (images_embedded.jsonplusimages/) so projects can remain usable when the original stack folder moves. - Embedded fallback loads now preserve the original recorded stack folder in
stack.json; extracted temp directories are used only as live read sources and are not persisted as source folders. - Saving with embedding enabled now fails clearly if no source image files can be embedded, instead of silently producing a project without its image payload.
- Saving a project from embedded fallback with embedding disabled is blocked until the user re-enables embedding or rebinds to a real source folder.
- Embedded extraction cleanup now runs after successful close saves or successful context replacement, and live extraction dirs are protected by an active marker.
Export metrics¶
- Added the intensity export metric, including per-frame mean ROI intensity, baseline intensity, relative
delta_i_over_baseline_i, plots, summaries, and workbook output.
Model/checkpoint compatibility¶
- No checkpoint format or model selection change in this release; existing managed and local SAM2 model selections remain compatible.
Platform/backend limitations¶
- Embedding source images can substantially increase
.swellsize; save-time confirmation reports the source stack size before copying frames into the project.
.swell/migration notes¶
- Host
.swellwriters now emit schema 3. Schema 2 projects remain loadable. - Swell 0.1.9 may open schema 3 projects but does not understand embedded source images; if a 0.1.9 build re-saves such a project, the embedded image payload can be dropped. Use 0.2.0 or later for projects that rely on embedded source images.
Known segmentation caveats/regressions¶
- No new release-blocking segmentation regressions are known from the automated suite.
- SAM2 post-processing/native extension availability may still vary by environment.
- Auto-update behavior still depends on platform packaging/signing state; validate against final signed release artifacts.
[0.1.9] - 2026-06-12¶
Analysis window and tools UI¶
- Replaced the text-labeled segmentation tool buttons with icon buttons (select, point +/-, box, brush +/-, fill +/-, include/exclude region, clear frame), falling back to text labels when an icon asset is unavailable.
- Refreshed the application icon (macOS
.icns, Windows.ico, runtime PNG) and added a reproducible icon-generation pipeline (scripts/release/generate_app_icons.py). - Tool-mode changes are now routed through a single guarded handler so same-value hotkey re-presses no longer trigger redundant re-renders.
Bug fixes¶
- Arrow-key timeline navigation and Delete/Backspace point deletion no longer fire while the user is typing in a text entry (e.g. the region frame-range fields), preventing accidental frame scrubbing and region deletion.
- Events are now returned in a stable chronological order (start, end, id) from both the host and unified project services.
Performance¶
- Cached the per-cell quiet MAD across coherence-gate candidates and reused mask statistics across neighbor pairs in trouble scoring.
- Added a cached no-regions mask-frame set in segmentation state and tightened the render photo-cache key so tool switches no longer force cache misses.
- Hash full-stack exports via
memoryviewinstead of duplicating arrays withtobytes().
Model/checkpoint compatibility¶
- No checkpoint format or model selection change in this release; existing managed and local SAM2 model selections remain compatible.
Platform/backend limitations¶
- New toolbar icon assets are bundled from the
swellpackage via PyInstallercollect_data_files; no backend behavior changes.
.swell/migration notes¶
- No
.swellschema version bump is required; existing projects remain loadable. Event ordering is normalized on load but does not alter stored data.
Known segmentation caveats/regressions¶
- No new release-blocking segmentation regressions are known from the automated suite.
- SAM2 post-processing/native extension availability may still vary by environment.
- Auto-update behavior still depends on platform packaging/signing state; validate against final signed release artifacts.
[0.1.8] - 2026-05-14¶
Auto-detect and ROI improvements¶
- Fixed dialog sizing on Windows: replaced hardcoded
geometry()calls withminsize()across the ROI dialog, scale dialog, auto-detect window, and mark popup so windows open at the correct size without overriding the window manager's placement. center_window_on_screennow uses the window's actual size rather than a hardcoded override, fixing off-center placement on Windows.
Model/checkpoint compatibility¶
- No checkpoint format or project schema bump in this release; existing managed and local SAM2 model selections remain compatible.
Platform/backend limitations¶
- Visual sizing and centering fixes are Windows-specific; no behavioral changes on macOS.
.swell/migration notes¶
- No
.swellschema version bump is required; existing projects remain loadable.
Known segmentation caveats/regressions¶
- No new release-blocking segmentation regressions are known from the automated suite.
- SAM2 post-processing/native extension availability may still vary by environment.
- Auto-update behavior still depends on platform packaging/signing state; validate against final signed release artifacts.
[0.1.7] - 2026-05-14¶
Auto-detect and ROI improvements¶
- Overhauled the auto-detect window with a dual-pane overview/detail timeline, interactive ROI selection, grid opacity control, and per-cell border rendering for clearer event visualization.
- Added incremental algorithm rerun scheduling so parameter changes (scale, opacity, ROI) trigger a debounced re-evaluation without blocking the UI.
- Active-cell overlay and cell-border rendering are now cached by pipeline generation, avoiding redundant recomputation across frame scrubs.
- Exporter now selects ROI-scoped speed metrics when an ROI is defined, falling back to full-frame metrics otherwise.
Performance¶
- Added
DownsampledFrameSource(swell/shared/frame_source/downsampled.py) andcompute_visualization_stats_for_previewto compute visualization stats at 0.25× resolution during the analysis-launch preview, then upsample the baseline back to full resolution — significantly reducing preview wait time on large stacks. - Added
swell/shared/diagnostics/withOpenPerfTrace: a lightweight wall-clock stage/mark tracer for the analysis-window open path. Traces are dumped to the app log on completion and silently discarded on failure. - Analysis launch flow now wraps the full open sequence in a perf trace, attributing time to import, preview preparation, frame rendering, and options-dialog interactions.
Model/checkpoint compatibility¶
- No checkpoint format or project schema bump in this release; existing managed and local SAM2 model selections remain compatible.
Platform/backend limitations¶
- No platform-specific regressions are known from the automated suite.
- DC trace controller and host window controller received minor fixes to align with the updated auto-detect and analysis launch flows.
.swell/migration notes¶
- No
.swellschema version bump is required; existing projects remain loadable. _save_project_after_metrics_applynow persists project state immediately after metrics are applied from the host window, reducing the chance of unsaved metric changes.
Known segmentation caveats/regressions¶
- No new release-blocking segmentation regressions are known from the automated suite (708 tests pass).
- SAM2 post-processing/native extension availability may still vary by environment.
- Auto-update behavior still depends on platform packaging/signing state; validate against final signed release artifacts.
[0.1.6] - 2026-04-02¶
UI overhaul¶
- Reworked the host and analysis interfaces around a shared visual system with improved layout hierarchy, clearer surfaces, and more consistent button/dialog styling.
- Updated the main review flows, preview surfaces, and popup tooling to feel more coherent during event review, export, and analysis handoff.
- Improved the scale and ROI calibration dialogs so calibration state is preserved more reliably and the interaction model is easier to follow.
Model/checkpoint compatibility¶
- No checkpoint format or project schema bump is introduced in this release; existing managed and local SAM2 model selections remain compatible.
- Refactored host and analysis model/runtime flows around a shared managed-model workflow, including background download/selection handling for packaged and development runs.
- Added
h5py, continued packaging of Sparkle/WinSparkle updater runtimes, and hardened PyInstaller metadata so packaged builds resolve runtime assets more reliably.
Platform/backend limitations¶
- Added DC trace import/filtering improvements and corrected WaveSurfer scaling so imported traces align more consistently with event review workflows.
- Refined the host and analysis UI around shared runtime controllers, centered dialogs, improved preview handling, and a higher-fidelity visual hierarchy for core review/calibration screens.
- Export flows now produce richer operator-facing artifacts, including markdown summaries alongside JSON/CSV outputs and a combined spreadsheet export path.
.swell/migration notes¶
- No
.swellschema version bump is required for this release; existing projects remain loadable. - Project metadata now preserves more session context, including DC trace attachment references and autosaved metric/default updates.
- Event labels now flow into derived project/export naming, so newly generated folders and summaries may use human-readable event labels instead of raw event IDs.
Known segmentation caveats/regressions¶
- No new release-blocking segmentation regressions are currently known from the automated suite.
- SAM2 post-processing/native extension availability may still vary by environment; segmentation remains usable, but optional optimized paths can still be unavailable.
- Auto-update behavior still depends on platform packaging/signing state and bundled updater assets, so update reliability should be validated against the final signed release artifacts.
[0.1.5] - 2026-03-30¶
Model/checkpoint compatibility¶
- TBD
Platform/backend limitations¶
- TBD
.swell/migration notes¶
- TBD
Known segmentation caveats/regressions¶
- TBD
[0.1.4] - 2026-03-26¶
Model/checkpoint compatibility¶
- TBD
Platform/backend limitations¶
- TBD
.swell/migration notes¶
- TBD
Known segmentation caveats/regressions¶
- TBD
[0.1.3] - 2026-03-17¶
Model/checkpoint compatibility¶
- No checkpoint format changes in this release; existing SAM2-managed checkpoint selection remains compatible.
- Windows packaged/runtime validation continues to use CPU Torch install fallback in CI when the CPU wheel index is unavailable.
Platform/backend limitations¶
- Fixed Windows host-stack shape normalization for color-backed TIFF inputs so host metrics validation, analysis handoff, and mask sync no longer misinterpret frames as
width x channels. - Fixed Windows analysis UI behavior where propagation range spinboxes could ignore programmatic writes while disabled.
- macOS signing, notarization, and stapling are still not part of the release workflow.
.swell/migration notes¶
- No
.swellschema version bump in this release. - Existing projects remain loadable, but Windows-authored saves now preserve generated masks and mask dimensions correctly when analysis is opened from the host window.
Known segmentation caveats/regressions¶
- SAM2 post-processing may still log an optional extension warning at runtime when native
_Cbindings are unavailable; segmentation remains usable, but some post-processing is limited. - Packaged desktop builds do not have an auto-update mechanism yet; application updates are still distributed as manual install/package refreshes.
- Axis-locked scale capture now defaults on in the shared scale dialog, which changes the initial interaction behavior for manual scale selection.
[0.1.2] - 2026-03-16¶
Model/checkpoint compatibility¶
- TBD
Platform/backend limitations¶
- TBD
.swell/migration notes¶
- TBD
Known segmentation caveats/regressions¶
- TBD
[0.1.1] - 2026-03-16¶
Model/checkpoint compatibility¶
- Added generated release compatibility manifest (
compatibility.json) and checksum metadata contract for published assets. - Kept SAM2 policy declaration in packaging metadata (no bundled checkpoint weights in release assets).
Platform/backend limitations¶
- Released source artifacts plus macOS arm64/x86_64 desktop archives.
- Windows is validated as a runtime/test gate only in CI for this phase; packaged Windows binary is deferred.
.swell/migration notes¶
- No
.swellschema changes in release packaging phases 1-4. - Canonical single-stack project structure remains unchanged.
Known segmentation caveats/regressions¶
- Missing SAM2/model dependencies continues to disable model-based segmentation tools at runtime.
- macOS signing/notarization/stapling is not yet part of this phase and remains deferred.