Skip to content

Releases: erincatto/box2d

v3.0.0

12 Aug 06:39
8e7a17c
Compare
Choose a tag to compare

Version 3.0 is a massive update to Box2D.

Blog post:
https://box2d.org/posts/2024/08/releasing-box2d-3.0/

Migration guide:
https://github.com/erincatto/box2d/blob/main/docs/migration.md

What's Changed

Full Changelog: v2.4.2...v3.0.0

Final release of version 2

09 Aug 16:54
411acc3
Compare
Choose a tag to compare

This is the final release of version 2. The next commit with be version 3.0.

This has a few bug fixes, but is mainly being created for people who want to stay on version 2.

What's Changed

New Contributors

Full Changelog: v2.4.1...v2.4.2

v2.4.1

18 Oct 00:12
9ebbbcd
Compare
Choose a tag to compare

Changes for version 2.4.1

API Changes

  • Extended distance joint to have a minimum and maximum limit.
  • Removed rope joint. Use the distance joint instead.
  • B2_USER_SETTINGS and b2_user_settings.h can control user data, length units, and maximum polygon vertices.
  • Default user data is now uintptr_t instead of void*
  • b2FixtureDef::restitutionThreshold lets you set the restitution velocity threshold per fixture.

BREAKING Changes

  • BREAKING: distance joint 0 stiffness now means the spring is turned off rather than making the joint rigid.
  • BREAKING: distance joint minimum and maximum must be set correctly to get old behavior.

Infrastructure

  • Library installation function available in CMake.
  • Shared library (DLL) option available.
  • Bug fixes

v2.4.0

27 Jul 06:08
4d7757f
Compare
Choose a tag to compare

Changes for version 2.4.0

Infrastructure

  • Documentation in Doxygen format
  • CMake build system
  • Unit test support
  • Continuous integration testing using Travis CI
  • Limited use of C++11 (nullptr and override)
  • Restructured folders and renamed files to better match open-source standards
  • MIT License
  • Removed float32 and float64
  • Linked the Box2D project to GitHub Sponsors

Collision

  • Chain and edge shape must now be one-sided to eliminate ghost collisions
  • Broad-phase optimizations
  • Added b2ShapeCast for linear shape casting

Dynamics

  • Joint limits are now predictive and not stateful
  • Experimental 2D cloth (rope)
  • b2Body::SetActive -> b2Body::SetEnabled
  • Better support for running multiple worlds
  • Handle zero density better
    • The body behaves like a static body
    • The body is drawn with a red color
  • Added translation limit to wheel joint
  • World dump now writes to box2d_dump.inl
  • Static bodies are never awake
  • All joints with spring-dampers now use stiffness and damping
  • Added utility functions to convert frequency and damping ratio to stiffness and damping

Testbed

  • Testbed uses dear imgui
  • glad OpenGL loader
  • OpenGL 3.3 required