8000 Tags · mplanchard/cuid-rust · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Tags: mplanchard/cuid-rust

Tags

cuid2-v0.1.4

Toggle cuid2-v0.1.4's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid2-v0.1.4

Fixed

- Replaced `std::sys::SystemTime` with `web_time::SystemTime` so that
  CUID generation does not panic in WASM builds.

cuid1-v0.1.0

Toggle cuid1-v0.1.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid1 v0.1.0

Technically, this is a new crate! This was published containing the
fix below. This will be included in the next major version of `cuid`,
which will be a breaking release in which the top-level `cuid()` function
is replaced by explicit calls to either `cuid1()` or `cuid2()`.

Fixed:

- Replaced `std::sys::SystemTime` with `web_time::SystemTime` so
  that CUID generation does not panic in WASM builds

cuid-v1.3.3

Toggle cuid-v1.3.3's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid-v1.3.3

Added

- Provide new top-level functions from the `cuid` library to disambiguate
  CUID versions:
  - `cuid::cuid1()`: generate a v1 CUID, replacement for deprecated `cuid()`
  - `cuid::cuid1_slug()`: generate a v1 CUID slug, replacement for deprecated `slug()`
  - `cuid::is_cuid1()` - check whether a string looks like it could be a v1 CUID,
    replacement for deprecated `is_cuid()`
  - `cuid::is_cuid1_slug()` - check whether a string looks like it could be a v1 CUID
    slug, replacement for deprecated `is_cuid()`
  - `cuid::cuid2_slug()` - generate a v2 CUID of length 10
  - `cuid::is_cuid2_slug()` - check whether a string looks like could be a v2 CUID
     slug
   - `cuid::Cuid2Constructor` - expose the v2 CUID constructor interface
- Added a couple of functions to `cuid2` for parity with v1 functions:
  - `cuid2::slug()` - generate a v2 CUID of length 10
  - `cuid2::is_slug()` - check whether a string looks like could be a v2 CUID
     slug
- Added support for webassembly builds. Builds are tested for `wasm32-unknown-unknown`
  and `wasm32-wasi` targets. I intend to add Javascript bindings and publish
  npm packages in an upcoming update.
  - The system hostname is not available to WASM, so for the CUID v1
    fingerprint algorithm, we instead use a v4 UUID. This does mean the
    fingerprint will not be consistent on a host over time, which slightly
    diverges from the behavior of CUIDs on other targets. Please open an
    issue if this is a problem for you.

Changed

- CUID v1 functions are no longer marked as deprecated. The original JS
  library was marked as insecure and deprecated by its creators, but this
  was merely due to their personal stance that any k-sortable IDs are
  insecure and should not be used. This library's author does not share
  the same view. New functions have been provided to better disambiguate
  creating v1 vs v2 IDs, and functions that do not explicitly specify
  a version are still marked as deprecated.
- The CUID binaries now randomize the counter prior to generating an ID,
  rather than always starting at 0. This ensures that commandline-generated
  CUIDs do not lose entropy relative to library-generated CUIDs due to
  always having the same counter value.
- The `cuid2::is_cuid()`/`cuid::is_cuid2()` function has been improved and
  now rejects more strings that are invalid CUIDs (contribution by @stormshield-kg)
- The `cuid2` binary now supports an optional `--length|-l` argument, which
  enables specifying the length of the generated CUID (contribution by @der-fruhling)

Removed

- Removed old benchmarks and `#[cfg(nightly)]` blocks. Criterion benchmarks
  are the important ones, and those remain.

cuid2-v0.1.3

Toggle cuid2-v0.1.3's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid2-v0.1.3

Added

- Added a couple of functions to `cuid2` for parity with v1 functions:
  - `cuid2::slug()` - generate a v2 CUID of length 10
  - `cuid2::is_slug()` - check whether a string looks like could be a v2 CUID
     slug
- Added support for webassembly builds. Builds are tested for `wasm32-unknown-unknown`
  and `wasm32-wasi` targets. I intend to add Javascript bindings and publish
  npm packages in an upcoming update.

Changed

