Skip to content

v2.9.0

v2.9.0 — Physical ledger view, assemble cascade (off), packaging stock

Minor release. Two additive migrations (new empty tables). ## Operator-facing - **Movement views show physical rows by default.** Reservations and pipeline rows sit behind a "Show reservations" tog…

Minor release. Two additive migrations (new empty tables).

Operator-facing

  • Movement views show physical rows by default. Reservations and pipeline rows sit behind a “Show reservations” toggle with Inventory Status chips (PICK FACE, BULK, RESERVATION, PIPELINE). Damaged and quarantine movements are always visible and always chipped — a damaged −5 can never look like a sellable −5. TYPE and QTY columns are grid-aligned; the E2E asserts column geometry.
  • Packaging materials are stock (PKG-INV-01): box/mailer catalog, receive and adjust with reasons, consume-on-pack with an idempotent ledger witness, low-stock watchlist integration, and dims/tare autofill on the label step.

Platform (inert until canary)

  • FULFILL-STRATEGY-01: the listing assemble cascade — a mapping declares once “direct SKU, else the kit that builds it” and the engine executes per order with a named witness. Publish and allocate share one ATP composition (no double promising). fulfillmentCascadeEnabled defaults OFF for every tenant; a canary pre-flight is required before enabling anyone.

Rollback

Re-deploy v2.8.1. Tables are additive and harmless to old code.

Other releases

See how DockingWare handles this →