What's Changed
- [SD-1358] As a Admin I should not be able to permanently delete Store by @damianlegawiec in #11315
- [SD-1429] Rename Spree CMD to Spree CLI and make it a dependency of spree gem by @pmilewski in #11307
- [SD-1388] Add specs for MenuItemSerializer and CmsSectionSerializer by @v10110 in #11278
- Start v4.4 development π by @damianlegawiec in #11341
- SD-1465 - 500 error on re-using identical data as a soft deleted store by @kgorazd in #11343
- Move storefront serializer specs to one location. by @MatthewKennedy in #11340
- Move Spree Seeds into their own services to allow easier customization by @damianlegawiec in #11344
- [SD-1438] Remove API -> API v1 redirect by @pmilewski in #11306
- Remove APIs' magic 404 logic by @damianlegawiec in #11345
- Use bang methods in seeds to avoid silently failing by @damianlegawiec in #11347
- Introduce
NumberIdentifier
concern by @damianlegawiec in #11346 - Introduce
Base#spree_base_uniqueness_scope
andUniqueName
concern by @damianlegawiec in #11348 - Introduce
Spree::Oauth
models by @damianlegawiec in #11349 - Enable polymoprhic resource owners for OAuth Access Tokens by @damianlegawiec in #11350
- Simplify and fix handling polymorphic Oauth Token's resource owners by @damianlegawiec in #11351
- Utilize
ActiveRecord#insert_all
to cut seed loading time by @damianlegawiec in #11352 - Squash all Spree 4.3 migrations into one by @damianlegawiec in #11353
- [SD-1413] - Move Wishlist into Spree Core by @MatthewKennedy in #11308
- Move frontend preferences out of spree core by @damianlegawiec in #11354
- Extract
spree_frontend
into a separate repo by @damianlegawiec in #11358 - Move backend configuration to spree_backend gem by @damianlegawiec in #11359
- Extract backend into a separate repo by @damianlegawiec in #11360
- [SD-1467] - Add Platform API For Wishlists by @MatthewKennedy in #11355
- [SD-1468] Fix payment example json in API docs by @v10110 in #11357
- Add missing brackets in API docs by @v10110 in #11361
- Fixes in Storefront API Docs. by @MatthewKennedy in #11366
- [SD-1455] OpenAPI docs for Cart attributes are missing example values and response example by @pmilewski in #11321
- Add missing brackets in API docs by @v10110 in #11368
- Improve StoreFront API Docs by @MatthewKennedy in #11367
- [SD-1478] - Remove duplication of User object living under the Account model. by @MatthewKennedy in #11370
- [SD-1476] - Add OpenAPI documentation to Platform API for CMS Pages and CMS Sections by @MatthewKennedy in #11364
- [SD-1461] fix money_methods for ruby version < 2.7 by @KacperMekarski in #11373
- Fix/spree sample load task by @damianlegawiec in #11374
- Platform API - Orders by @damianlegawiec in #11376
- Set Circle CI parallelism to 3 by @damianlegawiec in #11378
- Platform - Line Items API by @damianlegawiec in #11380
- Platform - Adjustments API by @damianlegawiec in #11381
- Platform API - Shipping Categories by @damianlegawiec in #11382
- Improve Platform API Orders documentation by @damianlegawiec in #11383
- fix build.sh: 28: cd: can't cd to api by @letseeqiji in #11384
- Introduce Spree.admin_user_class by @damianlegawiec in #11385
- JSON:API Spec Compliance Fixes For Platform API by @MatthewKennedy in #11388
- Added Platform API Orders Approve and Cancel endpoints by @damianlegawiec in #11386
- More Flexible Auto Gen Swagger Docs by @MatthewKennedy in #11390
- Improve Documentation Storefront. by @MatthewKennedy in #11389
- Remove eslint/stylelint leftovers by @damianlegawiec in #11391
- Simplify permission checks for Platform API by @damianlegawiec in #11394
- Improve checking user performance in Platform API by @damianlegawiec in #11396
- [SD-1422] - Migrate Spree Digital into Spree Core by @MatthewKennedy in #11369
- Set Platform API request schemas to internal. by @MatthewKennedy in #11397
- Fix for Digital Downloads by @MatthewKennedy in #11401
- FIX: digital_link update cache after authorized download. by @MatthewKennedy in #11402
- Use i18n-tasks to manage translations in API by @MatthewKennedy in #11403
- Fix Failing Specs For Missing i18n-tasks Gem by @MatthewKennedy in #11404
- Rails 7 preparation work by @damianlegawiec in #11406
- Add scope examples to Authorisation API Docs. by @MatthewKennedy in #11365
- Add client_credentials to authentication docs. by @MatthewKennedy in #11409
- Stop using currency/checkout zone/default country preferences by @damianlegawiec in #11408
- Added Platform Variants API for fetching Variants by @damianlegawiec in #11413
- Added Platform Payments API for fetching Payments by @damianlegawiec in #11414
- Replace rspec-activemodel-mocks in specs with FactoryBot by @KacperMekarski in #11407
- SD-1445 feature implement Spree Webhooks by @sebastian-palma in #11399
- Change Image content type validation to use
Active Storage Validations
gem by @KacperMekarski in #11419 - Add promotion_categories to Platform API v2 by @MatthewKennedy in #11423
- Add Webhooks::Subscriber check_uri_path validation by @sebastian-palma in #11418
- Remove ActiveSupport#run_load_hooks calls by @damianlegawiec in #11424
- SD-1446 use pg_search for full text search of porduct names when pg_search is available. by @KacperMekarski in #11416
- Use JSON coder for typed_store in Spree::Store.settings by @MatthewKennedy in #11425
- Remove integer casting for IDs by @damianlegawiec in #11426
- Fixed filtering of Line Items in Platform API by @damianlegawiec in #11429
- Added tests for Variants filtering in Platform API by @damianlegawiec in #11430
- fix migration with stock_item_by_loc_var_id_deleted_at index by @KacperMekarski in #11431
- Use past tense for Webhook event names by @damianlegawiec in #11432
- Add create/index/show webhooks subscribers endpoints by @sebastian-palma in #11428
- Update swagger_helper.rb by @patrykwielgosz in #11427
- Platform API - Shipments pt 1 by @damianlegawiec in #11393
- [SD-1505] - Add Shipping Methods To Platform API v2 by @MatthewKennedy in #11433
- Use Rails way of managing has_many association through API requests. by @MatthewKennedy in #11435
- Track and record Webhook Events by @sebastian-palma in #11434
- Fix/shipping method serializer attributes by @MatthewKennedy in #11441
- [SD-1501] - Fix 500 Error on Adjustments Serializer. by @MatthewKennedy in #11440
- Add Webhooks Events list endpoint by @sebastian-palma in #11438
- [SD-1474] - Fix User Create & Update actions on Platform API by @MatthewKennedy in #11442
- [SD-1517] Emit order.shipped when all order shipments were shipped. by @sebastian-palma in #11443
- Improve Swagger Docs Generation by @MatthewKennedy in #11445
- Clean Up Platform API Controllers by @MatthewKennedy in #11448
- Add placeholder Serializers for Webhooks. by @MatthewKennedy in #11449
- Add Codespell Github Workflow by @MatthewKennedy in #11450
- Add Storefront API Checkout Create Payment endpoint by @damianlegawiec in #11436
- Fix example in YML by @MatthewKennedy in #11452
- Re-organize Address services to be use outside of Account context by @damianlegawiec in #11453
- [SD-1496] - Add Payment Method endpoints to Platform API by @MatthewKennedy in #11437
- Improve menu_item And Platform API Docs by @MatthewKennedy in #11455
- [SD-1515] Emit payment.paid after the payment is moved to complete by @sebastian-palma in #11457
- Storefront API - Checkout Select Shipping Method endpoint by @damianlegawiec in #11458
- Update cms_page & cms_section docs. by @MatthewKennedy in #11456
- SD-1352 As a System I can store MetaData for Spree Resources by @kgorazd in #11400
- [SD-1514] Emit variant.discontinued when a variant was discontinued by @sebastian-palma in #11459
- Brought capybara config up to date by @damianlegawiec in #11461
- [SD-1507] System should emit
product.discontinued
when a Product is discontinued by @aleksandarpetrushev in #11462 - SD-1510 System should emit
order.resumed
after Order is resumed (order.resume!) by @aleksandarpetrushev in #11463 - SD-1511 System should emit
variant.out_of_stock
if Variant is sold out by @aleksandarpetrushev in #11464 - SD-1450 As a Platform API application I can set public and private metadata for all resources by @aleksandarpetrushev in #11465
- Support JS Bundling of Spree Dashboard by @damianlegawiec in #11470
- SD-1471 Geo API - Zones endpoint Platform API by @aleksandarpetrushev in #11468
- SD-1489 Add Roles Endpoints to Platform API by @aleksandarpetrushev in #11471
- SD-1492 Tax API - Tax Rates and Tax Categories by @aleksandarpetrushev in #11474
- SD-1491 Add Store Credits endpoints to Platform API by @aleksandarpetrushev in #11473
- Remove admin translation keys. by @MatthewKennedy in #11466
- Remove @spree/dashboard link before spree:backend:install by @sebastian-palma in #11477
- Remove unused routes and actions from Platform API by @MatthewKennedy in #11479
- Change SPREE_BACKEND_PATH to SPREE_DASHBOARD_PATH as in the docs by @aleksandarpetrushev in #11483
- SD-1491 I can pragmatically disable Webhooks for a block code by @aleksandarpetrushev in #11482
- SD-1491 Store Credit API - Types and Categories by @aleksandarpetrushev in #11481
- [SD-1480] Platform API - Promotions by @MatthewKennedy in #11398
- [SD-1494] - Add Taxonomies to Platform API by @MatthewKennedy in #11487
- Stock Location fixes by @damianlegawiec in #11490
- Fixed relationships for Stock Location serializer in Platform API by @damianlegawiec in #11492
- Fix spelling in file name. by @MatthewKennedy in #11491
- Platform API Shipments pt II by @damianlegawiec in #11494
- Simplify Shipments API controller code by @damianlegawiec in #11498
- SD-1551 Add Stock Locations to Platform API by @aleksandarpetrushev in #11496
- SD-1453 As a Storefront API user I can set User MetaData when creating an Account by @aleksandarpetrushev in #11497
- Add/fix remaining Webhooks events by @sebastian-palma in #11493
- Include jsbundling setup step for extensions by @damianlegawiec in #11502
- [SD-1544] Don't fire webhooks touch events if only timestamps were changed by @sebastian-palma in #11503
- SD-1448 As a Storefront API User I can fetch public metadata for all Storefront resources available by @aleksandarpetrushev in #11500
- Change HABTM relations to has_many through by @aleksandarpetrushev in #11505
- Platform API Stock Items by @damianlegawiec in #11506
- Fixed method automatic type casting which doesn't work with UUIDs by @damianlegawiec in #11507
- Add ability to query Orders / Payments / Shipments by number in Platfo⦠by @damianlegawiec in #11508
- Fixed flaky resource includes spec by @damianlegawiec in #11509
- Fixed flaky specs working only with integer IDs by @damianlegawiec in #11510
- Adds ability to (softly) delete default store by @damianlegawiec in #11513
- Fix Taxonomy renaming the root Taxon on reposition. by @MatthewKennedy in #11514
- Improve performance of
Product#for_store
scope by @damianlegawiec in #11516 - Use 1 SQL query to generate collection cache key rather than 2 by @damianlegawiec in #11517
- Do not execute role check query for guest visitors by @damianlegawiec in #11518
- We should always cast Money objects to strings in serializers by @damianlegawiec in #11521
- Lock
active_storage_validations
to0.9.5
,0.9.6
broke our test builds by @damianlegawiec in #11524 - Convert added money attributes to string by @sebastian-palma in #11523
- Fix Sync Taxonomy Name with Root Taxon Name. by @MatthewKennedy in #11519
- [SD-1535] Add the name event to the Webhook serializer payload/body by @sebastian-palma in #11504
- Add Custom Reposition Actions - Platform API by @MatthewKennedy in #11512
- SD-1451 Enable Setting LineItem MetaData when adding Item to Cart by @aleksandarpetrushev in #11525
- SD-1471 Geo API - Add States endpoints to Platform API by @aleksandarpetrushev in #11475
- [SD-1506] System should emit product.out_of_stock event when product is sold out by @sebastian-palma in #11527
- Move webhook factories to core/lib by @aleksandarpetrushev in #11531
- Stop creating dummy user role by @damianlegawiec in #11533
- Only return eligible variants by @MatthewKennedy in #11534
- Install mysql gem only when mysql environment is required by @damianlegawiec in #11535
- Add List of custom webhook events in Webhooks::Subscriber by @aleksandarpetrushev in #11495
- SD-1452 As a Storefront API user I can set Order MetaData when creating a Cart - clean by @aleksandarpetrushev in #11530
- Doorkeeper controllers now inherit from
Api::V2::BaseController
by @damianlegawiec in #11538 - Removing Variant#track_inventory by @damianlegawiec in #11541
- failure payment when connection error is raised by @KacperMekarski in #11532
- SD-1544 Do not emit webhooks on touch events by @aleksandarpetrushev in #11539
- Revert "Only return eligible variants" by @damianlegawiec in #11542
- Enhancing Platform API security by @damianlegawiec in #11545
- Fixed test environment for Admin Dashboard by @damianlegawiec in #11546
- SD-1544 Check if updated_only_timestamps for update events only by @aleksandarpetrushev in #11544
- Raise exception when webhook event can not be created by @sebastian-palma in #11536
- VEN-99 Run brakeman by @aleksandarpetrushev in #11537
- Rename all occurrences of webhooks "body" to "webhook_payload_body" by @sebastian-palma in #11528
- Sort OptionValues by position in filter metadata by @aleksandarpetrushev in #11549
- Validate presence of name on tax rate. by @MatthewKennedy in #11548
- v4.4 RC1 π by @damianlegawiec in #11551
New Contributors
- @letseeqiji made their first contribution in #11384
- @patrykwielgosz made their first contribution in #11427
Full Changelog: v4.3.0...v4.4.0.rc1