Skip to content

Releases: rdeneau/shopfoo

v1.4.1

12 Mar 19:44

Choose a tag to compare

1.4.1 (2026-03-12)

Bug Fixes

  • 🐛 FakeStore not accessible from Azure (f8cf980)

v1.4.0

12 Mar 15:43

Choose a tag to compare

1.4.0 (2026-03-12)

Features

  • 💄 improve about page disclaimer (a842c07)
  • 🖼️ add favicon.png (e242f21)
  • Actions: 🖼️ place "Last sale" before "Last purchase" (1b8b44e)

Bug Fixes

  • ⛓️‍💥 error 404 on Azure (333776f)
  • 🐛 "Highlight matches" toggle should apply to bazaar category, book author/tag filters (0375ba4)
  • 🐛 apply front-end search on OpenLib book search results to display the exact count (N found, P displayed) (30f7373)
  • 🐛 disable "Search Books on Open Library" for Bazaar products (60d9079)
  • 🐛 reset search term and sort when switching providers (648c9b7)
  • 🧪 failing Filters test (to be confirmed) (cae1219)
  • ManagePrice: 🐛 properly prevent price decrease in case of Increase, and vice versa (a318857)

v1.3.0

12 Mar 14:41

Choose a tag to compare

1.3.0 (2026-03-12)

Features

  • ✨ add Shopfoo.Data project (20f98d3)
  • ✨ add book from the Index page after a "search more" on Open Library (b636e1e)
  • ✨ add Error.Errors case and Result.zip (a110d55)
  • ✨ add Receive Purchased Products drawer (8d40910)
  • ✨ Add ReceiveSupply types and API contract (4772702)
  • ✨ add ReceiveSupply workflow with validation (41079e6)
  • ✨ display purchase prices with margin (b5de1db)
  • ✨ display sales stats; input sales (4b6da71)
  • ✨ edit book authors (w/o creation) (82c3fb1)
  • ✨ edit book subtitle (3b34445)
  • ✨ edit book tags (w/o creation) (2c7281d)
  • 👔 add book with empty prices and valid SKU-ISBN (960dc52)
  • 👔 detect and report DuplicateKey during AddPrices (8109594)
  • 👔 display provider cards in product index page when no provider is selected (71499fc)
  • 👔 filter books by tags, add SKU & BookTags columns, extend search (b74a324)
  • 👔 support custom LogLevel in WorkLogger (c66aab3)
  • 👔 use retail price (if any) as the default prices for sales to input (7bfa062)
  • 👔 wire ReceiveSupply server handler (d4cbd17)
  • 🖼️ add Checkbox and MultiSelect components (779955e)
  • 🖼️ add count indicators in the filter tab (0628b7f)
  • 🖼️ display last purchase price in an ActionsDropdown component (bb9fd42)
  • 🖼️ edit bazaar category (16b346d)
  • 🖼️ finalize Admin page: add translations, improve alerts (7ea6252)
  • 🖼️ improve "not found" error display relative to type name (31a301f)
  • 🖼️ improve bazaar category (location, styles) (d265086)
  • 🖼️ improve display relative to product category: books or bazaar (977de9d)
  • 🖼️ show active provider tab (a9ae587)
  • 🖼️ sort provider cards by text (lang sensitive) (6da4e76)
  • 🚸 Add toast notification on receive supply save (902e66a)
  • AddProduct: 🧪 indicate products already there with the new DuplicateKey DataError (b027071)
  • Admin: ✨ reset all caches + refactor Persona DU (cd872f5)
  • CatalogInfo: ✨ search book authors on Open Library in the MultiSelect dropdown (276436f)
  • CatalogInfo: 🖼️ display book author cover in the MultiSelect dropdown content (6a0e00a)
  • Effects: 👔 improve Interpreter (12acd52)
  • Filters: ✨ search options: match case, highlight matches (4af5c20)
  • FullContext: ✨ add UnitTestSession to ease unit tests (mock api, ignore cmd) (999dbc8)
  • MultiSelect: ✨ add "search more button" = "Add tag" for Books Tags (43b95ee)
  • MultiSelect: ✨ add "search more button" = "Add tag" for Books Tags (32019d3)
  • MultiSelect: 🖼️ improve the search box, esp. moved to the dropdown content (80953bd)
  • Product: 👔 support saga (instructions undo) (fa7394a)
  • Program: ✨ run workflows in a saga, undoing previously executed commands (1aa2765)
  • Saga: ✨ add undo criteria (959b032)
  • Saga: ✨ cancel workflow (afff5bc)
  • SaveButton: ✨ print error message as warning in the JS console (c36a9b6)
  • SearchBox: 🖼️ have "Search or add" placeholder when search more feat is activated (789d986)
  • Toast: 🖼️ add Dismiss prop (Auto or Manual) (82e9bec)

