v0.2.0
[0.2.0] - 2025-12-27
Changed
Output Ordering (Breaking)
- Stable output order: Non-OP_RETURN outputs now preserve the exact order provided by the caller, including the change output at its specified position
- OP_RETURN always last: The OP_RETURN output is always appended as the final output in the transaction
TransactionPlanrefactored: Replaceduser_outputs+change_outputwith a unifiedoutputsarray andchange_indexfield
Migration: If you relied on the previous ordering (user outputs → OP_RETURN → change), update your code to expect the new order (caller-specified outputs → OP_RETURN). The change output is now at the index you specified, not always last.
Fixed
WASM Module
- Fixed deprecated
init()call syntax in TypeScript SDK — now passes{ module_or_path: url }object instead of URL directly - Build script now strips wasm-bindgen deprecation warnings from generated JS glue code
Release Scripts
- Fixed
release-crate.sharray parsing with properread -rasyntax - Added crate existence check to skip already published versions on crates.io
- Fixed
tomllib.load()to use binary file mode (Python 3.11+ compliance) - Fixed
release-npm.shNode.js heredoc syntax for cross-platform compatibility - Added
User-Agentheader to crates.io API requests (required by their rate limiting)
CI/CD
- Release workflow now triggers on GitHub release publish events
- Added
environment: defaultfor proper secrets access
Documentation
- Updated README with stable output ordering behavior
- Updated
ARCHITECTURE.mdwith newTransactionPlanstructure