Changelog History
Page 1
-
v5.2.1 Changes
November 30, 2020It's time to face the facts that the last release was a LIE. I said we weren't going to release another version of Haml 5.x... and yet, here we are again.
π» "What's this all about?!?!", you must be screaming at your computer.
π Well, our wonderful @k0kubun has given all of us a wonderful presentβ which is proper multiline-attributes support for Haml. No longer are we forced to either have super long lines or have kinda wonky spacing on our attributes.
How it started:
.messages-overflow-container{"data-simplebar": true} .messages{data: {controller: "chat-messages"}} .like-notification{data: {controller: "reaction-notification"}} - unless video.finished? .message-write{data: { "controller": "chat", "show-when-logged-in": true }} .chat-controls .write-area{placeholder: 'Send a message', contenteditable: true, role: "textbox", data: {action: "keydown->chat#chatBoxKeyDown", target: "chat.messageInput"}} = render "shared/reaction_button" .message-login-prompt{data: { "show-when-logged-out": true }} %button{data: {action: "authentication#showModal"}} Login To Chat
How it's going:
.messages-overflow-container{"data-simplebar": true} .messages{ data: { controller: "chat-messages" } } .like-notification{ data: { controller: "reaction-notification" } } - unless video.finished? .message-write{ data: { "controller": "chat", "show-when-logged-in": true } } .chat-controls .write-area{ placeholder: 'Send a message', contenteditable: true, role: "textbox", data: { action: "keydown->chat#chatBoxKeyDown", target: "chat.messageInput" } } = render "shared/reaction_button" .message-login-prompt{data: { "show-when-logged-out": true }} %button{ data: { action: "authentication#showModal" } } Login To Chat
How about THAT! I don't know about you, but this is going to improve my markup by a huge margin. I am super thrilled to get this into our code at @veuelive!
-
v5.2 Changes
π Released on September 28, 2020 (diff).
- π Fix crash in the attribute optimizer when
#inspect
is overridden in TrueClass / FalseClass #972 - Do not HTML-escape templates that are declared to be plaintext #1014 (Thanks @cesarizu)
- Class names are no longer ordered alphabetically, and now follow a new specification as laid out in REFERENCE #306
- π Fix crash in the attribute optimizer when
-
v5.1.2 Changes
August 06, 2019 -
v5.1.1 Changes
May 25, 2019π Released on May 25, 2019 (diff).
- π Fix NameError bug that happens on ruby 2.6.1-2.6.3 + haml 5.1.0 + rails < 5.1 + erubi. (Akira Matsuda)
-
v5.1.0 Changes
May 16, 2019π Released on May 16, 2019 (diff).
- π Rails 6 support #1008 (thanks Seb Jacobs)
- Add
escape_filter_interpolations
option for backwards compatibility with haml 4 defaults #984 (thanks Will Jordan) - π Fix error on empty :javascript and :css filter blocks #986 (thanks Will Jordan)
- 0οΈβ£ Respect changes in Haml::Options.defaults in
Haml::TempleEngine
options (Takashi Kokubun) - Un-freeze TempleEngine precompiled string literals #983 (thanks Will Jordan)
- π Various performance/memory improvements #965, #966, #963 (thanks Dillon Welch)
- Enable
frozen_string_literal
magic comment for all .rb files #967 (thanks Dillon Welch)
-
v5.0.4 Changes
October 13, 2017π Released on October 13, 2017 (diff).
- π Fix
haml -c --stdin
regression in 5.0.2. #958 (thanks Timo GΓΆllner) - π Ruby 2.5 support (it wasn't working due to Ripper API change). (Akira Matsuda)
- π Fix
-
v5.0.3 Changes
September 07, 2017π Released on September 7, 2017 (diff).
- π Use
String#dump
instead ofString#inspect
to generate string literal. (Takashi Kokubun) - π Fix Erubi superclass mismatch error. #952 (thanks Robin Daugherty)
- π Use
-
v5.0.2 Changes
August 01, 2017π Released on August 1, 2017 (diff).
- π Let
haml -c
fail if generated Ruby code is syntax error. #880 (Takashi Kokubun) - π Fix
NoMethodError
bug caused with Sprockets 3 and :sass filter. #930 (thanks Gonzalez Maximiliano) - π Fix
list_of
helper with multi-line content. #933 (thanks Benoit Larroque) - π Optimize rendering performance by changing timing to fix textareas. #941 (Takashi Kokubun)
- π Fix
TypeError
with empty :ruby filter. #942 (Takashi Kokubun) - π Fix inconsistent attribute sort order. (Takashi Kokubun)
- π Let
-
v5.0.1 Changes
May 03, 2017 -
v5.0.0 Changes
April 27, 2017π Released on April 26, 2017 (diff).
π₯ Breaking Changes
- π Haml now requires Ruby 2.0.0 or above.
- π Rails 3 is no longer supported, matching the official Maintenance Policy for Ruby on Rails. Use Haml 4 if you want to use Rails 3. (Tee Parham)
- β Remove
:ugly
option (#894) - The
haml
command's debug option (-d
) no longer executes the Haml code, but rather checks the generated Ruby syntax for errors. - β¬οΈ Drop parser/compiler accessor from
Haml::Engine
. ModifyHaml::Engine#initialize
options orHaml::Template.options
instead. (Takashi Kokubun) - Drop dynamic quotes support and always escape
'
forescape_html
/escape_attrs
instead. Also, escaped results are slightly changed and always unified to the same characters. (Takashi Kokubun) - Don't preserve newlines in attributes. (Takashi Kokubun)
HTML escape interpolated code in filters. #770 (Matt Wildig)
:javascript #{JSON.generate(foo: "bar")} Haml 4 output: {"foo":"bar"} Haml 5 output: {"foo":"bar"}
β Added
- β Add a tracing option. When enabled, Haml will output a data-trace attribute on each tag showing the path to the source Haml file from which it was generated. Thanks Alex Babkin.
- π· Add
haml_tag_if
to render a block, conditionally wrapped in another element (Matt Wildig) - π Support Rails 5.1 Erubi template handler.
- π Support Sprockets 3. Thanks Sam Davies and Jeremy Venezia.
- π General performance and memory usage improvements. (Akira Matsuda)
- Analyze attribute values by Ripper and render static attributes beforehand. (Takashi Kokubun)
- β‘οΈ Optimize attribute rendering about 3x faster. (Takashi Kokubun)
- β Add temple gem as dependency and create
Haml::TempleEngine
class. Some methods inHaml::Compiler
are migrated toHaml::TempleEngine
. (Takashi Kokubun)
π Fixed
- π Fix for attribute merging. When an attribute method (or literal nested hash) was used in an old style attribute hash and there is also a (non-static) new style hash there is an error. The fix can result in different behavior in some circumstances. See the commit message for detailed info. (Matt Wildig)
- π Make escape_once respect hexadecimal references. (Matt Wildig)
- π Don't treat the 'data' attribute specially when merging attribute hashes. (Matt Wildig and Norman Clarke)
- π Fix #@foo and #$foo style interpolation that was not working in html_safe mode. (Akira Matsuda)
- π Allow
@
as tag's class name. Thanks Joe Bartlett. - Raise
Haml::InvalidAttributeNameError
when attribute name includes invalid characters. (Takashi Kokubun) - Don't ignore unexpected exceptions on initializing
ActionView::OutputBuffer
. (Takashi Kokubun)