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