rocksmap 0.1.0

A high-level, type-safe abstraction over RocksDB with zero unsafe code and ergonomic map-like APIs
Documentation
# 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.1.0] - 2025-08-12

### Added

#### Core Features

- **Type-safe RocksMap abstraction** with generics support (`RocksMap<K, V>`)
- **Zero unsafe code** - built entirely on safe Rust abstractions
- **Pluggable serialization** via `KeyCodec` and `ValueCodec` traits
- **Default bincode serialization** with serde support
- **Ergonomic map-like API** (`get`, `put`, `delete`, `iter`)
- **Column family support** for namespaced data organization
- **Comprehensive error handling** with rich error types and context

#### Advanced Features

- **Batch operations** - atomic multi-key transactions
- **TTL support** - automatic key expiration with compaction
- **Range queries** - efficient key range scanning
- **Prefix scanning** - optimized prefix-based iteration
- **Secondary indexes** - optional indexing layer for complex queries

#### CLI and Tooling

- **Full-featured CLI** (`rocksmap-cli`) with comprehensive command set
- **CRUD operations** - put, get, delete, list, scan
- **Database administration** - stats, compaction, backup tools
- **Import/export utilities** - JSON, CSV, and binary format support
- **Diagnostic tools** - database analysis, integrity checks, benchmarking
- **Interactive shell mode** - REPL-style database interaction
- **Multiple output formats** - JSON, CSV, and table formatting

#### Developer Experience

- **Comprehensive test suite** - 100% test coverage for core features
- **Performance benchmarks** - criterion-based benchmarking suite
- **Rich documentation** - API docs, usage examples, CLI guides
- **Memory safety** - all operations are memory-safe with proper lifetime management

### Technical Details

#### Architecture

- Built on top of RocksDB 0.21.0
- Uses serde 1.0 for serialization
- Clap 4.4 for CLI argument parsing
- Anyhow for error handling with context
- Criterion for performance benchmarking

#### Performance

- **Put operations**: ~7.1 µs average latency
- **Get operations**: ~1.3 µs average latency  
- **Batch operations**: ~21.3 µs for 10-key batches
- **Memory efficient**: Zero-copy operations where possible
- **Optimized iteration**: Efficient prefix and range scanning

#### Safety and Reliability

- **Zero unsafe code** - all operations use safe Rust abstractions
- **Comprehensive error handling** - all failure modes properly handled
- **Memory safety** - proper lifetime management and borrow checking
- **Data integrity** - atomic operations and consistency guarantees