Skip to content

Latest commit

 

History

History
131 lines (94 loc) · 5.97 KB

CHANGELOG.md

File metadata and controls

131 lines (94 loc) · 5.97 KB

CHANGELOG

Release notes for PHP: Nelson Martell Library.

Release 0.7.1 (2018-12-23)

⭐ Important changes

  • 🆕 Documentation with VuePress (including API docs).
  • 🆕 Compatible with PHP 7.3.

📓 Development changes

  • 🆙 Improve Travis CI to auto-generate documentation.
  • 🆙 Contributing instructions

More changes

See changes since v0.7.0 for more detailed info.

Release 0.7.0 (2017-12-04)

⭐ Important changes

This release is mainly intended to provide PHP 7 compatibility:

  • 🔥 Rename class NelsonMartell\Extensions\String to NelsonMartell\Extensions\Text, but still available in PHP 5.6 as alias.
  • 🔥 Rename class NelsonMartell\Object to NelsonMartell\StrictObject, but still available in PHP < 7.2 as alias.
  • 🔥 Drop support for PHP < 5.6.
  • 🔥 Remove deprecated code in v0.6.
  • 🔥 Remove global functions. Are only available under NelsonMartell namespace now.
  • 🐛 Correct minor issues.

📓 Development changes

There are some improvements for development:

  • ⬆️ Use PHPUnit 5.7 and update tests.
  • ⬆️ Use PHP Code Sniffer 3.0.
  • ⬆️ Prepare code to use ApiGen 5.0 (removed as dependency).
  • 🆙 Update some internal scripts and other moved to the composer.json.
  • 🆕 Add utility scripts to the composer.json (check the CONTRIBUTING file for more details):
    • composer test-code
    • composer analize-code
    • composer autofix-code
    • composer check-all
    • composer build:
      • composer build-code-coverage:
        • composer build-code-coverage-clover
        • composer build-code-coverage-xml
        • composer build-code-coverage-html
      • composer build-api
  • 🆕 Add CONTRIBUTING file.

NOTE: API Documentation not updated to this release due to conflict in API generation tool.

More changes

See changes since v0.6.1 for more detailed info.

Release 0.6.1 (2017-05-01)

  • Minor improvements in sources and documentation info.
  • Improvements in README instruccions.
  • API deployment changes:
    • 🔥 Deploy API documentation in local instead of TravisCI auto-generation.
    • 📝 Improve API deployment script.
  • 🆕 Interfaces:
    • IConvertibleToString.
    • IConvertibleToJson.

See changes since v0.6.0 for more detailed info.

Release 0.6.0 (2016-10-06)

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.

Release 0.5.1

  • Automatize API generation via Travis CI
  • Some improvements in documentation and instructions
  • Minor fixes in possible errors
  • Coding standards and other minor fixes

See detailed changelog.

Release 0.5.0