Skip to content

Releases: makew0rld/amfora

v1.10.0

18 Mar 00:25
2534983
Compare
Choose a tag to compare

Hello all! This will likely be the final release of Amfora. For more information, please see my blog post. Thanks to all the users and especially the contributors, who made this project the personal success it was for me.

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Added

  • Syntax highlighting for preformatted text blocks with alt text (#252, #263, wiki page)
  • Client certificates can be restricted to certain paths of a host (#115)
  • header config option in [subscriptions] to allow disabling the header text on the subscriptions page (#191)
  • Selected link and scroll position stays for non-cached pages (#122)
  • Keybinding to open URL with URL handler instead of configured proxy (#143)
  • include theme key to import themes from an external file (#154, #290)
  • Support SOCKS5 proxying by setting AMFORA_SOCKS5 environment variable (#155)
  • When bookmarking a page, the first level one heading is suggested as the name (#267, #293)
  • Confirmation prompts for URL schemes in new [url-prompts] config section (#301, #302)

Changed

  • Center text automatically, removing left_margin from the config (#233)
  • max_width defaults to 80 columns instead of 100 (#233)
  • Tabs have the domain of the current page instead of numbers (#202)
  • Closing Amfora with q was removed in favor of Shift-q (#243)
  • Paging up or down scrolls by 50% instead of 75%, to match less (#303)
  • Update deps, require Go 1.17 (#336)
  • Show local directory index file if available (#319)
  • Updated Project Gemini URLs (#342)

Fixed

  • Modal can't be closed when opening non-gemini text URLs from the commandline (#283, #284)
  • External programs started by Amfora remain as zombie processes (#219)
  • Prevent link lines (and other types) from being wider than the max_width setting (#280)
  • new:7 on new tab page fails to open link (#306)
  • Slashes aren't decoded in redirect URLs (#322, #324)
  • Typing localhost in the bottom bar actually loads localhost instead of searching (#326, #327)

v1.9.2

10 Dec 16:55
Compare
Choose a tag to compare

This is quick bug fix release, fixing a bug for those who have color = false in their config. Is anyone running Amfora on hardware where this is necessary? Feel free to reach out if you are, that sounds interesting :)

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Fixed

  • Preformatted text color showing even when color = false (bug since v1.8.0 at least) (#278)
  • Link numbers and link text in color even when color = false (regression in v1.9.0) (#278)

v1.9.1

08 Dec 23:06
Compare
Choose a tag to compare

This is quick bug fix release, fixing two bugs that would cause Amfora to hang or crash.

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Fixed

  • Deadlock when loading an invalid about: URL (#277)
  • Crash when rendering text from stdin

v1.9.0

08 Dec 03:21
Compare
Choose a tag to compare

Hello everyone! It's been a while. In fact, this has been the longest interval between releases yet, around 11 months. There was a time back in May when I thought I might stop Amfora development altogether, at least after this release. I'm happy to report I no longer that feel that way. Development won't be super regular, as I have Life to attend to as well as other projects, but I still enjoy working on the project and using Amfora. Onward and upward!

If you'd like to support Amfora development, as well as my other Gemini projects, you can sponsor me through Ko-Fi or Github Sponsors. Thanks!

Major Feature

I wouldn't say this release contains any major feature, but I've bolded some changes below that I think might be more important.

User Info

There are some changes to the default config in this release. Old config files will work the same but if you want the new defaults, you can delete the file and let Amfora create the new default one, or modify it yourself.

The default theme of Amfora was changed, now the user's default terminal colors are used. See #181 for details. If you want the original Amfora theme back, copy this file into your config, replacing the [theme] section.

The default search engine was changed to geminispace.info because gus.guru has been down for months and will continue to be for the foreseeable future. geminispace.info is the same code, but a new person hosting the search engine. Set search equal to "gemini://geminispace.info/search" in [a-general] to match this new default.

The key other in the [url-handlers] section now has a default value of 'default'. The old value of "off" will still work, but this new value means non-gemini URI schemes like magnet or gopher will be opened in your OS's default application. See the wiki page for details.

If you are on Windows and have an XDG environment variable set when running Amfora, your settings, bookmarks, and subscriptions will appears to be lost on setup. You can find them in %APPDATA%, and copy them over to the approriate XDG folder. See #255 for details. If you don't know what I'm talking about it likely doesn't apply to you.

You can view the full default configuration file for v1.9.0 here. You can compare it to yours and use it as a reference, or for documentation.

Changelog

The following is copied from the CHANGELOG.md file in this repo, with added bolding.

Added

  • Support for version 1.1 JSON feeds
  • Copy current URL or selected URL to clipboard (#220, #225)
    • Uses C and c by default
  • Configurable keybindings for scrolling on pages (#211, #222)
  • Ability to save about: pages (#210, #236)
  • bind_beginning and bind_end keybindings
  • Display gemtext from stdin (#205, #242)
  • Specifying default in the theme config uses the terminal's default background color, including transparency (#244, #245)
  • Redirects occur automatically if it only adds a trailing slash (#271)
  • Non-gemini links are underlined by default to help color blind users (#189)
  • Text and element colors of default theme change to be black on terminals with light backgrounds (#181)
  • Support paths with spaces in [url-handlers] config settings (#214)
  • Display info modal when opening URL with custom application
  • Files can be opened by relative path on the commandline (#231, #257)
  • Support keybindings that use Shift (#269)

Changed

  • Bookmarks are stored using XML in the XBEL format, old bookmarks are transferred (#68)
  • Text no longer disappears under the left margin when scrolling (regression in v1.8.0) (#197)
  • Default search engine changed to geminispace.info from gus.guru
  • The user's terminal theme colors are used by default (#181)
  • By default, non-gemini URI schemes are opened in the default application. This requires a config change for previous users, see the wiki (#207)
  • Windows uses paths set by XDG variables over APPDATA if they are set (#255)
  • Treat status codes like 22 as equivalent to 20 as per the latest spec (#266)
  • Show minimal loading page instead of about:newtab when loading a URL in a new tab (#272)

Removed

  • Favicon support (#199)
  • The default Amfora theme, get it back here (#181)

Fixed

  • Help text is now the same color as regular_text in the theme config
  • Non-ASCII (multibyte) characters can now be used as keybindings (#198, #200)
  • Possible subscription update race condition on startup
  • Plaintext documents are escaped properly (regression in v1.8.0)
  • Help page scrollbar color matches what's in the theme config
  • Regression where lists would not appear if bullets = false (#234, #235)
  • Support multiple bookmarks with the same name
  • Cert change message grammar: "an security" -> "a security" (#274)
  • Display an error modal for status codes that can't be handled
  • Prevent user from getting trapped in the help menu when keybindings are pressed (#241, #261)

v1.8.0

17 Feb 20:53
Compare
Choose a tag to compare

Major Feature

The major feature of this release is media type handlers. You can now open files from Gemini directly in your default application. A more advanced user can override what application is used, and even specify to stream certain file types, like to always stream videos with VLC. See the wiki for more details.

If you'd like to support Amfora development, as well as my other Gemini projects, you can sponsor me through Ko-Fi or Github Sponsors. Thanks!

User Info

Users of Amfora do not need to make any changes to their setup. But you want to configure some of the new features, you will need to change your configuration file. You can delete the file and let Amfora create the new default one, or modify it yourself.

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Added

  • Media type handlers - open non-text files in another application (#121, #134)
  • Ability to set custom keybindings in config (#135)
  • Added scrollbar, by default only appears on pages that go off-screen (#89, #107)
  • More internal about pages, see about:about (#160, #187)

Changed

  • Update cview to d776e728ef6d2a9990a5cd86a70b31f0678613e2 for large performance and feature updates (#107)
  • Update to tcell v2 (dependency of cview)
  • Display page even if mediatype params are malformed (#141)
  • Sensitive input fields (status code 11) display with asterisks over the text (#106)

Fixed

  • Don't use cache when URL is typed in bottom bar (#159)
  • Fix downloading of pages that are too large or timed out
  • about: URLs can be typed into the bottom bar (#167)
  • Bookmarks modal closes on ESC like the others (#173)
  • Handle empty META string (#176)
  • Whitespace around the URL entered in the bottom bar is stripped (#184)
  • Don't break visiting IPv6 hosts when port 1965 is specified (#195)
  • More reliable start, no more flash of unindented text, or text that stays unindented (#107)
  • Pages with ANSI resets don't use the terminal's default text and background colors (#107)
  • ANSI documents don't leak color into the left margin (#107)
  • Rendering very long documents is now ~96% faster, excluding gemtext parsing (#26, #107)
  • Due to that same change, less memory is used per-page (#26, #107)

v1.7.2

24 Dec 04:59
Compare
Choose a tag to compare

This is a bugfix release, fixing a bug that could cause Amfora to crash when viewing subscriptions, after subscribing to a specific kind of URL. See #157 for details.

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Fixed

  • Viewing subscriptions after subscribing to a certain user page won't crash Amfora (#157)

v1.7.1

21 Dec 17:46
Compare
Choose a tag to compare

This is an emergency release, as there was a bug that could cause Amfora to panic when subscribing. See #151 for details.

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Fixed

  • Fixed bug that caused Amfora to crash when subscribing to a page (#151)

v1.7.0

21 Dec 04:37
Compare
Choose a tag to compare

This release has its own gemlog post. You can read it at gemini://makeworld.space/gemlog/2020-12-20-amfora_v1-7-0.gmi.

Major Feature

The major feature of this release is subscriptions. You can now subscribe to feeds and page inside Amfora and keep track of them! It's your own personal feed aggregator, like CAPCOM and Spacewalk.

Amfora also now has a wiki. If you want to learn about how subscriptions work, or any other feature, that's the place to look.

If you'd like to support Amfora development, as well as my other Gemini projects, you can sponsor me through Ko-Fi or Github Sponsors. Thanks!

User Info

Users of Amfora do not need to make any changes to their setup. But you want to configure some of the new features, you will need to change your configuration file. You can delete the file and let Amfora create the new default one, or modify it yourself.

There is now a [subscriptions] section (see here), as well as a new cache.timeout option (see here), as cached pages will now only be valid for 30 minutes by default.

If you have your own theme for Amfora, you'll want to know that some keys have changed and some new ones have been added. Please check out #149 for more info.

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Added

  • Subscriptions to feeds and page changes (#61)
  • Opening local files with file:// URIs (#103, #117)
  • show_link option added in config to optionally see the URL (#133)
  • Support for Unicode in domain names (IDNs)
  • Unnecessarily encoded characters in URLs will be decoded (#138)
  • URLs are NFC-normalized before any processing (#138)
  • Links to the wiki in the new tab
  • Cache times out after 30 minutes by default (#110)
  • about:version page (#126)

Changed

  • Updated go-gemini to v0.11.0
    • Supports CN-only wildcard certs
    • Time out when header takes too long
  • Preformatted text is now light yellow by default
  • Downloading a file no longer uses a second request
  • You can go back to the new tab page in history (#96)

Fixed

  • Single quotes are used in the default config for commands and paths so that Windows paths with backslashes will be parsed correctly
  • Downloading now uses proxies when appropriate
  • User-entered URLs with invalid characters will be percent-encoded (#138)
  • Custom downloads dir is actually used (#148)
  • Empty quote lines no longer disappear

v1.6.0

05 Nov 02:51
Compare
Choose a tag to compare

Major Feature

The major feature of this release is early support for client certificates, thanks to @tslocum. You can specify a cert and key file for each domain in the configuration file, and it will be sent to the domain automatically. Eventually, a proper client cert UI will be added, to support generating, managing, and import certs, from within Amfora. For now, you will have to generate the cert and key yourself, and then edit the config to use it. See the README for generation instructions.

If you'd like to support Amfora development, as well as my other Gemini projects, you can sponsor me through Ko-Fi or Github Sponsors. Thanks!

I have also added a THANKS.md file, to acknowledge all the contributors to Amfora. Thank you!

User Info

Users of Amfora do not need to make any changes to their setup. But you want to configure some of the new features, you will need to change your configuration file. You can delete the file and let Amfora create the new one, or modify it yourself.

See the new section for client certs here:

[auth]
# Authentication settings

[auth.certs]
# Client certificates
# Set domain name equal to path to client cert
# "example.com" = "mycert.crt"

[auth.keys]
# Client certificate keys
# Set domain name equal to path to key for the client cert above
# "example.com" = "mycert.key"

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Added

  • Support client certificates through config (#112)
  • ansi config setting, to disable ANSI colors in pages (#79, #86)
  • Edit current URL with e (#87)
  • If emoji_favicons is enabled, new bookmarks will have the domain's favicon prepended (#69, #90)
  • The BROWSER env var is now also checked when opening web links on Unix (#93)
  • More accurate error messages based on server response code

Changed

  • Disabling the color config setting also disables ANSI colors in pages (#79, #86)
  • Updated go-isemoji to v1.1.0 to support Emoji 13.1 for favicons
  • The web browser code doesn't check for Xorg anymore, just display variables (#93)
  • Bookmarks can be made to non-gemini URLs (#94)
  • Remove pointless directory fallbacks (#101)
  • Don't load page from cache when redirected to it (#114)

Fixed

  • XDG user dir file is parsed instead of looking for XDG env vars (#97, #100)
  • Support paths with spaces in HTTP browser config setting (#77)
  • Clicking "Change" on an existing bookmark without changing the text no longer removes it (#91)
  • Display HTTP Error if "Open In Portal" fails (#81)
  • Support ANSI color codes again, but only in preformatted blocks (#59)
  • Make the .. command work lke it used to in v1.4.0

v1.5.0 - Emoji favicons, Proxies

02 Sep 00:20
Compare
Choose a tag to compare

Major Features

This release has two major features: emoji favicons, and proxies.

Emoji favicons are an unofficial addition to Gemini (see the draft RFC), and really make Amfora look nice. They are disabled by default, but can be enabled in the config.

The Gemini protocol has always had support for proxies built-in, and now Amfora makes use of that. If you want view Gopher pages in Amfora, you can now install Agena and configure Amfora to use it for Gopher pages. If you want to view a simplified version of the web you can install the Duckling Proxy and view HTTP(S) pages in Amfora too.

If you'd like to support Amfora development, as well as my other Gemini projects, you can sponsor me through Ko-Fi or Github Sponsors. Thanks!

User Info

Users of Amfora do not need to make any changes to their setup. But you want to configure some of the new features, you will need to change your configuration file. You can delete the file and let Amfora create the new one, or modify it yourself.

Here are the new options:

  • emoji_favicons in the [a-general] section
  • The [url-handlers] section, for opening non-gemini URLs in a specific program
  • The [proxies] section, for the new proxying feature

Changelog

The following is copied from the CHANGELOG.md file in this repo.

Added

  • Proxy support - see the [proxies] section in the config (#66, #80)
  • Emoji favicons can now be seen if emoji_favicons is enabled in the config (#62)
  • shift_numbers key in the config was added, so that non US keyboard users can navigate tabs (#64)
  • F1 and F2 keys for navigating to the previous and next tabs (#64)
  • Resolving any relative path (starts with a .) in the bottom bar is supported, not just .. (#71)
  • You can now set external programs in the config to open other schemes, like gopher:// or magnet: (#74)
  • Auto-redirecting can be enabled - redirect within Gemini up to 5 times automatically (#75)
  • Help page now documents paging keys (#78)
  • The new tab page can be customized by creating a gemtext file called newtab.gmi in the config directory (#67, #83)

Changed

Fixed

  • Two digit (and higher) link texts are now in line with one digit ones (#60)
  • Race condition when reloading pages that could have caused the cache to still be used
  • Prevent panic (crash) when the server sends an error with an empty meta string (#73)
  • URLs with with colon-only schemes (like mailto:) are properly recognized
  • You can no longer navigate through the history when the help page is open (#55, #78)