GNU Artanis 1.0.0 released
Brief history of GNU Artanis
GNU Artanis was born in 2013, and it's a web application framework written in Guile Scheme. It's designed to be simple and easy to use, and it's suitable for small to medium web applications. It's licensed under GPLv3+ and LGPLv3.
In the beginning, Artanis was largely inspired by Ruby on Rails to generate the scaffold code as possible. And the URL remapping API was inspired by Sinatra, another web framework of Ruby. That's why it's named "Artanis", since it's a reversed "Sinatra".
But as time goes by, Artanis has its own features and design.
The first convention of Artanis is "Scheme only", we don't intend to write C code for extension as possible, unless it's really necessary. So far, we still don't have any C code in Artanis. The contributors may provide extension in C, but the Artanis core is still pure Scheme. That's because GNU Guile provides great features to interact with C libraries, which is the original reason why Guile exists.
The default server core of Artanis is named "Ragnarok", which is high performance asynchronous non-blocking server design based on co-routine. Notably, the co-routine is implemented in pure Scheme feature called Delimited Continuation.
GNU Artanis is both the official project of GNU operating system, and HardenedLinux community.
1.0.0 means the maturity of Artanis
Although there're incomplete features, and potential bugs, we decide to release Artanis 1.0.0. This means the current archtecture of Artanis is mature enough during the previous long time (since 2013) test and product environment. We will keep the API compatibility in the future releases.
What's new in 1.0.0
First, we move the third-party libraries like guile-json, guile-redis out of Artanis. There's historical reason, in the old time, Guile has no package manager, so we decide to integrate necessary components into Artanis. But now, Guile has a package manager like "Guix". We have to remove the integrated libraries to make Artanis cleaner, and let users decicde the version of the external libraries.
Second, we fixed a lot of issues to help Artanis based web applications to be packaged with Guix. The previous version has some temporary files in immutable path.
Third, we have a new website for Artanis, which is based on org-mode and ox-html. The site was self-hosted, and we don't need gh-pages branch anymore, and we move the manual to the master branch for better way for contribution.
Where to download
Here's the official release announcement in GNU mailing list.
How to start
You may want to start from the manual.
If you're under Ubuntu, you may also checkout this article for Artanis-0.6, the dependencies are compatible, and you may change it to 1.0.0 for building.
After installation, you may start with the manual.
Please raise issue on GitLab or just send mail to [email protected].
Happy hacking!