Bug Fixes

  • 🐛 adjust IndexTable (ed440e1)
  • 🐛 define SKU as a record to overcome JSON serialization issue on the Fable.Remoting side (63a0b76)
  • 🐛 encode Token with Persona, fix missing claims check (03868df)
  • 🐛 propagate lang change to the product pages (b3a1d6a)
  • 🐛 support book w/o covers (970baae)
  • 🐛 support no prices, no sales, no stock events in workflows (460a785)
  • 🐛 use div with key instead of fragment to avoid dreaded React error (8e39c57)
  • 🐛 use Uri.Relative in Data Clients (8380634)
  • 🔒️ encrypt tokens (39b0093)
  • Action/MarkAsSoldOut: 🐛 always trigger setSoldOut to apply the "SOLD-OUT" ribbon effect (9fd08f5)
  • Actions: 🐛 setSoldOut in an effect to avoid React errors (8c8a744)
  • Checkbox: 🐛 label should not be focusable for better a11y / keyboard xp (3e19310)
  • errorDetail: 🐛 format manually the exception, fix missing keys (7afeffa)
  • MultiSelect: 🐛 after search, "select all" means all visible items (4a61fab)
  • MultiSelect: 🐛 after search, only show matches or selected items (3365bba)
  • MultiSelect: 🐛clear button should not close the dropdown menu (432788e)
  • MultiSelect: 🖼️ focus the search input on dropdown menu opening (c2058c0)
  • Product/Guard: 💄 properly set PropertyName and EntityName (3b0ad26)
  • ProductsTable: 🐛 fix condition to detect book subtitle ([bfac3e6](bfac3e6701833eceba920ab91cfc...
Read more

v1.2.0

30 Dec 09:04

Choose a tag to compare

1.2.0 (2025-12-30)

Features

  • ✨ adjust stock after inventory (9e6d0f4)
  • ✨ fetch stock ; verifyZeroStock in MarkAsSoldOut workflow (a13beb9)

v1.1.0

24 Dec 17:07

Choose a tag to compare

1.1.0 (2025-12-24)

Features

  • ✨ add commits.html for the GitHub page to embed in the Status page (3782a2a)
  • ✨ implement "define list/retail price" using ManagePriceFrom (previously ModifyPrice) (abef0cf)
  • ✨ implement "mark as sold-out" (missing checking stock = 0) (a717e27)
  • ✨ implement "remove list price" (a10e5b6)
  • 🖼️ display a "sold-out" ribbon on the product image (6a7082b)
  • 🖼️ handle broken image url (at the UI level only) (65f10f6)
  • 🖼️ highlight selected menu (e385825)
  • 🖼️ improve product image rendering when broken or sold-out (dd3df7c)
  • 🖼️ use fontawesome: login, user icon (fe5b6a3)
  • 🖼️ use fontawesome: navbar (bbb6338)
  • 🖼️ use fontawesome: product details (03d5dff)

v1.0.0

20 Dec 23:10

Choose a tag to compare

1.0.0 (2025-12-20)

Features

  • 👔 translate Product/Actions (f41d884)
  • ♻️ revamp Errors: -HttpApi, -Validation, +Guard, +Category (c02927f)
  • ✨ add Core/Shopfoo.Effects (eb47aa4)
  • ✨ add Login and FullContext (🚧 ReactContext ✖️) (d124c0b)
  • ✨ add product image (7ce1e5d)
  • ✨ add products (f99b6d6)
  • ✨ add the "not found" page (ba95a70)
  • ✨ display product details (db706a9)
  • ✨ display real retail prices, in € or $ with the symbol position (right vs left) (4d4dbcc)
  • ✨ improve Common project (iso SCM) (70336ee)
  • ✨ increase/decrease prices, open/close drawer (73a97d1)
  • ✨ save product (95476d3)
  • 🏗️ add Server build target (2efc00c)
  • 🏗️ add simple console logger (b814935)
  • 👔 add Admin page to test the user access (b0f1bbc)
  • 👔 after login, navigate to product/index only from the Login page (5c18b9d)
  • 👔 validation product in SaveProduct workflow (b63d926)
  • 🔐 check access to product actions (87361e5)
  • 🔐 check access to Product pages, redirecting to NotFound when needed (c74f9b4)
  • 🔐 check product edit access (96f67a1)
  • 🖼️ add 4 themes, display preview badges (71de84f)
  • 🖼️ add Alert.apiError to display details for Admins (867826b)
  • 🖼️ add theme changer in the nav bar (6704db9)
  • 🖼️ display toast after lang changed (aef0b6c)
  • 🖼️ handle product not found nicely (1eee2cc)
  • 🖼️ improve LangDropdown (7ec18a2)
  • 🖼️ improve theme preview, ⚡ add fast build commands (887a929)
  • 🖼️ light theme (079f5b8)
  • 🖼️ replace page title with the breadcrumb inside the app-navbar (0b1b718)
  • 🖼️ revamp Login page: display user claims in a table (bff952e)
  • 🖼️ setup UI (🚧 no behaviors) (c329945)
  • 🖼️ translate ThemeDropdown (fd317ec)
  • 🖼️ use breadcrumb as page title (2095524)
  • 🖼️ use emoji and persona wording (instead of demo user) (7a8dfa8)
  • 🖼️ validate catalog info on the client side (42116cb)
  • about: ✨ add badges with package info (a68765f)
  • Errors: ✨ add Validation, improve Guard (1b49641)
  • implement GetAllowedTranslations, GetProducts (c01b1ef)

Bug Fixes

  • 🐛 display "Shopfoo > Products" properly in the AppNav (instead of just "Shopfoo") (1d02288)
  • 🐚 replace remaining SAFEr (from the template) to Shopfoo (app name) (0883fee)
  • 🐛 add missing React keys, fix change lang (f0faaee)
  • 🐛 clear the Toast once hidden (b0c96db)
  • 🐛 delay the nav to Login in About w/o translations, to avoid React error (73fa23f)
  • 🐛 really save the product (0415993)
  • 🐛 refresh saved prices, ✨ cancellable closing countdown (e8ec58d)
  • 🐛 remove the focus to fix the menu hiding on mouse out (415f5c3)
  • ci: 🏗️ fix update-release-date (9672d23)
  • View: 🐛 separate pageToDisplayInline from access check (2b20619)