# Changelog

## 1.3.0 — 18 July 2026

- Removed the single-product campaign mode from the interface.
- Removed the product dropdown, single-item radio control and “Boost this item” actions.
- Forced the campaign engine to use every marketable SHIRE3D product even when a caller supplies `productMode: single` or a product ID.
- Added guaranteed full-catalogue coverage before any product repeats.
- Added YouTube Shorts to platform planning, labels, scheduling and captions.
- Added a dedicated Accounts step for Facebook, Instagram, LinkedIn, TikTok and YouTube Shorts.
- Added official OAuth authorization-code routes for all five account types.
- Added server-side CSRF state protection and TikTok Desktop PKCE.
- Added memory-only OAuth token sessions and explicit disconnect controls.
- Added provider setup status, exact localhost callback addresses and safe missing-configuration handling.
- Added a Windows DPAPI helper for encrypting developer secrets outside the browser.
- Added Linux environment-file example and secret exclusions in `.gitignore`.
- Added social-account setup documentation and platform-specific approval warnings.
- Kept real social posting disabled until developer-app approval and platform publishers are separately implemented.
- Added launcher version detection so an old Forge process on port 4173 cannot silently reopen the earlier one-product interface.
- Changed the service worker to update immediately and prefer current network assets over stale cached scripts.
- Added a visible v1.3.0 label in the sidebar.
- Added OAuth bridge safety tests and adversarial full-catalogue tests.
- Preserved Ray-only exact-version approval, paused publishing, emergency stop, duplicate prevention and the Kitchen Hero boundary.

## 1.2.0 — 18 July 2026

- Replaced internal engineering-style generated text with customer-friendly product marketing.
- Removed public-copy phrases such as “approved listing,” “development focus,” “repeatable print quality,” “honest production information” and “qualified interest.”
- Stopped private campaign directions from being pasted into customer captions.
- Added full-catalogue rotation and fair exposure ranking.
- Added automatic post-count expansion for larger catalogues.
- Added product-specific images, names, prices, descriptions and shopping links.
- Added customer-copy, catalogue-coverage and legacy-copy migration tests.

## 1.1.0 — 18 July 2026

- Added automatic public-product discovery for `shire3d.com`, `shire3d.com.au` and shire3d.etsy.com.
- Added a dependency-free local Node.js server using only built-in modules.
- Added fixed source allowlisting, automatic sync, caching, deduplication and source-priority logic.
- Added website catalogue and parser tests.

## 1.0.0 — 18 July 2026

- Rebuilt the Forge as a dependency-free local easy-mode app.
- Added guided product, preparation, review and sandbox publishing screens.
- Added Kitchen Hero boundary scanning and local JSON backup/import.
