feat: Release version 1.0.0 - Production-ready stable release#38
Conversation
- Bump version from 0.9.0 to 1.0.0 - Add comprehensive CHANGELOG.md documenting features and roadmap - Remove INAV from crates.io description (Betaflight/EmuFlight only) - Update README.md and OVERVIEW.md to reflect supported firmware - Whitelist CHANGELOG.md in .gitignore for version control - Verified all mandatory checks: format, clippy, tests, build - Ready for crates.io publishing with CARGO_REGISTRY_TOKEN secret
📝 WalkthroughWalkthroughBumps package version to 1.0.0, adds a comprehensive Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🧰 Additional context used🧠 Learnings (4)📓 Common learnings📚 Learning: 2025-12-08T21:15:02.434ZApplied to files:
📚 Learning: 2025-12-19T21:17:26.889ZApplied to files:
📚 Learning: 2025-08-29T19:55:43.912ZApplied to files:
🪛 LanguageToolCHANGELOG.md[grammar] ~40-~40: Ensure spelling is correct (QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1) [grammar] ~93-~93: Ensure spelling is correct (QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1) ⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
OVERVIEW.md (1)
116-116: Inconsistent INAV reference not removed.Line 116 still mentions "Betaflight, EmuFlight, INAV support" which contradicts the PR objective to remove INAV references and is inconsistent with the updates made to Line 29, README.md Line 5, and Cargo.toml Line 7.
🔎 Proposed fix
-- **Firmware Compatibility:** Betaflight, EmuFlight, INAV support +- **Firmware Compatibility:** Betaflight, EmuFlight support
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
Cargo.lockis excluded by!**/*.lock
📒 Files selected for processing (5)
.gitignoreCHANGELOG.mdCargo.tomlOVERVIEW.mdREADME.md
🧰 Additional context used
📓 Path-based instructions (3)
Cargo.toml
📄 CodeRabbit inference engine (AGENTS.md)
Cargo.toml: CLI uses feature flagcliand entry point is built via default features or explicit--features=cli
Feature flagscsv,cli,json,serdecontrol optional dependencies; default:csv+cli
All feature combinations must compile without errors
Files:
Cargo.toml
README.md
📄 CodeRabbit inference engine (AGENTS.md)
Maintain a proper
README.mdfile
Files:
README.md
OVERVIEW.md
📄 CodeRabbit inference engine (AGENTS.md)
Maintain a proper
OVERVIEW.mdfile
Files:
OVERVIEW.md
🧠 Learnings (16)
📓 Common learnings
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 0
File: :0-0
Timestamp: 2025-12-08T21:15:02.434Z
Learning: Repo nerdCopter/bbl_parser: For outside-diff review notes, prefer a compact, single-block comment with flat bullets (file:line → note), no nested <details> or admonitions; overflow should be linked via gist. Maintainer: nerdCopter.
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 2
File: README.md:0-0
Timestamp: 2025-08-29T19:55:43.912Z
Learning: nerdCopter updated the bbl_parser project license from GPL-3.0-or-later to AGPL-3.0-or-later across all repository files (Cargo.toml, LICENSE, README.md) for consistency with the dual-licensing approach that includes a commercial license option.
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 0
File: :0-0
Timestamp: 2025-12-08T21:15:02.434Z
Learning: For bbl_parser reviews: nerdCopter prefers compact, single-block “outside diff” comments without nested <details> or admonitions; use flat bullets with file:line references and link a gist for overflow.
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 2
File: LICENSE_COMMERCIAL:1-4
Timestamp: 2025-08-29T19:52:05.099Z
Learning: nerdCopter prefers to avoid publishing personal information in license files for privacy and security reasons, as they are an individual maintainer rather than a company.
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 2
File: README.md:520-521
Timestamp: 2025-08-29T19:53:41.354Z
Learning: nerdCopter uses AGPL-3.0-or-later licensing for the bbl_parser project with a dual-licensing approach that includes a separate commercial license option.
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 2
File: CONTRIBUTING.md:9-14
Timestamp: 2025-08-21T20:25:45.741Z
Learning: nerdCopter prefers to keep CLA language general using "project maintainer" rather than specifying a legal entity name, as they are an individual maintainer without an associated company.
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 2
File: LICENSE_COMMERCIAL:0-0
Timestamp: 2025-08-29T20:15:04.624Z
Learning: nerdCopter prefers clear positive indicators (✅) when describing fixes rather than using ❌ symbols which can be confusing when describing what was corrected in a positive context.
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/lib.rs : Public API must include: `parse_bbl_file()`, `parse_bbl_bytes()`, `BBLLog`, `ExportOptions`, `export_to_csv()`, `export_to_gpx()`, `export_to_event()`, conversion utilities, parser helpers
Applied to files:
CHANGELOG.mdCargo.tomlREADME.md
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/main.rs : CLI (`src/main.rs`) uses library export functions (`export_to_csv`, `export_to_gpx`, `export_to_event`) with CLI-specific status messages as thin wrapper with zero public functions
Applied to files:
CHANGELOG.md
📚 Learning: 2025-12-08T21:15:02.434Z
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 0
File: :0-0
Timestamp: 2025-12-08T21:15:02.434Z
Learning: Repo nerdCopter/bbl_parser: For outside-diff review notes, prefer a compact, single-block comment with flat bullets (file:line → note), no nested <details> or admonitions; overflow should be linked via gist. Maintainer: nerdCopter.
Applied to files:
CHANGELOG.mdREADME.md
📚 Learning: 2025-08-29T19:55:43.912Z
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 2
File: README.md:0-0
Timestamp: 2025-08-29T19:55:43.912Z
Learning: nerdCopter updated the bbl_parser project license from GPL-3.0-or-later to AGPL-3.0-or-later across all repository files (Cargo.toml, LICENSE, README.md) for consistency with the dual-licensing approach that includes a commercial license option.
Applied to files:
CHANGELOG.mdCargo.toml
📚 Learning: 2025-12-08T21:15:02.434Z
Learnt from: nerdCopter
Repo: nerdCopter/bbl_parser PR: 0
File: :0-0
Timestamp: 2025-12-08T21:15:02.434Z
Learning: For bbl_parser reviews: nerdCopter prefers compact, single-block “outside diff” comments without nested <details> or admonitions; use flat bullets with file:line references and link a gist for overflow.
Applied to files:
README.md
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/**/*.rs : BEFORE ANY CODE CHANGES: Run `cargo fmt --all -- --check` to ensure formatting compliance
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/**/*.rs : BEFORE ANY CODE CHANGES: Run `cargo clippy --all-targets --all-features -- -D warnings` to catch all issues
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to OVERVIEW.md : Maintain a proper `OVERVIEW.md` file
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Only commit files: `src/**/*.rs`, `Cargo.*`, `README.md`, `OVERVIEW.md`, `.gitignore`, and `.github/**`; never use `git add .` or `git add -A`; follow `.gitignore`
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/{lib.rs,parser/**/*.rs,export.rs} : Core logic in `src/lib.rs` with parser modules (`src/parser/`) and export functions (`src/export.rs`) shared by both library and CLI
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/**/*.rs : ALWAYS run `cargo fmt --all` after making ANY code changes before moving to next steps
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/**/*.rs : Code must pass `cargo fmt --all -- --check` without any formatting issues
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/**/*.rs : Only commit if: `cargo clippy --all-targets --all-features -- -D warnings`, `cargo fmt --all -- --check`, `cargo test --verbose`, `cargo test --features=cli --verbose`, and `cargo build --release` all pass with no errors or warnings
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/**/*.rs : Ensure `cargo build --release` has no errors or warnings
Applied to files:
.gitignore
📚 Learning: 2025-12-19T21:17:26.889Z
Learnt from: CR
Repo: nerdCopter/bbl_parser PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-19T21:17:26.889Z
Learning: Applies to src/**/*.rs : After running `cargo fmt --all`, ALWAYS verify with `cargo fmt --all -- --check` before proceeding
Applied to files:
.gitignore
🪛 LanguageTool
CHANGELOG.md
[grammar] ~40-~40: Ensure spelling is correct
Context: ...rformance - Efficiently processes large blackbox logs via streaming architecture - Teste...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
[grammar] ~93-~93: Ensure spelling is correct
Context: ... ensures compatibility with established blackbox format specifications while providing t...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Test (windows-latest)
🔇 Additional comments (9)
README.md (1)
5-5: LGTM!The removal of INAV from the supported firmware list is clear and aligns with the PR objectives and Cargo.toml description update.
.gitignore (1)
9-9: LGTM!Adding CHANGELOG.md to the root whitelist is appropriate for tracking release notes in version control. The placement follows the existing pattern in the file.
Cargo.toml (2)
3-3: LGTM!Version bump from 0.9.0 to 1.0.0 is appropriate for the first stable production release as described in the PR objectives.
7-7: LGTM!Description update correctly removes INAV and now states "Parser for Betaflight/EmuFlight blackbox log files" which is consistent with README.md Line 5 and OVERVIEW.md Line 29.
CHANGELOG.md (5)
1-7: LGTM!The changelog header follows the Keep a Changelog format and properly references Semantic Versioning, which is appropriate for a 1.0.0 stable release.
8-20: LGTM!The initial features list is comprehensive and accurately describes the major capabilities of the 1.0.0 release, including the BBL parser, library API, export formats, and CLI functionality.
22-31: LGTM!The remaining features in the Added section accurately describe the unit conversions, test coverage, documentation, and CI/CD capabilities of the release.
32-43: LGTM!The Technical Highlights and Performance sections provide valuable context about the implementation approach and performance characteristics of the parser.
50-101: LGTM!The remaining sections (Documentation, Future Roadmap, Known Limitations, Acknowledgments, and Version History) are well-structured and provide comprehensive information about the project's current state and future direction.
- CHANGELOG.md (lines 46, 274): Remove INAV from firmware compatibility - OVERVIEW.md (lines 116, 274): Remove INAV from firmware support statements Ensures consistency across Cargo.toml, README.md, OVERVIEW.md, and CHANGELOG.md which now all declare support for Betaflight and EmuFlight only.
INAV compatibility verified via comprehensive testing: - 6 INAV files tested (142,734 frames, 18 flight logs) - RUST parser: 100% success rate - Exceeds external decoders (handles INAV 7.1.0 that fails elsewhere) - All INAV versions supported (4.0.0, 4.1.0, 7.1.0, 8.0.0) Restored references to Cargo.toml, README.md, OVERVIEW.md, CHANGELOG.md
Comprehensive compatibility testing validates support for Betaflight 4.0 through 4.5.x (6+ years of releases): - Tested: 4.0.2 (2019), 4.1.1 (2020), 4.3.x (2022), 4.4.x-4.5.x (2023+) - Result: 100% success rate across 60+ flight logs - CSV export verified working on all tested versions - Multi-log handling consistent across versions Removed overly-conservative version limitation.
Overview
Release bbl_parser v1.0.0 — the first stable production release.
Changes
CHANGELOG.mddocumenting features, roadmap, and acknowledgmentscargo fmt --all -- --checkcargo clippy --all-targets --all-features -- -D warningscargo test --verbose(62 unit tests pass)cargo build --release(no errors/warnings)Release Readiness
This release includes:
Next Steps (Post-Merge)
CARGO_REGISTRY_TOKENin repository settingsv1.0.0Acceptance Criteria
Summary by CodeRabbit
Chores
Documentation
Updates
Maintenance
✏️ Tip: You can customize this high-level summary in your review settings.