We are pleased to announce a new point release in the 0.6 branch. This is a maintenance and bug fix release addressing a number of bugs and issues in the docblock comments.
The bug fixes include the following main items:
utilityInputFilter now expressly sets the flag FILTER_FLAG_NO_ENCODE_QUOTES on filterString and filterStringArray as some versions of PHP 5.3 enable quote encoding by default - even when it is supposed to be disabled. This possibly started from 5.3.8 and this change ensures consistent behaviour across PHP versions.
systemDateTime and systemDateTimeZone had changes made to prevent performance degradation when being used within data access objects. It turns out that calls into the DateTime object are actually expensive (in terms of process execution, verified via profiling under ZendDebugger) and the timezone checking was particularly slow. The timezone check has now been removed entirely so invalid timezones will result in errors.
If dealing with many DateTime objects e.g. in DAOs for create/update dates or other dates within the same object, it is quicker to create one instance and then clone this and update the date/time via setters than instantiating new objects.
Several classes required fixes for better PHP 5.3 compatibility e.g. Text_Diff was calling a non-static method, statically that would cause errors if E_STRICT is enabled.
Please note that the Scorpio Framework has now been migrated to the new SourceForge platform and the SVN repo address has changed. Please update any checkouts / links and take note that access via a secure connection now requires an SF login, however straight http will work fine for read-only access. If using an svn:external to pull in just the libraries, this should now be set to:
Substitute the version number for your particular needs.
The full list of changes since 0.6.1 is listed below.
- Fixed bugs in docblock comments including missing @throws, @params, return types etc
- Fixed a number of spelling errors
- Changed error level on invalid request in mvcDistributor to be notice and not critical
- Changed locale handling so the default locale is now injected into mvcRequest
- Removed unneeded vars, methods, class properties
- Upgraded to FPDF 1.7 and added FPDF_Protected
- Fixed test cases
- Updated out-of-date test cases
- Updated docblocks
- Updated several classes with better PHP 5.3 compatibility
- Updated systemDateTime / systemDateTimeZone to address serious performance issues when using multiple instances
- Added reportDateRange for handling relative times
- Added method to set a date/time to systemDateTime
- Removed timezone checking from systemDateTimeZone (performance)
- Removed usage of if (false) to trigger code completion in libraries
- Removed cacheController from reportBase (was deprecated)
- Removed cli methods from utilityStringFunction (were deprecated)
- Removed assertType and assertIsA from testCaseScorpio
- PHPUnit 3.5+ is now required to run the testSuite
- Had to explicitly add no encode quotes to filterString as PHP 5.3.8 or higher seems to now default to encoding quotes