Repository navigation
·
55 commits
to main
since this release
This is the first feature release of solidus_admin since 0.4.0. It contains everything merged to main since then, including the stored XSS fix on the customer "Items Purchased" page that shipped in 0.4.1 (GHSA-g9c8-3mxq-rpgh).
solidus_admin is pre-1.0 and every release may break compatibility. Please read the requirements and breaking changes before upgrading.
Requirements
- Solidus 4.6 or newer. The gemspec now declares
solidus_core >= 4.6. The store address panel and the admin timezone selector rely on Solidus 4.8 and only appear there; on 4.6 and 4.7 the rest of the admin works unchanged. - Ruby 3.2 or newer (#6413).
- importmap-rails 2.x (#6202).
json < 3is required until Rails 8.1 (#6588).
Breaking changes
Pagination now uses Kaminari instead of Geared Pagination (#6656)
set_page_and_extract_portion_fromis gone. Call@page = paginate(records, ordered_by: {...})from the newSolidusAdmin::ControllerHelpers::Paginationconcern instead.@pageis now a Kaminari relation. Custom index components that used Geared's page API need to switch:number→current_page,first?→first_page?,last?→last_page?,next_param→next_page,recordset.ratios.fixed→limit_value.- Index pages show a fixed 20 records per page (or the controller's
per_page) instead of Geared's growing page sizes. - Pagination is offset-based with the primary key appended to
ordered_byas a tiebreaker, so records with equal sort values are not repeated or skipped between pages. geared_paginationis no longer a dependency.
Not in this release
The upgrade to ViewComponent 4 (#6540) is intentionally held back. It will ship on its own as solidus_admin 0.6.0 immediately after this release, because it also requires stores to upgrade any ViewComponent 3 code in their storefront.
Highlights
- Settings editors for tax rates (#6617), payment methods (#6619, #6639, #6640, #6641), stores including their address (#6589, #6649), zones (#6224), stock locations (#6160), and option types and option values (#6605).
- Product taxon management on the product page (#6610) and a product option types list (#6283).
- A Solidus form builder for admin components (#6294) plus new or reworked UI components: select (#6190), address (#6191, #6225), alert (#6226), radio (#6288), checkbox (#6275), flashes (#6280), and a confirm modal without external dependencies (#6528).
- Lookbook is now restricted to admin users (#6651).
- Performance: orders (#6440) and products (#6444, #6495) index loading, eager loading on the order page (#6500) and collection endpoints (#6504).
- Customer search and assignment on orders are scoped to users the admin can read (#6659).
What's Changed
- Fix install_lookbook step by @chaimann in #6154
- Fix ui/forms/input component for tag: :textarea by @chaimann in #6174
- [Admin] Fix Unclosed form_tag in table component by @swamp09 in #6172
- Fix flaky specs by @mamhoff in #6197
- Fix typos by @jackhac in #6207
- [Backend] Fix issue refunding uncompleted payments by @jtapia in #6094
- Fix flaky test errors using chrome 134 by @tvdeyen in #6203
- [Admin][UI] New select component by @chaimann in #6190
- Refactor
ui/forms/addresscomponent by @chaimann in #6191 - Make linters happy by @tvdeyen in #6223
- Use semantic links to edit option types by @forkata in #6201
- Add reverse charge fields to address by @fthobe in #6168
- Admin select component performance by @chaimann in #6213
- Use Firefox for system specs by @mamhoff in #6230
- Refactor address form component (properly this time) by @chaimann in #6225
- [Admin][UI] Alert component by @chaimann in #6226
- [Admin] fix table sorting by @chaimann in #6238
- Update importmap-rails to v2 by @tvdeyen in #6202
- [Admin][Settings] Introduce zone creation and modification capability by @chaimann in #6224
- Admin users edit tabs by @chaimann in #6252
- Admin sorting with pagination by @chaimann in #6267
- [Admin] Product form improvements by @chaimann in #6270
- [Admin] Extract
#moveaction into concern by @chaimann in #6282 - [Admin] Fix rubocop offence and resources controller cleanup by @chaimann in #6276
- [Admin][UI] checkbox refactor by @chaimann in #6275
- [Admin][UI] Radio component by @chaimann in #6288
- [Admin][UI] Allow select to include blank option by @chaimann in #6279
- [Admin] Flashes helper and reorganization by @chaimann in #6280
- fix admin component generator namespace by @ccarruitero in #6237
- Admin stock locations form by @chaimann in #6160
- Country and state: Restrict deletion if addresses present by @mamhoff in #6305
- [Admin] Solidus form builder by @chaimann in #6294
- Setup generator namespace in generator by @mamhoff in #6310
- [Admin][Products] Product option types list by @chaimann in #6283
- Fix Rubocop offenses for November 2025 by @mamhoff in #6372
- Require Ruby 3.2 by @AlistairNorman in #6413
- Fix sandbox lookbook installation by @AlistairNorman in #6417
- Fix linting by @AlistairNorman in #6420
- In-memory order updater by @benjaminwil in #5872
- Switch to standardrb by @AlistairNorman in #6421
- fix(locale selection): Use international language icon by @tvdeyen in #6439
- Update remixicon sprite to v4.9.1 by @tvdeyen in #6438
- Improve Solidus Admin Orders Loading Performance by @sascha-karnatz in #6440
- solidus_admin: Improve Products loading performance by @sascha-karnatz in #6444
- Preserve Tailwind's default blue color scale by @johnmamanao in #6453
- Eager load line item details on the admin order page to avoid N+1s by @ikraamg in #6500
- Avoid an N+1 loading stock on the admin products index by @ikraamg in #6495
- Admin Orders spec: Do not restrict Line Item loading from setup by @mamhoff in #6522
- Eager load associations in admin and API collection endpoints by @ikraamg in #6504
- Fix a few test environment issues by @elia in #6532
- Add Time Zone Select by @tvdeyen in #6437
- Admin confirm modal without external dependency by @forkata in #6528
- fix(admin): Guard timezone select to support older solidus versions by @sascha-karnatz in #6542
- Passing a hash to resources is deprecated by @adammathys in #6570
- Address Licensing Issues by @jarednorman in #6559
- Correct Licensing of Solidus Gems by @jarednorman in #6560
- Align config accessors by @jarednorman in #6577
- Enable admin alpha features by default during sandbox app generation by @benjaminwil in #6586
- Prevent JSON 3.0 from breaking solidus_admin when using Rails 8.0 by @Noah-Silvera in #6588
- [solidus_admin] Add stores editor by @benjaminwil in #6589
- [solidus_admin] Add option types and option values editor by @benjaminwil in #6605
- [solidus_admin] Use button for panel action by @tvdeyen in #6606
- [solidus_admin] Lower base font size by @tvdeyen in #6607
- Save solidus_admin artifacts during Actions workflows by @benjaminwil in #6611
- [solidus_admin] Add tax rates editor by @benjaminwil in #6617
- [solidus_admin] Add payment methods editor by @benjaminwil in #6619
- [solidus_admin] Make payment method autocapture setting correct by @benjaminwil in #6641
- [solidus_admin] Improve microcopy for payment method editor by @benjaminwil in #6639
- [solidus_admin] Add product taxon management by @benjaminwil in #6610
- [solidus_admin] Payment method form improvements by @benjaminwil in #6640
- Allow
SolidusSelectto prepopulate selected options when using a remote data source by @benjaminwil in #6648 - Add the ability to add an address to a store by @sascha-karnatz in #6649
- Form cleanup and reverting changes to
SolidusSelectby @benjaminwil in #6652 - Remove Rubocop directives for cops Standard doesn't load by @forkata in #6671
- Scope order customer assignment to users the admin can read by @jarednorman in #6659
- Wait for store form before running axe by @jarednorman in #6672
- Herb template fixes by @jarednorman in #6680
- Only allow Solidus admin users to browse Lookbook by @benjaminwil in #6651
- Pick visible options in solidus_select by clicking by @jarednorman in #6683
- Replace Geared pagination with Kaminari in new admin by @forkata in #6656
Full Changelog: solidus_admin/v0.4.1...solidus_admin/v0.5.0