What's new in GNU Artanis 0.4

First, I'd recommend newbies try to use docker for painless installation.

Now let's figure out what's new in 0.4:

Auto authentication 

If you're writing a dashboard page, or RESTful API, you may need authentication. In 0.4, we provide a new feature to authenticate automatically:

(get "/dashboard" 
 #:with-auth "/dashboard/login"
 (lambda (rc) ...)) ; render dashboard page 

You may use #:with-auth to specify the login page URL. When users visit "/dashboard", Artanis will try to check the SID from cookies, if the authentication failed, then it'll redirect to the URL automatically.

Artanis provide many patterns in #:with-auth for you, please check it out in the manual.

Dynamic system page rendering

If you encouter any status other than 200, then Artanis will throw a system page for indicating an exception. In the previous, Artanis only support static system page, say, you have to put your customized 404.html to sys/pages/ directory of application folder.

Now we support dynamic, for example:

 (lambda () "My prefered 404 page!"))

So you may generate JSON for exceptional status, this is helpful in WebAPI. Another way is to render a view in MVC. Depends on your requirements. Please check it out in the manual.

Clean and refresh before starting server core

Here're the situations you should clean cache and recompile all your WebApp modules:

1. You upgraded Artanis or any dependencies libs.

2. You changed the code in lib/ directory of application folder.

3. You want to make sure the caches are clean for debugging.

Now you have a friend:

art work --refresh

A breaking change (I'm sorry)

The redirect-to API changed two things:

1. Since 0.4, redirect-to will always generate absolute URL for Location header.

2. Removed #:scheme, which is unnecessary now.

The details and technical explanation is in the manual.

Any more?

There're some other small features, I just list most notable new features. Please read the Changes in release log.