# 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).

## [0.0.1] - 2026-04-08

### Added
- `StateMachine<S, E>` generic class supporting fully custom state and event types
- `DeliveryStateMachine` pre-configured class for food delivery and logistics
- Built-in `DeliveryState` and `DeliveryEvent` union types with 10 states and 10 events
- `dispatch(event, metadata?)` for triggering transitions
- `can(event)` and `availableEvents()` for guarding UI actions
- `isTerminal()` and `isActive()` lifecycle helpers
- `onTransition`, `onEnter`, `onExit` async lifecycle hooks
- Transition history with timestamps and metadata
- `toJSON()` and `fromSnapshot()` for DB/Redis persistence
- Custom transition map overrides and merging
- Dual CJS and ESM build outputs
- TypeScript declaration files
- Zero runtime dependencies