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