Skip to content

Latest commit

 

History

History
511 lines (327 loc) · 32.9 KB

File metadata and controls

511 lines (327 loc) · 32.9 KB

v1.1.4 (2026-03-22)

Build

  • Bump minimum Go version from 1.24 to 1.25
  • Add Go 1.26 to CI test matrix
  • Bump github.com/fatih/color from 1.18.0 to 1.19.0

v1.1.3 (2026-02-23)

Fixes

  • Harden browser launch behavior in bug-report with command timeout/wait handling
  • Make interactive confirmation flow iterative and robust against repeated invalid input
  • Strengthen remove target validation and normalization (including Windows-specific suffix handling)
  • Improve man generation success logging and config swap error reporting in failure recovery paths
  • Fix Windows remove regression test expectation and resolve -race failure in bug-report fallback output test

Build

  • Bump goreleaser/goreleaser-action from v6 to v7

Docs

  • Highlight installation availability via winget, mise, and nix

Tests

  • Add and expand regression tests for browser launcher behavior, remove target edge cases, and fallback output handling
  • Keep overall statement coverage from dropping while adding the new hardening changes

v1.1.2 (2026-02-20)

Fixes

  • Treat equal custom Go toolchain versions (e.g. go1.26.0-X:nodwarf5) as up-to-date in check and update
  • Normalize custom Go version separators for comparison and apply Go-aware comparison to version colorization

Tests

  • Add regression tests for custom Go toolchain tags across internal/goutil, check, and update, including output color behavior

v1.1.1 (2026-02-16)

Fixes

  • Make config writes atomic and harden replacement flow to avoid data loss on failed updates
  • Fix Windows rename/update edge cases when GOEXE is unset
  • Fix Windows target matching for update with case-insensitive name handling
  • Fix remove behavior on Windows when GOEXE is empty and handle .exe suffix checks robustly
  • Propagate cancellation to running go install / go list subprocesses
  • Unify signal-based cancellation behavior across update/import/check flows

Performance

  • Speed up completion generation script by building once and reusing the binary

Refactoring

  • Centralize Go command availability checks and jobs clamping
  • Simplify update internals toward context-aware operation paths

Docs

  • Consolidate contributor guidance and align README/CONTRIBUTING workflow instructions

Tests

  • Add and expand regression tests for atomic config writes, completion comparison, Windows suffix handling, and cancellation behavior

v1.1.0 (2026-02-16)

Features

  • Add PowerShell completion generation via gup completion powershell
  • Generate completions/gup.ps1 in scripts/completions.sh

Docs

  • Clarify that completion --install targets bash/fish/zsh only
  • Add PowerShell completion usage examples to README (en/es/fr/ja/ko/ru/zh-cn)

Tests

  • Strengthen completion output tests by capturing os.Stdout and verifying PowerShell header output

v1.0.0 (2026-02-15)

⚠ BREAKING CHANGES

  • Config format changed from plain-text gup.conf (<name> = <import-path>) to JSON gup.json with versioned schema
  • gup import now installs the exact version recorded in gup.json
  • gup import flag changed from --input to --file
  • gup export flag changed from --output to --file

Features

  • Store update channels (latest / main / master) in gup.json
  • Auto-adapt to module path changes (detect and follow import path renames)
  • Add config path resolution ($XDG_CONFIG_HOME/gup/gup.json first, then ./gup.json)
  • Add --file option to both import and export
  • Always include version in bug-report template

Fixes

  • Persist dry-run temp path for proper cleanup and cancel workers on interrupt signals
  • Validate binary names in removeOldBinaryIfRenamed to prevent path traversal
  • Block path traversal in remove targets
  • Warn instead of failing when gup.json is corrupt during update
  • Surface gup.json parse errors during update
  • Normalize binary names in --main/--master/--latest flag resolution for Windows
  • Remove stale config entries when binary is renamed during update
  • Return original importPath when prefix does not match in replaceImportPathPrefix
  • Trim whitespace in --exclude package names
  • Require explicit --install for completion file writes
  • Validate go command availability in import
  • Exit with status 1 when command execution fails
  • Version coloring: yellow=outdated, green=up-to-date
  • Reject malformed gup.conf lines early (legacy format migration)
  • Normalize devel version to latest during import

Performance

  • Use a fixed worker-pool implementation for package processing
  • Deduplicate GetLatestVer calls and parallelize binary info collection
  • Filter binary completions by typed prefix

Refactoring

  • Replace golang.org/x/exp/slices with standard slices package
  • Share config file writing logic across commands
  • Remove unused update wrapper function and unused first argument from shouldPersistChannels

Tests

  • Add tests to increase coverage from 79.6% to 88.7%
  • Stub update operations in root command tests

v0.28.3 (2026-02-15)

v0.28.2 (2025-12-23)

v0.28.1 (2025-11-16)

v0.28.0 (2025-10-27)

v0.27.9 (2025-09-04)

v0.27.8 (2025-03-12)

v0.27.7 (2025-02-25)

v0.27.6 (2025-01-13)

v0.27.5 (2024-09-10)

v0.27.4 (2024-08-10)

v0.27.3 (2024-06-27)

  • Output current rather than latest version in up-to-date messages #164 (scop)

v0.27.2 (2024-06-24)

  • Update: change version compare logic #162 (nao1215)
  • Update README output wrt added Go versions #161 (scop)

v0.27.1 (2024-06-19)

