CHANGELOG 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344
  1. # Offpunk History
  2. ## 2.3 - Unreleased
  3. - Wayland clipboard support through wl-clipboard (new suggested dependency)
  4. - Xclip clipborad support (in case xsel is missing)
  5. - offpunk/netcache: fix IPv6 as an URL (bug #40)
  6. - ansicat: display empty files (instead of opening them with xdg-open)
  7. - fix escape sequence warning in python 3.12 (by Étienne Mollier) (Debian #1064209)
  8. - ansicat : fix crash when feedparser is crashing on bad RSS
  9. - netcache: fix spartan protocol error
  10. - opnk: fix a crash when caching returns None
  11. - ansicat: remove the treshold argument when launching chafa (strange artifacts with new version)
  12. ## 2.2 - February 13th 2023
  13. - cache folder is now configurable through $OFFPUNK_CACHE_PATH environment variable (by prx)
  14. - offpunk: adding an URL to a list now update the view mode if url already present
  15. - netcache: solve an infinite gemini loop with code 6X (see also bug #31)
  16. - ansicat: added support for <video> HTML-element
  17. - ansicat: if chafa fails to load an image, fallback to timg if available
  18. - offpunk: add list autocompletion to "tour"
  19. - offpunk: removed "blackbox", which has not been used nor maintained
  20. - offpunk: "gus" was broken, it is functionnal again
  21. - opnk/offpunk: more informative prompt in less
  22. - ansicat: added support for HTML description elements <dt> and <dd> (by Bert Livens)
  23. - opnk: added "--mode" command-line argument (bug #39)
  24. - offpunk: support for "preformatted" theming (bug #38)
  25. - opnk/netcache: added "--cache-validity" command-line argument (bug #37)
  26. - ansicat: consider files as XML, not SVG, if they don’t have .svg extension
  27. - offpunk: fix "view link" crashing with link to empty files
  28. ## 2.1 - December 15th 2023
  29. - freshly updated gemtext/rss links are highlighted ("new_link" theme option)
  30. - offpunk : new "copy title" and "copy link" function
  31. - offpunk : new "view XX" feature where XX is a number to view information about a link
  32. - ansicat: added "--mode" option
  33. - redirections are now reflected in links and the cache (bug #28)
  34. - ansicat: avoid a crash when urllib.parse.urljoin fails
  35. - offpunk: Fix a crash when gus is called without parameters (Von Hohenheiden)
  36. - ansicat: fixed a crash when parsing wrong hidden_url in gemini (bug #32)
  37. - offpunk: offpunk --version doesn’t create the cache anymore (bug #27)
  38. - ansicat: fix a crash with HTML without title (bug #33)
  39. - netcache: gemini socket code can crash when IPv6 is disabled (mailing-list)
  40. ## 2.0 - November 16th 2023
  41. Changes since 1.10
  42. - IMPORTANT: Licence has been changed to AGPL for ideological reasons
  43. - IMPORTANT: Contact adress has been changed to offpunk2 on the same domain (because of spam)
  44. - IMPORTANT: code has been splitted into several differents files.
  45. - IMPORTANT: migrating from flit to hatchling (patch by Jean Abou Samra)
  46. Major features:
  47. - New command-line tool: "netcache"
  48. - New command-line tool: "ansicat"
  49. - New command-line tool: "opnk"
  50. - "theme" command allows customization of the colours
  51. - "--config-file" allows to start offpunk with custom config (#16)
  52. - "view source" to view the source code of a page
  53. - introduced the "default_protocol" options (default to gemini)
  54. Improvments:
  55. - Reading position is saved in less for the whole session
  56. - Rendering is cached for the session, allowing faster browsing of a page already visited
  57. - "redirect" supports domains starting with "*" to also block all subdomins
  58. - "--images-mode" allow to choose at startup which images should be dowloaded (none,readable,full)
  59. - Support for embedded multi-format rendering (such as RSS feeds with html elements)
  60. - The cache is now automatically upgraded if needed (see .version in your cache)
  61. - Images of html files are now downloaded with the html (slower sync but better reading experience)
  62. - "--sync" can optionnaly take some lists as arguments, in order to make for specific sync
  63. - initial tentative to support podcasts in RSS/Atom feeds
  64. Other notable changes from 1.X:
  65. - "accept_bad_ssl_certificates" now more agressive for http and really accepts them all
  66. - Gopher-only: we don’t support naming a page after the name of the incoming link
  67. - Gemini-only: support for client generated certificates has been removed
  68. - "file" is now marked as a dependency (thank Guillaume Loret)
  69. ## 2.0 (beta3 - final 2.0) - Released as 2.0
  70. Changes since beta2:
  71. - bug #25 : makes python-requests optional again
  72. - --disable-http had no effect: reimplemented
  73. - introduced the "default_protocol" options (default to gemini) to enter URLs without the :// part (fixes bug #21)
  74. ## 2.0-beta2 - November 8th 2023
  75. Changes since beta1
  76. - IMPORTANT: migrating from flit to hatchling (patch by Jean Abou Samra)
  77. - "--sync" can optionnaly take some lists as arguments, in order to make for specific sync
  78. - "view source" to view the source code of a page
  79. - initial tentative to support podcasts in RSS/Atom feeds
  80. - new PlaintextRenderer which display .txt files without any margin/color/linebreaks
  81. - default URL blocked list is now its own file to make contributions easier
  82. - prompt color is now part of the theme
  83. - improves handling of base64 images
  84. - fixes gophermap being considered as gemtext files
  85. - fixes opening mailto links
  86. - fixes existing non-html ressources marked a to_fetch even when not needed (simple and/or confusion)
  87. - fixes a crash with RSS feeds without <link> element
  88. - fixes a crash with data:image/svg+xml links
  89. - fixes a bug in HTML renderer where some hX element were not closed properly
  90. - fixes input in Gemini while online
  91. - fixes a crash with invalid URL
  92. - fixes a crash while parsing invalid dates in RSS
  93. - fixes hang/crash when meeting the ";" itemtype in gopher
  94. - attempt at hiding XMLparsedAsHTMLWarning from BS4 library
  95. - chafa now used by default everywhere if version > 1.10
  96. - ignoring encoding error in ansicat
  97. ## 2.0-beta1 - September 05th 2023
  98. This is an an experimental release. Bug reports and feedbacks are welcome on the offpunk-devel list.
  99. - WARNING: pyproject.toml has not been updated and is currently non-functional. Help needed!
  100. - IMPORTANT: Licence has been changed to AGPL for ideological reasons
  101. - IMPORTANT: Contact adress has been changed to offpunk2 on the same domain (because of spam)
  102. - IMPORTANT: code has been splitted into 7 differents files. Installation/packaging should be adapted.
  103. Major features:
  104. - New command-line tool: "netcache"
  105. - New command-line tool: "ansicat"
  106. - New command-line tool: "opnk"
  107. - "theme" command allows customization of the colours
  108. - "--config-file" allows to start offpunk with custom config (#16)
  109. Improvments:
  110. - Reading position is saved for the whole session
  111. - Rendering is cached for the session, allowing faster browsing of a page already visited
  112. - "redirect" supports domains starting with "*" to also block all subdomins
  113. - "--images-mode" allow to choose at startup which images should be dowloaded (none,readable,full)
  114. - Support for multi-format rendering (such as RSS feeds with html elements)
  115. - The cache is now automatically upgraded if needed (see .version in your cache)
  116. Other changes from 1.X:
  117. - Images of html files are now downloaded with the html (slower sync but better reading experience)
  118. - URL do not default anymore to "gemini://" if not protocol are indicated. (ongoing discussion in #21)
  119. - "accept_bad_ssl_certificates" now more agressive for http and really accepts them all
  120. - Gopher-only: we don’t support naming a page after the name of the incoming link
  121. - Gemini-only: support for client generated certificates has been removed
  122. - "file" is now marked as a dependency (thank Guillaume Loret)
  123. ## 1.10 - July 31st 2023
  124. - IMPORTANT : new optional dependency : python-chardet
  125. - IMPORTANT : Gopher directory index filename changed from "index.txt" to "gophermap". To update the cache to the new format run the `migrate-offpunk-cache` script (Sotiris Papatheodorou)
  126. - "set accept_bad_ssl_certificates True" now also used for Gemini expired certificates
  127. - Add missing chardet module (Sotiris Papatheodorou)
  128. - Fix merging dictionaries with common keys (Sotiris Papatheodorou)
  129. - Fix Gopher requests (rewrite URL parsing code per RFC 4266)
  130. ## 1.9.2 - March 13th 2023
  131. - Switch from setup.py to flit (Anna cybertailor Vyalkova)
  132. - Bump requirements to python >= 3.7 (Anna cybertailor Vyalkova)
  133. ## 1.9.1 - March 8th 2023
  134. - Fixed crash with archive without GI (thanks Étienne Mollier)
  135. ## 1.9 - March 8th 2023
  136. This is a bug-fixing release.
  137. - We now have a man page thanks to phoebos!
  138. - ".." as abbreviation to "up" (by Sotiris Papatheodorou)
  139. - Fix support for UTF-8 domains in Gemini (Maeve Sproule, fixes #5)
  140. - Assume UTF-8 when the header answer with an unknown encoding
  141. - Default handlers have been removed (not everybody use feh and zathura)
  142. - Fix a crash when subscribing without GI (reported by sodimel on linuxfr)
  143. - Fix a crash when trying to access a link without GI (Ben Winston)
  144. - Fix a crash when rss items don’t have a title (eg: Mastodon rss)
  145. - Fix a crash with badly formatted links in gopher ( #7 by xiu)
  146. - Fix a crash were some HTML content is seen a bytes instead of a string
  147. - Fix a crash when displaying embedded CDATA html in feed. But #10 is still open.
  148. - Fix error handling assuming that requests is installed
  149. - Ugly fix for a rare certificate bug (fix #11)
  150. - Improve compatibility with python prior 3.9 by replacing a dict union
  151. ## 1.8 - December 11th 2022
  152. - Official URL is now https://sr.ht/~lioploum/offpunk/
  153. - SECURITY: Avoid passing improperly-escaped paths to shell (fixes notabug #9) (by Maeve Sproule)
  154. - Add support for the finger protocol (by Sotiris Papatheodorou)
  155. - "restricted" mode has been removed because unmaintained (code cleanup)
  156. - "set accept_bad_ssl_certificates True" allows to lower HTTPS SSL requirements (also with --assume-yes)
  157. - Accept "localhost" as a valid URL
  158. - Better feedback when --sync an URL which is streaming
  159. - Removed cgi dependency (soon deprecated)
  160. - Fix: crash with some svg data:image (which are now ignored)
  161. - Fix images from "full" mode not being downloaded
  162. - Fix a crash when ls on empty page (thanks Marty Oehme)
  163. - Fix: A variable was not initialised without python-cryptography
  164. - Fix: "cp raw" was not accessing the temp_file correctly
  165. - Fix: ANSI handling off arrows in readline (by Ben Winston)
  166. ## 1.7.1 - November 15th 2022
  167. - Correcting a stupid crash in search (thanks kelbot for the report)
  168. ## 1.7 - November 15th 2022
  169. - New "search" command which uses kennedy.gemi.dev by default.
  170. - New "wikipedia" command, which uses vault.transjovian.org by default.
  171. - Aliases "wen", "wfr" and "wes" for Wikipedia in English, French and Spanish.
  172. - Autocompletion for the list/add/move commands (that’s incredibly useful!)
  173. - If a link is found in plain text in a gopher/gemini page, it is now
  174. added to the list of links for that page. Useful for gopher.
  175. - Create system lists when needed to avoid failure on clean system
  176. - Solve a crash when parsing wrong URL (related to bug #9 )
  177. - Solve a crash when loading webpages with empty links
  178. - Solve a crash when trying to load a wrong URL into tour
  179. => gemini://ploum.be/2022-11-15-offpunk17-sourcehut.gmi
  180. ## 1.6 - October 12th 2022
  181. - Support for base64 encoded pictures in HTML pages (opening them full screen only works offline)
  182. - A list can be added to a tour with "tour $LIST_NAME".
  183. - Check for timg > 1.3.2 to avoid dealing with old versions (bug reported by Valvin)
  184. - Redirect are now honoured also when --sync (bug #15, thanks kelbot)
  185. - RSS feeds are now automatically downloaded with a webpage (bug #14)
  186. - Solved the bug where an invalid URL would break correspondance between url and numbers
  187. - Considers .xml files as feed by default to avoid false-detection as SVG
  188. - Replaced default libreddit.com redirection to teddit.net (bug #12 by kelbot)
  189. - The "beta" option has been removed as it is not used (update your config if needed)
  190. ## 1.5 - August 4th 2022
  191. - Removed optional dependency to ripgrep. "grep --color=auto" is good enough.
  192. - "open url" to open current URL in a browser with xdg-open
  193. - "redirect" now replaces "set redirects" to improve discoverability
  194. - "redirect" now allows urls to be blocked. By default, facebook.com and google-analytics.com are blocked
  195. - Fixed a bug when trying to download base64 image
  196. => gemini://rawtext.club/~ploum/2022-08-04-offpunk15.gmi
  197. ## 1.4 - April 25th 2022
  198. - Making python-readability optional
  199. - Removing "next" and "previous" which are quite confusing and not obvious
  200. - Archiving now works regardless of the view you are in.
  201. - Fixing a crash when accessing an empty html page
  202. - Not trying to display non-image files to avoid errors. (this requires "file")
  203. ## 1.3 - April 2th 2022
  204. - Removed dependency to python-magic. File is now used directly (and should be on every system).
  205. - Removed dependency to python-editor. If no $VISUAL or $EDITOR, please use "set editor" in Offpunk.
  206. - Images are now downloaded before displaying an HTML page (can be disabled with "set download_images_first False")
  207. - Introduced "set redirects" which redirects twitter,youtube,medium,reddit to alternative frontends.
  208. - New behaviour for "find" (or "/") which is to grep through current page (ripgrep used if detected)
  209. - Default width set to 80 as many gopherholes and gemini capsules have it hardcoded
  210. - Streaming URL without valid content-length are now closed after 5Mo of download (thanks to Eoin Carney for reporting the issue)
  211. - Gif animations are now displayed once when viewed (instead of a still frame).
  212. - Restored some AV-98 certificate validation code that was lost I don’t know how.
  213. - Improved clarity of dependencies in "version"
  214. - Fixed a crash when the cache is already a dir inside a dir.
  215. - Fixed a crash when manually entering an unknown gopher URL while offline
  216. - Fixed an error with older less version
  217. - Fixed bookmarks not being automatically created at first "add"
  218. - Call to shell commands has been refactorised to improve compatibility with python 3.6 (with testing from Pelle Nilsson)
  219. - requirements.txt has been contributed by Toby Kurien. Thanks!
  220. => gemini://rawtext.club/~ploum/2022-04-02-offpunk13.gmi
  221. ## 1.2 - March 24th 2022
  222. Very experimental release:
  223. - Completely rewritten the HMTL, Gemtext and Gopher renderer. Tests needed!
  224. - Removed dependancy to ansiwrap. We don’t use it anymore (which is an important achievement)
  225. - Lists are now accessed via the protocol "list://".
  226. - "view full" can now be bookmarked/synchronized as a separate entity.
  227. - "view normal" introduced to get back to the normal view.
  228. Small improvements:
  229. - Limit width of --sync output
  230. - Solved list names becoming very long in the history
  231. - Fixed a crash when trying to save a folder
  232. => gemini://rawtext.club/~ploum/2022-03-24-ansi_html.gmi
  233. ## 1.1 - March 18th 2022
  234. - Perfect rendering of pictures with chafa 1.8+ and compatible terminal (Kitty)
  235. - timg is supported as an alternative to chafa (with a little glitch)
  236. - "cp cache" put the path of the cached content in clipboard
  237. - "cp url X" will copy the URL of link X (suggested by Eoin Carney)
  238. - "fold" has been removed as it doesn’t work well and can be replaced with "!fold".
  239. - Improved clipboard URL detection an fixed crash when binary in clipboard
  240. - HTML: renderering of <pre> has been improved
  241. - HTML: links in titles were previously missed
  242. - Fixed crash when chafa is not installed (Thanks Xavier Hinault for the report)
  243. - Fixed crash when python-readability not installed (Thanks Nic for the report)
  244. - Fixed some gif not being displayed
  245. - Fixed some URL being wronlgy interpreted as IPv6
  246. ## 1.0 - March 14th 2022
  247. - Default width is now the standard 72
  248. - Content and pictures now centered for more elegant reading
  249. - "less" has been renamed "view"
  250. - "view feed" and "view feeds" to see the first/all feeds on a HTML page
  251. - "view full" has been improved by dropping inline CSS and JS.
  252. - "up" can now take integer as argument to go up multiple steps.
  253. - Fixed a crash when accessing links in list (thanks Matthieu Talbot for the report)
  254. - Fixed a crash in "info" due to a typo in a variable name rarely accessed.
  255. - Removed dependancy to python-xdg by implementing the logic (which saved lines of code!)
  256. - python-pil is only needed if chafa < 1.10
  257. => gemini://rawtext.club/~ploum/2022-03-14-offpunk_and_cyberpunk.gmi
  258. ## 0.9 - March 05th 2022
  259. - Initial Spartan protocol support
  260. - Http links with content above 20Mo are not downloaded during sync (except when explicitely requested)
  261. - Improving subscriptions with more feedback and better detection
  262. - Avoid deprecated SSL methods (thanks Phoebos for the report)
  263. - Links in to_fetch are fetched, no matter the cache
  264. - Fixed multiple crashes
  265. => gemini://rawtext.club/~ploum/2022-03-05-offpunk09.gmi
  266. ## 0.4 - Feb 21st 2022
  267. UPGRADE: Users who subscribed to pages before 0.4 should run once the command "list subscribe subscribed". Without that, the subscribed list will be seen as a normal list by sync.
  268. - New list command : "list freeze" and "list suscribe"
  269. - Pictures are now displayed directely in terminal (suggested by kelbot)
  270. - "open" command to open current page/image/file with external handler.
  271. - "set width XX" now works to set the max width. If smaller, terminal width is used (thanks kelbot for reporting the bug)
  272. - RSS feeds are now rendered as Gemlogs to improve consistency while browsing
  273. - "subscribe" will detect feeds in html pages if any
  274. - "less" will restore previous position in a page (requires less 572+)
  275. - Improved syncing performances and multiple bug/crash fixes.
  276. - "version" will now display info about your system installation
  277. - "info" command will display technical information about current page
  278. - "sync" allows you to do the sync from within Offpunk
  279. => gemini://rawtext.club/~ploum/2022-02-21-offpunk04.gmi
  280. ## 0.3 - Feb 11th 2022
  281. New Features:
  282. - Gopher supported natively (early version, might have many bugs)
  283. - support for RSS and Atom feed (you can subscribe to them)
  284. - "less full" allows to see the full html page instead of only the article view
  285. (also works with feeds to see descriptions of each post instead of a simple list)
  286. - Option --depth to customize your sync. Be warned, more than 1 is crazy.
  287. - Option --disable-http to allows deep syncing of gemini-only ressources
  288. - Vastly improved HTML rendering with support for images (you need the binary "chafa" on your system)
  289. Other Small Improvements:
  290. - Disabled https_everywhere by default (caching problems and some websites not supporting it)
  291. - Modified --sync logic to make it more intuitive (thanks Bjorn Westergard)
  292. - Caching more problems to avoid refetch
  293. - Offpunk has now an User-Agent when http browsing to avoid being blocked as a bot
  294. - Changed XDG logic to improve compatibility (thanks Klaus Alexander)
  295. => gemini://rawtext.club/~ploum/2022-02-11-offpunk03.gmi
  296. ## 0.2 - Jan 31st 2022
  297. - config directories have been moved to follow the XDG specifications
  298. - support for http, https and mailto links (https_everywhere is enabled by default, see "set" command)
  299. - support for HTML pages, rendered as articles
  300. - Mutiple bookmarks lists and management of them through commands list, add, archive, move
  301. - Subscriptions have been moved to a separate list with the subscribe command
  302. - History is persistent and saved to disk
  303. - Copy command allows to copy content or url into buffer
  304. - Search as been renamed find, in the hope of implementing a real search in the future
  305. - --fetch-later allows to mark a content to be fetched from other software.
  306. - --assume-yes allows to choose the default answer to certificates warnings during --sync.
  307. => gemini://rawtext.club/~ploum/2022-01-31-offpunk02.gmi Announcing Offpunk 0.2
  308. ## 0.1 - Jan 3rd 2022
  309. - initial release as an independant software from AV-98 (thanks solarpunk)
  310. - Including contributions published by Bjorn on Notabug (thanks ew0k)
  311. - less used by default for all content with custom options
  312. - online/offline mode
  313. - content is cached for offline use
  314. - bookmarks are cached and subscribed through the --sync option
  315. - tour is persistent and saved to disk
  316. - reload while offline mark the content to be fetched during next --sync
  317. => gemini://rawtext.club/~ploum/2022-01-03-offpunk.gmi Announce of Offpunk 0.1