ADD: device Parsing with brand model and case insensitive testing
Use peer_name instead of CN_match for PHP >=5.6
Advertise Gitter chat for support requests
Include uap-core as a git submodule
3.3.1
PSR-4 ready
Self repository, less useless files
3.3.0
Use composer for dependency management
Introduce namespaces
Removing legacy library dependencies
Use PHPUnit for testing
Make all tests pass, fix all the remaining bugs
Introduce specific result objects
Comply with PSR-X coding standards:
UAParser class is now UAParser\Parser
Typed result objects: Parser::parse() returns UAParser\Result\Client, Client::$os is a UAParser\Result\OperatingSystem and Client::$device is a UAParser\Result\Device
toString() and toVersion() are now methods
Properties now use camelCase, not underscore_case.
Use Travis for CI
Update README
Port command line tool to Symfony CLI
Secure updating: SSL certificate verification, hashing, try to do atomic updates
Restore fetching YAML file only (without generating JSON)
2.1.1
FIX: making sure patch minor is being populated correctly when showing a mismatch
2.1.0
ADD: support for custom regexes.json files (via @pravindahal)
FIX: formerly private vars/functions are now protected (via @pravindahal)
FIX: command line tool gets 'pretty' option for PHP 5.4 users (via @skyzyx)
FIX: refactored the regexes.yaml test suite
FIX: now check to see if allow_url_fopen is set to 'On' before trying to download the YAML file from the command line
FIX: renamed uaParser, osParser, & deviceParser to uaParse, osParse, & deviceParse to address a bug with uaParser being recognized as the contruct function for the overall lib
FIX: updated the test lib so that device failures are properly formatted
2.0.0
Summary:
the UAParser class is now dynamic
properties are nested (e.g. $result->family is now $result->ua->family)
a user agent string is now required when using parse(). the auto-magical "use the server provided UA" is no longer supported.
uaParse(), osParse(), and deviceParse() are public and can be used to just return those select bits for a given user agent string.
the is* boolean properties (e.g. isMobile) have been dropped. they now exist as part of the ua-classifier project.
ADD: toString() converts the version bits and family into a simple string
ADD: toVersionString() converts the version bits into a simple string
ADD: toFullString() combines the UA and OS family and version bits
ADD: "convert" flag for uaparser-cli.php
ADD: "pull & save just regexes.yaml" flag for uaparser-cli.php
FIX: library is now a dynamic class
FIX: attributes are now nested & populated like the other ua-parser libraries (e.g. $result->family is now $result->ua->family)
FIX: uaParser(), osParser(), and deviceParser() are now public functions
FIX: saves regexes.yaml as JSON for better performance
FIX: removed the DIR "fix"
FIX: Apache log parsing now returns results when UA or OS families are set to "Other" and the device is listed as a smartphone or generic feature phone
FIX: all tabs are now spaces
FIX: a UA is now run against all three parsers
FIX: renamed $debug var to $log to better reflect what it does
DEL: is* boolean attributes (e.g. isMobile) have been removed
DEL: will no longer auto-parse $_SERVER['HTTP_USER_AGENT'] if available
DEL: tests no longer run against pgts_browser_list.yaml
THX: thanks to @rjd22 for the dynamic class code/fix
1.5.0
ADD: command line interface is now in its own file (via @Synchro)
ADD: command line utility now supports parsing an Apache log file & recording the results
ADD: command line utility can now parse a supplied user-agent string and push out a simple list or JSON
ADD: test suite that uses the ua-parser project's test resources