PackageTrack
Sign in Get early access

vector_math

A vector math library for 2D and 3D applications, supporting 2D, 3D, and 4D matrices.

2.4.2 7.8M downloads/mo #71 most downloaded on pub.dev flutter/core-packages

What this package is like to depend on

Last release 25 days ago

29 Jul 2026

Ships unpredictably

gaps range from 2 weeks to 2.6 years

Most releases are documented

notes for 34 of 42 stable releases

Nothing withdrawn

no release was ever pulled

14 years old

48 releases · first in 2012

4 releases in the last 12 months

see the full history below

Release timeline

48 releases · Oct 2012 to Jul 2026
2013 2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 48
  1. 2.4.2 29 Jul 2026
    Release notes

    [vector_math] Document geometry filter APIs (#22)

    Open source →
    Release notes
    • Documents the public geometry filter APIs.
    Open source →
  2. 2.4.1 22 Jul 2026
    Release notes

    Summary

    • Documents the public Plane API in vector_math and
      vector_math_64.
    • Removes the file-level public_member_api_docs ignore for both
      Plane implementations.
    • Adds a CHANGELOG.md entry for the docs update.

    Part of flutter/flutter#186827

    Open source →
    Release notes
    • Documents the public Plane API.
    Open source →
  3. 2.4.0 03 Jun 2026
    Release notes
    • Removes the deprecated SimplexNoise class.
    • Optimizes the identity constructors on the Matrix classes.
    • Updates metadata to reflect the move from google/vector_math.dart to flutter/core-packages, which is the new source of truth for this package.
    • Updates source and metadata to follow Flutter team package conventions and analysis options.
    • Updates minimum supported SDK version to Dart 3.10.
    Open source →
  4. 2.3.0 18 Mar 2026
    Release notes
    • Add leftTranslateByVector2 method to Matrix4. Equivalent to the leftTranslate set of methods, that multiplies this matrix by a translation matrix from the left.
    • Added Matrix4.leftMultiply method.
    • Add translateByVector2 method to Matrix4.
    • Require sdk: ^3.7.0.
    Open source →
  5. 2.2.0 22 May 2025
    Release notes
    • Performance of functions that take dynamic arguments improved.

    • Most of the members that take dynamic arguments are deprecated. New members with non-dynamic arguments added.

      Deprecated members:

      • Matrix4.translate

        Instead use: Matrix4.translateByDouble, Matrix4.translateByVector3, Matrix4.translateByVector4.

      • Matrix4.leftTranslate

        Instead use: Matrix4.leftTranslateByDouble, Matrix4.leftTranslateByVector3, Matrix4.leftTranslateByVector4.

      • Matrix4.scale

        Instead use: Matrix4.scaleByDouble, Matrix4.scaleByVector3, Matrix4.scaleByVector4.

      • Matrix4.scaled

        Instead use: Matrix4.scaledByDouble, Matrix4.scaledByVector3, Matrix4.scaledByVector4.

    Open source →
  6. 2.1.5 15 Apr 2025
    Release notes
    • Fixed operator -() of Quaternion (Contributed by tlserver)
    • Fixed Matrix3.rotationY direction (Contributed by tlserver, moritzblume)
    • Added an operator== to Quaternion so that two instances of quaternions can be evaluated for equality.
    • Require Dart 3.1
    Open source →
  7. 2.1.4 21 Sep 2022
    Release notes
    • Refactor the locations of the SimplexNoise related part files.
    Open source →
  8. 2.1.3 18 Aug 2022
    Release notes
    • operator == overrides no longer take nullable arguments. This is only visible for classes that implement the interfaces defined in this package which no longer need to also widen the argument type.
    • Deprecate SimplexNoise (see https:github.com/google/vector_math.dart/issues/270 for more information).
    Open source →
  9. 2.1.2 01 Feb 2022
    Release notes
    • Fix to Quad.copy (#221)
    Open source →
  10. 2.1.1 21 Sep 2021
    Release notes
    • Deprecate hash.dart.
    • Require Dart v2.14 or greater.
    Open source →
  11. 2.1.0 03 Feb 2021
    Release notes
    • Stable release for null safety.
    • Improve performance of Matrix4.decompose by reusing objects.
    Open source →
  12. 2.1.0-nullsafety.5 03 Nov 2020 pre-release

    Nothing published for this version

  13. 2.1.0-nullsafety.4 23 Oct 2020 pre-release

    Nothing published for this version

  14. 2.1.0-nullsafety.3 22 Sep 2020 pre-release

    Nothing published for this version

  15. 2.1.0-nullsafety.2 22 Jul 2020 pre-release

    Nothing published for this version

  16. 2.1.0-nullsafety.1 17 Jul 2020 pre-release

    Nothing published for this version

  17. 2.1.0-nullsafety 08 Jul 2020 pre-release

    Nothing published for this version

  18. 2.0.8 23 Jul 2018
    Release notes
    • Internal fix to use Dart 2 core library constant names.
    Open source →
  19. 2.0.7 25 Apr 2018
    Release notes
    • Fixed indexing bug in MeshGeometry.combine
    Open source →
  20. 2.0.6 20 Mar 2018
    Release notes
    • Fixed angleTo for vectors that do not have unit length
    • Added Matrix4.tryInvert.
    Open source →
  21. 2.0.5 06 Jul 2017
    Release notes
    • Strong mode clean
    Open source →
  22. 2.0.4 06 Feb 2017
    Release notes
    • Added Matrix4.isIdentity()
    • Added Matrix4.isZero()
    • Added Matrix3.isIdentity()
    • Added Matrix3.isZero()
    • Added Vector2.angleTo and Vector2.angleToSigned
    Open source →
  23. 2.0.3 17 May 2016
    Release notes
    • Synchronize Float64 version
    Open source →
  24. 2.0.2 17 May 2016
    Release notes
    • Add Matrix4.leftTranslate
    Open source →
  25. 2.0.1 25 Apr 2016
    Release notes
    • Add Matrix4.SkewX, Matrix4.SkewY, and Matrix4.Skew constructors
    Open source →
  26. 2.0.0 15 Mar 2016
    Release notes
    • Remove call chaining, methods don't return this anymore. You can use the method cascade operator instead.
    • Remove dependency on quiver package
    Open source →
  27. 1.4.7 01 Feb 2016
    Release notes
    • Fixed ArgumentError usage in Matrix4.inverted constructor
    Open source →
  28. 1.4.6 26 Jan 2016
    Release notes
    • Added MatrixX.fromList constructor
    Open source →
  29. 1.4.5 13 Jan 2016
    Release notes
    • Added Matrix4.inverted constructor
    Open source →
  30. 1.4.4 29 Dec 2015
    Release notes
    • Updated dependencies.
    • Moved benchmark code into benchmark/
    • Updated vector_math_64.
    Open source →
  31. 1.4.3 25 Feb 2014
    Release notes
    • Add color conversion routines (Contributed by Oliver Sand)
    • More collision and geometry routines (Contributed by Oliver Sand)
    • More tests (Contributed by Oliver Sand)
    • v 1.4.3 pub release
    Open source →
  32. 1.4.2 24 Jan 2014

    Nothing published for this version

  33. 1.4.2+1 29 Jan 2014

    Nothing published for this version

  34. 1.4.1 07 Jan 2014
    Release notes
    • Better mesh generators (contributed by Brandon Jones)
    • Fix bug in ray v. triangle intersection test (contributed by @AMagill)
    Open source →
  35. 1.3.5 19 Jul 2013
    Release notes
    • Class names now start with upper case, following Dart style guide.
    • Performance audit.
    • New vector_math_operations library.
    • New vector_math_lists library.
    • Added Aabb2 and fleshed out Aabb3 (thanks to Laszlo Korte)
    • Added Matrix solve methods (thanks to Laszlo Korte)
    • Added Methods needed for Three.dart (thanks to Anders Forsell)
    Open source →
  36. 1.3.3 12 Jul 2013

    Nothing published for this version

  37. 1.3.2 28 Jun 2013

    Nothing published for this version

  38. 1.3.1 26 Jun 2013

    Nothing published for this version

  39. 1.3.0 27 May 2013

    Nothing published for this version

  40. 1.1.0 26 Apr 2013
    Release notes
    • Large refactoring.
    Open source →
  41. 0.9.7 17 Mar 2013
    Release notes
    • Refactor generated constructor code into small functions.
    • Refactor generated operator* code into small functions.
    • Fix typo in quaternion code.
    Open source →
  42. 0.9.6 12 Mar 2013
    Release notes
    • Update to latest String library.
    • Fix holding references in matrix constructor.
    • Replace double type with num in rotationY, and rotationZ.
    Open source →
  43. 0.9.5 22 Feb 2013
    Release notes
    • Remove remaining double type tests and replace them with num.
    • Don't throw in the default matrix and vector constructors.
    Open source →
  44. 0.9.4 21 Feb 2013
    Release notes
    • Remove unnecessary dart:scalarlist import.
    • Now that dart2js is fixed, rename negate_ back to negate.
    • Fix library imports in test suites.
    • Flexible constructor fix added to the generator.
    • Tested library under dart2js
    Open source →
  45. 0.9.3 20 Feb 2013
    Release notes
    • Revert to using a single library!
    • Public API reverted to taking nums instead of doubles.
    • Fixed all warnings/errors introduced by M3.
    • drone.io integrated tests.
    • Fixed bug in rotation construction.
    • Fixed bug in orthographic matrix construction.
    • External contribution by fkleon fixing flexible constructors.
    • External contribution by donny-dont adding a missing cast .toDouble().
    Open source →
  46. 0.9.2 11 Dec 2012

    Nothing published for this version

  47. 0.9.1 08 Nov 2012

    Nothing published for this version

  48. 0.9.0 18 Oct 2012
    Release notes
    • Pub: Dart Vector Math now fully supports the pub package management system!
    • API++: Minor changes to the API everywhere. The changes improve the aesthetics and performance of the library.
    • Faster: Lots of performance tweaks resulting in the library getting faster and generating less garbage.
    • 2D Cross Product: The Box2D Dart port requires a 2D cross product.
    • Library Split: Two libraries, one for browser applications and console applications.
    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