Skip to content

v1.11.0

Choose a tag to compare

@marcinpsk marcinpsk released this 31 Aug 19:05
· 891 commits to main since this release

v1.11.0 (2026-08-31)

This release is published under the Apache-2.0 License.

Bug Fixes

  • Actually move the parsing out of the engine, and cover what layer 3 added (c732523)

  • Address import engine review findings (776bc0a)

  • Address import engine review findings (62274e2)

  • Align import planning with writer behavior (4746157)

  • Apply saved Source Resolutions when the coordinator plans (1638013)

  • Bind row sync state to its request (130f628)

  • Bound the address token so a cell cannot set the scan length (5441f80)

  • Bound transform work across workbooks (c199254)

  • Check the declared type of each scalar plan field (d62d8fc)

  • Clarify contact resolution validation (226afd5)

  • Close final import review findings (01e1bf5)

  • Close final import review findings (565e2ef)

  • Close import review follow-ups (13f7fa6)

  • Close remaining import cutover review findings (a23867a)

  • Close remaining import review findings (e824708)

  • Close the follow-up review findings on the audit record and the plan (67eb385)

  • Close the review findings on the plan and audit models (60a2609)

  • Close the review findings on the plan and the target modules (1891df0)

  • Close the second round of review findings on the audit record (5135b70)

  • Enforce plan and execution contracts (0faf3df)

  • Follow the squashed profile cutover on develop (55c7b16)

  • Freeze import plan values recursively (da7074c)

  • Harden import cutover edge cases (baa60cc)

  • Isolate conflict resolution requests (e6b449c)

  • Let a device row use the rack its own batch creates (9ff36d7)

  • Normalize device type resolver inputs (ca5972f)

  • Normalize persisted ignored source IDs (6033a51)

  • Normalize target module source values (708f240)

  • Preserve device ignore precedence (e4f3dcc)

  • Preserve device rejection precedence (4646f08)

  • Preserve import audit job links (00b3ca4)

  • Preserve import review contracts (32b6c82)

  • Preserve safe bulk transform matching (ff59d4d)

  • Preview a device against the rack this batch leaves behind (b22458f)

  • Refuse a retired adapter before suggesting a contact (ac1c164)

  • Regenerate audit migrations after cutover (114275a)

  • Report the import target and the source-ID field as device work (e6080e0)

  • Resolve final import review findings (bbe96c6)

  • Resolve import audit review findings (7d728e2)

  • Resolve import engine review findings (e7460ad)

  • Resolve import review findings (e112ea0)

  • Resolve latest import engine review findings (744ba8e)

  • Resolve latest import review findings (1d568e3)

  • Resolve latest import review findings (68e748f)

  • Resolve release review findings (e8e3ca3)

  • Resolve remaining import review findings (c893a02)

  • Restack audit migrations after profile cutover (b1d23f6)

  • Scope null normalization to source values (b9fbce5)

  • Serialize conflict resolution requests (b984a67)

  • Stop the Device module renaming a device it matched (bad1582)

  • Unify device identity matching (60d7ac5)

  • Validate import plan schema versions (b65e06b)

  • Validate saved resolution target fields (9470b93)

  • Validate the plan's scalar fields at construction (d6a4b08)

Build System

  • Add mypy, and the two stub packages this project actually needs (355b105)

Code Style

  • Give each model comment its reason in one line (06b989b)

  • Give this branch's parallel-setup comments one line each (32b8f1b)

  • State the plan scalar-check reason in one line (d69d43b)

Documentation

  • Correct NetBox minimum version (e950e3b)

  • Correct RE2 Unicode migration guidance (cf86682)

  • Cut test rationale to the one non-obvious line (17e7965)

  • Drop two comments that restate the code (c30bfe1)

  • One-line the comments and docstrings the review flagged (f8e2780)

Features

  • Add the source document and the Import Execution audit record (2d509c5)

  • Add the target-neutral Import Plan model (ebccbd2)

  • Apply one device change under its own lock and preconditions (97d5c64)

  • Apply one rack change under its own lock and preconditions (413e731)

  • Cut import workflow over to import engine (c4ba988)

  • Decide a device's primary contact in the plan (5ab99ef)

  • Execute an accepted plan as one audited transaction (6794c07)

  • Move flat-workbook parsing behind the Source Adapter seam (1d05170)

  • Place a device's addresses through the Device module (979b94a)

  • Plan a device through the operator's saved field review (69eed00)

  • Plan an import through the target-neutral coordinator (b21dbdd)

  • Plan device placement, and share the source-word tables (9377530)

  • Plan devices through a Target Module (0838d34)

  • Plan racks through a Target Module (50a596d)

  • Read target state through one permission-scoped accessor (0732caa)

  • Record and read the source that wrote a device (6409285)

Performance Improvements

  • Defer preview recalculation after review actions (f543efb)

Refactoring

  • Share the Device Type identity resolver with the target modules (58a64ca)

  • State the held-address invariant once, on the target (02e4626)

Testing

  • Correct the permission-test docstrings (565c352)

  • Cover the IP paths the coverage gate found untested (3027076)

  • Cover the plan and catalog lookups the gate found untested (67ddbf2)

  • Cover the preview's IP normalization fallback (f1927af)

  • Guard the one-line comment rule with a shrinking record (e3c79ca)

  • Guard the views-to-engine seam, and stop the comment record fighting branches (e52171e)

  • Reuse the workbook bytes helper (cf00291)

  • Share the stacked permission helper (d1ab562)

  • Stop a permission test from passing on a failed login (c41fdd5)


Detailed Changes: v1.10.0...v1.11.0