1.58.0 (2026-09-24)
* Add Tins::EnumSqueeze module providing squeeze and squeeze! methods that
collapse consecutive duplicate elements, mirroring String#squeeze
semantics.
* Freeze the UNSET sentinel constant in Tins::Delegate to prevent accidental
mutation of the shared Object.new instance.
1.59.0 (2026-09-25)
* Add *sels and &block parameters to squeeze and squeeze!, allowing
squeezing to be restricted to elements matching case-equality (===)
selectors or a predicate block
* Raise ArgumentError when both *sels and &block are provided
* Change hot-loop comparison to item != prev || !block.(item) so
non-matching elements are never collapsed
* Forward (*sels, &block) from squeeze! to squeeze
91d9c34a4f
taca
devel/ruby-tins: update to 1.57.0
1.57.0 (2026-09-14)
* Add keyword and block forwarding to Expose#expose
* Add keyword argument support to Full#full?
* Add keyword argument support to AskAndSend
475f5bfbd7
taca
devel/ruby-tins: update to 1.56.0
1.55.0 (2026-07-23)
* Introduced the Tins::DeepTransform module, providing a stack-safe,
iterative engine for deep transformations via the deep_transform method.
* Added support for flexible lambda arity (1, 2, or 3) within deep_transform
to allow access to the node, key/index, and parent container context.
* Implemented a core extension in tins/xt/deep_transform that integrates
DeepTransform into the Hash and Array classes.
* Refactored Tins::HashSymbolizeKeysRecursive to utilize the new iterative
engine instead of recursive logic.
1.56.0 (2026-07-25)
* Added irb as a runtime dependency
This site uses Google Analytics cookies to count visits and see which pages are read.
No cookie is set until you accept. What is collected