# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2025-10-01

### Added
- Initial release of @tiwiflix/wallet-connector
- Support for 16 different wallet providers across 4 blockchain ecosystems
- **EVM Wallets:**
  - MetaMask
  - Trust Wallet
  - Bitget Wallet
  - Base Wallet (formerly Coinbase Wallet)
  - Atomic Wallet
  - SafePal
  - Rabby
  - Exodus
  - WalletConnect
- **Solana Wallets:**
  - Solflare
  - Phantom
- **TON Wallets:**
  - Tonkeeper
  - Ton Hub
  - MyTonWallet
- **Tron Wallets:**
  - TronLink
  - Klever
- Core Features:
  - Unified API for all wallet interactions
  - Auto-connect functionality
  - Event system for wallet state changes
  - TypeScript support with full type definitions
  - Persistent connection storage
  - Error handling and recovery
- Base adapter classes for custom wallet implementations
- Comprehensive documentation and examples
- React component examples
- Full test coverage preparation

### Developer Experience
- TypeScript support with strict typing
- Optional peer dependencies for unused chains
- Clean, modular architecture
- Extensible adapter system
- Event-driven architecture
- Browser and Node.js compatible

## [1.0.3] - 2025-01-01

### Added
- React `ConnectButton` component now properly exported
- `ConnectButtonProps` type exported for TypeScript users
- React and React-DOM as peer dependencies
- Comprehensive examples for:
  - Quick start setup
  - Basic usage
  - Complete feature demo
  - Next.js integration
  - Vite + React integration
- Examples README with usage documentation

### Fixed
- Corrected ConnectButton import path (now exports from root)
- Added React externalization in Rollup config
- Fixed TypeScript declarations for React components
- Resolved build warnings for react/jsx-runtime

### Changed
- Updated all examples to use correct import syntax
- Improved TypeScript definitions for ConnectButton

## [1.0.2] - 2025-10-01

### Added
- WalletConnect adapter for EVM chains
- Balance fetching capabilities
- TWC token balance support

## [1.0.4] - 2025-10-31

### Fixed
- All modals (connect, details, activity, swap, send) now properly centered in the middle of the screen
- Modal positioning respects the `modalPosition` prop with proper centering when set to 'center'
- Improved modal styling for centered display with proper margins and positioning

## [Unreleased]

### Planned Features
- React hooks package (@tiwiflix/wallet-connector-react)
- Vue.js integration
- Mobile wallet support (Wallet Connect mobile linking)
- Hardware wallet support (Ledger, Trezor)
- Additional wallet providers
- Transaction building utilities
- Network switching utilities
- Multi-account support
- Wallet balance queries
- Transaction history

---

## How to Update This Changelog

### Version Numbering
- **MAJOR** version for incompatible API changes
- **MINOR** version for backwards-compatible functionality
- **PATCH** version for backwards-compatible bug fixes

### Categories
Use these categories for changes:
- `Added` - New features
- `Changed` - Changes in existing functionality
- `Deprecated` - Soon-to-be removed features
- `Removed` - Removed features
- `Fixed` - Bug fixes
- `Security` - Security improvements

### Example Entry
```markdown
## [1.1.0] - 2025-10-15

### Added
- Support for Rainbow Wallet
- Network switching functionality

### Fixed
- MetaMask detection issue on Firefox
- Memory leak in event listeners

### Changed
- Improved error messages
- Updated dependencies
```

