v0.5.0:
- Breaking change: A bug fix in the
isBlockedIdfunction resolves an issue where ID regeneration was triggered when a blocked word containing integers was found in the middle of the generated ID. For example, if a blocked word wasdef2and the generated ID wasabc1def2ghi3, the ID would have been regenerated, even though it shouldn't have been according to the spec. Although this scenario is rare with the default blocklist, it is considered a breaking change. Since this repository is pre-1.0, only the minor version is incremented. Commit a818ed - Lots of performance optimizations in PR #17 and #18 thanks to @GromNaN
- Running tests for PHP 8.4
v0.4.1:
- Removed testing for
uniques(part of the spec) - Support for PHP 8.1 [PR #8]
v0.4.0:
- Breaking change: IDs change. Algorithm has been fine-tuned for better performance [Issue #11]
alphabetcannot contain multibyte charactersminLengthupper limit has increased from alphabet length to255- Max blocklist re-encoding attempts has been capped at the length of the alphabet - 1
- Minimum alphabet length has changed from 5 to 3
minValue()andmaxValue()functions have been removed- Max integer encoding value is
PHP_INT_MAX
v0.3.1:
- Bug fix: spec update (PR #7): blocklist filtering in uppercase-only alphabet [PR #7]
v0.3.0:
- Bug fix: test for decoding an invalid ID with a repeating reserved character
- Removing requirement of
ext-mbstring
v0.2.0:
- Making the public constant
DEFAULT_BLOCKLISTavailable - Removed
mb_functions, because the spec does not guarantee unicode support
v0.1.0:
- Initial implementation of the Sqids spec