Skip to content

Commit fa013d8

Browse files
committed
chore: rename the package
1 parent 552a39f commit fa013d8

18 files changed

+82
-410
lines changed

CHANGELOG.md

+9-353
Original file line numberDiff line numberDiff line change
@@ -1,361 +1,17 @@
11
# Changelog
22

3-
v4.5.1
4-
5-
* Add `UuidValue.fromNamespace` to let you make constant variants of the namespace, as due to language limitations on Enums, `Namespace.*.uuidValue` can't be constant.
6-
* Added `isV#()`, `isNil()`, and `isMax()` functions to `UuidValue` for matching Dart standards.
7-
8-
v4.5.0
9-
10-
* Change to CryptoRNG by default, you will now need to use MathRNG explicitly if you want speed over security. (thanks @Rexios80)
11-
* This also works around a regression in the Dart SDK on WASM targets: https://github.com/dart-lang/sdk/issues/56609
12-
* Deprecate the use of `Uuid.NAMESPACE*` and `UuidV5.NAMESPACE`, and switch to using a proper const enum for this. (thanks @bymoye)
13-
* These will be removed once sufficient time has been made for the deprecation notice to be seen. Most likely v5.0.
14-
* Please use the new `Namespace` enum in `enums.dart`.
15-
* Re-add `Uuid.NAMESPACE*` and `UuidV5.NAMESPACE` in order to give deprecation time.
16-
* Add missing MAX UUID option from RFC9562
17-
* Add `bytes` getter to `Namespace` enum.
18-
* **[PARTIAL BREAKING CHANGE]** `Namespace` is now an enum, and the entries are now of the `Namespace` type. They all have a `value` function to return the internal `string`
19-
20-
v4.4.2
21-
22-
* Revert meta depenency version upgrade, was breaking flutter_test. (thanks @techouse)
23-
24-
v4.4.1
25-
26-
* Fix UUIDv1 to use millisecondsSinceEpoch instead of microsecondsSinceEpoch. Matches UUIDv6 and passes vector tests.
27-
28-
v4.4.0
29-
30-
* Fix MathRNG with Seed being recreated on each use, generating the same list of bytes. (thanks @showband)
31-
* Fix UUIDv5 UTF8 inconsistencies. (thanks @vjamrich)
32-
* Use static state storage for random number generator to prevent MathRNG issue.
33-
* Replace V1, v6, V7, V8 MathRNG preventively, the issue didn't exhibit there due to other factors in the UUID generation (primarily time, and clockseq)
34-
35-
v4.3.3
36-
37-
* Fix UUIDv7 in Javascript
38-
* Using bitshifts on anything over 32bits get truncated. Switched to a more naive solution for now. Hopefully dart2wasm fixes things.
39-
* Remove unnecessary `_randomData()` functions
40-
* Add `fixnum` package to handle issues in v6, time, and javascript.
41-
42-
v4.3.2
43-
44-
* Added `toFormattedString()` to `UuidValue` to handle cases where the UUID used has no hyphens but you wnt them for output.
45-
* Changed constraint for `meta` to `1.10.0` to not conflict with `flutter_test`
46-
47-
v4.3.1
48-
49-
* Add additional optional parameters for parseing and validation for the new noDashes flag.
50-
51-
v4.3.0
52-
53-
* Update SDK constraints to >= 3.0.0
54-
* Update Meta package to 1.11.0
55-
* **[PARTIAL BREAKING CHANGE]** Changing MathRNG implementation to use 4 nextints, instead of 16 for optimization to match CryptoRNG. This will affect regenerating the same UUID from the same seed.
56-
* If you need the old behavior, please use MathRNGDeprecated() instead.
57-
58-
v4.2.2
59-
60-
* Fix CryptoRNG on Web generating a random number 0 always
61-
* Add NoDashes support to the validator so that it validates UUIDs that don't have dashes but are otherwise valid.
62-
63-
v4.2.1
64-
65-
* Lower `meta` dependency to 1.9.1 so that it is compatible with Flutter Stable 3.13
66-
67-
v4.2.0
68-
69-
* **[BREAKING CHANGE]** Deprecate default/empty `UuidValue` constructor because it has a different behavior from the 3.x package version. (Thanks @davidmartos96)
70-
* Use `UuidValue.fromString()` instead, which has the same behavior. If you need to define a const `UuidValue` you can use `UuidValue.raw()`, but making sure the value is lowercase.
71-
* Mark `UuidValue` as experimental with an annotation. (Thanks @Kaival-Patel)
72-
73-
v4.1.0
74-
75-
* **[BREAKING CHANGE]** In order to enforce lowercase strings in `UuidValue`, I have made the default const constructor private, and added a `fromString` factory constructor. Please migrate any direct `UuidValue()` usage to `UuidValue.fromString()` or `UuidValue.withValidation()`.
76-
77-
v4.0.0
78-
79-
* toBytes on UuidValue now does not validate by default, but has the option `validate` that can be set to true if you need validation when calling it. (Thanks @Erhannis)
80-
81-
v4.0.0-beta3-1
82-
83-
* Ensure that any custom RNG implementation produces Uint8Lists of length 16. (Thanks @wph44)
84-
85-
v4.0.0-beta3
86-
87-
* **[BREAKING CHANGE]** Replacing UuidUtil rng functions with RNG classes.
88-
* UuidUtil.mathRNG() is replaced with MathRNG().generate().
89-
* UuidUtil.cryptoRNG() is replaced with CryptoRNG().generate().
90-
* Custom crypto implementations just need to implement the `RNG` abstract class.
91-
* namedArgs and positionalArgs have been removed from GlobalOptions
92-
* You may use LegacyRNG() if you need to use the old function style RNG.
93-
* Fix a bug with the usage of Uint64List in Dart2js by not using it. (Thanks @hambergerpls)
94-
95-
v4.0.0-beta2
96-
97-
* **[BREAKING CHANGE]** The `Uuid` class now takes a `GlobalOptions` class instead of a `Map<String, dynamic>`.
98-
* Added options classes to eventually replace the Map parameter.
99-
* **[BREAKING CHANGE]** Since v6,v7,v8 are new for 4.0, I have made it so they only take the new options class.
100-
* Reworked the constructors, and moved state out of the classes. Const is now supported properly again
101-
* Switched tests to use const Uuid to catch regressions.
102-
* Set the `options` parameter in v1, v4, and v5 to deprecated.
103-
* **[BREAKING CHANGE]** Make UuidValue properly const also
104-
* Can no longer run validation on the const variant.
105-
* Added UuidValue.withValidation() to handle this usecase, it can't be const.
106-
* If you need const and validation. Create the UuidValue with the UUID, then call the `validate()` function on it.
107-
108-
v4.0.0-beta1-1
109-
110-
* Mostly cleanup, linting, updating depedencies, etc.
111-
112-
v4.0.0-beta1
113-
114-
* Break up versions into individual objects that can be used standalone.
115-
* No more colliding global states between versions
116-
* Added UUID v6, v7, v8 from the new RFC.
117-
* Add `time`, `version`, and `variant` functions to UuidValue
118-
119-
v3.0.7
120-
121-
* Fixed parse to allow buffers larger than 16 bytes to be used. [Thanks @hoylen]
122-
123-
v3.0.6
124-
125-
* Enable `avoid_dynamic_calls` linting and fix appropriately. (Thanks @devoncarew)
126-
127-
v3.0.5
128-
129-
* Global options were incorrectly being ignored. #76 (Thanks @Skycoder42)
130-
* V4 Global Options were incorrectly named. #76 (Thanks @Skycoder42)
131-
* Global state was static, not per instance. #76 (Thanks @Skycoder42)
132-
* Additional tests to make sure the above doesn't regress. #76 (Thanks @Skycoder42)
133-
134-
v3.0.4
135-
136-
* `isValidUUID` now handles some Microsoft GUIDs better that only deviate in the Variant setting. (Thanks @FluentChange)
137-
* Improve error output so that it better explains how to handle the above change in your code if you encounter it. (Thanks @FluentChange)
138-
* Improve validation logic to better handle multiple validation cases, error output, and feedback to developers. (Thanks @FluentChange)
139-
140-
v3.0.3
141-
142-
* [Experimental] Fixed UuidValue to properly check things are valid. (Thanks @FlorianUlivi)
143-
* [Experimental] Added new constructors `fromByteList` and `fromList` to `UuidValue`
144-
* [Experimental] Added `==` operator override and hashcode override. (Thanks @giorgiofran for suggestion)
145-
* Added `parseAsByteList` to offer a direct output to `Uint8List`
146-
* \[Experimental\]\[BREAKING CHANGE\] Change `toBytes` in `UuidValue` to return `Uint8List` instead of `List<int>`
147-
* \[Experimental\]\[BREAKING CHANGE\] `isValidUuid` function signature has changed, now takes 2 optional parameters `fromString` and `fromList` that will do the appropriate validation on different sources.
148-
149-
v3.0.2
150-
151-
* [Experimental] Add flags to UuidValue constructor and parse to disable validation of the UUID, primarily to allow Microsoft GUIDs to not break things.
152-
153-
v3.0.1
154-
155-
* Fix RNG to not need shuffling and improve performance/memory usage (Thanks @julemand101)
156-
157-
v3.0.0
158-
159-
* Release nullsafety version.
160-
161-
v3.0.0-nullsafety.1
162-
163-
* [BREAKING CHANGE] Changed `parse()` to throw a FormatException instead of returning NIL uuids or partially handled UUIDs.
164-
* Changed `Uuid` constructor to be constant, and adjusted all the code accordingly.
165-
* New `isValidUUID` function for validating UUIDs.
166-
* [BREAKING CHANGE] `parse` and `unparse` are now static functions.
167-
* [Exprimental] Object version of the UUID instead of a string or list of bytes.
168-
169-
v3.0.0-nullsafety.0
170-
171-
* Migrate package to null-safety, increase minimum SDK version to 2.12 (Thanks @simolus3)
172-
173-
v2.2.1 & v2.2.2
174-
175-
* Update pedantic analyzer options, fix linting issues, and increase SDK minimium to 2.2 to support set literals
176-
177-
v2.2.0
178-
179-
* fix v1 clock high to properly ignore c and d variants. (fixes #47)
180-
* update example
181-
182-
v2.1.0
183-
184-
* Shuffle mathRNG bytes so that they don't generate duplicates. Will affect codes generated by a static seed.
185-
186-
v2.0.4
187-
188-
* Remove new keyword where not needed. (forgot to rerun before releasing 2.0.3)
189-
190-
v2.0.3
191-
192-
* Do some analyzer fixes and formatting/renaming.
193-
194-
v2.0.2
195-
196-
* Merge fix for time precision loss in V1 time based UUIDs.
197-
198-
v2.0.1
199-
200-
* Fix regression where CryptoRNG was default, moved back to MathRNG
201-
* Added ability to set RNG globally to skip having to set it in every function call
202-
* Allows you to set the v1 clock sequence, nodeID, and seed bytes to use cryptoRNG separately from globalRNG.
203-
204-
v2.0.0
205-
206-
* Fixup the API to split out Buffer and Non-buffer usages.
207-
* Switch to build in Random.secure() and remove custom AES implementation.
208-
* Less dependencies.
209-
* Docs
210-
* Cleanup
211-
212-
v1.0.3
213-
214-
* Fix SDK constraints to allow Dart 2.0 stable.
215-
216-
v1.0.2
217-
218-
* Fix constants breaking in Dart 1.x, need to be backwards compatible.
219-
220-
v1.0.1
221-
222-
* Fix constants to match Dart 2.0 spec
223-
224-
v1.0.0
225-
226-
* Cleanup and prep for dart 2.0
227-
* Has been stable for a long time, upgrading to 1.0 version
228-
229-
v0.5.3
230-
231-
* Merged pull request to support crypto 2.0.0
232-
* Support convert 2.0.0
233-
234-
v0.5.2
235-
236-
* Merged pull request to upgrade crypto library to 1.0.0.
237-
238-
v0.5.1
239-
240-
* Merged pull request for various updates and cleanup.
241-
242-
v0.5.0
243-
244-
* Reverted back to custom AES implementation. Moved RNG methods to UuidUtil (import 'package:uuid/uuid_util.dart')
245-
* Fixed a potential bug with custom RNG method passing and added more ways to pass in custom RNG functions.
246-
* Cleaned up and refactored some stuff. Using only v1 is only 67kb of js, Using only v4 is 97kb. Using crypt v4 is 118kb. Using both v1 and non-crypto v4 is 126kb.
247-
* Default RNG for v4 is now the mathRNG function. If you wish to use cryptoRNG, import UuidUtil and pass in cryptoRNG.
248-
* Updated README.md with more examples and usages.
249-
* Updated Tests.
250-
251-
v0.4.1
252-
253-
* Changed initCipher location so that if you ever only use v1 UUIDs, you will get a very small Dart2JS output compared to v4 or v5 that do load it.
254-
255-
v0.4.0
256-
257-
* Use Cipher base.dart, as I don't need entropy generators, and this allows me to merge client/server together again
258-
and fix many issues this caused.
259-
260-
v0.3.2
261-
262-
* Fix import/library bug.
263-
264-
v0.3.1
265-
266-
* Update pubspec to allow installation of the latest Cipher 0.7.
267-
268-
v0.3.0
269-
270-
* Updated to latest Cipher at 0.6.0. This created a breaking change in the imports. Please make sure you update your code.
271-
* Fixed problem when creating v4 UUIDs too fast, it would create duplicate UUIDs.
272-
273-
v0.2.2
274-
275-
* Pegging cipher to 0.4.0 temporarily for browser support
276-
277-
v0.2.1
278-
279-
* Using new version of cipher.
280-
281-
v0.2.0
282-
283-
* Dart 1.0 Readiness
284-
* Switched from custom AES to [cipher](https://github.com/izaera/cipher) package AES.
285-
286-
v0.1.6
287-
288-
* Adjusting usage of constants.
289-
* Fixing tests.
290-
291-
v0.1.5
292-
293-
* Stupid typo on import.
294-
295-
v0.1.4
296-
297-
* Fixing Crypto package move.
298-
299-
v0.1.3
300-
301-
* Fixing language changes.
302-
303-
v0.1.2
304-
305-
* Fix change of charCodes to codeUnits
306-
307-
v0.1.1
308-
309-
* Fixing syntax for upcoming breaking changes.
3+
## UUID Plus Versions
3104

3115
v0.1.0
3126

313-
* Cleanup, changes, and prep for M3.
314-
315-
v0.0.9
316-
317-
* Minor fix with a const RegExp
318-
* Made sure everything builds on latest dart.
319-
* Fixed pubspec to now import unittest from pub instead of sdk.
320-
321-
v0.0.8
322-
323-
* Changed to the new optional paramater syntaxes and usages.
324-
* Adjusted tests for the new function call style due to parameter change.
325-
* Fixed Import/Source/Library statements to the new format.
326-
327-
v0.0.7
328-
329-
* Made changes requested by the Google team to get my package up on pub.dartlang.org
330-
331-
v0.0.6
332-
333-
* Fixed up some code to make it possibly faster and using better Dart practices.
334-
* Cleaned up some documentation.
335-
336-
v0.0.5
337-
338-
* Added Initial AES for Dart (untested if it actually works/matches other AES encryptors)
339-
* Use AES cipher to create crypto strong bytes.
340-
341-
v0.0.4
342-
343-
* Issue wasn't Math.Random() but a bad reseed by me.
344-
* Cleaned up for new Pub layout.
345-
346-
v0.0.3
347-
348-
* Added UUIDv5
349-
* Fixed UUIDv4 bugs
350-
* Added more unit tests
351-
* Found bug in dart's Math.Random(), reported, waiting for fix to fix my code.
352-
353-
v0.0.2
7+
* Initial release of uuid_plus
8+
* Forked from dart-uuid v4.5.1
9+
* Package renamed to uuid_plus
10+
* Update UuidV7 implementation to use Int64 from fixnum package
11+
* Update tests: instesd of gereate large number of UUIDs for collision tests, a more efficient approach is used
12+
* Updated repository links and documentation
35413

355-
* Initial tests
356-
* Fixed some parser bugs.
14+
## Original dart-uuid History
35715

358-
v0.0.1
16+
The original changelog can be found [here](https://github.com/Daegalus/dart-uuid/blob/main/CHANGELOG.md).
35917

360-
* Initial Release
361-
* No tests

LICENSE

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Copyright (c) 2021 Yulian Kuncheff
2+
Copyright (c) 2025 Input Output Global, Inc. (IOG)
23

34
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
45

0 commit comments

Comments
 (0)