Skip to content

v0.2.10

Latest

Choose a tag to compare

@github-actions github-actions released this 03 Sep 09:40
92fd835

To update the prebuilt executable you can run ./mycart update

Changelog

thanks @nikescar !!

New Features

  • 0804e84 feat(admin): add KRW to currency dropdown
  • 21ee40e feat(admin): add Korean language support
  • f811ac0 feat(admin): add Number Formatting UI section
  • 61aabd4 feat(admin): add PortOne TypeScript types and validation
  • a345cad feat(admin): add PortOne settings component
  • f8c1921 feat(admin): add PortOne translations
  • 747dd8e feat(admin): add SymbolDisplaySettings TypeScript interface
  • 49bee93 feat(admin): add TruncationSettings UI component
  • fed95a6 feat(admin): add currency configuration and formatting
  • e17e87c feat(admin): add currency name translations (en/ko/zh)
  • 6379617 feat(admin): add debug toggle and currency multi-select UI for PortOne
  • 3b3734f feat(admin): add number formatting to currency functions
  • 2d533c3 feat(admin): add payment settings store
  • 1dfa7e5 feat(admin): add symbol display UI controls
  • 4b83417 feat(admin): add symbol mode to formatCurrency functions
  • 8d54b9f feat(admin): apply symbol display to cart and product views
  • 924ce3b feat(admin): integrate PortOne into payment settings page
  • 6a19194 feat(admin): integrate truncation settings into payment page
  • f2ef646 feat(admin): load payment settings on mount
  • 4dca47a feat(admin): move quantity field after variants section
  • a4a874b feat(admin): use formatCurrency in carts list
  • 06f25a1 feat(backend): add NumberFormatSettings to Payment model
  • 8a4ead7 feat(backend): add SymbolDisplaySettings type and validation
  • 91201bb feat(backend): add symbol_display JSON serialization
  • 8a86155 feat(backend): add truncation types to Payment settings
  • f7b7f2a feat(backend): expose payment settings to storefront
  • 9999fa3 feat(cart): add validation error handling and modal
  • ca34f79 feat(cart): add variant-required and price validation
  • e8eceaa feat(cart): add yellow highlighting for validation errors
  • 1fd7a3b feat(cart): send unit_price in cart creation for validation
  • 31cd128 feat(csv): add brief, images, attributes to import
  • 77e9f6c feat(csv): implement B3 variant format import
  • 3aa3316 feat(csv): update export with new column format
  • ff9200b feat(docker): add multi-stage Dockerfile for source builds
  • 3ce845e feat(docker): add nginx-proxy with acme-companion for automatic SSL
  • 12819eb feat(frontend): add Japanese translations for JPY currency
  • abbac02 feat(frontend): add truncation TypeScript types
  • c8be012 feat(frontend): implement currency truncation formatting logic
  • 64395d7 feat(frontend): update currency unit patterns
  • 1a636b0 feat(handlers): add PortOne payment verification endpoint
  • c12eab2 feat(handlers): add PortOne public config endpoint
  • ca520f7 feat(handlers): add PortOne webhook endpoint
  • d478bb9 feat(handlers): integrate cart validation in CreateCart and Payment
  • b3d6663 feat(handlers): register Portone in settings registry
  • ef1d44f feat(i18n): add cart validation error messages
  • 50961bf feat(i18n): add slug placeholder and error translations
  • 6d2ac1f feat(models): add Portone payment gateway settings
  • 11c3b41 feat(models): add cart validation result structs
  • 099567d feat(portone): add debug_enabled and supported_currencies fields
  • 3485f5d feat(portone): expose debug_enabled flag in config endpoint
  • b6b3ada feat(portone): filter provider by supported currencies
  • b408128 feat(products): add auto slug generation on name blur
  • 5a68fe9 feat(queries): add Portone to settings and payment methods
  • 24e65cb feat(queries): add cart validation function
  • bcc6c7d feat(site): add Korean language support
  • 7d16830 feat(site): add PortOne translations and payment util
  • ffb5e76 feat(site): add conditional debug logging and currency formatting
  • 9d3e366 feat(site): add currency configuration with KRW support
  • a422351 feat(site): add currency formatting utility
  • 97fc965 feat(site): add locale-aware currency formatting utility
  • 5956a4c feat(site): install PortOne browser SDK and add types
  • 30188a2 feat(site): integrate PortOne payment in cart page
  • e0e3c2d feat(site): use formatCurrency in cart display
  • fca747a feat(site): use formatCurrency in payment success page
  • f0b14e3 feat(storefront): add SymbolDisplaySettings TypeScript interface
  • 4d83217 feat(storefront): add currency name translations (en/ko/zh)
  • cfddd07 feat(storefront): add number formatting support
  • d925a98 feat(storefront): add symbol mode to ProductCard component
  • b14e547 feat(storefront): add symbol mode to cart page
  • 6f7404c feat(storefront): add symbol mode to formatCurrency functions
  • 62d9839 feat(storefront): add symbol mode to product detail page
  • 6ede640 feat(storefront): update ProductCard to use truncation formatting
  • 8fdfe5e feat(utils): add slug generator with API and fallback
  • 70de277 feat: add 12 VitePress plugins for enhanced documentation
  • 62324f5 feat: add KRW currency option and Korean PortOne translation
  • 1f461a1 feat: add Korean i18n with VitePress native localization
  • 8b0ee4a feat: add Solidebase documentation configuration
  • 91d60d9 feat: add Swagger API documentation with GitHub Pages deployment
  • a99f2af feat: add automated testing and quick start guide
  • b636560 feat: add development Docker setup for testing PortOne
  • a586ff3 feat: add index.html for Solidbase theme entry point
  • 74f03f7 feat: add product variant support to cart and order system
  • 54548b1 feat: allow E2E tests to fail without blocking deployment
  • 467fc03 feat: enhance product variant support in cart and UI
  • fda2d27 feat: implement product variants with full inventory management
  • bd559ad feat: let Patchright manage server lifecycle with graceful shutdown
  • bc13b8c feat: replace Solidbase with VitePress for documentation
  • d9de049 feat: show PortOne payment only for KRW currency
  • 678c08e ✨ feat(security): harden auth, payments, Docker, and CI

