# 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] - 2024-11-14

### Added
- Initial release of ODIN Market Feed SDK
- WebSocket connection with SSL/TLS support
- Touchline market data subscription
- Best Five quotes subscription
- Automatic compression using zlib
- Packet fragmentation and defragmentation
- Auto-reconnection with configurable retry logic
- Comprehensive error handling and validation
- Full TypeScript support with type definitions
- Client state management
- Event-based architecture
- Configurable buffer sizes
- Complete documentation and examples

### Features
- `ODINMarketFeedClient` - Main client class
- `connect()` - Establish WebSocket connection
- `disconnect()` - Graceful disconnection
- `subscribeTouchline()` - Subscribe to touchline data
- `unsubscribeTouchline()` - Unsubscribe from touchline data
- `subscribeBestFive()` - Subscribe to best five quotes
- `unsubscribeBestFive()` - Unsubscribe from best five quotes
- `sendMessage()` - Send raw messages
- Event handlers: `onOpen`, `onMessage`, `onError`, `onClose`
- Connection state tracking
- Automatic message parsing
- Input validation for hosts, ports, and tokens

### Documentation
- Comprehensive README with usage examples
- API reference documentation
- Basic and advanced usage examples
- Best practices guide

## [Unreleased]

### Planned
- Rate limiting support
- Message queuing
- Heartbeat/ping-pong mechanism
- Enhanced logging capabilities
- Performance metrics
- Unit tests and integration tests
- CI/CD pipeline
