# 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
#
<%= a %>
end
# AFTER:
def method_with_a_template
a = "foo"
erb(a:) { "<%= a %>
" }
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][]
## v1.1.0
- 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`.
## 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
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
joined by spaces.
## v0.3.1
- 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][]
## v0.2.3
- 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][]
## v0.2.2
- 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.
## v0.2.1
- 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
Keynote's RSpec integration from loading correctly.
## v0.2.0
- 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
complete set of Rumble tag methods to the class.
- 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
cases. Update test generators accordingly.
- 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
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