Releases: limbonaut/limboai
v1.3.0
Good News, Everyone! 🎉
It's time for a new LimboAI release—please welcome the freshly baked version 1.3.0! Packed with fixes and improvements, this edition might be the last in the Godot 4.3 series. Time will tell 😉
I’ve highlighted some of the most interesting changes—as usual, follow the links for more details. Cheers!
What's Changed
⭐ - highlights
- ⭐ Implement task multiple selection and drag and drop by @ydeltastar in #210
- Fix
BTForEach
crash if elements are removed from the array during iteration by @limbonaut in #211 - Fix
BBNode::get_value()
crash with a freed object using GDExtension by @limbonaut in #212 - Fix
BTSetAgentProperty
name generation by @limbonaut in #213 - Fix loop variables used as copy by @limbonaut in #214
- GHA: Add an option to create GDExtension debug builds by @limbonaut in #216
- Prefetch nodes set directly in the BehaviorTree's BlackboardPlan by @limbonaut in #215
- Fix duplicate entries in Misc->Layout by @monxa in #219
- Remember loaded
BehaviorTree
s of last session by @ydeltastar in #225 - Fix invalid access errors on exit in LimboHSM by @limbonaut in #226
- Fix and update docs by @limbonaut in #230
- GHA: Fix Vulkan SDK installation step by @limbonaut in #233
- ⭐ Implement Tree Search Functionality with Highlighting and Filtering by @monxa in #229
- GHA: Code style checks for PRs and commits by @limbonaut in #234
- Doc: Clarify
Blackboard.get_var()
andset_var()
by @limbonaut in #235 - ⭐ GHA: Build iOS GDExtension libraries by @limbonaut in #163
- GHA: Fix Vulkan SDK on iOS by @limbonaut in #237
- Duplicate
BBParam
instances in typed arrays inBTTask::clone()
by @limbonaut in #239 - Call both native and script
_setup/_enter/_exit
in BTTask by @limbonaut in #227 - ⭐
LimboHSM
: Ability to specify per-transition guard function by @limbonaut in #241 - Fix re-parenting an agent interrupts its state machine by @limbonaut in #242
- Improve saving for built-in BTs attached to scenes by @limbonaut in #243
- Improve workflow with built-in BT resources by @limbonaut in #244
- ⭐ Feature: Bind
BlackboardPlan
variables to node properties in the Inspector by @limbonaut in #245 - GHA: Improve Windows builds: MinGW/GCC with LTO, D3D12, ANGLE by @limbonaut in #252
- Fix: Keep
BTInstance
alive until update is finished (fixes #254) by @limbonaut in #255 - Add missing 'not' in HSM state example by @namelessvoid in #258
- Doc: Add Contributing page by @limbonaut in #260
- Suggestion on re-arranging the docs by @namelessvoid in #262
- Fix crash with VSCode and GDExtension by @limbonaut in #261
- Remove arbitrary limit on user task directories by @Pheubel in #263
- Add
Blackboard.print_state()
by @limbonaut in #264 - Fix documentation links in the editor by @limbonaut in #265
- Enable existing BlackboardPlan features for NIL variables by @dpalais in #267
- Amend logic error in BlackboardPlan variable listing by @dpalais in #269
- doc: clarify scoping for BTState by @laurentsenta in #271
- Update copyright notices across the project files & in LICENSE.md by @limbonaut in #272
New Contributors
- @namelessvoid made their first contribution in #258
- @Pheubel made their first contribution in #263
- @laurentsenta made their first contribution in #271
Full Changelog: v1.2.2...v1.3.0
v1.2.2
What's Changed
a5c318b Update class docs
65a1a3d, 5766922 Fix prefetching failing for nodes set directly in BehaviorTree's BlackboardPlan resource
5ac6cda Fix BTSetAgentProperty
name generation
fd1ac1c Fix BBNode::get_value()
crash with a freed object in GDExtension
644c589 Fix BTForEach crash if elements are removed from the array during iteration
1cb8580 Fix mem leaks in the demo
Full Changelog: v1.2.1...v1.2.2
v1.2.1
What's Changed
- Fix custom scene root is not used in BTPlayer and BTState by @limbonaut in #202
- Fix editor setting initialization for GDExtensions by @monxa in #204
- Generalize EDITOR_DEF macro to fix potential editor setting issues by @monxa in #205
- Override _to_string() to give useful info about objects in GDExtension by @limbonaut in #206
New Contributors
Full Changelog: v1.2.0...v1.2.1
v1.2.0
Good News, Everyone! 🎉
LimboAI version 1.2.0 is out! This release focuses on the shiny new Godot Engine 4.3 and also brings a bunch of improvements and fixes. Due to the use of a newer API, it is no longer compatible with Godot 4.2.
While there are some breaking changes, most projects should remain unaffected. You can check the details in the linked ⚡PR below.
What's Changed
⭐ - highlights
⚡ - breaking changes, follow PR link for details
- GHA: Build Android platform libs in GDExtension workflow by @limbonaut in #147
- ⭐ Add support for Godot 4.3 by @Rubonnek in #64
- Register and call virtual methods on scripts in GDExtension by @limbonaut in #149
- Fix: GDExtension load fails due to
Expression
used withoutRef<>
by @limbonaut in #150 - ⭐ Generate built-in documentation header in GDExtension variant by @limbonaut in #151
- GHA improvements by @limbonaut in #154
- Replace deprecated set_auto_translate call with set_auto_translate_mode by @dpalais in #155
- ⭐ Improved layout for large displays (optional) by @limbonaut in #157
- Fix BlackboardPlan arrays shouldn't be shared between instanced agents by @limbonaut in #158
- Improve documentation tooltips by @limbonaut in #159
- Fix new task script path don't update after changing the setting by @ydeltastar in #161
- Fix error when opening scene with a
BTPlayer
by @ydeltastar in #162 - ⭐ HSM improvements by @limbonaut in #164
- Fix BTPlayer.restart() crash by @limbonaut in #172
- GHA: Fix iOS builds by @limbonaut in #173
- GHA: Add Linux & Windows ARM64 builds by @limbonaut in #174
- LimboHSM: Fix process_input is not enabled in active substate by @limbonaut in #176
- Hide
update_mode
property for non-root HSMs by @limbonaut in #177 - Fix error if
changed
signal is already connected in several tasks by @limbonaut in #180 - ⚡ Breaking: Implement
BTInstance
- runtime instance ofBehaviorTree
by @limbonaut in #181 - Allow monitoring BT performance in
BTState
by @limbonaut in #182 - ⭐ BTPlayer: Allow switching BT instance at runtime by @limbonaut in #183
- Allow supplying custom scene root for behavior tree instantiation by @limbonaut in #184
- Editor setting to prefer online docs, and open builtin docs by default by @limbonaut in #185
- ⭐ Edit task script on double-click (open help for core task) by @limbonaut in #186
- Fix C# exports print errors due to missing ClassDB binding by @limbonaut in #188
- Make player filter in the debugger case-insensitive by @ydeltastar in #189
- Improved dev setup for GDExtension by @limbonaut in #190
- Fix renaming
BehaviorTree
files doesn't update tab names by @ydeltastar in #191 - Fix
monitor_performance
screwing C# exports by @limbonaut in #193 - BlackboardPlan: Fix mapping failing for NodePath variables with prefetch enabled by @limbonaut in #195
- GHA: Preserve nuget version for C# builds by @limbonaut in #197
- Don't overwrite exisiting blackboard variables in
BTState
upon initialization by @limbonaut in #198 - GHA: .NET build workflow fixes by @limbonaut in #199
- GHA: Build additional .NET templates - Android & iOS by @limbonaut in #200
- Fix editor undo polluting scene history if
BehaviorTree
is not saved to a file by @limbonaut in #201
New Contributors
- @ydeltastar made their first contribution in #161
Full Changelog: v1.1.0...v1.2.0
v1.2-rc
Hey, folks! Are you excited about shiny new Godot goodies? This pre-release is focused on Godot 4.3, and it's not compatible with 4.2.
I believe it is quite stable. But if you come upon some bugs, don't forget to report them! Thanks.
What's Changed
⭐ - highlights
⚡ - breaking changes, follow PR link for details
- GHA: Build Android platform libs in GDExtension workflow by @limbonaut in #147
- ⭐ Add support for Godot 4.3 by @Rubonnek in #64
- Register and call virtual methods on scripts in GDExtension by @limbonaut in #149
- Fix: GDExtension load fails due to
Expression
used withoutRef<>
by @limbonaut in #150 - ⭐ Generate built-in documentation header in GDExtension variant by @limbonaut in #151
- GHA improvements by @limbonaut in #154
- Replace deprecated set_auto_translate call with set_auto_translate_mode by @dpalais in #155
- ⭐ Improved layout for large displays (optional) by @limbonaut in #157
- Fix BlackboardPlan arrays shouldn't be shared between instanced agents by @limbonaut in #158
- Improve documentation tooltips by @limbonaut in #159
- Fix new task script path don't update after changing the setting by @ydeltastar in #161
- Fix error when opening scene with a
BTPlayer
by @ydeltastar in #162 - ⭐ HSM improvements by @limbonaut in #164
- Fix BTPlayer.restart() crash by @limbonaut in #172
- GHA: Fix iOS builds by @limbonaut in #173
- GHA: Add Linux & Windows ARM64 builds by @limbonaut in #174
- LimboHSM: Fix process_input is not enabled in active substate by @limbonaut in #176
- Hide
update_mode
property for non-root HSMs by @limbonaut in #177 - Fix error if
changed
signal is already connected in several tasks by @limbonaut in #180 - ⚡ Breaking: Implement
BTInstance
- runtime instance ofBehaviorTree
by @limbonaut in #181 - Allow monitoring BT performance in
BTState
by @limbonaut in #182 - ⭐ BTPlayer: Allow switching BT instance at runtime by @limbonaut in #183
- Allow supplying custom scene root for behavior tree instantiation by @limbonaut in #184
- Editor setting to prefer online docs, and open builtin docs by default by @limbonaut in #185
- ⭐ Edit task script on double-click (open help for core task) by @limbonaut in #186
- Fix C# exports print errors due to missing ClassDB binding by @limbonaut in #188
- Make player filter in the debugger case-insensitive by @ydeltastar in #189
- Improved dev setup for GDExtension by @limbonaut in #190
- Fix renaming
BehaviorTree
files doesn't update tab names by @ydeltastar in #191 - Fix
monitor_performance
screwing C# exports by @limbonaut in #193 - BlackboardPlan: Fix mapping failing for NodePath variables with prefetch enabled by @limbonaut in #195
- GHA: Preserve nuget version for C# builds by @limbonaut in #197
New Contributors
- @ydeltastar made their first contribution in #161
Full Changelog: v1.1.0...v1.2-rc
v1.1.1
Work on release for Godot 4.3 continues. In the meantime, I cherry-picked some bug fixes for this patch release, plus it comes with Android GDExtension libs.
What's Changed
- GHA: Build Android platform libs in GDExtension workflow by @limbonaut in #147
- Fix potential rare var name conflict in BTCooldown
- Fix connected signal error when loading BT for the second time
- Fix BlackboardPlan arrays shouldn't be shared between instanced agents
- Defer banner actions to not crash upon restart
- Fix new task script path don't update after changing the setting (thanks @ydeltastar)
- Fix BTPlayer.restart() crash
- Fix process_input is not enabled in active substate
- Fix error if
changed
signal is already connected to a BBParam in a bunch of tasks - Fix C# exports print errors due to missing ClassDB binding
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Good News, Everyone! 🎉
LimboAI version 1.1.0 is out now, bringing new quality-of-life improvements and various bug fixes. As usual, this release targets the latest stable Godot version (4.2.2 currently).
Don't miss out on the new mapping feature!
What's Changed
⭐ - highlights
⚡ - breaking changes, follow PR link for details
- Blackboard: Add
create
parameter tobind_var_to_property
andlink_var
by @limbonaut in #89 - BTDecorator: Add default
_tick
implementation by @limbonaut in #95 - Add tests for nested HSM flow, tests for dispatch() and get_root(), and fix BBParam saved_value initializing to null by @limbonaut in #101
- Add note about how to run demo/tutorial by @TranquilMarmot in #100
- Add pre-commit configuration by @limbonaut in #103
- ⭐ ⚡ Breaking: Allow specifying agent in
BTPlayer
node via inspector by @limbonaut in #102 - GHA: Use older toolchain for SteamDeck compatibility by @limbonaut in #107
- ⭐ Mapping variables by @limbonaut in #106
- Editor: Check if variable is of correct type for BBParam subtypes by @limbonaut in #110
- GHA: Generate .import files for GDExtension icons by @limbonaut in #116
- GHA: Use godotengine buildroot mirror by @limbonaut in #117
- Doc: Add first steps by @limbonaut in #118
- ⭐ Implement tab navigation in the editor by @limbonaut in #120
- Fix compile-time errors with updated godot-cpp by @limbonaut in #123
- Editor: Add tab context menu option "Jump to Owner" by @limbonaut in #122
- Show version info in the editor by @limbonaut in #124
- API: Add Blackboard methods to enable iteration, state inspection & serialization by @limbonaut in #125
- Add unit tests for
Blackboard
and fixBlackboard.unbind_var()
by @limbonaut in #127 - Fix custom task issues - a rare crash & a sticky name/script issue, and improve error handling by @limbonaut in #130
- Fix reparenting an agent deactivates its HSM by @limbonaut in #131
- Fix crash when freeing agent with performance monitoring enabled by @limbonaut in #133
- Fix folding/unfolding selected composite task is not working by @limbonaut in #136
- Fix task tree warnings column always taking up space by @limbonaut in #142
- Support light themes for editor icons in GDExtension by @limbonaut in #145
New Contributors
- @TranquilMarmot made their first contribution in #100
Full Changelog: v1.0.2...v1.1.0
v1.1-rc
What's Changed
⚡ - compatibility breaking, follow PR link for details.
- Blackboard: Add
create
parameter tobind_var_to_property
andlink_var
by @limbonaut in #89 - BTDecorator: Add default
_tick
implementation by @limbonaut in #95 - Add tests for nested HSM flow, tests for dispatch() and get_root(), and fix BBParam saved_value initializing to null by @limbonaut in #101
- Add note about how to run demo/tutorial by @TranquilMarmot in #100
- Add pre-commit configuration by @limbonaut in #103
- ⚡ Breaking: Allow specifying agent in
BTPlayer
node via inspector by @limbonaut in #102 - GHA: Use older toolchain for SteamDeck compatibility by @limbonaut in #107
- Mapping variables by @limbonaut in #106
- Editor: Check if variable is of correct type for BBParam subtypes by @limbonaut in #110
- GHA: Generate .import files for GDExtension icons by @limbonaut in #116
- GHA: Use godotengine buildroot mirror by @limbonaut in #117
- Doc: Add first steps by @limbonaut in #118
- Implement tab navigation in the editor by @limbonaut in #120
- Fix compile-time errors with updated godot-cpp by @limbonaut in #123
- Editor: Add tab context menu option "Jump to Owner" by @limbonaut in #122
- Show version info in the editor by @limbonaut in #124
- API: Add Blackboard methods to enable iteration, state inspection & serialization by @limbonaut in #125
- Add unit tests for
Blackboard
and fixBlackboard.unbind_var()
by @limbonaut in #127 - Fix custom task issues - a rare crash & a sticky name/script issue, and improve error handling by @limbonaut in #130
- Fix reparenting an agent deactivates its HSM by @limbonaut in #131
New Contributors
- @TranquilMarmot made their first contribution in #100
Full Changelog: v1.0.2...v1.1-rc
v1.0.2
What's Changed
- GHA: Provide version.txt with GDExtension builds & demo project by @limbonaut in #87
- GHA: Build .NET binaries for macOS by @limbonaut in #88
- HSM: Delay state transition till update is finished by @limbonaut in #91
- Support multiple debugger sessions by @limbonaut in #92
- Fix
LimboState::get_root
anddispatch
freeze the process in case of nested HSMs by @limbonaut in #93 - Documentation update - BTSubTree by @onze in #96
New Contributors
Full Changelog: v1.0.1...v1.0.2
Update (May 27)
Builds were updated using a different toolchain to support Steam Deck and older Linux distributions. All the packages were updated to the new build.
v1.0.1
What's Changed
- Fix blackboard plan issues by @limbonaut in #82
- BTSubtree: Fix subtree blackboard plan is not property utilized by @limbonaut in #84
BlackboardPlan
fixes by @limbonaut in #85
Full Changelog: v1.0...v1.0.1