NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #2042 most downloaded on pub.dev
Blazing fast, cross-platform ObjectId implementation for the dart language.
Last release 6 months ago
01 Apr 2026
Ships fairly regularly
a new release about every 8 months
Nearly every release is documented
notes for 12 of 12 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
14 releases · first in 2020
One column per quarter.
Updated dependencies and README.
Fix ObjectId.fromHexString(…) on web by @JonasWanke in #5
ObjectId.fromHexString(…) on web by @JonasWanke in #5
ObjectId.fromHexString to parse hex directly into bytes, avoiding 32-bit bitwise limitation on web and improving performance (~4x faster).ObjectId.fromValues web support by replacing >> 32 with integer division in toProcessUniqueBytes.Random.secure() fallback in FallbackProcessUnique to catch all exceptions, enabling Node.js compatibility.Full Changelog: v4.0.1...v4.0.2
Removed deprecated implementation related to dart:js_util .
dart:js_util.
Random.secured().Full Changelog: v4.0.0...v4.0.1
Migrated from deprecated dart:html to dart:js_util .
Added the ObjectId.toJson() method to enable straightforward serialization of ObjectId instances. You can now serialize an ObjectId simply by calling
Resolves #3
⚠️ The strict runtime type checking in the equals operator has been removed. Now all classes that extend ObjectId and have the same value will be matc
class MyObjectId extends ObjectId {}
const hexString = '606eed9d7203bfbbb7fffffe';
ObjectId.fromHexString(hexString) == MyObjectId.fromHexString(hexString); // trueFull Changelog: v2.1.0...v3.0.0
Constants ObjectId.byteLength and ObjectId.hexStringLength are now publicly available.
ObjectId.byteLength and ObjectId.hexStringLength are now publicly available.Fixed a bug that caused the counter value to overflow at 0xfffffe .
0xfffffe.
toString method now instead of runtimeType(hexString), returns objectid's hexString.
/// Before:
print(ObjectId()) // => "ObjectId(606eed9d7203bfbbb7fffffe)"
/// Now:
print(ObjectId()) // => "606eed9d7203bfbbb7fffffe"toString method with runtimeType, you can override the ObjectId class. Example:
class MyObjectId extends ObjectId {
@override
String toString() => '$runtimeType($hexString)';
}Initial move towards null safety
Use StringBuffer instead of String class for hexString generation (almost 5 times faster generation of hexStrings).
Migrate package to effective dart style.
- Added readme documentation
Added fromBytes, fromValues and fromTimestamp constructors.
fromBytes, fromValues and fromTimestamp constructors.generationTime property to timestamp.hashCode implementation based on murmurHash2.bytes property.Added ObjectId() and ObjectId.fromHexString() constructors.
ObjectId() and ObjectId.fromHexString() constructors.isValid helper method.==.hexString and generationTime getters with caching support.Your coding agent can read these notes before it upgrades. Set up the MCP server →