- Added: support for Crystal 0.31.1
- Fixed: how accept / content-type headers are handled #869
- Added:
ParamParsingError
for when parsing JSON params fails #874 - Updated:
Lucky::BaseHTTPClient
#875 - Updated: shell scripts for POSIX compliance #879
- Added:
date_input
,time_input
,datetime_input
#877 - Added: support for HTTP
PATCH
#885 - Added:
abbr
HTML tag #886 - Fixed: missing primary_key and timestamps in generated migrations #888
- Fixed:
pluralize
to take any Int #890 - Fixed: generation of migrations with resource see Commit
- Rename:
Lucky::HttpRespondable
toLucky::RenderableError
see Commit - Fixed:
accepts_format
, and a few other mime type issues #896 - Fixed: default curl requests to server not responding properly #899
- Rename:
handle_error
torender
inErrorAction
#903 - Rename:
render
tohtml
in Actions #905 - Update: error message when missing type declaration for
needs
#907 - Fixed: model generation allowing for non alphanumeric characters #910
- Updated: make more errors renderable #911
- Fixed: help messages now display for precompiled tasks #923
- Updated: default help messages for tasks #923
- Fixed: issue with precompile tasks running in some directories #924
- Added: SQL logging see Avram
- Updated: error message when postgres isn't running see Avram
- Updated:
Box.create_pair
allows for setting attributes, and returns instances see Avram - Added: ability to
clone
a query see Avram - Fixed:
add_belongs_to
in alter statement using wrong Int size see Avram - Fixed: incorrect error message from
SaveOperation
updates in 0.17 see Avram - Added:
between
query method see Avram - Added: ordering queries by
NULLS FIRST
andNULLS LAST
see Avram - Fixed: missing attributes from SaveOperation see Avram
- Added:
db.schema.restore
anddb.schema.dump
tasks see Avram - Added:
group
query method for doing GROUP BY see Avram - Updated: SchemaEnforcer see Avram
- Fixed: issue when calling
before
in SaveOperation see Avram - Added: JWT auth generation for API apps see LuckyCli
- Updated: Serializers to be smarter with collections see LuckyCli
- Updated: webpack to ignore
node_modules
directory see LuckyCli - Removed: cli
lucky init
task args see LuckyCli - Added: new
lucky init.custom
task to take args asinit
did before. - Fixed:
lucky init
to catch invalid project names properly. - Added: support for
browser_binary
in LuckyFlow see LuckyFlow
- Rename:
Avram::BaseForm
toAvram::SaveOperation
see Avram - Rename:
Avram::Field
toAvram::Attribute
see Avram - Update:
number_to_currency
now returnsString
instead of writing to the view directly. #809 - Fixed: bug in running
build.release
task. - Update: mounted components render comments to show start and end of component. #817
- Revert: returning
String
forhighlight
helper. #818 - Update: text helpers that write to the view moved to their own module. #820
- Rename:
fillable
topermit_columns
. see Avram - Added:
skip_if
option toLogHandler
. #824 - Rename:
Lucky::Exposeable
toLucky::Exposable
. #827 - Rename:
Lucky::Routeable
toLucky::Routable
. #827 - Added:
memoize
macro. #832 - Added:
table_for
macro. see Avram - Added:
xml
render method for Actions. #838 - Rename:
text
render action toplain_text
. #838 - Update:
responsive_meta_tag
to be flexible. #835 - Added:
Int16#to_param
andInt64#to_param
. - Fixed:
append/replace_class
with no default. #842 - Added: multi database support. see Avram
- Rename:
form_name
toparam_key
. see Avram - Fixed: 3rd party shards versions. #855
- Added: JSON support. see Avram
- Update: calling
first
ensures proper order by. see Avram - Update: specifying primary keys is more explicit now. see Avram
- Added: custom primary key name support. see Avram
- Added: column and primary key support for
Int16
. see Avram - Rename:
Query.destroy_all
toQuery.truncate
. see Avram - Fixed: model inference with table names. see Avram
- Rename:
virtual
toattribute
. see Avram - Rename:
VirtualForm
toOperation
. see Avram - Added: support for
Array
fields. see Avram - Rename: association query methods now prefixed with
where_
. see Avram - Added: query method to bulk delete. see Avram
- Update: association query methods no longer take a block. see Avram
- Added: support for polymorphic associations. see Avram
- Added:
db.rollback_to
task. see Avram - Added:
db.migrations.status
task. see Avram - Added:
db.verify_connection
task. see Avram - Fixed: calling
lucky -v
from a lucky project failed. see CLI - Update: name convention for operations to be
VerbNoun
. see CLI - Added:
change_type
macro for migrations. see Avram
- Added: support for Crystal 0.30.0
- Removed
Lucky::Action::Status
. Use Crystal'sHTTP::Status
enum. #769 - CookieOverflowError is now checked when the cookie is set instead of later in middleware. #761
- Crystal 0.29.0 support added
- Rename
Lucky::BaseApp
toLucky::BaseAppServer
- Rename
Sentry
toLuckySentry
- Breaking change - Many text helpers now return a
String
instead of appending to the view (cycle
,excerpt
,highlight
,pluralize
,time_ago_in_words
,to_sentence
,word_wrap
) #781 - Added new asset host option #795
- Added new secure header modules #735
- Added fallback routing #731
- Updated SSL Handler with HSTS option #734
- Components are now classes instead of modules #714
- Fixed
BaseHTTPClient
params #726 - Fixed passing
Symbol
for statuses in redirects #730 - More helpful errors #733, #732
- Crystal 0.28.0 support added
-
Use
Dexter
as the logger. luckyframework/lucky_cli#300 and luckyframework/lucky_cli#299 -
Move scripts from
bin
toscript
. Ignore all ofbin
directory in.gitignore
. See luckyframework/lucky_cli#288 and luckyframework/lucky_cli#301 -
App
insrc/app.cr
should now inherit fromLucky::BaseApp
. See https://github.com/luckyframework/lucky_cli/pull/287/files for an example. -
Prefix id params with the resource name #659
-
Added Action#url_without_query_params #662
-
Added
Lucky::AssetHelpers.load_manifest
so that API apps don't need a blank manifest to compile. -
Pages ignore unused exposures #666
-
unexpose
andunexpose_if_exposed
have been removed because they are no longer necessary now that pages ignore unused exposures. -
is
in queries has been renamed toeq
. For example:UserQuery.new.name.not.is("Emily")
should now beUserQuery.new.name.not.eq("Emily")
. If passing in something that could beNil
, one must usenilable_eq
instead. avram#46