- Rename the repository to bd.
- Reorganize folders.
- Change DataSource trait to Read+Seek traits combination?
- Failure instead of block-chain
- Check for no unsafe code (#![forbid(unsafe_code)])
- #![no_std] ?
- WebAssembly/wasm32 support? WASM plugins?
- Return slices (&[u8]) pointing to the original data instead of copying this information in data slice/source traits
-
Version 0.1.0: Basic structures
- generic template - flexible structure
- generic structure - fixed structure (custom derived macros (1.1) for a fixed Rust structures and types)
- POD - char, short, int, float, string with counter
- array
- 0-terminated string
-
Version 0.2.0: Attributes
- decimal system (hex, dec, ...)
- endian (little, big)
- to_string
- block/block value validation
-
Version 0.3.0: CI support/Testing/Documentation
- Add tests
- Add rust-skeptic support
- Travis support
- AppVeyor support
- Update documentation and README.md
-
Version 0.4.0: Dynamic templates
- Data template declaration (based on macros).
- Dynamic templates (compiled into dynamically linked libraries).
- Containers - sized block of data that can be initialized/parsed by other template(s). Container can be initialized with more than one template. In this case there will be several parallel block trees.
-
Version 0.5.0: CLI
- Command line interface (separate repository: bd_cli).
-
Version 0.6.0
- Lua templates.
- LuaJit support?
-
Version 0.7.0: GUI (Qt - C++)
- GUI (separate repository: bd_qt): reuse existing Qt implementation from the C++ code. Generate FFI interface to access it from the C++ side.