CHANGELOG.md in keynote-1.1.1 vs CHANGELOG.md in keynote-2.0.0

- old
+ new

@@ -1,62 +1,106 @@ +# Change log + +## v2.0.0 (2025-01-10) + +- Update the inline template API to pass source as string instead of parsing comments. [@palkan][] + + ```rb + # BEFORE: + def method_with_a_template + a = "foo" + + erb + # <div><%= a %></div> + end + + # AFTER: + def method_with_a_template + a = "foo" + + erb(a:) { "<div><%= a %></div>" } + end + ``` + + This change makes inline templates less magical, IDE-friendly, and much faster. + +- **Ruby 3+** and **Rails 7+** are required. [@palkan][] + ## v1.1.1 -* Rumble: Fix passing `true` as an attribute value, which was broken by the - escaping changes in v1.0.0. (@igas) +- Rumble: Fix passing `true` as an attribute value, which was broken by the + escaping changes in v1.0.0. [@igas][] + ## v1.1.0 -* Rumble: Fix bug in v1.0.0 that caused an exception if the user passed a `nil` + +- Rumble: Fix bug in v1.0.0 that caused an exception if the user passed a `nil` value for an attribute. -* Rumble: Add support for `aria` attr hashes, behaving the same way as `data`. +- Rumble: Add support for `aria` attr hashes, behaving the same way as `data`. ## v1.0.0 -* Add support for Rails 5.1. -* Fix all Ruby warnings generated by Keynote itself. -* Rumble: Always escape quotation marks in HTML attributes, even if the string + +- Add support for Rails 5.1. +- Fix all Ruby warnings generated by Keynote itself. +- Rumble: Always escape quotation marks in HTML attributes, even if the string is already marked as HTML-safe. -* Rumble: Allow user to pass in a `data` hash to generate data attributes. -* Rumble: Allow user to pass in an array value for an attribute, which will be +- Rumble: Allow user to pass in a `data` hash to generate data attributes. +- Rumble: Allow user to pass in an array value for an attribute, which will be joined by spaces. ## v0.3.1 -* Add support for Rails 5.0. (@dra) +- Add support for Rails 5.0. [@dra][] + ## v0.3.0 -* Drop support for Rails 3.0 and Ruby 1.9.2; add support for Rails 4.2. -* Drop support for MiniTest::Rails versions older than 2.0; add support for 2.0 - and higher. (@kirs) +- Drop support for Rails 3.0 and Ruby 1.9.2; add support for Rails 4.2. +- Drop support for MiniTest::Rails versions older than 2.0; add support for 2.0 + and higher. [@kirs][] + ## v0.2.3 -* Allow user to pass the string version of the presenter name into + +- Allow user to pass the string version of the presenter name into `Keynote.present` as an alternative to passing a symbol. This makes it less awkward to use namespaced presenters, but it does remove the possibility of defining a `StringPresenter` and using it with code like `k('some string').format_as_markdown`. It seems unlikely that anyone is - actually doing that though. (@outpunk) -* Update RSpec integration to not print deprecation warnings with RSpec 3. - (@DarthSim) + actually doing that though. [@outpunk][] +- Update RSpec integration to not print deprecation warnings with RSpec 3. + [@DarthSim][] ## v0.2.2 -* Fix another RSpec integration bug, which happened in cases where the app's + +- Fix another RSpec integration bug, which happened in cases where the app's Gemfile included rspec-rails but not the rspec gem itself. -* Fix a bug in the generation of specs for zero-arg presenters. +- Fix a bug in the generation of specs for zero-arg presenters. ## v0.2.1 -* Update configuration to test across MRI 1.9.2/1.9.3/2.0.0/2.1.0, Rubinius, + +- Update configuration to test across MRI 1.9.2/1.9.3/2.0.0/2.1.0, Rubinius, JRuby, Rails 3.0/3.1/3.2/4.0/4.1. -* Fix issue #6, in which the order of dependencies in the Gemfile could keep +- Fix issue #6, in which the order of dependencies in the Gemfile could keep Keynote's RSpec integration from loading correctly. ## v0.2.0 -* Add `Keynote::Inline`, a module that presenters can extend to enable inline + +- Add `Keynote::Inline`, a module that presenters can extend to enable inline templating in any language supported by Rails. -* Presenters now have a `use_html_5_tags` class method that adds a more +- Presenters now have a `use_html_5_tags` class method that adds a more complete set of Rumble tag methods to the class. -* Add `object_names` class method to presenters, returning an array of the +- Add `object_names` class method to presenters, returning an array of the symbols that have been passed into the `presents` method. -* Add an implementation of the `present`/`k` method that's available in test +- Add an implementation of the `present`/`k` method that's available in test cases. Update test generators accordingly. -* Update minitest-rails integration to be compatible with the newest +- Update minitest-rails integration to be compatible with the newest version of minitest-rails (on Rails 3.0, 3.1, 3.2, and 4.0). ## v0.1.3 -* Add block form of `present`. If you pass a block into a `present` call, it + +- Add block form of `present`. If you pass a block into a `present` call, it yields the presenter. + +[@palkan]: https://github.com/palkan +[@igas]: https://github.com/igas +[@dra]: https://github.com/dra +[@kirs]: https://github.com/kirs +[@outpunk]: https://github.com/outpunk +[@DarthSim]: https://github.com/DarthSim