Common

Common Classes Package.

GPL-2.0 License

Downloads
92.3K
Stars
7
Committers
2
Common - Common Classes Package v2.12.2 Latest Release

Published by Maikuolan 3 months ago

Version/Release 2.12.2

  • [2024.07.02; Bug-fix; Maikuolan]: 3-digit and script-based codes not recognised by arrayFromL10nToArray; Fixed.

  • [2024.07.16; Maikuolan]: Added list functionality to the YAML handler (i.e., using flow sequences in keys to assign a singular value to all of those keys at once, or to determine the keys to use to convert corresponding flow sequences in values to flow maps).

  • [2024.08.02; Maikuolan]: Added a guard to the request handler's request method to fail if curl_init doesn't exist.

  • [2024.08.08; Maikuolan]: Added ISO 15924 support to the L10N handler.

Caleb M (Maikuolan),
August 8, 2024.

Common - Common Classes Package v2.12.1

Published by Maikuolan 4 months ago

Version/Release 2.12.1

  • [2024.03.21; Maikuolan]: Slightly improved guards for the IPHeader class trySource method.

  • [2024.05.30; Maikuolan]: PHP 8.4 compatibility patch.

  • [2024.06.26; Bug-fix; Maikuolan]: Number formatter showing some Armenian numerals incorrectly; Fixed.

  • [2024.06.26; Maikuolan]: Added Ge'ez/Ethiopic support to the number formatter and performed some minor refactoring.

Caleb M (Maikuolan),
June 26, 2024.

Common - Common Classes Package v2.12.0

Published by Maikuolan 10 months ago

