Skip to content

Latest commit

 

History

History
129 lines (98 loc) · 4.52 KB

NEWS.md

File metadata and controls

129 lines (98 loc) · 4.52 KB

News

1.0.2

  • Fix: digging was broken due to fragment_path being nil when calling found_path!, and another instance where Searcher did not take Props::Options into account

1.0.1

  • Fix: second props partial render on the same view returns nil. The @__json instance variable persisted after the first partial finalized, causing subsequent top-level renders to skip result! and return nil.

1.0.0 (Jan 15, 2026)

  • Performance improvements: reduce object allocations by removing cloning of options passed to arrays. Props::Base now beats Panko, making it the fastest JSON builder in Ruby. Props::Template outpaces Alba and Turbostreamer.
  • Add Props::Options object and props_options view helper for a chainable API when specifying partial/fragment/locals options.
  • Add Rails 8.1 to build matrix, remove EOL versions.

1.0.0.alpha.4 (Jan 3, 2026)

  • Rename with to prop_options for the chainable options helper.

1.0.0.alpha.3 (Sep 23, 2025)

  • Fix graft path: traveled_path was being cleared unnecessarily, resulting in an inaccurate graft path.
  • Fix partial! when used with digging by moving the method to the top-level so both builder instances have access to it.
  • Ensure a key is added to pass_opts on an exact dig into an array element.
  • Use instance variable if available in active_template_virtual_path.

1.0.0.alpha.2 (Sep 19, 2025)

  • Add fragmentContext: when digging with props_at, the found path is now relative to the fragment it was found in, producing shorter graft paths.
  • Fix partial! not working when digging.

1.0.0.alpha

  • Breaking change with how the fragments work. Where prior it was {type: fragment_name, partial: partial_name, path: path} the payload is now changed to{id: key, path: path}. This should only affect superglue users.
  • Rest of API is stablizing with next release of Superglue v2

0.38.0 (Jul 13, 2025)

  • Add ability to render a partial as a layout
  • Add child! which works only within an array! block
  • Add ability to disable all deferements via json.disable_deferements!

0.37.0 (Dec 31, 2024)

  • Add a dig option for traversing into a template. It's basically an alias of the already existing search option.
  • Drop support for Rails 6.

0.36.0 (Nov 21, 2024)

New features extract!, partial!, and test improvements.

0.35.0 (Jul 20, 2024)

Fix issue with locals referring to an earlier item when using it in collections.

0.34.0 (May 31, 2024)

Fix issue with send_data not working due to the layout_patch not accounting for inline templates.

0.32.0 (Dec 9, 2023)

Revert the removal of virtual_path_of_template, and renamed it to active_template_virtual_path. The reason for the removal was because we tried to replace it with "#{controller_path}/#{action_name}" in superglue for the component identifier, but that proved a bit too hairy. We also expose the method to all other template types as well, as using @virtual_path on HTML erbs from the view seemed too private.

0.31.0 (Dec 6, 2023)

  • PropsTemplate no longer adds a virtual_path_of_template method to your views. This is used by Superglue's generated application.json.props. This is a backward breaking change. To migrate, simply change the componentIdentifer in your application.json.props and update the page_to_page_mapping.js accordingly.
json.componentIdentifier "#{controller_path}/#{action_name}"

0.30.0 (Nov 25, 2023)

  • PropsTemplate will no longer automatically camelize(:lower) on keys. Instead, be explicit about the keys we're serializing.

For example: json.currentUser instead of json.current_user. This is backward breaking. To retain the current behavior, you can do this:

module PropsTemplateOverride
  def format_key(key)
    @key_cache ||= {}
    @key_cache[key] ||= key.camelize(:lower)
    @key_cache[key]
  end

  def result!
    result = super
    @key_cache = {}
    result
  end

  ::Props::BaseWithExtensions.prepend self
end

0.24.0 (Nov 4th, 2023)

  • Turn the local assigns virtual_path_of_template that didn't work into a method on the view

0.23.0 (Jun 28, 2023)

  • Fix #1 issues templates without layouts were not rendering
  • Refactor layout_patch to make a less invasive monkey patch
  • Add ruby standard
  • Add CONTRIBUTING.md

0.21.1 (Jan 6, 2022)

  • Add support for Rails 7

0.21.0 (Jan 3, 2022)

  • rename bzq to props_at

0.20.0 (June 6, 2021)

  • Added testing for Ruby 3.0
  • Moved PropsTemplate to own repo
  • Use version.rb instead of VERSION file.