Ben Ramsey
76cbc566e2
chore(deps-dev): upgrade PHPStan
2025-05-25 16:52:53 -05:00
Ben Ramsey
691c2c816e
chore(deps-dev): remove Psalm
2025-05-25 14:53:53 -05:00
Valentin Udaltsov
bc93c5f873
Fixed UnixTimeGenerator collisions ( #522 )
...
Closes #518
See https://github.com/symfony/symfony/pull/52367
2023-11-07 21:32:47 -06:00
Ben Ramsey
0ba1ffb029
fix: ensure monotonicity for version 7 UUIDs
2022-11-05 16:29:26 -05:00
Ben Ramsey
4000e896f9
refactor: remove dependency on ext-ctype
2022-09-16 09:43:44 -05:00
Ben Ramsey
ae247f1dcd
chore: clean up types and PHP 8-ify the code
2022-09-15 22:14:04 -05:00
Ben Ramsey
aa1e488afa
feat: support version 7 (Unix Epoch time) UUIDs
2022-09-13 22:13:33 -05:00
Ben Ramsey
f1891183f9
Upgrade PHPStan
2022-08-05 14:46:56 -05:00
Ben Ramsey
d98bef096f
Deprecate Ramsey\Uuid\Generator\RandomLibAdapter
2022-03-27 13:03:58 -05:00
Marco Pivetta
95eb7de42b
Removed redundant range check, now correctly identified by vimeo/psalm:^4.20
2022-03-22 12:42:10 +01:00
Ben Ramsey
852850b7da
Remove mocks for ext-uuid functions
2021-09-23 18:49:10 -05:00
Ben Ramsey
4511ccd7e6
chore(deps): upgrade vimeo/psalm
2021-08-06 14:25:16 -05:00
Ben Ramsey
c005f69d6e
chore: update package files
2021-08-06 14:05:57 -05:00
Ben Ramsey
b941aa1a9a
Prepare test suite for PHP 8
2020-10-29 18:24:14 -05:00
Remi Collet
ae7df1ceb9
catch ValueError raised by PHP 8 ( #352 )
2020-10-29 11:57:41 -05:00
Marco Pivetta
15a5d4f5e1
Propagating @psalm-pure to factories and builders used internally to purely assemble a UuidInterface
...
Ref: https://github.com/ramsey/uuid/pull/300#issuecomment-601329450
2020-03-23 11:25:22 +01:00
Ben Ramsey
4a53d4d33d
Check clock sequence and local identifier boundaries
2020-03-07 10:57:12 -06:00
Ben Ramsey
b3c26661ca
Correct capitalization of microsecond
2020-03-04 16:51:46 -06:00
Ben Ramsey
fec93008bc
Accept Type\Hexadecimal for the first parameter to uuid1()
2020-02-24 14:34:40 -06:00
Ben Ramsey
f42afcecbb
Rename Type\IntegerValue to Type\Integer
...
Rename `Type\IntegerValue` to `Type\Integer`. It was originally named
`IntegerValue` because static analysis sees `Integer` in docblock
annotations and treats it as the native `int` type. `Integer` is not a
reserved word in PHP, so it should be named `Integer` for consistency
with other types in this library. When using it, a class alias prevents
static analysis from complaining.
2020-02-21 11:59:49 -06:00
Ben Ramsey
0bff9e8660
Add NameGeneratorInterface and generators for v3 and v5 UUIDs
2020-02-08 13:12:20 -06:00
Marco Pivetta
c7f71244f3
Imported pecl/uuid constants
2020-02-03 13:15:35 -06:00
Marco Pivetta
dee551deb1
Removed use function imports for mocked/stubbed functions, disabling phpcs import rule
...
While the rule is now disabled, it still is very much valuable to import most pure functions from the core
PHP scope, allowing us some marginal gains on anything that can be inlined by the engine (now or in future).
The rule does not allow selective exclusions, so we will need to keep it off for now.
2020-02-03 13:15:35 -06:00
Marco Pivetta
a252f29847
Import used functions and constants via use statement to disallow ambiguity for compiler/static-analysis
...
As documented in https://wiki.php.net/rfc/use_global_elements , the engine (by default) does a local namespace
lookup, then falls back to global namespace when first calling a global function referenced in namespaced code,
unless that function is referenced via fully qualified name (FQN).
By using the FQN, the actual symbol can be looked up at compile-time, both by the PHP engine and by static analysis
tooling, allowing for compiler (in particular) optimizations to replace known hot-path functions with specialized opcodes.
Sadly, no actual benchmark at hand: the improvements can be minimal or massive, depending on where this library is
used (tight loops being most relevant).
2020-02-03 13:15:35 -06:00
Ben Ramsey
5fa4eb4f17
Add fromDateTime() to create version 1 UUIDs from DateTime instances
...
Fixes #28
2020-02-03 00:48:41 -06:00
Ben Ramsey
9988854cf1
Fix bug causing test to fail on 32-bit systems
2020-01-22 00:41:45 -06:00
Ben Ramsey
94700421e1
Micro-optimize
2020-01-22 00:05:29 -06:00
Ben Ramsey
80a7be00b3
Return Hexadecimal type from TimeConverterInterface::calculateTime()
2020-01-21 23:28:10 -06:00
Ben Ramsey
19f01c7985
No longer set variant/version bits inside the time generator
2020-01-21 16:38:07 -06:00
Ben Ramsey
72a2312f62
Support generation of version 2 (DCE Security) UUIDs
2020-01-18 12:14:01 -06:00
Ben Ramsey
c11c023796
Address static analysis issues and add additional tests
2020-01-18 12:13:59 -06:00
Ben Ramsey
4125885862
Add getTime() to TimeProviderInterface and mark currentTime() deprecated
2020-01-18 12:13:58 -06:00
Ben Ramsey
3e81dad348
Fix static analysis issues with tests
2020-01-18 12:13:56 -06:00
Ben Ramsey
12896f06db
Use internal exceptions
...
Fixes #254
2020-01-18 12:13:55 -06:00
Ben Ramsey
0d7b8c2b7a
Update coding style to include PSR-12, among other options
...
This also includes heavy use of slevomat/coding-standard to apply
various checks to the code, based on maintainer (me) preference.
2020-01-18 12:13:55 -06:00
Massimiliano Arione
5459113b81
add typehints and return types
2020-01-18 12:13:10 -06:00
Ben Ramsey
8544df0f40
Remove the MtRandGenerator
2020-01-18 12:13:09 -06:00
Ben Ramsey
05f3f16158
Remove the OpenSslGenerator
2020-01-18 12:13:09 -06:00
Ben Ramsey
506135cc6e
Remove SodiumRandomGenerator generator class; it is no longer necessary
2020-01-18 12:13:08 -06:00
SignpostMarv
0030399564
Increase PHPStan levels and update code to resolve issues found
2020-01-18 12:13:08 -06:00
Ben Ramsey
64ba9a2767
Clean up code according to PhpStorm inspections report
2019-11-30 13:14:52 -08:00
Alessandro Minoccheri
c4cc058f3d
change array declarations
2019-11-30 09:10:09 -08:00
Ben Ramsey
466629a399
Use a high-strength generator by default, when using RandomLibAdapter
2019-11-30 09:10:09 -08:00
karsasmus
2824db17c8
Change library ircmaxell/random-lib to paragonie/random-lib
2019-11-30 09:10:09 -08:00
Ben Ramsey
59c8bb0840
Update the deprecation messages
2018-08-12 09:43:21 -05:00
Ben Ramsey
cd92bfa43c
Mark SodiumRandomGenerator as deprecated
2018-08-11 21:30:34 -05:00
Ben Ramsey
7397e2f431
Mark MtRandGenerator and OpenSslGenerator as deprecated
2018-08-11 21:23:49 -05:00
Marco Perone
4b7374129c
add annotations for thrown exceptions
2018-07-09 09:04:12 +02:00
Marcel Hernandez
76efebe0ac
generate random clockSeq with random_int() instead of mt_rand()
2018-01-19 16:17:49 -06:00
Marcel Hernandez
3567caf3f9
fixed off-by-one error on DefaultTimeGenerator
2018-01-19 16:17:36 -06:00