promptparse 1.1.0

All-in-one Rust library for PromptPay & EMVCo QR Codes
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).

## [1.1.0] - 2025-12-15


### Added

- Implement auto fix bad CRC for slip verify validator
- Added BCEL OneProof validator

## [1.0.1] - 2025-09-08


### Documentation

- Updated README keywords to include `"truemoney"` and remove `"qr"` for better search relevance

## [1.0.0] - 2025-09-07


### Added

- Initial Rust port of [maythiwat/promptparse]https://github.com/maythiwat/promptparse v1.4.0
- Complete feature parity with TypeScript implementation
- **Parse** - PromptPay & EMVCo QR Code data strings into structs
- **Generate** - QR Code data from templates:
    - PromptPay AnyID (mobile number, National ID, Tax ID)
    - PromptPay Bill Payment with references
    - TrueMoney Wallet QR codes with messages
    - Slip Verify QR codes (Mini-QR for transaction verification)
    - BOT Barcode generation and conversion
- **Validate** - Checksum validation and data structure verification
- **Convert** - BOT Barcode to PromptPay QR Tag 30 conversion
- Comprehensive error handling with `PromptParseError`
- Full test suite ported from original implementation
- Extensive documentation and examples

### Technical Details

- Zero external dependencies
- Memory-safe implementation with Rust's ownership model
- Type-safe API with compile-time guarantees
- Cross-platform compatibility
- Performance optimizations over original implementation

### Documentation

- Complete README with usage examples
- Inline API documentation
- Working examples in `examples/` directory
- Proper attribution to original TypeScript library

## Original TypeScript Implementation


This Rust port is based on [promptparse](https://github.com/maythiwat/promptparse) by Maythiwat Chomchuen.

### Original Features Ported

- All QR code parsing and generation functionality
- All validation and verification features
- All test cases and expected behaviors
- Complete API compatibility (adapted for Rust idioms)

### Rust-Specific Improvements

- Compile-time type safety
- Memory safety guarantees
- Better error handling with `Result<T, E>`
- Zero-cost abstractions
- No runtime dependencies