Skip to content

Latest commit

 

History

History
890 lines (550 loc) · 27.9 KB

CHANGELOG.md

File metadata and controls

890 lines (550 loc) · 27.9 KB

Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning. This change log is based upon keep-a-changelog.

3.0.3 - 2022-11-07

Added

  • Support sass-embedded #196 Thanks to @ntkme

3.0.2 - 2022-10-13

Changed

  • Hamlit::Engine and Hamlit::Template use StringBuffer instead of ArrayBuffer
    • It seems more performant in many cases with recent Ruby versions.
    • Hamlit::RailsTemplate is not affected.

3.0.1 - 2022-08-18

Changed

  • coffee-script is removed from development dependency
    • It's not runtime dependency, so it shouldn't impact your application
    • :coffee filter still works if you explicitly install coffee-script, however, it's no longer maintained and possibly removed in the future.

3.0.0 - 2022-08-07

Changed

  • [breaking] Use disable_capture: false for non-Rails environments
    • :disable_capture is an option introduced in v2.16.1. See its release notes for details.
    • If you use Rails, it continues to use disable_capture: true, so you're not impacted by this change.

2.16.2 - 2022-08-07

Fixed

  • Fix an issue when disable_capture: false is set and a Ruby comment is put after do

2.16.1 - 2022-08-07

Added

  • Introduce :disable_capture option to capture a block
    • Default: disable_capture: true (backward-compatible)
      • For Rails, this must be true anyway to use Rails-native capturing.
    • If you override the option like disable_capture: false in Hamlit::Template, scripts starting with = (e.g. = render do) capture a block content.
      • Scripts starting with - (e.g. - users.each do) are not impacted.

2.16.0 - 2022-02-03

Added

  • Raise an exception on a Haml-level syntax error with hamlit compile -c #189 Thanks to @dlwr

2.15.2 - 2022-01-04

Fixed

  • Consider playsinline a boolean attribute #187 Thanks to @ghiculescu

2.15.1 - 2021-07-23

Fixed

  • Remove benchmark from the gem package to reduce its size #186 Thanks to @pocke

2.15.0 - 2021-04-12

Added

  • Always use Hamlit when both haml.gem and hamlit.gem are installed in Rails Thanks to @igor-drozdov

2.14.6 - 2021-03-23

Fixed

  • Optimize v2.14.5's implementation a little

2.14.5 - 2021-03-23

Added

  • Support config.action_view.annotate_rendered_view_with_filenames = true of Rails 6.1 Thanks to @kirin121

2.14.4 - 2021-02-01

Fixed

  • Prevent another SEGV in a C extension after GC.compact #177 Thanks to @stanhu

2.14.3 - 2021-01-24

Fixed

  • Ensure the Rails initializer is called before :load_config_initializers #176 Thanks to @sunny

2.14.2 - 2021-01-21

Fixed

  • Prevent SEGV in a C extension after GC.compact #171 Thanks to @stanhu

2.14.1 - 2021-01-07

Added

  • Add -c option to hamlit compile that works like haml -c #166 Thanks to @knightq

2.14.0 - 2021-01-07

Changed

  • CLI changes
    • Remove -c shorthand of --color.
    • Make --color default. Please use --no-color to disable it.
    • --color uses IRB instead of Pry for syntax highlight.
      • Syntax highlight of hamlit compile is enabled only with IRB of Ruby 2.7+.
      • Syntax highlight of hamlit parse / hamlit temple is enabled only with IRB of Ruby 3.1+.

2.13.2 - 2020-12-27

Added

  • Speed up hamlit commands #166 Thanks to @knightq

2.13.1 - 2020-12-27

Added

2.13.0 - 2020-10-02

Added

  • Support --enable-frozen-string-literal #162. Thanks to @aliismayilov

Changed

  • Upgrade the Haml parser from Haml 4.0 to 5.2 #163.
    • Allow @ as tag's class name.
    • Fix NameError on an InvalidAttributeNameError reference introduced at Hamlit v2.12.0.
    • You can no longer specify ugly option, which has had no effect.

2.12.0 - 2020-09-30

Changed

  • Class names are no longer ordered alphabetically. Thanks to @aliismayilov

2.11.1 - 2020-08-25

Fixed

  • Fix a line number on an error after filters like preserve, plain, and ruby. Thanks to @rgisiger

2.11.0 - 2019-12-12

Added

  • Support Haml's revealed conditional comment feature on /![if !IE] #153. Thanks to @esb

2.10.1 - 2019-11-28

Added

  • Register Hamlit::Template to Tilt as :hamlit as well, in addition to :haml

2.10.0 - 2019-09-15

