Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
b9459fe
Implement FastBinaryWriter
pro100andrey Dec 15, 2025
f3f539d
Enhance BinaryWriter performance tests and refactor for consistency
pro100andrey Dec 22, 2025
309f054
wip
pro100andrey Dec 22, 2025
cdd1586
cleanup
pro100andrey Dec 22, 2025
8a08880
Enhance documentation for BinaryReader and BinaryWriter with detailed…
pro100andrey Dec 25, 2025
e597bf5
Refactor VarInt methods to clarify unsigned and signed usage in Binar…
pro100andrey Dec 25, 2025
cce071f
feat: Introduce VarBytes and VarString methods in BinaryWriter and Bi…
pro100andrey Dec 25, 2025
8df2550
refactor: Rename test descriptions for clarity in BinaryReader and Bi…
pro100andrey Dec 25, 2025
c24c16a
refactor: Update internal state variable names in BinaryReader and Bi…
pro100andrey Dec 25, 2025
e9fe2ae
feat: Add read and write methods for boolean values in BinaryReader a…
pro100andrey Dec 26, 2025
f64068f
feat: Add tests for BinaryReader and BinaryWriter to validate error h…
pro100andrey Dec 26, 2025
f1ca0f4
feat: Add tests for BinaryReader to validate error handling for VarUi…
pro100andrey Dec 26, 2025
a89c050
feat: Enhance BinaryWriter with offset and length validation in write…
pro100andrey Dec 26, 2025
859c71f
feat: Optimize VarInt and VarUint encoding in BinaryWriter and add co…
pro100andrey Dec 29, 2025
1964bbf
feat: Improve error handling in BinaryReader and BinaryWriter, update…
pro100andrey Dec 30, 2025
2fd88ba
feat: Add BinaryWriterPool with statistics and tests for pool behavio…
pro100andrey Dec 30, 2025
6478a06
fix: Update documentation for BinaryWriterPool to correct reference f…
pro100andrey Dec 30, 2025
6ce0e65
Refactor code structure for improved readability and maintainability
pro100andrey Dec 30, 2025
e076b44
Add benchmarks for binary reader operations
pro100andrey Dec 30, 2025
9026074
Add performance benchmarks for binary writing operations
pro100andrey Jan 2, 2026
0708983
wip
pro100andrey Jan 2, 2026
e6f462f
Refactor benchmarks to remove initial buffer size and increase test i…
pro100andrey Jan 2, 2026
bd52597
Refactor float handling in tests and benchmarks to use shorthand nota…
pro100andrey Jan 6, 2026
eae5989
Add edge case tests for VarInt and VarUint in BinaryWriter and Binary…
pro100andrey Jan 6, 2026
0f5175f
Refactor tests and benchmarks for clarity and consistency
pro100andrey Jan 7, 2026
09e941e
Enhance BinaryWriter: Add capacity management features and tests for …
pro100andrey Jan 7, 2026
7fae21e
Add constants for max and min Int64 values for native and web platforms
pro100andrey Jan 8, 2026
172412d
Enhance BinaryWriterPool: Add performance counters and tests for pool…
pro100andrey Jan 8, 2026
36491c3
Enhance BinaryWriter and BinaryReader: Add new methods for variable-l…
pro100andrey Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ jobs:
run: dart analyze --fatal-infos

- name: Run tests
run: dart test
run: dart test -x benchmark

- name: Run tests with coverage
if: matrix.os == 'ubuntu-latest' && matrix.sdk == 'stable'
run: |
dart pub global activate coverage
dart pub global run coverage:test_with_coverage
dart pub global run coverage:test_with_coverage -- -x benchmark

- name: Upload coverage to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.sdk == 'stable'
Expand Down
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,32 @@
## 3.0.0

**Improvements:**

- **feat**: New methods and properties
- `BinaryWriterPool` for reusing `BinaryWriter` instances
- `getUtf8Length(String)` to calculate UTF-8 byte length without encoding
- `writeVarString(String)` and `readVarString()` for variable-length string encoding
- `writeBool` and `readBool` methods for boolean values
- `writeVarUint` and `readVarUint` for variable-length unsigned integers
- `writeVarInt` and `readVarInt` for variable-length signed integers
- `writeVarBytes` and `readVarBytes` for variable-length byte arrays
- Navigation methods in `BinaryReader`: `peekBytes()`, `skip()`, `seek()`, `rewind()`, and `reset()`
- **docs**: Comprehensive documentation overhaul
- Added detailed API documentation with usage examples for all methods
- Documented `writeVarString()`, `readVarString()`, and `getUtf8Length()`
- Included performance notes and best practices
- Added inline comments explaining complex encoding algorithms
- **test**: Expanded test suite
- Coverage for all new methods and edge cases
- Performance benchmarks for encoding/decoding functions
- Validation tests for UTF-8 handling and error scenarios
- **improvement**: Refactored internal codebase
- Improved modularity and readability
- Enhanced error handling with descriptive messages
- Optimized buffer management for better performance

- **fix**: Resolved known issues

## 2.2.0

**test**: Added integration tests for new error handling features
Expand Down
Loading