# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Development - Switched to standard semver tags (`v0.3.1`, `v0.4.0`, …); retired letter-suffix scheme (`v0.3.0a`…`v0.3.0f`) which Go's module resolver ignored, leaving `go install @latest` pointing at the pre-migration `v0.3.0` tag. - Version string is now injected at build time via `-ldflags`; the hardcoded constant in `cmd/root.go` has been replaced with a `var version = "dev"` fallback. `make build` derives the version from `git describe --tags --always --dirty`. - Added `.goreleaser.yaml` for multi-platform release builds (linux/darwin/windows/freebsd × amd64/arm64/arm) with SHA256 checksums and auto-generated release notes. - Added `.gitea/workflows/release.yml` that publishes release artifacts to the Forgejo release page on tag push. - Aligned CI Go version (`1.24`) with `go.mod`; previously CI ran on `1.21` while `go.mod` required `1.24`. ## [0.3.1] - 2026-04-19 ### Fixed - `go install forgejo.zerova.net/public/fgj-sid@latest` now resolves correctly. Previous releases used letter-suffix tags (`v0.3.0a`–`f`) which are not valid Go module versions and were ignored by the module resolver, leaving `@latest` pinned to `v0.3.0` — a commit that predates the module-path migration from `codeberg.org/romaintb/fgj`. ## [0.3.0c] - 2026-03-21 ### Added #### Label Management - `fgj label list` - List repository labels - `fgj label create` - Create a label with color and description - `fgj label edit` - Edit label name, color, or description - `fgj label delete` - Delete a label #### Milestone Management - `fgj milestone list` - List milestones with state filtering - `fgj milestone view` - View milestone details - `fgj milestone create` - Create a milestone with description and due date - `fgj milestone edit` - Edit milestone title, description, due date, or state - `fgj milestone delete` - Delete a milestone #### Wiki Management - `fgj wiki list` - List wiki pages - `fgj wiki view` - View wiki page content - `fgj wiki create` - Create a wiki page from flag or file - `fgj wiki edit` - Edit a wiki page - `fgj wiki delete` - Delete a wiki page #### Issue Dependencies - `fgj issue edit --add-dependency ` - Add issue dependency - `fgj issue edit --remove-dependency ` - Remove issue dependency ## [0.3.0b] - 2026-03-21 ### Added #### Repository Management - `fgj repo edit` - Edit repository settings (visibility, description, homepage, default branch) ### Fixed - `fgj repo create --public` flag was defined but never read; now properly wired up ## [0.3.0a] - 2026-03-21 ### Added #### Raw API Access - `fgj api ` - Make authenticated REST API requests to any Forgejo/Gitea endpoint - HTTP method selection (`--method`/`-X`), auto-switches to POST when fields are provided - JSON field assembly (`--field`/`-f`) with type inference (bool, int, float, null, string) - Raw string fields (`--raw-field`/`-F`) - Request body from file or stdin (`--input`) - Custom headers (`--header`/`-H`) - Path interpolation (`{owner}`, `{repo}`) from git context - Response header display (`--include`/`-i`) #### Pull Request Management - `fgj pr diff ` - View the diff for a pull request - Colorized output (`--color auto/always/never`) - Changed file names only (`--name-only`) - Diffstat summary (`--stat`) - `fgj pr comment ` - Add a comment to a pull request - Body from flag (`--body`/`-b`) or file (`--body-file`, `-` for stdin) - JSON output (`--json`) - `fgj pr review ` - Submit a review on a pull request - Approve (`--approve`/`-a`), request changes (`--request-changes`/`-r`), or comment (`--comment`/`-c`) - Body from flag or file - JSON output (`--json`) #### Agentic / Machine-Readable Output - `--json-errors` global flag for structured JSON error output on stderr - Error codes: `auth_required`, `not_found`, `api_error`, `invalid_input`, `git_detection_failed`, `network_error` - HTTP status code and detail included when available - Automatic mapping of API errors (401/403 → `auth_required`, 404 → `not_found`) ## [0.3.0] - 2026-03-13 ### Added #### Forgejo Actions - `fgj actions run watch ` - Poll a run until completion - `fgj actions run rerun ` - Trigger a rerun of a workflow run - `fgj actions run cancel ` - Cancel an in-progress workflow run - `fgj actions workflow enable ` - Enable a workflow - `fgj actions workflow disable ` - Disable a workflow #### Repository Management - `fgj repo create ` - Create a new repository with full option set: `--private`/`--public`, `--description`, `--add-readme`, `--gitignore`, `--license`, `--homepage`, `--clone`, `--team` #### Issue Management - `fgj issue create -l