diary

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

CHANGELOG.md (7082B)


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