Releases
v0.4.0
Compare
Sorry, something went wrong.
No results found
0.4.0 (2026-07-27)
Features
api/auth: theme-aware transactional email layout derived from app design tokens (#1750 ) (135605c ), closes #1748
auth: allow login with username or email (#1730 ) (d20e998 )
auth: capture analytics consent at registration, drop post-login prompt (#1744 ) (42a161b )
auth: self-service analytics consent toggle on /settings (#1884 ) (49a5ae9 )
dpd: add ConnectionTester so 'Test connection' runs a real auth probe (#1732 ) (#1733 ) (b2342e8 )
erli: fulfillment routing for Erli sources + routing-split bar (#1740 ) (6224d18 ), closes #1738 #1739
erli: implement OfferReader so listing details render for Erli (#1735 ) (#1736 ) (2eee690 )
infakt: webhook config modal - set signing secret + status (#1770 ) (#1773 ) (aebc7cb )
listings: per-variant bulk offer config (#1741 ) (#1757 ) (c2fc423 )
listings: reconcile stale terminal offer status against live Allegro publication (#1760 ) (#1762 ) (35cfbee )
listings: unify offer creation via multi-select picker + bulk wizard (#1754 ) (#1774 ) (5fa88bb )
listings: unify publish flow + WooCommerce field completeness (epic #1838 ) (#1870 ) (65cb8a5 )
orders: mapping-aware delivery + non-Allegro ship-by (epic #1776 ) (#1782 ) (a277764 )
products: polish product detail page — full-width variant table, rich listing drawer, mobile layout (#1753 ) (5dde2d4 )
products: product-detail round-2 — rich variant drawer, single/multi states, master currency & attributes (#1756 ) (8764423 )
web/data-table: frozen columns, pinned bulk-action bar, viewport-pinned accordion drawer (#1758 ) (6e825bc )
web/mappings: connection-pair strip, resolved labels, responsive layout (#1784 ) (#1809 ) (a318ffd )
Bug Fixes
api/auth: add OL_COOKIE_DOMAIN for split-subdomain deploys (#1725 ) (#1726 ) (1dcf363 )
api/integration-tests: disable four core scheduler tasks in the harness (#1889 ) (7281a10 ), closes #1888
content: allow viewer role read-only access to content tab (#1880 ) (3c558eb )
dpd: carrier population, rejection diagnosability, sender-postcode hint (#1775 , #1777 , #1778 ) (#1781 ) (95bca6d )
erli: reconcile frozen-field protection to the verified frozen{} object shape (#1759 ) (f3a4dd2 )
inpost: flatten nested ShipX field-errors so target_point rejections classify correctly (#1816 ) (bafe267 )
invoicing: thread buyer e-mail to Infakt so send-by-email stops 422ing (#1811 ) (e824f68 )
mailer: validate fromAddress shape and reject CRLF header injection (#1771 ) (dfa897f ), closes #1765
web/connections: generalize escape-hatch banner copy on advanced setup page (#1746 ) (8792da9 ), closes #1745
web/connections: WooCommerce setup wizard with capability selection (#1727 ) (#1731 ) (4dd3848 )
web/demo: mask passwords only in PostHog session recordings (#1877 ) (#1878 ) (7e23bfa )
web/mailer-settings: accept display-name form in From address field (#1761 ) (7469e3c )
web/orders: match products table header alignment and density (#1751 ) (9a23b17 ), closes #1747
web/orders: surface ShipX per-field validation details in the label-error Alert (#1812 ) (328a17d )
worker: cap master.product.syncAll default page size at 100 (#1723 ) (#1724 ) (62ed30b )
You can’t perform that action at this time.