CHANGELOG 19 KB

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