Skip to content

Latest commit

 

History

History
36 lines (32 loc) · 2.63 KB

File metadata and controls

36 lines (32 loc) · 2.63 KB

TODO List for LnMessagepack

Note: Currently ln-messagepack is pre-release until we finish Priority 3.

Priority 1 (Critical/Blocking)

  1. Implement float encoding/decoding Currently panics with "float encoding not implemented" | Done
  2. Remove unsafe operations Replace get! and String.fromUTF8! with safe alternatives that return Option/Except | Done
  3. Add better error handling Replace generic error strings with structured error types
  4. Fix potential buffer overflows Add bounds checking for all byte array operations | Done

Priority 2 (Important for Production)

  1. Implement streaming parser Avoid loading entire payload into memory for large data
  2. Add memory efficient encoding Replace array concatenation with buffer based approach
  3. Implement all timestamp formats Support 32 bit, 64 bit, and 96 bit timestamp extensions per spec
  4. Add input validation Validate UTF 8 strings, check for malformed data, prevent denial of service
  5. Performance optimization Profile and optimize hot paths, consider zero copy parsing where possible

Priority 3 (Quality of Life)

  1. Improve error messages Include byte offsets, expected vs actual values, context information
  2. Add fuzzing tests Generate random inputs to catch edge cases and crashes
  3. Implement remaining MessagePack types Add support for any missing format codes
  4. Add benchmarks comparison Compare against other MessagePack implementations
  5. Memory usage profiling Track and optimize memory allocation patterns

Priority 4 (Nice to Have)

  1. Add schema validation Optional runtime type checking for decoded values
  2. Implement custom extension types Generic framework for user defined extensions beyond timestamps
  3. Add pretty printing improvements Better formatting for nested structures, truncation for large data
  4. Create more comprehensive examples Real world usage patterns, integration examples
  5. Add documentation generation API docs, usage guides, performance characteristics
  6. Consider async/streaming API For integration with IO heavy applications

Priority 5 (Future Enhancements)

  1. Cross language compatibility testing Verify interop with other MessagePack implementations
  2. Add compression support Optional compression layer for large payloads
  3. Implement map key constraints Enforce string only keys or other application specific rules
  4. Add serialization versioning Handle schema evolution gracefully
  5. Create language bindings C FFI or other language interfaces if needed