What's New in Brine2D¶
Track Brine2D's evolution from early beta to stable release. See what has changed, what is new, and what is coming next.
Latest Release¶
v0.9.7-beta â 2026¶
Input system solidification + complete Box2D physics integration.
- đŽ Input Action Maps â Rebindable
InputAction/InputActionMap/InputBindinglayer with 8 binding types - đšī¸ Expanded Gamepad API â Built-in deadzone on stick helpers, trigger pressed/released, rumble, multi-gamepad lobby helpers
- đąī¸ Mouse enhancements â Horizontal scroll, cursor visibility, relative/captured mode
- âī¸ Box2D 3.x physics â ECS-native bodies, 5 shape types, collision events, triggers, layers, sub-shapes, one-way platforms, gravity override, joints
- đ Kinematic Character Controller â
KinematicCharacterBodywithMoveAndSlide,MoveAndCollide,IsGrounded, moving platforms, snap, slope lock, step climbing - đ Physics queries â
OverlapCircle,Raycast,IgnoreCollisiononPhysicsWorld
Release History¶
| Version | Release Date | Highlights |
|---|---|---|
| v0.9.7-beta | 2026 | Input actions, Box2D physics, kinematic character |
| v0.9.6-beta | 2026 | Complete audio overhaul, post-processing effects |
| v0.9.5-beta | 2026 | Single package, framework properties, asset pipeline |
| v0.9.0-beta | Jan 2026 | Package separation, track-based audio, .NET 10 |
| v0.8.0-beta | Dec 2025 | Particle textures, spatial audio, texture atlasing |
| v0.7.0-beta | Nov 2025 | GPU renderer, post-processing, EventBus |
| v0.6.0-beta | Oct 2025 | Scene transitions, UI framework, collision system |
Version Support¶
| Version | Status | .NET |
|---|---|---|
| v0.9.7-beta | â Latest | .NET 10 |
| v0.9.6-beta | â ī¸ Maintenance | .NET 10 |
| v0.9.5-beta | â ī¸ Maintenance | .NET 10 |
| v0.9.0-beta | â End of life | .NET 10 |
| v0.8.0 and earlier | â End of life | â |
Breaking Changes Log¶
v0.9.7¶
- Physics: Old manual
CollisionSystem/Collider/SpatialGridremoved â usePhysicsBodyComponent+Box2DPhysicsSystem - Input layers:
InputLayerManager.CreateLayer()removed â implementIInputLayerand callRegisterLayer()/UnregisterLayer() - Input enum:
Key.Returncorrected toKey.Enter
v0.9.6¶
- Audio:
PlaySound()now returnsninttrack handle (wasintchannel) - Audio:
StopChannel(int)âStopTrack(nint),PauseChannel(int)âPauseTrack(nint),IsChannelPlaying(int)âIsTrackAlive(nint)
v0.9.5¶
- Packages: Consolidated into single
Brine2Dpackage (no moreBrine2D.SDL) - Builder:
AddSDL3Rendering()/AddSDL3Input()/AddSDL3Audio()âbuilder.Configure() - Scenes:
IRenderer,IInputContext,IAudioPlayerremoved from constructors â use framework properties - Lifecycle:
OnInitializeAsyncremoved â useOnLoadAsync - Input enum:
KeysâKey - Component:
OnUpdate(GameTime)removed â useBehavior - Entity.Id:
Guidâlong - Scene transition:
LoadSceneAsyncâLoadScene(void, fire-and-forget)
v0.9.0¶
- Audio:
PlaySound()returnsnint(fromint) - Packages: Split into
Brine2DandBrine2D.SDL
v0.8.0¶
- Scenes: Constructor injection changed â
Logger,World,Renderernow properties - ECS:
Worldis a framework property, not injected
v0.7.0¶
- Rendering:
SDL3GPURendererintroduced as a separate backend - EventBus: Moved from
Brine2D.ECStoBrine2D.Core
Release Philosophy¶
Brine2D follows Semantic Versioning:
- Major (1.0, 2.0) â Breaking changes
- Minor (0.9, 0.10) â New features, may include breaking changes in beta
- Patch (0.9.1, 0.9.2) â Bug fixes only, no breaking changes
Beta Phase (Current)¶
- APIs may change between releases
- Major features still being added
- Performance improvements ongoing
- Community feedback shapes direction
Stable Phase (v1.0+)¶
- No breaking changes without major version bump
- Long-term support for each major version
- Predictable release schedule
- Production-ready stability
Get Notified¶
- đ Watch on GitHub â Star the repo for notifications
- đĄ Request features â Open an issue
- đ Report bugs â Bug report template
- đ¤ Contribute â Contributing guide
- đŦ Discussions â GitHub Discussions
See a specific version: v0.9.7 | v0.9.6 | v0.9.5 | v0.9.0 | v0.8.0 | v0.7.0 | v0.6.0