Overview
Version 2 of Hermis adds major new features while maintaining compatibility with existing code. This release introduces @solana/kit support, enhanced error handling, and standardizes provider interfaces.What’s New
1. @solana/kit Architecture Support
V2 adds full support for @solana/kit alongside @solana/web3.js. Here’s how Hermis simplifies Kit transaction creation:createKitTransaction?
- 70% less boilerplate - No pipe pattern or nested callbacks
- Automatic blockhash fetching - One less async call to manage
- Batch instruction handling - Pass multiple instructions as array
- Dual architecture support - Works with web3.js Connection or Kit Rpc
- Beginner-friendly - Imperative style, easier to understand
- Dual architecture support - use web3.js OR Kit in the same app
- Automatic transaction type detection
- Kit-friendly wallet properties (
transactionSigner,messageSigner,address) - Helper utilities for Kit development
2. Enhanced Error Handling
New@hermis/errors package with structured error codes:
3. New Utility Hooks
Additional hooks for common operations:4. Wallet Standard Compliance
Improved wallet detection with CAIP-2 compliant chain identifiers:- ✅
solana:mainnet - ✅
solana:devnet - ✅
solana:testnet
Breaking Changes (Pre-Release Users Only)
If you were using HermisProvider in early/pre-release versions, the following props were renamed for consistency:HermisProvider Props Standardized
To matchWalletProvider interface and follow web3.js conventions:
rpcEndpoint→endpoint(matches web3.jsConnectionpattern)additionalAdapters→wallets(matchesWalletProviderinterface)
Migration Steps
Update HermisProvider Props (if using)
If you’re using HermisProvider, update prop names:
- Change
rpcEndpointtoendpoint - Change
additionalAdapterstowallets
Optionally Adopt Kit Architecture
Start using Kit features where beneficial - access Kit-specific properties from
useWallet()Example: Before and After
Using HermisProvider
Using WalletProvider
No changes needed - WalletProvider interface is unchanged:New Features Deep Dive
Dual Architecture Support
All transaction methods now support both architectures automatically:Kit-Friendly Properties
New properties added touseWallet() hook for Kit development:
Helper Utilities
New Kit helper functions:Backwards Compatibility
All existing web3.js code continues to work without modificationNeed Help?
GitHub Discussions
Ask questions and get help from the community
Report Issues
Report bugs or migration issues
API Reference
Explore the complete API documentation
Kit Guide
Learn about Kit architecture support
