Skip to content

Releases: dhth/hours

v0.6.0

18 Aug 16:05
36d6f14
Compare
Choose a tag to compare

Added

  • Allow filtering tasks by status in analytics commands (log, report, stats)
  • Keymap to finish active task log without comment
  • Contextual cues in the "Task Log Entry" view
hours-v0-6-0-tl-context.mov

Changed

  • Removed date range limit for stats and log commands
  • Missing end date in date range implies today (eg. 2025/08/12...)
  • "today" can be used in date range (eg. 2025/08/12...today)
  • Improved TUI navigation: esc/q now function in more panes, returning the user
    to previous panes in a predictable manner
  • User messages in the TUI remain visible for a while
  • Minimum terminal width needed brought down to 80 characters (from 96)

Changelog

  • d75892e add basic snapshot tests (#93)
  • c4040c5 add more ways to specify "today" in date range (#85)
  • 70049e3 allow logging frames (for debugging) (#91)
  • fb3601c allow saving time log without asking for comment (#86)
  • 616e452 build: bump github.com/charmbracelet/bubbletea from 1.3.5 to 1.3.6 (#76)
  • 813e310 build: bump github.com/olekukonko/tablewriter from 1.0.7 to 1.0.8 (#75)
  • b281e52 build: bump github.com/olekukonko/tablewriter from 1.0.8 to 1.0.9 (#81)
  • e6bcb42 build: bump modernc.org/sqlite from 1.37.1 to 1.38.0 (#73)
  • 974af56 build: bump modernc.org/sqlite from 1.38.0 to 1.38.1 (#78)
  • 8e577bd build: bump modernc.org/sqlite from 1.38.1 to 1.38.2 (#80)
  • 0493ed5 build: upgrade go and deps (#63)
  • df1e976 chore(deps): bump github.com/charmbracelet/bubbles from 0.20.0 to 0.21.0 (#66)
  • 526d0de chore(deps): bump github.com/charmbracelet/bubbletea from 1.3.4 to 1.3.5 (#65)
  • 23f6d39 chore(deps): bump jaxxstorm/action-install-gh-release from 2.0.0 to 2.1.0 (#64)
  • 06aad6d chore(deps): bump modernc.org/sqlite from 1.37.0 to 1.37.1 (#69)
  • e721a0f feat(stats): filter (in)active tasks (#56)
  • cde501e improve cicd (#72)
  • d0643a9 improve traversal in the tui (#89)
  • d454e68 lower min terminal width needed (#97)
  • 3c4cf98 pass time provider as a dependency (#92)
  • d298983 persist user messages for a while (#90)
  • c0aa94f remove range limit for stats and log (#84)
  • 8ba28d4 remove reviewers from dependabot config
  • e01b36a show contextual cues in task log entry view (#88)
  • a29a5ce streamline task log duration validation (#95)
  • 36d6f14 update changelog for v0.6.0
  • b6835e1 update dependabot commit message
  • 59cea83 upgrade dependencies (#98)
  • a181531 upgrade go to 1.24.3 (#67)
  • ec3075e upgrade tablewriter to v1 (#71)
  • 657c01d upgrade to go 1.24.4 (#74)
  • 10fd02c upgrade to go 1.25.0 (#82)
  • acfb3c7 use correct badge
  • 23b1236 use correct key for theme tests (#87)

v0.5.0

22 Feb 10:45
Compare
Choose a tag to compare

v0.5.0

This release adds support for custom color themes 🎨.

Three new subcommands are added:

  • hours themes show-sample to show a sample theme config file
  • hours themes add to add a new theme
  • hours themes list to list all configured themes

Here's a sampling of some custom themes.

Theme Preview
Solarized Dark solarized-dark
Monokai monokai
Nord nord
Dracula dracula
Gruvbox gruvbox
Catppuccin catppuccin
Tokyonight tokyonight

Thanks to @acidghost for the original idea and for working on it.


Changelog

  • 3aa5141 build: go, dependency upgrades
  • 8b30067 chore(ci): update golangci-lint to 1.64 (#54)
  • a33ed69 feat: support for custom themes (#51)

v0.4.1

03 Feb 20:09
2943de2
Compare
Choose a tag to compare

Changelog

  • 2943de2 fix: replace 'omm' with 'hours' in errors (#45)

v0.4.0

19 Jan 12:34
Compare
Choose a tag to compare

This release adds several QOL improvements to time tracking and task log management.

Added

  • Time tracking can now be switched between tasks with a single keypress
  • The active task log can now be edited before it's finished
  • Task logs can now be edited after saving
  • Adds a view for viewing task log details

Changed

  • Allow for longer task log comments
    image
  • Task log comments can now be empty

Changelog

  • d408530 build: dependency upgrades
  • aed3d2a build: go, dependency upgrades (#43)
  • ac7d86e build: upgrade dependencies
  • 6be1569 build: upgrade to go 1.22.5
  • 2c05a3e chore(deps): bump bubbletea 0.26.5 -> 0.26.6 (#1)
  • b9009d4 chore: add gofumpt
  • 71d4ce1 chore: add header for task input view
  • 80248ac chore: add issue templates
  • ddc08b4 chore: visual tweaks
  • ab66188 feat: allow editing of saved task logs (#39)
  • 31cde75 feat: allow editing of start ts of active task log (#3)
  • 130d612 feat: allow empty task log comments (#35)
  • 8316449 feat: allow longer comments (#38)
  • 043161a feat: allow moving timestamp up/down by a day
  • 23f810f feat: allow quick switching time tracking (#42)
  • 51c4a6d feat: allow saving comment for active task log (#36)
  • 07d05b3 fix: back-compact action
  • e16a500 fix: potential panic when getting dynamic styles
  • 2bc0064 fix: update begin timestamp on quick switch
  • 4952562 refactor: add more linters (#21)
  • 2102413 refactor: simplify update file (#34)

v0.3.0

29 Jun 11:02
Compare
Choose a tag to compare

This release includes the following updates 🚀

  • Timestamps in the "Task Log Entry" view can be moved forwards/backwards by a minute using j/k respectively (or by 5 minutes using J/K)

    hours-entry-form-1

  • Timestamps in "Task Log" view show up differently based on the end timestamp

    hours-timestamps

  • The TUI now shows the start time of an active recording

    hours-active-recording

  • An active task log recording can now be cancelled(using ctrl+x)

  • active subcommand supports a time placeholder, eg. hours active -t 'working on {{task}} for {{time}}'

Changelog

  • c35faab feat: add time placeholder for active subcommand
  • 577cc03 feat: shift time with j/k; relative timestamps
  • 0af4fa1 feat: show begin/end ts for tl entries from today

v0.2.0

21 Jun 14:42
Compare
Choose a tag to compare

This release brings the ability to view reports/logs/stats interactively (using the --interactive/-i flag). It also adds the gen subcommand that is intended for new users of hours so they can generate dummy data and see if hours works for them.

log-interactive-1

report-interactive-1

stats-interactive-1

Changelog

  • 49a900a feat: add gen subcommand
  • 3d794b9 feat: add interactive reports
  • f920790 feat: add interactivity to all records

v0.1.0

14 Jun 10:04
Compare
Choose a tag to compare

Changelog

  • 9a39ed1 feat: add 3d report
  • 3161324 feat: add db migration support
  • 1e71d8e feat: add inactive task view
  • 84e2af8 feat: add initial help message
  • 7784b94 feat: add report and active commands
  • 3e30c49 feat: add reports for tasks and logs
  • c137140 feat: add stats subcommand
  • 2679a87 feat: add support for dynamic reports
  • 0359a98 feat: add time period arg to report
  • 35b95a7 feat: add weekly report
  • b6115b7 feat: allow tweaks to time while saving
  • e3758ae feat: build task log description once
  • d909896 feat: dynamic width for reports
  • bd69278 feat: initial working setup
  • 4b01b45 feat: log based on user provided date range
  • ce665ea feat: make db migrations implicit
  • 941e1f4 feat: use cobra for the cli interface
  • 4004168 fix: convert back to local tz for view