All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
1.17.0 (2020-02-27)
- update vendor namespace (be43e58)
- prepare for publication on github and packagist (5cef7ec)
- Arrays: add option to parse xml object into an associative array (93d38e7)
- DateAndTime: rename formatDateAndtime to formatDateAndTime (7dc7d1b)
- DateAndTime: Use the 24h clock by default as time format (a865043)
- Options: try to handle wrong boolean flags using a more speaking error message (e4d96c9)
- Options: rework the inner logic of the option applier to allow nested option application by making the applier class stateless (4a68a55)
- FilesAndFolders: make sure writeFile() does handle the writing of empty files correctly (654ee1c)
- PathsAndLinks: make sure absolutePath strips slashes before exploding the path (5b8df79)
- ArrayGenerator: make sure that arrays from string list's that receive "0" don't return an empty array, but an array like 0]. ([6b731a5)
- PathsAndLinks: add new absolutePath() helper to resolve a relative path using a base path. (cae30cb)
- FilesAndFolders: make sure that the directory exists before writing a file (3de1f79)
- PathsAndLinks: make sure to always create a fresh url to incorporate server/get array changes. (abd92a5)
- Inflector: make sure the sanitization of getter and setter methods can be disabled (4e7dcbb)
- Link: add option to merge two links into each other (060ab9b)
- PathsAndLinks: more reliable url parsing in link factory (a8791a3)
- Events: implement lazy event subscriptions (b6aa09a)
- Events: implement lazy event subscriptions and event priority (15f6988)
- Options: rewrite for the options logic to use a object based approach (f412f5f)
- Arrays: minor bugfixes and adjustments (d9f5d83)
- Cookies: fix not working remove cookies (501fde9)
- Inflector: fix some notices of unknown array keys (6930019)
- Arrays: Make sure arrayPath walker returns a reference (4742dbd)
- EventBus: make sure initialized property in the event class is used (b08d720)
- Options: make sure we print the correct label when throwing an exception for a unknown bool flag (4d8fb0c)
- Arrays: add sortByKeyStrLen() helper (7f9875a)
- FilesAndFolders: writing a file: try to write files by writing a temp file and overriding the target file to avoid half-written read requests (e63dbb3)
- FilesAndFolders: Additional failsaves (effefb1)
- ArrayPaths: fix issue where the cached path was not sensitive to the configured separator (b696ddd)
- ArrayGenerator: Array from xml now can also decode xml strings that don't start with the opening <?xml... tag (ebc0cbb)
- Arrays: add new sortByStrLen() helper to sort an array of strings according to their string length (50756a7)
- FilesAndFolders: add clearstatcache() calls to deleting methods (4e6618a)
- FilesAndFolders: try to fix weired issues where files that don't exist, exist according to php and vice versa... (52d0d3a)
- ArrayDumper: make sure the content of xml nodes is encoded using htmlspecialchars() (3be45d2)
- add FormatAndConvert as group of misc formatter and converter functions (3dacc4f)
- ArrayDumper: More speaking path when printing xml errors (287e74e)
- FilesAndFolders: add additional helpers to read and write files as well as setting permissions (3ce2092)
- ArrayPaths: add missing $walker variable in _set() method (0ecc6f9)
- Options: add missing quote (e31526a)
- add additional methods for insertAt(), without() and unflatten() (3f80fc6)
- add methods to dump arrays into different (currently only xml) string formats (8649b11)
- ArrayGenerator: changed the way how xml arrays are created to implement a more speaking output (9e803ea)
- FilesAndFolders: add directoryIterator method and implement it into flushDirectory() (1a457e2)
- add Arrays::flatten and Arrays::unflatten helpers (2002c89)
- ArrayGenerator: String lists may now also be created from numeric values (d93ef64)
- Inflector: made toUuid static as it should be (a5155da)
- Link: query can now be set to NULL (03044bb)
- Options: closures are now valid against the "callable" pseudo-type (614aea9)
- PathsAndLinks: classNamespace() no longer returns "." when there is no namespace (fc8164b)
- Events: Event objects can now be easily instantiated outside the event bus (ba62409)
- Arrays::merge walker will now skip if one of the given arrays is empty (c22f905)
- add new definition of valid "values" to Options::make (bfd510e)
- Added concept of "boolean flags" to Options::make()
- Added better alternative for link generation in PathsAndLinks::getLink();
- BREAKING: Removed parseLink() from PathsAndLinks class
- Fixed some typos
- Removed some unused variables
- Removed some invalid @return statements from EventBusInterface
- Added FilesAndFolders helper to make some repeating tasks easier
- Added a relativePath() implementation to PathsAndLinks
- BREAKING: Removed the $options parameter from the Inflector::toArray(). I adapted the simpler "intelligentSplitting" option instead and applied all the bugfixes I did to the Helferlein javascript counterpart.
- Cookies will no longer use serialize() but json_encode to store the data
- Added "callable" type check to Options::make()
- Added documentation to EventBus implementation
- Inflector::toSlug() now returns lowercase only strings
- Fixed some issues with Options::make() where the input types of objects where generated incorrectly
- Fixed some issues with the old implementation of Options::make()
- Added ArrayGenerator to Arrays as replacement for x::castArray()
- Added Arrays::sortBy()
- Added Arrays::getSimilarKey()
- Added HelferleinNotImplementedException
- Added the remaining methods to Inflector class
- Added PathsAndLinks as a mixture of different x utilities. It handles everything to do with (file)path's and url's.
- Rewrote Options::make() to a more advanced version as a much slimmer and easier to understand replacement of the ArraySchema stuff in the x package
- Moved Cookies class into it's own namespace
- Moved DateAndtime class into it's own namespace
- Removed caster
- Added Cookies for easier access to cookie data
- Added EventBus from labor\EventHandling package
- Added Arrays from x::arrayUtilities
- Added (currently empty) Caster class
- Added early implementation of the new inflector
- Initial commit added all basic files
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.