Skip to content

Latest commit

 

History

History
338 lines (212 loc) · 16 KB

CHANGELOG.md

File metadata and controls

338 lines (212 loc) · 16 KB

big-brain Release Changelog

0.21.1 (2024-07-09)

This is just a patch release because of a hiccup during the release process for 0.21.1, but is otherwise identical.

0.21.0 (2024-07-09)

Features

  • bevy: Upgrade to bevy 0.14.0 (#101) (3a952a24)

0.20.0 (2024-05-17)

Features

  • bevy: Update for bevy 0.13 (#93) (50415e55)
  • scorers: Add support for generic types in ScorerBuilder (#96) (98337faa)

Bug Fixes

  • derive: using prelude rather than ecs::xyz in derive (#99) (128f55e0)

0.19.0 (2024-01-19)

Features

  • set_unchecked: Add set_unchecked method to Score (#78) (e179cb53)
  • bevy: Migrated to Bevy 0.12 (#86) (69c3a4a5)
  • bevy: Update to bevy 0.12.1 (#87) (6befa384)
  • thinker: make ThinkerBuilder be Clone (2e493d6b)
  • generics: support generic actions (#88) (7f5a3845)

Bug Fixes

  • despawn: don't try to despawn if an entity doesn't exist (bdf51c32)

0.18.0 (2023-07-16)

Features

  • bevy: Update to bevy 0.11 (#79) (72bb861f)

0.17.0 (2023-03-06)

Features

  • bevy: Update to bevy 0.10 (#72) (66ece025)

0.16.0 (2023-01-30)

Probably the biggest change in this release is removal of the blanket ActionBuilder and ScorerBuilder implementations for Clone types. This is a fairly significant breaking change, but one that is fairly easy to resolve: simply use the new #[derive(ActionBuilder)] and #[derive(ScorerBuilder)] macros to derive the necessary implementations for your Action and Scorer Components and you should be good to go.

Features

  • derive: Add derive macros for Action and Scorer (#65) (359bccef)
    • BREAKING CHANGE: This gets rid of the blanket implementation for Action/ScorerBuilder on Clone things, and instead requires that people use derive macros (or manually implement the traits), if they want to go the clone-to-instantiate route.
  • concurrenty: Add ConcurrentMode configuration to Concurrently Action (#68) (f6d04feb)
  • reflection: Implement Reflect trait for all relevant types (#69) (31543c78)

Bug Fixes

  • typo: fix scorer argument name (#63) (5be71335)
  • derive: some tweaks to new derive macros (4a622a90)

0.15.0 (2022-11-13)

Features

  • deps: Update to Bevy 0.9 (#59) (8ce5cd1b)

Bug Fixes

  • spans: Make ActionSpan::new() private (4486af1d)
    • BREAKING CHANGE: This function was previously public, but it was never meant to be used.

0.14.0 (2022-09-25)

This is a fairly beefy release. The two main changes are the addition of significant new observability features, which let you debug/trace both big-brain and your own Scorers and Actions more easily in an integrated manner. Additionally, a new advanced composite Scorer was added, MeasuredScorer, which can be used to create some interesting behaviors when you have want to factor in multiple scorers when adding cases to Thinker.

Besides that, there's several bugfixes to long-standing bugs and a couple of other features.

Enjoy!

Features

  • entities: Rename ActionEnt and ScorerEnt to Action and Scorer (43f37959)
    • BREAKING CHANGE: These are externally-exported, so you'll have to rename them yourself, too
  • tracing: add tracing support for Thinker/Action/Scorer (#55) (a32bc01d)
    • BREAKING CHANGE: In the process of doing this, spawn_action and spawn_scorer were moved out of ActionBuilder and ScorerBuilder traits, respectively. This will likely affect any user-side composite actions and scorers. Use scorers::spawn_scorer and actions::spawn_action instead.
  • thinker: Add support for scheduling one-off Actions on a Thinker (#57) (382d2014)
  • measures: Implement MeasuredScorer and some initial measures (#54) (c6a6c5c9)

Bug Fixes

  • actions,scorers: Transform/GlobalTransform are no longer needed for hierarchies. (df10f034)
  • tracing: fix warnings and wrong cfg feature name (5ff39632)
  • thinker: otherwise clause no longer overrides running action (#56) (849ab346)
    • BREAKING CHANGE: This patch changes the behavior for otherwise such that it won't override an existing action if it's still running, but it'll still execute as soon as that action finishes. I think this is really what people expect this to do, so let's give it a shot!
  • tracing: drop action span scope before spawning next action (ee899e4a)

0.13.0 (2022-09-21)

Features

  • scorers: make ScorerEnt public (#50) (9e6d7f63)
  • scorers: make FixedScore members pub (#49) (f0ddb9e5)
  • picker: Implement a Highest Picker (#52) (4b48f94d)
  • scorers: Add ProductOfScorers composite scorer (#51) (e425e234)
  • actions: make ActionEnt public, too (fc30e752)
  • prelude: Add ScorerEnt and ActionEnt to the prelude (08b0598b)

0.12.0 (2022-08-01)

Features

  • bevy: Upgrade to Bevy 0.8. (#43) (0f0c4479)

0.11.0 (2022-05-05)

Features

  • deps: upgrade to Bevy 0.7. (#37) (38688789)

0.10.0 (2022-01-15)

This is my first pass at a significant API improvement. I iterated on it for a while and this is what I settled on. I look forward to continuing to evolve this API as I get more feedback and experience with it! Please let me know what you think!

Breaking Changes

  • thinker: stop cancelling actions when they go under Picker thresholds (4c72b3d1)
  • stages: Strongly typed stages for BigBrainPlugin (65ca646e)
  • builders: Blanket impls for ActionBuilder and ScorerBuilder when Clone (8bed75b5)
  • api: rename attach and hide it from docs (6c64df4f)
  • choice: return &Choice instead of cloning (a76dcbb6)

Features

  • example: update thirst example (edecc4c9)

Bug Fixes

  • hierarchy: make sure all the hierarchy stuff is set up properly (372c13e2)
  • tests: update tests (94e1b1f6)

0.9.0 (2022-01-09)

Features

  • deps: update for bevy 0.6 (#31) (b97f9273)
  • perf: Use SparseSet for ActionState (5fc08176)

0.8.0 (2021-09-19)

Bug Fixes

  • systems: Fix steps, add a test and explicit systems ordering (#27) (f33315c9) (credit: @payload)

0.7.0 (2021-09-16)

Bug Fixes

  • deps: Don't include Bevy default features when used as a dependency. (#25) (61558137)

Features

  • license: change license to Apache-2.0 (d7d17772)
    • BREAKING CHANGE: This is a significant licensing change. Please review.

0.6.0 (2021-05-20)

Features

  • pickers: Make choices mod public (#23) (92034cd0)
  • scorers: Added EvaluatingScorer (#24) (1a1d5b3d)

Bug Fixes

  • actions: Concurrently was not setting its state to Failure (d4a689f6)

0.5.0 (2021-04-27)

Got a few goodies in this release, mainly focused around composite actions and scorers, which were apparently broken.

Shout out again to @piedoomy for some of these contributions!

Features

  • actions: Add new Concurrently composite action (6c736374)
  • evaluators: added inversed linear evaluator helper (#19) (f871d19e)
  • scorers: Added WinningScorer composite scorer (#20) (748b30ae)

Breaking Changes

  • scorers: Composite Scorers now all use .push() instead of a mixture of .push() and .when(). Please update any usages of composite scorers (63bad1fd

Bug Fixes

  • scorers:
    • Scorer builders now properly return themselves (63bad1fd
    • Fixed error where wrong component for SumOfScorers was attached (#21) (71fd05a6)

0.4.0 (2021-04-26)

Breaking Changes

  • score: scores are now 0.0..=1.0, not 0.0..=100.0 (71f5122e, breaks #)

Features

  • evaluators: Make all evaluators Clone (4d5a5121)

0.3.5 (2021-04-24)

Previously, if a Picker re-picked the same action, and that action had been set to Success or Failure, it would just keep running the action in that state until it was time to switch to a different one.

With this version, that behavior is changed, and Failure and Success actions that are re-picked will be respawned entirely (not even reused).

Cheers to @piedoomy on Discord for pointing out this weird behavior!

Bug Fixes

  • thinker: launch a new action when the current action is in an end state (80d23f2f)

0.3.4 (2021-04-23)

Welp. Turns out Thinkers were completely broken? This should work better :)

Bug Fixes

  • prelude: Export ThinkerBuilder from prelude (06cc03e1)
  • thinker:
    • disposed of ActiveThinker and circular state-setting (7f8ed12b)
    • Need to do proper ptr_eq comparison here (037a7c0d)

0.3.3 (2021-04-18)

This fixes an issue with more children being added to an Actor causing Thinkers to get clobbered in really annoying ways.

Bug Fixes

  • thinker: stop using the child/parent system for toplevel thinkers (db16e2f6)

0.3.2 (2021-04-17)

This is a quick bugfix. Shoutout to @ndarilek for finding this one and giving me a chance to debug it!

tl;dr: Bevy's hierarchy system requires that all children have Transform and GlobalTransform also attached, otherwise it just... kills them.

Bug Fixes

  • scorer: stop attaching duplicate scorers (10a6d022)
  • thinker: add Transform and GlobalTransform (ed3a7cb3)

0.3.1 (2021-04-14)

Just a quick release because I broke docs.rs :)

Bug Fixes

  • build: remove .cargo/config.toml to make docs.rs happy (393d9807)

0.3.0 (2021-04-14)

This is a major overhaul of the Bevy API. It removes .ron support altogether, in favor of plain old Rust builders.

Breaking Changes

  • The .ron Thinker definition API is gone. Use the ThinkerBuilder API instead.
  • The Action and Scorer derive macros are gone, including all of big_brain_derive.
  • Measures and Weights are gone.
  • big-brain no longer exports everything from the toplevel. Use big_brain::prelude::* instead.

Bug Fixes

Probably.

Features

  • New builder-based Thinker API!
  • Composite Scorers: FixedScore, AllOrNothing, and SumOfScorers.
  • Composite Action: Steps, for sequential Action execution.