- The CUID binaries now randomize the counter prior to generating an ID,
  rather than always starting at 0. This ensures that commandline-generated
  CUIDs do not lose entropy relative to library-generated CUIDs due to
  always having the same counter value.
- The `cuid2::is_cuid()`/`cuid::is_cuid2()` function has been improved and
  now rejects more strings that are invalid CUIDs (contribution by @stormshield-kg)
- The `cuid2` binary now supports an optional `--length|-l` argument, which
  enables specifying the length of the generated CUID (contribution by @der-fruhling)

cuid2-v0.1.2

Toggle cuid2-v0.1.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid2 v0.1.2

Changed: cuid2-v0.1.2...HEAD

- Internal updates to match updated CUID construction logic in [the reference
  implementation](https://github.com/paralleldrive/cuid2/blob/main/src/index.js),
  specifically:
  - Simplified hashing function, no longer adding additional entropy in addition
    to building a hash
  - Increased range of possible values for counter initialization
  - Random numbers for entropy are now random numbers from [0, 36), rather than
    a random choice from a static array of prime numbers

cuid-v1.3.2

Toggle cuid-v1.3.2's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid 1.3.2, cuid2 0.1.1

Added

- cuid/cuid2: Moved common utility logic out into a `cuid-util` crate
- cuid2: #10: New `is_cuid2` function and `is_cuid` alias

Changed

- cuid: Replaced base conversion logic in `cuid` with the logic in `cuid-util`,
  yielding a solid performance improvement for CUID generation (10-20%)
- cuid2: Added `#[inline]` annotations for main cuid2 functions

Fixed

- cuid: 94d4cd0: Removed unused `bigint` dependency
- cuid2: #11: Moved proptest to dev dependencies

cuid2-v0.1.1

Toggle cuid2-v0.1.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid 1.3.2, cuid2 0.1.1

Added

- cuid/cuid2: Moved common utility logic out into a `cuid-util` crate
- cuid2: #10: New `is_cuid2` function and `is_cuid` alias

Changed

- cuid: Replaced base conversion logic in `cuid` with the logic in `cuid-util`,
  yielding a solid performance improvement for CUID generation (10-20%)
- cuid2: Added `#[inline]` annotations for main cuid2 functions

Fixed

- cuid: 94d4cd0: Removed unused `bigint` dependency
- cuid2: #11: Moved proptest to dev dependencies

cuid-v1.3.1

Toggle cuid-v1.3.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
cuid v1.3.1

- Updated deprecation warnings to mention the `cuid2` crate

cuid-v1.3.0

Toggle cuid-v1.3.0's commit message

Unverified

This tag is not signed, but one or more authors requires that any tag attributed to them is signed.
Add cuid2 crate and cuid2() function

- The CUID v1 algorithm is now [deprecated](#4),
  so all cuid v1 functions have been marked as such. Please use the new `cuid2`
  crate or the `cuid2()` function re-exported from the `cuid` crate.

- The CI suite now runs both `cargo clippy` and `cargo audit` ([edb22b5])
- Added nix files for dependency management ([8d2c180])
- Added the `cuid2` crate, providing library and binary for v2 of the CUID
  standard
- Added `cuid2()` function in the `cuid` crate

- Upgraded to use the Rust 2021 edition ([cdc594c])
- Switched from `lazy_static` to `once_cell` ([3333dd4])
- Added `inline` directive to external functions ([8714f67])

cuid2-v0.1.0

Toggle cuid2-v0.1.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
mplanchard Matthew Planchard
Add cuid2 crate

- The CUID v1 algorithm is now [deprecated](#4),
  so all cuid v1 functions have been marked as such. Please use the new `cuid2`
  crate or the `cuid2()` function re-exported from the `cuid` crate.

- The CI suite now runs both `cargo clippy` and `cargo audit` ([edb22b5])
- Added nix files for dependency management ([8d2c180])
- Added the `cuid2` crate, providing library and binary for v2 of the CUID
  standard
- Added `cuid2()` function in the `cuid` crate

- Upgraded to use the Rust 2021 edition ([cdc594c])
- Switched from `lazy_static` to `once_cell` ([3333dd4])
- Added `inline` directive to external functions ([8714f67])
0