Utils Versions Save

🛠 Lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.

v4.0.4

3 months ago
  • added Iterables
  • added Arrays::firstKey(), lastKey()
  • added Arrays::filter()
  • Arrays::first() & last(): added parameter $else
  • Arrays::first() & last(): added parameter $predicate #305
  • added Image::getSupportedTypes()
  • Arrays: improved phpDoc
  • utilizes Random\Randomizer in PHP 8.3
  • StaticClass: fixed compatibility with PHP 8.3.2
  • Strings::trim() trims unicode spaces and ZWSP (#304)

v4.0.3

6 months ago
  • added ImageColor, replaces Image::rgb()
  • added Image::rectangleWH(), filledRectangleWH(), calculateTextBox()
  • Type: fixed resolving of 'static' nette/di#295

v4.0.2

7 months ago
  • Strings::length() uses mbstring, iconv and then utf8_decode #299
  • Finder: getType() replaced with isDir() / isFile()
  • StaticClass: constructor is private nette/di#292
  • Arrays: add generic type declaration for some(), every() and map() (#298)
  • FileSystem: can be used as instance

v3.2.10

9 months ago
  • support for PHP 8.3
  • Callback::unwrap() returns correct class name for private methods
  • improved type annotations (#290)
  • Reflection: getParameterType(), getReturnType() and getPropertyType() marked as deprecated

v4.0.1

9 months ago
  • support for PHP 8.3
  • added Image::isTypeSupported()
  • added enum ImageType
  • Finder: collect() returns list
  • Finder: improved exception when directory is missing
  • Finder: default mask is '*'
  • improved type annotations (#290)
  • Callback::unwrap() returns correct class name for private methods

v4.0.0

1 year ago
  • uses PHP 8 featurs
  • includes a completely rewritten Finder
  • PascalCase constants
  • Strings: added support for UTF-8 offsets in regexp
  • Translator: improved interface, accepts and returns string|Stringable [Closes #231]
  • ArrayHash & ArrayList: support iteration with reference (#289)

new methods:

  • Nette\Utils\Json::decodeFile() reads JSON from a file
  • Nette\Utils\FileSystem::unixSlashes() & platformSlashes() converts slashes to Unix slashes
  • Nette\Utils\Strings::ord(), unixNewLines() & platformNewLines()
  • Nette\Utils\Helpers::compare() compare using the operator

new parameters:

  • Nette\Utils\Strings::split() added parameter $limit
  • Nette\Utils\Strings::replace() added parameters $captureOffset, $unmatchedAsNull
  • Nette\Utils\Strings, Nette\Utils\Arrays, Nette\Utils\Json: flags replaced with parameters

removed

  • Reflection: removed obsolete getReturnType(), getParameterType(), getPropertyType() (BC break)

v3.2.9

1 year ago
  • Type: supports Disjunctive Normal Form Types
  • Validators: added isTypeDeclaration(), isBuiltinType(), isClassKeyword()
  • used PhpStorm Language attribute (#277)
  • Types::isSingle() -> isSimple()

v3.2.8

1 year ago
  • support for PHP 8.2
  • tests: deprecated GD changed to PNG
  • Image::clone() uses PNG format because GD2 is disabled since libgd 2.3.3
  • Image::detectTypeFromFile & detectTypeFromString returns width & height
  • Image: added extensionToType()
  • private constants are PascalCase
  • ObjectHelpers: fixed parsing static @methods #278

v3.2.7

2 years ago
  • SmartObject: supports property deprecation
  • Image: added support for AVIF
  • Image: distinguishes between fatal errors and warnings
  • Validators: isNumeric support string number '1.' (#276)
  • Json: accepts native JSON_* constants #275
  • Arrays::isList() uses array_is_list() is PHP 8.1

Deprecated properties are written as @property-deprecated, no standard here exists. PhpStorm and static analysis tools do not see them, which is the intention.

v3.2.6

2 years ago
  • FileSystem: messages use normalized paths (#250)
  • Strings::indexOf() fixed empty $haystack and negative $nth #271
  • Strings: improved things around flags
  • Callback::unwrap can return non-callable #270
  • used @return never
  • added Helpers::clamp()
  • Validators::isPhpIdentifier(): Value is always string. (#268)
  • Reflection::expandClassName() recognizes 'parent'
  • added Reflection::isClassKeyword(), Type::isClassKeyword()