Bug fixes

  • 96e12fc Revert "fix(admin): add stable sort to prevent duplicate keys in pagination"
  • 77aaed4 Revert "fix(frontend): clear products array before loading to prevent duplicate keys"
  • a239b50 Revert "fix(frontend): prevent race condition in loadProducts"
  • a2e318a Revert "fix(frontend): use immutable array updates to prevent duplicate keys"
  • 8fcaee6 Revert "fix(pagination): add ORDER BY clause for deterministic product listing"
  • 074b213 Revert "fix(pagination): use index as key to prevent duplicate -1 values"
  • 078f996 fix(admin): UI improvements for Payment Settings
  • ce2f206 fix(admin): add complete Korean translations for all admin pages
  • be5cc4f fix(admin): add missing Korean translations for product form
  • 39858af fix(admin): add missing translations for payment settings page
  • ede02ed fix(admin): add stable sort to prevent duplicate keys in pagination
  • 7ce103d fix(admin): resolve input unfocus bug in product variants
  • 663c01e fix(admin): show truncation settings only for selected currency
  • 48e59b4 fix(backend): add nil check in validateTruncation
  • 46f9270 fix(build): resolve npm install and build errors for Vite 7/Svelte 5
  • e938195 fix(cache): add version-based cache invalidation for storefront settings
  • fc5f30a fix(cache): use localStorage for cross-tab version sharing
  • f253f05 fix(cart): add quantity field to ListProducts query for validation
  • 801930d fix(cart): add set() method to cartStore for validation updates
  • 0f24489 fix(cart): show validation modal and add quantity field
  • 618c2e2 fix(csv): load full product data for variant export
  • 6e1e7cc fix(db): change metadata default from '{}' to '[]'
  • 45c0bcc fix(docker): update image registry to ghcr.io
  • 9090408 fix(docker): use latest golang:alpine for Go 1.26.1+ support
  • a407ab1 fix(frontend): clear products array before loading to prevent duplicate keys
  • 2b60452 fix(frontend): prevent race condition in loadProducts
  • e4939fd fix(frontend): use immutable array updates to prevent duplicate keys
  • 2d723e5 fix(frontend): use native locale for KRW/JPY currency units
  • e42f064 fix(i18n): correct parameter syntax in importSuccess message
  • 10e0302 fix(overlay): add Svelte 5 snippet support for children content
  • c7d135b fix(pagination): add ORDER BY clause for deterministic product listing
  • 29569ef fix(pagination): use index as key to prevent duplicate -1 values
  • 7d15c89 fix(pagination): use unique keys for leading and trailing ellipses
  • 9666d96 fix(portone): add cart create endpoint and fix payment request parameters
  • b45ddb8 fix(portone): change payMethod back to EASY_PAY to match channel config
  • 69c6b9d fix(portone): remove COEP header and add CSP for iframe compatibility
  • 4b0bf03 fix: add NPM_CONFIG_LEGACY_PEER_DEPS for Solidebase build
  • 5abecc5 fix: add missing test IDs and improve E2E cart test reliability
  • 1caadb5 fix: bundle vitepress-plugin-* packages for SSR to fix docs:build
  • c20526f fix: correct import path for formatCurrency utility
  • 2024aeb fix: correct logging API calls and route ordering for PortOne
  • 3b5f7eb fix: correct types in payment validation functions
  • eaeb815 fix: exclude AGENTS.md from Solidbase documentation build
  • 5f43edc fix: exclude docs directory from Solidbase theme build
  • 7336be2 fix: generate Swagger documentation before building Go binary
  • 7d77e42 fix: increase SMTP username and password character limit from 20 to 100
  • 980831f fix: install patchright and use correct test command in CI
  • 7bdbff6 fix: open API and E2E links in new tab
  • ed13737 fix: reload cart from localStorage on page mount
  • 1e73c68 fix: remove error masking from CI workflow and fix playwright import
  • ac26917 fix: repair broken docs site links (readme.html 404, API links, dead pages)
  • 5145731 fix: repair broken image links and add missing Korean translations
  • 77f2385 fix: replace fiber-swagger with static serving for Fiber v3 compatibility
  • 3c82c94 fix: resolve VitePress doc build failures in Korean readme and copy-readme plugin
  • 9c32dcd fix: revert to correct patchright/test import
  • 5e1972c fix: use official GitHub Pages deployment action
  • e02898a fix: use raw GitHub URLs for images in readme
  • 92fd835 🐛 fix(release): pass --provenance=true to docker buildx

