Marten 0.2 has been released!

Hey everyone! :wave:

I am glad to announce that Marten 0.2 has been released! :rocket:


Marten is a Crystal web framework that makes building web applications easy, productive, and fun. The 0.2 release adds key features to the framework such as authentication, email sending, raw SQL query capabilities, … You can check out the full changelog for an overview of all the new features and changes that are part of this release.

Main new features

  • Email sending - Marten now allows the definition of emails that can be fully customized (properties, header values, etc) and whose bodies (HTML and/or text) are rendered by leveraging templates.
  • Authentication - The framework now provides the ability to generate projects with a built-in authentication application that handles basic user management needs: signing in/out users, resetting passwords, etc. This can be achieved through the use of the --with-auth option of the new management command.
  • Raw SQL capabilities - Query sets now provide the ability to perform raw SQL queries that are mapped to actual model instances.
  • Email field for models and schemas - It is now possible to define email fields in models and schemas. These allow you to easily persist valid email addresses in your models but also to expect valid email addresses in data sets validated through the use of schemas.
  • Transaction callbacks - Models now support the definition of transaction callbacks by using the #after_commit and #after_rollback macros.

What’s next?

The Marten framework is still young, and as such, I am still looking for feedback from people who would like to play with it and/or leverage it in simple projects!

If you find a bug or if you want to contribute and share ideas regarding the framework, don’t hesitate to open an issue/discussion in the project’s issue tracker on GitHub or chat with us in our Discord. Any help will be greatly appreciated! :pray:

And if you are new to Marten, here are a few ideas on how you can get started:

Thanks for reading me!