Added

  • Optimize template rendering by string interpolation #146
    • Exploiting pre-allocation of string interpolation introduced in Ruby 2.5 ruby/ruby#1626

Changed

  • Require temple.gem >= 0.8.2

2.9.5 - 2019-09-08

Added

  • Supported :plain filter in truffleruby

2.9.4 - 2019-09-08

Added

  • Experimental support of truffleruby #145.

2.9.3 - 2019-04-09

Fixed

  • Fix deprecation warning on Rails 6 #138. Thanks to @r7kamura

2.9.2 - 2018-11-30

Fixed

  • Fix possible autoload failure of dependency #131. Thanks to @wimrijnders

2.9.1 - 2018-11-01

Added

  • Start supporting JRuby #100.

2.9.0 - 2018-10-16

Added

  • Consider aria attribute as another attribute that supports hyphenation and boolean like data attribute #57. Thanks to @francesco-loreti

2.8.10 - 2018-09-05

Fixed

  • Fix uninitialized constant error introduced in v2.8.9 #125. Thanks to @vovchynniko

2.8.9 - 2018-09-05 [YANKED]

Fixed

  • Don't raise an error on UTF-8 BOM #117 #124. Thanks to @southwolf

2.8.8 - 2018-04-06

Fixed

  • Don't require Tilt dependencies if unregistered #121. Thanks to @michaelglass

2.8.7 - 2018-02-17

Fixed

  • Fix parser error on string interpolation in attributes

2.8.6 - 2017-12-22

Fixed

  • Fix some unused-variable / method-redefinition warnings

2.8.5 - 2017-11-06

Fixed

  • Fix lexer to work with Ripper of Ruby 2.5

2.8.4 - 2017-06-23

Added

  • Allow filename - to read input from STDIN for hamlit [parse|temple|compile|render] #113. Thanks to @gfx

2.8.3 - 2017-06-19

Added

  • Add --color option to hamlit parse and hamlit temple commands too.

2.8.2 - 2017-06-19

Added

  • Add --color option to opt-in coloring in hamlit compile command #111.

2.8.1 - 2017-04-03

Fixed

  • Fix SEGV caused by nil in old attributes #101. Thanks to @FND

2.8.0 - 2017-02-12

Changed

  • Support Temple >= 0.8.0 and change to use StaticAnalyzer in Temple
  • Optimize attribute building code a little

2.7.5 - 2016-10-15

Fixed

  • Resurrect Hamlit::RailsTemplate.set_options dropped in v2.7.4 unexpectedly.

2.7.4 - 2016-10-15 [YANKED]

Fixed

  • Compile template as xhtml when ActionView regards template as text/xml #92. Thank to @shmargum

2.7.3 - 2016-10-12

Fixed

  • Regard download as an boolean attribute #91. Thank to @pushcx

2.7.2 - 2016-09-19

Fixed

  • Fix engine option warning #90. Thank to @kikonen

2.7.1 - 2016-09-19

Fixed

  • Fix Rails handler to use ActionView::OutputBuffer instead of ActionView::SafeBuffer to justify encoding #89. Thanks to @akelmanson

2.7.0 - 2016-08-31

Changed

  • Don't escape interpolated content in plain filter #87. Thanks to @shmargum

2.6.2 - 2016-08-27

Added

  • Add cdata filter #84. Thanks to @shmargum
  • Minimize string allocation on template comipilation using # frozen_string_literal: true

2.6.1 - 2016-08-18

Fixed

  • For Rails, escape attributes even if it's html_safe

2.6.0 - 2016-08-14

Changed

  • Stop using houdini and rewrite HTML escape function to resolve building or packaging problems #82.
    • No behavior is changed

2.5.0 - 2016-06-04

Changed

  • Don't escape the result of preserve helper in Rails

2.4.2 - 2016-06-04

Fixed

  • Regard cygwin and bccwin as Windows environment too

2.4.1 - 2016-06-03

Fixed

  • Fix C extension builder to work with Ruby 2.3 on Windows #69. Thanks to @francesco-loreti

2.4.0 - 2016-05-13

Added

  • Add Hamlit::Helpers.preserve method for Tilt templates

2.3.1 - 2016-05-09

Fixed

  • Specify Ruby version dependency on gemspec #67. Thanks to @grosser

2.3.0 - 2016-04-24

Added

  • Add Hamlit::Filters.remove_filter method #66. Thanks to @connorshea

Changed

  • :coffeescript filter's internal class name is changed from Coffee to CoffeeScript

2.2.4 - 2017-12-05

Fixed

  • Fix to work with Ruby 2.5. This version is usable with both 2.0 and 2.5.

2.2.3 - 2016-03-10

Added

  • Add hamlit version subcommand #60. Thanks to @timoschilling

