Releases: cartridge-gg/controller
Releases · cartridge-gg/controller
Release v0.12.2
[0.12.2] - 2026-01-29
✨ New Features
- Examples: Added Capacitor session example with iOS app integration, demonstrating mobile session management and providing comprehensive cross-platform development guidance (#2355)
- @cartridge/keychain: Enhanced Coinbase onramp integration with
createCoinbaseLayerswapOrdermutation for improved order creation and processing (#2354) - @cartridge/keychain: Added comprehensive cost breakdown display for Apple Pay purchases, showing detailed fee structure including Coinbase fees and bridge fees with real-time pricing from Coinbase Onramp API (#2352)
- @cartridge/keychain: Added starterpack Apple Pay checkout functionality for streamlined mobile payments (#2339)
- @cartridge/keychain: Implemented verification autofill functionality for improved user experience during authentication flows (#2342)
- @cartridge/keychain: Added order fetching by IDs capability for enhanced order management and tracking (#2334)
🚀 Improvements
- @cartridge/keychain: Removed supported-platforms feature gate, making platform detection generally available (#2335)
- Development: Migrated skills documentation to centralized
.agents/skillsdirectory for better organization and AI-assisted development workflows (#2353)
🐛 Bug Fixes
- @cartridge/keychain: Fixed 'proceed with caution' warning visibility for slot login flows, improving user experience (#2351)
- @cartridge/keychain: Fixed purchase token layout issues for better visual consistency (#2343)
- @cartridge/keychain: Fixed Layerswap username retrieval from authentication context for proper user identification (#2347)
- @cartridge/keychain: Fixed Coinbase Terms of Service link for proper legal compliance (#2341)
- @cartridge/keychain: Fixed Coinbase query handling for improved API integration (#2338)
📦 Dependencies
Release v0.12.1
[0.12.1] - 2026-01-07
✨ New Features
- @cartridge/controller: Added configurable error display modes with
errorDisplayModeoption, enabling developers to control how transaction errors are presented to users with three modes:modal(default),notification(clickable toast), andsilent(console only) (#2312)
🚀 Improvements
- Development: Enhanced Claude Code integration with structured skill guides for code review, PR management, testing, Storybook snapshots, and release workflows (#2311, #2310)
- Documentation: Expanded CLAUDE.md with detailed technology stack versions, build process explanations, and comprehensive development workflow guidance (#2310)
🔧 Development
Release v0.12.0
[0.12.0] - 2026-01-01
✨ New Features
- @cartridge/controller: Added dynamic
signupOptionstoconnect()method, enabling developers to override constructor configuration per connection and create multiple branded authentication flows (e.g., "Login with Phantom", "Login with Google") using a single Controller instance (#2298) - @cartridge/keychain: Added wallet selection drawer for onchain checkout, replacing navigation-based flow with inline slide-up drawer for more seamless UX (#2294)
- @cartridge/keychain: Added Coinbase onramp integration with
useCoinbasehook for order creation, transaction queries, and requirement checks with automatic client IP detection (#2296) - @cartridge/keychain: Added support for additional payment tokens in starterpack metadata, allowing creators to specify custom payment options beyond default ETH, STRK, and USDC (#2292)
🚀 Improvements
- @cartridge/controller: Enhanced paymaster error handling with graceful fallback to user-pays flow when paymaster is unavailable due to rate limits, execution timing, or other conditions (#2291)
- @cartridge/keychain: Improved authentication flows with branded button text for single-signer configurations and configurable signup authentication methods (#2290)
- @cartridge/keychain: Enhanced session management by restoring wildcard session creation during login flows for better user experience (#2302, #637faa12)
- @cartridge/keychain: Updated Ekubo integration to use new chain ID-based API format for improved swap functionality (#2287)
- @cartridge/keychain: Improved session footer styling with proper padding and button text updates from "Create Session" to "Continue" (#2274)
🐛 Bug Fixes
- @cartridge/controller: Restored
propagateSessionErrorsfunctionality for contract execution, ensuring errors are properly propagated back to callers instead of showing manual approval modal when enabled (#2305) - @cartridge/keychain: Fixed starterpack loading flicker by showing proper loading states during loading/onchain/preimage states (#2297)
- @cartridge/keychain: Fixed collection pagination issues for better user experience (#2301)
- @cartridge/keychain: Fixed session management by reverting and then restoring wildcard session creation during register session login for optimal user flow (#2299, #2302)
- @cartridge/keychain: Fixed Ekubo API CORS issues by specifying proper CORS headers and credentials handling (#2288)
📦 Dependencies
Release v0.11.4-alpha.1
[0.11.4-alpha.1] - 2025-12-31
✨ New Features
- @cartridge/controller: Added dynamic
signupOptionstoconnect()method, enabling developers to override constructor configuration per connection and create multiple branded authentication flows (e.g., "Login with Phantom", "Login with Google") using a single Controller instance (#2298) - @cartridge/keychain: Added wallet selection drawer for onchain checkout, replacing navigation-based flow with inline slide-up drawer for more seamless UX (#2294)
- @cartridge/keychain: Added Coinbase onramp integration with
useCoinbasehook for order creation, transaction queries, and requirement checks with automatic client IP detection (#2296) - @cartridge/keychain: Added support for additional payment tokens in starterpack metadata, allowing creators to specify custom payment options beyond default ETH, STRK, and USDC (#2292)
🚀 Improvements
- @cartridge/controller: Enhanced paymaster error handling with graceful fallback to user-pays flow when paymaster is unavailable due to rate limits, execution timing, or other conditions (#2291)
- @cartridge/keychain: Improved authentication flows with branded button text for single-signer configurations and configurable signup authentication methods (#2290, #1b4423c3)
- @cartridge/keychain: Enhanced session management by restoring wildcard session creation during login flows for better user experience (#2302, #637faa12)
- @cartridge/keychain: Updated Ekubo integration to use new chain ID-based API format for improved swap functionality (#2287)
- @cartridge/keychain: Improved session footer styling with proper padding and button text updates from "Create Session" to "Continue" (#2274)
🐛 Bug Fixes
- @cartridge/controller: Restored
propagateSessionErrorsfunctionality for contract execution, ensuring errors are properly propagated back to callers instead of showing manual approval modal when enabled (#2305) - @cartridge/keychain: Fixed starterpack loading flicker by showing proper loading states during loading/onchain/preimage states (#2297)
- @cartridge/keychain: Fixed collection pagination issues for better user experience (#2301)
- @cartridge/keychain: Fixed controlled Select component warnings in cost breakdown by using proper value handling (#2294)
- @cartridge/keychain: Fixed Ekubo API CORS issues by specifying proper CORS headers and credentials handling (#2288)
🔧 Refactoring
- Development: Multiple UI component updates and dependency management improvements (#2295, #2260)
- @cartridge/keychain: Simplified authentication flows by removing complex route-based session skipping logic in favor of consistent wildcard session creation (#2286, #2285)
📦 Dependencies
- @cartridge/ui: Updated to latest commits for improved design consistency and React 19 peer dependency support
Release v0.11.3
[0.11.3] - 2025-12-10
✨ New Features
- @cartridge/keychain: Added Layerswap cross-chain deposit integration for onchain checkout with balance checks, bridging actions, and UI for conversion/liquidity errors (#2273)
- @cartridge/controller: Added Phantom EVM wallet authentication method extending EthereumWalletBase, enabling login and signup with Phantom's EVM-compatible mode (#2278)
- @cartridge/controller: Added toast notification API with ToastType and ToastOptions interfaces, enabling toast creation from the controller SDK (#2265)
- @cartridge/keychain: Added quests functionality for enhanced gaming features (#2280)
🚀 Improvements
- @cartridge/keychain: Enhanced onchain purchase flow with multi-network wallet selection, improved cost breakdown displaying Layerswap fees, and streamlined navigation (#2273)
- @cartridge/keychain: Improved purchase context architecture by splitting into flow-specific contexts (StarterpackContext, OnchainPurchaseContext, CreditPurchaseContext) for better maintainability (#2270)
- @cartridge/keychain: Enhanced authentication flows to skip wildcard session creation during register session login, reducing friction from two signatures to one (#2275)
- @cartridge/keychain: Reverted controller iframe dismiss behavior to prevent accidental closure when clicking outside (#2277)
🐛 Bug Fixes
- @cartridge/keychain: Fixed network selection flicker by adding detection state to suppress empty UI while detecting external wallets (#2272)
- @cartridge/keychain: Fixed Turnkey nonce mismatch errors by clearing cached Auth0 tokens before nonce generation, ensuring fresh tokens with correct nonces (#2271)
- @cartridge/controller: Added payment permission to iframe allow attribute for proper Stripe Payment Request API access, enabling Apple Pay and Google Pay support (#2269)
- @cartridge/keychain: Reduced Ekubo API console noise by removing verbose 429 logging and adjusting retry/backoff configurations for better rate limit handling (#2268)
🔧 Refactoring
- Development: Removed build:compat infrastructure and associated dependencies, simplifying build configuration across packages (#2279)
Release v0.11.3-alpha.1
[0.11.3-alpha.1] - 2025-12-01
✨ New Features
- @cartridge/keychain: Added DevConnect booster pack claim integration with Merkle claim functionality, enabling users to claim DevConnect rewards through preimage-derived EVM addresses (#2249)
- @cartridge/keychain: Streamlined onchain starterpack purchase flow with direct checkout navigation, removing intermediate screens and defaulting to controller wallet for faster transactions (#2200)
- @cartridge/keychain: Added horizontal carousel for booster pack cards on mobile devices, providing swipeable navigation and improved touch experience (#2253)
- @cartridge/keychain: Added localStorage availability check for booster packs to ensure proper functionality across different environments (#2259)
- @cartridge/keychain: Added tournament game links integration for enhanced gaming navigation (#2252)
- @cartridge/keychain: Implemented token IDs retrieval from claim transactions for better transaction tracking (#2255)
🚀 Improvements
- @cartridge/keychain: Simplified redirect logic in ConnectRoute for more streamlined authentication flows (#2248)
- @cartridge/keychain: Enhanced claim interactions for mystery assets with improved user feedback (#2257)
- @cartridge/keychain: Restored claim call functionality for improved transaction processing (#2254)
🐛 Bug Fixes
- @cartridge/controller: Fixed iframe local network access by adding
local-network-access *to iframe allow attribute, enabling proper local development (#2266) - @cartridge/keychain: Fixed merkle claim UI stuck issue preventing users from completing claim flows (#2261)
- @cartridge/keychain: Fixed token icon retrieval from presets for consistent token display (#2258)
- @cartridge/keychain: Added redirect URL support for WebAuthn authentication, improving authentication flow reliability (#2250)
- @cartridge/keychain: Fixed Turnkey popup navigation to keychain for better authentication routing (#2247)
- @cartridge/keychain: Updated ConnectRoute tests to match simplified redirect logic for improved test reliability (#2263)
- @cartridge/keychain: Fixed input format issues for better form validation (#2251)
- @cartridge/keychain: Fixed event parsing to only handle mystery item events properly (#2256)
Release v0.11.2
[0.11.2] - 2025-11-14
✨ New Features
- @cartridge/keychain: Implemented encrypted localStorage snapshot for Storage Access API using split-key encryption architecture, eliminating Cookie Store API dependency and enabling secure state transfer across third-party iframe boundaries (#2239)
🚀 Improvements
- @cartridge/keychain: Enhanced iOS popup reliability with retry logic, exponential backoff, and stability checks for improved authentication flow on iOS devices (#2244)
- @cartridge/keychain: Updated booster pack claim flow with improved component structure and better user experience (#2240)
- @cartridge/keychain: Enhanced debug logging with comprehensive Turnkey authentication logs for better troubleshooting (#2241)
🐛 Bug Fixes
- @cartridge/keychain: Fixed popup error handling by preventing thrown errors on blocked popups, maintaining original flow behavior for mobile compatibility (#2243)
- @cartridge/keychain: Reverted popup error logging to address reliability issues and maintain stable authentication flows (#2242, #2238)
- @cartridge/keychain: Fixed claim pill size display issues for better visual consistency (#2226)
- @cartridge/keychain: Fixed default image handling bug in booster pack components (#2225)
- @cartridge/keychain: Updated game links for improved navigation and user experience (#2224)
- @cartridge/keychain: Enhanced dynamic height CSS for better responsive design (#2233)
- @cartridge/keychain: Improved localStorage and dead-path cookie synchronization for standalone flows (#2232)
- @cartridge/keychain: Removed deprecated controller_redirect functionality to streamline authentication flows (#2230)
- @cartridge/keychain: Simplified storage access request logic for more reliable cross-domain authentication (#2229)
- @cartridge/controller: Refactored session creation to load controller from store for improved session management (#2228)
- Development: Fixed environment variable loading for live environment configuration (#2227)
📦 Dependencies
- Development: Added Storybook story for StandaloneConnect component for improved component testing and documentation (#2231)
Release v0.11.2-alpha.4
[0.11.2-alpha.4] - 2025-11-13
✨ New Features
- @cartridge/keychain: Added booster pack claim page for DevConnect rewards, enabling users to claim credits, tokens, and NFTs using private keys from reward URLs with comprehensive signature validation and post-claim actions (#2160)
🚀 Improvements
- @cartridge/controller: Refactored session architecture to move app_id from account constructors to session-specific operations, enabling a single shared controller instance to serve multiple applications through app-specific sessions (#2220)
🐛 Bug Fixes
- @cartridge/controller: Fixed standalone authentication flow storage access issues by adding debug logging for redirect detection, updating StandaloneConnect UI with generic permission messages, and removing pre-authenticated account display for improved security and clarity (#2217)
📦 Dependencies
- @cartridge/ui: Updated to commit df8934d for improved design consistency and functionality (#2218)
Release v0.11.2-alpha.3
[0.11.2-alpha.3] - 2025-11-12
✨ New Features
- @cartridge/controller: Added
signupOptionssupport to SessionProvider, enabling developers to configure which authentication methods (Google, Discord, MetaMask, etc.) are available during session creation and bringing SessionProvider feature parity with ControllerProvider (#2219)
Release v0.11.2-alpha.2
[0.11.2-alpha.2] - 2025-11-11
🚀 Improvements
- @cartridge/controller: Refactored
openStarterPackmethod signature to accept an options object instead of direct parameters, making the API more extensible for future additions (#2213)
🐛 Bug Fixes
- @cartridge/controller: Fixed standalone auth flow storage access by implementing dedicated
controller_storage_readyparameter for redirect detection and automatic Storage Access API requests, enabling seamless cross-domain authentication flow (#2212) - @cartridge/keychain: Reverted Turnkey nonce mismatch fix to address reliability issues (#2215)