|
1 | 1 | # Changelog
|
2 | 2 |
|
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 |
310 | 4 |
|
311 | 5 | v0.1.0
|
312 | 6 |
|
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 |
354 | 13 |
|
355 |
| -* Initial tests |
356 |
| -* Fixed some parser bugs. |
| 14 | +## Original dart-uuid History |
357 | 15 |
|
358 |
| -v0.0.1 |
| 16 | +The original changelog can be found [here](https://github.com/Daegalus/dart-uuid/blob/main/CHANGELOG.md). |
359 | 17 |
|
360 |
| -* Initial Release |
361 |
| -* No tests |
0 commit comments