# Changelog

All notable changes to this project will be documented in this file. The
format is based on [Keep a Changelog], and this project aims to follow
[Semantic Versioning].

## [0.14.1] - 2026-07-06

### Changed

- `SignalTimeEx::throttle` changed to emit `Signal::Item`, not `Option`

## [0.14.0] - 2026-07-02

### Added

- `SignalTimeExt` trait

### Changed

- `MutableExt::apply` and `MutableExt::apply_cloned` removed

- `SignalVecFinalizerExt::seq` removed

## [0.13.2] - 2026-05-05

### Changed

- `MutableVecExt::signal_vec_filter_map*` functions added

## [0.13.0,1] - 2026-03-14

### Changed

- `MutableVecExt::set_if*` functions added

### Changed

- `OptionExt`, `Entry`, `MutableExt`, and `MutableVecExt` apis `FnMut`, `FnOnce` reviewed and unified

### Fixed

- `Entry::or_insert_with` does not call `f` if it should not

## [0.12.2] - 2026-03-09

### Added

- `MutableVecExt::take`

## [0.12.0,1] - 2026-03-04

### Change

- `Entry` API changes, `DerefMut` on `Value`, `and_set_or_insert` instead of `or_insert_entry`

- `MutableVecExt::inspect` taking `FnOnce` changed to `MutableVecExt::inspect_vec` taking `FnMut`

- `MutableVecExt::replace_keyed` optimized

## [0.11.0, 0.11.1] - 2026-02-27

### Change

- bump up version or `artwrap`

## [0.10.4] - 2026-02-12

### Added

- `SignalVecFinalizerExt::any_item` added

## [0.10.2, 0.10.3] - 2026-01-01

### Added

- `MutableOption::inspect` and `MutableOption::inspect_mut` added

## [0.10.1] - 2025-11-11

### Added

- `MutableOption::take_if` added

## [0.10.0] - 2025-11-11

### Change

- `MutableOption::signal_map` signature changed to return `U` instead of `Option<U>`

## [0.9.0] - 2025-07-17

### New

- `last_*` functions added to `SignalVecFinalizerExt`

## [0.8.1] - 2025-04-02

### Changed

- optional feature `ahash` is not using default `ahash`'s `getrandom` dependency

## [0.8.0] - 2025-02-24

### Added

- optional feature `ahash` replacing `std::hash::RandomState` for `HashMap`

## [0.7.1] - 2025-02-24

### Added

- `synchronize` added to `MutableVecExt`

### Changed

- `replace_or_extend_keyed` renamed to `replace_keyed`

## [0.6.1] - 2025-02-10

### Added

- `flatten_ext` added to `SignalVec`

### Changed

- `Sized` bounds on ext interfaces modified

## [0.5.3] - 2025-01-11

### Added

- `feed` and `feed_cloned` added to `MutableVecExt` and `SignalVecSpawn`

## [0.4.0] - 2024-05-07

### Changed

- `return_lease` renamed to `commit`

## [0.2.0] - 2024-05-07

### Added

- `MutableVecEntry` trait added

### Changed

- binary searching methods removed

## [0.1.9] - 2024-04-13

### Added

- `MutableVec::replace` added

### Changed

- `MutableVec::replace_or_extend` renamed to `MutableVec::replace_or_extend_keyed`

## [0.1.8] - 2024-02-29

### Changed

- async code moved to artwrap crate

## [0.1.7] - 2024-02-27

### Changed

- bump up dependencies versions

## [0.1.6] - 2024-02-14

### Added

- `MutableVecExt::enumerate_map` added

- `MutableVecExt::find_*` and `filter_*` added

- `SignalExtMapOption::unwrap_or_default` added

- `SignalSpawn::spawn_fut` and `SignalVecSpawn::spawn_fut` added

## [0.1.5] - 2023-10-23

### Added

- `MutableVecExt::find_set_*` and `find_remove` added

- `MutableVecExt::extend_*` and `replace_*` added

- `SignalVecFinalizerExt::is_empty`, `len`, `all` and `any` added

### Changed

- `SignalVecItemExt` renamed to `SignalVecFirstExt`

## [0.1.4] - 2023-08-20

### Added

- Introduce wasm environment, `wasm-bindgen-futures` used for spawning tasks.

- `MutableOption::empty_if_contains` changed to `MutableOption::take_if_value`

## [0.1.3] - 2023-08-20

### Fixed

- `cargo.toml` features cleanup and fixes

### Changed

- `MutableOption::empty_if_contains` changed to `MutableOption::take_if_value`
