forge2d
A 2D physics engine for Dart, binding to the native Box2D v3 library. Also works with the Flame game engine in Flutter.
0.15.1
4.9K downloads/mo
#3872 most downloaded on pub.dev
flame-engine/forge2d
What this package is like to depend on
Last release 12 days ago
12 Aug 2026
Release timing varies
gaps range from 2 weeks to 1.6 years
Nearly every release is documented
notes for 28 of 28 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
28 releases · first in 2020
5 releases in the last 12 months
see the full history below
Release timeline
28 releases · Nov 2020 to Aug 2026Releases
latest 28-
0.15.112 Aug 2026Release notes
Open source →Prepared all packages to be released to pub.dev
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Release notes
Open source →2026-07-20
Changes
Packages with breaking changes:
Packages with other changes:
- There are no other changes in this release.
Release notes
Open source → -
0.15.020 Jul 2026Release notes
Open source →Prepared all packages to be released to pub.dev
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Lukas Klingsbo [email protected]Release notes
Open source →Upgrading from 0.14 requires code changes throughout: see the Forge2D migration guide.
- FEAT: Add an interactive web example gallery deployed to GitHub Pages (#117). (664f9443)
- FEAT: Run on the web via a WebAssembly build of Box2D (#116). (409b2750)
- BREAKING FEAT: Replace the pure-Dart engine with native Box2D v3 bindings (#115). (3ea15287)
2025-10-26
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
Release notes
Open source →Note: This release has breaking changes.
Upgrading from 0.14 requires code changes throughout: see the Forge2D migration guide.
-
0.14.207 Sep 2025Release notes
Open source →2025-09-07
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
-
0.14.2+126 Oct 2025Release notes
Open source →Prepared all packages to be released to pub.dev
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Release notes
Open source →2025-09-07
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
Release notes
Open source → -
0.14.107 Sep 2025Release notes
Open source →- FIX: Destroy and create bodies after step is done (#106). (92c7ccb8)
- FIX: Fix CircleShape.computeDistanceToOut and add some tests. (#100). (584a07e2)
2024-12-14
Changes
Packages with breaking changes:
Packages with other changes:
- There are no other changes in this release.
-
0.14.014 Dec 2024Release notes
Open source →- REFACTOR: remove dead code (#97). (6a75e0d2)
- BREAKING REFACTOR: Use vector_math 32 instead of 64 (#96). (2d726279)
2024-08-06
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
-
0.13.106 Aug 2024Release notes
Open source →2024-04-05
Changes
Packages with breaking changes:
Packages with other changes:
- There are no other changes in this release.
-
0.13.005 Apr 2024Release notes
Open source →2023-11-03
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
Release notes
Open source → -
0.12.203 Nov 2023Release notes
Open source →- FIX: Depend on any test version. (1f80bf35)
2023-11-03
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
-
0.12.103 Nov 2023Release notes
Open source →- FIX: Lower meta bounds. (39987d8d)
2023-11-03
Changes
Packages with breaking changes:
Packages with other changes:
- There are no other changes in this release.
-
0.12.003 Nov 2023Release notes
Open source →- REFACTOR: ignored invariant boolean warning (#47). (c032f9c8)
- FIX: Fixed issue where particles created were centred around (0,0) rather than their parent group's position. (#69). (a36e88e5)
- FIX: Properly use the
getX/YAxisout vector (#61). (c1aba67d) - FEAT: made ContactListener methods optional overrides (#55). (47037a14)
- BREAKING REFACTOR: gravity getter and setter (#66). (5108e302)
- BREAKING REFACTOR: isBullet getter and setter (#64). (ee5d4bf0)
- BREAKING REFACTOR:
isEnabledgetter and setter (#65). (839e53a1) - BREAKING REFACTOR: removed wrapper get and set methods for GearJoint.ratio (#63). (58b51159)
- BREAKING REFACTOR: used getter and setters for maxMotorForce (#62). (4ab2eb27)
- BREAKING REFACTOR: used setters and getters for motorSpeed (#58). (96103f18)
- BREAKING FIX: Add friction and restitution arguments to createFixtureFromShape (#56). (a91b08b6)
- BREAKING FIX: Set the RopeJoint's local anchors to null vectors by default (#67). (2dfe1e8e)
- BREAKING FEAT: Move to dart 2.17 and clean up comment. (#59). (8abd859f)
2022-04-11
Changes
Packages with breaking changes:
Packages with other changes:
- There are no other changes in this release.
Release notes
Open source →Note: This release has breaking changes.
- REFACTOR: ignored invariant boolean warning (#47). (c032f9c8)
- FIX: Fixed issue where particles created were centred around (0,0) rather than their parent group's position. (#69). (a36e88e5)
- FIX: Properly use the
getX/YAxisout vector (#61). (c1aba67d) - FEAT: made ContactListener methods optional overrides (#55). (47037a14)
- BREAKING REFACTOR: gravity getter and setter (#66). (5108e302)
- BREAKING REFACTOR: isBullet getter and setter (#64). (ee5d4bf0)
- BREAKING REFACTOR:
isEnabledgetter and setter (#65). (839e53a1) - BREAKING REFACTOR: removed wrapper get and set methods for GearJoint.ratio (#63). (58b51159)
- BREAKING REFACTOR: used getter and setters for maxMotorForce (#62). (4ab2eb27)
- BREAKING REFACTOR: used setters and getters for motorSpeed (#58). (96103f18)
- BREAKING FIX: Add friction and restitution arguments to createFixtureFromShape (#56). (a91b08b6)
- BREAKING FIX: Set the RopeJoint's local anchors to null vectors by default (#67). (2dfe1e8e)
- BREAKING FEAT: Move to dart 2.17 and clean up comment. (#59). (8abd859f)
-
0.11.011 Apr 2022Release notes
Open source →- FEAT: allowed specifying
BodyDefproperties via constructor (#51). (aa3f5f7c) - FEAT: allowed specifying
FixtureDefproperties via constructor (#52). (1c09a139) - BREAKING FEAT: allow modifying gravity in the x-axis and y-axis (#53). (c14b4245)
- BREAKING FEAT: made default friciton 0 (#54). (e943a567)
2022-03-27
Changes
Packages with breaking changes:
Packages with other changes:
- There are no other changes in this release.
- FEAT: allowed specifying
-
0.10.027 Mar 2022Release notes
Open source →- REFACTOR: moved Joint render method implementation (#49).
- REFACTOR: removed mock instances (#48).
- BREAKING REFACTOR: made
createJointuseJointoverJointDef(#50). - BREAKING FEAT: remove
JointType(#45).
2022-03-22
Changes
Packages with breaking changes:
- There are no breaking changes in this release.
Packages with other changes:
-
0.9.022 Mar 2022 -
0.8.209 Mar 2022 -
0.8.115 Jul 2021 -
0.8.006 Jul 2021Release notes
Open source →- Move
velocityIterationsandpositionIterationsto settings instead ofstepDt - Make
settings.velocityThresholdmutable
- Move
-
0.7.325 Jun 2021 -
0.7.219 Jun 2021 -
0.7.118 Mar 2021 -
0.7.011 Mar 2021Release notes
Open source →- Refactored the particle system
- Cleaned up the code and remove buffer_utils
- Fixed y-flip to only be used on getScreenToWorld and getWorldToScreen
- Removed the get prefix from getScreenToWorld and getWorldToScreen
- Move debug draw methods to respective classes
- Move web dependencies to example
- Stable null-safety release
-
0.6.525 Feb 2021 -
0.6.421 Feb 2021 -
0.6.303 Feb 2021 -
0.6.219 Jan 2021Release notes
Open source →- One more bug fix with deleting contacts when called Body.removeFixture() when it's in contact
-
0.6.118 Jan 2021Release notes
Open source →- Fix bug that throws error during World.destroyBody(), Body.setType() and Body.setActive() if body has some contacts
-
0.6.026 Dec 2020Release notes
Open source →- Refactor joints, fixtures and contacts not to be linked lists
- Make force/impulses default to the center of a body
-
0.5.015 Nov 2020Release notes
Open source →- Rebranding to forge2d
- Make code more like the dart standard and less C++