Change Logs
July 2026 β bridge v2.0.0 (next tag)
@hydra-sdk/bridge 2.0.0 retargets the bridge from hydra-node v1 to the v2 line (verified against 2.3.0). The bridge major version now tracks the hydra-node major version, and 1.x is end of life.
next dist-tag. latest still resolves to 1.3.2. Install with pnpm add @hydra-sdk/bridge@next.π₯ Breaking β hydra-node v2 removed the commit phase
v2 implements ADR-33: a head opens directly, with no commit phase to abort. Funds enter an open head through incremental deposits instead.
commands.abort()andHydraCommand.GetUTxOremovedcommands.initSync()resolves onHeadIsOpen, notHeadIsInitializing- Tags removed:
HeadIsInitializing,Committed,HeadIsAborted,CommitIgnored,GetUTxOResponse,PeerHandshakeFailure HeadIsOpenis{ headId, parties }β it no longer carriesutxoHeadIsFinalized.utxorenamed tofinalizedUTxOHydraHeadStatusdropsInitializingandFinal(Finalnever existed in any released hydra-node)HydraHeadInfois a discriminated union overIdle | Open | ClosedSubmitTxResponserebuilt fromHydra.Chain.PostTxErrorGreetings,InvalidInputand everyClientMessagecarry noseq/timestamp
β¨ New
- Commands
safeClose(),sideLoadSnapshot(),partialFanout() submitL2Tx()β submits overPOST /transactionand lets the node return the verdict, instead of racing WebSocket messages against a client timeoutpendingDeposits()andrecoverDeposit()for the deposit lifecyclegetRawProtocolParameters()exposingcostModels/protocolVersionfor ExUnits budgeting under PV11bridge.syncedStatusandbridge.nodeVersion; the bridge now fails fast onRejectedInputBecauseUnsyncedinstead of hanging until timeout
π Found by testing against a live node
The v2 types were derived from the hydra Haskell source, then checked against a running hydra-node 2.3.0. That check found five defects a source read alone had missed:
Greetings.envhas nosigningKeyβ the node'sToJSONdeliberately omits itGreetingsMaybefields are omitted rather thannull, sohydraHeadId/snapshotUtxoare optionalInvalidInputarrives with notag; the connectors now stamp one so the payload union stays discriminatedPOST /transactiontakes the bare tx envelope, not{ submitL2Tx: β¦ }- Chain-waiting endpoints timed out client-side at 30s while the node works to its own 300s
api-transaction-timeoutβDELETE /commitsreported failure for a recovery the node had completed
π§Ή Housekeeping
- The bridge's duplicated protocol-parameter constants are gone; it now uses
@hydra-sdk/core, which carries the PV11 cost models.toProtocol()routes throughcastProtocol, so a zeroutxoCostPerByteβ what the node reports inside a head β is preserved rather than replaced by the L1 default.
See MIGRATION-v2.md for the full upgrade path.
July 2026 Release β transaction v1.2.0 Β· core v1.4.1 Β· bridge v1.3.2 Β· cardano-wasm v1.0.0 (Latest)
The headline is @hydra-sdk/transaction v1.2.0 β a memory-safety and features release for TxBuilder. @hydra-sdk/cardano-wasm also reaches its first stable v1.0.0.
π§ Memory Safety β @hydra-sdk/transaction
- WASM memory leak & progressive slowdown fixed: every
@emurgo/cardano-serialization-libobject lives in WASM linear memory and is only reclaimed by.free(). CSL'sFinalizationRegistrycleanup is non-deterministic and cannot keep up under a tight build loop, so the WASM heap grew unbounded and per-transaction build time degraded steadily.complete()now frees every internally-allocated CSL object deterministically afterbuild_tx(). Measured result: flat WASM memory (~0 KB/iter) and steady throughput across 10,000 builds; 280 existing tests unchanged. Caller-supplied objects (datum / redeemer / script) are never freed. completeCbor(): Promise<string>(new): builds the transaction and returns its CBOR hex, freeing the intermediateTransactionimmediately β the leak-free path for high-volume workloads where you only need the serialized bytes.complete()still returns a liveTransaction; the caller is responsible for calling.free()on it.dispose()+[Symbol.dispose](new): release all WASM memory held by a builder. Works with theusingkeyword (using tx = new TxBuilder()); recommended for high-volume / spike workloads instead of relying on the GC.
π New Features β @hydra-sdk/transaction
- Stake certificates are now built:
registerStake(),deregisterStake(), anddelegateStake()previously staged certificates that were silently dropped at build time β they are now applied viaset_certs, so the built transaction actually contains the certificate(s). The stake credential is resolved from the bech32 reward (stake) address; an invalid reward address now throws instead of being ignored.PoolRegistration/PoolRetirementthrow a clear "not supported yet" error. totalCollateral()is now applied to the built transaction viaset_total_collateral(previously the value was stored but never written).- Optional script exUnits evaluation:
TxBuilderaccepts anevaluator?: IEvaluator(plus atxEvaluationMultiplier?safety margin). When supplied and the transaction contains Plutus redeemers,complete()runs a second build pass β the draft transaction is evaluated to obtain realexUnits, those are written back into the redeemers (SPENDmatched by inputtxHash#index,MINTby policy id), and the transaction is rebuilt so the fee is accurate. Without an evaluator (e.g. for Hydra, which has no on-chain script evaluation), behaviour is unchanged. TheIEvaluator/EvalAction/Budgettypes mirror MeshJS for interoperability. Current limits: onlySPENDandMINTbudgets are remapped, and no offline evaluator is bundled yet β supply a provider-backed one (Blockfrost / Ogmios / Demeter) or a UPLC evaluator.
π Bug Fixes β @hydra-sdk/transaction
- Script-transaction fee fix: the builder config previously hardcoded
ex_unit_pricesto zero andref_script_coins_per_byteto15/1, so the script-execution fee component (priceMemΒ·exMem + priceStepΒ·exSteps) was omitted and reference-script pricing ignored the protocol params β under-funding script transactions. Both are now sourced from the protocol parameters (priceMem,priceStep,minFeeRefScriptCostPerByte). Non-script transfers were already correct. reset()use-after-free fixed (the metadata container was freed but not recreated) and the constructor no longer double-allocates the underlyingTransactionBuilderwhenparamsis supplied.
π¦ @hydra-sdk/cardano-wasm v1.0.0 β first stable release
- The WASM wrapper reaches v1.0.0. It selects the correct
@emurgo/cardano-serialization-libbuild via package.jsonexportsconditions (browserβ browser WASM,nodeβ Node.js), with the asm.js fallback opt-in at the@hydra-sdk/cardano-wasm/asmjssubpath. Now that it is stable, pin it like any other dependency (^1.0.0).
π§ @hydra-sdk/core v1.4.1 & @hydra-sdk/bridge v1.3.2
@hydra-sdk/bridge@1.3.2: syncs the updated Cardano v11 protocol parameters and cost models; depends oncore@1.4.1andcardano-wasm@1.0.0.@hydra-sdk/core@1.4.1: dependency bump to@hydra-sdk/cardano-wasm@1.0.0(patch; the v11 protocol-parameter defaults landed in1.4.0).
π¦ Updated Packages
@hydra-sdk/transaction@1.2.0@hydra-sdk/core@1.4.1@hydra-sdk/bridge@1.3.2@hydra-sdk/cardano-wasm@1.0.0
Version 1.4.0 - July 2026
π New Features β @hydra-sdk/core
RedeemerUtilsβ new namespace:RedeemerUtils.mkRedeemer(data, options?)wraps anyPlutusData(e.g. built withDatumUtils) into aRedeemerwith configurabletag/index/exUnits, ready to attach to the@hydra-sdk/transactionTxBuilder. Convenience helpersmkSpendRedeemer,mkMintRedeemer,mkUnitRedeemer, plus low-levelmkRedeemerTag,mkExUnitsandDEFAULT_EX_UNITSare included.import { RedeemerUtils, DatumUtils } from '@hydra-sdk/core' const data = DatumUtils.mkConstr(1, []) // e.g. a `Cancel` redeemer const redeemer = RedeemerUtils.mkRedeemer(data, { tag: 'spend', index: 0 })DatumUtilsβ new Plutus-data encoders:mkBoolβ encode an AikenBool(False = Constr(0, []),True = Constr(1, [])).mkOptionβ encode anOption/Maybe(Some = Constr(0, [v]),None = Constr(1, [])).mkBytesList/mkIntListβ encodeList<ByteArray>/List<Int>.mkOutputRefβ encode a PlutusOutputReference(Constr(0, [Bytes(txHash), Int(index)])).mkAddress/parseAddressβ convert a bech32 address to/from PlutusAddressdata.
Deserializer.deserializeAmountsFromTx(cborHex): decodes a transaction CBOR and returns every amount (lovelace + native tokens) across all outputs, merged byunitwith quantities summed. ReturnsAsset[].const amounts = Deserializer.deserializeAmountsFromTx(txCborHex) // [{ unit: 'lovelace', quantity: '2000000' }, { unit: '<policy><assetName>', quantity: '5' }]
β»οΈ Refactor β @hydra-sdk/core
- Address validation moved out of
validator.util:AddressUtils.isValidAddressand the newValidationUtils.isValidTxOutputnow hold these helpers (previously invalidator.util, a name easily confused with Plutus validator scripts).ValidatorUtilsis retained as a deprecated re-export for backward compatibility β existingValidatorUtils.isValidAddress/ValidatorUtils.isValidTxOutputcalls keep working, but new code should useAddressUtils.isValidAddress/ValidationUtils.isValidTxOutput.
π§ Protocol β @hydra-sdk/core
- Protocol parameters upgraded to v11:
DEFAULT_PROTOCOL_PARAMETERS.minPoolCostlowered from340000000(340 ADA) to170000000(170 ADA), matching the Cardano v11 protocol parameter update. - Cost models synced with the v11 on-chain cost models:
DEFAULT_V1_COST_MODEL_LIST/DEFAULT_V2_COST_MODEL_LISTextended with the additional Plutus builtin cost entries;DEFAULT_V3_COST_MODEL_LISTcoefficients updated to the v11 values.
π Bug Fixes β @hydra-sdk/core
Resolver.resolveTxHashWASM memory leak: now calls.free()on the intermediateFixedTransactionWASM object before returning, preventing WASM heap growth in long-running processes that hash many transactions.
π¦ Updated Packages
@hydra-sdk/core@1.4.0
Version 1.3.2 - June 2026
π New Features β @hydra-sdk/core
DemeterProviderβ new provider: Blockfrost-compatible provider for Demeter hosted endpoints. ExtendsBlockfrostProviderand builds the authenticated endpoint URL automatically from theauthTokenandnetworkfields.import { ProviderUtils } from '@hydra-sdk/core' const provider = new ProviderUtils.DemeterProvider({ authToken: 'blockfrost102lx3ckhzvkjjh7677g', network: 'mainnet', // 'mainnet' | 'preprod' | 'preview' })BlockfrostProviderConfig.baseURL: new optional field allowing callers to override the default Blockfrost endpoint URL (also used internally byDemeterProvider).DatumUtils.mkList(elements): constructs aPlutusDatalist from an array ofPlutusDataelements, completing the datum builder API alongsidemkInt,mkBytes,mkConstr, andmkMap.
π Bug Fixes β @hydra-sdk/core
metadataObjToMetadatumvalidation & logic fixes: UTF-8 byte-length validation for strings and bytes against the 64-byte Cardano limit (with descriptive errors), aNumber.isInteger()guard for float values, and a dedicatedMapbranch (previously an emptyMapsilently lost data).
π¦ Updated Packages
@hydra-sdk/core@1.3.2
Version 1.3.1 - March 18, 2026
π Bug Fixes β @hydra-sdk/bridge
- Greetings
Idlehead status crash: WhenheadStatusisIdle(head not yet opened), theGreetingsmessage does not include asnapshotUtxofield. Accessing it caused anundefinederror and broke the cache seeding path. The handler now guards against the missing field before callingupdateSnapshot.
π οΈ Developer Experience β @hydra-sdk/bridge
- Chalk-coloured verbose logs: All
console.log/warn/errorcalls throughoutHydraBridgehave been replaced with three module-level helpers (log,warn,err) backed bychalk:- Tag
[β‘ HydraBridge]is always printed in cyan bold - Success events (connected, snapshot seeded) use green
- Warnings (reconnect attempts, out-of-order snapshots) use yellow
- Errors and disconnection events use red
- Low-signal values (txId, slot timestamp) use gray
- Tag
- Debug dumps removed: Two leftover
console.log('>>> / bridge.ts:...')statements have been deleted.
π¦ Updated Packages
@hydra-sdk/bridge@1.3.1
Version 1.3.0 - March 16, 2026
π New Features β @hydra-sdk/bridge
- hydra-node v1.3.0 Compatibility:
Greetingsmessage extended with four new optional fields:currentSlot,chainSyncedStatus,env,networkInfo - Slot-Zero Timestamp:
HydraBridge.slotZeroTimestampβ automatically derived fromGreetings.currentSlotfor slot β time arithmetic inside the Hydra Head submitTxcallback API: New Node.js error-first callback method alongside the existingsubmitTxSync:bridge.submitTx(tx, (error, result) => { ... }, { timeout: 30000 })/headAPI fix:HydraHeadInfotype rewritten to match the real hydra-node v1.3.0/headresponse structure- Auto-reconnect: Three new
InitHydraBridgeOptionsfields βautoReconnect,reconnectInterval(default 3000ms),maxReconnectAttempts(0 = unlimited)
β‘ Performance β @hydra-sdk/bridge
- O(1) balance lookup: Pre-computed
balanceCache: Map<address, Map<assetUnit, bigint>>β rebuilt once per snapshot, read per request with no I/O - O(1) UTxO lookup: Pre-built
addressUtxoIndex: Map<address, UTxOObject>βqueryAddressUTxO()andaddressesInHead()no longer scan all UTxOs on each call getAddressBalance(address): New public API for instant balance reads. Returnsnullon cold start (cache not yet seeded)lastSnapshotNumber: Exposed as public field; cache only advances, never regresses on reconnect or out-of-order delivery- Greetings seeds cache: No HTTP round-trip needed on fresh connect β
snapshotUtxofrom theGreetingsmessage seeds the index directly - HTTP fallback race fix: Slow HTTP response can no longer overwrite fresher WebSocket snapshot data
β‘ Performance β @hydra-sdk/core
convertUTxOObjectToUTxOWithOptions: New export accepting{ maxDatumCacheSize?: number }β datum deserialization cache is now bounded (default 1024) with LRU eviction, preventing unbounded memory growth on large snapshots- Converter refactors:
reduceβforloops inconvertUTxOToUTxOObjectandconvertTxOutputToWasm;for...inreplacesObject.entries()inconvertUTxOObjectToUTxOto avoid intermediate array allocations - Benchmark script:
scripts/bench-converter.tsβ CLI tool for measuring conversion throughput under configurable workloads
π Bug Fixes β @hydra-sdk/bridge
submitTxSyncvariable shadowing: Innertxshadowed outertxparameter β always returned the first confirmed transaction instead of the matching onenewTxhardcoded description: Was overwriting caller-supplied description with'Ledger Cddl Format'; now passed through as-is- URL builder default port:
buildUrlwas emittinghttps://host:443/pathwhen no explicit port was provided; default ports are now stripped
π οΈ Internal Refactoring
awaitHydraMessageutility (src/utils/await-hydra-message.ts): Replaces the repeated manual event-listener + timeout cleanup pattern.submitTxSync,decommit, andinitHydraHeadall refactored to use it β no more fragile multi-exit-path cleanup
π¦ Updated Packages
@hydra-sdk/core@1.3.0@hydra-sdk/bridge@1.3.0
Version 1.1.7 - January 30, 2026
π New Features
- Reference Input Support: Added support for Cardano reference inputs in
TxBuilderviatxInReference()method - Reference Script Support: Added support for attaching reference scripts to transaction outputs in
TxBuilderviatxOutReferenceScript()method - CIP-8 Message Signing: Implemented
signData()method inEmbeddedWalletfor arbitrary data signing (CIP-8)
π οΈ Technical Improvements
- Plutus Type Standardization: Standardized Plutus-related types (
Datum,Redeemer,ScriptRef) across core and transaction packages for better consistency - Provider Enhancements: Updated
OgmiosProviderto support structured script reference retrieval
π Bug Fixes
- HydraBridge: Fixed
noHistoryoption behavior in WebSocket connector
π¦ Updated Packages
@hydra-sdk/core@1.1.7@hydra-sdk/transaction@1.1.7@hydra-sdk/bridge@1.1.7
Version 1.1.6 - January 21, 2026
π New Features
- Hydra Hub Integration: Enhanced
HydraBridgewith support for connecting to Hydra Hub - Plutus Script Utilities: Added comprehensive Plutus script utilities and enhanced
applyParamsToScriptfunctionality - AI Assistance: Enhanced AI assistance UI and functionality with streaming responses and improved markdown rendering
π οΈ Technical Improvements
- Web API Transition: Replaced Node.js
Bufferdependency withTextEncoder/TextDecoderfor better browser compatibility - Conversion Utilities: Enhanced hex and byte conversion utilities with improved performance and error handling
- Key Management: Improved mnemonic-to-key conversion functionality and key utilities
π§ͺ Testing & CI/CD
- Expanded Test Coverage: Added comprehensive unit tests for
TxBuilder, validator utilities, and metadata processing - Modernized Testing Stack: Updated Vitest to version 3.x and added shared TypeScript/ESLint configurations
π Documentation Updates
- Multi-language Support: Added complete Japanese documentation and synchronized English/Vietnamese versions
- Provider Documentation: Updated documentation for Blockfrost and Ogmios providers
π¦ Updated Packages
@hydra-sdk/core@1.1.6@hydra-sdk/transaction@1.1.6@hydra-sdk/bridge@1.1.6
Version 1.1.5 - November 27, 2025
π οΈ Core Utilities
- Key Management Utilities: Updated and expanded key management functions (keygen, verification key, Hydra key) in
@hydra-sdk/core- Added unit tests for key generation functions
- Standardized and optimized key management API for Hydra and Cardano CLI
- Blockfrost Integration: Added configuration files and Blockfrost integration for demo applications
π§ͺ Testing & Metadata
- SDK API Metadata Extraction: Added script to automatically generate SDK API metadata (
extract-sdk-api.ts) - Test Coverage: Added unit tests for key utilities
π¦ Updated Packages
@hydra-sdk/core@1.1.5@hydra-sdk/transaction@1.1.5@hydra-sdk/bridge@1.1.5
Version 1.1.3 - October 29, 2025
π§ͺ Testing & CI/CD Infrastructure
- GitHub Actions Workflows: Comprehensive CI/CD pipeline cho automated testing
- Jest Configuration: ThΓͺm Jest config vα»i coverage reporting vΓ JUnit support
- Test Workflow: Automated testing workflow vα»i detailed reporting vΓ coverage metrics
- GitHub Secrets Setup: Documentation vΓ configuration cho environment variables trong CI/CD
- Test Commands: ThΓͺm
test:ciscript cho continuous integration testing
π οΈ Core Utilities Improvements
- Metadata Utilities: ThΓͺm utility functions Δα» convert cΓ‘c loαΊ‘i metadata khΓ‘c nhau sang
CardanoWASM.TransactionMetadatum- Support cho Map, List, String, Number, Boolean metadata types
- Enhanced type safety cho Plutus datum operations
- Converter Fixes: Fix vΓ optimize converter utilities cho UTxO transformation
- Improved performance cho conversion operations
- Better error handling vΓ validation
ποΈ Package Refactoring
- Package Rename: Rename
hydra-walletthΓ nhcoreΔα» Δα»ng nhαΊ₯t vα»i package naming convention - Import Updates: Refactor imports Δα» sα» dα»₯ng
DeserializervΓConvertertα»« centralized locations
π§Ή Code Quality & Maintenance
- Debug Logs Cleanup: Remove unnecessary debug logs trong WebsocketConnector
- Test Improvements: Remove unnecessary logs vΓ ensure conversion performance trong tests
- Dependencies Update: Update pnpm lock vα»i cΓ‘c dependency mα»i nhαΊ₯t
π Documentation Updates
- CI/CD Documentation: ThΓͺm comprehensive documentation cho GitHub Actions workflows
- Secrets Management: Setup guide cho GitHub Secrets vΓ environment variables
- Testing Guide: Documentation cho Jest configuration vΓ test workflows
π¦ Updated Packages
@hydra-sdk/core@1.1.3@hydra-sdk/transaction@1.1.3@hydra-sdk/bridge@1.1.3
π§ Developer Experience
- Automated Testing: CI/CD pipeline tα»± Δα»ng chαΊ‘y tests trΓͺn mα»i PR vΓ push
- Coverage Reports: Detailed coverage metrics vΓ reporting trong GitHub Actions
- Better Tooling: Improved development workflow vα»i automated checks
Version 1.1.2 - October 22, 2025
π New Features
- CardanoCliWallet Implementation: New wallet class for Cardano CLI-based key management and transaction handling
- Key Management: Support for signing keys, verification keys, and address generation
- Transaction Signing: Direct transaction signing using Cardano CLI wallet format
- Node.js Integration: Seamless integration with Node.js environments for CLI-based workflows
π οΈ Technical Improvements
- Wallet Abstraction: Added CardanoCliWallet class to
@hydra-sdk/corefor CLI-based wallet operations - Enhanced Flexibility: Support for multiple wallet types (Browser extension, CLI, Hardware)
- Developer Experience: Simplified wallet integration for Node.js applications and automation scripts
π¦ Updated Packages
@hydra-sdk/core@1.1.2@hydra-sdk/transaction@1.1.2@hydra-sdk/bridge@1.1.2
π Package Updates
- Apps: Updated dependencies across playground, nodejs-playground, and web applications
- Documentation: Updated to reflect new CardanoCliWallet functionality
Version 1.1.1 - October 8, 2025
π New Features
- Hydra Concept Documentation: Comprehensive new documentation section covering Hydra Layer 2 concepts and usage
- Why Hydra?: Complete guide explaining benefits, use cases, and when to use Hydra for your project
- Commit to Hydra: Detailed documentation on committing UTxOs into Hydra Heads with blueprint transaction support
- Blueprint Transaction Support: Enhanced TxBuilder with blueprint transaction functionality for Hydra deposits
- Incremental Commit: Added support for partial deposits with blueprint transactions and change address handling
π οΈ Technical Improvements
- TxBuilder Enhancement: Added blueprint transaction support for building transactions compatible with Hydra commit operations
- HydraApi Extensions: New
commit()andpartialDeposit()methods in nodejs-playground for Hydra operations - Namespace Imports: Migrated from direct function imports to namespace exports (
Deserializer,ParserUtils) - Package Export Optimization: Updated package exports to use source files for better development experience
π Documentation Updates
- Hydra Concept Section: Complete bilingual documentation (English/Vietnamese) for Hydra Layer 2 concepts
- Interactive Examples: Added practical Node.js examples for empty commits and blueprint-based commits
- Navigation Enhancement: New "Hydra Concept" section in documentation sidebar with comprehensive guides
- Code Examples: Real-world examples for partial commits, blueprint transactions, and change address handling
π¦ Updated Packages
@hydra-sdk/core@1.1.1@hydra-sdk/transaction@1.1.1@hydra-sdk/bridge@1.1.1
β‘ Performance & Development Experience
- Source-based Exports: Package exports now point to source files instead of built files for faster development
- Enhanced Type Safety: Improved TypeScript definitions for Hydra operations
- Better Error Handling: Enhanced error logging and debugging for Hydra transactions
Version 1.1.0 - September 26, 2025
π New Features
- Utilities Modernization: Major update to core utilities with enhanced APIs and modern patterns
- TimeUtils: New
unixTimeToEnclosingSlot()andslotToBeginUnixTime()functions replacing deprecatedresolveSlotNo() - SLOT_CONFIG_NETWORK: Network-specific slot configuration constants (MAINNET, PREPROD, PREVIEW)
- Serializer/Deserializer: Namespace exports for
Serializer.serializeAssetUnit()andDeserializer.deserializeAssetUnit() - DatumSchema: Simplified to constants-only API (Basic, Detailed) - removed deprecated methods
- TimeUtils: New
π Documentation Overhaul (September 26, 2025)
- Comprehensive Documentation Modernization: Complete rewrite of utilities examples and guides (50-75% size reduction)
- TimeUtils API Updates: Updated all examples to use new
unixTimeToEnclosingSlot()patterns withSLOT_CONFIG_NETWORK - API Accuracy Fixes: Corrected DatumSchema documentation to reflect actual implementation (constants only)
- Transaction Signing Streamline: Reduced transaction signing examples from ~400 to ~150 lines, focusing on 4 core patterns
- Working with Utilities Modernization: Updated guides with actual patterns from nodejs-playground
- Serializer/Deserializer Patterns: Modernized all examples to use namespace exports and round-trip workflows
- Perfect EN/VI Sync: Maintained 100% consistency between English and Vietnamese documentation
π οΈ Technical Improvements
- Breaking API Changes: Deprecated legacy utility functions in favor of modern patterns
- Namespace Exports: Migrated from direct function imports to namespace pattern for better organization
- Production Patterns: All examples now based on real implementation patterns from nodejs-playground
- Enhanced Error Handling: Added comprehensive error handling patterns for utilities
- Performance Optimizations: Streamlined utility functions for better performance
π¦ Updated Packages
@hydra-sdk/core@1.1.0@hydra-sdk/transaction@1.1.0@hydra-sdk/bridge@1.1.0
β οΈ Breaking Changes
- TimeUtils:
resolveSlotNo()deprecated - useunixTimeToEnclosingSlot()withSLOT_CONFIG_NETWORK - DatumSchema:
fromJSON()/toJSON()methods removed - useDatumSchema.Basic/DatumSchema.Detailedconstants - Serializer Import: Direct
serializeAssetUnitimport deprecated - useSerializer.serializeAssetUnit
Version 1.0.14 - September 24, 2025
π New Features
- Token Minting & Burning: Implemented comprehensive minting and burning functionality with policy scripts and datum utilities
- Plutus Schema Support: Added detailed schema support for Plutus datums in DatumSchema with enhanced type safety
- Policy Management: Added PolicyUtils for creating and managing minting policies with time-based constraints
- Native Token Operations: Full support for Cardano native token creation, metadata handling, and lifecycle management
π Documentation Updates
- Mint/Burn Guide: Added comprehensive bilingual guide for token minting and burning operations
- Code Examples: Included practical TypeScript examples for mint-burn-token operations
- Tutorial Content: Created step-by-step tutorials covering wallet setup, UTxO management, and transaction building
- Security Guidelines: Added security best practices and warnings for token operations
π οΈ Technical Improvements
- DatumUtils Enhancement: Expanded datum utilities with support for complex Plutus data structures
- Transaction Builder: Enhanced TxBuilder with native asset support and policy script integration
- WASM Integration: Improved Cardano WASM deserializer for handling complex transaction types
- Type Safety: Added comprehensive TypeScript types for Plutus scripts and native assets
π¦ Updated Packages
@hydra-sdk/core@1.0.14@hydra-sdk/transaction@1.0.14@hydra-sdk/bridge@1.0.14
Version 1.0.13 - September 22, 2025
οΏ½ New Features
- GitHub Actions Integration: Added comprehensive GitHub Actions workflow for automated building and testing
- Enhanced Contract Functionality: Implemented era summary retrieval and time-based constraints in unlock processes
- Network Utilities: Refactored network constants and added slot configuration utilities for improved time handling
π Bug Fixes
- Validity Range: Fixed validity range setup in transaction to correctly handle lower/upper bounds and serialization
- Time Utilities: Added TimeUtils to core for common time conversions and helpers
π Documentation Updates - September 23, 2025
- Vietnamese Documentation: Added complete Vietnamese translation for all documentation pages
- i18n Support: Implemented internationalization with language switcher (English/Vietnamese)
- Navigation Updates: Added 'Hydra Bridge' entry to navigation and glossary localization
- Change Logs Integration: Added 'Change Logs' link to documentation sidebar for better navigation
- Configuration Guide: Updated configuration examples to optimize polyfills (Buffer only, disable global/process)
- Documentation Links: Updated logo image paths and documentation links to reflect new SDK URLs
- License Update: Updated license from MIT to Apache 2.0 across documentation
- Support Links: Updated support banner link to point to the new funding page
οΏ½ Updated Packages
@hydra-sdk/core@1.0.13@hydra-sdk/transaction@1.0.13@hydra-sdk/bridge@1.0.13
Version 1.0.12 - September 18, 2025
π New Features
- GitHub Actions Integration: Added comprehensive GitHub Actions workflow for automated building and testing
- Enhanced Contract Functionality: Implemented era summary retrieval and time-based constraints in unlock processes
- Network Utilities: Refactored network constants and added slot configuration utilities for improved time handling
- Documentation Updates: Updated logo image paths and documentation links to reflect new SDK URLs
π Bug Fixes
- Validity Range: Fixed validity range setup in transaction to correctly handle lower/upper bounds and serialization
- Time Utilities: Added TimeUtils to core for common time conversions and helpers
π¦ Updated Packages
@hydra-sdk/core@1.0.13@hydra-sdk/transaction@1.0.13@hydra-sdk/bridge@1.0.13
Version 1.0.12 - September 18, 2025
π Major Improvements
- Transaction Builder: Complete implementation of transaction building and unlocking functionality with Plutus scripts
- Custom Signing: Implemented custom transaction signing functionality
- Script Enhancement: Enhanced TxBuilder with script data hash recalculation and updated redeemer builder
β‘ Performance Enhancements
- Redeemer Handling: Refactored redeemer handling in TxBuilder to use emptyRedeemer utility for improved clarity
- Execution Units: Added exUnits parameter to buildRedeemer and emptyRedeemer functions for customizable execution units
π Bug Fixes
- Transaction Builder Fixes:
- Updated descriptions for better clarity
- Fixed redeemer builder with more options and changed default exUnits
- Removed debug logs for cleaner output
- Fixed calculate script hash functionality
π¦ Updated Packages
@hydra-sdk/core@1.0.12@hydra-sdk/transaction@1.0.12@hydra-sdk/bridge@1.0.12
Version 1.0.11 - September 15, 2025
π Documentation & UI
- Version Badges: Added version badges to package navigation in documentation
- Code Examples: Updated code blocks in Vue.js example documentation for proper syntax highlighting
- Full App Examples: Added comprehensive React and Vue.js application examples
- Links Enhancement: Added links for Full React and Full Vue.js App examples
π§Ή Maintenance
- Dependencies: Removed chalk dependency from pnpm-lock.yaml
- Package Updates: Updated version numbers and changelogs for multiple packages
π¦ Updated Packages
@hydra-sdk/core@1.0.11@hydra-sdk/transaction@1.0.11@hydra-sdk/bridge@1.0.11
Version 1.0.10 & Earlier Versions
π§ Core Development Phase
- Unit Testing: Added comprehensive unit tests and demo code
- API Implementation: Implemented HexcoreApi and OgmiosApi classes
- Lock/Unlock Functionality: Added lock and unlock transaction functionality
- Connection Management: Updated HexcoreConnector to use new API endpoints
- Repository Migration: Updated all GitHub links to point to Vtechcom organization
- License: Added MIT License file
- Documentation: Created initial documentation for Hydra SDK packages
ποΈ Infrastructure Setup
- Build Scripts: Added build script for generating documentation
- Metadata Handling: Updated transaction metadata functionality
- Node.js Support: Implemented Node.js compatibility
- WebSocket Connector: Fixed auto connect with websocket connector
- Auth System: Enhanced auth page with version display and safety notice
π¦ Package History
- Multiple iterations of core packages (
@hydra-sdk/core,@hydra-sdk/transaction,@hydra-sdk/bridge) - Legacy packages migration from
@hydrawallet-sdk/*to@hydra-sdk/* - Configuration packages (
@hydra-sdk/tsconfig,@hydra-sdk/eslint-config) - Cardano WASM integration (
@hydra-sdk/cardano-wasm)
π Migration Notes
Package Naming Convention
Starting from version 1.0.5, all packages have been migrated from @hydrawallet-sdk/* to @hydra-sdk/* naming convention for better consistency.
Recommended Configuration (v1.0.13+)
For optimal performance, we recommend updating your Vite configuration:
Recommended Setup:
nodePolyfills({
include: ['buffer'], // β
Only include buffer polyfill
globals: {
Buffer: true, // β
Required for cryptographic operations
global: false, // β
Disabled for better performance
process: false // β
Disabled for better performance
}
})
Legacy Setup (still supported):
nodePolyfills({
globals: {
Buffer: true,
global: true, // β οΈ Not recommended but still works
process: true // β οΈ Not recommended but still works
}
})
Breaking Changes
- v1.1.0: Major TimeUtils API changes -
resolveSlotNo()deprecated, useunixTimeToEnclosingSlot()withSLOT_CONFIG_NETWORK - v1.1.0: DatumSchema API simplified - removed
fromJSON()/toJSON()methods, use constants only - v1.1.0: Serializer imports - use namespace exports
Serializer.serializeAssetUnit()instead of direct imports - v1.0.14: Added mint/burn token functionality with new DatumUtils and PolicyUtils structures
- v1.0.13: License change from MIT to Apache 2.0 (documentation only)
- v1.0.12: Updated redeemer builder interface with new exUnits parameter
- v1.0.11: Changed transaction validity range handling
- v1.0.10: Repository URLs updated to Vtechcom organization
π Package Overview
| Package | Current Version | Description |
|---|---|---|
@hydra-sdk/core | 1.4.1 | Core library for building decentralized applications |
@hydra-sdk/transaction | 1.2.0 | Transaction building and management utilities |
@hydra-sdk/bridge | 1.3.2 | Bridge functionality for wallet connections |
@hydra-sdk/cardano-wasm | 1.0.0 | Cardano WASM bindings and utilities |
@hydra-sdk/tsconfig | 0.0.4 | Shared TypeScript configuration |
@hydra-sdk/eslint-config | 0.0.4 | Shared ESLint configuration |
π Links & Resources
- GitHub Repository: https://github.com/Vtechcom/hydra-sdk
- Documentation: https://hydrasdk.com
- npm Registry: @hydra-sdk packages Β· @hydra-sdk/core
- Discord: Join the community
- Telegram: Join the group
- X: @VtechcomLabs
Change logs are automatically generated based on Git history and semantic versioning. For detailed commit information, please refer to the GitHub repository.
