Skip to content

Consume the destructor-safe PolyStore 0.2.18 release - #127

Merged
trissim merged 2 commits into
mainfrom
fix/polystore-teardown-0.2.18
Sep 22, 2026
Merged

trissim merged 2 commits into
mainfrom
fix/polystore-teardown-0.2.18

Conversation

@trissim

@trissim trissim commented Sep 22, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • update the external/PolyStore gitlink from d861ef8 (v0.2.17) to the tagged 6534b10e (v0.2.18)
  • raise the declared dependency floor from polystore>=0.2.17,<0.3 to polystore>=0.2.18,<0.3
  • refresh exactly the 18 audit edges invalidated by those two authority changes

Why

PR #126's Official30 teardown reproduced an ignored finalizer exception after module globals had begun clearing:

AttributeError: 'NoneType' object has no attribute 'info'

PolyStore PR #9 removed the duplicated Fiji/Napari __del__ overrides and moved teardown onto the single StreamingBackend authority with optional-logger diagnostics and detach-before-close ownership transfer. PolyStore then released that as 0.2.18.

A shutdown-ordering probe reproduces the before/after boundary directly:

PolyStore Unraisable exceptions
v0.2.17 1 — AttributeError 'NoneType' object has no attribute 'info'
v0.2.18 0, with Fiji and Napari sharing one StreamingBackend.__del__

Audit reconciliation

docs/audits/pr126_authority_delta_review_20260922.md gains a PolyStore-release section. No page prose required correction: no active page documents subclass __del__, fiji_streaming_system.rst is a redirect stub, and fiji_viewer_management.rst already states that interpreter finalization is not a second resource authority — which this change reinforces. Exactly one semantic edge (fiji_streaming_system.rst ← external/PolyStore/src/polystore/fiji_stream.py) plus the 17 pyproject.toml floor edges were refreshed; the structural verifier confirms no other JSON field changed.

Validation

  • scripts/validate_docs.py docs/source: PASS (156 files, 26 Python blocks, 155 audited sources)
  • documentation audit unit tests: 12 passed
  • scripts.validate_local_release_floors --wait-for-pypi: all 8 first-party dependencies installable, polystore==0.2.18 verified through metadata and the installer index
  • focused Fiji/materialization/boundary tests: 119 passed; broader streaming/viewer subset: 294 passed
  • git diff --check clean; submodule pinned at tagged v0.2.18

No published version was reused or retagged.

@trissim
trissim merged commit 0ba01b2 into main Sep 22, 2026
43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant