frost v0.2.3

Full Featured Web Framework for the Crystal Programming Language


  • v0.2.3 - March 23, 2016
  • v0.2.2 - February 18, 2016
  • v0.2.1 - January 22, 2016
  • v0.2.0 - January 13, 2016
  • v0.1.0 - December 25, 2015



Full featured MVC Web Framework for the Crystal programming language, largely inspired by Ruby on Rails (ie. implements most of its API).

Frost is to Ruby on Rails what Crystal is to Ruby: similar API, developer hapiness and productivity, but enhanced with static typing (mostly hidden) and incredible performance.


Frost is in developer preview, and must be considered alpha software until further notice. Features may be added, dropped, tweaked, or changed at any time. Please experiment with Frost, contribute to Frost, let's make it incredible, but build software with it at your own risk!

TLDR: using Frost is like using Crystal. It's great, but be prepared to fix your software on a regular basis.

You've been warned :-)


Start by cloning the Frost repository, then use the application generator to bootstrap your project. For example for a myapp application:

$ git clone
$ crystal frost/src/ -- new myapp
$ cd myapp
$ crystal deps install

Getting Started

Nothing fancy, just the regular flow:


  • write migrations in db/migrations;
  • create models in app/models;
  • write tests in test/models.

Application Logic:

  • add routes to config/;
  • create controllers and actions in app/controllers;
  • design views in app/views;
  • write tests in test/controllers.

See Getting Started With Frost for an example.


Since Crystal introduces changes on a regular basis, Frost may not compile with the version of Crystal you are using.

The Frost master branch should follow changes in Crystal's master branch, and thus require the Crystal master branch.

Frost releases should always be usable with the latest Crystal release. In some cases it may require the previous Crystal release. In this case, switching to the Frost master branch should fix the compilation errors until a new Frost release is made.


Thanks for considering to contribute! Please see CONTRIBUTING to get started.


Distributed under the MIT License. See MIT-LICENSE


  • The Ruby on Rails Team that modeled an awesome framework.
  • Julien Portalier (@ysbaddaden) for bringing it to Crystal.

The Frost Changelog

v0.2.3 - 2016-03-23


  • Upgraded to Crystal 0.14: breaking changes

v0.2.2 - 2016-02-18


  • Upgraded to Crystal 0.11: matches redesign of HTTP::Server
  • Upgraded to Crystal 0.12: minor changes
  • Use ECR escapes to generate application layout
  • Record#initialize now uses setter methods
  • Allow classes inheriting Record to be abstract (ie. abstract ApplicationModel < Frost::Record)
  • Always save Record datetimes at UTC
  • Parse time strings: ISO8601, RFC822, JSON (as generally accepted)


  • link_to_if and link_to_unless view helpers

v0.2.1 - 2016-01-22

Security Fixes:

  • File traversal vulnerability in PublicFileHandler


  • Application generator failed to compile

v0.2.0 - 2016-01-13

Security Fixes:

  • Directory traversal vulnerability in PublicFileHandler
  • MessageVerifier#verify always returned true (affected session cookie signatures)


  • Crystal 0.10.1 compatibility
  • concat view helper
  • Reworked Frost::Controller::Test methods for testing controllers (with documentation)
  • JSON Serialization of records (basic)
  • HttpsEverywhereHandler to redirect traffic from HTTP to HTTPS


  • LLVM failure with empty routes (affected OS X)
  • View helpers: tests and corrections (mostly Hash value types)
  • css_to_xpath couldn't have brackets in string
  • Recover from failed PG connections (eg: draconian )

v0.1.0 - 2015-12-25

Initial Release

Github statistic:
  • 110
  • 2
  • 5
  • 14
  • 10
  • 5 months ago


MIT License