PackageTrack
Sign in Get early access

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 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 28
  1. 0.15.1 12 Aug 2026
    Release notes

    Prepared all packages to be released to pub.dev

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

    Open source →
    Release notes
    • FEAT: Let the length unit be set through initializeForge2D (#120). (5696a7be)

    2026-07-20

    Changes


    Packages with breaking changes:

    Packages with other changes:

    • There are no other changes in this release.

    Open source →
    Release notes
    • FEAT: Let the length unit be set through initializeForge2D (#120). (5696a7be)
    Open source →
  2. 0.15.0 20 Jul 2026
    Release notes

    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]

    Open source →
    Release notes

    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:


    Open source →
    Release notes

    Note: This release has breaking changes.

    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)
    Open source →
  3. 0.14.2 07 Sep 2025
    Release notes
    • FIX: Loosen constraints on vector_math to ^2.1.4 ([#108](https…
    Open source →
    Release notes
    • FIX: Loosen constraints on vector_math to ^2.1.4 (#108). (c2ca6157)

    2025-09-07

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • FIX: Loosen constraints on vector_math to ^2.1.4 (#108). (c2ca6157)
    Open source →
  4. 0.14.2+1 26 Oct 2025
    Release notes

    Prepared all packages to be released to pub.dev

    Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

    Open source →
    Release notes
    • FIX: Create and destroy joints after world has been locked (#110). (0704959f)

    2025-09-07

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • FIX: Create and destroy joints after world has been locked (#110). (0704959f)
    Open source →
  5. 0.14.1 07 Sep 2025
    Release notes
    • FIX: Destroy and create bodies after step is done ([#106](http…
    Open source →
    Release notes
    • 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.

    Open source →
    Release notes
    • FIX: Destroy and create bodies after step is done (#106). (92c7ccb8)
    • FIX: Fix CircleShape.computeDistanceToOut and add some tests. (#100). (584a07e2)
    Open source →
  6. 0.14.0 14 Dec 2024
    Release notes

    Publish forge2d-v0.14.0.

    Open source →
    Release notes
    • 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:


    Open source →
    Release notes

    Note: This release has breaking changes.

    • REFACTOR: remove dead code (#97). (6a75e0d2)
    • BREAKING REFACTOR: Use vector_math 32 instead of 64 (#96). (2d726279)
    Open source →
  7. 0.13.1 06 Aug 2024
    Release notes

    Publish forge2d-v0.13.1.

    Open source →
    Release notes
    • REFACTOR: Don't use static for Distance and Collision (#92). (130994e1)

    2024-04-05

    Changes


    Packages with breaking changes:

    Packages with other changes:

    • There are no other changes in this release.

    Open source →
    Release notes
    • REFACTOR: Don't use static for Distance and Collision (#92). (130994e1)
    Open source →
  8. 0.13.0 05 Apr 2024
    Release notes

    Publish forge2d-v0.13.0.

    Open source →
    Release notes

    2023-11-03

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes

    Note: This release has breaking changes.

    Open source →
  9. 0.12.2 03 Nov 2023
    Release notes
    Open source →
    Release notes
    • 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:


    Open source →
    Release notes
    • FIX: Depend on any test version. (1f80bf35)
    Open source →
  10. 0.12.1 03 Nov 2023
    Release notes
    Open source →
    Release notes

    2023-11-03

    Changes


    Packages with breaking changes:

    Packages with other changes:

    • There are no other changes in this release.

    Open source →
    Release notes
    Open source →
  11. 0.12.0 03 Nov 2023
    Release notes
    • 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/YAxis out 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: isEnabled getter 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.

    Open source →
    Release notes

    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/YAxis out 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: isEnabled getter 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)
    Open source →
  12. 0.11.0 11 Apr 2022
    Release notes
    • FEAT: allowed specifying BodyDef properties via constructor (#51). (aa3f5f7c)
    • FEAT: allowed specifying FixtureDef properties 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.

    Open source →
    Release notes

    Note: This release has breaking changes.

    • FEAT: allowed specifying BodyDef properties via constructor (#51). (aa3f5f7c)
    • FEAT: allowed specifying FixtureDef properties 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)
    Open source →
  13. 0.10.0 27 Mar 2022
    Release notes
    • REFACTOR: moved Joint render method implementation (#49).
    • REFACTOR: removed mock instances (#48).
    • BREAKING REFACTOR: made createJoint use Joint over JointDef (#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:


    Open source →
    Release notes

    Note: This release has breaking changes.

    • REFACTOR: moved Joint render method implementation (#49). (b9128e5a)
    • REFACTOR: removed mock instances (#48). (6fdf5646)
    • BREAKING REFACTOR: made createJoint use Joint over JointDef (#50). (0e8f3655)
    • BREAKING FEAT: remove JointType (#45). (42a39524)
    Open source →
  14. 0.9.0 22 Mar 2022
    Release notes

    CHANGELOG

    Open source →
  15. 0.8.2 09 Mar 2022
    Release notes
    • Fix ConcurrentModificationError when destroying a body with joints
    Open source →
  16. 0.8.1 15 Jul 2021
    Release notes
    • Export settings.dart
    • Make fields in settings.dart mutable
    Open source →
  17. 0.8.0 06 Jul 2021
    Release notes
    • Move velocityIterations and positionIterations to settings instead of stepDt
    • Make settings.velocityThreshold mutable
    Open source →
  18. 0.7.3 25 Jun 2021
    Release notes
    • Fix bug with the hull creation of PolygonShape
    Open source →
  19. 0.7.2 19 Jun 2021
    Release notes
    • Use field getters on getter methods where computation is O(1)
    Open source →
  20. 0.7.1 18 Mar 2021
    Release notes
    • Fix area for polygon that is defined counter-clockwise
    Open source →
  21. 0.7.0 11 Mar 2021
    Release notes
    • 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
    Open source →
  22. 0.6.5 25 Feb 2021
    Release notes
    • Consider y-flip for all translation in the viewport
    Open source →
  23. 0.6.4 21 Feb 2021
    Release notes
    • Consider y-flip in ViewportTransform
    Open source →
  24. 0.6.3 03 Feb 2021
    Release notes
    • Remove faulty assert in world.destroyJoint
    Open source →
  25. 0.6.2 19 Jan 2021
    Release notes
    • One more bug fix with deleting contacts when called Body.removeFixture() when it's in contact
    Open source →
  26. 0.6.1 18 Jan 2021
    Release notes
    • Fix bug that throws error during World.destroyBody(), Body.setType() and Body.setActive() if body has some contacts
    Open source →
  27. 0.6.0 26 Dec 2020
    Release notes
    • Refactor joints, fixtures and contacts not to be linked lists
    • Make force/impulses default to the center of a body
    Open source →
  28. 0.5.0 15 Nov 2020
    Release notes
    • Rebranding to forge2d
    • Make code more like the dart standard and less C++
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive