Skip to content

v0.6.0 - PHP: Nelson Martell Library

Compare
Choose a tag to compare
@nelson6e65 nelson6e65 released this 06 Oct 04:23
· 473 commits to master since this release
v0.6.0
6bf792d

Changelog

Installation changes

  • 🔥 Removed dependencies copy. Now you must install dependencies manually if not using composer.

Public API changes

  • 🐛 Fixed issue (possible bug) in properties with custom prefix. Now, it must be implemented ICustomPrefixedPropertiesContainer in order to use custom getter/setter prefixes (in addition to get/set defaults).
    • 🆕 Interface: ICustomPrefixedPropertiesContainer. Enables the use of custom properties getter/setter's prefixes.
    • 🔥 Removed PropertiesHandler::$getterPrefix and PropertiesHandler::$setterPrefix static attributes (functionality replaced by ICustomPrefixedPropertiesContainer methods).
    • 🆙 Methods of PropertiesHandler trait are now protected (instead of private) and rewritten to work in a static context (instead of object context).
  • 🐛 Fixed possible errors in Extensions\String::format if placeholder values are stdClass or warnings if value is not convertible to string (this is a weakness in usort usage in \Cake\Utility\Text\insert). Extensions\String::format now throws a catchable \InvalidArgumentException if value of placeholder can't be convertible to string to avoid this 🐛.
  • 🆕 Interface: IPropertiesContainer.
  • 🆕 Interface: IComparer. Split from IComparable to use only compare method. Object class already implements IComparer.
  • 🆙 Deprecate IComparable::compare method, to be replaced by IComparer::compare.
  • 🆙 IComparable::compareTo implementations are now able to return null if objects can't be compared.
  • 🐛 🆙 Improve Object::compare method to compare different types.
  • 🆕 Created namespaced global functions under NelsonMartell and deprecated the global ones (typeof(mixed $obj) and other internal functions) to be removed in the next v0.7.0 or v0.8.0 release (see issue #17).
  • 📝 Improved and updated API documentation.
  • 🆙 Other minor improvements and fixes.

Classes/interfaces/traits names in this description are under NelsonMartell namespace by default (unless name starts with \).

Development changes

  • 🆕 Tracking development progress in waffle.io.
  • 🎨 Update copyright year and email in source files.
  • 📝 Improve & update README file.
  • ✅ Configure UnitTesting and added some tests for classes.
  • ✅ Configure PHP CodeSniffer to be compliance with PSR2 coding standar by default.
  • 🆕 Testing helpers (traits):
    • NelsonMartell\Test\Helpers\:
      • ExporterPlugin
      • ConstructorMethodTester
      • IComparerTester
      • IComparableTester
      • IPropertiesContainerTester
  • 🆙 Configure Travis CI for testing and API documentation generation.
  • 🆕 Utility scripts (read script/README.md file:
  • 🎨 Other minor code and documentation improvements.

See changes since v0.5.1 for more detailed info.