All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Single key prompts for key-values -
chronometrist-tag-choice
, andchronometrist-key-values-unified-choice
, with more to come. chronometrist-reset
, to clear all internal state
chronometrist
is now a literate Org program.
chronometrist-skip-query-prompt
,chronometrist-skip-query-reset
, andchronometrist--skip-detail-prompts
- these are covered by the new single key prompt functions
- Major mode (syntax highlighting, hook) for Chronometrist s-expression files, derived from emacs-lisp-mode
- Bug in updating the task list in some cases of the latest interval being modified.
- Incorrect order of tag/key/value history
- Error when running emacs with
-q
chronometrist
buffer not being updated when a new task is added or the sole interval for a task is removed.
- Error from missing
require
form
- Incorrect tag history in some situations
- Removed a debugging
message
call which was accidentally left in
- New hooks -
chronometrist-mode-hook
,chronometrist-list-format-transformers
,chronometrist-entry-transformers
, andchronometrist-timer-hook
. - New custom variable
chronometrist-sexp-pretty-print-function
chronometrist-plist-pp
now indents recursively.
- Refresh time after changing
chronometrist-file
is now near-instant for the most common situations - an expression being added to the end of the file, or the last expression in the file being changed or removed. This works for changes made by the user as well as changes made by Chronometrist (or other) commands. - Tag, key, and value histories are generated before the user is prompted, rather than each time the file is saved.
- Remove quotes from key-value prompt in quit keybindings
- Lisp objects being stored as un
read
able strings inchronometrist-value-history
, resulting in value suggestions not matching user input. chronometrist-report
no longer callsdelete-other-windows
; usechronometrist-report-mode-hook
if it is desired.- Fixed infinite loop in
chronometrist-report
triggered by non-English locales.
- Bug triggered by clocking out of a task with a name longer than the field width, caused by hacky way of determining the task at point. (issue #2)
chronometrist-skip-query-prompt
to re-use last-used tags/key-values with a single key. (...assuming you usey-or-n-p
)
- Prompts for keys and values now use
completing-read
, making the interface and the controls more consistent.
- Bug resulting in only the last tag combination being suggested
chronometrist-goals
has been renamed tochronometrist-goal
- Package long description in the package menu
- Error when adding task (trying to append an atom to a list)
- Support for time goals via optional package
chronometrist-targets
. - New hook -
chronometrist-file-change-hook
- Use ts.el structs to represent date-time, wherever possible. (
chronometrist-events
andchronometrist-file
being notable exceptions)
- Prefix arguments now work with the point on a button, too.
- Bug with missing entries in
chronometrist-key-history
- Operations for adding a new s-expression and replacing the last s-expression have been optimized. Notably, commands for clocking in/out are now significantly faster.
- Error when adding a task for the first time.
chronometrist-toggle-task-no-reason
(which did nothing since the migration from timeclock.el) is now calledchronometrist-toggle-task-no-hooks
. It will toggle the task without running the before-in/after-in/before-out/after-out functions.
- Refresh buffer when clocking in (instead of waiting for first timer refresh)
- Insertion of values is now slightly smarter about detecting and handling Lisp data types.
- Library headers for MELPA release
- Various declarations for MELPA release
- Custom variable
chronometrist-activity-indicator
to change how an active task is indicated. chronometrist-query-stop
for prompting on exiting Emacs
chronometrist-kv-accept
will not modify the file if there are no key-values.- Regression in
chronometrist-value-history-populate
- Migrate
chronometrist-statistics
to new format
- Regression in
chronometrist-value-history-populate
- Improved load time via code cleanup + inhibiting
chronometrist-events-populate
for task start/stop
- Deprecated functions
- Leftover pre-v0.3 variables
- s-expression file format support
- functions to read arbitrary key-values (see
chronometrist-kv-add
,chronometrist-kv-accept
,chronometrist-kv-reject
) - hook
chronometrist-after-in-functions
- hooks are now called
chronometrist-before-in-functions
,chronometrist-before-out-functions
, andchronometrist-after-out-functions
- timeclock.el file format support
chronometrist-timestamp->seconds
chronometrist-timestamp-list->seconds
chronometrist-time-re-file
chronometrist-get-end-time
chronometrist-date-op-internal
chronometrist-reason-list
chronometrist-ask-for-reason
- Error resulting from incorrect variable name in chronometrist-maybe-stop-timer
- Long waiting times after saving timeclock-file due to multiple, erroneously-created file system watchers.
- timeclock will be removed as a backend in the next release.
- bug with wrongly named function in chronometrist-report
- Autoload cookies
- chronometrist-before-project-stop-functions hook
- Try to remove unnecessary file re-reading
- Buffer refresh bugs