0.12.0 - 2025-04-07
- improve errors when entity is unavailable (#410)
- [breaking] Add
BMSPlugin
group, feature flag for bindings per bevy crate & add script global filter options (#408)- The CoreScriptGlobalsPlugin now also stores options for filtering registered globals, which can be changed.
- add option to emit response event on each callback &
RunScriptCallback
command for "once-off" callbacks (#403)
lua54
feature being forced (#413)GetTypeDependency
derive macro using the wrong path forbms_core
(#409)
- add script loading benchmark (#411)
- refactor
ReflectReference
internally (#406) - reduces size of
ScriptValue
to 64 bytes, moves some dynamic function methods into function info (#404)
0.11.1 - 2025-03-29
- bump bevy to 0.15.3 (#401)
0.11.0 - 2025-03-29
- allow the conversion of lua functions into
ScriptValue
viaDynamicScriptFunction
(#396) - improve tracing spans, add more benchmarks (#394)
- add
profile_with_tracy
feature which plays nicely with bevy'sbevy/trace_tracy
feature (#393) - Add initial benchmarks, integrate them into CI & add getters/settters for
Scripts
resource (#381) - ✨ Dynamic Script Components,
register_new_component
binding,remove_component
no longer requiresReflectComponent
data (#379) - [breaking] optimize
get
andset
functions, addMagicFunctions
sub-registry (#397) - optimize access map (#395)
- add ScriptValue override for printing opaque values (#380)
- overhaul mdbook preprocessor, prettify generated docs, support dummy globals (#377)
- fix global type cache not containing generic types (#388)
- switch to hashbrown hashmap in the function registry (#399)
- try play with hashing for access maps (#398)
- allow check creation for bencher
0.10.0 - 2025-03-16
- add global
types
cache makingget_type_by_name
redundant (#370) - ✨ Parallelizable Script Systems with
Res
andQuery
parameters & Schedule debugging utilities (#361) - Add missing
luau
extension, improve extension configuration options (#366) - (ladfile) improve globals in LAD format (#372)
- [breaking] re-design
GetTypeDependencies
trait & addGetTypeDependencies
derive macro (#369) - shorten import paths (#367)
- allow lua scripts to insert
ScriptComponent
's (#359)
- [breaking] script contexts being completely overwritten on a re-load (#345)
- unit enum variants other than
Option::None
being converted intoScriptValue::Unit
(#360)
- [breaking] Merge
ScriptContexts<T>
intoScripts<T>
+ RemoveSync
bound from Contexts (#350)
0.9.11 - 2025-03-03
- plugin registration order affecting which globals are exported (#346)
0.9.10 - 2025-03-03
- add
map_get
function for cloning and returning values on a map (#343) - (bms,ladfile_builder) introduce app global instance registry and export them in
ladfile_builder
(#340)
0.9.9 - 2025-02-28
- Add
GlobalNamespace::system_builder
,World::add_system
and allow dynamic system creation (#335) - add
WithWorldGuard
andHandlerContext
system parameters (#327) - add test for construct using unit struct (#328)
- support setting hashmaps via reflection (#330)
- allow hashmap
FromScript
from list of tuples (#332)
0.9.8 - 2025-02-25
- Allow trailing comma in callback_labels. (#325)
enable_context_sharing
not returning the plugin like a real builder
0.9.7 - 2025-02-23
- create
ScriptingDocgenPlugin
to allow exportingLAD
files + export BMS bindings (#303) - add global functions to mdbook, allow documenting arguments and return values (#296)
- separate
ladfile
intoladfile_builder
andladfile
crates (#293) - add
construct
global for constructing arbitrary types &Union
type (#302) - pre-register reflected components with the world at finalize (#314)
- add allocator diagnostics (#305)
- improve warning on missing asset (#295)
- functions not releasing accesses correctly on error (#315)
- remove
reflect_functions
andfile_watcher
flags from bevy dependency (#316)
0.9.6 - 2025-02-15
- create mdbook backend for LAD files (#287)
- compilation error with
bevy/trace_tracy
(#289)
0.9.5 - 2025-02-12
- update bevy to 0.15.2 (#280)
0.9.4 - 2025-02-12
- create
Language Agnostic Declaration
file format andladfile
crate (#274) - Add
script_bindings
impl block derive macro (#263) - add
TypedThrough
abstraction to function meta, and refactor (#272) - refactor generated bindings to use new derive macro (#268)
- refactor core bindings to use new derive macro (#267)
- fix tracy compile errors and add tracy buid to CI (#277)
- don't use
new_unregistered
for most of core bindings macros (#270)
0.9.3 - 2025-02-08
- add static scripts which do not need to be attached to entities to be run (#253)
- add recipient for specific language (#250)
0.9.2 - 2025-02-08
- make
extractors
module non-public (#251)
- add missing extensions in the asset loader (#254)
0.9.1 - 2025-02-01
- bump
bevy
to 0.15.1 (#241)
0.9.0-alpha.9 - 2025-01-28
- prevent allocation and component ID ranges from overlapping (#230)
0.9.0-alpha.8 - 2025-01-27
- re-implement rhai again (#222)
- add
ScriptValue::Map
and create appropriate conversions in lua and rhai (#229) - Add
functions
script method, and create function info scaffolding (#228) - Call custom
get
andset
functions on the type when indexing. (#226) - Add
optional
arguments to script functions (#225) - Add world.with_or_insert_component_mut() (#223)
0.9.0-alpha.7 - 2025-01-20
- [breaking] Remove
WorldCallbackAccess
& Combine context args for dynamic functions into oneFunctionCallContext
(#219) - Add component
upsert
function (#218)
0.9.0-alpha.6 - 2025-01-19
- Don't panic! (#216)
0.9.0-alpha.5 - 2025-01-19
- Fix missing functions in codegen (#210)
0.9.0-alpha.3 - 2025-01-14
- Improvements to BMS in multi-language context (#194)
- Implement global namespace registration (#202)
- make script contexts public (#193)
0.9.0-alpha.2 - 2025-01-05
- Dynamic function registry and dynamic function calls
bevy_mod_scripting_functions
crate added, containing built-in dynamic functions callable from scripts- Lua dynamic function call mechanism
- Dynamic functions automatically register their argument and return types with the type registry
- Added set of
IntoScript
,FromScript
,IntoScriptRef
, andFromScriptRef
traits - Added
ScriptAllocator
to manage lifetimes of non-world stored types (such asVec2
created via scripts etc..) - Added
AccessMap
dynamic safety mechanism, every access is now small, and does not require mutexing the entire world
- Complete plugin re-write, expect breakages everywhere
prelude
imports removedScriptValue
abstraction replacing the concept of a generic event argument type. Each event payload is aScriptValue
world
is now a static reference,world:function
calls must be replaced withworld.function
calls- Documentation generation was temporarilly removed
Teal
andTealr
was removedbevy_mod_scripting_derive
,bevy_mod_scripting_common
and other derive crates as well asbevy_event_priority
andbevy_script_api
crates were removed- Temporarilly suspended full rhai and rune support until next non-alpha release
- Removed Deferred reflection mechanism
- Added
mdbook
documentation book - Removed
APIProvider
traits in favour of various configuration resources - Specific registration of
Vec<T>
andOption<T>
viaregister_lua_vec
etc.. is no longer necessary, reflection just works on all registered types - Expanded core library of
ReflectReference
functions - Removed
LuaProxyable
abstraction and all custom type data, everything is now driven via normal reflection - All references are now represented via either references to the world or to a
ScriptAllocator
- Accessing anything in the world requires claiming the appropriate
AccessMap
locks to do so safely (which is abstracted away with various utility functions) - And much more
0.8.0-alpha.2 - 2024-12-03
- bug when compiling without
teal
feature (#148)
- Small fixes (#155)
- Luau support attempt (#154)
- Bump bevy & bevy console (#153)
- Fix failing doctest (#146)
- update Cargo.toml dependencies
0.8.0-alpha.1 - 2024-11-10
- Bump Bevy release candidate (#143)
- update Cargo.toml dependencies
0.7.1 - 2024-11-03
- Documentation generation hotfixes (#130)
0.7.0 - 2024-11-03
- Add dynamic query examples (#120)
- Migrate to bevy 0.14 (#127)
- Fix Broken Example (#123)
- Fix cross-platform CI.yml (#111)
- update metadata
- Bump
tealr_doc_gen
andtealr
versions - Change bevy dependency semver to "0.9"
- Automatic documentation publishing for lua Bevy api
- Added binary for generating documentation
- Fixed bug where errors in documenation generation didn't propagate properly
- Fixed broken link in readme.md
- Added support for the Bevy API for Rhai
- Foundations laid for proxy macro for Rhai
- Added
game_of_life
andbevy_api
examples for Rhai - Added more hooks for APIProviders.
entity
andworld
constants are now set by API providers and hence you must register theBevyAPIProvider
for your scripting language to access those. This let's us accomodate people who want barebones scripting without access to Bevy, or roll their own fully fledged API's.
- Revived
console_integration
examples - Major changes to low level API's
- Major import structure changes
- Split crate into smaller crates
- Added more control over what's pulled into the dependency tree with finely grained features
- Added
CHANGELOG.md
- Incorporated
cargo release
- Fixed broken example links in
readme.md
Initial version