All Versions
Latest Version
Avg Release Cycle
26 days
Latest Release
174 days ago

Changelog History
Page 1

  • v0.24.0

    September 05, 2020

    View CHANGELOG for changes.

  • v0.23.1

    July 07, 2020
    • ๐Ÿ›  Fixed: generated apps using deprecated mount instead of m #531 in Lucky CLI
  • v0.23.0

    June 27, 2020
    • โšก๏ธ Updated: password reset tokens to be URL safe #1118
    • โž• Added: radio input helper #1125
    • โž• Added: component file paths to rendered comments in markup for development #1126
    • Added: query_param_declarations method to Action classes #1122
    • ๐Ÿ›  Fixed: generating a model that already exists now raises an error #1127
    • โž• Added: select_prompt helper method #1124
    • โšก๏ธ Updated: lucky routes UI to now include query params #1128
    • โž• Added: route_prefix method for Actions to prefix all routes #1121
    • ๐Ÿ›  Fixed: error when deleting cookies that don't exist #1132
    • ๐Ÿ›  Fixed: handling ajax form submissions with TurboLinks #1133
    • ๐Ÿ›  Fixed: issue with ajax? method not returning correct value #1134
    • ๐Ÿ›  Fixed: security issue by escaping HTML helpers by default #1135
    • โšก๏ธ Updated: memoize to allow for arguments, and nil and false values #1139
    • โšก๏ธ Updated: model generator to provide more helpful error messages #1140
    • โž• Added: get_raw method to params along with striping blankspace on param get calls #1144
    • โœ‚ Removed: mount with deprecation in favor of new m method.
    • โž• Added: m helper method as a mount replacement with a new interface. #1151
    • โšก๏ธ Updated: String#squish method to be faster #1159
    • โœ‚ Removed: Lucky::SessionHandler and Lucky::FlashHandler. #518 in Lucky CLI
    • ๐Ÿ›  Fixed: issue with session cookies not being written at the right time. #1160
    • โž• Added: template HTML method for <template> tags. #1164
    • ๐Ÿ›  Fixed: flash messages being lost during multiple redirects. #1169
    • โž• Added: redirect_back for actions to redirect back to previous referrer #1168
    • โž• Added: component method to render a Component directly from an Action #1172
    • โž• Added: canonical_link HTML helper method. #1182
    • โž• Added: disable_cookies macro to stop cookies from being written on a specific action #1180
    • ๐Ÿ›  Fixed: setting samesite on cookies in your Lucky::CookieJar on_set #1183
    • ๐Ÿ›  Fixed: compilation bug in generated page when running lucky #1191
    • โž• Added: multipart: true option to form_for to set multipart enctype #1200
    • โž• Added: Lucky.root method to raise compile-time error directing people to use Dir.current instead. #1206
    • โž• Added: native CLI args to LuckyCli::Task. #466 in Lucky CLI
    • โšก๏ธ Updated: generated projects to disable StaticFileHandler directory listing by default. #510 in Lucky CLI
    • โšก๏ธ Updated: error action to return a 404 for Avra::RecordNotFoundError #524 in Lucky CLI
    • ๐Ÿ›  Fixed: select_count failing when postgres returns no counts. #357 in Avram
    • Added: support for postgres extensions with enable_extension, disable_extension, and update_extension. #356 in Avram
    • โž• Added: enum support for models with avram_enum macro. #339 in Avram
    • ๐Ÿ›  Fixed: the error message when using remove in migrations, and not passing a Symbol.
    • Added: rename and rename_belongs_to in migrations #366 in Avram
    • โž• Added: new lucky db.setup task which runs db.create and db.migrate. #361 in Avram
    • โž• Added: ability to set a custom index name for table indices. #386 in Avram
    • ๐Ÿ›  Fixed: using a custom primary key name of type UUID. #401 in Avram
    • โž• Added: checking for a connection to the PostgreSQL engine before running the lucky db.create task. #397 in Avram
    • ๐Ÿ›  Fixed: logging issues related to Crystal 0.35.0. #31 in Dexter
    • โšก๏ธ Updated: which selenium library was being used for LuckyFlow. #76 in LuckyFlow
    • Added: initial work to support using other browsers aside from Chrome in LuckyFlow. #79 in LuckyFlow, #88 in LuckyFlow
    • โž• Added: support to auto fetch latest webdrivers in LuckyFlow. #80 in LuckyFlow
    • ๐Ÿ›  Fixed: issue with really long stacktrace in LuckyFlow. #83 in LuckyFlow
    • Added: have_text expectation method for Flow specs. #87 in LuckyFlow
    • โž• Added: optional path param routing. #18 in LuckyRouter
    • โšก๏ธ Update: routing to ensure matching dynamic fragments all work. #23 in LuckyRouter
    • โž• Added: a little bit of speed to the routing lookup. #26 in LuckyRouter
    • โž• Added: a new validation option to Habitat settings. #49 in Habitat
    • ๐Ÿ“‡ Renamed: the internal Habitat Settings class to HabitatSettings to avoid name conflicts in some Lucky apps. #48 in Habitat
    • ๐Ÿ›  Fixed: bug when setting a default value in a Habitat setting that could potentially raise an exception. #51 in Habitat
  • v0.22.0

    June 16, 2020
    • โž• Added: support for Crystal 0.35.0
  • v0.21.1

    May 08, 2020

    ๐Ÿš€ This a release with a security fix. This only affects applications that use highlight, truncate or simple_format. These methods had potential to be used for XSS attacks if input is not escaped first. However, the risk is mitigated since Lucky defaults cookies to be read by HTTP only, and not through JS. The cookie value itself is also encrypted and signed.

    โฌ†๏ธ It is not best practice to rely purely on HTTP only cookies, so to be safe, we highly recommend upgrading to v0.21.1 as an extra layer of protection.

    ๐Ÿ‘€ See more details in #1135

  • v0.21.0

    April 19, 2020
    • โž• Added: support for Crystal 0.34.0 Log class #506 in Lucky CLI
    • โž• Added: paginate_array for paginating Arrays #1108
    • ๐Ÿ‘Œ Improve error logging #1114
    • ๐Ÿ‘Œ Improve http status logging #1114
    • โฌ†๏ธ Upgraded: Dexter to v0.2.0
      • Type-safe log configuration
      • New JSON formatter
      • Helpers for testing logs
    • ๐Ÿ›  Fix for issues with the system check in #505 in Lucky CLI
  • v0.20.0

    April 09, 2020
    • โž• Added: support for Crystal 0.34.0
    • ๐Ÿ›  Fixed: error on some generated pages from missing sourcemap #1019
    • Updated: options_for_select to accept more types #295
    • โž• Added: ability to pass boolean attrs in link helper methods #1032
    • โœ‚ Removed: setting needs with ?. Lucky now generates a method ending in ? for you when the type is Bool #1034
    • โž• Added: needs on pages can now be accessed by a method and not just instance variable #1034
    • โœ‚ Removed: link helper method with a String path. #1035
    • โž• Added: new Lucky::CookieNotFoundError class. #1038
    • โž• Added: cookies.deleted?() method for checking if a cookie has been deleted. #1040
    • โž• Added: new Lucky::Paginator component with built-in styles for different different CSS frameworks. #1020
    • ๐Ÿ›  Fixed: needs accidentally overwriting methods of the same name. #1046
    • โšก๏ธ Updated: label_for to be a little more flexible with nil text. #1047
    • โšก๏ธ Updated: resource generator to be a little easier to read and digest. #1050
    • โšก๏ธ Updated: development ENV now uses ENV["DEV_PORT"] instead of ENV["PORT"] to fix issues with process managers. #1051
    • โž• Added: new Lucky::CatchUnpermittedAttribute mixin for Shared::Field component. #1052
    • Added: new methods in Actions for accessing params from different sources like from_json, from_query, from_form, and from_multipart. #1053
    • โšก๏ธ Updated: generated pages to have some default text pointing to the location of the file to edit. #1057
    • ๐Ÿ›  Fixed: incorrect pluralization of resources on NewPage. #1058
    • โšก๏ธ Updated: all action "callbacks" are officially named "pipes". All pipes only log when halted by default. #1062
    • โšก๏ธ Updated: the lucky dev watcher does not print which file changes because you know you just changed that file. #1065
    • โž• Added: a new HTTP handler to set the request.remote_address if the X-Forwarded-For header is set. #1059
    • โž• Added: a current_page? helper method for pages. #1074
    • โž• Added: FormFields component for generated resources. #1081
    • โšก๏ธ Updated: all HTML tag methods explicitly return Nil now. #1083
    • โšก๏ธ Updated: page markup to render directly to the IO instead of creating an additional string. #1084
    • โž• Added: String#squish method. #1085
    • โšก๏ธ Updated: error message from returning invalid type in Actions. #1086
    • โž• Added: ability to set custom directory when generating a new Lucky project See LuckyCli
    • โž• Added: ability to set your postgres DB port with ENV var. See LuckyCli
    • โž• Added: a robots.txt file to generated web apps by default. See LuckyCli
    • โž• Added: new compiling spinner graphic for a cleaner UX. See LuckyCli
    • โšก๏ธ Updated: some comments on the generated main app file. See LuckyCli
    • โž• Added: lots of internal documentation. (many small commits to LuckyCli)
    • โšก๏ธ Updated: generated UserSerializer to inherit from BaseSerializer. See LuckyCli
    • ๐Ÿ‘€ Updated: cookies to default to http_only. See LuckyCli
    • โšก๏ธ Updated: node dependencies in generated web apps. See LuckyCli
    • โ™ป๏ธ Added: new system_check script along with some refactors to make checking that your app is setup a lot easier. See LuckyCli
    • โœ‚ Removed: ability to pass a raw hash to an Avram::SaveOperation. See Avram
    • Added: ability to skip_schema_enforcer for certain models. See Avram
    • โž• Added: Avram::Model#reload to reload all of the attributes that may have been updated since the instance was created. See Avram
    • โž• Added: Query#reset_where to reset the WHERE clause on a specific column. See Avram
    • โž• Added: logging queries that fail. See Avram
    • Fixed: using fill_existing_with when you already had data in your table. See Avram
    • โž• Added: bulk updating records straight from a query object. See Avram
    • โž• Added: new "soft delete" feature. See Avram
    • ๐Ÿ›  Fixed: saving empty array columns when the column can't be nil, but it can be []. See Avram
    • โšก๏ธ Updated: to set attributes directly. See Avram
    • โœ‚ Removed: the on option for needs in SaveOperation. See Avram
    • ๐Ÿ›  Fixed: connecting to databases running on a unix domain socket. See Avram
    • โž• Added: new shard for turning an Avram column in to a URL slug. AvramSlugify
  • v0.19.0

    February 29, 2020
    • โž• Added: missing docs for time helpers #943
    • โž• Added: HTML boolean attributes to checkbox and textarea helpers #955
    • ๐Ÿ›  Fixed: generated templates with proper naming conventions #956
    • โž• Added: to_param for UUID allowing UUID to be passed in params #945
    • โšก๏ธ Updated: watcher error message to be a little less abrupt #968
    • โšก๏ธ Updated: generated migrations using the table_for macro #970
    • ๐Ÿ›  Fixed: using with_defaults when the tag has content #972
    • โž• Added: any? and empty? to flash #977
    • ๐Ÿ›  Fixed: allowing false values for needs #979
    • โšก๏ธ Updated: needs to now infer a value of nil when the type is nilable #980
    • ๐Ÿ›  Fixed: allowing the -h flag for the watch task #958
    • โž• Added: gzip response for assets when it's configured #983
    • โž• Added: Lucky API docs are now generated from the CI which is deployed to Github pages #989
    • ๐Ÿ›  Fixed: when using needs with different values in random order and Lucky would not compile #993
    • โž• Added: more context to the resource generator See commit
    • โž• Added: ability to pass Crystal's --error-tace flag to lucky watch #957
    • ๐Ÿ›  Fixed: generating resource.browser when using a JSON::Any column type #997
    • ๐Ÿ›  Fixed: issue when using HTML boolean attributes with custom tags #1010
    • โž• Added: the option to define columns in the model generator #1009
    • โšก๏ธ Updated: permitting columns generated from the resource generator #1014
    • Added: new to_prepared_sql method to generate fully prepared sql for debugging See Avram
    • ๐Ÿ›  Fixed: cloning distinct queries See Avram
    • โž• Added: new predicate methods variants for boolean columns See Avram
    • โž• Added: new changed?, changes, and original_value methods for attributes in Operations See Avram
    • Updated: validate_size_of and validate_inclusion_of to allow nil values See Avram
    • โšก๏ธ Updated: error messages on some callbacks See Avram
    • ๐Ÿ›  Fixed: select_sum when the column is any number type See Avram
    • ๐Ÿ›  Fixed: issues with has_one when your model is namespaced, and how it's queried See Avram
    • ๐Ÿ›  Fixed: aggregate query methods to work on all number types See Avram
    • ๐Ÿ›  Fixed: bug when using a Box that had no columns See Avram
    • โšก๏ธ Updated: preloads to only call when there are parent records. This is a query optimization update. See Avram
  • v0.18.3

    February 17, 2020
    • โž• Added: support for Crystal 0.33.0
  • v0.18.2

    December 13, 2019
    • โž• Added: support for Crystal 0.32.0