Fixed

  • Fix load path for CLI #61. Thanks to @timoschilling

2.2.2 - 2016-02-21

Added

  • Optimize performance of plain filter

Fixed

  • Escape only interpolated text for plain filter #58. Thanks to @shaneog

2.2.1 - 2016-02-06

Added

  • Support Windows #54. Thanks to @francesco-loreti

2.2.0 - 2015-12-24

Added

  • Optimize inline script inside a tag
  • Optimize string interpolation recursively

2.1.2 - 2015-12-16

Fixed

  • Fix rendering failure for static integer #50. Thanks to @yatmsu

2.1.1 - 2015-12-15

Fixed

  • Use faster HTML-escape method for compiling
  • Show proper line number for unbalanced brackets error

2.1.0 - 2015-12-14

Added

  • -I and -r options are added to hamlit render command #37. Thanks to @jhurliman

Changed

  • Dropped obsolete escape_utils gem dependency #48. Thanks to @eagletmt

Fixed

  • Accept NUL character in attribute keys #49. Thanks to @eagletmt

2.0.2 - 2015-12-12

Fixed

  • Fix a crash in compiling with CLI #46. Thanks to @walf443
  • Use default engine options properly in CLI commands

2.0.1 - 2015-11-30

Fixed

  • Fix build failure of native extension

2.0.0 - 2015-11-30 [YANKED]

Added

  • Support object reference

Changed

  • Full scratch of internal implementation
    • Rendering is strongly optimized
      • Static analyzer is introduced
      • Built with C extension for runtime rendering
      • Optimized compilation for 5 types of attributes
    • Compilation became faster too
    • Many rendering incompatibilities are resolved
  • [breaking] Replaced parser with original Haml's one
    • Incompatible parsing error will never happen, but we can no longer parse attributes with Ripper
  • [breaking] Unified behavior for both static and dynamic attributes, see 5 types of attributes
    • Though inconsistent behavior is removed, we can no longer rely on completely-Haml-compatible behavior of static attributes and pass haml-spec
  • [breaking] Added :escape_attrs option
    • You should specify HTML-escaping availability for script and attrs separately.

1.7.2 - 2015-07-22

Fixed

  • Bugfix about parsing a content of tag
    • This was introduced in v1.6.6.

1.7.1 - 2015-07-21

Fixed

  • Don't escape a block content of some helpers #35. Thanks to @felixbuenemann

1.7.0 - 2015-07-09

Added

  • Support Ruby 2.2.0 hash syntax
    • like { "hyphened-key": "value" }

1.6.7 - 2015-06-27

Fixed

  • Remove unused variables and avoid shadowing
    • To suppress warnings in application using rspec --warnings

1.6.6 - 2015-06-24

Added

  • Allow hyphenated HTML-style attributes pull #29. thanks to @babelfish

1.6.5 - 2015-06-13

Fixed

  • Don't duplicate element class and attribute class
  • Raise an error for an empty tag name

1.6.4 - 2015-06-13

Changed

  • Show human-friendly error messages

Fixed

  • Fix line number of runtime syntax error
  • Increase the number of checked cases for illegal nesting. Thanks to @eagletmt

1.6.3 - 2015-06-13

Fixed

  • Fix ! and & parsing inside a tag #27. Thanks to @leesmith

1.6.2 - 2015-06-11

Fixed

  • Reject a content for self-closing tags
  • Reject nesing within self-closing tags

1.6.1 - 2015-06-11

Fixed

  • Parse N-space indentation #26. Thanks to @eagletmt

1.6.0 - 2015-06-11

Fixed

  • Fix line number of compiled code for new attributes
  • Render HTML entities normally for plain text #27. Thanks to @jeffblake

1.5.9 - 2015-06-08

Fixed

  • Reject silent script after a tag

1.5.8 - 2015-06-08

Fixed

  • Fix parsing inline script for != and &=

1.5.7 - 2015-06-08

Fixed

  • Fix the behavior for multi-line script

1.5.6 - 2015-06-07

Added

  • Raise error for unbalanced brackets

Changed

  • Don't render newline after block script

1.5.5 - 2015-06-07

Added

  • Support &, &== operator

Changed

  • Depend on v0.7.6 of temple for refactoring

Fixed

  • Fix a trivial diff of rendering multiline operator

1.5.4 - 2015-06-07

Changed

  • Recursively remove whitespace inside a tag

Fixed

  • Fix ! operator immediately before whitespace

1.5.3 - 2015-06-06

Added

  • Support !, !=, !==, &= and ~ as inline operators

1.5.2 - 2015-06-06

Changed

  • Disable html escaping in CSS and JavaScript filter

