lucky v0.29 Release Notes
Release Date: 2021-11-30 // over 1 year ago-
- ๐ Fixed: the binary name generated for the
gen.secret_key
task. #1556 - Updated: the
html_with_status
to allow Numbers, Symbols, and HTTP::Status. #1568 - โก๏ธ Updated: the
lucky routes
task to print within a table (again). Added a new flag option to print params. #1569 - Added: new
path_without_query_params
Action method. #1572 - โ Added: option to set a different manifest filename when not using laravel-mix. #1578
- ๐ Fixed: an issue when passing optional params that were not a String. #1582
- ๐ Fixed: Ameba always being installed even when your app doesn't depend on it. #1589, #736 in Avram, #62 in Carbon
- โ Added: support for using namespaces when generating resources from the CLI. #1588
- โ Added: DeleteOperation when generating a model from the CLI. #1594
- ๐ Fixed: verifying secret messages that may contain "--". #1596
- โ Removed:
route
andnested_route
macro helpers. #1597 - ๐ Fixed: the use of boolean attributes rendering invalid values in HTML. #1598
- โ Added: new Pulsar event to fire when an HTTP request is fully completed. #1601
- โก๏ธ Updated: the
lucky watch
task to be less greedy on recompiles. #1604 - โ Added: the
ajax
desired client format option for actions. #1603 - โ Added: a better help message for
lucky exec
to include options. #1602 - Added: new
previous_page
, andnext_page
Paginator helper methods. #1611 - ๐ Fixed: writing to the response body when making a HEAD call. #1609
- ๐ฅ Breaking change Removed: the
lucky build.release
task. #1612 - โก๏ธ Updated: Avram is no longer required for parsing params. #1616
- ๐ฅ Breaking change Removed: support for Crystal versions below 1.0.0. #1618
- ๐ฅ Breaking change Updated: the
Lucky::BaseAppServer#listen
method to be abstract. #1622 - โ Added: new HTTP
context.request_id
andRequestIdHandler
. #1610 - โ Added: documentation clarity for the route style checking. #668 in Lucky CLI
- โก๏ธ Updated: require position for the config directory to be higher in the stack. #676 in Lucky CLI
- 0๏ธโฃ Updated: the
load_manifest
to use "public/mix-manifest.json" by default. #679 in Lucky CLI - ๐ Fixed: issue when booting a Lucky app would clash with Elixir's
mix
. #682 in Lucky CLI - ๐ Fixed: the error page returning a 200 response. #684 in Lucky CLI
- โก๏ธ Updated: the GithubActions CI for generated apps to allow for testing multiple versions of Crystal. #685 in Lucky CLI
- โ Added: a max limit for password sized in Authentic password validations. #692 in Lucky CLI
- โ Added: special "flow" tags to a generated app's specs. #693 in Lucky CLI
- โ Added: new sample "app config" file for generated apps. #694 in Lucky CLI
- โก๏ธ Updated: the
AppServer#listen
code to be a bit more concise. #699 in Lucky CLI - โ Added: new
Lucky::RequestIdHandler
to generated apps. #700 in Lucky CLI - ๐ Fixed: issue when
select_count
was called before an update causing a failure. #715 in Avram - ๐ Fixed: issue when inheritng from a SaveOperation that had attributes. #718 in Avram
- ๐ Fixed: issue when passing an enum number as a String. #720 in Avram
- ๐ฅ Breaking change Removed: UUID generation on the Crystal side for the
id
column. #725 in Avram - โก๏ธ Updated: the error message for unpermitted columns to be a little clearer where they come from. #723 in Avram
- โ Added: new
includes()
query method for Array columns. #733 in Avram - โ Added: compile-time catches for common mistakes with attribute usage. #738 in Avram
- โก๏ธ Updated: the pending migration notice to be a lot more clear in development. #737 in Avram
- Updated:
add_belongs_to
to require thereferences
option when using a namespace. #742 in Avram - โก๏ธ Updated: all validation methods to now return a Bool based on if they passed or not. #744 in Avram
- โก๏ธ Updated: the
lucky db.schema.dump
task to include the migrations table data. #743 in Avram - ๐ Fixed: missing low level DB methods. #750 in Avram
- โ Added: new escape hatch to skip default validations, and allow blank strings to be saved. #746
- โ Added: new
default_validations
block macro. #751 in Avram - Added: new
validate_format_of
validation method. #752 in Avram - ๐ Fixed: sort order of migrations. #756 in Avram
- โ Added: new
Avram::I18nBackend
for setting language translations. #757 in Avram - ๐ฅ Breaking change Renamed:
Operation::Status
enums toOperation::OperationStatus
. #759 in Avram - โ Added: new query cache mechanism. #763 in Avram
- โ Added: brand new LuckyCache shard.
- Added: Dynamic Email templates with Carbon SendGrid adapter. #5 in Carbon SendGrid
- โ Added: new
int32
andfloat64
task args. #3 in LuckyTask - Added: faster routing! #54 in LuckyRouter, #55 in LuckyRouter
- Updated:
ENV["LUCKY_TASK"]
to be nilable. #21 in LuckyTask
- ๐ Fixed: the binary name generated for the
Previous changes from v0.28.0
-
- โก๏ธ Updated: The exception page to use new backtrace shard. #1465
- โก๏ธ Updated: some Lucky internals with "Spring Cleaning". #1478, #1481, #1483, #1489, #1496, #1511, #1513, #1514, #1521, #1522, #1529, #1532, #1535, #1540, #1542, #1544, #1543
- โก๏ธ Updated: components so they no longer require
context
to be passed in. #1488 - Added: new
time_from_now_in_words
text helper. #1493 - โ Added: new
multipart?
action request helper. #1495 - โก๏ธ Updated: the generated delete action resource to use DeleteOperation. #1497
- โ Added: new
raw_json
Action response method. #1492 - โก๏ธ Updated:
form_for
to allow passing boolean attributes. #1506 - โ Added: new module to disable FLoC. #1508
- ๐ Deprecated:
route
andnested_route
from actions. #1510 - ๐ Updated: performance with
params
. It's now attached tocontext
. #1509 - โก๏ธ Updated: api actions generated will always be in the
api/
namespace. #1512 - โก๏ธ Updated:
Lucky::Serializer
with abstractrender
method. #1516 - Added: new
html_with_status
method to render HTML pages with non-200 status. #1507 - ๐ฅ Breaking change: HTML fields that require an Operation Array attribute will now generate a param name appended with
[]
. #1523 - Added: new
multi_select_input
. #1518 - โ Added: the ability to define Array query params in actions. #1527
- โ Added: standardized route style checked. #1536
- โ Added: native subdomain support for actions. #1537
- โ Added: new unique route enforcer. #1538
- โก๏ธ Updated: Carbon sendgrid is now a separate adapter. #624 in Lucky CLI
- โก๏ธ Updated: default components no longer need
context
. #641 in Lucky CLI - โก๏ธ Updated: some LuckyCli internals with "Spring Cleaning". #646, #647, #648, #651, #649, #666 (in Lucky CLI)
- โก๏ธ Updated: generated apps will use
LuckyEnv
now. #650 in Lucky CLI - โ Removed: deprecated
normalize-css
package and replaced withmodern-normalize
. #652 in Lucky CLI - โ Added: new generated apps will enforce route styles by default. #653 in Lucky CLI
- โก๏ธ Updated: new generated apps will use case-insensitive email columns for the
User
model. #657 in Lucky CLI - ๐ Fixed: support for Crystal 1.1.0 when generating a new app. #644 in Lucky CLI
- โ Removed: the
Lucky::Env
module and replaced with theLuckyEnv
shard. #655 in Lucky CLI - ๐ Fixed: passing special args to precompiled tasks. #656 in Lucky CLI
- โก๏ธ Updated: some Avram internals with "Spring Cleaning". #669, #681, #683, #704, #705, #708 (in Avram)
- Updated:
validate_numeric
andvalidate_size_of
methods to allow for a custom error message. #670 in Avram - โก๏ธ Updated:
db.drop
anddb.reset
tasks with a "quiet" option. #675 in Avram - Fixed: edge case with migrations using
fill_existing_with: false
. #676 in Avram - โ Added: new
Appdatabase.listen
method to listen forpg_notify()
calls to any number of channels. #677 in Avram - ๐พ Added:
before_save
andafter_save
callbacks toAvram::Factory
. #678 in Avram - Fixed:
add_belongs_to
to support namespaced types. #685 in Avram - Updated: how
select_count
works to allow counting withdistinct_on
. #687 in Avram - ๐ Fixed: datetime parsing from form inputs. #693 in Avram
- ๐ Fixed: compile-time error when you have a typo in your constant name (i.e. Boolean instead of Bool). #700 in Avram
- Updated: the
validate_uniqueness_of
method to take a full query object. #701 in Avram - โ Added: new
any?
andnone?
query methods to return aBool
value based on records existing. #703 in Avram - ๐ฅ Breaking change: removed
avram_enum
. You can now just use the native Crystalenum
type. #698 in Avram - โ Added: ability to use
CASCADE
when callingtruncate
. #702 in Avram - โ Added: new
SaveOperation.upsert
methods. #334 in Avram - ๐ฅ Breaking change: renamed
DeleteOperation.destroy
toDeleteOperation.delete
. #707 in Avram - ๐ Fixed: compile-time error when no columns are defined in a model. #706 in Avram
- โ Added: new JSON serializable object columns. #695 in Avram
- ๐ Updated: the
current_user?
method to be memoized for performance. #64 in Authentic - โก๏ธ Updated: Authentic to catch potential development issues when setting the
secret_key
. #65 in Authentic - ๐ Fixed: minor performance issue when setting a slug in AvramSlugify. #10 in AvramSlugify
- โก๏ธ Updated: irregular inflects with
human -> humans
. #14 in Wordsmith - ๐ Fixed: customizing inflections with Wordsmith. #18 in Wordsmith
- ๐ Fixed: URI decoding path parts in the Lucky Router, also a small performance gain. #51 in Lucky Router
- โ Added: the environment predicate methods from
Lucky::Env
in toLuckyEnv
. #13 in LuckyEnv - โก๏ธ Updated: Email Previews in Breeze are easier to add in. #41 in Breeze
- ๐ Fixed: using file uploads with Breeze requests. #43 in Breeze
- โ Added: storing before/after pipes in Breeze. #36 in Breeze
- ๐ Fixed: issue when running specs on an app using Breeze. #42 in Breeze