Skip to content

Commit 7e5bbd1

Browse files
committed
Version 0.10.0
1 parent 5176720 commit 7e5bbd1

File tree

2 files changed

+25
-3
lines changed

2 files changed

+25
-3
lines changed

CHANGELOG.md

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
# Changelog
22

3+
## 0.10.0
4+
5+
### Bug Fixes
6+
7+
* Fix memory corruption bug caused by Nim mishandling sink parameters
8+
* Support tuples in `Shared` and `Local`
9+
* Fix a bug where an instanced `eventSys` can't be invoked
10+
11+
### New Features
12+
13+
* Add compiler flags for tracing various behavior during execution
14+
* `-d:necsusSaveTrace` -- Log save and restore activity
15+
* `-d:necsusQueryTrace` -- Log executed queries
16+
* `-d:necsusEventTrace` -- Log when an event is sent
17+
* `-d:necsusEntityTrace` -- Log when entities are created, modified or deleted
18+
* Overall reduction of memory allocations
19+
20+
### Backwards incompatible changes
21+
22+
* Mark the logger parameter as `gcsafe` and `raises: []`
23+
* Remove the `sink` flag from the `Outbox` proc parameter
24+
325
## 0.9.1
426

527
### Bug Fixes
@@ -77,7 +99,7 @@ No known breaking changes
7799
78100
proc app() {.necsus([~startupSys, ~loopSys, ~teardownSys], newNecsusConf).}
79101
```
80-
2. `Spawn` and `Query` no longer return an `EntityId`. If you need them, use a `FullSpawn` or a `FullQuery` instead. This change allows Necsus to improve build speeds and produce less output code. If you're interested in the details, read on.
102+
2. `Spawn` and `Query` no longer return an `EntityId`. If you need them, use a `FullSpawn` or a `FullQuery` instead. This change allows Necsus to improve build speeds and produce less output code. If you're interested in the details, read on.
81103

82104
During a build, Necsus automatically generates a set of all possible archetypes that could possibly exist at runtime. It does this by examining systems with `FullQuery`, `FullSpawn`, `Lookup`, and `Attach` directives, then uses that to calculate all the combinatorial possibilities. Naively, this is an exponential algorithm. This is important because archetypes themselves aren't free. Each archetype that exists increases build times and slows down queries.
83105

@@ -128,4 +150,4 @@ With this change, each system gets its own inbox, which is cleared after the sys
128150

129151
* Many compile time speed improvements
130152
* Various bug fixes
131-
* Improved generic alias handling
153+
* Improved generic alias handling

necsus.nimble

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Package
22

3-
version = "0.9.1"
3+
version = "0.10.0"
44
author = "Nycto"
55
description = "Entity Component System"
66
license = "MIT"

0 commit comments

Comments
 (0)