v0.27.0 (2024-06-19)

v0.26.2 (2024-05-22)

v0.26.1 (2024-05-15)

v0.26.0 (2024-05-08)

  • Fix issue148: Confirmation with [Y/n] should default to "yes" #147 (nao1215)

v0.25.2 (2024-05-01)

v0.25.1 (2024-04-11)

v0.25.0 (2024-04-09)

  • Generate cobra's v2 bash completions #141 (scop)
  • Various completion improvements #140 (scop)
  • Update bash completion path #139 (scop)
  • Add ability to output completions to stdout #138 (scop)
  • Bump golang.org/x/sync from 0.6.0 to 0.7.0 #137 (dependabot[bot])

v0.24.3 (2024-03-24)

v0.24.2 (2024-03-23)

v0.24.1 (2023-12-05)

v0.24.0 (2023-10-17)

v0.23.0 (2023-09-15)

v0.22.0 (2023-05-27)

  • Add --main option and --main-all option #91 (nao1215)

v0.21.1 (2023-05-05)

v0.21.0 (2023-05-02)

v0.20.1 (2023-03-21)

  • Delete internal file package. use gorky/file pacakage instead #83 (nao1215)
  • Ignore hidden file in $GOBIN #82 (nao1215)

v0.20.0 (2023-03-14)

v0.19.0 (2023-03-05)

  • Fix Issue #76: Limit the number of goroutines #77 (nao1215)

v0.18.0 (2023-02-26)

  • Delete update-go subcommand #75 (nao1215)
  • fix: Use canonical name for bash_completion.d #74 (jlec)

v0.17.1 (2023-02-23)

v0.17.0 (2023-02-20)

v0.16.0 (2023-02-13)

  • Support XDG_CONFIG_HOME for configuration files path #68 (nao1215)
  • Bump github.com/fatih/color from 1.13.0 to 1.14.1 #65 (dependabot[bot])
  • Bump github.com/spf13/cobra from 1.6.0 to 1.6.1 #63 (dependabot[bot])

v0.15.1 (2022-10-22)

v0.15.0 (2022-10-18)

  • Bump github.com/spf13/cobra from 1.5.0 to 1.6.0 #55 (dependabot[bot])
  • Add an option to enable notifications (-N, --notify) and disable them by default. #57 (nao1215)
  • Add awesome go badge #54 (nao1215)

v0.14.0 (2022-10-02)

v0.13.0 (2022-09-24)

  • Detailed error message when go install fails. #52 (nao1215)
  • Add --input option to import subcommand #51 (nao1215)

v0.12.0 (2022-09-24)

  • Added output option to Export subcommand #50 (nao1215)
  • Add test for gotuil.GetPackageVersion() function #49 (KEINOS)

v0.11.0 (2022-09-19)

  • Update contributors #48 (nao1215)
  • Add unit test for goutil package #41 (KEINOS)
  • update unit test status badge #46 (nao1215)
  • Add platform test workflow #45 (nao1215)
  • Fixed unit-test that produced different test results on mac and linux #43 (nao1215)
  • Add unit test for all subcommand #42 (nao1215)
  • Add unit test for check subcommand #40 (nao1215)
  • Add unit test #38 (nao1215)
  • fix: avoid fall back if current is newer than latest version (issue #36) #39 (KEINOS)
  • Add coverage workflow #37 (nao1215)
  • Bump github.com/mattn/go-colorable from 0.1.12 to 0.1.13 #35 (dependabot[bot])

v0.10.5 (2022-08-11)

v0.10.4 (2022-08-08)

v0.10.3 (2022-05-03)

v0.10.2 (2022-05-03)

v0.10.1 (2022-04-17)

v0.10.0 (2022-04-17)

  • Auto-generate shell completion file #26 (nao1215)

v0.9.4 (2022-04-16)

v0.9.3 (2022-04-16)

  • Parallelized check subcommand process #25 (nao1215)
  • Improved error messages #24 (nao1215)
  • Faster update speeds due to parallel processing #23 (nao1215)

v0.9.2 (2022-03-20)

v0.9.1 (2022-03-19)

v0.9.0 (2022-03-18)

v0.8.0 (2022-03-18)

v0.7.4 (2022-03-13)

v0.7.3 (2022-03-11)

v0.7.2 (2022-03-06)

v0.7.1 (2022-03-05)

v0.7.0 (2022-03-04)

  • Improve from "Suggestions for improvements #2" #17 (nao1215)

v0.6.1 (2022-02-26)

v0.6.0 (2022-02-26)

v0.5.0 (2022-02-22)

  • Add list subcommand: List up command name with package path and version under $GOPATH/bin or $GOBIN #13 (nao1215)

v0.4.4 (2022-02-22)

  • Use strings.HasPrefix instead of regular expression #11 (matsuyoshi30)
  • --file option: Specified update target #12 (nao1215)

v0.4.3 (2022-02-22)

v0.4.2 (2022-02-22)

v0.4.0 (2022-02-22)

  • Revert "Use buildinfo" because debug/buildinfo is not released #9 (nao1215)
  • Use buildinfo #6 (mattn)
  • Add export subcommand #7 (nao1215)
  • Add --dry-run option. #5 (nao1215)

v0.2.1 (2022-02-22)

v0.2.0 (2022-02-21)

  • Add import command and Change logic #1 (nao1215)

v0.1.1 (2022-02-21)

v0.1.0 (2022-02-20)