Release 0.9.0
Some checks failed
CI / backend (push) Failing after 7s
CI / naming (push) Successful in 2s
CI / frontend (push) Successful in 9s
CI / migrations-mysql (push) Failing after 7s

Product version to 0.9.0, frontend in lock-step, Unreleased notes moved into a
dated section per ADR-007. The plugin contract stays at 0.16.0: it moved after
v0.8.1 and is already recorded in this release's notes, and nothing since
touched the contract surface.

A minor rather than a patch: collector behaviour changed in ways an integrator
must know about. A reported machine number no longer becomes the PC's asset
number, it builds a controls link instead; a second PC claiming a machine is
treated as a claim rather than a handover; and a backup revision chain is now
per source PC rather than per asset.
This commit is contained in:
cproudlock
2026-08-11 12:41:35 -04:00
parent bf75cdc43b
commit 105345fb3d
6 changed files with 15 additions and 5 deletions

View File

@@ -10,6 +10,16 @@ ADR-007 and ADR-002.
## [Unreleased]
## [0.9.0] - 2026-08-11
Driven by a fleet that had been failing quietly. A bay had been returning 500
to every collector report since it was imaged, backups were accumulating
duplicate revisions on any machine number more than one PC reported against,
and a setting that looked configurable had never been readable by the script
that consumed it. The theme of the release is making those failures visible:
each fix ships with the check, report or document that would have surfaced it.
### Fixed
- A shop-floor PC that reported the machine number of a machine ShopDB already

View File

@@ -25,7 +25,7 @@ Architecture decisions live in `docs/adr/`. Read those before making schema or c
- ADR-013: Plugin catalog, curated shelf, and lean per-site builds - PROPOSED
- ADR-014: Schema-lean per-site builds (retire cross-plugin FKs, prune not-installed plugin tables) - ACCEPTED
- ADR-015: Where a site's own data is allowed to live (setting with a neutral default, site-namespaced dir, or seed) - ACCEPTED
- ADR-016: Credential delivery to the fleet (ShopDB resolves targeting, encrypted at rest, dedicated fetch scope) - PROPOSED
- ADR-016: Credential delivery to the fleet (ShopDB resolves targeting, encrypted at rest, dedicated fetch scope) - ACCEPTED
## Coding convention

View File

@@ -1,6 +1,6 @@
# ADR-016: Credential delivery to the fleet
- Status: PROPOSED
- Status: ACCEPTED
- Date: 2026-08-11
- Deciders: cproudlock
- Relates to: ADR-006 (collector contract), ADR-012 (GE-Enforce manifest ownership), ADR-015 (site-specific configuration)

View File

@@ -28,7 +28,7 @@ Each ADR captures a single architectural decision: the context, the decision its
| [013](ADR-013-plugin-catalog-and-lean-builds.md) | Plugin catalog, curated shelf, and lean per-site builds | PROPOSED |
| [014](ADR-014-schema-lean-per-site.md) | Schema-lean per-site builds (retire cross-plugin FKs, prune not-installed plugin tables) | ACCEPTED |
| [015](ADR-015-site-specific-configuration.md) | Where a site's own data is allowed to live (setting, site directory, or seed) | ACCEPTED |
| [016](ADR-016-credential-delivery.md) | Credential delivery to the fleet (ShopDB-resolved targeting, encrypted at rest) | PROPOSED |
| [016](ADR-016-credential-delivery.md) | Credential delivery to the fleet (ShopDB-resolved targeting, encrypted at rest) | ACCEPTED |
## Authoring

View File

@@ -1,6 +1,6 @@
{
"name": "shopdb-frontend",
"version": "0.8.1",
"version": "0.9.0",
"private": true,
"type": "module",
"scripts": {

View File

@@ -48,7 +48,7 @@ __contract_version__ = '0.16.0'
# plugin-contract version above are distinct series with independent
# bump rules. Not part of the shopdb.api contract surface, so it is
# not re-exported there.
__version__ = '0.8.1'
__version__ = '0.9.0'
def create_app(config_name: str = None) -> Flask: