Releases: kartoza/go-timesheets-go
Release list
v0.15.0 - Enhanced Gaps View
🎉 Release v0.15.0 - Enhanced Gaps View
✨ Features
Scrollable Gaps Analysis
The gaps view has been significantly enhanced to provide better visibility into your timesheet coverage throughout the month:
- Full Month Coverage: Now shows all days from the start of the current month to today (previously limited to 14 days)
- Horizontal Scrolling: Navigate through all days easily
- TUI: Use left/right arrow keys to scroll the viewport, Home/End to jump to start/end
- GUI: Horizontal scroll bar for smooth navigation
- Dynamic Title: Shows the current date range being viewed with scroll indicators
🖼️ Screenshots
The gaps view now allows you to scroll back and fill gaps from any day in the current month, making it easier to maintain complete timesheets.
📦 Installation
# Using Go
go install github.com/kartoza/go-timesheets-go@v0.15.0
# Or download from releases🙏 Acknowledgements
Made with 💗 by Kartoza
Full Changelog: v0.14.0...v0.15.0
v0.14.0 - Google Calendar Integration
What's New
Google Calendar Integration
This release adds Google Calendar integration to help fill gaps in your timesheet by showing calendar appointments for the selected day.
Features
- OAuth 2.0 Authentication - Connect your Google account with your own Google Cloud credentials
- Calendar Settings Screen - Configure Client ID/Secret in both GUI and TUI interfaces
- Calendar Panel Widget - View your day's calendar events when creating time entries
- Click-to-Fill - Click any calendar event to auto-populate start and end times in the entry form
- Secure Token Storage - OAuth tokens stored securely with auto-refresh
How to Use
- Go to Settings → Google Calendar
- Enter your Google Cloud OAuth Client ID and Secret
- Click Connect to authorize the application
- When filling gaps, calendar events will appear in a panel on the right side
- Click any event to use its time range for your timesheet entry
Documentation
- Added PACKAGES.md - Complete annotated package structure documentation
- Updated SPECIFICATION.md with calendar data models and user stories
Installation
Debian/Ubuntu
wget https://github.com/kartoza/go-timesheets-go/releases/download/v0.14.0/kartoza-timesheet_0.14.0_amd64.deb
sudo dpkg -i kartoza-timesheet_0.14.0_amd64.debFrom Source
git clone https://github.com/kartoza/go-timesheets-go.git
cd go-timesheets-go
go build -o kartoza-timesheet .Full Changelog
v0.13.0: Gaps View Improvements, Submission Validation & History Redesign
What's New in v0.13.0
🔍 Gaps View Improvements
- Automatic refresh - Gaps view now refreshes automatically after creating a new entry
- Smart end time defaults - When clicking a gap to create an entry, end time is pre-filled based on the gap duration
- Entry editing from gaps - Click on project segments in gaps view to edit unsubmitted entries
- Missing description warnings - Yellow exclamation mark (!) indicator on entries without descriptions
- Entry selection dialog - When multiple entries exist for a project, shows a selection dialog to choose which to edit
✅ Submission Validation
- Description requirement - Submit action now validates that all pending entries have descriptions
- Validation dialog (GUI) - Shows a clear error dialog listing entries missing descriptions with count and project names
- Validation dialog (TUI) - Shows a styled error dialog indicating how many entries need descriptions
- Helpful guidance - Prompts users to click on entries to add descriptions before submitting
📋 History Screen Redesign (GUI)
- Two-column master-detail layout - Left column shows compact entry list, right column shows full details
- Compact list view - Entries display project, task, date, hours, and status without descriptions
- Expandable detail panel - Selected entry shows full details with scrollable description area
- Description fills available space - Description area expands vertically and scrolls for long content
- Status indicators - Visual icons for running (🟢), pending (○), submitted (✓), missing description (⚠), and POW video (🎬)
- Contextual action buttons - Edit/View, Delete, and Play POW buttons appear based on entry state
Installation
Download the appropriate package for your platform from the assets below (packages will be built and attached by CI).
Linux
- DEB (Ubuntu/Debian):
kartoza-timesheet_0.13.0_amd64.deb - RPM (Fedora/RHEL):
kartoza-timesheet-0.13.0-1.fc43.x86_64.rpm - Flatpak:
kartoza-timesheet-0.13.0.flatpak - Binary:
kartoza-timesheet-0.13.0-linux-amd64.tar.gz
macOS
- DMG (Universal):
kartoza-timesheet-0.13.0-macos-universal.dmg - Intel:
kartoza-timesheet-0.13.0-macos-amd64.tar.gz - Apple Silicon:
kartoza-timesheet-0.13.0-macos-arm64.tar.gz
Windows
- ZIP:
kartoza-timesheet-0.13.0-windows-amd64.zip
v0.12.0: Gaps Visualization & Improved Autocomplete
What's New
Gaps Visualization
A new Gaps view shows your last 14 days of time entries as vertical bars:
- Each bar is segmented and color-coded by project
- Red segments indicate unlogged time (gaps from 8-hour daily target)
- GUI: Hover over segments to see project name, task, activity, hours, and descriptions
- TUI: Use arrow keys to navigate between days and segments, with a detail panel showing the same information
- Click (GUI) or press Enter (TUI) on a gap to open a new timesheet entry pre-filled with that date and start time
Improved Autocomplete
- Project field: Restored full autocomplete with API-based search (type 2+ characters to search), custom popup with keyboard navigation (Up/Down arrows, Enter to select, Escape to close)
- Task and Activity fields: Now use traditional dropdowns (click to open, no typing required) - simpler and more reliable
Technical Improvements
- New shared
GapsServicefor DRY code between TUI and GUI - Custom
hoverableSegmentwidget for GUI mouse interaction - Segment-based navigation model for TUI keyboard control
Installation
Download the appropriate package for your platform from the assets below.
v0.11.0: Favourites UX, Colour Picker, Dark-Themed Dropdowns
What's New in v0.11.0
Timezone Awareness
- All times stored as UTC, displayed in local timezone across TUI, GUI, and CLI
- Consistent timezone handling in start/stop commands, history, dashboard, and timesheet views
- Correct local-time display for time entry cards, systray status, and favourites
AI Assistant Enhancements
- Comprehensive domain knowledge embedded for LLM prompts (time tracking, utilization, team comparison, best practices)
- 11 new analytical query handlers: utilization, overtime, pace, context switching, gaps, unsubmitted entries, weekly/project comparison, longest period, most productive day, session length
- Embedded query reference document into binary for LLM context
- All AI queries logged to
~/.config/kartoza-timesheets/ai-query.log - Fixed GUI AI screen layout and Enter key submission
Favourites UX Improvements
- Keyboard navigation for autocomplete dropdowns — Up/Down arrows, Enter to select, Escape to close
- Colour picker for favourite buttons — 19 preset colours to personalise your favourites grid
- Custom colours render with darkened fill and bright stroke border
- Favourite buttons expand to fill available screen space using Border layout
- Colour field added to TUI favourites editor with hex input and live background preview
Dark-Themed Autocomplete Dropdowns
- Dropdown popups now have a dark background (#2A2A2A) with gold border (#DDA036)
- Light text (#CCCCCC) with gold highlight for keyboard-selected items
- Popups correctly positioned below their parent widget (fixed absolute positioning)
Code Repos Screen Fixes
- Fixed vertical text rendering in repository list (switched from HBox to Border layout)
- Fixed crash when opening code repos (replaced fragile index-based widget access with tree-walking)
- Styled editor popup to match dark theme (was default white Fyne dialog)
CI/CD
- Consolidated packaging workflow with builds for Linux (.deb, .rpm, .flatpak, binary), macOS (universal DMG), and Windows (.zip)
- All builds use Go 1.24 with CGO_ENABLED=1 for Fyne/OpenGL support
Cleanup
- Removed workspace/desktop associations feature entirely (GUI, TUI, CLI, models, storage, tests)
Downloads
| Platform | File |
|---|---|
| Linux x86_64 | kartoza-timesheet-linux-amd64.tar.gz |
| Debian/Ubuntu | kartoza-timesheet_*.deb |
| Fedora/RHEL | kartoza-timesheet-*.rpm |
| Flatpak | kartoza-timesheet-*.flatpak |
| macOS (Universal) | kartoza-timesheet-*-macos-universal.dmg |
| Windows x86_64 | kartoza-timesheet-*-windows-amd64.zip |
Full Changelog
v0.10.0: AI Assistant with multi-level fallback engine
What's New
AI Assistant
- Multi-level AI engine - 4-level fallback chain: Embedded LLM (llama.cpp) → Ollama (local LLM server) → Neural Network (TF-IDF similarity) → Rule-based fuzzy matching
- Natural language project discovery - Ask questions like "Which project for GeoServer Docker?" to find the right project/task/activity combination
- Timesheet analytics - Ask analytical questions: "Which projects did I work on last week?", "How consistent was my timekeeping?", "Which project did I spend the most time on?"
- Consistency analysis - Detects rounded entries (exact hours, half-hours, quarter-hours) indicating retroactive rather than as-you-work recording
- One-click timer start - Select an AI-suggested match to immediately start a timer with the correct project/task/activity
- Neural network training - TF-IDF cosine similarity model automatically trains from your timesheet history
- Ollama integration - Connects to local Ollama LLM server for enhanced AI responses (no API key required)
- Embedded LLM support - Optional llama.cpp integration via
llamacppbuild tag for fully offline AI - GUI AI screen - Full AI assistant interface in the Fyne GUI with query input, example queries, and clickable match results
- TUI AI screen - Full AI assistant interface in the Bubbletea TUI with keyboard navigation and example query shortcuts
- Dashboard access - AI button on dashboard (GUI) and 'a' shortcut key (TUI) for quick access
GUI Enhancements
- GUI timesheet creator with date/time editing and completed entry support
- Themed stop timer dialog with editable fields
- Themed entry detail dialog with edit, delete, and POW playback
- ESC key navigation and history list descriptions
Multi-Instance Consistency
- API-canonical architecture: remote API is the single source of truth
- Atomic file writes prevent corruption from concurrent access
- CLI commands properly sync with API and local cache
Note: Platform-specific packages (macOS DMG, Windows ZIP, DEB, RPM) will be added automatically by CI within a few minutes.
Full Changelog: v0.9.1...v0.10.0
v0.9.1: Cross-platform package builds
What's New
Cross-Platform Packages
- Windows package - ZIP archive with GUI executable (no console window)
- macOS package - Universal binary DMG supporting both Intel and Apple Silicon Macs
- macOS tar.gz - Separate Intel (amd64) and ARM64 archives for manual installation
- Linux binary - Standalone amd64 binary tar.gz for systems without package managers
Changed
- Updated GitHub Actions workflow to build packages for all major platforms on release
Full Changelog: v0.9.0...v0.9.1
v0.8.1
v0.8.0
v0.7.0 - Pervasive Mouse Support
🖱️ Pervasive Mouse Support
This release adds full mouse interaction support throughout the entire application!
✨ New Features
Mouse Support on All Screens
- Main Menu - Click menu items to select and open them
- History View - Click on timesheet entries to view details
- Workspace Associations - Click Name column to edit, Edit button to open popup, Clear button to remove
- Code Repos - Click on repository rows to edit associations
- Timesheet Creator - Click on form fields to focus, click popover items to select, click Submit button
- Login Screen - Click on input fields (API URL, Username, Password) to focus them
- Favourites - Click on favourite slots to start timers
Mouse support works alongside keyboard navigation - use whichever input method you prefer!
🐛 Bug Fixes
- Fixed workspace associations edit mode crash when clicking Name column
📦 Downloads
| Platform | Architecture | Download |
|---|---|---|
| Linux | AMD64 (x86_64) | kartoza-timesheet-linux-amd64.tar.gz |
| Linux | ARM64 (aarch64) | kartoza-timesheet-linux-arm64.tar.gz |
| macOS | Intel (AMD64) | kartoza-timesheet-darwin-amd64.tar.gz |
| macOS | Apple Silicon (ARM64) | kartoza-timesheet-darwin-arm64.tar.gz |
| Windows | AMD64 (x86_64) | kartoza-timesheet-windows-amd64.tar.gz |
Installation
# Download and extract (Linux/macOS example)
tar -xzf kartoza-timesheet-linux-amd64.tar.gz
chmod +x kartoza-timesheet-linux-amd64
sudo mv kartoza-timesheet-linux-amd64 /usr/local/bin/kartoza-timesheetFull Changelog: v0.6.0...v0.7.0