2025.2.0
2025.2.0 (2025-02-28)
For the February 2025 release the main focus was getting the frontend architecture in a better state. We moved to Tailwind v4, cleaned up our GraphQL fragments, unified our previously scattered React Hook Form implementations, and brought consistency to our component structure. Deployments are now also more robust by syncing static files to cloud storage before running the new version, removing javascript errors mid-deploy for end-users.
Added
Platform
- Move to trusted documents for GraphQL queries, improving both performance and security
- GraphQL schema viewer in documentation for better API exploration
Frontend
- Upload Nextjs static files to cloud storage and serve them from the loadbalancer. This makes deployments more stable as both the old and new version of all static files are always available.
- Added Storybook test addon for component verification
- Support for testing UI components outside of Storybook
- Component tests for UI elements including alert-dialog
- New generic error dialog system with improved dialog animations and button interactions
- Improved account pages and B2C order overview experience with better dashboard, breadcrumbs and order history
- Next-intl storybook plugin for better internationalization testing
- Messages watch command for site development
- Simple PDP interaction test with mock response for component validation
Backend
- Improve error responses for Cart mutations by returning a union of
Cart | GenericError - Automatically set billing and shipping address on new carts for authenticated users based on the defaults
- Load supergraph from Hive when environment variables are available
- JWT token validation for secure authentication
- API-extensions bearer token validation for Commercetools
Changed
Platform
- Improve code quality of terrafom modules and use tflint for validation
- Upgrade from Sentry 7 to 9
- Improve Sentry sourcemap uploading (use debug ids)
Frontend
-
Generic
- Health check extension with GraphQL query to verify gateway connectivity
- Extended storybook test coverage for content pages
- TypeScript implementation for icons script
- Updated frontend coding guidelines
- Enhanced frontend components for shadcn compatibility
- Removed unused components (dropdown, check) and standardized remaining ones
- Moved validation schemas closer to their usage points
- Ensured consistent filename patterns in frontend
-
GraphQL Fragment Management
- Removed generated fragment usage from components and stories
- Using ResultOf instead of directly importing fragments
- Added suffix to all fragments for better identification
- Colocated fragments with their components (PDP)
-
Component Reorganization
- Moved product header and specifications to UI package
- Improved PDP according to new architecture with colocated fragments
- Relocated add-to-cart dialogs to main folder components
- Cleaned up UI package structure and standardized components
- Replaced modal and old dialog with new reusable dialog component
-
Form Handling
- Standardized React Hook Form usage across the application (previously had multiple inconsistent implementations)
- Consolidated form handling patterns in checkout and other areas
- Removed custom useForm hook and deprecated form implementations
- Integrated zod error map into form resolver
- Moved form schemas closer to their usage
- Simplified validation patterns and improved error handling
-
Data Flow Improvements
- Consolidated page data dependencies to a single file (removed _data folder)
- Renamed gqlServerFetch to serverClient for consistency
- Added field colocating for content pages
- Standardized naming conventions for data fetching operations (get/post instead of fetch)
Backend
- Simplified custom object dataloader
- Relocated price resolver to separate file for better customization
- Refactored variant dimensions to use interfaces instead of unions for better API usability
- Improved Algolia sync for prices (support for standalone prices)
- Allow bypassing trusted documents check using HTTP Header with secret token
- Improved concurrency handling in bluestone pim component
Dependencies
- Upgraded to Tailwind v4 with automated migration
- Updated Vitest to 3.x
- Updated PNPM to 10.x (with explicit post-install script configuration)
- Updated @labdigital/graphql-fetcher to 2.0
- Updated Sentry to 9.x
- Updated Algolia to 5.x
Security
- Added Content Security Policy (CSP) headers to site
- Improved configuration for static file security
- Enhanced JWT token validation with proper segment checking
- Fixed bearer token validation for API-extensions