Establish libreshop/shop as a publicly versioned base image with documented override surface and SemVer guarantees, so adapters (mp and future) can pin and migrate safely.
Acceptance
CHANGELOG.md in libreshop/shop with semver convention:
Minor = additive (new components, new optional config)
Patch = bugfix
Each major release ships a migrations/vX-to-vY.md with concrete adapter migration steps (codemod scripts where feasible)
CI publishes git.librete.ch/libreshop/shop:vX.Y.Z + :vX + :latest on tag push (already configured for :vX.Y.Z; add semver moving tags)
Bare image is functional and deployable — running docker run libreshop/shop:vX.Y.Z produces a working demo shop with placeholder branding
README documents the public override surface (links to ls#4 outcome)
No further changes to internal components without major bump if they are part of the surface
Part of https://git.librete.ch/libreshop/shop/issues/2
## Goal
Establish libreshop/shop as a publicly versioned base image with documented override surface and SemVer guarantees, so adapters (mp and future) can pin and migrate safely.
## Acceptance
- [ ] `CHANGELOG.md` in libreshop/shop with semver convention:
- **Major** = breaking override surface (component renamed/removed, slot signature changed, frontmatter/composable shape changed, env-var rename)
- **Minor** = additive (new components, new optional config)
- **Patch** = bugfix
- [ ] Each major release ships a `migrations/vX-to-vY.md` with concrete adapter migration steps (codemod scripts where feasible)
- [ ] CI publishes `git.librete.ch/libreshop/shop:vX.Y.Z` + `:vX` + `:latest` on tag push (already configured for `:vX.Y.Z`; add semver moving tags)
- [ ] Bare image is **functional and deployable** — running `docker run libreshop/shop:vX.Y.Z` produces a working demo shop with placeholder branding
- [ ] README documents the public override surface (links to ls#4 outcome)
- [ ] No further changes to internal components without major bump if they are part of the surface
Folded into the single muellerprints.de tracker libretech/mp#50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.
Folded into the single muellerprints.de tracker https://git.librete.ch/libretech/mp/issues/50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #2
Goal
Establish libreshop/shop as a publicly versioned base image with documented override surface and SemVer guarantees, so adapters (mp and future) can pin and migrate safely.
Acceptance
CHANGELOG.mdin libreshop/shop with semver convention:migrations/vX-to-vY.mdwith concrete adapter migration steps (codemod scripts where feasible)git.librete.ch/libreshop/shop:vX.Y.Z+:vX+:lateston tag push (already configured for:vX.Y.Z; add semver moving tags)docker run libreshop/shop:vX.Y.Zproduces a working demo shop with placeholder brandingFolded into the single muellerprints.de tracker libretech/mp#50 during the 2026-09-24 cleanup: no activity since 2026-05-04. Reopen when work resumes.