Version/Release 2.12.0

  • [2023.12.01; Maikuolan]: Improved escaping. Added support for specifying a Redis database number to the cache handler (CIDRAM/CIDRAM#540).

  • [2023.12.08; Bug-fix; Maikuolan]: Not escaping keys when reconstructing YAML data could prevent successful reprocessing of those keys if said keys contained any hashes or backslashes. The solution is to enforce escaping of keys when such bytes are detected, regardless of how the property for quoting keys is defined. Accordingly, that's been done, and a new method added for that purpose (CIDRAM/CIDRAM#547).

  • [2023.12.24; Maikuolan]: The request handler can now handle custom methods.

  • [2023.12.29; Maikuolan]: The number formatter's getSetCSV method removed and replaced by a getSetJSON method.

Caleb M (Maikuolan),
December 29, 2023.

Common - Common Classes Package v1.11.0

Published by Maikuolan 10 months ago

Version/Release 1.11.0

  • [2023.12.01; Maikuolan]: Improved escaping. Added support for specifying a Redis database number to the cache handler (CIDRAM/CIDRAM#540).

  • [2023.12.08; Bug-fix; Maikuolan]: Not escaping keys when reconstructing YAML data could prevent successful reprocessing of those keys if said keys contained any hashes or backslashes. The solution is to enforce escaping of keys when such bytes are detected, regardless of how the property for quoting keys is defined. Accordingly, that's been done, and a new method added for that purpose (CIDRAM/CIDRAM#547).

  • [2023.12.24; Maikuolan]: The request handler can now handle custom methods.

  • [2023.12.29; Maikuolan]: The number formatter's getSetCSV method removed and replaced by a getSetJSON method.

Caleb M (Maikuolan),
December 29, 2023.

Common - Common Classes Package v2.11.0

Published by Maikuolan 11 months ago

Version/Release 2.11.0

  • [2023.10.12; Maikuolan]: Preferred variants can now be specified to the L10N handler. The arrayFromL10nToArray method, common to CIDRAM's and phpMussel's codebases, as well as to the code for the DocGen scripts at both those projects' documentation repositories, has been integrated to the L10N handler, so that it can be removed from those codebases, and can instead be called from the L10N handler, for cleaner/easier maintainability.

  • [2023.11.21; Bug-fix; Maikuolan]: The YAML handler's unescape method wasn't unescaping correctly when escaped backslashes preceded other escapable symbols; Fixed (CIDRAM/CIDRAM#532).

Caleb M (Maikuolan),
November 22, 2023.

Common - Common Classes Package v1.10.0

Published by Maikuolan 11 months ago

Version/Release 1.10.0

  • [2023.10.12; Maikuolan]: Preferred variants can now be specified to the L10N handler. The arrayFromL10nToArray method, common to CIDRAM's and phpMussel's codebases, as well as to the code for the DocGen scripts at both those projects' documentation repositories, has been integrated to the L10N handler, so that it can be removed from those codebases, and can instead be called from the L10N handler, for cleaner/easier maintainability.

  • [2023.11.21; Bug-fix; Maikuolan]: The YAML handler's unescape method wasn't unescaping correctly when escaped backslashes preceded other escapable symbols; Fixed (CIDRAM/CIDRAM#532).

Caleb M (Maikuolan),
November 22, 2023.

Common - Common Classes Package v2.10.0

Published by Maikuolan about 1 year ago

Version/Release 2.10.0

  • [2023.08.18; Maikuolan]: Improved tests and documentation for the operation handler.

  • [2023.08.28; Maikuolan]: The operation handler can now serve method calls. Added guard to the events orchestrator to prevent infinite looping via recursive event firing from within handlers.

  • [2023.09.14; Maikuolan]: Moved the version constant and the dataTraverse method to an abstract class, which the other classes can then extend from, due to those being common to all/most classes in the package. Added support for dot notation to the L10N handler.

Caleb M (Maikuolan),
September 18, 2023.

Common - Common Classes Package v1.9.8

Published by Maikuolan about 1 year ago

Version/Release 1.9.8

  • [2023.08.18; Maikuolan]: Improved tests and documentation for the operation handler.

  • [2023.08.28; Maikuolan]: Added guard to the events orchestrator to prevent infinite looping via recursive event firing from within handlers.

Caleb M (Maikuolan),
September 18, 2023.

Common - Common Classes Package v2.9.7

Published by Maikuolan about 1 year ago

Version/Release 2.9.7

  • [2023.05.13; Maikuolan]: Fixed a link.

  • [2023.08.16; Bug-fix; Maikuolan]: Typo in the code for handling "then" statements in the operation handler's ifCompare method; Fixed.

Caleb M (Maikuolan),
August 16, 2023.

Common - Common Classes Package v1.9.7

Published by Maikuolan about 1 year ago

Version/Release 1.9.7

  • [2023.05.13; Maikuolan]: Fixed a link.

  • [2023.08.16; Bug-fix; Maikuolan]: Typo in the code for handling "then" statements in the operation handler's ifCompare method; Fixed.

Caleb M (Maikuolan),
August 16, 2023.

Common - Common Classes Package v2.9.6

Published by Maikuolan over 1 year ago

Version/Release 2.9.6

  • [2023.02.24; Bug-fix; Maikuolan]: The cache handler's incEntry and decEntry methods weren't handling non-expiring values correctly when using flatfile caching; Fixed.

  • [2023.03.15; Maikuolan]: The operation handler's dataTraverse method can now traverse object properties.

  • [2023.03.16; Maikuolan]: Support for more operators added to the operation handler's ifCompare method. Added a new parameter to the operation handler's dataTraverse method to enable implementations to specify whether it should allow or prohibit non-scalar return values.

  • [2023.03.18; Maikuolan]: The YAML handler's dataTraverse method synchronised with the operation handler's dataTraverse method to be the same, to be able to likewise have it specified whether to allow or prohibit non-scalar return values and etc (might consider utilising class extensibility in a future major version to reduce code duplication, but as doing that would mean that classes wouldn't be able to be implemented in isolation anymore, I would consider it backwards-incompatible change, so it won't happen any time sooner than the next major version, at least).

  • [2023.03.22; Bug-fix; Maikuolan]: The YAML handler wasn't correctly dealing with sequences which terminate with folded scalars; Fixed.

  • [2023.03.24; Maikuolan]: Added a new property to the request handler to act as an object-level logger for the results of outbound requests.

Caleb M (Maikuolan),
March 24, 2023.

Common - Common Classes Package v1.9.6

Published by Maikuolan over 1 year ago

Version/Release 1.9.6

  • [2023.02.24; Bug-fix; Maikuolan]: The cache handler's incEntry and decEntry methods weren't handling non-expiring values correctly when using flatfile caching; Fixed.

  • [2023.03.15; Maikuolan]: The operation handler's dataTraverse method can now traverse object properties.

  • [2023.03.16; Maikuolan]: Support for more operators added to the operation handler's ifCompare method. Added a new parameter to the operation handler's dataTraverse method to enable implementations to specify whether it should allow or prohibit non-scalar return values.

  • [2023.03.18; Maikuolan]: The YAML handler's dataTraverse method synchronised with the operation handler's dataTraverse method to be the same, to be able to likewise have it specified whether to allow or prohibit non-scalar return values and etc (might consider utilising class extensibility in a future major version to reduce code duplication, but as doing that would mean that classes wouldn't be able to be implemented in isolation anymore, I would consider it backwards-incompatible change, so it won't happen any time sooner than the next major version, at least).

  • [2023.03.22; Bug-fix; Maikuolan]: The YAML handler wasn't correctly dealing with sequences which terminate with folded scalars; Fixed.

  • [2023.03.24; Maikuolan]: Added a new property to the request handler to act as an object-level logger for the results of outbound requests.

Caleb M (Maikuolan),
March 24, 2023.

Common - Common Classes Package v2.9.5

Published by Maikuolan over 1 year ago

Version/Release 2.9.5

  • [2023.01.28; Bug-fix; Maikuolan]: Cache handler potentially generating unexpected exceptions in some situations; Fixed.

  • [2023.02.13; Maikuolan]: Slightly improved performance for when using PDO.

  • [2023.02.21; Maikuolan]: When using the cache handler with PDO, if the size of a cache entry exceeds 64KB, in order to avoid exceeding the 64KB upper limit of the TEXT data type, the cache handler will now attempt to compress the data prior to executing the query.

  • [2023.02.23; Maikuolan]: Optionally, the L10N handler can now automatically determine text directionality for use by the implementation.

Caleb M (Maikuolan),
February 23, 2023.

Common - Common Classes Package v1.9.5

Published by Maikuolan over 1 year ago

Version/Release 1.9.5

  • [2023.01.28; Bug-fix; Maikuolan]: Cache handler potentially generating unexpected exceptions in some situations; Fixed.

  • [2023.02.13; Maikuolan]: Slightly improved performance for when using PDO.

  • [2023.02.21; Maikuolan]: When using the cache handler with PDO, if the size of a cache entry exceeds 64KB, in order to avoid exceeding the 64KB upper limit of the TEXT data type, the cache handler will now attempt to compress the data prior to executing the query.

  • [2023.02.23; Maikuolan]: Optionally, the L10N handler can now automatically determine text directionality for use by the implementation.

Caleb M (Maikuolan),
February 23, 2023.

Common - Common Classes Package v2.9.4

Published by Maikuolan almost 2 years ago

Version/Release 2.9.4

  • [2022.12.15; Bug-fix; Maikuolan]: Redis shouldn't set EXPIRE for TTLs less than 1; Fixed.

  • [2023.01.14; Bug-fix; Maikuolan]: The code for fetching all entries from the cache when using Memcached as the chosen caching mechanism relied on Memcached methods which haven't worked properly since several major versions back from the current latest Memcached bindings. Accordingly, the cache handler wasn't capable of correctly fetching all entries when using Memcached. To remedy this, the code which relied upon said methods has been removed, and in its place, code has been added to manually index cache keys, and when fetching all entries from the cache, this manual indexing will now be relied upon when using Memcached (the code for other caching mechanisms, unaffected by this problem, remains unchanged).

  • [2023.01.16; Maikuolan]: Added a new method to the cache handler: "getAllEntriesWhere" (see the documentation for more details).

  • [2023.01.22; Maikuolan]: Improved the defaulting used for missing plurals.

Caleb M (Maikuolan),
January 22, 2023.

Common - Common Classes Package v1.9.4

Published by Maikuolan almost 2 years ago

Version/Release 1.9.4

  • [2022.12.15; Bug-fix; Maikuolan]: Redis shouldn't set EXPIRE for TTLs less than 1; Fixed.

  • [2023.01.14; Bug-fix; Maikuolan]: The code for fetching all entries from the cache when using Memcached as the chosen caching mechanism relied on Memcached methods which haven't worked properly since several major versions back from the current latest Memcached bindings. Accordingly, the cache handler wasn't capable of correctly fetching all entries when using Memcached. To remedy this, the code which relied upon said methods has been removed, and in its place, code has been added to manually index cache keys, and when fetching all entries from the cache, this manual indexing will now be relied upon when using Memcached (the code for other caching mechanisms, unaffected by this problem, remains unchanged).

  • [2023.01.16; Maikuolan]: Added a new method to the cache handler: "getAllEntriesWhere" (see the documentation for more details).

  • [2023.01.22; Maikuolan]: Improved the defaulting used for missing plurals.

Caleb M (Maikuolan),
January 22, 2023.

Common - Common Classes Package v2.9.3

Published by Maikuolan almost 2 years ago

Version/Release 2.9.3

  • [2022.10.26; Maikuolan]: The YAML handler can now handle objects when reconstructing YAML data, as long as those objects implement the __toString method.

  • [2022.11.20; Maikuolan]: Avoid packaging unnecessary files into dist.

  • [2022.11.22; Maikuolan]: Some of the CLDR information provided by Unicode recently changed. Updated the L10N handler accordingly.

Caleb M (Maikuolan),
November 22, 2022.

Common - Common Classes Package v1.9.3

Published by Maikuolan almost 2 years ago

Version/Release 1.9.3

  • [2022.10.26; Maikuolan]: The YAML handler can now handle objects when reconstructing YAML data, as long as those objects implement the __toString method.

  • [2022.11.20; Maikuolan]: Avoid packaging unnecessary files into dist.

  • [2022.11.22; Maikuolan]: Some of the CLDR information provided by Unicode recently changed. Updated the L10N handler accordingly.

Caleb M (Maikuolan),
November 22, 2022.

Common - Common Classes Package v2.9.2

Published by Maikuolan about 2 years ago

Version/Release 2.9.2

  • [2022.10.05; Bug-fix; Maikuolan]: Fix prevents YAML handler from using multiline when reconstructing values containing hashes, because multiline values are normally unquoted and unescaped, thus meaning that data which occurs after the hash would be treated as a comment when reprocessed.

Caleb M (Maikuolan),
October 5, 2022.

Common - Common Classes Package v1.9.2

Published by Maikuolan about 2 years ago

Version/Release 1.9.2

  • [2022.10.05; Bug-fix; Maikuolan]: Fix prevents YAML handler from using multiline when reconstructing values containing hashes, because multiline values are normally unquoted and unescaped, thus meaning that data which occurs after the hash would be treated as a comment when reprocessed.

Caleb M (Maikuolan),
October 5, 2022.