fastpaper-cli 0.2.1

CLI tool for searching, downloading and reading academic papers
Documentation
# Releases & Distribution

> 中文版:[release.zh-CN.md]release.zh-CN.md

Releases are cut by the maintainer. Contributors never change `version` in `Cargo.toml` or push tags. This page describes what happens after a PR merges.

## Distribution

Packaging is driven by [cargo-dist](https://opensource.axo.dev/cargo-dist/) (pinned at 0.31.0 in `dist-workspace.toml`):

- **Installers**: shell script, PowerShell script, and a Homebrew formula pushed to the tap `zhangyee/homebrew-tap`.
- **Targets** (5): `aarch64-apple-darwin`, `x86_64-apple-darwin`, `aarch64-unknown-linux-gnu`, `x86_64-unknown-linux-gnu`, `x86_64-pc-windows-msvc`.
- Installers place the binary in `CARGO_HOME`.

## Release flow

1. The maintainer bumps `version` in `Cargo.toml` and pushes a version-shaped git tag (e.g. `v0.2.0`).
2. The tag triggers `.github/workflows/release.yml` (generated by cargo-dist), which builds artifacts for all targets and creates the GitHub Release.
3. Publish jobs then run: the Homebrew formula update, and `.github/workflows/publish-crates.yml` (invoked via `workflow_call`), which runs `cargo publish --locked` using the `CARGO_REGISTRY_TOKEN` secret.

## Versioning

SemVer, judged by the maintainer at release time from the commits since the last tag:

- new source or new user-facing capability → **minor**
- bug fix, doc, internal change → **patch**
- breaking change to CLI arguments or JSON output schema → **major**