Release notes for PHP: Nelson Martell Library.
- 🆕 Documentation with VuePress (including API docs).
- 🆕 Compatible with PHP 7.3.
- 🆙 Improve Travis CI to auto-generate documentation.
- 🆙 Contributing instructions
See changes since v0.7.0 for more detailed info.
This release is mainly intended to provide PHP 7 compatibility:
- 🔥 Rename class
NelsonMartell\Extensions\String
toNelsonMartell\Extensions\Text
, but still available in PHP 5.6 as alias. - 🔥 Rename class
NelsonMartell\Object
toNelsonMartell\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.
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.
See changes since v0.6.1 for more detailed info.
- 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.
- 🔥 Removed dependencies copy. Now you must install dependencies manually if not using
composer
.
- 🐛 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 toget
/set
defaults).- 🆕 Interface:
ICustomPrefixedPropertiesContainer
. Enables the use of custom properties getter/setter's prefixes. - 🔥 Removed
PropertiesHandler::$getterPrefix
andPropertiesHandler::$setterPrefix
static attributes (functionality replaced byICustomPrefixedPropertiesContainer
methods). - 🆙 Methods of
PropertiesHandler
trait are nowprotected
(instead ofprivate
) and rewritten to work in astatic
context (instead of object context).
- 🆕 Interface:
- 🐛 Fixed possible errors in
Extensions\String::format
if placeholder values arestdClass
or warnings if value is not convertible to string (this is a weakness inusort
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 fromIComparable
to use onlycompare
method.Object
class already implementsIComparer
. - 🆙 Deprecate
IComparable::compare
method, to be replaced byIComparer::compare
. - 🆙
IComparable::compareTo
implementations are now able to returnnull
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 nextv0.7.0
orv0.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\
).
- 🆕 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.
- 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.