chore: bump version to 2.3.0 (minor)#753
Conversation
Minor bump. Picks up: - #747 native fbuild as raw wheel script (drops Python launcher; fixes Windows stdout-ordering bug on COM25 303A:1001 USB Serial Device (COM25) ser=80:F1:B2:D1:DF:B1 └─ Espressif Systems / ESP32-S3 USB-CDC COM1 [Unknown] └─ (no USB identifier — Unknown endpoint) COM3 [Unknown] └─ (no USB identifier — Unknown endpoint) COM22 303A:1001 USB Serial Device (COM22) ser=D8:3B:DA:41:64:C0 └─ Espressif Systems / ESP32-S3 USB-CDC COM4 [Unknown] └─ (no USB identifier — Unknown endpoint) COM9 303A:1001 USB Serial Device (COM9) ser=8C:BF:EA:CF:87:B4 └─ Espressif Systems / ESP32-S3 USB-CDC COM20 16C0:0483 USB Serial Device (COM20) ser=15821020 └─ Van Ooijen Technische Informatica / Teensyduino Serial COM10 1FC9:0132 USB Serial Device (COM10) ser=0B03400A └─ NXP Semiconductors / LPC-Link2 CMSIS-DAP 5 USB ports, 3 non-USB ports) - #748 src-layout package-dir (static analyzers resolve fbuild.api) - #750 daemon WS handler split into reader/writer/inbound - #751 gitignore .extern-repos/ - #752 cargo fmt + extract test modules so 4 files fall under the 1000-LOC gate No public-API changes beyond what's already documented in the merged PRs above. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 16 minutes and 57 seconds. Learn how PR review limits work. Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file). ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
…loses #757) (#762) Adds 4 unit tests inside the existing `crates/fbuild-daemon/src/handlers/websockets.rs` test module: * `reader_control_drain_reports_drop_count` — exercises the `ReaderControl::Drain` round-trip through a toy reader that mirrors the production reader's `tokio::select! { biased; ... }` loop. Proves the oneshot reply IS a real count <= events sent. * `reader_control_get_depth_reports_broadcast_length` — same for `ReaderControl::GetDepth`. * `writer_coalesces_adjacent_data_into_one_frame` — exercises the writer-batching contract: 5 adjacent `Data` messages coalesce into 1 `Data` with 5 lines and the latest `current_index`. * `writer_flushes_data_before_non_data_event` — exercises ordering: `Data, Data, PortDisconnected, Data` produces `Data{[a,b]}, PortDisconnected, Data{[c]}` — never reorders non-Data events behind the pending batch. The reader/writer/inbound task bodies in `handle_serial_ws()` are spawned inline and capture local closures, so we exercise the **primitives** they rely on (ReaderControl select branch + Data-coalescing state machine) in isolation rather than reaching into the spawn topology directly. A full axum WebSocket harness integration test is deferred to a follow-up sub-PR because it needs a real hyper server stood up to drive end-to-end frames. Also picks up a minor `Cargo.lock` drift (version bump 2.2.31 -> 2.3.0 that #753 missed in the lockfile). Build: `soldr cargo build -p fbuild-daemon --tests` clean. Tests: `soldr cargo test -p fbuild-daemon --lib handlers::websockets` 6 passed (2 existing + 4 new). Fmt: `soldr cargo fmt -p fbuild-daemon --check` clean. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
Minor version bump. Picks up the following recent PRs:
fbuildshipped as a raw wheel script (drops Python launcher; fixes Windows stdout-ordering onfbuild port scan)package-dir(static analyzers resolvefbuild.api).extern-repos/No public-API changes beyond what's already documented in those PRs. The Autonomous Release action (
release-auto.yml) will tagv2.3.0and publish to PyPI once main has both files at 2.3.0.Test plan
Cargo.tomlandpyproject.tomlversions match (release-auto refuses to publish if they don't).release-autoaction goes green,https://pypi.org/project/fbuild/2.3.0/shows 4 platform wheels.🤖 Generated with Claude Code