1.5.1 - 2015-06-05

Changed

  • Remove outer whitespace in the block

1.5.0 - 2015-06-03

Changed

  • Remake implementation of outer whitespace removal

1.4.7 - 2015-06-03

Changed

  • Sort static old attributes by name

Fixed

  • Bugfix for old array attributes with class element

1.4.6 - 2015-06-03

Added

  • Support !==, == operator

Fixed

  • Avoid regarding spaced block as multiline

1.4.5 - 2015-06-02

Fixed

  • Support Ruby 2.0 and 2.1 for v1.4.4

1.4.4 - 2015-06-02 [YANKED]

Fixed

  • Fix old attribute parser to be more flexible
    • Accept multiple hashes as old attributes
    • Accept old attributes with hash and literal

1.4.3 - 2015-06-02

Changed

  • Allow when to have multiple candidates
  • Allow rescue to specify an error variable

1.4.2 - 2015-05-31

Added

  • Support ! operator
    • It disables html escaping for interpolated text

1.4.1 - 2015-05-31

Fixed

  • Fix code mistake in 1.4.0

1.4.0 - 2015-05-31 [YANKED]

Added

  • Escape interpolated string in plain text

1.3.2 - 2015-05-30

  • Render begin, rescue and ensure

1.3.1 - 2015-05-30

Fixed

  • Bugfix about a backslash-only comment
  • Don't strip a plain text

1.3.0 - 2015-05-16

Added

  • Resurrect escape_html option #25. Thanks to @resistorsoftware
    • Still enabled by default
    • This has been dropped since v0.6.0

1.2.1 - 2015-05-15

Fixed

  • Fix the list of boolean attributes #24. Thanks to @jeffblake

1.2.0 - 2015-05-06

Added

  • Support succeed, precede and surround #22. Thanks to @sneakernets

1.1.1 - 2015-05-06

Fixed

  • Bugfix of rendering array attributes

1.1.0 - 2015-05-06

Fixed

  • Join id and class attributes #23. Thanks to @felixbuenemann

1.0.0 - 2015-04-12

Added

  • Use escape_utils gem for faster escape_html

0.6.2 - 2015-04-12

Fixed

  • Don't render falsy attributes #2. Thanks to @eagletmt

0.6.1 - 2015-04-12

Fixed

  • Bugfix of line numbers for better error backtrace pull #19

0.6.0 - 2015-04-12

Added

  • Automatically escape html in all situations pull #18

0.5.3 - 2015-04-12

Fixed

  • Bugfix for syntax error in data attribute hash #17. Thanks to @eagletmt

0.5.2 - 2015-04-12

Fixed

  • Bugfix for silent script without block #16. Thanks to @eagletmt

0.5.1 - 2015-04-12

Fixed

  • Bugfix about duplicated id and class #4. Thanks to @os0x

0.5.0 - 2015-04-12

Fixed

  • Escape special characters in attribute values #10. Thanks to @mono0x, @eagletmt

0.4.3 - 2015-04-12

Fixed

  • Allow empty else statement #14. Thanks to @jeffblake
  • Accept comment-only script #13. Thanks to @jeffblake

0.4.2 - 2015-04-05

Fixed

  • Bugfix about parsing nested attributes #12. Thanks to @creasty

0.4.1 - 2015-04-05

Removed

  • Automatic escape html is sintara, consult README.md.

Fixed

  • Escape haml operators by backslash #11. Thanks to @mono0x

0.4.0 - 2015-04-05 [YANKED]

Added

  • Automatically escape html in sinatra

0.3.4 - 2015-04-02

Fixed

  • Allow tab indentation #9. Thanks to @tdtds

0.3.3 - 2015-04-01

Fixed

  • Accept multi byte parsing #8. Thanks to @machu

0.3.2 - 2015-03-31

Fixed

  • Bugfix for compiling old attributes #7. Thanks to @creasty

0.3.1 - 2015-03-31

Fixed

  • Hyphenate data attributes #5. Thanks to @os0x

0.3.0 - 2015-03-31

Added

  • Specify a version in dependency of temple

0.2.0 - 2015-03-30

Added

  • Allow comments in script #3. Thanks to @eagletmt

0.1.3 - 2015-03-30

Fixed

  • Bugfix for #1 attribute nesting on runtime. Thanks to @eagletmt

0.1.2 - 2015-03-30

Fixed

  • Ignore false or nil values in attributes
    • Partial fix for #2. Thanks to @eagletmt

0.1.1 - 2015-03-30

Removed

  • Drop obsolete --ugly option for CLI
    • Currently pretty mode is not implemented #2

0.1.0 - 2015-03-30

  • Initial release
    • Passing haml-spec with ugly mode