diary

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

CHANGELOG.md (6913B)


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