Nyxt 3 Pre-release 1 (a Lisp powered web browser)

[ comments ]

2022-07-12, updated: 2022-07-14

Tags: release.

Nyxt 3 Pre-release 1

We are so happy to announce that after 6 months some 1.5K+ commits, we are ready to show you a preview of Nyxt 3! As always, there's a lot of new features (bugs), so your feedback is critical!

This is a test release for everyone to try out before the final release. It contains experimental features and some parts are still unfinished. Please feel free to share your feedback on our GitHub issue tracker!

You can Download Nyxt 3 Pre-release 1 here.

Notable highlights:

  • The auto-config file is now suffixed with the major version number. This means that upgrading Nyxt to a new major version will ignore the previous auto-configuration (which probably wouldn't work anyways).
  • UserScript support (such as GreaseMonkey scripts).
  • New prompt-buffer fuzzy matching algorithm, hopefully offering more relevant results. (Thanks to @BlueFlo0d!)
  • New support for the Gopher and Gemini protocols.
  • Headless mode available through --headless CLI switch. Initfile becomes the script to run in the headless instance on Nyxt.
  • New save-input-data, set-input-data-from-saved and set-input-data-from-saved-domain commands to record and restore input fields.
  • Color-picker support when native-dialogs enabled.
  • Internal pages are now using the Nyxt URL scheme. They support the Lisp protocol to allow evaluating arbitrary Lisp, for instance from a button click. Internal pages also have a URL now, which means they have history support.
  • New define-internal-scheme helper to define custom schemes.
  • jump-to-heading command now sort and indent the headings in a natural fashion based on their order on the page.
  • New next-heading and previous-heading commands to jump between neighboring headings.
  • New match-port URL designator predicate for auto-mode rules.
  • New toggle-message-buffer and toggle-status-buffer commands.
  • New bookmark-frequent-visits mode.
  • New repeat-key command repeating the provided key as many times as you like.
  • Revamped lisp-repl. Multiple commands can be run at the same time. Results can be referred to via dynamic variables.
  • The history-tree buffer links are now clickable and navigate the corresponding buffer to the corresponding history entry.
  • The source code is now shipped together with Nyxt. This enables to inspect the source of most Nyxt functions.
  • Slynk is a new dependency and SLY users can now connect to a running Nyxt instance with the start-slynk command. (Thanks to @jgart!)
  • Nyxt-native debugger available via toggle-debug-on-error.
  • Better Lisp values inspection in describe-* commands and lisp-repl, extensible through value->html method.
  • Universal describe-* commands describing things in any Nyxt-accessible package. Available via C-h u key prefix.
  • *after-startup-hook* to attach headless mode actions or configuration to.
  • New nyxt-unstable *features* when built from source on an untagged commit. A feature with the commit is also added.
  • New theme library.
  • Input processing is now easier to customize with command-dispatcher and input-skip-dispatcher slots of window.
  • The core nyxt packages are now locked to prevent against accidental clobbering from the user side.
  • New ffi-buffer-load-html and ffi-buffer-load-alternate-html. This is useful to set the buffer content without resorting to expensive JavaScript calls.
  • General purpose helpers can be found in the nyxt/utilities package.
  • New nxref Spinneret tag for cross-referencing.

For the complete change list, please consult the built-in changelog command.

We hope you enjoy these new features, and that they help make you more productive. Thanks for reading :-)


Below are a few screenshots! Please bear in mind, this list is not exhaustive!

A new default theme

A new default theme that is more readable and meets all contrast requirements for accessibility.

Improved jump to heading

Sections are now sorted by their naturally occuring order in a document. They additionally show their depth/level in the prompt buffer.

A better Lisp REPL

The Lisp REPL now offers completion to help you test things on the fly!

Results in the Lisp REPL are intelligently rendered depending on the data structure they are. A list for example is displayed as a list!

Better symbol search

The new describe-any command allows you to find information about anything regardless of whether it is a function, a class, a slot, or otherwise!

Access to the Gopherspace!

With support for Gemini and Gopher, Nyxt is capable of accessing and browsing the alternative (small) web!

Did you enjoy this article? Register for our newsletter to receive the latest hacker news from the world of Lisp and browsers!

  • Maximum one email per month
  • Unsubscribe at any time

[ comments ]