Release Notes
=============
Version 4.5.0 (2019-06-17)
--------------------------
- Compatibility notes:
* The --conf command line option has been renamed to --confdir and the
--directory option has been renamed to --datadir.
- New features:
* Multiple days support: Preview appointments for multiple days without
having to navigate in the calendar panel (implemented by Lars Henriksen).
There are five new configuration variables: one that turns the feature
on/off and four that affect the number of lines used by each day and with
it the number of days on display.
* Experimental vdir support: The calcurse distribution tarball now includes
an experimental script called calcurse-vdir that can be used as an
alternative to calurse-caldav (implemented by vxid). For details, please
refer to contrib/vdir/README.md in the calcurse source tree.
* Support for editing recurrence exceptions (implemented by Lars
Henriksen).
- New calcurse-caldav features:
* Custom data directory support (implemented by vxid).
* A new Troubleshooting section in the calcurse-caldav README.md (added by
Randy Ramos).
- Bug fixes:
* Various fixes in the notification system (implemented by Lars Henriksen).
* Fix for a calendar redraw issue (implemented by Lars Henriksen).
* Fix a potential deadlock (implemented by Lars Henriksen).
* Use ICALDATETIMEFMT for EXDATE in iCal exports (implemented by Henrik
Grimler).
* Fix for the compile-time AsciiDoc check (implemented by Brandon Munger).
Version 4.4.0 (2019-02-21)
--------------------------
- Compatibility notes:
* The -F option is superseded by -P which can be used to *remove* certain
entries from the data file (instead of keeping them). Please consult the
man page for details.
- New features:
* Major overhaul of the input routines in interactive mode (implemented by
Lars Henriksen).
* Support for separate data and configuration file directories (partly
implemented by Quentin Hibon).
* A --filter-invert option which inverts the other filter options
(implemented by Lars Henriksen).
* Support for negative date ranges when using the -d command line option.
- New calcurse-caldav features:
* The SyncFilter configuration option which allows for specifying the types
of items synced from/to the server (implemented by Satvik Sharma).
* Support for a CALCURSE_CALDAV_PASSWORD environment variable which can be
used to pass a password securely from another program (implemented by
Randy Ramos).
* HTTP support (implemented by Dino Macri).
* Authorization removed from debug logs by default.
- Bug fixes:
* Fix for an appointment becoming an event when entering an invalid start
time (implemented by Lars Henriksen).
* Fix for the deletion of a multi-day recurrent appointment (implemented by
Lars Henriksen).
* Fixes for potential database inconsistencies caused by appointments which
end before they begin (implemented by Lars Henriksen).
* Several fixes dealing with DST (implemented by Lars Henriksen).
* Fixes for date range queries (implemented by Lars Henriksen).
* Fix for segmentation fault with recent ncurses implementations.
* Fix for potential segmentation fault in mutex handling.
* RFC5545-compliant DTSTART in iCal exports (patch by Quentin Hibon).
* Fix for not closing the stream after exporting iCal items (patch by
crvs).
* Fix for priority parsing in iCal imports (patch by dott).
* Various improvements to the change detection and save conflict resolution
code (implemented by Lars Henriksen).
* Several improvements to concurrency control (implemented by Lars
Henriksen).
* Various fixes to the scrollbar (implemented by Lars Henriksen).
* Various potential buffer overflow fixes.
* A more robust command line argument parser (implemented by Lars
Henriksen).
* Various improvements to the UTF-8 handling code (implemented by Lars
Henriksen).
* Several stability and portability fixes (partly provided by Mikolaj
Kucharski).
* Several stability fixes in the calcurse-caldav script.
Version 4.3.0 (2017-11-05)
--------------------------
- Compatibility notes:
* Month names and abbreviated day names now honor the locale setting
(suggested and implemented by Lars Henriksen).
* The phase of moon feature was removed (suggested and implemented by Lars
Henriksen).
- New features:
* The selected day in the calendar now stands out (suggested and
implemented by Lars Henriksen).
* Both the position and the date format used for the heading in the
appointments panel are configurable (suggested and implemented by Lars
Henriksen).
* Support for `CTRL-U` and `CTRL-G` in prompts (implemented by Quentin
Hibon).
* Support for using all keys recognized by ncurses, particularly UTF-8
keys, in key bindings (partly implemented by Lars Henriksen).
* Support for `CALCURSE_EDITOR`, `CALCURSE_PAGER` and `CALCURSE_MERGETOOL`
environment variables to override the default editor, pager and merge
tool.
* Several improvements to the reload and save routines. The save routine
now detects external changes to the data files and no longer blindly
overwrites data which was edited externally. In case of external changes,
different options are offered, one of them being the execution of the
merge tool to merge external changes and changes done from the running
calcurse instance. The reload routine also no longer performs a reload
if both the external data files and the local data are unchanged.
* Several improvements to the CalDAV synchronization script, including
OAuth2 support and instructions on how to synchronize calcurse with
Google Calendar (requested and implemented by Randy Ramos).
* Support for passing the password as a command-line argument to the CalDAV
synchronization script (suggested by azarus and implemented by Randy
Ramos).
* A new utility, called `calcurse-dateutil`, which can be used to create
"extended recurrent events" such as events occurring on the third
Thursday of each month.
- Bug fixes:
* Gracefully parse iCal parameters with colons (reported by Hakan Jerning).
* Fixes to the notification feature affecting recurrent appointments
(reported by rgc69).
* Do not crash when changing colors (reported by Randy Ramos).
* Build fix for NetBSD (reported by Thomas Klausner).
* Avoid fatal error when using the help command (reported and fixed by Lars
Henriksen).
* Avoid empty warning box when key is already in use (reported and fixed by
Lars Henriksen).
* Several fixes to the calcurse-caldav synchronization script to allow for
synchronizing with NextCloud servers (reported by Geoffroy Tremblay).
* Proper support for punctual appointments starting at 00:00 (reported by
Maximiliano Redigonda).
* Proper ISO 8601 week numbering (reported and fixed by Lars Henriksen).
* The delete key no longer acts as backspace (reported by Zekario and fixed
by cryptolmath).
* Proper parsing of date-time strings (reported and fix suggested by Lars
Henriksen).
Version 4.2.2 (2017-01-14)
--------------------------
- Bug fixes:
* Various fixes and improvements to calcurse-caldav.
Version 4.2.1 (2016-10-30)
--------------------------
- Bug fixes:
* Do not crash when editing the repetition of an appointment and passing an
empty repetition value (reported and fixed by Vlad Glagolev).
* Avoid a crash when all todo items are hidden and an interactive action is
performed (reported by Vlad Glagolev).
* Documentation for the --daemon command line option.
* Avoid starting the daemon more than once (reported by Vlad Glagolev).
* Improvements to scrolling within list boxes.
Version 4.2.0 (2016-10-12)
--------------------------
- New features:
* In the calendar panel, days with non-recurrent items now have another
color as days containing recurrent items only.
* Automatically select new appointments/events after creation.
* Support for (optional) dates when specifying the start/end time of items.
Allows for easily moving items and adding appointments without switching
the selected day beforehand.
- Bug fixes:
* Encoding fixes in calcurse-caldav (reported by Raf Czlonka).
* Avoid notification bar artifacts after leaving calcurse.
* Fixes to the key binding pagination (reported by Kevin Wang).
* Do not change selection unexpectedly after modifying items.
Version 4.1.0 (2016-04-12)
--------------------------
- New features:
* Hook support: Run scripts before/after loading or saving items. This
feature can be used to automatically make Git commits or synchronize with
a server when the data files are written. Example hooks can be found in
the calcurse source tree.
* Experimental CalDAV support: The calcurse distribution tarball now
includes an experimental script called calcurse-caldav that can be used
to synchronize calcurse with your mobile devices or any other computer.
For details, please refer to contrib/caldav/README in the calcurse source
tree.
* Support for a filter mode -F that is identical to -G but writes the
filtered items back to the calcurse data files instead of stdout. Can be
used to remove certain items from a script. Use with care!
* New long format specifiers "raw" and "hash".
* A --daemon command line option to start calcurse in daemon mode.
* A --quiet command line option to disable system dialogs.
* Support for todo items with an undefined priority.
* Support for durations when specifying recurrence end dates.
* Support for decimal values when specifying durations.
* Support for UTC times when importing iCal events.
* Support for sending notifications for all appointments (both flagged and
unflagged items).
* The "Add Item" key binding now works from the calendar panel.
* Week numbers in the monthly view (requested by Hakan Jerning).
- Bug fixes:
* Fixes to the slice computation (reported by Hakan Jerning).
* Various fixes to the iCal import and export functionality.
Version 4.0.0 (2015-02-22)
--------------------------
- New features:
* Support for reloading appointments via a key binding and via SIGUSR1
(thanks to Tim Hentenaar for submitting a patch).
* The compact mode and default panel options are no longer hidden.
* A powerful set of new command line options. The new main operations in
non-interactive mode are --grep and --query. There are filter switches to
restrict the set of items that are read from the appointments file. All
old command line options are still supported for backwards compatibility.
* Support for shorthands such as "tomorrow" or "monday" as date specifiers.
* Support for dates beyond 2038 on platforms with 64-bit time_t.
- Bug fixes:
* Several fixes to the user interface.
* Handle CRLF line endings in iCal files (reported by Hakan Jerning).
* Gracefully handle all day events in iCal imports (reported by Jörn
Tillmanns and by Hakan Jerning).
* Retain comments in descriptions and configuration values (reported by
Hakan Jerning).
* Support all types of iCal durations (reported by Hakan Jerning).
Version 3.2.1 (2014-07-08)
--------------------------
- Bug fixes:
* Load todo items on startup (reported by BARE Willy sprl).
* Do not highlight items on inactive windows.
Version 3.2.0 (2014-07-08)
--------------------------
- New features:
* Support for punctual appointments (appointments without an ending time).
* A --limit option which allows for limiting the number of appointments
returned (thanks to William Pettersson for submitting a patch).
* Support for %(remaining) and %(duration) modifiers in format strings
(thanks to William Pettersson for submitting a patch).
* The online help system now uses the system pager (e.g. less(1)).
* A new command prompt allows for browsing the help texts (type ":help" for
more information).
* Several general improvements to the user interface.
- Bug fixes:
* Do not garble long notes (reported by Hakan Jerning).
* Fix compilation under OS X (thanks to Jack Nagel for submitting a patch).
* Do not break the appointments file when importing an iCal file that
contains an item with a newline in the summary (reported by Jonathan
McCrohan).
Version 3.1.4 (2013-02-09)
--------------------------
- Bug fixes:
* Do not prompt for a todo after adding an appointment.
* Close key binding window when reassigning the same key (thanks to Michael
Smith for submitting a patch).
* Update copyright ranges.
* Do not ignore "--datarootdir" in the i18n Makefile.
Version 3.1.3 (2013-02-02)
--------------------------
- Bug fixes:
* Complete the test-suite even if libfaketime is not present.
* Add a workaround for broken libfaketime-based tests on 32-bit systems
(fixes Debian bug #697013).
* Do not update start time/duration with bogus values if the prompt is
canceled in edit mode.
Version 3.1.2 (2012-12-16)
--------------------------
- Bug fixes:
* Fix another corner case of the screen corruption bug (BUG#6).
* Fix core dump when trying to edit a non-existent item.
* Display correct welcome messages on startup.
Version 3.1.1 (2012-12-07)
--------------------------
- Bug fixes:
* Fix another screen corruption bug.
* Fix several compiler warnings.
Version 3.1.0 (2012-12-05)
--------------------------
- New features:
* Vim-like copy/paste (FR#15). Use the delete key to cut items.
* Support for entering times in 24 hour format ("2130" instead of "21:30",
thanks to William Pettersson for submitting a patch).
* Compact panel mode (FR#7). This can be enabled using the currently
undocumented "appearance.compactpanels" configuration setting.
* Configurable default view (FR#19). The default view can be changed using
the currently undocumented "appearance.defaultpanel" configuration
setting.
* "-D" and "-c" can now be used simultaneously, whereby "-c" has precedence
over "-D".
* Cache monthly view to speed up browsing.
- Bug fixes:
* Sort `calcurse -d` output by time (BUG#2, reported by Romeo Van Snick).
* Fix a critical data corruption bug (BUG#7, BUG#8, reported by Baptiste
Jonglez and Erik Saule).
* Fix screen corruption (BUG#6, reported by Erik Saule and Antoine
Jacoutot).
* No longer show the calcurse screen in the editor/pager when the window is
resized (BUG#9, reported by Michael Smith).
* Calculate busy slices correctly if (recurrent) appointments with a
duration of more than 24 hours are used.
* Fix a core dump that occurred if the main window was too small.
- Translation:
* Several translation updates.
Version 3.0.0 (2012-07-01)
--------------------------
- New features:
* Full UTF-8 support.
* Much more powerful formatting options for printing items in
non-interactive mode. Format strings can be specified using
"--format-apt", "--format-event", "--format-recur-apt" and
"--format-recur-event".
* Support for vim-style count prefixes for displacement keys.
* Powerful duration strings: Allows using extended duration strings, such
as "+3:10" or "+1d20h5m".
* A feature that allows piping items to external commands.
* New key bindings to jump to the previous/next month/year.
* A new configuration file format. `calcurse-upgrade` can be used to
convert existing configuration files.
* Several performance improvements.
* Notes are now stored using hash-based file names which results in lower
disk space usage.
* A test suite that can be used to test the core functionality of calcurse.
* A "--read-only" command line option to discard all changes to data files.
- Bug fixes:
* Do not hardcode paths to the default editor/pager. Rely on the "$PATH"
variable instead.
* Update the number of todo items when importing an iCal file to prevent
some items from being inaccessible.
* Fix a segmentation fault when importing iCal data (reported by Andraz
Levstik).
* Format the "DURATION" field properly on iCal export. Use
days/hours/minutes/seconds instead of seconds (reported and fixed by
Jerome Pinot).
* Do not localize dates in pcal exports (reported by Baptiste Jonglez).
- Translation:
* Portuguese translation (provided by Rafael Ferreira).
* 100% complete French, German and Russian translations.
Version 2.9.2 (2011-09-08)
--------------------------
- Bugfixes:
* Handle iCal line folding correctly.
* Introduce a configure option to completely exclude the documentation
subdirectory from the build process ("--disable-docs").
Version 2.9.1 (2011-08-03)
--------------------------
- Bugfixes:
* Keep the order of events across restarts (reported by Alan).
* Fix the build process when disabling documentation generation.
* Avoid flickering on window resize.
* Avoid a segfault when resizing the calcurse window.
* Add missing documentation for the "backword-kill-word" line editing
function.
* Honor the "TMPDIR" environment variable instead of using hardcoded paths
for temporary files (reported by Erik Saule).
* Fix pager invocation when showing the log file during an import (reported
by Andraz Levstik).
* Accept resource parameters in iCal import. Accept additional parameters
such as language parameters (reported by Andraz Levstik).
* Sync the notification item after editing or pasting an appointment. This
ensures the information in the notification bar as well as the countdown
for the notification daemon are always up-to-date (reported by Andraz
Levstik).
* Fix recurrent appointment notification.
* Fix flagging of regular appointments.
* Fix sort order when using command line options to display upcoming
appointments and events (reported by Erik Saule).
Version 2.9.0 (2011-05-29)
--------------------------
- New features:
* Usage of short form dates such as "29/5/10" instead of "29/05/2010", "23"
for the 23rd of the currently selected month and year or "3/1" for Mar 01
(or Jan 03, depending on the date format) of the currently selected year.
* "backword-kill-word" line editing function.
* Automatically drop empty notes after editing.
* Documentation and man pages now are in AsciiDoc format which is easier to
maintain and can be translated to several formats such as HTML, PDF,
PostScript, EPUB, DocBook and much more.
* Manual and man pages contain updated links to our new website and mailing
lists, as well as instructions on how to use Transifex.
* Extensive code cleanups and improvements.
- Bugfixes:
* Avoid a segfault when resizing the help window.
* Remove the lock file if calcurse died (fixes Debian Bug #575772, thanks
to Erik for submitting a patch).
* Parse appointment end times correctly if they date back (reported by
Aleksey Mechonoshin).
* Fix some compiler warnings.
- Translation:
* Russian translation provided by Aleksey Mechonoshin.
* Several translation updates.
Version 2.8 (2010-05-29)
------------------------
- New features:
* a weekly calendar view was added with the display of the week number and
colored slices indicating appointment times
* the side bar width can now be customized by the user
- Bugfixes:
* wrong calculation of recurrent dates after a turn of year fixed (patch
provided by Lukas Fleischer)
* check for data directory availability added
* fixed a possible segfault that could be triggered when calcurse screen
became too small
* INSTALL file is no longer missing from the distributed package
* compilation issue related to memory functions definitions fixed
Version 2.7 (2009-08-22)
------------------------
- New features:
* a daemon was implemented so that calcurse can now send reminders in
background
* new --status command line option to display information about calcurse
running instances
- Bugfixes:
* fixed a bug which prevented ical files from being imported
* no more error when user's home directory does not exist
* dates are now written properly again when using the '-r' flag
* incorrect duration format fixed when exporting to ical
Version 2.6 (2009-07-11)
------------------------
- New features:
* calcurse is now distributed under a 2-clause BSD-style license
* todos can now be flagged as completed
* support for regex-based searches added
* locking mechanism implemented to prevent having two calcurse instances
running at the same time
* inside calendar panel, day names and selected date are now in the same
colour as user's theme
- Bugfixes:
* missing 'T' letter added in the DURATION field for ical export (reported
by cuz)
* ical events which spans over several days are now imported correctly
(reported by Andreas Kalex)
* fixed gcc's `format-security' issue (reported by Francois Boulogne)
* no more freeze when changing color within the configuration screen on
OpenBSD
* fixed a memory leak caused by a wrong use of the structures related to
the notification bar
* todo items are not displayed twice if -d and -t flags are both given
(reported by Timo Schmiade)
* it is now possible to export data from a given appointment file even if
the user does not have any home directory (reported by Ben Zanin)
* prevent character deletion before the beginning of the string within the
online editor (reported by Martin Rehak)
Version 2.5 (2009-01-25)
------------------------
- New features:
* new option to periodically save data
* cut and paste feature added, to move items from one day to another
* support for iso date format (yyyy-mm-dd) added
* new '--enable-memory-debug' configuration option to monitor memory usage
* configuration scipt improved to be able to link against ncursesw if
ncurses is not available
- Bugfixes:
* fixed a two-years old bug (appeared in version 1.5) that made repeated
items with exceptions load uncorrectly in some cases (thanks to Jan
Smydke for reporting it)
* fixed a bug related to user-configured keys that could be lost when using
calcurse in non-interactive mode
Version 2.4 (2008-12-27)
------------------------
- New features:
* key bindings are now user-definable
* new layout configuration menu
- Bugfixes:
* memory leak due to a wrong use of the pthread library fixed
* fixed a possible freeze when deleting an appointment's note
* exception dates now properly ignored when exporting data to pcal format
* daylight saving time unwanted offset fixed
Version 2.3 (2008-10-15)
------------------------
- New feature:
* ical import added
Version 2.2 (2008-08-28)
------------------------
- New features:
* pcal export added, to be able to produce nice-looking PostScript output
* '-s', '-r' and '-D' command line arguments added which allows to use an
alternative data directory, and to be more flexible when specifying the
range of dates to be considered when displaying appointments and events
(thanks Erik for submiting the patch)
* '^G', '0' and '$' keybindings added to ease movements in calendar
Version 2.1 (2008-05-17)
------------------------
- New features:
* '--note' command line argument added which allows the display of note
contents in non-interactive mode (patch submitted by Erik Saule)
* It is now possible to configure date formats used in calcurse interactive
and non-interactive modes (patch submitted by Tony)
- Bugfixes:
* Debian Bug Report #469297
- Translation:
* Italian manual provided by Leandro Noferini
Version 2.0 (2008-03-02)
------------------------
- New features:
* Ability to attach notes to appointments, events and todos added
* Call to an external editor/pager to edit/view notes implemented
* Documentation improved, with the use of a css style sheet in html manuals
- Bugfixes:
* Leap years are now properly handled
* configure.ac updated to link against pthread and not lpthread
Version 1.9 (2007-10-23)
------------------------
- New features:
* Moon phase calculation added
* Automatic redraw is now performed when resizing terminal
* Major code cleanup release, error and signal handling improved
- Bugfixes:
* Current day is now automatically updated in the calendar panel
* No more problem when trying to load a calendar from current directory
- Translation:
* Dutch translation and manual provided by Jeremy Roon
Version 1.8 (2007-05-22)
------------------------
- New features:
* The command launched to notify user of an upcoming appointment is now
configurable, so that user can get warned by mail or by playing a tune
for example
* Color theme configuration menu was completely redesigned, with support
for default terminal's color added
* 'Export' command implemented, to be able to save calcurse data in
iCalendar format. The '--export' command line argument was also
implemented to be able to use this feature in non-interactive mode.
* 'Flag Item' command implemented to mark appointments as 'important' so
that user gets notified before they arrive
- Bugfixes:
* Fixed a possible problem while editing an item description and using
CTRL-D to delete last character
* 01/01/1970 is not returned anymore when editing an item endless
repetition
Version 1.7 (2007-01-20)
------------------------
- New features:
* 'Edit Item' command implemented to be able to modify an already existing
item
* Long command-line options are now accepted
* '-t' flag now takes a priority number as optional argument
* Repeated items are now marked with an '*' to be recognizable from normal
items
- Bugfixes:
* When creating a recurrent item, the end-date is included again in the
repetition
* Date format corrected in 'Go To' command
Version 1.6 (2006-10-01)
------------------------
- New features:
* Notification-bar implemented, which indicates current date and time, the
calendar file in use and the next upcoming appointment together with the
time left before it
* '-n' flag added to get notified of the next appointment within upcoming
24 hours
* Support for todo priorities added
* New screen layouts added to make the todo panel the largest one
* General keybindings implemented, which apply whatever panel is selected
- Bugfixes:
* The repeated end date can no longer be before the item start date
* Fixed a possible conflict in the LOCALEDIR variable definition
- Translation:
* spanish translation and manual provided by Jose Lopez
* german translation and manual updated by Christoph M.
Version 1.5 (2006-08-26)
------------------------
- New features:
* Support for recurrent events and appointments added
- Bugfixes:
* Debian Bug Report #369550, #377543
* fixed the compiler linking problem with libintl on systems which do not
provide intl support within libc
- Translation:
* german translation provided by Michael Schulz
* english translation provided by Neil Williams
Version 1.4 (2006-05-15)
------------------------
- New features:
* Support for i18n added
* Support for non-color terminals added
* Option added to choose which day is the first of the week (monday or
sunday)
* Documentation improved, with translated html manuals
- Bugfixes:
* When confirmation is requested, it is now done by pressing 'y' or 'n'
instead of 'yes' or 'no'
- Translation:
* french translation
* french and german manuals
Version 1.3 (2006-03-17)
------------------------
- New features:
* Adding of all-day long events
* Many GUI improvements: better scrolling (with the use of ncurses pad
functions), scrollbars added, progress bar added
* Appointment duration can now be entered either in minutes or in hh:mm
format
- Bugfixes:
* January 0 bug fixed
* Current day is no longer highlighted in every year of the future and the
past (thanks to Michael for reporting that bug)
* Fixed compiler warnings (thanks to Uwe for reporting this)
* Removed -lpanel link during compilation
* Characters can now be erased with CTRL-H (to fix a problem reported by
Brendan)
Version 1.2 (2005-11-26)
------------------------
- New features:
* An option was added to skip system dialogs
* Configure script was improved
- Bugfixes:
* Ncurses library use improved: screen refreshing is faster, windows do not
flicker anymore when updated, and memory footprint is much smaller
* Changed abbreviation for 'Wednesday' from 'Wen' to 'Wed'
Version 1.1 (2005-10-29)
------------------------
- New features:
* Command-line options which allows to display appointments and todo list
without entering the interactive mode
* Manpage and documentation updated
* Configure script improved
- Bugfixes:
* Debian Bug Report #335430 regarding the GoTo today function is now fixed
Version 1.0 (2005-10-08)
------------------------
- New features:
* Calcurse now comes with a manpage
- Bugfixes:
* Debian Bug Report #330869 regarding the October 0 which does not exist is
now fixed
* Default options "auto-save", "confirm-quit", and "confirm-delete" were
set to 'yes'