Skip to content

Releases: osexpert/GuidPhantom

0.0.7

01 Sep 16:41
Compare
Choose a tag to compare

0.0.7

  • Change dynamic/variable counter: 4-18bits
  • Add 'back off' logic: when on the 'edge', gradually reduce number of bits instead of going straight back to 4 bits.
  • FIX: Take the remaining lower bits from the Guid (random) instead of from the counter (constant). This increases randomness.

Full Changelog: 0.0.6...0.0.7

Nuget: https://www.nuget.org/packages/GuidPhantom/0.0.7

0.0.6

30 Aug 11:30
Compare
Choose a tag to compare

0.0.6

  • Since it is difficult to choose correct number of counter bits: change to dynamic/variable counter: 12-18bits

Full Changelog: 0.0.5...0.0.6

Nuget: https://www.nuget.org/packages/GuidPhantom/0.0.6

0.0.5

28 Aug 10:30
Compare
Choose a tag to compare

0.0.5

  • Changed my mind on several things:
  • Remove rollover guard
  • Change to 13bits counter
  • Remove timestamp adjustment forward if clock goes back in time (instead, monotony will break).
    RFC is lacking info about how to handle this case for Uuid v7, but from what the RFC write about Uuid v1/v6 and the clock sequence,
    adjusting the timestamp forward if the clock goes back, is IMO generally wrong.

Full Changelog: 0.0.4...0.0.5

Nuget: https://www.nuget.org/packages/GuidPhantom/0.0.5

0.0.4

26 Aug 12:28
Compare
Choose a tag to compare

0.0.4

  • Add rollover guard (initialize top bit of 26bit counter to 0)
  • Rename GuidInfoVersion1And6.Sequence -> GuidInfoVersion1And6.ClockSequence
  • PERF: reduce lock region
  • PERF: do not use class Random to get the 1-255 increment. Fetch it from the Guid instead (a part overwritten by timestamp).
  • Add FromHexString
  • Sql: add uuid_v7_array function. Using dbo.uuid_swap_endian(dbo.uuid_v7()) directly (two functions calls in same statement) mysteriously generate Uuid's out of order!?

Full Changelog: 0.0.3...0.0.4

Nuget: https://www.nuget.org/packages/GuidPhantom/0.0.4

0.0.3

22 Aug 21:59
Compare
Choose a tag to compare

0.0.3

  • Make CreateVersion7 and CreateVersion8MsSql monotonic (in same process), so remove CreateVersion7Sequence and CreateVersion8MsSqlSequence.
  • Change ms sql scripts to be monotonic for uuid_v7 and uuid_v8mssql (in same session).

Full Changelog: 0.0.2...0.0.3

Nuget: https://www.nuget.org/packages/GuidPhantom/0.0.3

0.0.2

21 Aug 17:43
Compare
Choose a tag to compare

0.0.2

  • Bitswapping was not correct for v7<->v8MsSql. bytes[6] and bytes[7] were swapped (endianess).
  • CreateVersion8MsSql: forgot to preserve 2 random bits in bytes[9].
  • Increase the counter size in sequential v7 and v8mssql from 12 to 26 bits (include all bits from 4 middle bytes).
  • Instead of +1 in the counter, add a random byte (1-255).

Full Changelog: 0.0.1...0.0.2

Nuget: https://www.nuget.org/packages/GuidPhantom/0.0.2

0.0.1

18 Aug 21:52
Compare
Choose a tag to compare

0.0.1

  • First release.
  • Create Uuid v1 and v6. Convert between v1 and v6.
  • Create Uuid v7 and v8MsSql. Convert between v7 and v8MsSql.
  • Create Uuid v3 (MD5) and v5 (SHA1)
  • Create Uuid v8SHA256 and v8SHA512
  • Get info about a Guid (dissect)
  • Create monotonic sequence of v7 and v8MsSql Guid's
  • Create NEWSEQUENTIALID (ms sql)
  • Create/reverse Xor Guid
  • Create/reverse numeric Guid
  • Create/reverse incremented Guid

Nuget: https://www.nuget.org/packages/GuidPhantom/0.0.1