QA Release
* Fixed Bug #17800 fixed typo in check
[*] add type field to meta data
[*] parse file creation date as timestamp
[-] DTA parsing: simple check of transaction types in field C7
( [+] Added [-] Fixed [*] Improved [!] Note )
Major Bugfix release.
Apart from a major cleanout of the bug tracker for this package, this release includes a revamped
parseHeaderValue which removes the rather flakey regex, with a real parser, which should be considerably more
robust.
Bug Fixes
#17844 - all regression tests fixed - remove the last of the while list each() .. this is 2010 ;)...
#11410 - support wap multipart
#9616 - long strings as filename etc.. aaa*0=.... aaa*1=.... aaa*2=.... (merged into aaa=.....)
#9100 - change to preg_split for mime boundary detection , in theory should catch boundaries in nested situations better...
#7709 - check for last element on boundary split to see if its usable
#7065 - wrapped header lines with encoding should be concated without spaces
#6495 - missing body in decoded object
#11537 - better decode and multi-line support
- Added exclude pattern support to ruleset.xml file so you can specify ignore patterns in a standard (request #17683)
-- Use new exclude-pattern tags to include the ignore rules into your ruleset.xml file
-- See CodeSniffer/Standards/PHPCS/ruleset.xml for an example
- Added new --encoding command line argument to specify the encoding of the files being checked
-- When set to utf-8, stops the XML-based reports from double-encoding
-- When set to something else, helps the XML-based reports encode to utf-8
-- Default value is iso-8859-1 but can be changed with --config-set encoding [value]
- The report is no longer printed to screen when using the --report-file command line option (request #17467)
-- If you want to print it to screen as well, use the -v command line argument
- The SVN and GIT blame reports now also show percentage of reported errors per author (request #17606)
-- Thanks to Ben Selby for the patch
- Updated the SVN pre-commit hook to work with the new severity levels feature
- Generic SubversionPropertiesSniff now allows properties to have NULL values (request #17682)
-- A null value indicates that the property should exist but the value should not be checked
- Generic UpperCaseConstantName Sniff now longer complains about the PHPUnit_MAIN_METHOD constant (request #17798)
- Squiz FileComment sniff now checks JS files as well as PHP files
- Squiz FunctionCommentSniff now supports namespaces in type hints
- Fixed a problem in Squiz OutputBufferingIndentSniff where block comments were reported as not indented
- Fixed bug #17092 : Problems with utf8_encode and htmlspecialchars with non-ascii chars
-- Use the new --encoding=utf-8 command line argument if your files are utf-8 encoded
- Fixed bug #17629 : PHP_CodeSniffer_Tokens::$booleanOperators missing T_LOGICAL_XOR
-- Thanks to Matthew Turland for the patch
- Fixed bug #17699 : Fatal error generating code coverage with PHPUnit 5.3.0RC1
- Fixed bug #17718 : Namespace 'use' statement: used global class name is recognized as constant
- Fixed bug #17734 : Generic SubversionPropertiesSniff complains on non SVN files
- Fixed bug #17742 : EmbeddedPhpSniff reacts negatively to file without closing php tag
- Fixed bug #17823 : Notice: Please no longer include PHPUnit/Framework.php
Minor Bugfix release.
Bug Fixes
#4739 - regexp parsing of header values does not balance quoting correctly
- Fix sponsored by http://webyog.com
#17325 - empty body messages are valid messages
#17276 - remove &new usage which throws errors now
- fixed bug #16275: split() is deprecated in PHP 5.3
note:
open todo items:
- fix pattern escaping using GLOB instead of LIKE or create and register own implementation of LIKE
- fixed bug #16281: getTableFieldDefinition() does not recognize NULL defaults
with datatype [Holger Schletz]
- fixed bug #16384: alterTable() does not remove NOT NULL constraints [Holger Schletz]
- fixed bug #16405: Compatibility issues with escaped strings [hschletz]
open todo items:
- enable pg_execute() once issues with bytea column are resolved
- use pg_result_error_field() to handle localized error messages (Request #7059)
- add option to use unnamed prepared statements
(see http://www.postgresql.org/docs/current/static/protocol-flow.html "Extended Query")
note:
- please use the latest ext/oci8 version from pecl.php.net/oci8
(binaries are available from snaps.php.net and pecl4win.php.net)
- by default this driver emulates the database concept other RDBMS have by
using the "database" option instead of "username" in the DSN as the username name.
This behaviour can be disabled by setting the "emulate_database" option to false.
- the multi_query test failes because this is not supported by ext/oci8
- the null LOB test failes because this is not supported by Oracle
open todo items:
- enable use of read() for LOBs to read a LOB in chunks
- buffer LOBs when doing buffered queries
- fixed bug #16003: incorrect check for error after mysqli_store_result
- fixed bug #16147: first prepared statement is emulated when using factory with mysql
- fixed bug #17037: 'on update' not mentioned in tableInfo()
- fixed bug #17065: There is no NEW row in on DELETE trigger (fix error in FK constraint triggers)
- fixed bug #17650: lastInsertId can not handle bigint, forces cast to integer [alexpw]
- return ON UPDATE|DELETE action in getTableConstraintDefinition()
- result->free() now works on multiple result sets
open todo items:
- use a trigger to emulate setting default now()
- fixed bug #15650: mysqli function used in setCharset()
- fixed bug #16003: incorrect check for error after mysql_store_result
- fixed bug #16147: first prepared statement is emulated when using factory with mysql
- fixed bug #16669: hostspec is ignored when protocol is unix
- fixed bug #17037: 'on update' not mentioned in tableInfo()
- fixed bug #17065: There is no NEW row in on DELETE trigger (fix error in FK constraint triggers)
- fixed bug #17650: lastInsertId can not handle bigint, forces cast to integer [alexpw]
- return ON UPDATE|DELETE action in getTableConstraintDefinition()
note:
- the multi_query test failes because this is not supported by ext/mysql
open todo items:
- use a trigger to emulate setting default now()
- Fixed bug #16612: Added the timestamp database attribute [genericbob]
- fixed bug #16118: escape doesn't take into account trailing backslashes [urkle]
- request #16903: Add ability to use ODBTP extension [hedroom]
- fixed numRows() with setLimit()
open todo items:
- explore fast limit/offset emulation (Request #4544)
- fixed regression in lastInserID()
- fixed bug #15971: typo in standaloneQuery() [elpaso]
- fixed bug #16350: typo in setTransactionIsolation() [nilya]
- fixed bug #16741: Manager::listTableIndexes and listTableContraints should check NULL or 0 [nilya]
- fixed bug #17676: use connection resource when fetching LOBs [renskiy]
- fixed bug #15912: MDB2::loadClass can return MDB2_OK without loading class
- fixed bug #16020: unable to set params via dsn string in parseDSN()
- fixed bug #16508: reusing var name + return by ref [rix0r]
- fixed bug #16727: quote(url, 'clob')) fetches URL even if lob_allow_url_include option is false
- fixed unreported bug in parseDSN() and oracle's Easy Connect syntax
- fixed bug #16973 and #17039: Wrong _skipDelimitedStrings behavior with escaped quotes
- fixed bug #16994: incompatible declaration of setTransactionIsolation() in some drivers
- dropped PHP 4 support
- PHP 5.3 compatibility fixes
- performance tweaks (reduced number of internal function calls)
- added new sqlsrv driver (native SQL Server driver) [Chris Pucci, Mike Ketcham]
- added new ODBC experimental driver [pschellhaas]
- Switched test suite to PHPUnit 3.5
open todo items:
- handle autoincrement fields in alterTable()
- add length handling to LOB reverse engineering
- add EXPLAIN abstraction
- add cursor support along the lines of PDO (Request #3660 etc.)
- add PDO based drivers, especially a driver to support SQLite 3 (Request #6907)
- add support to export/import in CSV format
- add more functions to the Function module (MD5(), IFNULL(), etc.)
- add support for database/table/row LOCKs
- add support for CHECK (ENUM as possible mysql fallback) constraints
- generate STATUS file from test suite results and allow users to submit test results
- add support for full text index creation and querying
- add tests to check if the RDBMS specific handling with portability options
disabled behaves as expected
- handle implicit commits (like for DDL) in any affected driver (mysql, sqlite..)
- add a getTableFieldsDefinitions() method to be used in tableInfo()
- drop ILIKE from matchPattern() and instead add a second parameter to
handle case sensitivity with arbitrary operators
- handle LOBs in buffered result sets (Request #8793)
- Use PHP5-specific static method notation to avoid strict warnings. (Bug: 17509)
- Fixing some potential undefined backtrace references. (Bug: 17738)
- Adding `lineFormat` and `timeFormat` configuration variables to the syslog handler. (Request: 17753)
* Fixed #17829 - redirect loop was happening when X-XRDS-Location was present with the document itself
* Removed dependency on PEAR_Exception
* Updated to the version in MediaWiki trunk r71623
* Fixed bug in theora length calculation (was always zero)
* Updated to handle oggz_chop files
* Provide access to stream offset time
* Optimised memory usage, should now be able to process arbitrarily large files
* Added schema handling methods to make schema checks more easily accessible
* Bugfix for #17245. The check in the code was not working properly. Schema checking is considered the users responsibility.
If now an attribute is requested that is not set at the entry, an empty string is returned.
* Bugfix for #17770. Some Net_LDAP2 files were included with relative path ("Util.php"), not absolute ("Net/LDAP2/Util.php").
* Bugfix for #17314. LDIF support for attributes with modifiers ("attr1;binary").