[ANN] Nitrogen Web Framework 2.4 Released

Jesse Gumm gumm@REDACTED
Tue Nov 17 00:07:45 CET 2020

Hello Fellow Erlangers and (maybe some of you Nitrogenes)!

I'm proud to announce the 2.4 release of the Nitrogen Web Framework!

What is Nitrogen?

Nitrogen (http://nitrogenproject.com) is an event-driven Erlang web
framework that uses Erlang records to generate HTML and Javascript. It is a
server-side rendering framework with (usually) a live websocket connection
active at all times.

Highlights from version 2.4.0

* Added built-in Caching. The cache handler is, of course, customizable so
that you can plug in your own caching system if you like (Redis, memcached,
Mnesia, etc), but the default cache handler uses a caching application
called NitroCache (https://github.com/nitrogen/nitro_cache). NitroCache is
a basic ETS-based cache with a mutex to prevent simultaneous requests to
the same key from being calculated in parallel. (This is a heavily modified
fork of https://github.com/marcelog/simple_cache)
* Created a new library/tool called `rekt` (https://github.com/nitrogen/rekt)
that is sort of a parse_transform that allows inheritance with records.
Basically, you can define new records based on other records. This uses a
new module attribute called `-extend`. See the readme on the github page
for details.
* Nitrogen's templating system now supports Pandoc (https://pandoc.org) for
converting from and to various formats (like HTML, PDF, RTF, Markdown,
etc). For this functionality, you must have pandoc installed on your system.
* Added new tools to assist with creating Nitrogen plugins.
* All documentation has been converted to markdown (from org-mode) for
easier editing.
* The usual: New elements, actions, API functions, documentation, etc
* The Full Nitrogen Changelog:

One key callout for the Erlang veterans: Nitrogen is one of the few
projects still on Rebar2 and reltool. I have begun the work of converting
Nitrogen to rebar3/relx. Nitrogen has always relied heavily on some rebar2
and reltool hackery and I haven't had the time to rework it to support
rebar3 properly while maintaining backwards compatibility. Nitrogen 3 will
use Rebar3, and *may* break some backwards compatibility.

A few other things of note

As usual, binaries for self-contained quick-start development environments
with all supported web servers (Cowboy, Yaws, Mochiweb, Webmachine, Inets)
for all supported platforms (Linux, OSX, Windows, FreeBSD, Raspbian) are up
for download now on: nitrogenproject.com/downloads

Nitrogen now has a public roadmap and it's up at: trello.nitrogenproject.com

One final change, the #nitrogen IRC channel (on freenode) has been retired
in favor of a Discord channel. This is accessible via

Some Personal Stuff

Overall, I'm excited to finally have this new version released. It has been
an embarrassingly long time since the last release, and although it has
been so long, development has continued slowly and steadily. Nitrogen
remains my daily environment and developing with it and for it continues to
give me great joy.

There is another major announcement for Nitrogen coming this week. I'll
give you a hint: it involves a word that starts with "B" and rhymes with

C'mon! Get this over with already!

If anyone is interested in becoming an official part of the Nitrogen team,
please let me know. I know nobody really ever has time for open source, but
if you're running an application that depends on Nitrogen for revenue or
are a young go-getter who wants to change the world by working on a niche
framework for an esoteric programming language, hit me up.

Finally, thanks to everyone who contributed code, submitted bug reports and
issues, and asked questions. Every little bit helps and you folks are great
for it!

And of course, thanks to everyone in the Erlang and Elixir ecosystem. Since
coming into Erlang in the late 2000s (with the help of Joe's legendary
book), it has been so exciting watching the evolution of the community and
ecosystem (especially things like Rebar and Elixir).

The overarching BEAM community remains second-to-none.

Thanks all again, and happy hacking!


Jesse Gumm
Owner, Sigma Star Systems
414.940.4866 || sigma-star.com || @jessegumm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20201116/f64d42a3/attachment.htm>

More information about the erlang-questions mailing list