vide/CHANGELOG.md
2023-04-06 02:54:21 +01:00

78 lines
1.7 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
---
## [0.4.0] - 2023-01-26
### Added
- Component grouping and `Registry:group()`.
- Method `View:use()`.
- Constant `ecr.null`.
### Removed
- Method `View:include()` and `Observer:include()`.
### Fixed
- `Registry:add()` not firing `Registry:added()` signals.
- Mismatch between argument list and values returned in multi-typed observers.
- Observers not garbage collecting after calling `Observer:disconnect()`.
### Improved
- Connection firing speed by ~70%.
---
## [0.3.0] - 2023-01-09
### Added
- Overload for `Registry:create()` to create an entity with a given identifier.
### Changed
- Registry signals no longer pass the registry as the first argument to listeners.
- Observers no longer track entities with removed components.
- Method `Registry:entities()` now creates and returns an array of only valid entities.
- Function `ecr.registry()` can no longer pre-allocate memory.
### Removed
- Method `Registry:capacity()`.
### Improved
- Double-type view iteration speed by ~100%.
---
## [0.2.0] - 2022-12-08
### Added
- Method `View:include()` and `Observer:include()`.
- Method `Registry:patch()`.
- Method `Registry:add()` and optional default parameter for `ecr.component()`.
### Changed
- Behavior `for ... in View do` now behaves the same as `for ... in View:each() do`.
- Signal diconnect API (Signal now returns a connection object to call disconnect on).
### Improved
- Entity creation and release speed by ~100%.
- Multi-type view iteration speed by ~60%.
## [0.1.0] - 2022-11-16
- Initial release