diff --git a/src/about/whats-new-23.md b/src/about/whats-new-23.md index 0228704a..d4168c1f 100644 --- a/src/about/whats-new-23.md +++ b/src/about/whats-new-23.md @@ -13,6 +13,7 @@ DataJoint 2.3 adds a first-class **upstream read surface** — `Diagram.trace` a - **Uncaught exceptions show full tracebacks again.** Importing `datajoint` no longer installs a process-wide `sys.excepthook`. Previously any uncaught exception in the process — DataJoint-related or not — was reduced to a single opaque `[ERROR]: Uncaught exception` line with no type, message, or traceback; now Python's default handler prints the full traceback to stderr. The log formatter also renders exception and stack info correctly. See [#1516](https://github.com/datajoint/datajoint-python/issues/1516). - **`populate(reserve_jobs=True)` works with `uuid`-derived primary keys.** Auto-populating a `Computed`/`Imported` table whose primary key derives from a `uuid` attribute no longer crashes with `Unsupported attribute type binary(16)` when its jobs table is first created. See [#1515](https://github.com/datajoint/datajoint-python/issues/1515). - **Safer garbage collection.** `gc.collect()` no longer acts on a partial store listing, closing a path where an interrupted or incomplete storage enumeration could misclassify live files as orphans. See [Clean Up Object Storage](../how-to/garbage-collection.md). +- **Clearer diagram notation for renamed foreign keys.** A renamed (aliased) foreign key now renders as a distinctly colored **orange edge** — with a hover tooltip listing the renamed columns (e.g. `spouse1 ← person_id`) — instead of the small orange **alias dot** used previously. Orange layers on top of the existing line styles (solid/dashed for primary/secondary, thick for one-to-one), so the foreign-key kind stays legible. Internally the dependency graph is now an `nx.MultiDiGraph` with parallel edges rather than alias nodes; behavior is unchanged. See [Read Diagrams](../how-to/read-diagrams.ipynb). - **Version derived from the release tag.** The package version now comes from the git tag (via `hatch-vcs`), so a git install of a tagged commit (`pip install "git+https://github.com/datajoint/datajoint-python.git@v2.3.2"`) and `pip show datajoint` both report `2.3.2` — previously such an install could report the prior release. Running from an uninstalled source tree now reports `0.0.0+unknown`; use `pip install -e .` for development. ## Changes in 2.3.1