<commit_before># changelog

# 1.4.0 (edge, unreleased)

* Expermental new features
	* Computation setter functions now receive a context argument, and both getter and setter functions now receive a keypath argument.
	* Component styles can be split into multiple managed style tags in the document head by setting `Ractive.perComponentStyleElements` to `true`.
        * Methods that set a single value will now return the new value as the resolution of the returned promise e.g. `r.toggle('foo')` if `foo` is falsey will return a promise that resolves to `true`. `add`/`subtract`/`set` behave similarly.


# 1.2.8, 1.3.11

* Bug fixes
        * Avoid an issue with linking a reference expression's dependencies when the underlying linked model hasn't actually changed and causing the same dependency to get added to the linked model exponentially on each new link.


# 1.2.7, 1.3.10

* Bug fixes
        * Fixes in typings.
        * Nested transition managers will no longer cause early detaches (#3224)
        * CSS ids that overlap will no longer cause the contained id to be duplicated e.g. with `table` and `tab`, `tab` would be duplicated.
        * Special refs that aren't `@context` but contain `context` in their path will no longer error (#3326)

* Breaking Changes
        * Observer callbacks that throw are now handled like computations that throw. This is technically a breaking change, but much more likely is that the previous behavior would cause Ractive's internal runloop to stall and cause unpredictable behavior.


# 1.2.6, 1.3.9

* Bug fixes
	* Escaped keypaths can now be observed correctly (#3319, thanks @ilessiivi)
	* Empty string templates will no longer cause an error during parsing.
	* Multiple references to the same model during capture for a computation will no longer result in ballooning dependencies.<commit_msg>update changelog with 1.2.9 and 1.3.12<commit_after># changelog

# 1.4.0 (edge, unreleased)

* Expermental new features
	* Computation setter functions now receive a context argument, and both getter and setter functions now receive a keypath argument.
	* Component styles can be split into multiple managed style tags in the document head by setting `Ractive.perComponentStyleElements` to `true`.
        * Methods that set a single value will now return the new value as the resolution of the returned promise e.g. `r.toggle('foo')` if `foo` is falsey will return a promise that resolves to `true`. `add`/`subtract`/`set` behave similarly.


# 1.2.9, 1.3.12

* Bug fixes
        * Track decorator args as expressions so that updates, so that they get notified when their deps change (#3329)
        * Wildcard computations now implicitly depend on their parent so that they get invalidated when the parent changes (#3331)
        * Wildcard computations in arrays are now included in a virtual get (#3333)


# 1.2.8, 1.3.11

* Bug fixes
        * Avoid an issue with linking a reference expression's dependencies when the underlying linked model hasn't actually changed and causing the same dependency to get added to the linked model exponentially on each new link.


# 1.2.7, 1.3.10

* Bug fixes
        * Fixes in typings.
        * Nested transition managers will no longer cause early detaches (#3224)
        * CSS ids that overlap will no longer cause the contained id to be duplicated e.g. with `table` and `tab`, `tab` would be duplicated.
        * Special refs that aren't `@context` but contain `context` in their path will no longer error (#3326)

* Breaking Changes
        * Observer callbacks that throw are now handled like computations that throw. This is technically a breaking change, but much more likely is that the previous behavior would cause Ractive's internal runloop to stall and cause unpredictable behavior.


# 1.2.6, 1.3.9

* Bug fixes
	* Escaped keypaths can now be observed correctly (#3319, thanks @ilessiivi)
	* Empty string templates will no longer cause an error during parsing.
	* Multiple references to the same model during capture for a computation will no longer result in ballooning dependencies.
{'fraction_non_alphanumeric': 0.0610798924993892, 'fraction_numerical': 0.023454678719765452, 'mean_word_length': 3.727482678983834, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '286862', 'n_tokens_mistral': 1147, 'n_tokens_neox': 1028, 'n_words': 572}