diary

Text-based journaling program
git clone https://git.in0rdr.ch/diary.git
Log | Files | Refs | Pull requests |Archive | README | LICENSE

CHANGELOG.md (7197B)


      1 ## [0.17 Unreleased]
      2 
      3 ## [0.16] - 2025-02-22
      4 * Fix missing CalDAV port
      5 * Document Nexcloud CalDAV sync
      6 * Document Homebrew installation
      7 
      8 ## [0.15] - 2025-01-15
      9 Fix missing bindir for MacOS install
     10 
     11 ## [0.14] - 2025-01-15
     12 Remove lttng and replace with simpler debug messsages to stderr to fix MacOS
     13 build.
     14 
     15 ## [0.13] - 2024-09-14
     16 Fix build issue with pkg-config
     17 
     18 ## [0.12] - 2024-09-14
     19 Fixed:
     20 * #103 truncated upload, fix folding by allocating enough space for carriage
     21   return
     22 * #96 Properly parse multistatus: A day can have multiple all-day events, which
     23   will be returned as "calendar-data" entries in the XML.  By using libxml2 we
     24   can check the PRODID of the events and only sync with the daily event of the
     25   diary.
     26 * #97 GMX unfolding - escaped CR: The XML response for certain providers has a
     27   character sequence `
` at the end of each ics field. This is an escaped
     28   carriage return. Properly parsing the XML with libxml2 automatically detects
     29   and converts that carriage return.
     30 
     31 Added:
     32 * #47 External tool for oath authentication. CalDAV oauth with `oauth_eval_cmd`.
     33 * #98 XML response parsing with libxml2
     34 
     35 Removed:
     36 * Sync with Google server is still supported, but `google_clientid`,
     37   `google_secretid` and `google_tokenfile` settings are removed. Use external
     38   tool for oath authentication (#47), for instance, "oama".
     39 * A lot of custom parsing logic (xml and json string token manipulation) was
     40   removed and replaced with libxml parsing (#98)
     41 
     42 ## [0.11] - 2024-06-22
     43 ### Changed
     44 Calendar sync extended with support for providers that work with basicauth.
     45 Tested providers GMX and Yahoo. Google calendar still supported. Provider
     46 specifc changes:
     47 * replace `google_calendar` config key with `caldav_calendar`
     48 * extract caldav host without path as basis for further api paths
     49 * fix start/end filter in event report request
     50 * Google auth scope `calendar.events.owned` replaced by `calendar.events`
     51   (https://developers.google.com/calendar/api/auth)
     52 
     53 Documentation updates:
     54 * doc(man): update scdoc `SOURCE_DATE_EPOCH`
     55 * doc(lttng): create channel before starting session. The live sessions needs a
     56   channel first before start. Otherwise, Error: No channel found in the session
     57 * doc(google): update api scopes
     58 * doc(readme): update issue board
     59 * doc(nix): document nix build/install
     60 * doc(nix): prefetch latest commit hash
     61 
     62 Other various changes and fixes:
     63 * feat: improve error handling
     64 * fix(folding): missing CR
     65 * fix(caldav): bearer token buffer overflow
     66 * doc(#96): advise dedicated calendar for caldav sync
     67   (https://board.in0rdr.ch/public/task/96/adedb4a1f31d1e5116b600c1c9dc225db8675d125f071758913a9570c383)
     68 
     69 ### Added
     70 CalDAV sync support for basicauth providers (tested with Yahoo, GMX). Changes
     71 to support the providers.
     72 
     73 GMX:
     74 * follow redirects during principal discovery
     75 * add missing ics fields for upload
     76 * add missing etag prop for calendar retrieval
     77 * relax xml token search and parsing
     78 * bug(#97) description: unfolding - escaped CR
     79   (https://board.in0rdr.ch/public/task/97/adedb4a1f31d1e5116b600c1c9dc225db8675d125f071758913a9570c383)
     80   Bug in the download part. All ics fields in the xml response have the carriage
     81   return html escape sequence '
' Unfortunately this escape sequence is not
     82   handled correctly on our side yet and saved to the text file on disk. All
     83   other caldav server implementations only send '\n' at the end of each ics line.
     84 
     85 Yahoo:
     86 * fix several printf buffer overflows
     87 * fix xml parsing functions to not assume xml namespace, can be different
     88   depending on the provider
     89 * fix wrong caldav report depth header fields
     90 * fix wrong caldav request time-range xml filter that synced down the event
     91   from the next day to the currently selected day
     92 * fix missing CR while unfolding
     93 * send proper content-type
     94 * new lttng `debug_long` tracepoint
     95 * improve homeset and calendar requests
     96 * replace LAST-MODIFIED with DTSTAMP, because LAST-MODIFIED is not available on
     97   all providers
     98 
     99 Scripts and documentation for Nix:
    100 * Nix shell for development setups including build and documentation utilities
    101 * Nix stdenv build scripts for stable/unstable build files
    102 
    103 ## [0.10] - 2024-04-15
    104 * fix: use addstr without fmt
    105 * Update IRC channel in man page
    106 
    107 ## [0.9] - 2023-10-08
    108 
    109 ### Changed
    110 * Increase token size to max. advertised in the Google API docs:
    111   https://developers.google.com/identity/protocols/oauth2#size
    112 * Fixes bugs while drawing days before/after the DST change and in the
    113   movements between these boundaries
    114 
    115 ### Added
    116 * feat(lttng): add debug_tm tracepoint
    117 * feat: replace usleep with nanosleep
    118 
    119 ## [0.8] - 2023-03-26
    120 
    121 ### Notes
    122 * This is a bugfix release
    123 
    124 ### Changed
    125 * Fix caldav access/refresh token size
    126 * Fix caldav postfield size (port)
    127 * Fix wrong date marks in ics import
    128 * Fix minor typos in docs and confirmation screen
    129 * Fix Makefile target exec rights
    130 
    131 ### Added
    132 * Improve docs for obs project and caldav API
    133 
    134 ## [0.7] - 2023-02-20
    135 
    136 ### Changed
    137 * #15: Fix segfault when no remote google_calendar
    138 * #12: Prevent overflow in display_entry
    139 * #11: Fix repeated 'S' key press
    140 * #10: Fix malloc for google_tokenfile
    141 * #3: Improve handling for tokenfile when offline (Caldav sync)
    142 * Move source code from Codeberg
    143 
    144 ### Added
    145 * #6/7: LTTng instrumentation for development and debugging purposes
    146 
    147 ## [0.6] - 2022-02-02
    148 
    149 ### Changed
    150 * Changed "s" shortcut logic: "s" no longer jumps to specific day (search), use
    151   "f" to "find" date (drop-in replacement). Use "s" to "sync" entries to Google
    152   calendar (CalDAV sync).
    153 * Move source code from GitHub to Codeberg
    154 * Simplify man page generation with [scdoc](https://sr.ht/~sircmpwn/scdoc/)
    155 * Fix segfault at a first run (#1)
    156 
    157 ### Added
    158 * External text format command (#68, #80) `--fmt-cmd`
    159 * Pseudo-terminal to support ANSI escape characters (colors, font types, etc.)
    160   and `--no-pty` option (#6, #44, #5)
    161 * Mouse support for selecting dates (#60)
    162 * Documentation of Open Build Service (OBS) jobs (`docs/OBS.md`)
    163 * Documentation of testing and debugging procedures (`docs/TESTING.md`)
    164 * Add `debug` target to `Makefile`
    165 * CalDAV sync: "s"/"S" shortcuts to sync selected day/Month with Google
    166   calendar
    167 * Import (#76, #77): "i" shortcut to import entries from .ics
    168 * Export (#78): "E" shortcut to export entries to .ics
    169 
    170 ## [0.5] - 2021-02-24
    171 
    172 ### Changed
    173 * Make year range (#56), first weekday (#13) and file name configurable
    174 * Change g/G shortcut logic: Jump to first/last non-empty entry (#57)
    175 * Improve man page and overall documentation
    176 
    177 ### Added
    178 * Add optional configuration file (#35)
    179 * Add command line options (#34), help and version flags (#45)
    180 
    181 ## [0.4] - 2020-10-17
    182 
    183 ### Changed
    184 * Fix install on OSX (#41)
    185 * Improve Makefile and build instructions
    186 
    187 ## [0.3] - 2016-12-28
    188 
    189 ### Changed
    190 * Escape characters and utf-8 fixes
    191 * First day of week according to locale
    192 
    193 ### Added
    194 * Header file
    195 * Constant parameters
    196 * Jump to nearest entry
    197 * Man page
    198 
    199 ## [0.2] - 2016-11-27
    200 
    201 ### Changed
    202 * Fixes trailing '/' in entry reading
    203 
    204 ### Added
    205 * Remove entries
    206 * Search entries, jump to date
    207 
    208 ## [0.1] - 2016-11-24
    209 
    210 ### Notes
    211 * There is still a bug which appends '/' to the diary directory even if the
    212   trailing '/' is already given.
    213 * Removing entries not yet possible