A Crystal web framework that makes building applications fast, simple, and enjoyable. Get started with quick prototyping, less bugs, and blazing fast performance.
This release supports Crystal 0.35.0. There are several breaking changes in this version.
A list of changes that you will need to perform to upgrade your 0.34.0 project to 0.35.0 are documented here: https://github.com/amberframework/amber/issues/1204
Contributions:
Thanks everyone for your contributions!
List of contributions: b025e76 Quick fix for auth template, see issue #1174 (#1182) @andrewc910 70683b7 update crystal to 0.33.0 and micrate to 0.6.0 version (#1180) @drujensen 9d10172 Update to Crystal 0.33.0 (#1178) @bcardiff 8ee543d Update crystal-redis dependency (#1176) @D1ceWard
6cd9acb Remove X-Powered-By header by default (#1134) @nsuchy 7834fa6 Fix table of contents at CONTRIBUTING.md (#1153) @MatheusRich 0726f55 Fix specs (#1147) @drujensen @bbaragar @samholst 7b9f3c2 Crystal 0.31.0 (#1142) @bcardiff aaadc57 Change flash message grammar (#1140) @ashishbista f609524 Update {{name}}.cr.ecr (#1143) @nsuchy
fixed makefile so link and force_link functions create symlinks using #1130 by bbaragar Updates crystal version to 0.30.1 by elorest
BREAKING CHANGES The DSL for Granite have been changed. In order to upgrade from 0.29.0 or earlier, make the following modifications:
In the config/database.cr
, replace the Granite::Adapters line with:
Granite::Connections << Granite::Adapter::Mysql.new(name: "mysql", url: Amber.settings.database_url)
In your models, replace adapter
with connection
, table_name
with table
, primary
with column .., primary: true
, and field
with column
. Also, add a ?
for Nilable columns. Here is an example model:
class Post < Granite::Base
connection mysql
table posts
belongs_to :user
column id : Int64, primary: true
column title : String?
column body : String?
timestamps
end
Upgrades crystal to v0.28.0 and minor spec fixes #1094 by jayleeran Add constraints support for routes #1090 by kvirani was merged 2 days ago Fixed bug where file_reload initialized for tasks, db, exec, etc instead of just server #1088 by elorest
Fixed bug where file_reload initialized for tasks, db, exec, etc instead of just server (#1088) by elorest
Fix settings and dep injection (#1084) by elorest
adding error validation to the authentication (#1073) by alex-min
adding an option to print the routes as json (#1072) by alex-min
reload the i18n locale files automatically (#1071) by alex-min
adding a errors method to the validator to reuse the errors (#1069) by alex-min
set AMBER_ENV to 'test' when testing (#1068) by damianham
Adding more details in the 500 errors, issue #1064 (#1067) by alex-min
allow saving a blank value to an Optional param (to clear out a previously saved value) (#1066) by anamba
fixing firefox reload bug, issue #1023 (#1065) by alex-min
fixing the "Read Amber quick start guide" link in the README (#1063) by alex-min
Align session nav links on the right of the nav bar (#1060) by damianham
Remove --deps flag from CLI header text (#1057) by kevinelliott
Change shield.io badge label from "tag" to "version" in readme (#1056) by westonganger
Add script ./bin/amber_spec (#1055) by westonganger
added blocks to respond with (#1054) by elorest
Make Generated ErrorController inherit from ApplicationController (#1052) by westonganger
Re-add default export to Amber.js (#1051) by jackturnbull
Makes settings.secrets usable for end users. (#1048) by elorest
Add method Amber::Validators::Params#to_unsafe_h
(#1043) by westonganger
Dont add specific require for error pipe as all pipes are already required (#1040) by westonganger
Add return type for has_key? methods (#1038) by westonganger
Treat mailer as first class citizen in new app (#1037) by westonganger