Skip to content

Releases

Changelog

What shipped in DockingWare, one entry per production release. Bodies are the GitHub Release notes, dated by the git tag.

  1. v2.29.0

    v2.29.0: sales order pages, stricter documents, and a password rule

    The sales order list shows 100 orders at a time. Documents accept JPEG, PNG, GIF, WEBP, and PDF. A new password needs 8 characters, an uppercase letter, and a number.

  2. v2.28.0

    v2.28.0: warehouse on the order, formula prices, and QuickBooks payments

    A sales order is filled from one warehouse. Prices can be a percent off the catalog or a percent on cost. QuickBooks payments update the invoice balance.

  3. v2.27.0

    v2.27.0: stock per warehouse, document numbers, and QuickBooks nets

    Stock is kept per warehouse, with existing rows on Main. Blank sales orders, purchase orders, and pallets get a number when you save. A QuickBooks-mode invoice sends the net line amount.

  4. v2.26.0

    v2.26.0: sell prices, invoice email, and a Main warehouse

    A sales order line can take a customer price, a price list, or a pack price. A posted customer invoice can be emailed as a PDF, with Reply-To set to the company billing email. Each company has a Main warehouse.

  5. v2.25.0

    v2.25.0: discounts and estimated tax on the order, and a parked channel row

    A draft wholesale order can store a discount and an estimated sales tax. A channel listing or order that fails five times in a row is parked, and Sync Health can unpark it.

  6. v2.24.0

    v2.24.0: a shipped order can be invoiced, a pick is not yet a shipment

    A shipped wholesale order can open a draft customer invoice from its header. An ecommerce pick is recorded as picked and not yet shipped, and on-hand stock waits for the shipment.

  7. v2.23.0

    v2.23.0: a dozen has a price, a reverse leaves nothing behind, one ship is one row

    Seventy-four commits. A dozen is sold as a dozen, with the price in the same unit. An opening-inventory reverse moves the ledger as much as the stock. One shipped unit writes one SHIP row, in the same transaction that moves it.

  8. v2.22.0

    v2.22.0 — the door closes, the catalog fits, the nine have a cause

    Public registration is closed. An opening inventory file of a real catalog runs in batches, with a progress bar and a named putaway failure. The nine unexplained products have a cause, and they are not fixed.

  9. v2.21.0

    v2.21.0 — the shortage gets a name, the pick gets a witness

    Fourteen sprints, four additive migrations. A line that cannot be found is closed short with a reason instead of hanging, the desktop pick is verified by scan, and the reconciliation number stops counting noise as a discrepancy.

  10. v2.20.0

    v2.20.0 — the ledger gets a guard, the error points at the field

    Nine sprints, zero migrations. Two ledger holes found by audit and closed before any customer could find them; a registry that makes the third one impossible to add silently.

  11. v2.19.0

    v2.19.0 — the three rescued items, the two orphans, orders that survive the tab

    Six sprints, two additive migrations, every one PO-smoked before merge.

  12. v2.18.0

    v2.18.0 — The queue empties itself

    New - **Print the SKU itself and its FNSKUs** (SKU-LABEL-01): the Print Unit Labels dialog always offers the SKU row — the "no active UOM barcodes" refusal is gone for good.

  13. v2.16.0

    v2.16.0 — Three sprints: over-receipt recorded, labels that scan back, credit and aging

    New - **Over-receipt on Removals is recorded, never refused** (MP-RETURNS-02): a completed Removal still classifies; extra units post with witness, `CHANNEL_RETURN_OVER_RECEIPT` becomes a derived n…

  14. v2.17.0

    v2.17.0 — Sign in with Google, the app wears its mark

    New - **Sign in with Google** (AUTH-GOOGLE-01): OIDC authorization-code flow, ID token verified server-side through Google's official library (JWKS, `aud`, `iss`, `exp`).

  15. v2.15.0

    v2.15.0 — Channel returns and the honest ATP strip

    New - **Channel Returns** (Warehouse Operations): receive marketplace removals and channel customer returns that have no local sales order.

  16. v2.13.0

    v2.13.0 — The product form breathes

    Minor release. No migrations. ## Operator-facing **The product form got a hierarchy.** Identity is one clean card (SKU, item code, and the lifecycle status chip). Supplier codes and scan aliases li…

  17. v2.14.0

    v2.14.0 — The desktop pack verifies

    Minor release. One additive migration (nullable witness columns). ## Operator-facing **A desktop packer can no longer close a B2B pack blind.** Every line must be scanned (exact match

  18. v2.14.1

    v2.14.1 — The app answers on its own subdomain

    Fixed - **CORS for the domain split** (#155): the backend now accepts requests from `app.dockingware.com`.

  19. v2.10.0

    v2.10.0 — Channel reserve: the last N pieces belong to B2B

    Minor release. One additive migration (nullable columns). ## Operator-facing **Per-product channel reserve.** Set "hold back N pieces" and/or "publish only X% " on a product and every sales channel…

  20. v2.11.0

    v2.11.0 — Alternate barcodes: the relabeled return scans home

    Minor release. One additive migration (new empty table). ## Operator-facing **Alternate barcodes per product.** Relabeled units

  21. v2.11.1

    v2.11.1 — alias reactivation fixed

    Scope Patch: SKU-BARCODE-01-HF1 (#138) — alias deactivate → reactivate no longer self-collides; the include-self UPC seal is untouched (failability-proven).

  22. v2.12.0

    v2.12.0 — Product lifecycle enforced

    Minor release. One additive migration (backfill runs before enforcement starts). ## Operator-facing **DRAFT, ACTIVE, and DISCONTINUED now mean something.** A DRAFT product cannot be sold

  23. v2.9.1

    v2.9.1 — Four small debts, one sweep

    Patch release. No migrations. - The mapping checkbox that read "On" now reads **Assemble fallback** with a tooltip

  24. 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…

  25. v2.8.1

    v2.8.1 — The badge measures connectivity

    Patch release. Deployed to `production` at `2d6b13bf` → superseded by this tag's head. ## Operator-facing **The dashboard hero badge now reports connectivity, not operations.** Green LIVE (internet…

  26. v2.7.0

    v2.7.0 — Bundles: sell the pack, stock the parts

    v2.7.0 — Bundles: sell the pack, stock the parts - KIT-01: Bundle engine (ecommerce v1) — a kit is a catalog/sales entity that is NEVER stocked.

  27. v2.8.0

    v2.8.0 — Named errors where the operator looks + an honest /health

    Frontend-only release.

  28. v2.6.0

    v2.6.0 — The packing bench buys its own labels

    v2.6.0 — The packing bench buys its own labels - C1: Parcel labels at the existing DTC ship gate — rates, buy, void and re-buy, label document, tracking stamped automatically onto the sales order a…

  29. v2.4.0

    v2.4.0 — The split floor: station console + pick-to-tote

    v2.4.0 — The split floor: station console + pick-to-tote - STATION-02: Desktop station console — keyboard-first pack bench over the same STATION-01 services; L17 golden proves console ledger is byt…

  30. v2.5.0

    v2.5.0 — Observability: the system screams first (first-client gate OPEN)

    v2.5.0 — Observability: the system screams first The release that opens the first-client gate.

  31. v2.5.1

    v2.5.1 — /health reports current Prisma state

    Patch: /health reports current Prisma state — a superseded July rolled-back row no longer degrades the probe (prod was reporting degraded while healthy).

  32. v2.3.0

    v2.3.0 — Ola S complete: the channel watches itself

    v2.3.0 — Ola S complete: the channel watches itself - S4: Channel hardening — webhook auto-verification with self-repair, silence detector with named alerts + auto-resolve on proof of life, order r…

  33. v2.2.0

    v2.2.0 — bump version to 2.2.0

    Rollback plan: re-deploy v2.1.0 (all migrations in range are additive — safe).

  34. v2.1.0

    v2.1.0 — Channel contract grows: inventory out, POs grow up

    v2.1.0 — Channel contract grows: inventory out, POs grow up - S2: Outbound inventory sync — ATP publicado a Shopify por evento + reconciliación (#46) - PO-ENRICH-01: Payment terms, direcciones estr…

  35. v2.0.0

    v2.0.0 — First formal release

    DockingWare v2.0.0 First formally tagged release.