Repository navigation
v0.7.0
Minor Changes
-
#204
b4b84fbThanks @saariuslystoned! - Commit catalog price, manual availability, submitted feed choices and multi-choice weight saves atomically within the default sandbox budget. Reject stale forms and distinguish a confirmed save from a failed panel refresh or unknown write outcome.Existing values are read through until saved into the product record. Direct kernel price, availability and feed readers require the catalog reader as their third argument. Older binaries must not write concurrently or be installed as a downgrade without a data conversion.
-
#213
390ab48Thanks @saariuslystoned! - Record a billing address on every checkout. Checkout contact accepts and requiresbilling(same shape and checks asdelivery, any country, refused asBILLING_INVALID) and freezes it with the order. The Orders detail now shows the customer's email and phone, Ship to and Bill to ("Same as delivery address" when equal, "Not recorded" on older orders). The agents'ordersroute anddinkus-commerce orders showreturnbillToandbillToMatchesShipTo. Storefronts must sendbilling; the template store's checkout form ships with this release. -
#201
71b1595Thanks @saariuslystoned! - Agents and tools can manage products through the privatecatalogroute with an EmDash API token: list, get, create, link, prices and stock status, choices, SKU, weight, identifiers, archive, pictures and feeds, with the same checks as the product page panels. Thedinkus-commerceCLI gains product commands on that route, each previewed with--dry-runand sent with the--confirmvalue it printed, which Commerce checks before it saves. A smaller Registry build makes room for it without removing anything. -
#200
20b5196Thanks @saariuslystoned! - Flat shipping can be free over an amount the owner sets in Set up Commerce at DinkusKit.com. Commerce asks DinkusKit.com for that amount and charges no shipping once an order's goods, after any discount, reach it. -
#208
11d24e4Thanks @saariuslystoned! - Commerce keeps the link between a product page and its product, so a product page no longer needs a Commerce product field that people could type into. The Dinkus Commerce panel links the page without filling or saving anything on it, and stops asking for theadmin.editor-draft:patchpermission.catalog-items/set-on-saletakes the page alone and finds its product: a publish sells the panel's pick, and an unpublish, delete or title change acts on what the page last sold. The privatecatalogroute'sgettakes a page'sentryIdto answer the product that page sells, Drafts included. The public catalog lists each product'spage, andcatalog/public/item?pageId=finds the product a published page sells, so a storefront reads the link from Commerce.Update the store's template with this release. A template that still reads the page's Commerce product field when it publishes keeps selling the pages that have it filled in, but a page linked in this panel would publish without going on sale.
-
#188
3846c70Thanks @saariuslystoned! - The product page title is the product's one name. The store's publish check may send the page title asnamewithcatalog-items/set-on-sale, and Commerce saves it in the same write that puts the product on sale, so the shop, cart, checkout and new orders show it. A write withnameand noonSaleonly renames the product the page already sells, never changing whether it is for sale, so the store can catch up with a title that changed under an overlapping publish. The Dinkus Commerce panel no longer has its own Name field and Rename button.Update the store first: its publish check must send the title (dinkuskit/template-store#158) before it takes this release. A store that takes Commerce first keeps selling and keeps each product's current name until its store code is updated.
-
#196
73be237Thanks @saariuslystoned! - A product page gets a second sidebar panel, "Product image & gallery", for the product's picture and up to eight gallery pictures from the Media Library, so they no longer sit at the bottom of the Dinkus Commerce panel. The Dinkus Commerce panel now says "Simple product. Add a choice, like Size, to sell it in more than one version." on a product with no choices. Store settings read the country list in less space; the accepted countries are unchanged. -
#195
f9a5456Thanks @saariuslystoned! - The Dinkus Commerce panel tells the owner when a product has no Regular price. It says "Add a Regular price to sell it" under the state line, a published page's unpriced product reads "Published: off the shop" instead of "On sale", and a Save that leaves Regular empty answers with the same words as an info notice instead of "Product saved". Saving a choice's price with Regular empty answers the same. What is for sale does not change: a missing Regular price still keeps the product off the shop.
Patch Changes
-
#198
f7c6071Thanks @saariuslystoned! - When the site scheduler hangs long enough for a second try to start, a late failure from the first try no longer makes Commerce forget that the second try registered its 5-minute background check. Switching Commerce on still forgets any earlier registration and writes the check again. -
#183
28dd633Thanks @saariuslystoned! - Guard catalog price updates and clears withgetVersioned,compareAndSet, andcompareAndDeleteretries so concurrent Regular and Sale edits revalidate invariants and never clobber sibling fields. -
#209
501bc9aThanks @saarius! - Fail closed when a requested CLI configuration profile is missing or malformed. Inherited JavaScript property names no longer count as defined profiles, and selected profiles/maps must be JSON objects before any HTTP request. This prevents a malformed selection from silently dispatching an authenticated change to the base site. Explicitly defined names, valid overrides, configuration precedence, and project-config credential restrictions are unchanged. -
#210
08483daThanks @saarius! - Report CLI timeouts and dropped connections while reading a response body as transport failures (exit 3), not internal errors (exit 5). Keep raw transport exceptions, including request-level abort errors, out of command output and do not retry possibly applied writes. -
#216
9655633Thanks @saarius! - Report an unknown outcome (exit 3) when Ctrl-C interrupts a catalog or order change after dispatch starts, instead of falsely saying nothing was sent (exit 4). Read-only preflights, blocked requests and already-cancelled changes do not mark a write as sent. -
#182
4e15ae5Thanks @saariuslystoned! - Deduplicate site-scope origin resolution, guest capability header parsing, catalog route error translation, and redundant catalog/coupon helpers to reclaim Registrybackend.jsbundle headroom. -
#223
6871875Thanks @saariuslystoned! - Build and test against EmDash 1.4.0. The runtime peer and the recorded EmDash compatibility move to exactemdash1.4.0. The Registry bundle is byte-for-byte unchanged; the reference article now says Commerce requires EmDash 1.4.0. -
#207
1d20f26Thanks @saarius! - Reject malformed explicit Payments readiness flags before creating a payment session, matching the existing readiness check. Continue accepting successful bindings without a readiness flag and allow historical lookup when current payment creation is not ready. -
#225
bde1b17Thanks @saariuslystoned! - Improve the EmDash Registry listing with DinkusKit branding, website and documentation links, search keywords, setup guidance, and real demo screenshots.Carry checksummed listing media through the delegated release flow with no-clobber GitHub release assets and post-publication image verification.
-
#226
59b8e5dThanks @saariuslystoned! - Publish the Registry icon and screenshots through the EmDash release-action
from emdash-cms/emdash#4467, so a new release carries its listing artwork. -
#215
a484f0fThanks @saariuslystoned! - Remove the "Allowed selling/customer countries" box from Commerce settings. Nothing enforced it; checkout only checks shipping destinations. Saved lists stay stored so older records and seeds still load, and a stale form that still sends the box is ignored. -
#181
706e5e9Thanks @saariuslystoned! - Retry storage compare-and-set races on non-owner order metadata (shipVersion,number) inchange()before reporting contention so Ship label sync never acknowledges a label without persisting order completion. -
#211
2370818Thanks @saarius! - Correct merchant settings guidance to distinguish physical shipping-destination checks from the selling/customer list, which checkout does not enforce. Align the settings documentation with the existing checkout contact requirements. Checkout policy and persisted settings are unchanged.