Skip to content

v0.8.0

@CodingAnarchy CodingAnarchy tagged this 27 Jun 14:20
### Major Features Added
- **Job Result Storage**: Store and retrieve job execution results with TTL support
  - ResultStorage enum (Database/Memory/None) for flexible storage strategies
  - JobHandlerWithResult type for handlers returning result data
  - Automatic result storage in worker processing loop
  - TTL support with automatic expiration and cleanup
  - Comprehensive test coverage and examples

- **Simplified Migration System**: Cargo subcommand-only approach
  - cargo hammerwork migrate/status commands for schema management
  - 6 versioned migrations covering Hammerwork evolution (v0.1.0-v0.8.0)
  - Database-specific optimizations (PostgreSQL JSONB vs MySQL JSON)
  - Migration tracking table for execution history

### Breaking Changes
- Removed create_tables() and run_migrations() methods from DatabaseQueue
- Removed standalone migrate binary
- All examples now require running cargo hammerwork migrate first
- Database setup exclusively via cargo subcommand for cleaner separation

### Enhanced Architecture
- Split monolithic queue.rs into separate PostgreSQL/MySQL modules
- Cleaner DatabaseQueue trait focused on job operations only
- Production-ready workflow: migrations during deployment, not startup
- Standard Rust ecosystem practices with cargo subcommand

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Assets 2
Loading