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
1
Update HermisProvider Props (if using)
If you’re using HermisProvider, update prop names:
- Change
rpcEndpointtoendpoint - Change
additionalAdapterstowallets
2
Optionally Adopt Kit Architecture
Start using Kit features where beneficial - access Kit-specific properties from
useWallet()3
Upgrade Error Handling
Implement enhanced error handling with the new
@hermis/errors package4
Test Your Application
Test all wallet operations to ensure everything works correctly
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:
