Flecs v3.2.11
Highlights
- Hytale is using Flecs as the backbone for their upcoming engine!
- More than half of the contributions in this release are from the community ❤️
- Work on Flecs 4.0 is well underway, with simpler query APIs and better performance! Follow progress here
Release notes
This version includes the following bugfixes:
- Fix issue with parsing newlines in query strings
- Fix issue with registration of nested types in module
- Fix issue in rule engine with lookup variables and equality operators
- Fix issue with rules that are partially trivial
- Fix issue where a member with a missing MetaType wasn't correctly handled (thanks @ZeroErrors!)
- Fix issue where query term with equality operator was incorrectly marked as trivial
- Fix potential out of bounds read in rule engine
- Fix JSON serialization error for labels with double quotes
- Fix issue with evaluating
R(_, _)
and_(_, T)
queries - Fix issues with not/optional operators and terms with any (
_
) source - Fix issue where rule compiler would not detect uninitialized lh of equality operator
- Fix issue where
ecs_ref_t
could point to invalid component after table recycling - Fix issue in code that dedups events for multi-component observers
- Fix issue where observer could access deleted id record during world cleanup
This version includes the following improvements:
[cpp]
Add missing overloads fordelete_with
andremove_all
(thanks @Charlie-83!)[cpp]
AddFLECS_CPP_NO_AUTO_REGISTRATION
flag to disable automatic component registration[cpp]
Addflecs::string::contains
[cpp]
Add support for associating a timer/tick source with a type (thanks @ZeroErrors!)[cpp]
Add missingconst
toentity_view
methods (thanks @waywardmonkeys!)[cpp]
Add missingflecs::doc::get/set_color()
functions (thanks @waywardmonkeys!)[cpp]
Mark explicit move ctors/operator= asnoexcept
(thanks @waywardmonkeys!)[cpp]
Remove redundant void arg of log function (thanks @waywardmonkeys!)[query-dsl]
Add support forR(A, B || C)
syntax to DSL[query]
Fill outecs_iter_t.system
when using filters, queries and rules (thanks @BeanCheeseBurrito!)[query]
Improve string conversion of queries with equality operators[rule]
Skip empty ids forR(_, *)
and*(_, T)
queries[json]
Implement serializer for user-friendly JSON format[json]
Add option for serializing query field metadata[rest]
Fix issue where cached REST request would always return code 200[rest]
Addtry
parameter that prevents throwing HTTP error when trying out queries[snapshot]
Reduce copies when duplicating tables with non-POD components for snapshots (thanks @ZeroErrors!)[strbuf]
Simplify implementation ofecs_strbuf_t
, improve performance[http]
Improve performance ofecs_http_server_request
[http]
Enable caching of HTTP requests made from C API[log]
Don't mix writing to stderr/stdout in logging output[log]
Make output file used by logging functions configurable[doc]
Fix copy-paste issues with type names (thanks @waywardmonkeys!)[doc]
Fix relationship example by specifying inout (thanks @garrett-is-a-swann!)[doc]
Update Doxygen to v1.10.0 (thanks @ZeroErrors!)[doc]
Enable graphviz dot files in Doxygen (thanks @ZeroErrors!)[doc]
Change defgroup documents to use autobrief (thanks @ZeroErrors!)[doc]
Fix typos (thanks @waywardmonkeys!)[doc]
Fix typos and spelling errors (thanks @ZeroErrors!)[doc]
Fixed documentation link in quickstart addons section (thanks @DJLink!)[doc]
Remove spurious asterisk (thanks @waywardmonkeys!)[doc]
Use @code/@encode (thanks @waywardmonkeys!)[doc]
Fix grouping errors in C docs (thanks @waywardmonkeys!)[doc]
Link function names in doc comments (thanks @waywardmonkeys!)[doc]
Fixecs_doc_get_name
code samples (thanks @waywardmonkeys!)[doc]
Add tab widget for code snippets (thanks @ZeroErrors!)[doc]
Add Extermination Shock to readme[doc]
Add Hytale to readme[doc]
Improve doc addon docs (thanks @waywardmonkeys!)[doc]
Fix doxygen warnings (thanks @waywardmonkeys!)[doc]
Add missing doc.brief descriptions to flecs entities[doc]
Add C# example snippets to Quickstart, RestApi, System manuals (thanks @BeanCheeseBurrito!)[ci]
Update pages workflow actions (thanks @waywardmonkeys!)[ci]
Add macOS-14 Apple Silicon jobs (thanks @waywardmonkeys!)
Benchmark results
https://github.com/SanderMertens/ecs_benchmark/tree/4681e8606aa9204b97f6316d3611e9f0d2572852
Known issues:
#844
#765
#714
#620
#478
#314
New Contributors
- @Charlie-83 made their first contribution in #1104
- @garrett-is-a-swann made their first contribution in #1107
- @DJLink made their first contribution in #1117
Full Changelog: v3.2.10...v3.2.11