github BRO3886/gtasks v0.13.0

6 hours ago

What's Changed

Features

  • Background update check — gtasks now checks for new releases in the background and prints a notice after your command if a newer version is available (#55)
  • curl-based install script — one-liner installer hosted at https://gtasks.sidv.dev/install; auto-detects OS and architecture (#53)
  • Default task list config — set a default task list via -l flag, GTASKS_DEFAULT_TASKLIST env var, or tasks.default_task_list in config file; skips prompt when only one list exists (#51, #37, #38, #39)
  • System keyring token storage — OAuth2 tokens are now stored in the system keyring (macOS Keychain, Linux Secret Service, Windows Credential Manager) instead of plain text (#50)
  • Layered config via koanf — config now supports TOML/YAML/JSON files, env vars, and build-time defaults; env vars take precedence over config file (#51)
  • XDG Base Directory support — new installs use ~/.config/gtasks/; legacy ~/.gtasks/ is still supported with a migration warning (#51)
  • AI agent skill commands — added skill definitions for AI agent integrations (#49)
  • Custom docs theme — replaced hugo-whisper-theme with a custom gtasks-docs Hugo theme (#57)

Bug Fixes

  • Fixed token validation before refusing re-login
  • Fixed update check to use split cache-hit/cache-miss paths to avoid goroutine outliving the process
  • Fixed build version injection

Documentation

  • Updated installation instructions to reference curl one-liner (#56)
  • Updated docs for keyring, XDG config dir, and config file changes (#52)

Breaking Changes

These changes require action if you are upgrading from v0.12.0 or earlier.

.env file support removed

Runtime .env file loading has been dropped. If you were using a .env file to set GTASKS_CLIENT_ID / GTASKS_CLIENT_SECRET, you must now either:

  • Set those env vars in your shell profile (.zshrc, .bashrc, etc.), or
  • Add them to the config file at ~/.config/gtasks/config.toml

Token storage moved to system keyring

OAuth2 tokens are now stored in the system keyring instead of token.json. On first run after upgrading, your existing token.json will be auto-migrated to the keyring. On headless systems without a keyring, the file fallback still applies.

Config directory changed (XDG)

New installs default to ~/.config/gtasks/. If you have an existing ~/.gtasks/ directory, it will continue to work, but a migration warning will be shown. To migrate manually:

mv ~/.gtasks ~/.config/gtasks

New Contributors

  • @dandrake made their first contributions in #37, #38, #39 — adding GTASKS_DEFAULT_TASKLIST env var support, skipping the task list prompt when only one list exists, and adding config file support

Full Changelog: v0.12.0...v0.13.0

Don't miss a new gtasks release

NewReleases is sending notifications on new releases.