Repository navigation
v0.8.0
0.8.0 (2026-08-24)
⚠ BREAKING CHANGES
- core:
SYNC_JOBS_EVENT_STREAMis no longer exported from@openlinker/core/sync. Theevents.sync.jobsstream it named is a ghost - nothing reads it, verified as having no remaining in-tree consumers - and the upgrade deletes it. Separately, Redis now runs withmaxmemoryset together withmaxmemory-policy noeviction, so an existing deployment already holding more data than the new limit will reject everydenyoomcommand, includingXADD, until the previously-unbounded streams are trimmed.XTRIMis not adenyoomcommand, so it stays available and is the way out. Run, in order:DEL events.sync.jobs;XTRIM events.inbound.webhooks MAXLEN ~ 50000;XTRIM events.inbound.webhooks.dead MAXLEN ~ 10000;XTRIM jobs.sync MINID ~ {epoch_ms_14_days_ago};XTRIM events.master.deletion.dead MINID ~ {epoch_ms_30_days_ago}. Then confirm withCONFIG GET maxmemory,CONFIG GET maxmemory-policyandINFO memory. Full procedure, sizing guidance forREDIS_MAXMEMORY, and the rationale fornoeviction: docs/operations/redis-stream-retention.md (refs #2163, #2223, #2226)
Features
- adapter-declared description format (DescriptionFormat contract + WYSIWYG editor) (#2204) (8021570)
- core,currency,orders: order-time FX rate snapshot + reporting-currency stamping (#2135) (c6c1e4f)
- core,worker,api,web: report the master capability rung + reconcile recency per connection (#2290) (6a335fd)
- core,worker: concurrency lanes — per-lane caps in the job runner (ADR-050) (#2294) (e913866)
- core/products: master capability ladder — modified-since rung + PrestaShop watermark spike (#2232) (e30c18e)
- dx: make the ADR reversal gates executable in check:invariants (#2291) (a46c1b4)
- fiscalization: Polish fiscal e-receipts via a neutral fiscalization capability (#1902) (#2137) (04b0ece)
- infakt: replace free-text baseUrl with Sandbox/Production dropdown (#2179) (e38d63c)
- listings,connections: make the category-resolve in-flight ceiling operator-visible (#2238) (6468944)
- listings,web: pre-submit offer validation in the bulk wizard (#2244) (6ec95e5)
- listings: recover a failed bulk batch without starting over (#2237) (b32d3ad), closes #2234
- listings: streamed per-variant progress for the bulk publish Resolve step (#2214) (bb1d455)
- orders,analytics: order analytics read model + sales/channel/top-products endpoints + per-line tax rate + net tax basis (#2014) (fd44889)
- sales-documents,invoicing,fiscalization,web: sales-document routing policy (ADR-041) (#2154) (#2161) (e089363)
- web/listings: product-tier category, honest blocker copy, seller-details preflight (#2241) (84153a6)
- web: add Open Graph / Twitter Card meta tags with demo-prefix support (#2175) (be37bff)
- webhooks,worker,sync: durable webhook spine + worker roles (ADR-049 D1, ADR-051) (#2295) (25111eb)
- web: show the destination integration + step-1 config on every bulk wizard step (#2239) (e533bc0)
- worker,identifier-mapping: bound and resume the master sweeps (#2218, #2219) (#2228) (9099a73)
Bug Fixes
- ci: make the docs-only path gate actually fire (predicate-quantifier) (#2297) (31270cf)
- core: bound every Redis stream and declare the memory policy (#2163) (#2226) (94ba20e)
- core: reconciliation as the deletion authority — deleted products stop selling (#2242) (d392f1c)
- core: recover Redis stream messages stranded between read and ACK + ADR-049 durability spine (#2223) (66bbb89)
- dx: unbreak main — register the sales-document routing knob, retire the superseded one (#2292) (b29359f)
- erli,core,web: surface why an Erli offer cannot sell instead of showing Draft (#2236) (8fdbedd)
- erli: default the offer-status sync scheduler task ON (#2235) (2177a7a), closes #2230
- ksef: surface session-crypto failures on Test connection instead of a generic message (#2444) (9adf2ac), closes #2443
- listings,connections: address review on the resolve-concurrency ceiling (#2274) (a4ea0bc), closes #2229
- prestashop: read the order's real currency instead of hardcoding EUR (#2439) (fb3e070)
- web/orders: stop claiming nothing has synced when a filter is simply narrow (#2149) (54e73a2)
- web: add the favicon set the app never had (#2183) (58d832c)
Miscellaneous Chores
This PR was generated with Release Please. See documentation.