Releases: tempoxyz/wallet
v0.2.0
Minor Changes
- Add
tempo wallet refreshto refresh passkey/access-key authorization without a full relogin, including improved login/refresh command flow and validation messaging for expired or stale authorizations. - Enforce strict session
Payment-Receipthandling across all session flows, including reused persisted sessions that were previously permissive: reject successful paid responses that omit or malformedly encode receipts, require validspentsemantics for response/header/event receipts, preserve conservative local channel state when strict top-up receipt validation fails after a paid response, and extend integration coverage for strict open/top-up/streaming receipt failure paths.
Patch Changes
- Add
--max-spend/TEMPO_MAX_SPENDhard cap for cumulative session spend, enforced at challenge time, on session reuse, at channel open, and during streaming top-ups. Also reconcile on-chain channel state after cooperative-close 5xx failures before falling back to payer-side close, and fix session reuse to reject candidates from a different origin. - Track server-reported
Payment-Receipt.spentfor session state and use it as the close target instead of the payer-signed cumulative ceiling. This adds persistedserver_spentsupport and updates request/session close flows so cooperative close settles the amount the server actually reports as spent. - Fix session top-up which was completely broken due to five compounding bugs: ABI mismatch (topUp used uint128 instead of uint256 producing wrong function selector), voucher cumulative amount was incorrectly clamped to available balance preventing top-up from ever triggering, AmountExceedsDeposit problem type was not handled alongside InsufficientBalance, stale challenge echo was used for top-up requests causing server rejection, and missing requiredTopUp field in server response caused a hard failure instead of computing the value from local state. Also signals ChannelInvalidated when on-chain top-up fails so the caller can re-open a new channel.
- Added
help_heading = "Network"to the--networkCLI argument for improved help output organization. - Only purge local credentials/session state for inactive access-key errors after confirming key state on-chain. This prevents destructive cleanup on transient or misclassified failures and improves error classification for charge/session payment paths.
- Fix hyperlink sanitization tests to correctly extract and validate only the display text portion of OSC 8 hyperlink sequences, preventing false failures in OSC 8-capable terminals.
- Harden paid session SSE handling for real-world providers by improving retry/stream behavior and session state synchronization across open, voucher, and streaming flows. This reduces false failures and makes strict payment processing more resilient to provider response quirks.
- Improve
tempo wallet sessions closeoutput by printing a blank line before per-channel progress logs for better readability during multi-session close operations. - Slim the service list schema to replace full endpoint details with an
endpoint_countfield, reducing payload size. Adds a test to enforce the summary-only structure.
New Contributors
Full Changelog: https://github.com/tempoxyz/wallet/commits/v0.2.0
v0.1.5
Patch Changes
- Remove hardcoded credentials and tokens from default RPC URLs, auth URLs, and services API URL. Unhide the
--networkCLI flag and update its help text. Improve changelog generation by embedding full format instructions in the AI prompt. - Adds an
accepted_cumulativefield toChannelRecordto track the server-confirmed accepted amount separately from the payer-signed ceiling (cumulative_amount). Cooperative close now uses the accepted amount instead of the signing ceiling to avoid overcharging the payer, with a DB migration and monotonic update logic throughout the storage and request layers. - Fix cooperative session close by selecting the correct WWW-Authenticate challenge when the proxy returns multiple headers (charge and session intents). Parse problem+json error details from close failures to surface actionable messages instead of generic errors.
- Improve close command progress output: add status messages when closing local sessions, sessions by URL, and orphaned channels, and refactor
finalize_closed_channelsto use iterator filtering with a count message before finalizing.
New Contributors
- @akshaan made their first contribution in #274
- @mattsse made their first contribution in #273
- @letstokenize made their first contribution in #268
- @struong made their first contribution in #284
- @pepyakin made their first contribution in #332
Full Changelog: v0.1.0...v0.1.5
tempo-wallet@0.1.4
What's Changed
- fix: tighten charge retry scope and show full rejection body by @Slokh in #325
- refactor: streamline SKILL.md for better agent instruction-following by @Slokh in #327
- fix: add curl fallback for agents with summarizing fetch tools by @Slokh in #328
- chore: release
tempo-request@0.1.4andtempo-wallet@0.1.4by @github-actions[bot] in #326
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-request@0.1.3...tempo-wallet@0.1.4
tempo-wallet@0.1.3
What's Changed
- fix: widen charge provisioning retry to all server rejections by @Slokh in #323
- chore: release
tempo-request@0.1.3andtempo-wallet@0.1.3by @github-actions[bot] in #324
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-request@0.1.2...tempo-wallet@0.1.3
tempo-wallet@0.1.2
What's Changed
- fix: separate SKILL.md upload from binary release by @Slokh in #318
- fix: preserve original error on key-auth retry and ensure deposit covers request cost by @Slokh in #319
- chore: add changeset for session deposit and retry error fixes by @Slokh in #320
- fix: persist channel state on open_stage error to prevent orphaned on-chain funds by @Slokh in #322
- chore: release
tempo-request@0.1.2andtempo-wallet@0.1.2by @github-actions[bot] in #321
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-common@0.1.0...tempo-wallet@0.1.2
tempo-wallet@0.1.1
What's Changed
- feat: deslop skill by @Zygimantass in #311
- fix: skill tools by @Zygimantass in #312
- fix: remove dangerous "all" amount option from transfer command by @letstokenize in #313
- fix: update mainnet explorer URL to explore.tempo.xyz by @decofe in #307
- feat(wallet): migrate fund command to browser-based flow by @Slokh in #314
- fix: respect changelog label bump level and use bot for release PRs by @Slokh in #316
- chore: release
tempo-wallet@0.1.1by @brendanjryan in #315
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-request@0.1.1...tempo-wallet@0.1.1
tempo-test@0.1.0
What's Changed
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-wallet@0.1.1...tempo-test@0.1.0
tempo-sign@0.1.0
What's Changed
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-wallet@0.1.1...tempo-sign@0.1.0
tempo-request@0.1.4
What's Changed
- fix: tighten charge retry scope and show full rejection body by @Slokh in #325
- refactor: streamline SKILL.md for better agent instruction-following by @Slokh in #327
- fix: add curl fallback for agents with summarizing fetch tools by @Slokh in #328
- chore: release
tempo-request@0.1.4andtempo-wallet@0.1.4by @github-actions[bot] in #326
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-request@0.1.3...tempo-request@0.1.4
tempo-request@0.1.3
What's Changed
- fix: widen charge provisioning retry to all server rejections by @Slokh in #323
- chore: release
tempo-request@0.1.3andtempo-wallet@0.1.3by @github-actions[bot] in #324
Full Changelog: https://github.com/tempoxyz/wallet/compare/tempo-request@0.1.2...tempo-request@0.1.3