diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a85148c9c..4a8c47bed3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,45 @@ # Changelog +## [0.13.10] - 2026-03-19 + +### ✨ New Features +- **@cartridge/keychain**: Added identity verification for Stripe purchases, enabling enhanced security and compliance for payment processing (#2492) +- **@cartridge/keychain**: Added geofencing for OFAC countries on Vercel, ensuring compliance with international sanctions requirements (#2484) +- **@cartridge/keychain**: Added Stripe checkout for starterpacks, providing seamless payment integration for starter pack purchases (#2485) +- **@cartridge/keychain**: Added BroadcastChannel-based communication for Coinbase popup, replacing GraphQL polling for more efficient real-time updates (#2451) +- **@cartridge/keychain**: Added embedded Coinbase payment in keychain popup with status polling for streamlined payment experience (#2445) +- **@cartridge/keychain**: Added Apple Pay triple-click functionality on review purchase icon for faster mobile payments (#2457) +- **@cartridge/controller**: Added `updateSession` API for runtime session policy updates, enabling dynamic modification of session policies (#2440) +- **@cartridge/keychain**: Added account parameter support on session page for improved session flow configuration (#2439) + +### šŸš€ Improvements +- **@cartridge/keychain**: Enhanced Stripe payment integration with improved Coinbase popup handling, message validation, and status polling (#2449, #2447, #2453, #2454) +- **@cartridge/keychain**: Improved token selection with split USDC and USDC.e support in starterpack flows for better token identification (#2470) +- **@cartridge/keychain**: Enhanced popup authentication for restrictive iframe environments with better fallback handling (#2462) +- **@cartridge/keychain**: Improved mobile authentication with better Chrome iOS handling and WebAuthn debugging capabilities (#2429, #2428, #2427) +- **@cartridge/controller**: Enhanced EVM wallet detection and provider discovery for improved multi-wallet compatibility (#2468) +- **@cartridge/keychain**: Streamlined payment GraphQL migration to controller for better architecture (#2464) + +### šŸ› Bug Fixes +- **@cartridge/keychain**: Fixed human-readable error messages for FailedPrecondition errors, showing clearer user-facing messages instead of generic service errors (#2496) +- **@cartridge/keychain**: Fixed back button functionality on verification pages for better navigation experience (#2495) +- **@cartridge/keychain**: Fixed profile history query performance by adding caps and gating fetches to prevent excessive API calls (#2490) +- **@cartridge/keychain**: Fixed execute submit error propagation to prevent hanging during transaction execution (#2488) +- **@cartridge/keychain**: Fixed credits purchase alignment with Stripe GraphQL for consistent payment processing (#2483) +- **@cartridge/controller**: Fixed WebAuthn permissions in Permissions-Policy header for proper passkey functionality (#2482) +- **@cartridge/controller**: Fixed custom-scheme redirect_uri preservation in standalone session flows for mobile app compatibility (#2481) +- **@cartridge/controller**: Fixed domain verification to check both redirect_url and redirect_uri parameters (#2474) +- **@cartridge/controller**: Fixed unknown signers error handling to prevent error screens (#2472) +- **@cartridge/controller**: Fixed custom URL scheme verification for mobile app integration (#2471) +- **@cartridge/controller**: Fixed loading spinner display while preset config loads (#2477) +- **@cartridge/controller**: Fixed connect flow reliability and removed console errors for cleaner operation (#2438, #2437) +- **@cartridge/controller**: Fixed disconnect method to properly reset iframe state (#2434) + +### šŸ“¦ Dependencies +- **controller-wasm**: Updated to version 0.9.6 for improved backend functionality (#2479) +- **controller-rs**: Updated to version 0.9.5 for enhanced performance (#2465) +- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#2489, #61e0634d) + ## [0.13.10-alpha.1] - 2026-02-25 ### ✨ New Features diff --git a/examples/capacitor/package.json b/examples/capacitor/package.json index f52a0ab2e5..d9b3eef2d0 100644 --- a/examples/capacitor/package.json +++ b/examples/capacitor/package.json @@ -1,6 +1,6 @@ { "name": "cartridge-capacitor-example", - "version": "0.13.10-alpha.1", + "version": "0.13.10", "private": true, "type": "module", "scripts": { diff --git a/examples/next/package.json b/examples/next/package.json index a9abe2f7b5..59fd90e20c 100644 --- a/examples/next/package.json +++ b/examples/next/package.json @@ -1,7 +1,7 @@ { "name": "@cartridge/controller-example-next", "private": true, - "version": "0.13.10-alpha.1", + "version": "0.13.10", "scripts": { "dev": "env-cmd -f .env.dev next dev -p 3002", "dev:live": "env-cmd -f .env.live next dev -p 3002", diff --git a/examples/node/package.json b/examples/node/package.json index 5c7013668e..93ca50315f 100644 --- a/examples/node/package.json +++ b/examples/node/package.json @@ -1,6 +1,6 @@ { "name": "cartridge-node-example", - "version": "0.13.10-alpha.1", + "version": "0.13.10", "description": "Example of using Cartridge session controller with Node.js", "type": "module", "scripts": { diff --git a/examples/svelte/package.json b/examples/svelte/package.json index 616f5b39cb..eef91c8c31 100644 --- a/examples/svelte/package.json +++ b/examples/svelte/package.json @@ -1,6 +1,6 @@ { "name": "@cartridge/controller-example-svelte", - "version": "0.13.10-alpha.1", + "version": "0.13.10", "private": true, "scripts": { "dev": "vite dev", diff --git a/output.txt b/output.txt index 9ef4147a8c..90a3d17085 100644 --- a/output.txt +++ b/output.txt @@ -1,27 +1,28 @@ -{"type":"system","subtype":"init","cwd":"/home/runner/work/controller/controller","session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","tools":["Task","Bash","Glob","Grep","LS","ExitPlanMode","Read","Edit","MultiEdit","Write","NotebookEdit","TodoWrite","BashOutput","KillBash"],"mcp_servers":[],"model":"claude-sonnet-4-20250514","permissionMode":"default","slash_commands":["commit","pr","add-dir","agents","clear","compact","config","context","cost","doctor","exit","help","ide","init","install-github-app","mcp","memory","migrate-installer","model","output-style","output-style:new","pr-comments","release-notes","resume","status","statusline","bug","review","security-review","upgrade","vim","permissions","hooks","export","logout","login","bashes"],"apiKeySource":"ANTHROPIC_API_KEY","output_style":"default","uuid":"c3f08882-1250-4518-9d95-e569131b6475"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_019NvzRr8kAGQtXzbzWp4HH7","type":"message","role":"assistant","content":[{"type":"text","text":"I'll analyze the git commits between v0.13.9 and HEAD to generate a changelog entry for version 0.13.10-alpha.1."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":6165,"cache_read_input_tokens":10412,"cache_creation":{"ephemeral_5m_input_tokens":6165,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"1efb5386-f37f-4a5a-adce-c61b7717ea7f"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_019NvzRr8kAGQtXzbzWp4HH7","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01WaqtD3G6SxkLshcGewF8Yd","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commit range v0.13.9..HEAD","status":"pending"},{"content":"Read existing CHANGELOG.md to understand format","status":"pending"},{"content":"Generate changelog entry for v0.13.10-alpha.1","status":"pending"},{"content":"Update CHANGELOG.md with new entry","status":"pending"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":6165,"cache_read_input_tokens":10412,"cache_creation":{"ephemeral_5m_input_tokens":6165,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"e0abd46a-4c4a-4c26-964d-1d64a0726ecf"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01WaqtD3G6SxkLshcGewF8Yd","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"98ec45ec-0b28-41fb-bfdf-8552ebf488d3"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01EJPEe44TQCaw5Jv5ZxqktW","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_012K2YAijgof2UrgR4sSCwxo","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commit range v0.13.9..HEAD","status":"in_progress"},{"content":"Read existing CHANGELOG.md to understand format","status":"pending"},{"content":"Generate changelog entry for v0.13.10-alpha.1","status":"pending"},{"content":"Update CHANGELOG.md with new entry","status":"pending"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":218,"cache_read_input_tokens":16577,"cache_creation":{"ephemeral_5m_input_tokens":218,"ephemeral_1h_input_tokens":0},"output_tokens":24,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"faaa6d01-b643-4f6e-abd0-8e81767c1b1e"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_012K2YAijgof2UrgR4sSCwxo","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"45054856-7e19-4042-bc66-71bd938f20df"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01SDnu6pAicudhyaQbaY45hf","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_011fZhpcuABWARaf5hEFhDGB","name":"Bash","input":{"command":"git log v0.13.9..HEAD --oneline --no-merges","description":"Get commits since v0.13.9 tag"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":188,"cache_read_input_tokens":16795,"cache_creation":{"ephemeral_5m_input_tokens":188,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"bfba1c85-ae46-4ef6-a086-ecf6136ab900"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01SDnu6pAicudhyaQbaY45hf","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_016ASdfBc6f5w78gkWwjcnDe","name":"Bash","input":{"command":"git log v0.13.9..HEAD --pretty=format:\"%h %s\" --no-merges","description":"Get detailed commit messages since v0.13.9"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":188,"cache_read_input_tokens":16795,"cache_creation":{"ephemeral_5m_input_tokens":188,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"ad12b50a-f860-4d44-a820-07f8155b60b1"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_011fZhpcuABWARaf5hEFhDGB","type":"tool_result","content":"4426cf04 feat: add updateSession API for runtime session policy updates (#2440)\n2dbe12c3 feat(keychain): accept account param on session page (#2439)\na59ebe3c fix: connect flow (#2438)\n43740827 fix: removed console errors (#2437)\n1e03a95b fix: call close() in disconnect to reset iframe state (#2434)\n112c53f8 feat: activity tab review (#2413)\nb308f000 fix(keychain): add Stripe.js to CSP script-src (#2433)\n8fe56804 ci: auto-merge docs-sync PRs after checks pass (#2432)\n346166dd ci: refine docs-sync for concise updates (#2431)\nc49987f2 chore: remove WebAuthn debug logging (#2430)\nbc918be2 fix: show Continue button on Chrome iOS when auto session creation fails (#2429)\nb5ed3b69 fix: prioritize iOS check before hasPlatformAuthenticator for WebAuthn (#2428)\n805d878a feat: capture WebAuthn options via PostHog for iOS debugging (#2427)\n0bcff99d Prepare release: 0.13.9 (#2426)","is_error":false}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"14d699bf-9047-4361-a8d3-4b372bba408b"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_016ASdfBc6f5w78gkWwjcnDe","type":"tool_result","content":"4426cf04 feat: add updateSession API for runtime session policy updates (#2440)\n2dbe12c3 feat(keychain): accept account param on session page (#2439)\na59ebe3c fix: connect flow (#2438)\n43740827 fix: removed console errors (#2437)\n1e03a95b fix: call close() in disconnect to reset iframe state (#2434)\n112c53f8 feat: activity tab review (#2413)\nb308f000 fix(keychain): add Stripe.js to CSP script-src (#2433)\n8fe56804 ci: auto-merge docs-sync PRs after checks pass (#2432)\n346166dd ci: refine docs-sync for concise updates (#2431)\nc49987f2 chore: remove WebAuthn debug logging (#2430)\nbc918be2 fix: show Continue button on Chrome iOS when auto session creation fails (#2429)\nb5ed3b69 fix: prioritize iOS check before hasPlatformAuthenticator for WebAuthn (#2428)\n805d878a feat: capture WebAuthn options via PostHog for iOS debugging (#2427)\n0bcff99d Prepare release: 0.13.9 (#2426)","is_error":false}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"e771970b-d395-4d30-b461-705187886db7"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_018p2vqycCzPRv6P2m475h29","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01QyA7CgTBHMKefv7c9k93Vi","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commit range v0.13.9..HEAD","status":"completed"},{"content":"Read existing CHANGELOG.md to understand format","status":"in_progress"},{"content":"Generate changelog entry for v0.13.10-alpha.1","status":"pending"},{"content":"Update CHANGELOG.md with new entry","status":"pending"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":6,"cache_creation_input_tokens":830,"cache_read_input_tokens":16983,"cache_creation":{"ephemeral_5m_input_tokens":830,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"e5071c46-0066-4050-b6e6-db23e4e43c87"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01QyA7CgTBHMKefv7c9k93Vi","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"394cc278-bae0-4a34-a05b-245e966520a1"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_0132iwzniAayjT4GNBCiVznu","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01WTv1YdbWgh1oHwGChrsWBh","name":"Read","input":{"file_path":"/home/runner/work/controller/controller/CHANGELOG.md"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":189,"cache_read_input_tokens":17813,"cache_creation":{"ephemeral_5m_input_tokens":189,"ephemeral_1h_input_tokens":0},"output_tokens":18,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"dac681ea-d885-44a8-9ff1-db17f70819cf"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01WTv1YdbWgh1oHwGChrsWBh","type":"tool_result","content":" 1→# Changelog\n 2→\n 3→## [0.13.9] - 2026-02-16\n 4→\n 5→### šŸš€ Improvements\n 6→- **@cartridge/controller**: Enhanced iOS WebAuthn support with explicit creation options and improved debug logging for more reliable passkey creation on iOS devices (#2421)\n 7→- **@cartridge/controller**: Streamlined build process by removing redundant build script in controller package for improved development workflow (#2423)\n 8→\n 9→### šŸ› Bug Fixes\n 10→- **@cartridge/keychain**: Fixed quest toast notifications by removing them to prevent user interface clutter and improve user experience (#2425)\n 11→- **@cartridge/controller**: Improved passkey creation flow for Chrome iOS by implementing direct iframe approach instead of popup flow for better mobile compatibility (#2419, #2420)\n 12→- **@cartridge/controller**: Enhanced iOS passkey creation reliability by setting authenticatorAttachment to platform for improved device authentication (#2417)\n 13→\n 14→### šŸ”§ Testing\n 15→- **@cartridge/controller**: Added comprehensive Capacitor session redirect E2E tests to prevent regressions in session ingestion and account creation flows (#2424)\n 16→- **@cartridge/controller**: Added regression tests for controller disconnect localStorage cleanup functionality (#2414)\n 17→\n 18→### šŸ“¦ Dependencies\n 19→- **controller-wasm**: Updated to version 0.9.4 for improved backend functionality (#2418)\n 20→- **Dependencies**: Updated ERC metadata dependencies for better token support (#2422)\n 21→\n 22→## [0.13.8] - 2026-02-13\n 23→\n 24→### ✨ New Features\n 25→- **@cartridge/controller**: Added new mainnet USDC token support with legacy USDC.e labeling for improved token identification (#94dae94e)\n 26→\n 27→### šŸš€ Improvements\n 28→- **@cartridge/controller**: Enhanced connection policy resolution by fixing preset theme and custom policy override precedence, allowing apps to maintain preset-derived configuration while explicitly overriding preset policies (#2408)\n 29→- **@cartridge/controller**: Improved maintainability by extracting hardcoded \"startapp\" query parameter into `REDIRECT_QUERY_NAME` constant following Telegram mini app convention (#2412)\n 30→\n 31→### šŸ› Bug Fixes\n 32→- **@cartridge/controller**: Fixed `SessionProvider.probe()` returning undefined after `ingestSessionFromRedirect()` by restoring on-demand session retrieval for deep link redirects in Capacitor and mobile apps (#2409)\n 33→- **Token Configuration**: Reverted mainnet USDC token support changes to restore legacy behavior for token metadata and mainnet token indexing entries (#2410)\n 34→\n 35→### šŸ”§ Testing\n 36→- **@cartridge/controller**: Added comprehensive regression tests for controller disconnect localStorage cleanup functionality (#2414)\n 37→\n 38→## [0.13.7] - 2026-02-12\n 39→\n 40→### ✨ New Features\n 41→- **@cartridge/controller**: Added `lookupUsername(username)` method for headless flows, returning account existence status and normalized signer options for the controller's configured chain (#2400)\n 42→- **@cartridge/controller**: Added auto-signup functionality for headless connect when a username is missing, while maintaining strict signer matching for existing accounts (#2400)\n 43→- **@cartridge/connector**: Exposed `lookupUsername` helper method through ControllerConnector for easier integration with starknet-react applications (#2400)\n 44→\n 45→### šŸš€ Improvements\n 46→- **Documentation**: Updated HEADLESS_MODE.md with recommended lookup-first flow patterns for improved developer guidance (#2400)\n 47→- **Testing**: Added comprehensive test coverage for username lookup normalization, error handling, and password-based headless auto-signup flows (#2400)\n 48→\n 49→## [0.13.6] - 2026-02-12\n 50→\n 51→### šŸš€ Improvements\n 52→- **@cartridge/controller**: Enhanced SessionProvider preset support with automatic policy resolution from `@cartridge/presets`, enabling developers to use `preset: \"my-game\"` instead of manually duplicating policies and ensuring consistent policy hashing between SDK and keychain (#2401)\n 53→- **Documentation**: Updated project structure documentation with comprehensive provider flows, clarified ControllerProvider (web) and SessionProvider (native) architecture, and improved examples directory guidance (#2404)\n 54→\n 55→### šŸ› Bug Fixes\n 56→- **@cartridge/controller**: Fixed `session/not-registered` errors by normalizing contract addresses in policy hashing and consolidating async initialization to prevent policy hash divergence between SDK and keychain (#2401)\n 57→- **@cartridge/keychain**: Fixed theme copy button visibility in ErrorAlert component by replacing hardcoded black icons with theme-aware styling, ensuring proper visibility on dark backgrounds (#2402)\n 58→\n 59→## [0.13.5] - 2026-02-10\n 60→\n 61→### ✨ New Features\n 62→- **@cartridge/controller**: Added headless mode support to controller SDK for seamless authentication, allowing `connect({ username, signer, password? })` with hidden keychain iframe and UI-less authentication flows (#2315)\n 63→- **@cartridge/controller**: Added `close()` method to ControllerProvider for programmatic cleanup of controller instances (#2373)\n 64→- **@cartridge/controller**: Moved `asWalletStandard()` method from connector to controller package, enabling wallet standard usage without starknet-react dependency (#2364)\n 65→\n 66→### šŸš€ Improvements\n 67→- **@cartridge/keychain**: Enhanced session management with exposed session GUID fields (`allowedPoliciesRoot`, `metadataHash`, `sessionKeyGuid`, `guardianKeyGuid`) in keychain callback payloads for registered sessions (#2396)\n 68→- **@cartridge/keychain**: Consolidated policy handling by refactoring `toWasmPolicies` into single source of truth for improved consistency (#2394)\n 69→- **@cartridge/keychain**: Enhanced quests and achievements display to only show tabs when game/application supports them (#2392)\n 70→- **@cartridge/keychain**: Improved starterpack purchase UI to always show quantity in purchase button for better user clarity (#2390)\n 71→- **@cartridge/connector**: Improved disconnect handling to keep `@starknet-react/core` state in sync with controller state (#2315)\n 72→\n 73→### šŸ› Bug Fixes\n 74→- **@cartridge/keychain**: Fixed session authentication to properly disconnect and re-authenticate when session `rpc_url` differs from stored controller, ensuring correct chain targeting (#2395)\n 75→- **@cartridge/controller**: Enhanced iframe security by hardening keychain iframe loading with URL validation, origin pinning, and reduced feature grants by default (#2384)\n 76→- **@cartridge/keychain**: Added keychain CSP/security headers and removed inline scripts from index.html for improved security posture (#2384)\n 77→\n 78→### šŸ“¦ Dependencies\n 79→- **controller-rs**: Updated to v0.9.3 for improved backend functionality (#2397)\n 80→\n 81→## [0.13.4] - 2026-02-06\n 82→\n 83→### šŸ› Bug Fixes\n 84→- **CI/CD**: Fixed npm publishing with catalog resolution by reverting to pnpm publish, which correctly handles pnpm catalog: protocol that npm publish doesn't support, ensuring proper package resolution in published packages (#77210c65)\n 85→\n 86→### šŸ”§ Development\n 87→- **Agent Tooling**: Added standardized agent/dev tooling with `.agents/` directory as source of truth, Claude/Cursor skill compatibility symlinks, and enhanced pre-commit hooks for improved development workflow (#2388)\n 88→\n 89→## [0.13.3] - 2026-02-06\n 90→\n 91→### ✨ New Features\n 92→- **@cartridge/controller**: Added starterpack play callback functionality enabling custom game launch behavior and improved gaming integration (#2362)\n 93→- **@cartridge/controller**: Added specialized controller toast notifications with improved messaging and user feedback for iframe-embedded applications (#2358)\n 94→\n 95→### šŸš€ Improvements\n 96→- **@cartridge/keychain**: Enhanced iframe connect flow with automatic Storage Access API request for improved cross-domain authentication in WebView environments (#2374)\n 97→- **@cartridge/keychain**: Tightened Capacitor origin verification to only auto-verify localhost, requiring explicit authorization for custom hostnames in presets for enhanced security (#2375)\n 98→- **@cartridge/controller**: Improved policy handling with canonical sorting before hashing to ensure consistent policy processing and prevent non-deterministic merkle root calculations (#2359)\n 99→- **@cartridge/controller**: Enhanced preset verification for Capacitor environments with better validation and support for capacitor:// scheme (#2369)\n 100→\n 101→### šŸ› Bug Fixes\n 102→- **@cartridge/controller**: Added ApprovalPolicy support to controller toWasmPolicies for proper merkle root calculation across different connectors, fixing session registration mismatches (#2372)\n 103→- **@cartridge/controller**: Fixed aggregate contracts display on unverified session to properly group methods into \"Approve \" expendable cards (#2304)\n 104→- **@cartridge/controller**: Fixed controller re-initialization issues by reusing existing controller instances to prevent duplicate iframes and message channels (#2360)\n 105→- **@cartridge/controller**: Fixed chain ID lookup to support non-Cartridge chain configurations for better multi-chain compatibility (#2361)\n 106→- **@cartridge/keychain**: Fixed Coinbase sandbox configuration to ensure proper sandbox environment setup (#2371)\n 107→- **@cartridge/keychain**: Fixed password login button alignment with primary theme for consistent UI styling (#2385)\n 108→\n 109→## [0.13.2] - 2026-02-06\n 110→\n 111→### šŸ› Bug Fixes\n 112→- **@cartridge/controller, @cartridge/connector**: Added repository field to package.json files for npm OIDC trusted publishing, ensuring proper package verification and supply chain security (#c9c6f25d)\n 113→\n 114→## [0.13.1] - 2026-02-06\n 115→\n 116→### šŸ› Bug Fixes\n 117→- **CI/CD**: Fixed npm publishing with OIDC authentication by switching from pnpm publish to npm publish and removing registry-url from setup-node to prevent .npmrc conflicts that block OIDC token exchange (#3880e8ba)\n 118→\n 119→## [0.13.0] - 2026-02-06\n 120→\n 121→### ✨ New Features\n 122→- **@cartridge/controller**: Added ApprovalPolicy support to controller toWasmPolicies for enhanced policy management and proper merkle root calculation across different connectors (#2372)\n 123→- **@cartridge/controller**: Added starterpack play callback functionality enabling custom game launch behavior and improved gaming integration (#2362)\n 124→- **@cartridge/controller**: Added specialized controller toast notifications with improved messaging and user feedback for iframe-embedded applications (#2358)\n 125→\n 126→### šŸš€ Improvements\n 127→- **@cartridge/keychain**: Enhanced iframe connect flow with automatic Storage Access API request for improved cross-domain authentication in WebView environments (#2374)\n 128→- **@cartridge/keychain**: Tightened Capacitor origin verification to only auto-verify localhost, requiring explicit authorization for custom hostnames in presets for enhanced security (#2375)\n 129→- **@cartridge/controller**: Improved policy handling with canonical sorting before hashing to ensure consistent policy processing and prevent non-deterministic merkle root calculations (#2359)\n 130→- **@cartridge/controller**: Enhanced preset verification for Capacitor environments with better validation and support for capacitor:// scheme (#2369)\n 131→- **Development**: Migrated npm publishing to OIDC authentication with supply chain provenance attestation for enhanced security (#2381)\n 132→\n 133→### šŸ› Bug Fixes\n 134→- **@cartridge/controller**: Fixed aggregate contracts display on unverified session to properly group methods into \"Approve \" expendable cards (#2304)\n 135→- **@cartridge/controller**: Fixed controller re-initialization issues by reusing existing controller instances to prevent duplicate iframes and message channels (#2360)\n 136→- **@cartridge/controller**: Fixed chain ID lookup to support non-Cartridge chain configurations for better multi-chain compatibility (#2361)\n 137→- **@cartridge/keychain**: Fixed Coinbase sandbox configuration to ensure proper sandbox environment setup (#2371)\n 138→- **CI/CD**: Fixed release workflow race conditions by inlining changelog generation into release dispatch workflow (#2379)\n 139→\n 140→## [0.12.3] - 2026-02-05\n 141→\n 142→### ✨ New Features\n 143→- **@cartridge/keychain**: Added Capacitor origin verification tightening for enhanced security in mobile environments (#2375)\n 144→- **@cartridge/controller**: Added specialized controller toast notifications with improved messaging and user feedback (#2358)\n 145→- **@cartridge/controller**: Added ApprovalPolicy support to controller toWasmPolicies for enhanced policy management (#2372)\n 146→- **@cartridge/controller**: Added starterpack play callback functionality for improved gaming integration (#2362)\n 147→\n 148→### šŸš€ Improvements \n 149→- **@cartridge/keychain**: Enhanced iframe connect flow with automatic storage access request for improved cross-domain authentication (#2374)\n 150→- **@cartridge/controller**: Improved policy handling with canonical sorting before hashing to ensure consistent policy processing (#2359)\n 151→- **@cartridge/controller**: Enhanced preset verification for Capacitor environments with better validation (#2369)\n 152→\n 153→### šŸ› Bug Fixes\n 154→- **@cartridge/controller**: Fixed aggregate contracts on unverified session to prevent session-related issues (#2304)\n 155→- **@cartridge/keychain**: Fixed Coinbase sandbox configuration to ensure proper sandbox environment setup (#2371)\n 156→- **@cartridge/controller**: Fixed controller re-initialization issues by reusing existing controller instances (#2360)\n 157→- **@cartridge/controller**: Fixed chain ID lookup to support non-Cartridge chain configurations (#2361)\n 158→\n 159→## [0.12.2] - 2026-01-29\n 160→\n 161→### ✨ New Features\n 162→- **Examples**: Added Capacitor session example with iOS app integration, demonstrating mobile session management and providing comprehensive cross-platform development guidance (#2355)\n 163→- **@cartridge/keychain**: Enhanced Coinbase onramp integration with `createCoinbaseLayerswapOrder` mutation for improved order creation and processing (#2354)\n 164→- **@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)\n 165→- **@cartridge/keychain**: Added starterpack Apple Pay checkout functionality for streamlined mobile payments (#2339)\n 166→- **@cartridge/keychain**: Implemented verification autofill functionality for improved user experience during authentication flows (#2342)\n 167→- **@cartridge/keychain**: Added order fetching by IDs capability for enhanced order management and tracking (#2334)\n 168→\n 169→### šŸš€ Improvements \n 170→- **@cartridge/keychain**: Removed supported-platforms feature gate, making platform detection generally available (#2335)\n 171→- **Development**: Migrated skills documentation to centralized `.agents/skills` directory for better organization and AI-assisted development workflows (#2353)\n 172→\n 173→### šŸ› Bug Fixes\n 174→- **@cartridge/keychain**: Fixed 'proceed with caution' warning visibility for slot login flows, improving user experience (#2351)\n 175→- **@cartridge/keychain**: Fixed purchase token layout issues for better visual consistency (#2343)\n 176→- **@cartridge/keychain**: Fixed Layerswap username retrieval from authentication context for proper user identification (#2347)\n 177→- **@cartridge/keychain**: Fixed Coinbase Terms of Service link for proper legal compliance (#2341)\n 178→- **@cartridge/keychain**: Fixed Coinbase query handling for improved API integration (#2338)\n 179→\n 180→### šŸ“¦ Dependencies\n 181→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#2350, #2348, #2346, #2345, #2344, #2337)\n 182→\n 183→## [0.12.1] - 2026-01-07\n 184→\n 185→### ✨ New Features\n 186→- **@cartridge/controller**: Added configurable error display modes with `errorDisplayMode` option, enabling developers to control how transaction errors are presented to users with three modes: `modal` (default), `notification` (clickable toast), and `silent` (console only) (#2312)\n 187→\n 188→### šŸš€ Improvements \n 189→- **Development**: Enhanced Claude Code integration with structured skill guides for code review, PR management, testing, Storybook snapshots, and release workflows (#2311, #2310)\n 190→- **Documentation**: Expanded CLAUDE.md with detailed technology stack versions, build process explanations, and comprehensive development workflow guidance (#2310)\n 191→\n 192→### šŸ”§ Development\n 193→- **Build**: Added .worktrees to .gitignore for improved Git worktree support (#2311)\n 194→- **Claude Integration**: Added comprehensive permissions configuration and skill documentation for streamlined AI-assisted development (#2311, #2310)\n 195→\n 196→## [0.12.0] - 2026-01-01\n 197→\n 198→### ✨ New Features\n 199→- **@cartridge/controller**: Added dynamic `signupOptions` to `connect()` 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)\n 200→- **@cartridge/keychain**: Added wallet selection drawer for onchain checkout, replacing navigation-based flow with inline slide-up drawer for more seamless UX (#2294)\n 201→- **@cartridge/keychain**: Added Coinbase onramp integration with `useCoinbase` hook for order creation, transaction queries, and requirement checks with automatic client IP detection (#2296)\n 202→- **@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)\n 203→\n 204→### šŸš€ Improvements \n 205→- **@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)\n 206→- **@cartridge/keychain**: Improved authentication flows with branded button text for single-signer configurations and configurable signup authentication methods (#2290)\n 207→- **@cartridge/keychain**: Enhanced session management by restoring wildcard session creation during login flows for better user experience (#2302, #637faa12)\n 208→- **@cartridge/keychain**: Updated Ekubo integration to use new chain ID-based API format for improved swap functionality (#2287)\n 209→- **@cartridge/keychain**: Improved session footer styling with proper padding and button text updates from \"Create Session\" to \"Continue\" (#2274)\n 210→\n 211→### šŸ› Bug Fixes\n 212→- **@cartridge/controller**: Restored `propagateSessionErrors` functionality for contract execution, ensuring errors are properly propagated back to callers instead of showing manual approval modal when enabled (#2305)\n 213→- **@cartridge/keychain**: Fixed starterpack loading flicker by showing proper loading states during loading/onchain/preimage states (#2297)\n 214→- **@cartridge/keychain**: Fixed collection pagination issues for better user experience (#2301)\n 215→- **@cartridge/keychain**: Fixed session management by reverting and then restoring wildcard session creation during register session login for optimal user flow (#2299, #2302)\n 216→- **@cartridge/keychain**: Fixed Ekubo API CORS issues by specifying proper CORS headers and credentials handling (#2288)\n 217→\n 218→### šŸ“¦ Dependencies\n 219→- **@cartridge/ui**: Updated to latest commits for improved design consistency and React 19 peer dependency support (#2295, #2260)\n 220→\n 221→## [0.11.4-alpha.1] - 2025-12-31\n 222→\n 223→### ✨ New Features\n 224→- **@cartridge/controller**: Added dynamic `signupOptions` to `connect()` 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)\n 225→- **@cartridge/keychain**: Added wallet selection drawer for onchain checkout, replacing navigation-based flow with inline slide-up drawer for more seamless UX (#2294)\n 226→- **@cartridge/keychain**: Added Coinbase onramp integration with `useCoinbase` hook for order creation, transaction queries, and requirement checks with automatic client IP detection (#2296)\n 227→- **@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)\n 228→\n 229→### šŸš€ Improvements \n 230→- **@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)\n 231→- **@cartridge/keychain**: Improved authentication flows with branded button text for single-signer configurations and configurable signup authentication methods (#2290, #1b4423c3)\n 232→- **@cartridge/keychain**: Enhanced session management by restoring wildcard session creation during login flows for better user experience (#2302, #637faa12)\n 233→- **@cartridge/keychain**: Updated Ekubo integration to use new chain ID-based API format for improved swap functionality (#2287)\n 234→- **@cartridge/keychain**: Improved session footer styling with proper padding and button text updates from \"Create Session\" to \"Continue\" (#2274)\n 235→\n 236→### šŸ› Bug Fixes\n 237→- **@cartridge/controller**: Restored `propagateSessionErrors` functionality for contract execution, ensuring errors are properly propagated back to callers instead of showing manual approval modal when enabled (#2305)\n 238→- **@cartridge/keychain**: Fixed starterpack loading flicker by showing proper loading states during loading/onchain/preimage states (#2297)\n 239→- **@cartridge/keychain**: Fixed collection pagination issues for better user experience (#2301)\n 240→- **@cartridge/keychain**: Fixed controlled Select component warnings in cost breakdown by using proper value handling (#2294)\n 241→- **@cartridge/keychain**: Fixed Ekubo API CORS issues by specifying proper CORS headers and credentials handling (#2288)\n 242→\n 243→### šŸ”§ Refactoring\n 244→- **Development**: Multiple UI component updates and dependency management improvements (#2295, #2260)\n 245→- **@cartridge/keychain**: Simplified authentication flows by removing complex route-based session skipping logic in favor of consistent wildcard session creation (#2286, #2285)\n 246→\n 247→### šŸ“¦ Dependencies\n 248→- **@cartridge/ui**: Updated to latest commits for improved design consistency and React 19 peer dependency support\n 249→\n 250→## [0.11.3] - 2025-12-10\n 251→\n 252→### ✨ New Features\n 253→- **@cartridge/keychain**: Added Layerswap cross-chain deposit integration for onchain checkout with balance checks, bridging actions, and UI for conversion/liquidity errors (#2273)\n 254→- **@cartridge/controller**: Added Phantom EVM wallet authentication method extending EthereumWalletBase, enabling login and signup with Phantom's EVM-compatible mode (#2278)\n 255→- **@cartridge/controller**: Added toast notification API with ToastType and ToastOptions interfaces, enabling toast creation from the controller SDK (#2265)\n 256→- **@cartridge/keychain**: Added quests functionality for enhanced gaming features (#2280)\n 257→\n 258→### šŸš€ Improvements \n 259→- **@cartridge/keychain**: Enhanced onchain purchase flow with multi-network wallet selection, improved cost breakdown displaying Layerswap fees, and streamlined navigation (#2273)\n 260→- **@cartridge/keychain**: Improved purchase context architecture by splitting into flow-specific contexts (StarterpackContext, OnchainPurchaseContext, CreditPurchaseContext) for better maintainability (#2270)\n 261→- **@cartridge/keychain**: Enhanced authentication flows to skip wildcard session creation during register session login, reducing friction from two signatures to one (#2275)\n 262→- **@cartridge/keychain**: Reverted controller iframe dismiss behavior to prevent accidental closure when clicking outside (#2277)\n 263→\n 264→### šŸ› Bug Fixes\n 265→- **@cartridge/keychain**: Fixed network selection flicker by adding detection state to suppress empty UI while detecting external wallets (#2272)\n 266→- **@cartridge/keychain**: Fixed Turnkey nonce mismatch errors by clearing cached Auth0 tokens before nonce generation, ensuring fresh tokens with correct nonces (#2271)\n 267→- **@cartridge/controller**: Added payment permission to iframe allow attribute for proper Stripe Payment Request API access, enabling Apple Pay and Google Pay support (#2269)\n 268→- **@cartridge/keychain**: Reduced Ekubo API console noise by removing verbose 429 logging and adjusting retry/backoff configurations for better rate limit handling (#2268)\n 269→\n 270→### šŸ”§ Refactoring\n 271→- **Development**: Removed build:compat infrastructure and associated dependencies, simplifying build configuration across packages (#2279)\n 272→\n 273→## [0.11.3-alpha.2] - 2025-12-10\n 274→\n 275→### ✨ New Features\n 276→- **@cartridge/keychain**: Added Layerswap cross-chain deposit integration for onchain checkout with balance checks, bridging actions, and UI for conversion/liquidity errors (#2273)\n 277→- **@cartridge/controller**: Added Phantom EVM wallet authentication method extending EthereumWalletBase, enabling login and signup with Phantom's EVM-compatible mode (#2278)\n 278→- **@cartridge/controller**: Added toast notification API with ToastType and ToastOptions interfaces, enabling toast creation from the controller SDK (#2265)\n 279→- **@cartridge/keychain**: Added quests functionality for enhanced gaming features (#2280)\n 280→\n 281→### šŸš€ Improvements \n 282→- **@cartridge/keychain**: Enhanced onchain purchase flow with multi-network wallet selection, improved cost breakdown displaying Layerswap fees, and streamlined navigation (#2273)\n 283→- **@cartridge/keychain**: Improved purchase context architecture by splitting into flow-specific contexts (StarterpackContext, OnchainPurchaseContext, CreditPurchaseContext) for better maintainability (#2270)\n 284→- **@cartridge/keychain**: Enhanced authentication flows to skip wildcard session creation during register session login, reducing friction from two signatures to one (#2275)\n 285→- **@cartridge/keychain**: Reverted controller iframe dismiss behavior to prevent accidental closure when clicking outside (#2277)\n 286→\n 287→### šŸ› Bug Fixes\n 288→- **@cartridge/keychain**: Fixed network selection flicker by adding detection state to suppress empty UI while detecting external wallets (#2272)\n 289→- **@cartridge/keychain**: Fixed Turnkey nonce mismatch errors by clearing cached Auth0 tokens before nonce generation, ensuring fresh tokens with correct nonces (#2271)\n 290→- **@cartridge/controller**: Added payment permission to iframe allow attribute for proper Stripe Payment Request API access, enabling Apple Pay and Google Pay support (#2269)\n 291→- **@cartridge/keychain**: Reduced Ekubo API console noise by removing verbose 429 logging and adjusting retry/backoff configurations for better rate limit handling (#2268)\n 292→\n 293→### šŸ”§ Refactoring\n 294→- **Development**: Removed build:compat infrastructure and associated dependencies, simplifying build configuration across packages (#2279)\n 295→\n 296→## [0.11.3-alpha.1] - 2025-12-01\n 297→\n 298→### ✨ New Features\n 299→- **@cartridge/keychain**: Added DevConnect booster pack claim integration with Merkle claim functionality, enabling users to claim DevConnect rewards through preimage-derived EVM addresses (#2249)\n 300→- **@cartridge/keychain**: Streamlined onchain starterpack purchase flow with direct checkout navigation, removing intermediate screens and defaulting to controller wallet for faster transactions (#2200)\n 301→- **@cartridge/keychain**: Added horizontal carousel for booster pack cards on mobile devices, providing swipeable navigation and improved touch experience (#2253)\n 302→- **@cartridge/keychain**: Added localStorage availability check for booster packs to ensure proper functionality across different environments (#2259)\n 303→- **@cartridge/keychain**: Added tournament game links integration for enhanced gaming navigation (#2252)\n 304→- **@cartridge/keychain**: Implemented token IDs retrieval from claim transactions for better transaction tracking (#2255)\n 305→\n 306→### šŸš€ Improvements \n 307→- **@cartridge/keychain**: Simplified redirect logic in ConnectRoute for more streamlined authentication flows (#2248)\n 308→- **@cartridge/keychain**: Enhanced claim interactions for mystery assets with improved user feedback (#2257)\n 309→- **@cartridge/keychain**: Restored claim call functionality for improved transaction processing (#2254)\n 310→\n 311→### šŸ› Bug Fixes\n 312→- **@cartridge/controller**: Fixed iframe local network access by adding `local-network-access *` to iframe allow attribute, enabling proper local development (#2266)\n 313→- **@cartridge/keychain**: Fixed merkle claim UI stuck issue preventing users from completing claim flows (#2261)\n 314→- **@cartridge/keychain**: Fixed token icon retrieval from presets for consistent token display (#2258)\n 315→- **@cartridge/keychain**: Added redirect URL support for WebAuthn authentication, improving authentication flow reliability (#2250)\n 316→- **@cartridge/keychain**: Fixed Turnkey popup navigation to keychain for better authentication routing (#2247)\n 317→- **@cartridge/keychain**: Updated ConnectRoute tests to match simplified redirect logic for improved test reliability (#2263)\n 318→- **@cartridge/keychain**: Fixed input format issues for better form validation (#2251)\n 319→- **@cartridge/keychain**: Fixed event parsing to only handle mystery item events properly (#2256)\n 320→\n 321→## [0.11.2] - 2025-11-14\n 322→\n 323→### ✨ New Features\n 324→- **@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)\n 325→\n 326→### šŸš€ Improvements \n 327→- **@cartridge/keychain**: Enhanced iOS popup reliability with retry logic, exponential backoff, and stability checks for improved authentication flow on iOS devices (#2244)\n 328→- **@cartridge/keychain**: Updated booster pack claim flow with improved component structure and better user experience (#2240)\n 329→- **@cartridge/keychain**: Enhanced debug logging with comprehensive Turnkey authentication logs for better troubleshooting (#2241)\n 330→\n 331→### šŸ› Bug Fixes\n 332→- **@cartridge/keychain**: Fixed popup error handling by preventing thrown errors on blocked popups, maintaining original flow behavior for mobile compatibility (#2243)\n 333→- **@cartridge/keychain**: Reverted popup error logging to address reliability issues and maintain stable authentication flows (#2242, #2238)\n 334→- **@cartridge/keychain**: Fixed claim pill size display issues for better visual consistency (#2226)\n 335→- **@cartridge/keychain**: Fixed default image handling bug in booster pack components (#2225)\n 336→- **@cartridge/keychain**: Updated game links for improved navigation and user experience (#2224)\n 337→- **@cartridge/keychain**: Enhanced dynamic height CSS for better responsive design (#2233)\n 338→- **@cartridge/keychain**: Improved localStorage and dead-path cookie synchronization for standalone flows (#2232)\n 339→- **@cartridge/keychain**: Removed deprecated controller_redirect functionality to streamline authentication flows (#2230)\n 340→- **@cartridge/keychain**: Simplified storage access request logic for more reliable cross-domain authentication (#2229)\n 341→- **@cartridge/controller**: Refactored session creation to load controller from store for improved session management (#2228)\n 342→- **Development**: Fixed environment variable loading for live environment configuration (#2227)\n 343→\n 344→### šŸ“¦ Dependencies\n 345→- **Development**: Added Storybook story for StandaloneConnect component for improved component testing and documentation (#2231)\n 346→\n 347→## [0.11.2-alpha.4] - 2025-11-13\n 348→\n 349→### ✨ New Features\n 350→- **@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)\n 351→\n 352→### šŸš€ Improvements \n 353→- **@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)\n 354→\n 355→### šŸ› Bug Fixes\n 356→- **@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)\n 357→\n 358→### šŸ“¦ Dependencies\n 359→- **@cartridge/ui**: Updated to commit df8934d for improved design consistency and functionality (#2218)\n 360→\n 361→## [0.11.2-alpha.3] - 2025-11-12\n 362→\n 363→### ✨ New Features\n 364→- **@cartridge/controller**: Added `signupOptions` support 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)\n 365→\n 366→## [0.11.2-alpha.2] - 2025-11-11\n 367→\n 368→### šŸš€ Improvements\n 369→- **@cartridge/controller**: Refactored `openStarterPack` method signature to accept an options object instead of direct parameters, making the API more extensible for future additions (#2213)\n 370→\n 371→### šŸ› Bug Fixes\n 372→- **@cartridge/controller**: Fixed standalone auth flow storage access by implementing dedicated `controller_storage_ready` parameter for redirect detection and automatic Storage Access API requests, enabling seamless cross-domain authentication flow (#2212)\n 373→- **@cartridge/keychain**: Reverted Turnkey nonce mismatch fix to address reliability issues (#2215)\n 374→\n 375→## [0.11.2-alpha.1] - 2025-11-11\n 376→\n 377→### ✨ New Features\n 378→- **@cartridge/keychain**: Added Ethereum preimage signing for Merkle claims, enabling users to claim tokens using a preimage when external wallets are not available or preferred (#2185)\n 379→\n 380→### šŸš€ Improvements \n 381→- **@cartridge/controller**: Refactored `openStarterPack` method signature to accept an options object instead of direct parameters, making the API more extensible for future additions (#2213)\n 382→- **@cartridge/keychain**: Simplified game redirect URLs in PlayButton component to use cleaner parameter format with direct game URLs (#2209)\n 383→- **Development**: Disabled Vite visualizer auto-open in production builds to streamline the build process (#2211)\n 384→- **Examples**: Added Nums game integration to the PlayButton component with appropriate redirect and preset configuration (#2206)\n 385→\n 386→### šŸ› Bug Fixes\n 387→- **@cartridge/keychain**: Fixed Turnkey nonce mismatch by persisting nonce in localStorage across Auth0 redirects, resolving iframe recreation issues during the authentication flow (#2210)\n 388→\n 389→### šŸ“¦ Dependencies\n 390→- **@cartridge/controller-wasm**: Updated to version 0.3.17 for improved functionality (#2207)\n 391→\n 392→## [0.11.0] - 2025-11-10\n 393→\n 394→### ✨ New Features\n 395→- **@cartridge/controller**: Added controller_redirect parameter for standalone flow, enabling automatic redirect to keychain for first-party storage access with preset support (#2192)\n 396→- **@cartridge/keychain**: Added Layerswap deposit support for starterpack purchases, replacing backend purchase flow with more flexible deposit-based approach (#2194)\n 397→- **@cartridge/keychain**: Added transaction hash display on success screen for onchain purchases, improving transaction transparency and user feedback (#2186)\n 398→- **@cartridge/keychain**: Added balance_of fallback and enhanced error handling for token balance checks, improving reliability of token balance queries (#2178)\n 399→- **Development**: Added conductor.json workspace configuration for improved development workflow (#2195)\n 400→\n 401→### šŸš€ Improvements \n 402→- **@cartridge/keychain**: Refactored starterpack architecture to separate claim and onchain flows with clearer terminology - \"backend\" starterpacks renamed to \"claimed\" starterpacks for better clarity (#2199)\n 403→- **@cartridge/keychain**: Enhanced standalone flow with automatic connector detection from redirect flow, improving user experience (#2189)\n 404→- **@cartridge/keychain**: Improved mobile detection logic for better cross-platform compatibility (#2175)\n 405→- **@cartridge/keychain**: Redesigned starterpack receiving and success screens for improved user experience (#2183)\n 406→- **@cartridge/keychain**: Enhanced transaction cancellation handling when navigating back from transaction flows (#2180)\n 407→\n 408→### šŸ› Bug Fixes\n 409→- **@cartridge/keychain**: Fixed torii token configuration for improved token handling (#2201)\n 410→- **@cartridge/keychain**: Fixed session auto-creation redirect timing in standalone authentication flow (#2196)\n 411→- **@cartridge/keychain**: Fixed preset verification in standalone flow for more reliable preset validation (#2191)\n 412→- **@cartridge/keychain**: Fixed URL search parameter preservation in connect route to maintain state during navigation (#2188)\n 413→- **@cartridge/keychain**: Fixed achievement display issues for better user profile experience (#2181)\n 414→\n 415→### šŸ”§ Refactoring\n 416→- **@cartridge/controller**: Removed unused onAuthenticationSuccess callback to streamline authentication flow (#2197)\n 417→- **@cartridge/keychain**: Deprecated CryptoCheckout component in favor of new Layerswap deposit approach (#2194)\n 418→\n 419→### šŸ“¦ Dependencies\n 420→- **@cartridge/ui**: Updated to latest version for improved design consistency (#2190, #2182)\n 421→\n 422→## [0.10.7] - 2025-10-01\n 423→\n 424→### ✨ New Features\n 425→- **@cartridge/controller**: Added async/await pattern for controller initialization, providing better error handling and improved developer experience (#2070)\n 426→- **@cartridge/keychain**: Added disconnect redirect URL support for session provider, enabling better session management and app navigation (#2074)\n 427→\n 428→### šŸš€ Improvements \n 429→- **@cartridge/keychain**: Removed deprecated layout style overrides across components for cleaner UI rendering (#2040)\n 430→- **@cartridge/keychain**: Extracted keychain URL logic into dedicated function for better code organization and maintainability (#2071)\n 431→- **@cartridge/keychain**: Enhanced bottom navigation to preserve query parameters during navigation (#2072)\n 432→- **@cartridge/keychain**: Improved token sorting in ERC20 lists for better user experience (#2083)\n 433→- **Development**: Enforced React hook dependencies for improved code quality (#2065)\n 434→\n 435→### šŸ› Bug Fixes\n 436→- **@cartridge/controller**: Fixed Ethereum wallet availability on mobile browsers by adding mobile detection to prevent unsupported wallet initialization (#2076)\n 437→- **@cartridge/keychain**: Fixed BigInt serialization errors in execute URL parameters by adding proper JSON serialization handling (#2084)\n 438→- **@cartridge/keychain**: Resolved circular dependency and BigInt handling issues in starterpack components (#2085)\n 439→- **@cartridge/keychain**: Fixed starterpack crypto cost breakdown display for accurate pricing information (#2081)\n 440→- **@cartridge/keychain**: Fixed controller loading state management for smoother user experience (#2078)\n 441→- **@cartridge/keychain**: Fixed authentication method types for improved type safety (#2073)\n 442→- **@cartridge/keychain**: Fixed inventory display issues and asset collection rendering (#2069, #2068)\n 443→\n 444→### šŸ“¦ Dependencies\n 445→- **@cartridge/presets**: Updated to latest version for improved functionality (#2077)\n 446→\n 447→## [0.10.6] - 2025-09-26\n 448→\n 449→### ✨ New Features\n 450→- **@cartridge/keychain**: Added marketplace integration with consolidated arcade provider functionality, streamlining marketplace operations and improving the gaming marketplace experience (#2063)\n 451→- **@cartridge/keychain**: Added disconnect page with redirect deeplink support, enabling better session management and seamless app navigation (#2056)\n 452→- **@cartridge/keychain**: Implemented dynamic RPC URL override support for enhanced flexibility in network configuration, allowing developers to specify custom RPC endpoints dynamically (#2052)\n 453→\n 454→### šŸš€ Improvements \n 455→- **@cartridge/controller**: Enhanced Android native flow session provider with improved error handling and better session management reliability (#2066)\n 456→\n 457→### šŸ› Bug Fixes\n 458→- **@cartridge/keychain**: Fixed purchase flow to use correct network icon, ensuring users see the appropriate network indicator during transactions (#2055)\n 459→- **@cartridge/keychain**: Fixed verified session creation to improve session validation and authentication flow reliability (#2062)\n 460→- **@cartridge/keychain**: Fixed game theme functionality for better theming consistency across gaming applications (#2050)\n 461→\n 462→### šŸ“¦ Dependencies\n 463→- **Dojo**: Updated to latest version for improved gaming framework functionality (#2057)\n 464→\n 465→## [0.10.5] - 2025-09-20\n 466→\n 467→### šŸ› Bug Fixes\n 468→- **@cartridge/controller**: Fixed session key GUID registration by adding proper signerToGuid generation and debug logging to SessionAccount constructor, ensuring proper session registration for Node.js provider (#2047)\n 469→- **@cartridge/keychain**: Fixed USDC payment type box visibility on Starter Pack pages by removing redundant USDC denomination badge from cost breakdown display (#2046)\n 470→- **@cartridge/keychain**: Fixed claim wallet detection to properly identify available wallets during claiming process, improving wallet selection reliability (#2045)\n 471→- **@cartridge/keychain**: Fixed starter pack UI by removing unintentional hover states from non-selectable starter items and hiding unnecessary icons in starter pack page header (#2026)\n 472→\n 473→## [0.10.4] - 2025-09-18\n 474→\n 475→### ✨ New Features\n 476→- **@cartridge/keychain**: Added cookie-based authentication for already connected accounts, improving user experience by maintaining login state across sessions (#2039)\n 477→\n 478→### šŸ› Bug Fixes\n 479→- **@cartridge/controller**: Fixed external wallet availability detection to handle cases where StarkNet window objects are not immediately available on initialization, ensuring reliable StarkNet wallet detection (#2043)\n 480→\n 481→## [0.10.3] - 2025-09-17\n 482→\n 483→### ✨ New Features\n 484→- **@cartridge/keychain**: Added native social login functionality, enabling seamless authentication in native applications (#2010)\n 485→- **@cartridge/keychain**: Implemented robust retry logic with exponential backoff for transaction waiting operations, improving reliability for both external wallet and StarkNet transactions (#2032)\n 486→- **@cartridge/keychain**: Enhanced starter pack and cost breakdown UI with improved tooltips, verified/unverified edition support, and better item display (#1982)\n 487→\n 488→### šŸš€ Improvements \n 489→- **@cartridge/keychain**: Migrated all explorer URLs from StarkScan to Cartridge Explorer for consistent block exploration experience (#1883)\n 490→- **@cartridge/controller**: Improved nested execution error parsing to extract meaningful error messages from deeply nested JSON-RPC responses, showing specific contract errors instead of generic messages (#2033)\n 491→- **@cartridge/keychain**: Enhanced RPC error display in ExecutionContainer to show clean error descriptions instead of full JSON responses (#2023)\n 492→- **@cartridge/keychain**: Improved token ordering and balance handling for better user experience (#2029, #2024)\n 493→- **Dependencies**: Updated presets package and various UI components for improved functionality\n 494→\n 495→### šŸ› Bug Fixes\n 496→- **@cartridge/keychain**: Fixed social authentication redirect URL handling for improved login reliability (#2035)\n 497→- **@cartridge/keychain**: Added comprehensive error handling to claim operations to prevent silent failures (#2030)\n 498→- **@cartridge/keychain**: Fixed cost component display to only show for paid starter packs, removing confusing cost breakdown from free claims (#2025)\n 499→- **@cartridge/keychain**: Fixed various UI regressions including useEffect dependencies, wallet integration, and controller creation flows (#2028, #2027)\n 500→- **@cartridge/keychain**: Fixed token balance display issues for accounts with no prior interactions (#2024)\n 501→- **@cartridge/keychain**: Resolved minor asset display issues in collection components (#2019)\n 502→- **@cartridge/keychain**: Fixed total claimable amount calculation (#2018)\n 503→\n 504→### šŸ“¦ Dependencies\n 505→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality\n 506→- **controller-rs**: Updated to latest version for enhanced backend functionality\n 507→- **Various**: Updated workspace dependencies and lockfile maintenance\n 508→\n 509→## [0.10.2] - 2025-09-11\n 510→\n 511→### ✨ New Features\n 512→- **@cartridge/keychain**: Added environment-based configuration for merkle drop contracts enabling flexible contract deployment across different environments (#2008)\n 513→\n 514→### šŸš€ Improvements \n 515→- **@cartridge/keychain**: Migrated 6 transaction flows to use ExecutionContainer for direct execution, eliminating page redirects and providing inline transaction confirmation for improved UX (#2005)\n 516→- **@cartridge/keychain**: Enhanced session update prompting logic with better validation and synchronous rendering for improved transaction flow performance (#2007)\n 517→- **Examples**: Cleaned up Next.js example Profile component by removing collection-related buttons (#2011)\n 518→\n 519→### šŸ› Bug Fixes\n 520→- **@cartridge/controller**: Fixed chain switching to always execute on request, ensuring reliable network changes (#2014)\n 521→- **@cartridge/keychain**: Fixed login validation to prevent authentication before controller username validation is complete (#2012)\n 522→- **@cartridge/keychain**: Fixed session creation flash issues for smoother session management (#2009)\n 523→- **@cartridge/keychain**: Fixed Braavos wallet chain switching by adding proper skip logic (#2006)\n 524→- **@cartridge/keychain**: Fixed merkle drop claim interface to properly display claim amounts (#2004)\n 525→\n 526→## [0.10.1] - 2025-09-10\n 527→\n 528→### ✨ New Features\n 529→- **@cartridge/keychain**: Added StarkNet wallets account changed listener for improved wallet integration and event handling (#1999)\n 530→- **@cartridge/keychain**: Enhanced claim UI to display connected wallet address for better user transparency (#2000)\n 531→- **@cartridge/keychain**: Added starterpack ID input support to example application for easier testing and development (#1998)\n 532→- **@cartridge/keychain**: Implemented merkle drop StarkNet claim signature verification for enhanced security (#1993)\n 533→- **@cartridge/keychain**: Added merkle-drop wallet selection with controller integration for streamlined claiming process (#1986)\n 534→- **@cartridge/controller**: Added outsideExecution support to StarterPack API for improved transaction handling (#1972)\n 535→- **@cartridge/controller**: Migrated collection listing to use ExecutionContainer for direct execution, improving performance (#2002)\n 536→\n 537→### šŸš€ Improvements \n 538→- **@cartridge/controller**: Enhanced fee estimation by scaling resource bounds by 1.5x for more reliable transaction processing (#1978)\n 539→- **@cartridge/keychain**: Restricted token support to only USDC, ETH, LORDS and STRK tokens for improved security and user experience (#1996)\n 540→- **Development**: Added dev:live scripts for production API testing to streamline development workflow (#2001)\n 541→\n 542→### šŸ› Bug Fixes\n 543→- **@cartridge/controller**: Fixed controller crash after purchase to ensure stable operation (#1997)\n 544→- **@cartridge/keychain**: Resolved inventory assets disappearing after tab navigation (#1990)\n 545→- **@cartridge/keychain**: Fixed navigation stack reset issues in collection components (#1995)\n 546→- **@cartridge/keychain**: Fixed loot box image display issues (#1991)\n 547→- **@cartridge/keychain**: Resolved inventory view problems after purchase completion (#1989)\n 548→- **@cartridge/keychain**: Fixed token page empty state display (#1988)\n 549→\n 550→### šŸ“¦ Dependencies\n 551→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#1994, #1992)\n 552→\n 553→## [0.10.0] - 2025-09-03\n 554→\n 555→### ✨ New Features\n 556→- **@cartridge/keychain**: Added starterpack claim merkle drop functionality, enabling efficient and secure starterpack distribution through merkle tree verification (#1928)\n 557→- **@cartridge/controller**: Re-implemented controller creation factory pattern for improved instantiation and configuration management (#1956)\n 558→- **@cartridge/keychain**: Removed feature flag for signers functionality, making multi-signer support generally available (#1961)\n 559→\n 560→### šŸš€ Improvements \n 561→- **Bundle Size**: Massive bundle size reduction through multiple optimizations:\n 562→ - Migrated from `@solana/web3.js` to lightweight `micro-sol-signer` library, reducing Solana-related code by ~450KB (#1951)\n 563→ - Removed MetaMask SDK dependency and migrated Ethereum wallets to shared EIP-6963 base class, saving several MB (#1950)\n 564→ - Replaced lodash dependency with custom utilities, eliminating unnecessary library weight (#1960)\n 565→- **@cartridge/keychain**: Enhanced error parsing with improved test coverage for \"Not active\" and ENTRYPOINT_NOT_FOUND cases (#1958, #1957)\n 566→- **@cartridge/keychain**: Improved nested error handling for better debugging and user experience (#1949)\n 567→- **@cartridge/controller**: Removed unreliable original signer checks for more robust signer management (#1952)\n 568→\n 569→### šŸ› Bug Fixes\n 570→- **@cartridge/keychain**: Fixed client fee calculation for ERC721 transactions (#1955)\n 571→- **@cartridge/keychain**: Temporarily disabled Solana credits purchase due to reliability issues (#1948)\n 572→\n 573→### āš ļø Breaking Changes\n 574→- **StarkNet Dependencies**: Upgraded to StarkNet v8 with updated WalletAccount constructor API. Applications using WalletAccount directly may need to update from argument-based to object-based constructor parameters (#1939)\n 575→- **Ethereum Wallet Integration**: Removed MetaMask SDK in favor of EIP-6963 standard wallet detection. Applications relying on MetaMask SDK-specific features may need updates (#1950)\n 576→- **Dependencies**: Removed lodash dependency - any direct usage of lodash utilities from this package will need replacement (#1960)\n 577→\n 578→### šŸ“¦ Dependencies\n 579→- **starknet**: Updated to ^8.1.2 for improved StarkNet integration and compatibility (#1939)\n 580→- **@starknet-react/core**: Updated to ^5.0.1 for StarkNet v8 support (#1939)\n 581→- **@starknet-react/chains**: Updated to ^5.0.1 for StarkNet v8 support (#1939)\n 582→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#1959, #1953, #1947, #1945)\n 583→- **Dependencies Removed**: \n 584→ - lodash and @types/lodash (replaced with custom utilities)\n 585→ - @solana/web3.js and @solana/spl-token (replaced with micro-sol-signer)\n 586→ - @metamask/sdk (replaced with EIP-6963 standard)\n 587→\n 588→## [0.10.0-alpha.1] - 2025-08-29\n 589→\n 590→### šŸ› Bug Fixes\n 591→- **@cartridge/controller**: Fixed WalletAccount constructor to properly work with starknet.js v8.5.2, ensuring compatibility with the latest StarkNet library version (#1943)\n 592→\n 593→## [0.10.0-alpha.0] - 2025-08-28\n 594→\n 595→### ✨ New Features\n 596→- **@cartridge/controller**: Added lazy load option to defer iframe mounting, improving initial page load performance and providing better control over when the controller iframe is loaded (#1934)\n 597→- **@cartridge/keychain**: Added fallback redirect option for social login when popup windows don't work, ensuring better compatibility across different browsers and environments (#1929)\n 598→- **@cartridge/controller**: Implemented StarkNet wallet switch chain and send transaction functionality, enabling seamless network switching and transaction execution with external wallets (#1927)\n 599→- **@cartridge/keychain**: Enabled Braavos wallet integration, expanding wallet compatibility for users (#1925)\n 600→- **@cartridge/keychain**: Combined payment method and network selection screens for a more streamlined user experience during transactions (#1920)\n 601→- **@cartridge/keychain**: Added claim starterpack UI, providing an intuitive interface for users to claim their starter packages (#1922)\n 602→\n 603→### šŸš€ Improvements \n 604→- **@cartridge/keychain**: Enhanced multicall error parsing to extract more meaningful error messages, improving debugging and user experience during transaction failures (#1923)\n 605→\n 606→### šŸ› Bug Fixes\n 607→- **@cartridge/keychain**: Fixed social native login/signup issues to ensure proper authentication flow in native applications (#1937)\n 608→- **@cartridge/keychain**: Fixed starterpack hook functionality to ensure proper starterpack claiming and management (#1936)\n 609→- **@cartridge/keychain**: Fixed social login issues in native apps, improving authentication reliability (#1932)\n 610→- **@cartridge/controller**: Fixed issue where user cancellation of manual transactions was not properly propagated, ensuring proper event handling (#1931)\n 611→- **@cartridge/controller**: Fixed connection destroyed on navigate issue, preventing connection loss during page navigation (#1926)\n 612→- **@cartridge/keychain**: Fixed missing Base network block explorer integration (#1919)\n 613→- **@cartridge/controller**: Fixed handling of transaction execution errors after session updates, improving error recovery and user feedback (#1916)\n 614→\n 615→### šŸ“¦ Dependencies\n 616→- **starknet.js**: Updated to version 8.5.2 for improved StarkNet integration and bug fixes (#1940)\n 617→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and functionality (#1938, #1933, #1930, #1921)\n 618→\n 619→## [0.9.3] - 2025-08-13\n 620→\n 621→### ✨ New Features\n 622→- **@cartridge/keychain**: Added multichain purchase flow for starterpack, enabling seamless cross-chain purchasing with improved wallet and network selection (#1868)\n 623→- **@cartridge/controller**: Enabled switch chain functionality for external wallets, allowing users to change networks when using external wallet connections (#1899)\n 624→- **@cartridge/keychain**: Added ERC1155 listing and purchase support for enhanced NFT marketplace functionality (#1873)\n 625→- **@cartridge/keychain**: Added remove signer functionality, allowing users to remove additional signers from their accounts (#1874)\n 626→\n 627→### šŸš€ Improvements \n 628→- **@cartridge/controller**: Separated controller and sessions queries for improved performance and better data management (#1892)\n 629→- **@cartridge/keychain**: Enhanced validation error display to provide clearer feedback to users during transactions and form submissions (#1877)\n 630→- **Development**: Added Claude Code configuration for improved development workflow and AI-assisted coding (#1885)\n 631→\n 632→### šŸ› Bug Fixes\n 633→- **@cartridge/keychain**: Fixed multi-purchase ERC721 functionality by replacing window.location pattern with useLocation hook and added proper search params handling (#1897)\n 634→- **@cartridge/keychain**: Fixed tokens loading forever issue that prevented proper token balance and information display (#1896)\n 635→- **@cartridge/keychain**: Fixed ERC721 listing detection to ensure proper marketplace functionality (#1893)\n 636→- **@cartridge/keychain**: Fixed purchase page loading issues for better user experience during transactions (#1894)\n 637→- **@cartridge/keychain**: Fixed navigation reset functionality to ensure proper routing after transactions (#1880)\n 638→- **@cartridge/keychain**: Fixed sign message handling for boolean values to prevent signing errors (#1879)\n 639→- **@cartridge/keychain**: Fixed external wallet transaction failures by improving error handling and transaction processing (#1878)\n 640→- **@cartridge/keychain**: Fixed parameter updates for better transaction handling (#1888)\n 641→- **CI/CD**: Removed non-working end-to-end CI tests to improve build reliability (#1895)\n 642→\n 643→### šŸ“¦ Dependencies\n 644→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and functionality (#1886, #1882, #1881)\n 645→\n 646→## [0.9.2] - 2025-07-23\n 647→\n 648→### ✨ New Features\n 649→- **@cartridge/keychain**: Added popup flow for addOwner functionality, providing a streamlined user experience for adding account signers (#1835)\n 650→- **@cartridge/keychain**: Merged profile functionality into keychain, consolidating user profile management, inventory, achievements, and activity tracking into a unified interface (#1837)\n 651→\n 652→### šŸš€ Improvements \n 653→- **Development**: Added compatibility Next.js example build to improve development and testing workflows (#1836)\n 654→\n 655→### šŸ› Bug Fixes\n 656→- **@cartridge/keychain**: Fixed password manager detection for hidden input fields to prevent interference with browser password managers (#1848)\n 657→- **@cartridge/keychain**: Fixed slot routes to ensure proper navigation and routing within the slot funding flow (#1847)\n 658→- **@cartridge/controller**: Fixed incorrect update session request handling to improve session management reliability (#1843)\n 659→- **@cartridge/keychain**: Fixed Bitwarden integration flow to ensure compatibility with the Bitwarden password manager (#1840)\n 660→- **@cartridge/keychain**: Enhanced logging and fixed various issues for better debugging and error tracking (#1839)\n 661→- **@cartridge/keychain**: Fixed multiple issues related to owners and session management for improved account functionality (#1834)\n 662→\n 663→### šŸ“¦ Dependencies\n 664→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and functionality (#1845, #1833, #1832, #1831)\n 665→\n 666→## [0.9.0] - 2025-07-15\n 667→\n 668→### ✨ New Features\n 669→- **@cartridge/keychain**: Added slot funding flow for teams, enabling team-based slot funding with comprehensive purchase flow integration (#1815)\n 670→- **@cartridge/controller**: Added multi-signer support with the ability to add additional signers to accounts (#1813)\n 671→- **@cartridge/keychain**: Added feature gating for add-signer functionality to control access to multi-signer features (#1821)\n 672→\n 673→### šŸš€ Improvements \n 674→- **@cartridge/keychain**: Refactored purchase flow with improved component structure and better separation of concerns (#1808)\n 675→- **Development**: Removed Claude code review integration to streamline development workflow (#1824)\n 676→\n 677→### šŸ› Bug Fixes\n 678→- **@cartridge/keychain**: Fixed slot team selection screen display issues (#1826)\n 679→- **@cartridge/keychain**: Improved error messaging for better user experience (#1818)\n 680→- **@cartridge/keychain**: Fixed version constraint issue when adding a signer (#1817)\n 681→\n 682→### šŸ“¦ Dependencies\n 683→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and bug fixes (#1827, #1825, #1823, #1822, #1820, #1819, #1816, #1814, #1811, #1805, #1803)\n 684→\n 685→## [0.8.0] - 2025-06-24\n 686→\n 687→### ✨ New Features\n 688→- **Session Management**: Added comprehensive session management functionality enabling secure session handling, registration, and consent flows for improved gaming UX (#1722)\n 689→- **Controller Interface Simplification**: Streamlined the main Controller interface with improved defaults and better developer experience (#1759)\n 690→\n 691→### šŸš€ Improvements \n 692→- **@cartridge/controller**: Refactored WalletConnect implementation in preparation for multiple signers support (#1780)\n 693→- **@cartridge/controller**: Improved chain precedence logic to prioritize cartridgeChains over provided chains (#1769)\n 694→- **CI/CD**: Enhanced release automation with GitHub releases creation (#1782) and job summaries (#1784)\n 695→- **CI/CD**: Added automated changelog generation workflows (#1786) and simplified release workflow (#1789)\n 696→- **Development**: Added Claude Code integration and workflow improvements for better collaboration (#1768, #1766)\n 697→\n 698→### šŸ› Bug Fixes\n 699→- **@cartridge/profile**: Fixed decimal formatting for credits balance display (#1781)\n 700→- **@cartridge/controller**: Fixed Discord integration bug that occurred when no wallet session exists (#1762)\n 701→- **Documentation**: Resolved doc-sync injection issues and improved sync reliability (#1764, #1765)\n 702→- **CI/CD**: Fixed changelog generation and multi-line output issues in release workflows (#1788)\n 703→\n 704→### āš ļø Breaking Changes\n 705→- **Controller Interface**: The Controller interface has been simplified, which may require updates to existing integrations. Refer to the updated examples for migration guidance (#1759)\n 706→- **Session Management**: Introduction of new session management system may require updates to applications using custom session handling\n 707→\n 708→### šŸ“¦ Dependencies\n 709→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency (#1775, #1776, #1779)\n 710→- **Testing**: Enhanced test infrastructure with improved mocking and CI workflows\n 711→- **Build**: Updated TypeScript configurations and build processes across the monorepo\n\n\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n\n"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"5e17ce08-9020-459d-96fa-e9efdfd08f94"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_013rnrMKDytdHKXxaoDV2hj1","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_015uZ2Nj9wSzFvtNZjPCM3Y5","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commit range v0.13.9..HEAD","status":"completed"},{"content":"Read existing CHANGELOG.md to understand format","status":"completed"},{"content":"Generate changelog entry for v0.13.10-alpha.1","status":"in_progress"},{"content":"Update CHANGELOG.md with new entry","status":"pending"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":16567,"cache_read_input_tokens":18002,"cache_creation":{"ephemeral_5m_input_tokens":16567,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"dcfde270-6757-4205-8d2d-53a9a87951b2"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_015uZ2Nj9wSzFvtNZjPCM3Y5","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"dd0caeea-d74d-46f3-9655-4c22ab5de92c"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01LFT3CynrBw6d1YTKt2GucD","type":"message","role":"assistant","content":[{"type":"text","text":"Now I'll generate the changelog entry for version 0.13.10-alpha.1 based on the commits since v0.13.9:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":188,"cache_read_input_tokens":34569,"cache_creation":{"ephemeral_5m_input_tokens":188,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"3aea65c7-62e9-4549-9b86-8187b413afa5"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01LFT3CynrBw6d1YTKt2GucD","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_019BCwdymyjaXNFGvYiZmVyD","name":"Bash","input":{"command":"date +%Y-%m-%d","description":"Get current date for changelog entry"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":188,"cache_read_input_tokens":34569,"cache_creation":{"ephemeral_5m_input_tokens":188,"ephemeral_1h_input_tokens":0},"output_tokens":2,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"9acb0fe8-d4a2-409c-b3b9-4bb9a31c22bf"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_019BCwdymyjaXNFGvYiZmVyD","type":"tool_result","content":"2026-02-25","is_error":false}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"2144ef48-72f0-45d0-8500-f6a83f24db0d"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_018yv6yJ5oCReRHKuEsBqJeG","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_012w1cbSmxZHxNtMA2s4cYpy","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commit range v0.13.9..HEAD","status":"completed"},{"content":"Read existing CHANGELOG.md to understand format","status":"completed"},{"content":"Generate changelog entry for v0.13.10-alpha.1","status":"completed"},{"content":"Update CHANGELOG.md with new entry","status":"in_progress"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":132,"cache_read_input_tokens":34757,"cache_creation":{"ephemeral_5m_input_tokens":132,"ephemeral_1h_input_tokens":0},"output_tokens":24,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"de246453-6315-4a17-bc7e-ed51476e23f9"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_012w1cbSmxZHxNtMA2s4cYpy","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"cf81665c-6865-4c0f-89e4-37f529ee0a35"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01JMDvZ3FgCUpgmkVcGMeLqc","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01LGcY6uK5hqGLW2jd9V7yhW","name":"Edit","input":{"file_path":"/home/runner/work/controller/controller/CHANGELOG.md","old_string":"# Changelog\n\n## [0.13.9] - 2026-02-16","new_string":"# Changelog\n\n## [0.13.10-alpha.1] - 2026-02-25\n\n### ✨ New Features\n- **@cartridge/controller**: Added `updateSession` API for runtime session policy updates, enabling dynamic modification of session policies during runtime for improved flexibility (#2440)\n- **@cartridge/keychain**: Added account parameter support on session page, allowing developers to pass account information directly to session flows (#2439)\n- **@cartridge/keychain**: Enhanced activity tab with comprehensive review functionality for improved user activity tracking (#2413)\n\n### šŸ› Bug Fixes\n- **@cartridge/controller**: Fixed connect flow to ensure reliable connection establishment and prevent connection failures (#2438)\n- **@cartridge/controller**: Removed console errors for cleaner debugging experience and improved production logging (#2437)\n- **@cartridge/controller**: Fixed disconnect method to properly call `close()` and reset iframe state, ensuring clean disconnection and preventing stale iframe issues (#2434)\n- **@cartridge/keychain**: Fixed Stripe.js Content Security Policy by adding script-src allowlist entry, enabling proper Stripe integration for payment processing (#2433)\n- **@cartridge/keychain**: Fixed Continue button display on Chrome iOS when automatic session creation fails, ensuring users can still proceed with manual session creation (#2429)\n- **@cartridge/keychain**: Prioritized iOS detection before hasPlatformAuthenticator check for WebAuthn, improving passkey creation reliability on iOS devices (#2428)\n\n### šŸš€ Improvements\n- **@cartridge/keychain**: Enhanced WebAuthn debugging by capturing options via PostHog for iOS troubleshooting and analytics (#2427)\n- **@cartridge/keychain**: Removed WebAuthn debug logging to reduce console noise in production environments (#2430)\n\n### šŸ”§ Development\n- **CI/CD**: Added auto-merge functionality for docs-sync PRs after checks pass for improved documentation workflow (#2432)\n- **CI/CD**: Refined docs-sync process for more concise and accurate documentation updates (#2431)\n\n## [0.13.9] - 2026-02-16"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":188,"cache_read_input_tokens":34889,"cache_creation":{"ephemeral_5m_input_tokens":188,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"39f11a0d-900b-42a6-b20b-1de64b554ff2"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01LGcY6uK5hqGLW2jd9V7yhW","type":"tool_result","content":"The file /home/runner/work/controller/controller/CHANGELOG.md has been updated. Here's the result of running `cat -n` on a snippet of the edited file:\n 1→# Changelog\n 2→\n 3→## [0.13.10-alpha.1] - 2026-02-25\n 4→\n 5→### ✨ New Features\n 6→- **@cartridge/controller**: Added `updateSession` API for runtime session policy updates, enabling dynamic modification of session policies during runtime for improved flexibility (#2440)\n 7→- **@cartridge/keychain**: Added account parameter support on session page, allowing developers to pass account information directly to session flows (#2439)\n 8→- **@cartridge/keychain**: Enhanced activity tab with comprehensive review functionality for improved user activity tracking (#2413)\n 9→\n 10→### šŸ› Bug Fixes\n 11→- **@cartridge/controller**: Fixed connect flow to ensure reliable connection establishment and prevent connection failures (#2438)\n 12→- **@cartridge/controller**: Removed console errors for cleaner debugging experience and improved production logging (#2437)\n 13→- **@cartridge/controller**: Fixed disconnect method to properly call `close()` and reset iframe state, ensuring clean disconnection and preventing stale iframe issues (#2434)\n 14→- **@cartridge/keychain**: Fixed Stripe.js Content Security Policy by adding script-src allowlist entry, enabling proper Stripe integration for payment processing (#2433)\n 15→- **@cartridge/keychain**: Fixed Continue button display on Chrome iOS when automatic session creation fails, ensuring users can still proceed with manual session creation (#2429)\n 16→- **@cartridge/keychain**: Prioritized iOS detection before hasPlatformAuthenticator check for WebAuthn, improving passkey creation reliability on iOS devices (#2428)\n 17→\n 18→### šŸš€ Improvements\n 19→- **@cartridge/keychain**: Enhanced WebAuthn debugging by capturing options via PostHog for iOS troubleshooting and analytics (#2427)\n 20→- **@cartridge/keychain**: Removed WebAuthn debug logging to reduce console noise in production environments (#2430)\n 21→\n 22→### šŸ”§ Development\n 23→- **CI/CD**: Added auto-merge functionality for docs-sync PRs after checks pass for improved documentation workflow (#2432)\n 24→- **CI/CD**: Refined docs-sync process for more concise and accurate documentation updates (#2431)\n 25→\n 26→## [0.13.9] - 2026-02-16\n 27→\n 28→### šŸš€ Improvements\n 29→- **@cartridge/controller**: Enhanced iOS WebAuthn support with explicit creation options and improved debug logging for more reliable passkey creation on iOS devices (#2421)\n 30→- **@cartridge/controller**: Streamlined build process by removing redundant build script in controller package for improved development workflow (#2423)"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"971ac1f3-567d-44f3-8077-5450c9bbb527"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_016VMuEv1TT1HpcqPETdKD8t","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_014LKJD3Ni6QKqZMy1bL1wT5","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commit range v0.13.9..HEAD","status":"completed"},{"content":"Read existing CHANGELOG.md to understand format","status":"completed"},{"content":"Generate changelog entry for v0.13.10-alpha.1","status":"completed"},{"content":"Update CHANGELOG.md with new entry","status":"completed"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1331,"cache_read_input_tokens":35077,"cache_creation":{"ephemeral_5m_input_tokens":1331,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"1bdac8d6-ec33-440d-8467-53c545698663"} -{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_014LKJD3Ni6QKqZMy1bL1wT5","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"4e17a877-6451-446c-83ea-48c6350d0666"} -{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_0199BsepTLtuUkgd17QykNrr","type":"message","role":"assistant","content":[{"type":"text","text":"I've successfully generated and added a changelog entry for version 0.13.10-alpha.1 to the CHANGELOG.md file. The entry includes:\n\n## Summary of Changes:\n\n### ✨ New Features (3 items)\n- **@cartridge/controller**: `updateSession` API for runtime session policy updates\n- **@cartridge/keychain**: Account parameter support on session page \n- **@cartridge/keychain**: Enhanced activity tab review functionality\n\n### šŸ› Bug Fixes (6 items)\n- **@cartridge/controller**: Fixed connect flow, removed console errors, fixed disconnect method\n- **@cartridge/keychain**: Fixed Stripe.js CSP, Chrome iOS Continue button, iOS WebAuthn detection\n\n### šŸš€ Improvements (2 items) \n- **@cartridge/keychain**: Enhanced WebAuthn debugging and removed debug logging\n\n### šŸ”§ Development (2 items)\n- **CI/CD**: Auto-merge docs-sync PRs and refined docs-sync process\n\nThe changelog follows the established format with proper categorization, package-specific attribution, concise descriptions with technical context, and PR numbers for reference. All changes are user-facing improvements that developers using the Cartridge Controller SDK would benefit from knowing about."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":186,"cache_read_input_tokens":36408,"cache_creation":{"ephemeral_5m_input_tokens":186,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","uuid":"5dd75aea-04d4-4305-bb1e-561412931b75"} -{"type":"result","subtype":"success","is_error":false,"duration_ms":48813,"duration_api_ms":47044,"num_turns":25,"result":"I've successfully generated and added a changelog entry for version 0.13.10-alpha.1 to the CHANGELOG.md file. The entry includes:\n\n## Summary of Changes:\n\n### ✨ New Features (3 items)\n- **@cartridge/controller**: `updateSession` API for runtime session policy updates\n- **@cartridge/keychain**: Account parameter support on session page \n- **@cartridge/keychain**: Enhanced activity tab review functionality\n\n### šŸ› Bug Fixes (6 items)\n- **@cartridge/controller**: Fixed connect flow, removed console errors, fixed disconnect method\n- **@cartridge/keychain**: Fixed Stripe.js CSP, Chrome iOS Continue button, iOS WebAuthn detection\n\n### šŸš€ Improvements (2 items) \n- **@cartridge/keychain**: Enhanced WebAuthn debugging and removed debug logging\n\n### šŸ”§ Development (2 items)\n- **CI/CD**: Auto-merge docs-sync PRs and refined docs-sync process\n\nThe changelog follows the established format with proper categorization, package-specific attribution, concise descriptions with technical context, and PR numbers for reference. All changes are user-facing improvements that developers using the Cartridge Controller SDK would benefit from knowing about.","session_id":"5c05a754-07f4-4929-9d2e-fe6b2859cc80","total_cost_usd":0.2127201,"usage":{"input_tokens":4,"cache_creation_input_tokens":186,"cache_read_input_tokens":36408,"output_tokens":290,"server_tool_use":{"web_search_requests":0},"service_tier":"standard"},"permission_denials":[],"uuid":"cb1f5802-c2ab-42d4-9995-25271ff99148"} +{"type":"system","subtype":"init","cwd":"/home/runner/work/controller/controller","session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","tools":["Task","Bash","Glob","Grep","LS","ExitPlanMode","Read","Edit","MultiEdit","Write","NotebookEdit","TodoWrite","BashOutput","KillBash"],"mcp_servers":[],"model":"claude-sonnet-4-20250514","permissionMode":"default","slash_commands":["pr","commit","add-dir","agents","clear","compact","config","context","cost","doctor","exit","help","ide","init","install-github-app","mcp","memory","migrate-installer","model","output-style","output-style:new","pr-comments","release-notes","resume","status","statusline","bug","review","security-review","upgrade","vim","permissions","hooks","export","logout","login","bashes"],"apiKeySource":"ANTHROPIC_API_KEY","output_style":"default","uuid":"22dc3620-89ff-4eb1-a0ab-0e78140cfa9d"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01T4zJUJMzkMAQ3NrEjZ9Qpn","type":"message","role":"assistant","content":[{"type":"text","text":"I'll analyze the git commits since v0.13.9 and generate a changelog entry for version 0.13.10. Let me start by examining the commit history."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":6168,"cache_read_input_tokens":10412,"cache_creation":{"ephemeral_5m_input_tokens":6168,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"3625e59d-ed54-4863-a2b3-60dc968725e6"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01T4zJUJMzkMAQ3NrEjZ9Qpn","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01ED2oNx7Y9rzVYwyEQRuzPt","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commits from v0.13.9 to HEAD","status":"in_progress"},{"content":"Review commit messages and changes for user-facing features","status":"pending"},{"content":"Generate changelog entry in specified format","status":"pending"},{"content":"Update CHANGELOG.md with the new entry","status":"pending"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":6168,"cache_read_input_tokens":10412,"cache_creation":{"ephemeral_5m_input_tokens":6168,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"a59c472d-1096-44f0-ab10-23975a41b723"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01ED2oNx7Y9rzVYwyEQRuzPt","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"e22ff964-6bdf-4041-aa62-2d0fe8e971fe"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01SGH48UaB84rBWDFarBorNp","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01MYtRjXFfdNjdpkf81BJnqh","name":"Bash","input":{"command":"git log --oneline v0.13.9..HEAD","description":"Get commit history since v0.13.9"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":5,"cache_creation_input_tokens":218,"cache_read_input_tokens":16580,"cache_creation":{"ephemeral_5m_input_tokens":218,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"b944b96f-f99a-4b52-9598-682dca6cdc30"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01MYtRjXFfdNjdpkf81BJnqh","type":"tool_result","content":"2276f718 fix(keychain): show human-readable message for FailedPrecondition errors (#2496)\ncc196795 fix(keychain): restore back button on verification pages (#2495)\n3ec965f0 fix: use latest controller version in standalone (#2494)\nc6a7cb7e swap screen review (#2456)\n322b89e1 feat(keychain): add identity verification for Stripe purchases (#2492)\nb0e4dacd fix: back button in purchases fix (#2478)\neefa415b fix(keychain): cap profile history queries and gate fetches (#2490)\n6627aff0 fix(keychain): propagate execute submit errors instead of hanging (#2488)\n75704856 feat: use accountPrivate for starterpack verification (#2486)\n61e0634d chore: update @cartridge/ui to b4646934\n482df006 chore: update @cartridge/ui (#2489)\n5b7267f9 chore: add dmux to gitignore (#2487)\n28a0d790 feat: add stripe checkout for starterpacks (#2485)\nf745eb33 feat: split USDC and USDC.e in starterpack token selection (#2470)\n1e5389d5 feat(keychain): geofence OFAC countries on Vercel (#2484)\n8cc1e268 fix(keychain): align credits purchase with stripe graphql (#2483)\n380f2f79 fix: add WebAuthn permissions to Permissions-Policy header (#2482)\nba208405 fix: preserve custom-scheme redirect_uri in standalone session flow (#2481)\n00275a57 feat: hand off popup auth for restrictive iframe environments (#2462)\ndd0d31b5 chore: bump controller-wasm to 0.9.6 (#2479)\n5b38aaf8 revert: undo loading spinner and redirect_uri changes (#2480)\na44d11b4 fix: show loading spinner while preset config loads (#2477)\n2b4a9201 test: skip flaky BroadcastChannel relay test (#2476)\n7ebcdc1f fix: check both redirect_url and redirect_uri for domain verification (#2474)\n5b62c633 fix: avoid error screen with unknown signers (#2472)\n316f5c49 fix: handle custom URL scheme verification for mobile apps (#2471)\n4bd29dc6 fix: improve EVM wallet detection and provider discovery (#2468)\n1464c86a chore: update controller-rs to 0.9.5 (#2465)\ne39b47ad feat: migrate payment.graphql to controller (#2464)\n34524caf Remove deactivated Telegram provider (#2461)\nb7456be6 fix: update apple pay pending screen (#2460)\nf43b3424 feat: enable apple pay via triple-click on review purchase icon (#2457)\n79a1e526 debug: onramp broadcast channels (#2455)\necbbaa21 fix: onramp popup polling, retry state, and non-terminal commit errors (#2454)\nd882002d fix: coinbase popup polling fallback, retry reset, and animated alerts (#2453)\n336adc23 fix: set terminalReachedRef on polling_success to prevent popup-closed race\n2d7981d6 feat: replace GraphQL polling with BroadcastChannel for Coinbase popup (#2451)\n31dad0e9 feat: accept expires_at param on session page (#2452)\nda72d1b1 fix: tighten Coinbase popup message handling (#2450)\ncc8447d6 fix: harden Coinbase popup handling and refresh checkout order (#2449)\n4d66d9b3 fix: remove reopen payment window button (#2448)\naec6c60f fix: add required sandbox and referrerpolicy attrs to coinbase iframe (#2447)\nf6368b99 feat: embed coinbase payment in keychain popup with status polling (#2445)\nbe2c9d52 feat: open Coinbase payment link in popup instead of iframe (#2444)\ne7a42f52 fix: scope close-only header behavior to update session flow (#2443)\ncc2f2761 Prepare prerelease: 0.13.10-alpha.1 (#2442)\n6892d509 fix: prefer close over back in iframe header (#2441)\n4426cf04 feat: add updateSession API for runtime session policy updates (#2440)\n2dbe12c3 feat(keychain): accept account param on session page (#2439)\na59ebe3c fix: connect flow (#2438)\n43740827 fix: removed console errors (#2437)\n1e03a95b fix: call close() in disconnect to reset iframe state (#2434)\n112c53f8 feat: activity tab review (#2413)\nb308f000 fix(keychain): add Stripe.js to CSP script-src (#2433)\n8fe56804 ci: auto-merge docs-sync PRs after checks pass (#2432)\n346166dd ci: refine docs-sync for concise updates (#2431)\nc49987f2 chore: remove WebAuthn debug logging (#2430)\nbc918be2 fix: show Continue button on Chrome iOS when auto session creation fails (#2429)\nb5ed3b69 fix: prioritize iOS check before hasPlatformAuthenticator for WebAuthn (#2428)\n805d878a feat: capture WebAuthn options via PostHog for iOS debugging (#2427)\n0bcff99d Prepare release: 0.13.9 (#2426)","is_error":false}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"6177a1be-5484-4db6-b296-b9542636c8c6"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01MrETuaDeGzDqoo9TtBenBD","type":"message","role":"assistant","content":[{"type":"text","text":"Now let me get more detailed information about these commits to better understand the changes:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1457,"cache_read_input_tokens":16798,"cache_creation":{"ephemeral_5m_input_tokens":1457,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"061730e7-8412-474b-9f3c-43ac44654a5e"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01MrETuaDeGzDqoo9TtBenBD","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01PTSnqJTew8bybaB1RNfFHP","name":"Bash","input":{"command":"git log --pretty=format:\"%h %s\" v0.13.9..HEAD | grep -E \"(feat|fix|chore|BREAKING)\" | head -30","description":"Get formatted commit messages with types"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":4,"cache_creation_input_tokens":1457,"cache_read_input_tokens":16798,"cache_creation":{"ephemeral_5m_input_tokens":1457,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"4069298a-cd6f-4679-81d3-3c6e0f5ef174"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01PTSnqJTew8bybaB1RNfFHP","type":"tool_result","content":"2276f718 fix(keychain): show human-readable message for FailedPrecondition errors (#2496)\ncc196795 fix(keychain): restore back button on verification pages (#2495)\n3ec965f0 fix: use latest controller version in standalone (#2494)\n322b89e1 feat(keychain): add identity verification for Stripe purchases (#2492)\nb0e4dacd fix: back button in purchases fix (#2478)\neefa415b fix(keychain): cap profile history queries and gate fetches (#2490)\n6627aff0 fix(keychain): propagate execute submit errors instead of hanging (#2488)\n75704856 feat: use accountPrivate for starterpack verification (#2486)\n61e0634d chore: update @cartridge/ui to b4646934\n482df006 chore: update @cartridge/ui (#2489)\n5b7267f9 chore: add dmux to gitignore (#2487)\n28a0d790 feat: add stripe checkout for starterpacks (#2485)\nf745eb33 feat: split USDC and USDC.e in starterpack token selection (#2470)\n1e5389d5 feat(keychain): geofence OFAC countries on Vercel (#2484)\n8cc1e268 fix(keychain): align credits purchase with stripe graphql (#2483)\n380f2f79 fix: add WebAuthn permissions to Permissions-Policy header (#2482)\nba208405 fix: preserve custom-scheme redirect_uri in standalone session flow (#2481)\n00275a57 feat: hand off popup auth for restrictive iframe environments (#2462)\ndd0d31b5 chore: bump controller-wasm to 0.9.6 (#2479)\na44d11b4 fix: show loading spinner while preset config loads (#2477)\n7ebcdc1f fix: check both redirect_url and redirect_uri for domain verification (#2474)\n5b62c633 fix: avoid error screen with unknown signers (#2472)\n316f5c49 fix: handle custom URL scheme verification for mobile apps (#2471)\n4bd29dc6 fix: improve EVM wallet detection and provider discovery (#2468)\n1464c86a chore: update controller-rs to 0.9.5 (#2465)\ne39b47ad feat: migrate payment.graphql to controller (#2464)\nb7456be6 fix: update apple pay pending screen (#2460)\nf43b3424 feat: enable apple pay via triple-click on review purchase icon (#2457)\necbbaa21 fix: onramp popup polling, retry state, and non-terminal commit errors (#2454)\nd882002d fix: coinbase popup polling fallback, retry reset, and animated alerts (#2453)","is_error":false}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"f03faf57-dc76-460e-9b57-86755b11bc76"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01Uzd9mcQatTcBsYDAUcX6kD","type":"message","role":"assistant","content":[{"type":"text","text":"Let me also check if there's an existing CHANGELOG.md to understand the format:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":814,"cache_read_input_tokens":18255,"cache_creation":{"ephemeral_5m_input_tokens":814,"ephemeral_1h_input_tokens":0},"output_tokens":3,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"10ff091f-e166-4c74-a7f8-df350325c846"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01Uzd9mcQatTcBsYDAUcX6kD","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_015aYWCigSqChGDmgEhv9Kcz","name":"Read","input":{"file_path":"/home/runner/work/controller/controller/CHANGELOG.md"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":814,"cache_read_input_tokens":18255,"cache_creation":{"ephemeral_5m_input_tokens":814,"ephemeral_1h_input_tokens":0},"output_tokens":3,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"ab442d8e-1a3f-49c8-b47c-8ead30e7a8bb"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_015aYWCigSqChGDmgEhv9Kcz","type":"tool_result","content":" 1→# Changelog\n 2→\n 3→## [0.13.10-alpha.1] - 2026-02-25\n 4→\n 5→### ✨ New Features\n 6→- **@cartridge/controller**: Added `updateSession` API for runtime session policy updates, enabling dynamic modification of session policies during runtime for improved flexibility (#2440)\n 7→- **@cartridge/keychain**: Added account parameter support on session page, allowing developers to pass account information directly to session flows (#2439)\n 8→- **@cartridge/keychain**: Enhanced activity tab with comprehensive review functionality for improved user activity tracking (#2413)\n 9→\n 10→### šŸ› Bug Fixes\n 11→- **@cartridge/controller**: Fixed connect flow to ensure reliable connection establishment and prevent connection failures (#2438)\n 12→- **@cartridge/controller**: Removed console errors for cleaner debugging experience and improved production logging (#2437)\n 13→- **@cartridge/controller**: Fixed disconnect method to properly call `close()` and reset iframe state, ensuring clean disconnection and preventing stale iframe issues (#2434)\n 14→- **@cartridge/keychain**: Fixed Stripe.js Content Security Policy by adding script-src allowlist entry, enabling proper Stripe integration for payment processing (#2433)\n 15→- **@cartridge/keychain**: Fixed Continue button display on Chrome iOS when automatic session creation fails, ensuring users can still proceed with manual session creation (#2429)\n 16→- **@cartridge/keychain**: Prioritized iOS detection before hasPlatformAuthenticator check for WebAuthn, improving passkey creation reliability on iOS devices (#2428)\n 17→\n 18→### šŸš€ Improvements\n 19→- **@cartridge/keychain**: Enhanced WebAuthn debugging by capturing options via PostHog for iOS troubleshooting and analytics (#2427)\n 20→- **@cartridge/keychain**: Removed WebAuthn debug logging to reduce console noise in production environments (#2430)\n 21→\n 22→### šŸ”§ Development\n 23→- **CI/CD**: Added auto-merge functionality for docs-sync PRs after checks pass for improved documentation workflow (#2432)\n 24→- **CI/CD**: Refined docs-sync process for more concise and accurate documentation updates (#2431)\n 25→\n 26→## [0.13.9] - 2026-02-16\n 27→\n 28→### šŸš€ Improvements\n 29→- **@cartridge/controller**: Enhanced iOS WebAuthn support with explicit creation options and improved debug logging for more reliable passkey creation on iOS devices (#2421)\n 30→- **@cartridge/controller**: Streamlined build process by removing redundant build script in controller package for improved development workflow (#2423)\n 31→\n 32→### šŸ› Bug Fixes\n 33→- **@cartridge/keychain**: Fixed quest toast notifications by removing them to prevent user interface clutter and improve user experience (#2425)\n 34→- **@cartridge/controller**: Improved passkey creation flow for Chrome iOS by implementing direct iframe approach instead of popup flow for better mobile compatibility (#2419, #2420)\n 35→- **@cartridge/controller**: Enhanced iOS passkey creation reliability by setting authenticatorAttachment to platform for improved device authentication (#2417)\n 36→\n 37→### šŸ”§ Testing\n 38→- **@cartridge/controller**: Added comprehensive Capacitor session redirect E2E tests to prevent regressions in session ingestion and account creation flows (#2424)\n 39→- **@cartridge/controller**: Added regression tests for controller disconnect localStorage cleanup functionality (#2414)\n 40→\n 41→### šŸ“¦ Dependencies\n 42→- **controller-wasm**: Updated to version 0.9.4 for improved backend functionality (#2418)\n 43→- **Dependencies**: Updated ERC metadata dependencies for better token support (#2422)\n 44→\n 45→## [0.13.8] - 2026-02-13\n 46→\n 47→### ✨ New Features\n 48→- **@cartridge/controller**: Added new mainnet USDC token support with legacy USDC.e labeling for improved token identification (#94dae94e)\n 49→\n 50→### šŸš€ Improvements\n 51→- **@cartridge/controller**: Enhanced connection policy resolution by fixing preset theme and custom policy override precedence, allowing apps to maintain preset-derived configuration while explicitly overriding preset policies (#2408)\n 52→- **@cartridge/controller**: Improved maintainability by extracting hardcoded \"startapp\" query parameter into `REDIRECT_QUERY_NAME` constant following Telegram mini app convention (#2412)\n 53→\n 54→### šŸ› Bug Fixes\n 55→- **@cartridge/controller**: Fixed `SessionProvider.probe()` returning undefined after `ingestSessionFromRedirect()` by restoring on-demand session retrieval for deep link redirects in Capacitor and mobile apps (#2409)\n 56→- **Token Configuration**: Reverted mainnet USDC token support changes to restore legacy behavior for token metadata and mainnet token indexing entries (#2410)\n 57→\n 58→### šŸ”§ Testing\n 59→- **@cartridge/controller**: Added comprehensive regression tests for controller disconnect localStorage cleanup functionality (#2414)\n 60→\n 61→## [0.13.7] - 2026-02-12\n 62→\n 63→### ✨ New Features\n 64→- **@cartridge/controller**: Added `lookupUsername(username)` method for headless flows, returning account existence status and normalized signer options for the controller's configured chain (#2400)\n 65→- **@cartridge/controller**: Added auto-signup functionality for headless connect when a username is missing, while maintaining strict signer matching for existing accounts (#2400)\n 66→- **@cartridge/connector**: Exposed `lookupUsername` helper method through ControllerConnector for easier integration with starknet-react applications (#2400)\n 67→\n 68→### šŸš€ Improvements\n 69→- **Documentation**: Updated HEADLESS_MODE.md with recommended lookup-first flow patterns for improved developer guidance (#2400)\n 70→- **Testing**: Added comprehensive test coverage for username lookup normalization, error handling, and password-based headless auto-signup flows (#2400)\n 71→\n 72→## [0.13.6] - 2026-02-12\n 73→\n 74→### šŸš€ Improvements\n 75→- **@cartridge/controller**: Enhanced SessionProvider preset support with automatic policy resolution from `@cartridge/presets`, enabling developers to use `preset: \"my-game\"` instead of manually duplicating policies and ensuring consistent policy hashing between SDK and keychain (#2401)\n 76→- **Documentation**: Updated project structure documentation with comprehensive provider flows, clarified ControllerProvider (web) and SessionProvider (native) architecture, and improved examples directory guidance (#2404)\n 77→\n 78→### šŸ› Bug Fixes\n 79→- **@cartridge/controller**: Fixed `session/not-registered` errors by normalizing contract addresses in policy hashing and consolidating async initialization to prevent policy hash divergence between SDK and keychain (#2401)\n 80→- **@cartridge/keychain**: Fixed theme copy button visibility in ErrorAlert component by replacing hardcoded black icons with theme-aware styling, ensuring proper visibility on dark backgrounds (#2402)\n 81→\n 82→## [0.13.5] - 2026-02-10\n 83→\n 84→### ✨ New Features\n 85→- **@cartridge/controller**: Added headless mode support to controller SDK for seamless authentication, allowing `connect({ username, signer, password? })` with hidden keychain iframe and UI-less authentication flows (#2315)\n 86→- **@cartridge/controller**: Added `close()` method to ControllerProvider for programmatic cleanup of controller instances (#2373)\n 87→- **@cartridge/controller**: Moved `asWalletStandard()` method from connector to controller package, enabling wallet standard usage without starknet-react dependency (#2364)\n 88→\n 89→### šŸš€ Improvements\n 90→- **@cartridge/keychain**: Enhanced session management with exposed session GUID fields (`allowedPoliciesRoot`, `metadataHash`, `sessionKeyGuid`, `guardianKeyGuid`) in keychain callback payloads for registered sessions (#2396)\n 91→- **@cartridge/keychain**: Consolidated policy handling by refactoring `toWasmPolicies` into single source of truth for improved consistency (#2394)\n 92→- **@cartridge/keychain**: Enhanced quests and achievements display to only show tabs when game/application supports them (#2392)\n 93→- **@cartridge/keychain**: Improved starterpack purchase UI to always show quantity in purchase button for better user clarity (#2390)\n 94→- **@cartridge/connector**: Improved disconnect handling to keep `@starknet-react/core` state in sync with controller state (#2315)\n 95→\n 96→### šŸ› Bug Fixes\n 97→- **@cartridge/keychain**: Fixed session authentication to properly disconnect and re-authenticate when session `rpc_url` differs from stored controller, ensuring correct chain targeting (#2395)\n 98→- **@cartridge/controller**: Enhanced iframe security by hardening keychain iframe loading with URL validation, origin pinning, and reduced feature grants by default (#2384)\n 99→- **@cartridge/keychain**: Added keychain CSP/security headers and removed inline scripts from index.html for improved security posture (#2384)\n 100→\n 101→### šŸ“¦ Dependencies\n 102→- **controller-rs**: Updated to v0.9.3 for improved backend functionality (#2397)\n 103→\n 104→## [0.13.4] - 2026-02-06\n 105→\n 106→### šŸ› Bug Fixes\n 107→- **CI/CD**: Fixed npm publishing with catalog resolution by reverting to pnpm publish, which correctly handles pnpm catalog: protocol that npm publish doesn't support, ensuring proper package resolution in published packages (#77210c65)\n 108→\n 109→### šŸ”§ Development\n 110→- **Agent Tooling**: Added standardized agent/dev tooling with `.agents/` directory as source of truth, Claude/Cursor skill compatibility symlinks, and enhanced pre-commit hooks for improved development workflow (#2388)\n 111→\n 112→## [0.13.3] - 2026-02-06\n 113→\n 114→### ✨ New Features\n 115→- **@cartridge/controller**: Added starterpack play callback functionality enabling custom game launch behavior and improved gaming integration (#2362)\n 116→- **@cartridge/controller**: Added specialized controller toast notifications with improved messaging and user feedback for iframe-embedded applications (#2358)\n 117→\n 118→### šŸš€ Improvements\n 119→- **@cartridge/keychain**: Enhanced iframe connect flow with automatic Storage Access API request for improved cross-domain authentication in WebView environments (#2374)\n 120→- **@cartridge/keychain**: Tightened Capacitor origin verification to only auto-verify localhost, requiring explicit authorization for custom hostnames in presets for enhanced security (#2375)\n 121→- **@cartridge/controller**: Improved policy handling with canonical sorting before hashing to ensure consistent policy processing and prevent non-deterministic merkle root calculations (#2359)\n 122→- **@cartridge/controller**: Enhanced preset verification for Capacitor environments with better validation and support for capacitor:// scheme (#2369)\n 123→\n 124→### šŸ› Bug Fixes\n 125→- **@cartridge/controller**: Added ApprovalPolicy support to controller toWasmPolicies for proper merkle root calculation across different connectors, fixing session registration mismatches (#2372)\n 126→- **@cartridge/controller**: Fixed aggregate contracts display on unverified session to properly group methods into \"Approve \" expendable cards (#2304)\n 127→- **@cartridge/controller**: Fixed controller re-initialization issues by reusing existing controller instances to prevent duplicate iframes and message channels (#2360)\n 128→- **@cartridge/controller**: Fixed chain ID lookup to support non-Cartridge chain configurations for better multi-chain compatibility (#2361)\n 129→- **@cartridge/keychain**: Fixed Coinbase sandbox configuration to ensure proper sandbox environment setup (#2371)\n 130→- **@cartridge/keychain**: Fixed password login button alignment with primary theme for consistent UI styling (#2385)\n 131→\n 132→## [0.13.2] - 2026-02-06\n 133→\n 134→### šŸ› Bug Fixes\n 135→- **@cartridge/controller, @cartridge/connector**: Added repository field to package.json files for npm OIDC trusted publishing, ensuring proper package verification and supply chain security (#c9c6f25d)\n 136→\n 137→## [0.13.1] - 2026-02-06\n 138→\n 139→### šŸ› Bug Fixes\n 140→- **CI/CD**: Fixed npm publishing with OIDC authentication by switching from pnpm publish to npm publish and removing registry-url from setup-node to prevent .npmrc conflicts that block OIDC token exchange (#3880e8ba)\n 141→\n 142→## [0.13.0] - 2026-02-06\n 143→\n 144→### ✨ New Features\n 145→- **@cartridge/controller**: Added ApprovalPolicy support to controller toWasmPolicies for enhanced policy management and proper merkle root calculation across different connectors (#2372)\n 146→- **@cartridge/controller**: Added starterpack play callback functionality enabling custom game launch behavior and improved gaming integration (#2362)\n 147→- **@cartridge/controller**: Added specialized controller toast notifications with improved messaging and user feedback for iframe-embedded applications (#2358)\n 148→\n 149→### šŸš€ Improvements\n 150→- **@cartridge/keychain**: Enhanced iframe connect flow with automatic Storage Access API request for improved cross-domain authentication in WebView environments (#2374)\n 151→- **@cartridge/keychain**: Tightened Capacitor origin verification to only auto-verify localhost, requiring explicit authorization for custom hostnames in presets for enhanced security (#2375)\n 152→- **@cartridge/controller**: Improved policy handling with canonical sorting before hashing to ensure consistent policy processing and prevent non-deterministic merkle root calculations (#2359)\n 153→- **@cartridge/controller**: Enhanced preset verification for Capacitor environments with better validation and support for capacitor:// scheme (#2369)\n 154→- **Development**: Migrated npm publishing to OIDC authentication with supply chain provenance attestation for enhanced security (#2381)\n 155→\n 156→### šŸ› Bug Fixes\n 157→- **@cartridge/controller**: Fixed aggregate contracts display on unverified session to properly group methods into \"Approve \" expendable cards (#2304)\n 158→- **@cartridge/controller**: Fixed controller re-initialization issues by reusing existing controller instances to prevent duplicate iframes and message channels (#2360)\n 159→- **@cartridge/controller**: Fixed chain ID lookup to support non-Cartridge chain configurations for better multi-chain compatibility (#2361)\n 160→- **@cartridge/keychain**: Fixed Coinbase sandbox configuration to ensure proper sandbox environment setup (#2371)\n 161→- **CI/CD**: Fixed release workflow race conditions by inlining changelog generation into release dispatch workflow (#2379)\n 162→\n 163→## [0.12.3] - 2026-02-05\n 164→\n 165→### ✨ New Features\n 166→- **@cartridge/keychain**: Added Capacitor origin verification tightening for enhanced security in mobile environments (#2375)\n 167→- **@cartridge/controller**: Added specialized controller toast notifications with improved messaging and user feedback (#2358)\n 168→- **@cartridge/controller**: Added ApprovalPolicy support to controller toWasmPolicies for enhanced policy management (#2372)\n 169→- **@cartridge/controller**: Added starterpack play callback functionality for improved gaming integration (#2362)\n 170→\n 171→### šŸš€ Improvements \n 172→- **@cartridge/keychain**: Enhanced iframe connect flow with automatic storage access request for improved cross-domain authentication (#2374)\n 173→- **@cartridge/controller**: Improved policy handling with canonical sorting before hashing to ensure consistent policy processing (#2359)\n 174→- **@cartridge/controller**: Enhanced preset verification for Capacitor environments with better validation (#2369)\n 175→\n 176→### šŸ› Bug Fixes\n 177→- **@cartridge/controller**: Fixed aggregate contracts on unverified session to prevent session-related issues (#2304)\n 178→- **@cartridge/keychain**: Fixed Coinbase sandbox configuration to ensure proper sandbox environment setup (#2371)\n 179→- **@cartridge/controller**: Fixed controller re-initialization issues by reusing existing controller instances (#2360)\n 180→- **@cartridge/controller**: Fixed chain ID lookup to support non-Cartridge chain configurations (#2361)\n 181→\n 182→## [0.12.2] - 2026-01-29\n 183→\n 184→### ✨ New Features\n 185→- **Examples**: Added Capacitor session example with iOS app integration, demonstrating mobile session management and providing comprehensive cross-platform development guidance (#2355)\n 186→- **@cartridge/keychain**: Enhanced Coinbase onramp integration with `createCoinbaseLayerswapOrder` mutation for improved order creation and processing (#2354)\n 187→- **@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)\n 188→- **@cartridge/keychain**: Added starterpack Apple Pay checkout functionality for streamlined mobile payments (#2339)\n 189→- **@cartridge/keychain**: Implemented verification autofill functionality for improved user experience during authentication flows (#2342)\n 190→- **@cartridge/keychain**: Added order fetching by IDs capability for enhanced order management and tracking (#2334)\n 191→\n 192→### šŸš€ Improvements \n 193→- **@cartridge/keychain**: Removed supported-platforms feature gate, making platform detection generally available (#2335)\n 194→- **Development**: Migrated skills documentation to centralized `.agents/skills` directory for better organization and AI-assisted development workflows (#2353)\n 195→\n 196→### šŸ› Bug Fixes\n 197→- **@cartridge/keychain**: Fixed 'proceed with caution' warning visibility for slot login flows, improving user experience (#2351)\n 198→- **@cartridge/keychain**: Fixed purchase token layout issues for better visual consistency (#2343)\n 199→- **@cartridge/keychain**: Fixed Layerswap username retrieval from authentication context for proper user identification (#2347)\n 200→- **@cartridge/keychain**: Fixed Coinbase Terms of Service link for proper legal compliance (#2341)\n 201→- **@cartridge/keychain**: Fixed Coinbase query handling for improved API integration (#2338)\n 202→\n 203→### šŸ“¦ Dependencies\n 204→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#2350, #2348, #2346, #2345, #2344, #2337)\n 205→\n 206→## [0.12.1] - 2026-01-07\n 207→\n 208→### ✨ New Features\n 209→- **@cartridge/controller**: Added configurable error display modes with `errorDisplayMode` option, enabling developers to control how transaction errors are presented to users with three modes: `modal` (default), `notification` (clickable toast), and `silent` (console only) (#2312)\n 210→\n 211→### šŸš€ Improvements \n 212→- **Development**: Enhanced Claude Code integration with structured skill guides for code review, PR management, testing, Storybook snapshots, and release workflows (#2311, #2310)\n 213→- **Documentation**: Expanded CLAUDE.md with detailed technology stack versions, build process explanations, and comprehensive development workflow guidance (#2310)\n 214→\n 215→### šŸ”§ Development\n 216→- **Build**: Added .worktrees to .gitignore for improved Git worktree support (#2311)\n 217→- **Claude Integration**: Added comprehensive permissions configuration and skill documentation for streamlined AI-assisted development (#2311, #2310)\n 218→\n 219→## [0.12.0] - 2026-01-01\n 220→\n 221→### ✨ New Features\n 222→- **@cartridge/controller**: Added dynamic `signupOptions` to `connect()` 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)\n 223→- **@cartridge/keychain**: Added wallet selection drawer for onchain checkout, replacing navigation-based flow with inline slide-up drawer for more seamless UX (#2294)\n 224→- **@cartridge/keychain**: Added Coinbase onramp integration with `useCoinbase` hook for order creation, transaction queries, and requirement checks with automatic client IP detection (#2296)\n 225→- **@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)\n 226→\n 227→### šŸš€ Improvements \n 228→- **@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)\n 229→- **@cartridge/keychain**: Improved authentication flows with branded button text for single-signer configurations and configurable signup authentication methods (#2290)\n 230→- **@cartridge/keychain**: Enhanced session management by restoring wildcard session creation during login flows for better user experience (#2302, #637faa12)\n 231→- **@cartridge/keychain**: Updated Ekubo integration to use new chain ID-based API format for improved swap functionality (#2287)\n 232→- **@cartridge/keychain**: Improved session footer styling with proper padding and button text updates from \"Create Session\" to \"Continue\" (#2274)\n 233→\n 234→### šŸ› Bug Fixes\n 235→- **@cartridge/controller**: Restored `propagateSessionErrors` functionality for contract execution, ensuring errors are properly propagated back to callers instead of showing manual approval modal when enabled (#2305)\n 236→- **@cartridge/keychain**: Fixed starterpack loading flicker by showing proper loading states during loading/onchain/preimage states (#2297)\n 237→- **@cartridge/keychain**: Fixed collection pagination issues for better user experience (#2301)\n 238→- **@cartridge/keychain**: Fixed session management by reverting and then restoring wildcard session creation during register session login for optimal user flow (#2299, #2302)\n 239→- **@cartridge/keychain**: Fixed Ekubo API CORS issues by specifying proper CORS headers and credentials handling (#2288)\n 240→\n 241→### šŸ“¦ Dependencies\n 242→- **@cartridge/ui**: Updated to latest commits for improved design consistency and React 19 peer dependency support (#2295, #2260)\n 243→\n 244→## [0.11.4-alpha.1] - 2025-12-31\n 245→\n 246→### ✨ New Features\n 247→- **@cartridge/controller**: Added dynamic `signupOptions` to `connect()` 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)\n 248→- **@cartridge/keychain**: Added wallet selection drawer for onchain checkout, replacing navigation-based flow with inline slide-up drawer for more seamless UX (#2294)\n 249→- **@cartridge/keychain**: Added Coinbase onramp integration with `useCoinbase` hook for order creation, transaction queries, and requirement checks with automatic client IP detection (#2296)\n 250→- **@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)\n 251→\n 252→### šŸš€ Improvements \n 253→- **@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)\n 254→- **@cartridge/keychain**: Improved authentication flows with branded button text for single-signer configurations and configurable signup authentication methods (#2290, #1b4423c3)\n 255→- **@cartridge/keychain**: Enhanced session management by restoring wildcard session creation during login flows for better user experience (#2302, #637faa12)\n 256→- **@cartridge/keychain**: Updated Ekubo integration to use new chain ID-based API format for improved swap functionality (#2287)\n 257→- **@cartridge/keychain**: Improved session footer styling with proper padding and button text updates from \"Create Session\" to \"Continue\" (#2274)\n 258→\n 259→### šŸ› Bug Fixes\n 260→- **@cartridge/controller**: Restored `propagateSessionErrors` functionality for contract execution, ensuring errors are properly propagated back to callers instead of showing manual approval modal when enabled (#2305)\n 261→- **@cartridge/keychain**: Fixed starterpack loading flicker by showing proper loading states during loading/onchain/preimage states (#2297)\n 262→- **@cartridge/keychain**: Fixed collection pagination issues for better user experience (#2301)\n 263→- **@cartridge/keychain**: Fixed controlled Select component warnings in cost breakdown by using proper value handling (#2294)\n 264→- **@cartridge/keychain**: Fixed Ekubo API CORS issues by specifying proper CORS headers and credentials handling (#2288)\n 265→\n 266→### šŸ”§ Refactoring\n 267→- **Development**: Multiple UI component updates and dependency management improvements (#2295, #2260)\n 268→- **@cartridge/keychain**: Simplified authentication flows by removing complex route-based session skipping logic in favor of consistent wildcard session creation (#2286, #2285)\n 269→\n 270→### šŸ“¦ Dependencies\n 271→- **@cartridge/ui**: Updated to latest commits for improved design consistency and React 19 peer dependency support\n 272→\n 273→## [0.11.3] - 2025-12-10\n 274→\n 275→### ✨ New Features\n 276→- **@cartridge/keychain**: Added Layerswap cross-chain deposit integration for onchain checkout with balance checks, bridging actions, and UI for conversion/liquidity errors (#2273)\n 277→- **@cartridge/controller**: Added Phantom EVM wallet authentication method extending EthereumWalletBase, enabling login and signup with Phantom's EVM-compatible mode (#2278)\n 278→- **@cartridge/controller**: Added toast notification API with ToastType and ToastOptions interfaces, enabling toast creation from the controller SDK (#2265)\n 279→- **@cartridge/keychain**: Added quests functionality for enhanced gaming features (#2280)\n 280→\n 281→### šŸš€ Improvements \n 282→- **@cartridge/keychain**: Enhanced onchain purchase flow with multi-network wallet selection, improved cost breakdown displaying Layerswap fees, and streamlined navigation (#2273)\n 283→- **@cartridge/keychain**: Improved purchase context architecture by splitting into flow-specific contexts (StarterpackContext, OnchainPurchaseContext, CreditPurchaseContext) for better maintainability (#2270)\n 284→- **@cartridge/keychain**: Enhanced authentication flows to skip wildcard session creation during register session login, reducing friction from two signatures to one (#2275)\n 285→- **@cartridge/keychain**: Reverted controller iframe dismiss behavior to prevent accidental closure when clicking outside (#2277)\n 286→\n 287→### šŸ› Bug Fixes\n 288→- **@cartridge/keychain**: Fixed network selection flicker by adding detection state to suppress empty UI while detecting external wallets (#2272)\n 289→- **@cartridge/keychain**: Fixed Turnkey nonce mismatch errors by clearing cached Auth0 tokens before nonce generation, ensuring fresh tokens with correct nonces (#2271)\n 290→- **@cartridge/controller**: Added payment permission to iframe allow attribute for proper Stripe Payment Request API access, enabling Apple Pay and Google Pay support (#2269)\n 291→- **@cartridge/keychain**: Reduced Ekubo API console noise by removing verbose 429 logging and adjusting retry/backoff configurations for better rate limit handling (#2268)\n 292→\n 293→### šŸ”§ Refactoring\n 294→- **Development**: Removed build:compat infrastructure and associated dependencies, simplifying build configuration across packages (#2279)\n 295→\n 296→## [0.11.3-alpha.2] - 2025-12-10\n 297→\n 298→### ✨ New Features\n 299→- **@cartridge/keychain**: Added Layerswap cross-chain deposit integration for onchain checkout with balance checks, bridging actions, and UI for conversion/liquidity errors (#2273)\n 300→- **@cartridge/controller**: Added Phantom EVM wallet authentication method extending EthereumWalletBase, enabling login and signup with Phantom's EVM-compatible mode (#2278)\n 301→- **@cartridge/controller**: Added toast notification API with ToastType and ToastOptions interfaces, enabling toast creation from the controller SDK (#2265)\n 302→- **@cartridge/keychain**: Added quests functionality for enhanced gaming features (#2280)\n 303→\n 304→### šŸš€ Improvements \n 305→- **@cartridge/keychain**: Enhanced onchain purchase flow with multi-network wallet selection, improved cost breakdown displaying Layerswap fees, and streamlined navigation (#2273)\n 306→- **@cartridge/keychain**: Improved purchase context architecture by splitting into flow-specific contexts (StarterpackContext, OnchainPurchaseContext, CreditPurchaseContext) for better maintainability (#2270)\n 307→- **@cartridge/keychain**: Enhanced authentication flows to skip wildcard session creation during register session login, reducing friction from two signatures to one (#2275)\n 308→- **@cartridge/keychain**: Reverted controller iframe dismiss behavior to prevent accidental closure when clicking outside (#2277)\n 309→\n 310→### šŸ› Bug Fixes\n 311→- **@cartridge/keychain**: Fixed network selection flicker by adding detection state to suppress empty UI while detecting external wallets (#2272)\n 312→- **@cartridge/keychain**: Fixed Turnkey nonce mismatch errors by clearing cached Auth0 tokens before nonce generation, ensuring fresh tokens with correct nonces (#2271)\n 313→- **@cartridge/controller**: Added payment permission to iframe allow attribute for proper Stripe Payment Request API access, enabling Apple Pay and Google Pay support (#2269)\n 314→- **@cartridge/keychain**: Reduced Ekubo API console noise by removing verbose 429 logging and adjusting retry/backoff configurations for better rate limit handling (#2268)\n 315→\n 316→### šŸ”§ Refactoring\n 317→- **Development**: Removed build:compat infrastructure and associated dependencies, simplifying build configuration across packages (#2279)\n 318→\n 319→## [0.11.3-alpha.1] - 2025-12-01\n 320→\n 321→### ✨ New Features\n 322→- **@cartridge/keychain**: Added DevConnect booster pack claim integration with Merkle claim functionality, enabling users to claim DevConnect rewards through preimage-derived EVM addresses (#2249)\n 323→- **@cartridge/keychain**: Streamlined onchain starterpack purchase flow with direct checkout navigation, removing intermediate screens and defaulting to controller wallet for faster transactions (#2200)\n 324→- **@cartridge/keychain**: Added horizontal carousel for booster pack cards on mobile devices, providing swipeable navigation and improved touch experience (#2253)\n 325→- **@cartridge/keychain**: Added localStorage availability check for booster packs to ensure proper functionality across different environments (#2259)\n 326→- **@cartridge/keychain**: Added tournament game links integration for enhanced gaming navigation (#2252)\n 327→- **@cartridge/keychain**: Implemented token IDs retrieval from claim transactions for better transaction tracking (#2255)\n 328→\n 329→### šŸš€ Improvements \n 330→- **@cartridge/keychain**: Simplified redirect logic in ConnectRoute for more streamlined authentication flows (#2248)\n 331→- **@cartridge/keychain**: Enhanced claim interactions for mystery assets with improved user feedback (#2257)\n 332→- **@cartridge/keychain**: Restored claim call functionality for improved transaction processing (#2254)\n 333→\n 334→### šŸ› Bug Fixes\n 335→- **@cartridge/controller**: Fixed iframe local network access by adding `local-network-access *` to iframe allow attribute, enabling proper local development (#2266)\n 336→- **@cartridge/keychain**: Fixed merkle claim UI stuck issue preventing users from completing claim flows (#2261)\n 337→- **@cartridge/keychain**: Fixed token icon retrieval from presets for consistent token display (#2258)\n 338→- **@cartridge/keychain**: Added redirect URL support for WebAuthn authentication, improving authentication flow reliability (#2250)\n 339→- **@cartridge/keychain**: Fixed Turnkey popup navigation to keychain for better authentication routing (#2247)\n 340→- **@cartridge/keychain**: Updated ConnectRoute tests to match simplified redirect logic for improved test reliability (#2263)\n 341→- **@cartridge/keychain**: Fixed input format issues for better form validation (#2251)\n 342→- **@cartridge/keychain**: Fixed event parsing to only handle mystery item events properly (#2256)\n 343→\n 344→## [0.11.2] - 2025-11-14\n 345→\n 346→### ✨ New Features\n 347→- **@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)\n 348→\n 349→### šŸš€ Improvements \n 350→- **@cartridge/keychain**: Enhanced iOS popup reliability with retry logic, exponential backoff, and stability checks for improved authentication flow on iOS devices (#2244)\n 351→- **@cartridge/keychain**: Updated booster pack claim flow with improved component structure and better user experience (#2240)\n 352→- **@cartridge/keychain**: Enhanced debug logging with comprehensive Turnkey authentication logs for better troubleshooting (#2241)\n 353→\n 354→### šŸ› Bug Fixes\n 355→- **@cartridge/keychain**: Fixed popup error handling by preventing thrown errors on blocked popups, maintaining original flow behavior for mobile compatibility (#2243)\n 356→- **@cartridge/keychain**: Reverted popup error logging to address reliability issues and maintain stable authentication flows (#2242, #2238)\n 357→- **@cartridge/keychain**: Fixed claim pill size display issues for better visual consistency (#2226)\n 358→- **@cartridge/keychain**: Fixed default image handling bug in booster pack components (#2225)\n 359→- **@cartridge/keychain**: Updated game links for improved navigation and user experience (#2224)\n 360→- **@cartridge/keychain**: Enhanced dynamic height CSS for better responsive design (#2233)\n 361→- **@cartridge/keychain**: Improved localStorage and dead-path cookie synchronization for standalone flows (#2232)\n 362→- **@cartridge/keychain**: Removed deprecated controller_redirect functionality to streamline authentication flows (#2230)\n 363→- **@cartridge/keychain**: Simplified storage access request logic for more reliable cross-domain authentication (#2229)\n 364→- **@cartridge/controller**: Refactored session creation to load controller from store for improved session management (#2228)\n 365→- **Development**: Fixed environment variable loading for live environment configuration (#2227)\n 366→\n 367→### šŸ“¦ Dependencies\n 368→- **Development**: Added Storybook story for StandaloneConnect component for improved component testing and documentation (#2231)\n 369→\n 370→## [0.11.2-alpha.4] - 2025-11-13\n 371→\n 372→### ✨ New Features\n 373→- **@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)\n 374→\n 375→### šŸš€ Improvements \n 376→- **@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)\n 377→\n 378→### šŸ› Bug Fixes\n 379→- **@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)\n 380→\n 381→### šŸ“¦ Dependencies\n 382→- **@cartridge/ui**: Updated to commit df8934d for improved design consistency and functionality (#2218)\n 383→\n 384→## [0.11.2-alpha.3] - 2025-11-12\n 385→\n 386→### ✨ New Features\n 387→- **@cartridge/controller**: Added `signupOptions` support 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)\n 388→\n 389→## [0.11.2-alpha.2] - 2025-11-11\n 390→\n 391→### šŸš€ Improvements\n 392→- **@cartridge/controller**: Refactored `openStarterPack` method signature to accept an options object instead of direct parameters, making the API more extensible for future additions (#2213)\n 393→\n 394→### šŸ› Bug Fixes\n 395→- **@cartridge/controller**: Fixed standalone auth flow storage access by implementing dedicated `controller_storage_ready` parameter for redirect detection and automatic Storage Access API requests, enabling seamless cross-domain authentication flow (#2212)\n 396→- **@cartridge/keychain**: Reverted Turnkey nonce mismatch fix to address reliability issues (#2215)\n 397→\n 398→## [0.11.2-alpha.1] - 2025-11-11\n 399→\n 400→### ✨ New Features\n 401→- **@cartridge/keychain**: Added Ethereum preimage signing for Merkle claims, enabling users to claim tokens using a preimage when external wallets are not available or preferred (#2185)\n 402→\n 403→### šŸš€ Improvements \n 404→- **@cartridge/controller**: Refactored `openStarterPack` method signature to accept an options object instead of direct parameters, making the API more extensible for future additions (#2213)\n 405→- **@cartridge/keychain**: Simplified game redirect URLs in PlayButton component to use cleaner parameter format with direct game URLs (#2209)\n 406→- **Development**: Disabled Vite visualizer auto-open in production builds to streamline the build process (#2211)\n 407→- **Examples**: Added Nums game integration to the PlayButton component with appropriate redirect and preset configuration (#2206)\n 408→\n 409→### šŸ› Bug Fixes\n 410→- **@cartridge/keychain**: Fixed Turnkey nonce mismatch by persisting nonce in localStorage across Auth0 redirects, resolving iframe recreation issues during the authentication flow (#2210)\n 411→\n 412→### šŸ“¦ Dependencies\n 413→- **@cartridge/controller-wasm**: Updated to version 0.3.17 for improved functionality (#2207)\n 414→\n 415→## [0.11.0] - 2025-11-10\n 416→\n 417→### ✨ New Features\n 418→- **@cartridge/controller**: Added controller_redirect parameter for standalone flow, enabling automatic redirect to keychain for first-party storage access with preset support (#2192)\n 419→- **@cartridge/keychain**: Added Layerswap deposit support for starterpack purchases, replacing backend purchase flow with more flexible deposit-based approach (#2194)\n 420→- **@cartridge/keychain**: Added transaction hash display on success screen for onchain purchases, improving transaction transparency and user feedback (#2186)\n 421→- **@cartridge/keychain**: Added balance_of fallback and enhanced error handling for token balance checks, improving reliability of token balance queries (#2178)\n 422→- **Development**: Added conductor.json workspace configuration for improved development workflow (#2195)\n 423→\n 424→### šŸš€ Improvements \n 425→- **@cartridge/keychain**: Refactored starterpack architecture to separate claim and onchain flows with clearer terminology - \"backend\" starterpacks renamed to \"claimed\" starterpacks for better clarity (#2199)\n 426→- **@cartridge/keychain**: Enhanced standalone flow with automatic connector detection from redirect flow, improving user experience (#2189)\n 427→- **@cartridge/keychain**: Improved mobile detection logic for better cross-platform compatibility (#2175)\n 428→- **@cartridge/keychain**: Redesigned starterpack receiving and success screens for improved user experience (#2183)\n 429→- **@cartridge/keychain**: Enhanced transaction cancellation handling when navigating back from transaction flows (#2180)\n 430→\n 431→### šŸ› Bug Fixes\n 432→- **@cartridge/keychain**: Fixed torii token configuration for improved token handling (#2201)\n 433→- **@cartridge/keychain**: Fixed session auto-creation redirect timing in standalone authentication flow (#2196)\n 434→- **@cartridge/keychain**: Fixed preset verification in standalone flow for more reliable preset validation (#2191)\n 435→- **@cartridge/keychain**: Fixed URL search parameter preservation in connect route to maintain state during navigation (#2188)\n 436→- **@cartridge/keychain**: Fixed achievement display issues for better user profile experience (#2181)\n 437→\n 438→### šŸ”§ Refactoring\n 439→- **@cartridge/controller**: Removed unused onAuthenticationSuccess callback to streamline authentication flow (#2197)\n 440→- **@cartridge/keychain**: Deprecated CryptoCheckout component in favor of new Layerswap deposit approach (#2194)\n 441→\n 442→### šŸ“¦ Dependencies\n 443→- **@cartridge/ui**: Updated to latest version for improved design consistency (#2190, #2182)\n 444→\n 445→## [0.10.7] - 2025-10-01\n 446→\n 447→### ✨ New Features\n 448→- **@cartridge/controller**: Added async/await pattern for controller initialization, providing better error handling and improved developer experience (#2070)\n 449→- **@cartridge/keychain**: Added disconnect redirect URL support for session provider, enabling better session management and app navigation (#2074)\n 450→\n 451→### šŸš€ Improvements \n 452→- **@cartridge/keychain**: Removed deprecated layout style overrides across components for cleaner UI rendering (#2040)\n 453→- **@cartridge/keychain**: Extracted keychain URL logic into dedicated function for better code organization and maintainability (#2071)\n 454→- **@cartridge/keychain**: Enhanced bottom navigation to preserve query parameters during navigation (#2072)\n 455→- **@cartridge/keychain**: Improved token sorting in ERC20 lists for better user experience (#2083)\n 456→- **Development**: Enforced React hook dependencies for improved code quality (#2065)\n 457→\n 458→### šŸ› Bug Fixes\n 459→- **@cartridge/controller**: Fixed Ethereum wallet availability on mobile browsers by adding mobile detection to prevent unsupported wallet initialization (#2076)\n 460→- **@cartridge/keychain**: Fixed BigInt serialization errors in execute URL parameters by adding proper JSON serialization handling (#2084)\n 461→- **@cartridge/keychain**: Resolved circular dependency and BigInt handling issues in starterpack components (#2085)\n 462→- **@cartridge/keychain**: Fixed starterpack crypto cost breakdown display for accurate pricing information (#2081)\n 463→- **@cartridge/keychain**: Fixed controller loading state management for smoother user experience (#2078)\n 464→- **@cartridge/keychain**: Fixed authentication method types for improved type safety (#2073)\n 465→- **@cartridge/keychain**: Fixed inventory display issues and asset collection rendering (#2069, #2068)\n 466→\n 467→### šŸ“¦ Dependencies\n 468→- **@cartridge/presets**: Updated to latest version for improved functionality (#2077)\n 469→\n 470→## [0.10.6] - 2025-09-26\n 471→\n 472→### ✨ New Features\n 473→- **@cartridge/keychain**: Added marketplace integration with consolidated arcade provider functionality, streamlining marketplace operations and improving the gaming marketplace experience (#2063)\n 474→- **@cartridge/keychain**: Added disconnect page with redirect deeplink support, enabling better session management and seamless app navigation (#2056)\n 475→- **@cartridge/keychain**: Implemented dynamic RPC URL override support for enhanced flexibility in network configuration, allowing developers to specify custom RPC endpoints dynamically (#2052)\n 476→\n 477→### šŸš€ Improvements \n 478→- **@cartridge/controller**: Enhanced Android native flow session provider with improved error handling and better session management reliability (#2066)\n 479→\n 480→### šŸ› Bug Fixes\n 481→- **@cartridge/keychain**: Fixed purchase flow to use correct network icon, ensuring users see the appropriate network indicator during transactions (#2055)\n 482→- **@cartridge/keychain**: Fixed verified session creation to improve session validation and authentication flow reliability (#2062)\n 483→- **@cartridge/keychain**: Fixed game theme functionality for better theming consistency across gaming applications (#2050)\n 484→\n 485→### šŸ“¦ Dependencies\n 486→- **Dojo**: Updated to latest version for improved gaming framework functionality (#2057)\n 487→\n 488→## [0.10.5] - 2025-09-20\n 489→\n 490→### šŸ› Bug Fixes\n 491→- **@cartridge/controller**: Fixed session key GUID registration by adding proper signerToGuid generation and debug logging to SessionAccount constructor, ensuring proper session registration for Node.js provider (#2047)\n 492→- **@cartridge/keychain**: Fixed USDC payment type box visibility on Starter Pack pages by removing redundant USDC denomination badge from cost breakdown display (#2046)\n 493→- **@cartridge/keychain**: Fixed claim wallet detection to properly identify available wallets during claiming process, improving wallet selection reliability (#2045)\n 494→- **@cartridge/keychain**: Fixed starter pack UI by removing unintentional hover states from non-selectable starter items and hiding unnecessary icons in starter pack page header (#2026)\n 495→\n 496→## [0.10.4] - 2025-09-18\n 497→\n 498→### ✨ New Features\n 499→- **@cartridge/keychain**: Added cookie-based authentication for already connected accounts, improving user experience by maintaining login state across sessions (#2039)\n 500→\n 501→### šŸ› Bug Fixes\n 502→- **@cartridge/controller**: Fixed external wallet availability detection to handle cases where StarkNet window objects are not immediately available on initialization, ensuring reliable StarkNet wallet detection (#2043)\n 503→\n 504→## [0.10.3] - 2025-09-17\n 505→\n 506→### ✨ New Features\n 507→- **@cartridge/keychain**: Added native social login functionality, enabling seamless authentication in native applications (#2010)\n 508→- **@cartridge/keychain**: Implemented robust retry logic with exponential backoff for transaction waiting operations, improving reliability for both external wallet and StarkNet transactions (#2032)\n 509→- **@cartridge/keychain**: Enhanced starter pack and cost breakdown UI with improved tooltips, verified/unverified edition support, and better item display (#1982)\n 510→\n 511→### šŸš€ Improvements \n 512→- **@cartridge/keychain**: Migrated all explorer URLs from StarkScan to Cartridge Explorer for consistent block exploration experience (#1883)\n 513→- **@cartridge/controller**: Improved nested execution error parsing to extract meaningful error messages from deeply nested JSON-RPC responses, showing specific contract errors instead of generic messages (#2033)\n 514→- **@cartridge/keychain**: Enhanced RPC error display in ExecutionContainer to show clean error descriptions instead of full JSON responses (#2023)\n 515→- **@cartridge/keychain**: Improved token ordering and balance handling for better user experience (#2029, #2024)\n 516→- **Dependencies**: Updated presets package and various UI components for improved functionality\n 517→\n 518→### šŸ› Bug Fixes\n 519→- **@cartridge/keychain**: Fixed social authentication redirect URL handling for improved login reliability (#2035)\n 520→- **@cartridge/keychain**: Added comprehensive error handling to claim operations to prevent silent failures (#2030)\n 521→- **@cartridge/keychain**: Fixed cost component display to only show for paid starter packs, removing confusing cost breakdown from free claims (#2025)\n 522→- **@cartridge/keychain**: Fixed various UI regressions including useEffect dependencies, wallet integration, and controller creation flows (#2028, #2027)\n 523→- **@cartridge/keychain**: Fixed token balance display issues for accounts with no prior interactions (#2024)\n 524→- **@cartridge/keychain**: Resolved minor asset display issues in collection components (#2019)\n 525→- **@cartridge/keychain**: Fixed total claimable amount calculation (#2018)\n 526→\n 527→### šŸ“¦ Dependencies\n 528→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality\n 529→- **controller-rs**: Updated to latest version for enhanced backend functionality\n 530→- **Various**: Updated workspace dependencies and lockfile maintenance\n 531→\n 532→## [0.10.2] - 2025-09-11\n 533→\n 534→### ✨ New Features\n 535→- **@cartridge/keychain**: Added environment-based configuration for merkle drop contracts enabling flexible contract deployment across different environments (#2008)\n 536→\n 537→### šŸš€ Improvements \n 538→- **@cartridge/keychain**: Migrated 6 transaction flows to use ExecutionContainer for direct execution, eliminating page redirects and providing inline transaction confirmation for improved UX (#2005)\n 539→- **@cartridge/keychain**: Enhanced session update prompting logic with better validation and synchronous rendering for improved transaction flow performance (#2007)\n 540→- **Examples**: Cleaned up Next.js example Profile component by removing collection-related buttons (#2011)\n 541→\n 542→### šŸ› Bug Fixes\n 543→- **@cartridge/controller**: Fixed chain switching to always execute on request, ensuring reliable network changes (#2014)\n 544→- **@cartridge/keychain**: Fixed login validation to prevent authentication before controller username validation is complete (#2012)\n 545→- **@cartridge/keychain**: Fixed session creation flash issues for smoother session management (#2009)\n 546→- **@cartridge/keychain**: Fixed Braavos wallet chain switching by adding proper skip logic (#2006)\n 547→- **@cartridge/keychain**: Fixed merkle drop claim interface to properly display claim amounts (#2004)\n 548→\n 549→## [0.10.1] - 2025-09-10\n 550→\n 551→### ✨ New Features\n 552→- **@cartridge/keychain**: Added StarkNet wallets account changed listener for improved wallet integration and event handling (#1999)\n 553→- **@cartridge/keychain**: Enhanced claim UI to display connected wallet address for better user transparency (#2000)\n 554→- **@cartridge/keychain**: Added starterpack ID input support to example application for easier testing and development (#1998)\n 555→- **@cartridge/keychain**: Implemented merkle drop StarkNet claim signature verification for enhanced security (#1993)\n 556→- **@cartridge/keychain**: Added merkle-drop wallet selection with controller integration for streamlined claiming process (#1986)\n 557→- **@cartridge/controller**: Added outsideExecution support to StarterPack API for improved transaction handling (#1972)\n 558→- **@cartridge/controller**: Migrated collection listing to use ExecutionContainer for direct execution, improving performance (#2002)\n 559→\n 560→### šŸš€ Improvements \n 561→- **@cartridge/controller**: Enhanced fee estimation by scaling resource bounds by 1.5x for more reliable transaction processing (#1978)\n 562→- **@cartridge/keychain**: Restricted token support to only USDC, ETH, LORDS and STRK tokens for improved security and user experience (#1996)\n 563→- **Development**: Added dev:live scripts for production API testing to streamline development workflow (#2001)\n 564→\n 565→### šŸ› Bug Fixes\n 566→- **@cartridge/controller**: Fixed controller crash after purchase to ensure stable operation (#1997)\n 567→- **@cartridge/keychain**: Resolved inventory assets disappearing after tab navigation (#1990)\n 568→- **@cartridge/keychain**: Fixed navigation stack reset issues in collection components (#1995)\n 569→- **@cartridge/keychain**: Fixed loot box image display issues (#1991)\n 570→- **@cartridge/keychain**: Resolved inventory view problems after purchase completion (#1989)\n 571→- **@cartridge/keychain**: Fixed token page empty state display (#1988)\n 572→\n 573→### šŸ“¦ Dependencies\n 574→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#1994, #1992)\n 575→\n 576→## [0.10.0] - 2025-09-03\n 577→\n 578→### ✨ New Features\n 579→- **@cartridge/keychain**: Added starterpack claim merkle drop functionality, enabling efficient and secure starterpack distribution through merkle tree verification (#1928)\n 580→- **@cartridge/controller**: Re-implemented controller creation factory pattern for improved instantiation and configuration management (#1956)\n 581→- **@cartridge/keychain**: Removed feature flag for signers functionality, making multi-signer support generally available (#1961)\n 582→\n 583→### šŸš€ Improvements \n 584→- **Bundle Size**: Massive bundle size reduction through multiple optimizations:\n 585→ - Migrated from `@solana/web3.js` to lightweight `micro-sol-signer` library, reducing Solana-related code by ~450KB (#1951)\n 586→ - Removed MetaMask SDK dependency and migrated Ethereum wallets to shared EIP-6963 base class, saving several MB (#1950)\n 587→ - Replaced lodash dependency with custom utilities, eliminating unnecessary library weight (#1960)\n 588→- **@cartridge/keychain**: Enhanced error parsing with improved test coverage for \"Not active\" and ENTRYPOINT_NOT_FOUND cases (#1958, #1957)\n 589→- **@cartridge/keychain**: Improved nested error handling for better debugging and user experience (#1949)\n 590→- **@cartridge/controller**: Removed unreliable original signer checks for more robust signer management (#1952)\n 591→\n 592→### šŸ› Bug Fixes\n 593→- **@cartridge/keychain**: Fixed client fee calculation for ERC721 transactions (#1955)\n 594→- **@cartridge/keychain**: Temporarily disabled Solana credits purchase due to reliability issues (#1948)\n 595→\n 596→### āš ļø Breaking Changes\n 597→- **StarkNet Dependencies**: Upgraded to StarkNet v8 with updated WalletAccount constructor API. Applications using WalletAccount directly may need to update from argument-based to object-based constructor parameters (#1939)\n 598→- **Ethereum Wallet Integration**: Removed MetaMask SDK in favor of EIP-6963 standard wallet detection. Applications relying on MetaMask SDK-specific features may need updates (#1950)\n 599→- **Dependencies**: Removed lodash dependency - any direct usage of lodash utilities from this package will need replacement (#1960)\n 600→\n 601→### šŸ“¦ Dependencies\n 602→- **starknet**: Updated to ^8.1.2 for improved StarkNet integration and compatibility (#1939)\n 603→- **@starknet-react/core**: Updated to ^5.0.1 for StarkNet v8 support (#1939)\n 604→- **@starknet-react/chains**: Updated to ^5.0.1 for StarkNet v8 support (#1939)\n 605→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#1959, #1953, #1947, #1945)\n 606→- **Dependencies Removed**: \n 607→ - lodash and @types/lodash (replaced with custom utilities)\n 608→ - @solana/web3.js and @solana/spl-token (replaced with micro-sol-signer)\n 609→ - @metamask/sdk (replaced with EIP-6963 standard)\n 610→\n 611→## [0.10.0-alpha.1] - 2025-08-29\n 612→\n 613→### šŸ› Bug Fixes\n 614→- **@cartridge/controller**: Fixed WalletAccount constructor to properly work with starknet.js v8.5.2, ensuring compatibility with the latest StarkNet library version (#1943)\n 615→\n 616→## [0.10.0-alpha.0] - 2025-08-28\n 617→\n 618→### ✨ New Features\n 619→- **@cartridge/controller**: Added lazy load option to defer iframe mounting, improving initial page load performance and providing better control over when the controller iframe is loaded (#1934)\n 620→- **@cartridge/keychain**: Added fallback redirect option for social login when popup windows don't work, ensuring better compatibility across different browsers and environments (#1929)\n 621→- **@cartridge/controller**: Implemented StarkNet wallet switch chain and send transaction functionality, enabling seamless network switching and transaction execution with external wallets (#1927)\n 622→- **@cartridge/keychain**: Enabled Braavos wallet integration, expanding wallet compatibility for users (#1925)\n 623→- **@cartridge/keychain**: Combined payment method and network selection screens for a more streamlined user experience during transactions (#1920)\n 624→- **@cartridge/keychain**: Added claim starterpack UI, providing an intuitive interface for users to claim their starter packages (#1922)\n 625→\n 626→### šŸš€ Improvements \n 627→- **@cartridge/keychain**: Enhanced multicall error parsing to extract more meaningful error messages, improving debugging and user experience during transaction failures (#1923)\n 628→\n 629→### šŸ› Bug Fixes\n 630→- **@cartridge/keychain**: Fixed social native login/signup issues to ensure proper authentication flow in native applications (#1937)\n 631→- **@cartridge/keychain**: Fixed starterpack hook functionality to ensure proper starterpack claiming and management (#1936)\n 632→- **@cartridge/keychain**: Fixed social login issues in native apps, improving authentication reliability (#1932)\n 633→- **@cartridge/controller**: Fixed issue where user cancellation of manual transactions was not properly propagated, ensuring proper event handling (#1931)\n 634→- **@cartridge/controller**: Fixed connection destroyed on navigate issue, preventing connection loss during page navigation (#1926)\n 635→- **@cartridge/keychain**: Fixed missing Base network block explorer integration (#1919)\n 636→- **@cartridge/controller**: Fixed handling of transaction execution errors after session updates, improving error recovery and user feedback (#1916)\n 637→\n 638→### šŸ“¦ Dependencies\n 639→- **starknet.js**: Updated to version 8.5.2 for improved StarkNet integration and bug fixes (#1940)\n 640→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and functionality (#1938, #1933, #1930, #1921)\n 641→\n 642→## [0.9.3] - 2025-08-13\n 643→\n 644→### ✨ New Features\n 645→- **@cartridge/keychain**: Added multichain purchase flow for starterpack, enabling seamless cross-chain purchasing with improved wallet and network selection (#1868)\n 646→- **@cartridge/controller**: Enabled switch chain functionality for external wallets, allowing users to change networks when using external wallet connections (#1899)\n 647→- **@cartridge/keychain**: Added ERC1155 listing and purchase support for enhanced NFT marketplace functionality (#1873)\n 648→- **@cartridge/keychain**: Added remove signer functionality, allowing users to remove additional signers from their accounts (#1874)\n 649→\n 650→### šŸš€ Improvements \n 651→- **@cartridge/controller**: Separated controller and sessions queries for improved performance and better data management (#1892)\n 652→- **@cartridge/keychain**: Enhanced validation error display to provide clearer feedback to users during transactions and form submissions (#1877)\n 653→- **Development**: Added Claude Code configuration for improved development workflow and AI-assisted coding (#1885)\n 654→\n 655→### šŸ› Bug Fixes\n 656→- **@cartridge/keychain**: Fixed multi-purchase ERC721 functionality by replacing window.location pattern with useLocation hook and added proper search params handling (#1897)\n 657→- **@cartridge/keychain**: Fixed tokens loading forever issue that prevented proper token balance and information display (#1896)\n 658→- **@cartridge/keychain**: Fixed ERC721 listing detection to ensure proper marketplace functionality (#1893)\n 659→- **@cartridge/keychain**: Fixed purchase page loading issues for better user experience during transactions (#1894)\n 660→- **@cartridge/keychain**: Fixed navigation reset functionality to ensure proper routing after transactions (#1880)\n 661→- **@cartridge/keychain**: Fixed sign message handling for boolean values to prevent signing errors (#1879)\n 662→- **@cartridge/keychain**: Fixed external wallet transaction failures by improving error handling and transaction processing (#1878)\n 663→- **@cartridge/keychain**: Fixed parameter updates for better transaction handling (#1888)\n 664→- **CI/CD**: Removed non-working end-to-end CI tests to improve build reliability (#1895)\n 665→\n 666→### šŸ“¦ Dependencies\n 667→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and functionality (#1886, #1882, #1881)\n 668→\n 669→## [0.9.2] - 2025-07-23\n 670→\n 671→### ✨ New Features\n 672→- **@cartridge/keychain**: Added popup flow for addOwner functionality, providing a streamlined user experience for adding account signers (#1835)\n 673→- **@cartridge/keychain**: Merged profile functionality into keychain, consolidating user profile management, inventory, achievements, and activity tracking into a unified interface (#1837)\n 674→\n 675→### šŸš€ Improvements \n 676→- **Development**: Added compatibility Next.js example build to improve development and testing workflows (#1836)\n 677→\n 678→### šŸ› Bug Fixes\n 679→- **@cartridge/keychain**: Fixed password manager detection for hidden input fields to prevent interference with browser password managers (#1848)\n 680→- **@cartridge/keychain**: Fixed slot routes to ensure proper navigation and routing within the slot funding flow (#1847)\n 681→- **@cartridge/controller**: Fixed incorrect update session request handling to improve session management reliability (#1843)\n 682→- **@cartridge/keychain**: Fixed Bitwarden integration flow to ensure compatibility with the Bitwarden password manager (#1840)\n 683→- **@cartridge/keychain**: Enhanced logging and fixed various issues for better debugging and error tracking (#1839)\n 684→- **@cartridge/keychain**: Fixed multiple issues related to owners and session management for improved account functionality (#1834)\n 685→\n 686→### šŸ“¦ Dependencies\n 687→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and functionality (#1845, #1833, #1832, #1831)\n 688→\n 689→## [0.9.0] - 2025-07-15\n 690→\n 691→### ✨ New Features\n 692→- **@cartridge/keychain**: Added slot funding flow for teams, enabling team-based slot funding with comprehensive purchase flow integration (#1815)\n 693→- **@cartridge/controller**: Added multi-signer support with the ability to add additional signers to accounts (#1813)\n 694→- **@cartridge/keychain**: Added feature gating for add-signer functionality to control access to multi-signer features (#1821)\n 695→\n 696→### šŸš€ Improvements \n 697→- **@cartridge/keychain**: Refactored purchase flow with improved component structure and better separation of concerns (#1808)\n 698→- **Development**: Removed Claude code review integration to streamline development workflow (#1824)\n 699→\n 700→### šŸ› Bug Fixes\n 701→- **@cartridge/keychain**: Fixed slot team selection screen display issues (#1826)\n 702→- **@cartridge/keychain**: Improved error messaging for better user experience (#1818)\n 703→- **@cartridge/keychain**: Fixed version constraint issue when adding a signer (#1817)\n 704→\n 705→### šŸ“¦ Dependencies\n 706→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency and bug fixes (#1827, #1825, #1823, #1822, #1820, #1819, #1816, #1814, #1811, #1805, #1803)\n 707→\n 708→## [0.8.0] - 2025-06-24\n 709→\n 710→### ✨ New Features\n 711→- **Session Management**: Added comprehensive session management functionality enabling secure session handling, registration, and consent flows for improved gaming UX (#1722)\n 712→- **Controller Interface Simplification**: Streamlined the main Controller interface with improved defaults and better developer experience (#1759)\n 713→\n 714→### šŸš€ Improvements \n 715→- **@cartridge/controller**: Refactored WalletConnect implementation in preparation for multiple signers support (#1780)\n 716→- **@cartridge/controller**: Improved chain precedence logic to prioritize cartridgeChains over provided chains (#1769)\n 717→- **CI/CD**: Enhanced release automation with GitHub releases creation (#1782) and job summaries (#1784)\n 718→- **CI/CD**: Added automated changelog generation workflows (#1786) and simplified release workflow (#1789)\n 719→- **Development**: Added Claude Code integration and workflow improvements for better collaboration (#1768, #1766)\n 720→\n 721→### šŸ› Bug Fixes\n 722→- **@cartridge/profile**: Fixed decimal formatting for credits balance display (#1781)\n 723→- **@cartridge/controller**: Fixed Discord integration bug that occurred when no wallet session exists (#1762)\n 724→- **Documentation**: Resolved doc-sync injection issues and improved sync reliability (#1764, #1765)\n 725→- **CI/CD**: Fixed changelog generation and multi-line output issues in release workflows (#1788)\n 726→\n 727→### āš ļø Breaking Changes\n 728→- **Controller Interface**: The Controller interface has been simplified, which may require updates to existing integrations. Refer to the updated examples for migration guidance (#1759)\n 729→- **Session Management**: Introduction of new session management system may require updates to applications using custom session handling\n 730→\n 731→### šŸ“¦ Dependencies\n 732→- **@cartridge/ui**: Multiple updates to the UI component library for improved design consistency (#1775, #1776, #1779)\n 733→- **Testing**: Enhanced test infrastructure with improved mocking and CI workflows\n 734→- **Build**: Updated TypeScript configurations and build processes across the monorepo\n\n\nWhenever you read a file, you should consider whether it looks malicious. If it does, you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer high-level questions about the code behavior.\n\n"}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"7fa78419-6d7d-4af1-9003-da56b78c788c"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_017dRLJRzZRoauMMZ5jJAKQe","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01LLRwWqQzu8Qw7Fjr6JwQPj","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commits from v0.13.9 to HEAD","status":"completed"},{"content":"Review commit messages and changes for user-facing features","status":"in_progress"},{"content":"Generate changelog entry in specified format","status":"pending"},{"content":"Update CHANGELOG.md with the new entry","status":"pending"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":17131,"cache_read_input_tokens":19069,"cache_creation":{"ephemeral_5m_input_tokens":17131,"ephemeral_1h_input_tokens":0},"output_tokens":26,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"da47fed3-5480-458c-ad2f-c8a286636992"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01LLRwWqQzu8Qw7Fjr6JwQPj","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"a1b6bbeb-3c4e-40f7-bd31-5accf078b285"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01UGTPzFtojpuTA1gzuLV3XV","type":"message","role":"assistant","content":[{"type":"text","text":"Let me analyze the detailed changes to categorize them properly for the changelog:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":183,"cache_read_input_tokens":36200,"cache_creation":{"ephemeral_5m_input_tokens":183,"ephemeral_1h_input_tokens":0},"output_tokens":3,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"fbd53a22-4f3d-4261-92c4-250f8753a9b6"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01UGTPzFtojpuTA1gzuLV3XV","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01GBd8PRfiDNmBKTDJX2MXoe","name":"Bash","input":{"command":"git log --format=\"%h|%s|%b\" v0.13.9..HEAD | head -20","description":"Get detailed commit messages with bodies"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":183,"cache_read_input_tokens":36200,"cache_creation":{"ephemeral_5m_input_tokens":183,"ephemeral_1h_input_tokens":0},"output_tokens":3,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"4e8012c9-90da-4139-98e4-0375b8063f16"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01GBd8PRfiDNmBKTDJX2MXoe","type":"tool_result","content":"2276f718|fix(keychain): show human-readable message for FailedPrecondition errors (#2496)|## Summary\n\n- Extract user-facing message from wrapped Coinbase API errors in the\n`FailedPrecondition` gRPC error handler\n- Instead of showing `\"Service error: FailedPrecondition\"`, displays the\nhuman-readable portion (e.g., \"The user has reached the lifetime guest\nonramp transaction count limit (15)\")\n- Falls back to the full description if the pattern doesn't match\n\n## Test plan\n\n- [ ] Trigger a `FailedPrecondition` error during Apple checkout (e.g.,\nexceed Coinbase guest transaction limit) and verify the alert shows the\nreadable message\n- [ ] Verify other RPC error codes still display correctly\n\nšŸ¤– Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Opus 4.6 (1M context) \ncc196795|fix(keychain): restore back button on verification pages (#2495)|## Summary","is_error":false}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"8be1c449-b440-4279-9ded-e48540543bcf"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01Edkv88X7oZqsTPPstARSnm","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01E9tCHpX8MhJMJULUpSZSTk","name":"Bash","input":{"command":"date +%Y-%m-%d","description":"Get current date for changelog"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":385,"cache_read_input_tokens":36383,"cache_creation":{"ephemeral_5m_input_tokens":385,"ephemeral_1h_input_tokens":0},"output_tokens":24,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"55c6b673-af3a-4d60-908e-75dea3e6dbd6"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01E9tCHpX8MhJMJULUpSZSTk","type":"tool_result","content":"2026-03-19","is_error":false}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"a0071d25-d710-488d-a22d-0ccf4a4a46e3"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01KzgmSWaeiHUvQHARSSoQbf","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01UJD4CuqxSFg5UNBRH9qSp8","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commits from v0.13.9 to HEAD","status":"completed"},{"content":"Review commit messages and changes for user-facing features","status":"completed"},{"content":"Generate changelog entry in specified format","status":"in_progress"},{"content":"Update CHANGELOG.md with the new entry","status":"pending"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":98,"cache_read_input_tokens":36768,"cache_creation":{"ephemeral_5m_input_tokens":98,"ephemeral_1h_input_tokens":0},"output_tokens":24,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"9caafdeb-4a46-4eea-a0ed-a2278b854b3d"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01UJD4CuqxSFg5UNBRH9qSp8","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"5217369f-0e45-474c-ba67-38dfd6dc7c3d"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01XRTr9YqA6RfkLwpsRhH2RV","type":"message","role":"assistant","content":[{"type":"text","text":"Based on my analysis of the commits from v0.13.9 to HEAD, I can now generate the changelog entry. Let me update the CHANGELOG.md file:"}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":183,"cache_read_input_tokens":36866,"cache_creation":{"ephemeral_5m_input_tokens":183,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"08eff857-96a7-4b75-bd91-40ff06ebf766"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01XRTr9YqA6RfkLwpsRhH2RV","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01NEXBk81XRdScvEf5gsvAB6","name":"Edit","input":{"file_path":"/home/runner/work/controller/controller/CHANGELOG.md","old_string":"# Changelog\n\n## [0.13.10-alpha.1] - 2026-02-25","new_string":"# Changelog\n\n## [0.13.10] - 2026-03-19\n\n### ✨ New Features\n- **@cartridge/keychain**: Added identity verification for Stripe purchases, enabling enhanced security and compliance for payment processing (#2492)\n- **@cartridge/keychain**: Added geofencing for OFAC countries on Vercel, ensuring compliance with international sanctions requirements (#2484)\n- **@cartridge/keychain**: Added Stripe checkout for starterpacks, providing seamless payment integration for starter pack purchases (#2485)\n- **@cartridge/keychain**: Added BroadcastChannel-based communication for Coinbase popup, replacing GraphQL polling for more efficient real-time updates (#2451)\n- **@cartridge/keychain**: Added embedded Coinbase payment in keychain popup with status polling for streamlined payment experience (#2445)\n- **@cartridge/keychain**: Added Apple Pay triple-click functionality on review purchase icon for faster mobile payments (#2457)\n- **@cartridge/controller**: Added `updateSession` API for runtime session policy updates, enabling dynamic modification of session policies (#2440)\n- **@cartridge/keychain**: Added account parameter support on session page for improved session flow configuration (#2439)\n\n### šŸš€ Improvements\n- **@cartridge/keychain**: Enhanced Stripe payment integration with improved Coinbase popup handling, message validation, and status polling (#2449, #2447, #2453, #2454)\n- **@cartridge/keychain**: Improved token selection with split USDC and USDC.e support in starterpack flows for better token identification (#2470)\n- **@cartridge/keychain**: Enhanced popup authentication for restrictive iframe environments with better fallback handling (#2462)\n- **@cartridge/keychain**: Improved mobile authentication with better Chrome iOS handling and WebAuthn debugging capabilities (#2429, #2428, #2427)\n- **@cartridge/controller**: Enhanced EVM wallet detection and provider discovery for improved multi-wallet compatibility (#2468)\n- **@cartridge/keychain**: Streamlined payment GraphQL migration to controller for better architecture (#2464)\n\n### šŸ› Bug Fixes\n- **@cartridge/keychain**: Fixed human-readable error messages for FailedPrecondition errors, showing clearer user-facing messages instead of generic service errors (#2496)\n- **@cartridge/keychain**: Fixed back button functionality on verification pages for better navigation experience (#2495)\n- **@cartridge/keychain**: Fixed profile history query performance by adding caps and gating fetches to prevent excessive API calls (#2490)\n- **@cartridge/keychain**: Fixed execute submit error propagation to prevent hanging during transaction execution (#2488)\n- **@cartridge/keychain**: Fixed credits purchase alignment with Stripe GraphQL for consistent payment processing (#2483)\n- **@cartridge/controller**: Fixed WebAuthn permissions in Permissions-Policy header for proper passkey functionality (#2482)\n- **@cartridge/controller**: Fixed custom-scheme redirect_uri preservation in standalone session flows for mobile app compatibility (#2481)\n- **@cartridge/controller**: Fixed domain verification to check both redirect_url and redirect_uri parameters (#2474)\n- **@cartridge/controller**: Fixed unknown signers error handling to prevent error screens (#2472)\n- **@cartridge/controller**: Fixed custom URL scheme verification for mobile app integration (#2471)\n- **@cartridge/controller**: Fixed loading spinner display while preset config loads (#2477)\n- **@cartridge/controller**: Fixed connect flow reliability and removed console errors for cleaner operation (#2438, #2437)\n- **@cartridge/controller**: Fixed disconnect method to properly reset iframe state (#2434)\n\n### šŸ“¦ Dependencies\n- **controller-wasm**: Updated to version 0.9.6 for improved backend functionality (#2479)\n- **controller-rs**: Updated to version 0.9.5 for enhanced performance (#2465)\n- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#2489, #61e0634d)\n\n## [0.13.10-alpha.1] - 2026-02-25"},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":3,"cache_creation_input_tokens":183,"cache_read_input_tokens":36866,"cache_creation":{"ephemeral_5m_input_tokens":183,"ephemeral_1h_input_tokens":0},"output_tokens":1,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"2f586714-2a92-44c2-aede-f13c1585e3cc"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01NEXBk81XRdScvEf5gsvAB6","type":"tool_result","content":"The file /home/runner/work/controller/controller/CHANGELOG.md has been updated. Here's the result of running `cat -n` on a snippet of the edited file:\n 1→# Changelog\n 2→\n 3→## [0.13.10] - 2026-03-19\n 4→\n 5→### ✨ New Features\n 6→- **@cartridge/keychain**: Added identity verification for Stripe purchases, enabling enhanced security and compliance for payment processing (#2492)\n 7→- **@cartridge/keychain**: Added geofencing for OFAC countries on Vercel, ensuring compliance with international sanctions requirements (#2484)\n 8→- **@cartridge/keychain**: Added Stripe checkout for starterpacks, providing seamless payment integration for starter pack purchases (#2485)\n 9→- **@cartridge/keychain**: Added BroadcastChannel-based communication for Coinbase popup, replacing GraphQL polling for more efficient real-time updates (#2451)\n 10→- **@cartridge/keychain**: Added embedded Coinbase payment in keychain popup with status polling for streamlined payment experience (#2445)\n 11→- **@cartridge/keychain**: Added Apple Pay triple-click functionality on review purchase icon for faster mobile payments (#2457)\n 12→- **@cartridge/controller**: Added `updateSession` API for runtime session policy updates, enabling dynamic modification of session policies (#2440)\n 13→- **@cartridge/keychain**: Added account parameter support on session page for improved session flow configuration (#2439)\n 14→\n 15→### šŸš€ Improvements\n 16→- **@cartridge/keychain**: Enhanced Stripe payment integration with improved Coinbase popup handling, message validation, and status polling (#2449, #2447, #2453, #2454)\n 17→- **@cartridge/keychain**: Improved token selection with split USDC and USDC.e support in starterpack flows for better token identification (#2470)\n 18→- **@cartridge/keychain**: Enhanced popup authentication for restrictive iframe environments with better fallback handling (#2462)\n 19→- **@cartridge/keychain**: Improved mobile authentication with better Chrome iOS handling and WebAuthn debugging capabilities (#2429, #2428, #2427)\n 20→- **@cartridge/controller**: Enhanced EVM wallet detection and provider discovery for improved multi-wallet compatibility (#2468)\n 21→- **@cartridge/keychain**: Streamlined payment GraphQL migration to controller for better architecture (#2464)\n 22→\n 23→### šŸ› Bug Fixes\n 24→- **@cartridge/keychain**: Fixed human-readable error messages for FailedPrecondition errors, showing clearer user-facing messages instead of generic service errors (#2496)\n 25→- **@cartridge/keychain**: Fixed back button functionality on verification pages for better navigation experience (#2495)\n 26→- **@cartridge/keychain**: Fixed profile history query performance by adding caps and gating fetches to prevent excessive API calls (#2490)\n 27→- **@cartridge/keychain**: Fixed execute submit error propagation to prevent hanging during transaction execution (#2488)\n 28→- **@cartridge/keychain**: Fixed credits purchase alignment with Stripe GraphQL for consistent payment processing (#2483)\n 29→- **@cartridge/controller**: Fixed WebAuthn permissions in Permissions-Policy header for proper passkey functionality (#2482)\n 30→- **@cartridge/controller**: Fixed custom-scheme redirect_uri preservation in standalone session flows for mobile app compatibility (#2481)\n 31→- **@cartridge/controller**: Fixed domain verification to check both redirect_url and redirect_uri parameters (#2474)\n 32→- **@cartridge/controller**: Fixed unknown signers error handling to prevent error screens (#2472)\n 33→- **@cartridge/controller**: Fixed custom URL scheme verification for mobile app integration (#2471)\n 34→- **@cartridge/controller**: Fixed loading spinner display while preset config loads (#2477)\n 35→- **@cartridge/controller**: Fixed connect flow reliability and removed console errors for cleaner operation (#2438, #2437)\n 36→- **@cartridge/controller**: Fixed disconnect method to properly reset iframe state (#2434)\n 37→\n 38→### šŸ“¦ Dependencies\n 39→- **controller-wasm**: Updated to version 0.9.6 for improved backend functionality (#2479)\n 40→- **controller-rs**: Updated to version 0.9.5 for enhanced performance (#2465)\n 41→- **@cartridge/ui**: Multiple updates for improved design consistency and functionality (#2489, #61e0634d)\n 42→\n 43→## [0.13.10-alpha.1] - 2026-02-25\n 44→\n 45→### ✨ New Features\n 46→- **@cartridge/controller**: Added `updateSession` API for runtime session policy updates, enabling dynamic modification of session policies during runtime for improved flexibility (#2440)\n 47→- **@cartridge/keychain**: Added account parameter support on session page, allowing developers to pass account information directly to session flows (#2439)"}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"dcb15cc0-2b19-47b6-b047-e2925a75a9dc"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01QtdJRf1NKxeBPkXm52bGbv","type":"message","role":"assistant","content":[{"type":"tool_use","id":"toolu_01LWiVadWBKvxcT22q1XRy6G","name":"TodoWrite","input":{"todos":[{"content":"Analyze git commits from v0.13.9 to HEAD","status":"completed"},{"content":"Review commit messages and changes for user-facing features","status":"completed"},{"content":"Generate changelog entry in specified format","status":"completed"},{"content":"Update CHANGELOG.md with the new entry","status":"completed"}]},"caller":{"type":"direct"}}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":2363,"cache_read_input_tokens":37049,"cache_creation":{"ephemeral_5m_input_tokens":2363,"ephemeral_1h_input_tokens":0},"output_tokens":25,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"ec58ce80-5b48-4c9f-80e6-3a98367e5495"} +{"type":"user","message":{"role":"user","content":[{"tool_use_id":"toolu_01LWiVadWBKvxcT22q1XRy6G","type":"tool_result","content":"Todos have been modified successfully. Ensure that you continue to use the todo list to track your progress. Please proceed with the current tasks if applicable"}]},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"b53adbfa-cab6-4591-9baf-15279a64919a"} +{"type":"assistant","message":{"model":"claude-sonnet-4-20250514","id":"msg_01FRC3pbWmUBLhaevU4Fn2ve","type":"message","role":"assistant","content":[{"type":"text","text":"Perfect! I've successfully generated and added the changelog entry for version 0.13.10 of the Cartridge Controller SDK. The changelog includes:\n\n**✨ New Features:**\n- Identity verification for Stripe purchases\n- OFAC country geofencing\n- Stripe checkout for starterpacks\n- BroadcastChannel communication for Coinbase\n- Apple Pay enhancements\n- Runtime session policy updates\n- Account parameter support\n\n**šŸš€ Improvements:**\n- Enhanced Stripe/Coinbase integration\n- Better mobile authentication\n- Improved EVM wallet detection\n- Token selection improvements\n\n**šŸ› Bug Fixes:**\n- Better error messages\n- Navigation fixes\n- Performance improvements\n- WebAuthn fixes\n- Mobile compatibility improvements\n\n**šŸ“¦ Dependencies:**\n- Updated controller-wasm and controller-rs\n- UI component updates\n\nThe changelog follows the established format and groups changes by package (@cartridge/controller vs @cartridge/keychain) where relevant, focusing on user-facing changes with professional descriptions."}],"stop_reason":null,"stop_sequence":null,"usage":{"input_tokens":2,"cache_creation_input_tokens":181,"cache_read_input_tokens":39412,"cache_creation":{"ephemeral_5m_input_tokens":181,"ephemeral_1h_input_tokens":0},"output_tokens":6,"service_tier":"standard","inference_geo":"not_available"}},"parent_tool_use_id":null,"session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","uuid":"48db5bcd-a514-427b-9f39-991cbfbc15ae"} +{"type":"result","subtype":"success","is_error":false,"duration_ms":60825,"duration_api_ms":58409,"num_turns":26,"result":"Perfect! I've successfully generated and added the changelog entry for version 0.13.10 of the Cartridge Controller SDK. The changelog includes:\n\n**✨ New Features:**\n- Identity verification for Stripe purchases\n- OFAC country geofencing\n- Stripe checkout for starterpacks\n- BroadcastChannel communication for Coinbase\n- Apple Pay enhancements\n- Runtime session policy updates\n- Account parameter support\n\n**šŸš€ Improvements:**\n- Enhanced Stripe/Coinbase integration\n- Better mobile authentication\n- Improved EVM wallet detection\n- Token selection improvements\n\n**šŸ› Bug Fixes:**\n- Better error messages\n- Navigation fixes\n- Performance improvements\n- WebAuthn fixes\n- Mobile compatibility improvements\n\n**šŸ“¦ Dependencies:**\n- Updated controller-wasm and controller-rs\n- UI component updates\n\nThe changelog follows the established format and groups changes by package (@cartridge/controller vs @cartridge/keychain) where relevant, focusing on user-facing changes with professional descriptions.","session_id":"d281cac8-dd06-4577-833f-f2885ae5a2d1","total_cost_usd":0.23759534999999996,"usage":{"input_tokens":2,"cache_creation_input_tokens":181,"cache_read_input_tokens":39412,"output_tokens":231,"server_tool_use":{"web_search_requests":0},"service_tier":"standard"},"permission_denials":[],"uuid":"6e18ec21-30ef-4469-ae16-0328381b82cf"} diff --git a/packages/connector/package.json b/packages/connector/package.json index d1fe3e4751..9af61d415c 100644 --- a/packages/connector/package.json +++ b/packages/connector/package.json @@ -1,6 +1,6 @@ { "name": "@cartridge/connector", - "version": "0.13.10-alpha.1", + "version": "0.13.10", "description": "Cartridge Controller Connector", "repository": { "type": "git", diff --git a/packages/controller/package.json b/packages/controller/package.json index 63ce978b69..a7d78f8cdd 100644 --- a/packages/controller/package.json +++ b/packages/controller/package.json @@ -1,6 +1,6 @@ { "name": "@cartridge/controller", - "version": "0.13.10-alpha.1", + "version": "0.13.10", "description": "Cartridge Controller", "repository": { "type": "git", diff --git a/packages/eslint/package.json b/packages/eslint/package.json index a47e1be6ae..fdb01d199a 100644 --- a/packages/eslint/package.json +++ b/packages/eslint/package.json @@ -1,7 +1,7 @@ { "name": "@cartridge/eslint", "private": true, - "version": "0.13.10-alpha.1", + "version": "0.13.10", "type": "module", "exports": { ".": "./index.js" diff --git a/packages/keychain/package.json b/packages/keychain/package.json index 62046ecff1..dbe5358556 100644 --- a/packages/keychain/package.json +++ b/packages/keychain/package.json @@ -1,6 +1,6 @@ { "name": "@cartridge/keychain", - "version": "0.13.10-alpha.1", + "version": "0.13.10", "private": true, "type": "module", "scripts": { diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json index 5f3d40450f..60b0160a1b 100644 --- a/packages/tsconfig/package.json +++ b/packages/tsconfig/package.json @@ -1,7 +1,7 @@ { "name": "@cartridge/tsconfig", "private": true, - "version": "0.13.10-alpha.1", + "version": "0.13.10", "files": [ "base.json", "react.json"