Build process updates

  • 124b2d8 🔧 build(deps): bump actions/checkout from 4 to 7
  • 3b0e799 🔧 build(deps): bump actions/checkout from 5 to 7
  • ad36499 🔧 build(deps): bump actions/configure-pages from 5 to 6
  • 4238cff 🔧 build(deps): bump actions/deploy-pages from 4 to 5
  • be92fe4 🔧 build(deps): bump actions/setup-go from 6 to 7
  • 5227e52 🔧 build(deps): bump actions/setup-go from 6 to 7
  • a3ded91 🔧 build(deps): bump actions/setup-node from 4 to 7
  • be5851a 🔧 build(deps): bump actions/upload-pages-artifact from 3 to 5
  • a3bf449 🔧 build(deps): bump github/codeql-action from 4.37.4 to 4.37.7
  • 63e5fff 🔧 build(deps): bump github/codeql-action from 4.37.7 to 4.37.9

Other work

  • 2928adf Add ACME/HTTPS implementation design spec
  • 5e39cda Fix portone migration: add Goose directives
  • c14fca6 Revert "test(pagination): add comprehensive pagination consistency tests"
  • d596c49 chore(admin): placeholder for admin price display updates
  • 57c49cc chore. gitignore update.
  • 0868ef7 chore. remove unnecessary parts.
  • 97d00f1 chore. removing dev files.
  • 5fc9dbc chore. update website index page.
  • c5bdc5b chore: move development files to tmp and update gitignore
  • 2f81712 chore: remove CLAUDE.md from version control
  • f18c433 chore: remove VitePress cache from git tracking
  • c5bbc2d chore: remove completed plan and spec documents
  • a6eb8aa chore: remove debug console.log statements
  • fe6c5fe chore: remove tmp files from version control
  • 80a8fec chore: remove unnecessary documentation files
  • 3afd258 chore: remove unused Solidbase theme test script
  • 876cd7e debug: add comprehensive console logging for duplicate key investigation
  • 55aca9f debug: add verification markers to confirm new code is running
  • 8ffaa8a docs(csv): update format guide to reflect new CSV structure
  • 20d1e3f docs(readme): add environment variables documentation for docker-compose
  • be86c6c docs: add OpenBSD native modules setup and --legacy-peer-deps guide
  • 4c12250 docs: add PortOne migration notes
  • f96564e docs: add PortOne payment gateway documentation
  • 5d0e1e2 docs: add auto slug generation feature design spec
  • 16f8036 docs: add cart price validation and inventory UI spec
  • 0afe742 docs: add cart validation implementation plan
  • fb190f4 docs: add cart validation system design spec
  • 4766f5d docs: add complexity refactoring design spec
  • 71ab521 docs: add complexity refactoring implementation plan
  • 6912844 docs: add comprehensive PortOne implementation summary
  • 411f5f7 docs: add comprehensive testing readiness guide
  • 2209928 docs: add currency symbol display implementation plan
  • 99a67fe docs: add currency symbol display mode design spec
  • 26910fb docs: add currency truncation implementation plan
  • 463afbb docs: add currency unit truncation design spec
  • 0889019 docs: add decimal precision settings design spec
  • c3f3025 docs: add implementation plan for auto slug generation
  • 694770a docs: add manual test checklist for PortOne enhancements
  • 2780d67 docs: consolidate documentation and update build artifacts
  • 273bdf4 docs: simplify CLAUDE.md to reference AGENTS.md
  • 66a7e8a docs: update swagger-setup.md with Fiber v3 compatibility notes
  • 6a8176e refactor(admin): combine mode and unit into single dropdown
  • fbaeb32 refactor(admin): extract helper from openEdit to reduce complexity
  • 72f374f refactor(admin): extract helpers from handleSubmit
  • be4838b refactor(admin): improve Payment Settings UI
  • 81649eb refactor(cart): reduce checkOut complexity by extracting helper functions
  • cbde097 refactor(csv): remove old variant parsing code
  • 4aaad28 refactor(csvimport): reduce cyclomatic complexity by extracting helper methods
  • 21965bc refactor(products): extract helpers from AddProductWithVariants
  • 5099374 refactor(products): extract helpers from loadProductOptions
  • 5fb5f70 refactor(test): extract helpers from CSV ImportExport test
  • d80edbd refactor(test): extract helpers from ProductWithVariants test
  • 2cabbf8 refactor: move build-time dependencies to devDependencies
  • ca46aa3 refactor: reduce code complexity below 15 threshold
  • a22f210 refactor: reduce cyclomatic complexity in payment handlers
  • b870a21 refactor: reorganize documentation structure for unified GitHub Pages deployment
  • 841c506 test(csv): add comprehensive test files for import/export
  • a7cff27 test(csv): update integration test for new CSV header format
  • 4839a8c test(e2e): add cart validation browser tests
  • 16bed54 test(pagination): add comprehensive pagination consistency tests
  • 5a180ad test(queries): add cart validation unit tests
  • 50f746e 👷 ci(release): run GoReleaser only on version tags
  • 151304b 📝 docs(design): add PortOne payment gateway integration spec
  • 6a7d4f7 🔧 chore(deps): update Go and frontend dependencies

Full Changelog: v0.2.9...v0.2.10

Warning

If you are updating, it is essential to do the following - back up the ./site folder if you have made changes to it (you can rename it). A new folder with updated files will be created.