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
-lflag,GTASKS_DEFAULT_TASKLISTenv var, ortasks.default_task_listin 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_TASKLISTenv 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