mirror of
https://github.com/centau/vide.git
synced 2026-08-20 23:01:37 +00:00
Adds a built-in `vide.tag()` action that wraps `Instance:AddTag()` / `Instance:RemoveTag()` so tags can be applied through `create()` props. It accepts a static string or array of strings, or a reactive source returning either. The reactive variant diffs the previous and new tag sets so only the delta is applied. All tags added by the action are removed when the surrounding scope is destroyed. Includes mock support for `AddTag`/`RemoveTag`/`HasTag`/`GetTags`, tests, API reference docs, and a closing note in the actions tutorial. Co-authored-by: Cursor <cursoragent@cursor.com>
128 lines
3.6 KiB
Markdown
128 lines
3.6 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
## Unreleased
|
|
|
|
### Added
|
|
|
|
- `tag()` action for adding CollectionService tags to instances. Supports
|
|
static strings and arrays as well as reactive sources for dynamic tag sets.
|
|
Tags are automatically removed when the surrounding scope is destroyed.
|
|
|
|
### Changed
|
|
|
|
- `branch()` is now allowed to be used within a reactive scope.
|
|
|
|
### Deprecated
|
|
|
|
- `create()` overloads. Supported is now only `create(class)(props)`.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
## [0.4.0] - 2026-01-17
|
|
|
|
### Added
|
|
|
|
- `create("ClassName", { props })` and `create(Instance, { props })` syntax.
|
|
- `cleanup()` now accepts `thread` types.
|
|
- Implicit effects to set children can now recursively create more implicit
|
|
effects to set children.
|
|
- `spring()` returns a second value, a setter to set position, velocity and
|
|
impulse.
|
|
- Improved `spring()` updating and unscheduling.
|
|
- `show()` now receives a source to its callback returning the current value
|
|
of the condition.
|
|
- Ignore `false` passed as a child.
|
|
- Flag `vide.defaults` to disable the setting of default properties.
|
|
- Delayed scope destruction for control flow functions: `show()` `switch()` `indexes()` `values()`.
|
|
- Better `create()` types for the new type solver.
|
|
|
|
### Changed
|
|
|
|
- A scope can no longer be destroyed while it is active. Strict mode will check
|
|
for this.
|
|
- Implicit effects to set children now unparent all children when the effect is
|
|
destroyed.
|
|
- Error reporting should be improved with better formatting when effects invoke
|
|
other effects and no more loss of stack traces.
|
|
- Nesting parent properties now work, and they are now also checked for
|
|
duplicates like other properties.
|
|
|
|
### Removed
|
|
|
|
- Aggregate construction when setting properties with `create()`.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
## [0.3.1] - 2024-10-09
|
|
|
|
### Added
|
|
|
|
- Context functions now also return results.
|
|
- `version` table with current version.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
## [0.3.0] - 2024-10-06
|
|
|
|
### Added
|
|
|
|
- `context()`.
|
|
|
|
### Changed
|
|
|
|
- `root()` now returns its destructor as the first value by default.
|
|
|
|
### Fixed
|
|
|
|
- Error stack traces being lost.
|
|
- `root()` now destroys the scope automatically if an error occurs during call.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
## [0.2.0] - 2023-11-22
|
|
|
|
### Added
|
|
|
|
- Batched updates with `batch()`.
|
|
|
|
### Changed
|
|
|
|
- Improved graph updating algorithm.
|
|
- Graph nodes when destroyed no longer destroy children; only owned.
|
|
|
|
### Fixed
|
|
|
|
- Graph edge case where a destroyed node can be readded if it was queued for
|
|
rerun before being destroyed.
|
|
- Some properties not being applied when `create()` is used recursively.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
## [0.1.1] - 2023-09-30
|
|
|
|
### Added
|
|
|
|
- `cleanup()` accepts objects with a `Destroy()` or `Disconnect()` interface.
|
|
- `read()` as a utility to read sources or passthrough a non-source value.
|
|
|
|
### Changed
|
|
|
|
- Reactive scopes created within reactive scopes are now destroyed on rerun.
|
|
- `untrack()` can be called outside of reactive scopes.
|
|
- `changed()` will also run its callback with the initial property value.
|
|
|
|
### Fixed
|
|
|
|
- `show()` and `switch()` not updating when in strict mode.
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
## [0.1.0] - 2023-09-20
|
|
|
|
- Initial release
|