Releases: alies-dev/todo-by
Release list
v0.2.1: Homebrew and MSRV
A maintenance release: todo-by now installs from Homebrew, and the crate declares its minimum supported Rust version. No scanner, flag, or output changes. Full diff: v0.2.0...v0.2.1.
New Features
Homebrew install
The repository doubles as its own Homebrew tap. The formula is regenerated from the release checksums after every release, so it tracks the latest version automatically.
$ brew install alies-dev/todo-by/todo-by
$ todo-by --version
todo-by 0.2.1Declared MSRV
Cargo.toml now sets rust-version = "1.85", the floor required by the lockfile-v4 dependencies (edition 2024). CI enforces it, so a too-old toolchain fails at build resolution with a clear message instead of a confusing compile error.
Upgrading
No breaking changes. Exit codes, flags, config keys, and output formats are unchanged from 0.2.0. Pin "0.2" and pick this up transparently.
Install
Homebrew
brew install alies-dev/todo-by/todo-byCargo
cargo install todo-by-cli --lockedInstall prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/alies-dev/todo-by/releases/download/v0.2.1/todo-by-cli-installer.sh | shDownload todo-by-cli 0.2.1
| File | Platform | Checksum |
|---|---|---|
| todo-by-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| todo-by-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| todo-by-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| todo-by-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
| todo-by-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
v0.2.0: deadlines that warn
todo-by flags comment tags whose deadline has passed, in any language, and gates CI on them. v0.2.0 is about one thing: deadlines should warn you before they break your build. Full changes in #3.
New Features 🎉
Warn ahead of the deadline
Until now a deadline arrived silently and broke every PR that day. Now it can announce itself:
$ todo-by --warn 14
src/auth.rs:81: due in 5 days (2026-07-15): drop the legacy token check
1 warningWarnings exit 0, so CI stays green while the countdown is visible in every run. In GitHub Actions they render as inline ::warning annotations on the PR. Set it once in config (warn = 14) and forget the flag.
Configuration file
todo-by.toml (or .todo-by.toml), discovered from the current directory upward:
warn = 14
exclude = ["docs/examples/**"] # gitignore-style globs, on top of .gitignore
tags = ["todo-by", "fixme-by"] # replaces the default tag listPrecedence: command line flags, then TODO_BY_FORMAT / TODO_BY_WARN environment variables, then the config file.
Machine-readable output
$ todo-by --format json
{"type":"finding","kind":"overdue","path":"src/lib.rs","line":12,"date":"2026-01-01","deadline":"2026-01-01","days_overdue":4,"message":"remove workaround"}
{"type":"summary","findings":1,"warnings":0}JSON Lines, one object per finding plus a summary record. The schema is additive-stable across releases.
Zero-config GitHub Actions
- run: todo-byThe github annotation format is auto-selected when GITHUB_ACTIONS=true. Findings appear inline on the PR diff.
Scan anything, inspect everything
todo-by -scans stdin (git diff | todo-by -), handling binary and invalid UTF-8 input the same way file scanning does.--exit-zeroreports without failing, for inventory jobs and gradual adoption.--fileslists exactly what would be scanned,--dump-configprints the effective config and its source. Both answer "why was my file skipped" in seconds.--color auto|always|never, honoringNO_COLOR,TERM=dumb, and pipes.
Performance 🚀
The scan loop kept its first-byte fast reject through the multi-tag rewrite, and v0.2.0 measures faster than v0.1: 36ms vs 43ms scanning the laravel/framework repository on CI hardware. Every PR is now benchmark-gated so scan speed cannot regress silently.
Upgrading from v0.1
No breaking changes. All existing tags, flags, and exit codes work unchanged (0 clean, warnings alone stay 0, 1 findings, 2 usage or I/O error). New behavior to be aware of: a todo-by.toml present in your repository (or any parent directory) is now discovered and applied.
Install todo-by-cli 0.2.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/alies-dev/todo-by/releases/download/v0.2.0/todo-by-cli-installer.sh | shInstall via cargo
cargo install todo-by-cli --lockedDownload todo-by-cli 0.2.0
| File | Platform | Checksum |
|---|---|---|
| todo-by-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| todo-by-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| todo-by-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| todo-by-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
| todo-by-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
v0.1.0
Install todo-by-cli 0.1.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/alies-dev/todo-by/releases/download/v0.1.0/todo-by-cli-installer.sh | shDownload todo-by-cli 0.1.0
| File | Platform | Checksum |
|---|---|---|
| todo-by-cli-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| todo-by-cli-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| todo-by-cli-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| todo-by-cli-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |
| todo-by-cli-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |