Revision history for Perl extension HTTP::BrowserDetect.
3.40 2023-10-19 16:23:54Z
- Remove Hash::Merge (GH#205) (Olaf Alders)
3.39 2023-09-08 13:07:26Z
- Match iOS by `iPod|iPhone|iPad` with word boundary (GH#203) (sakakibear)
3.38 2023-03-03 21:37:52Z
- Detect Yandex Browser (GH#201) (altblue)
- Detect some "Meta" apps (GH#199) (altblue)
- Detect Instagram (GH#200) (altblue)
3.37 2022-09-15 16:39:38Z
- Add Chromecast detection (GH#195) (Yasuharu Iida)
3.36 2022-08-31 22:36:10Z
- Detect Firefox for iOS (GH#194) (altblue)
3.35 2021-10-19 15:53:52Z
- Add Samsung as a detected browser (GH#192) (Olaf Alders)
3.34 2021-08-03 20:09:33Z
- Fix modern UCBrowser detection (GH#189) (konstantin-pustovalov-qs)
- Switch from Test::FailWarnings to Test::Warnings (GH#190) (Olaf Alders)
3.33 2021-07-21 14:38:49Z
- Yahoo iOS App as not a robot (GH#188) (Yasuharu Iida)
3.32 2021-07-20 21:13:13Z
- add headlesschrome as robot (GH#187) (Ilya Rassadin)
- Tidy imports (GH#184) (Olaf Alders)
3.31 2020-07-29 14:29:55Z
- Replace last use of "vars" with "our" (GH#182) (James Raspass)
3.30 2020-07-20 15:45:22Z
- Fix MS Edge browser_beta capturing (GH#181) (moti)
3.29 2020-07-14 15:36:33Z
- Fix MS Edge detections (GH#180) (moti)
3.28 2020-07-10 14:59:08Z
- Fix typo for 'wv' (GH#178) (Jon Jensen)
3.27 2020-04-15 16:18:20Z
- Improve detection for MS Edge (GH#177) (Zak B. Elep)
3.26 2020-03-16 21:54:21Z
- Fix Microsoft Edge detection (GH#176) (Mahdi Zarei)
3.25 2019-11-20 14:11:51Z
- Remove a near duplicate regex (GH#171) (Gregory Oschwald)
3.24 2019-10-31 17:48:35Z
- Bump JSON::PP to 4.04. Fixes #169 (GH#170) (Olaf Alders)
- Remove links to AnnoCPAN (GH#168) (Petr)
- Fixed pod error as reported by CPANTS. (GH#166) (Mohammad S Anwar)
- Fix bad syntax in SYNOPSIS (reported by John Blumel) (GH#163) (Olaf Alders)
3.23 2019-04-04 19:26:18Z
- Add BingPreview to bot checker (GH#162) (James Waters)
3.22 2019-03-07 15:11:01Z
- Add a u2f() method (GH#161) (Patrick Cronin and Olaf Alders)
- Don't warn on fake UA strings. (GH#160) (Olaf Alders)
3.21 2019-02-05 01:50:40Z
- Faster edge test (GH#158) (Marco Fontani)
3.20 2018-12-04 18:37:08Z
- Fix minor version warning (GH#152) (Olaf Alders)
- Fix a typo in the POD. (GH#149) (gregor herrmann)
3.19 2018-10-11 16:04:00Z
- Detect ltx71 bot (GH#147) (Olaf Alders)
- test for "ltx71" robot (GH#113) (Alexandr Ciornii)
- Stop clobbering useragent tests (GH#146) (Olaf Alders)
- Removed +x bit from package and test script. (GH#145) (Mohammad S Anwar)
- Fixed minor typo in the pod. (GH#144) (Mohammad S Anwar)
3.18 2018-10-10 15:01:41Z
- Define exceptions for ROBOT_FRAGMENTS (fix for #136) (GH#140) (Renee)
- Add another test for SeznamBot. UA string was provided in #131. (GH#142) (Renee)
- Fix (GH#119): add researchscan.comsys.rwth-aachen.de as a robot (GH#141) (Renee)
3.17 2018-10-03 02:02:53Z
- Fix of 'wv' is not language + the new webview property (GH#139) (Perlover)
- Patch for tests (GH#138) (Perlover)
3.16 2017-12-14 17:38:34Z
- Fixes detection for bots added in 3.15
- Adds all_robot_ids() method
3.15 2017-12-13 03:25:42Z
- Adds browserdetect.org to documentation
- Adds more bots to robot detection
- Adds robot_id(), which is currently in beta
3.14 2016-05-25 11:44:10 America/Toronto
- Slightly refactor the detection of several browsers that
identify as Mozilla initially (andrewmoise)
- Start detecting UCBrowser much more accurately (device, version,
and detect some cases which were misidentified as something else
previously) (andrewmoise)
- Detect more possibilities for Kindle Fire in Android model
("Kindle Fire in addition to "KF.*") (andrewmoise)
- Detect more possibilities for Kindle Fire, and try to set tests
appropriate to whatever the device is configured to be
(andrewmoise)
3.13 2016-05-09 11:10:44 America/Toronto
- Start detecting Brew OS (andrewmoise)
- Fix detecting Netfront as Netscape in some cases (andrewmoise)
- Start recognizing Teleca as an alias for Obigo (andrewmoise)
- Start detecting versions of Teleca / Obigo (andrewmoise)
- Note in documentation that 'wap' doesn't mean WAP only
(andrewmoise)
- Start detecting Polaris mobile browser (andrewmoise)
3.12 2016-05-05 08:59:46 America/Toronto
- Start detecting a few robots we weren't detecting before
('verify' or 'analyze' in the name, or +https: beginning
the URL) (andrewmoise)
- Stop including the version in robot_string() in some
cases (andrewmoise)
- Start returning undef instead of 0 for robot() if there's
no robot (andrewmoise)
- Fix _version() documentation for robot, os, and version not
to make formatting garbage in the output, and to be
consistent (andrewmoise)
3.11 2016-05-04 20:32:47 America/Toronto
- Add a test for Kindle Fire (andrewmoise)
3.10 2016-03-29 22:15:35 America/Toronto
- Big change: Add robot version detection, distinct from browser
version (first cut) (andrewmoise)
- Add browsers: Pubsub (Safari RSS reader), ADM (Android Download
Manager), ImageSearcherPro (iOS app) (andrewmoise)
- Add robots: Google favicon, malware/shellcode, phplib,
Verisign IPS agent, Nutch, thumbtack-thunderdome (andrewmoise)
- Distinguish Bingbot from MSNbot (andrewmoise)
- Only detect wget based on the beginning of the user-agent
(andrewmoise)
- Misc fixes to test support scripts (andrewmoise)
- Add Kindle Fire (andrewmoise)
- Detect curl by matching /^curl/ as well as /libcurl/
(andrewmoise)
- Remove webcrawler robot test (it triggers on too many distinct
robots which all include "webcrawler") (andrewmoise)
3.00 2016-02-29 22:57:45 America/Toronto
- Make "mobile" false when "tablet" is true. This is a breaking change and
has triggered a major version bump. (andrewmoise)
2.08 2016-01-29 21:56:29 America/Toronto
- Brave browser detection added (Nicolas Doye)
2.07 2015-11-18 23:52:07 America/Toronto
- Strip off anything Google Translate adds to UserAgent before parsing
(Marco Fontani)
2.06 2015-11-15 10:59:30 America/Toronto
- Detect more Edge versions (Marco Fontani)
2.05 2015-07-29 12:36:01 America/Toronto
- Add Microsoft Windowns 10/Windows Phone 10 Edge Browser (Atsushi Kato)
2.04 2015-06-24 23:26:28 America/Toronto
- Fix test failures on Perl 5.8
2.03 2015-06-19 09:59:45 America/Toronto
- Add win8_1 method (Daniel Stadie)
2.02 2015-06-17 18:18:17 America/Toronto
- Default to using an empty string if an undef UA is provided (ben hengst)
2.01 2015-04-24 23:05:13 America/Toronto
- Handle "CriOS" entries correctly (andrewmoise)
- Only detect java when no browser is detected, and make UCBrowser a
detected browser (andrewmoise)
- Detect "tablet" on Kindle Fire (and Chrome on Android tablets in general)
(andrewmoise)
- Distinguish Android tablets in device_string (andrewmoise)
- Handle CriOS, rubylib, golib, and Dalvik (andrewmoise)
- Detect "Mobilesafari/" as Mobile Safari (andrewmoise)
- Detect "Windows 2000" as Win2k (andrewmoise)
- Only detect NCR Unix on word boundary (andrewmoise)
- Try tighter detection of robot names based on fragments (andrewmoise)
- Fix java detection to be more strict (andrewmoise)
- Fix up Android tablet detection (andrewmoise)
- Add proper detection for old Windows versions in Opera (andrewmoise)
- Add apache http client detection (andrewmoise)
- Fix detection of SCO Unix to trigger fewer false positives (andrewmoise)
- Correct detection of (most) robots based on "+http://blah" (andrewmoise)
2.00 2015-03-30 21:46:25 America/Toronto
- Standardize interface:
browser ()
device X _string()
engine _version(), _major(), _minor(), _beta()
os
robot
(andrewmoise)
- Add Galeon, Seamonkey, and Epiphany as specifically detected
browsers (andrewmoise)
- Some internal changes that make things simpler and faster
(andrewmoise)
- Remove the $check argument (e.g. $ua->beta('.45') to check
whether the beta version is ".45") (andrewmoise)
- Update and reorganize documentation (andrewmoise)
- Breaking Change: remove deprecated user_agent($arg) usage.
This is the reason for the major version bump.
1.78 2015-03-17 22:43:27 America/Toronto
- Reorganize documentation (andrewmoise)
- Make java a robot with the other libs and tools (andrewmoise)
- Add a "lib" test to detect libs and tools (andrewmoise)
- Add AppleCoreMedia (andrewmoise)
- Make Blackberry stop setting Safari tests (andrewmoise)
- Make Android stop setting Linux tests (andrewmoise)
- Implement much more engine detection and engine version
detection (andrewmoise)
1.77 2015-03-08 12:06:17 America/Toronto
- Switch to using strings for version numbers (andrewmoise)
- Adds BrowseX and Silk detection (andrewmoise)
- Makes detection of Obigo more consistent (andrewmoise)
1.76 2015-03-03 22:56:25 America/Toronto
- Encourage use of public_* and engine_* over version(), major() and
minor().
- Speed optimizations (andrewmoise)
- Fix warnings on "Safari/12x.x (andrewmoise)
1.75 2014-08-27 17:55:01 America/Toronto
- Adds detection for Chrome OS (Douglas Christopher Wilson)
1.74 2014-08-27 10:32:16 America/Toronto
- Adds detection for Majestic-12 bot (Douglas Christopher Wilson)
1.73 2014-08-15 23:50:42 America/Toronto
- Adds minimum Perl version
- dzil tweaks to make CPANTS happier
1.72 2014-06-18 23:34:27 America/Toronto
- Remove File::Slurp from tests in favour of Path::Tiny
1.71 2014-05-19 22:38:52 America/Toronto
- Fixes warnings on "frakenagent" (Douglas Christopher Wilson)
1.70 2014-03-27 12:16:12 America/Toronto
- Add new UA tests & avoid false positive Sun match on Samsung (Jon Jensen)
1.69 2014-02-05 21:56:27 America/Toronto
- Adds detection for BlackBerry 10 devices (Douglas Christopher Wilson)
1.68 2014-01-26 23:05:14 America/Toronto
- Adds Yandex & Ahrefs bots (Perlover)
1.67 2014-01-22 16:18:36 America/Toronto
- Adds detection for tablet Firefox OS (Douglas Christopher Wilson)
1.66 2013-12-17 11:37:20 America/Toronto
- Adds detection for IE Compatibility View (Douglas Christopher Wilson)
1.65 2013-12-10 21:08:07 America/Toronto
- Adds os_version for FireFox in OS X (Hao Wu)
1.64 2013-11-25 10:10:23 America/Toronto
- Adds detection for Opera 15+ (Douglas Christopher Wilson)
1.63 2013-11-21 21:39:46 America/Toronto
- Adds detection for Internet Explorer 11 (Douglas Christopher Wilson)
- Adds detection for Windows 8.1 (Douglas Christopher Wilson)
1.62 2013-10-25 14:40:57 America/Toronto
- Returns explicit undef more consistently (David Ihnen)
1.61 2013-09-06 15:47:57 America/Toronto
- Reverts a commit that was causing a test to fail when a warning about
File::Slurp was detected
1.60 2013-08-29 23:02:13 America/Toronto
- Fixes bug where "Linux" rather than "Android" was returned as os_string
for Android devices.
1.59 2013-08-18 00:38:21 America/Toronto
- Revert 1.57's behaviour of returning a robot name in browser_string.
- Fix bug where OS X identied as just Mac in os_string.
- Add linkchecker, YandexImages and archive.org_bot bots.
- Add undocumented os_version() for OS X, winPhone, Android, iOS, Firefox
OS.
1.58 2013-08-16 23:37:23 America/Toronto
- Break up parsing into smaller chunks.
- Return better names for Googlebot News, Images and Video.
- Fix bug where Yahoo! Slurp reported as Firefox.
1.57 2013-08-16 01:21:35 America/Toronto
- Make internals a little less quirky.
- Stop returning explicit undef for browser_string and os_string. (Why
would you ever call these in list context?)
- Return name of robot for browser_string when browser is, in fact, a bot.
Previous behaviour was to return undef or something just really wrong.
1.56 2013-08-15 01:02:32 America/Toronto
- Adds experimental and undocumented robot_name method.
1.55 2013-07-22 23:06:40 America/Toronto
- Add all current Google robot user agents (Douglas Christopher Wilson)
1.54 2013-07-21
- Fix generic version parsing not to cross whitespace (Douglas Christopher
Wilson)
- Compare Safari build numbers by parts instead of floats (Douglas
Christopher Wilson)
- Removes Exporter
1.53 2013-07-19
- Detect IE on ARM as tablet (Douglas Christopher Wilson)
- Add BlackBerry PlayBook detection (Douglas Christopher Wilson)
- Split version parsing into two expressions (Douglas Christopher Wilson)
1.52 2013-05-03
- Fixes warning when MSIE does not have a minor version
- Simplifies MSIE version regex logic
- Removes a test for AskJeeves browser
1.51 2013-04-25
- Adds Android tablet detection (yeahoffline <frank.gasser@gmail.com>)
1.50 2013-03-01
- Adds Firefox OS detection (Douglas Christopher Wilson)
1.49 2013-02-27
- Fixes language/country detectio for Safari (Douglas Christopher Wilson)
1.48 2013-02-26
- Adds Obigo browser detection (Douglas Christopher Wilson)
1.47 2012-12-10
- Distinguishes version of Windows Phone (Douglas Christopher Wilson)
- Enables warnings and traps warnings in tests (Douglas Christopher Wilson)
1.46 2012-12-05
- Add Windows 8 detection (Douglas Christopher Wilson)
1.45 2012-12-02
- Removes Data::Dump from deps
- Supports Windows Phone 8.0 devices (Douglas Christopher Wilson)
- Fixes mistaken WAP detection for Nokia Windows Phones
- Fixes warnings on browser version when running under -w (Aran Deltac)
1.44 2012-05-03
- Fixes "sort (...) interpreted as function" introduced in 1.43, which was
causing tests to fail
1.43 2012-05-02
- Sorts keys when iterating for consistency across Perl implementations (Thom Blake)
1.42 2012-03-01
- Adds bot detection for askjeeves, baidu and googleadsbot (Bill Rhodes)
1.41 2012-01-19
- Exposes test categorization via our (Olivier Bilodeau)
1.40 2012-01-05
- Fixes false positive results for RealPlayer browser (John Oatis)
1.39 2011-12-01
- Adds logical groupings of test cases BrowserDetect.pm (Olivier Bilodeau)
- Fixes win-based device names (Olivier Bilodeau)
1.38 2011-11-30
- Ensures that all methods return undef where advertised (Ronald J. Kimball)
1.37 2011-11-29
- Adds nintendo mobile browsers (Nintendo DSi, Nintendo 3DS) (cho45)
- Adds kindle, dsi, n3ds to device and device_name methods
1.36 2011-11-07
- Tweaks detection of Yahoo robot (Atsushi Kato)
1.35 2011-11-02
- Fixes false positive for bot() with Puffin browser (Atsushi Kato)
1.34 2011-10-24
- Adds BlackBerry to the list of possible return values of browser_string()
(John Oatis)
1.33 2011-10-15
- Adds detections for the Trident engine (Douglas Christopher Wilson)
1.32 2011-10-12
- Fixes RealPlayer false positives (John Oatis)
1.31 2011-10-12
- Adds detection and device name for Windows Phone (Douglas Christopher Wilson)
1.30 2011-09-15
- Tweaks language regexes to reduce false positives
1.29 2011-09-01
- Adds ios method for ipod, ipad and iphone (os_string returns "iOS")
1.28 2011-08-31
- Adds ie9 and ie10 methods (Douglas Christopher Wilson)
1.27 2011-08-30
- Google and MSN mobile bots are now detected as mobile agents (Uwe Voelker)
1.26 2011-07-12
- Fixes Pod typo
1.25 2011-07-12
- Fix warnings about iceweasel test being defined twice (Paul Findlay)
- Adds Opera Tablet to mobile devices (Jacob Rask)
1.24 2011-05-13
- Removes dependency on Modern::Perl, which was accidentally introduced
(Yoshiki Kurihara)
1.23 2011-05-02
- Adds a browser_properties() call that exposes all the browser
"properties" (Olivier Bilodeau)
- Fixes issues where a Chrome string would return 1 to a ->nav45up check
(Olivier Bilodeau)
- Fixes issue where some WebKit/KHTML browsers returned 1 on ->gecko
(Olivier Bilodeau)
- Adds wince method (Windows CE) (Olivier Bilodeau)
- Now detects Java UserAgent as a robot (Graham Barr)
- Now detects Jakarta Commons-HttpClient as a Java client (Graham Barr)
- UserAgent tests moved from YAML to JSON
- Moves issue tracking to Github
- Dist now includes META.json rather than META.yaml
1.22 2011-03-10
- Adds Namoroka to list of Firefox browsers (Viacheslav Tykhanovskyi)
1.21 2010-12-23
- Test suite now uses YAML rather than YAML::Tiny as YAML::Tiny 1.46
refuses to load useragents.yaml
- Alphabetically re-ordered some of the documentation
1.20 2010-11-23
- Be a little more selective in marking ua as robot when contains search
or seek (Graham Barr)
- Add facebook crawler as a robot (Graham Barr) (Enrico Sorcinelli)
1.19 2010-09-24
- Added support for WebOS (Jesse Thompson) RT #61437
1.18 2010-09-06
- Added support for Netfront and Safari on Kindle
1.17 2010-08-28
- Added support for Mobile Safari, Links and Elinks (Jon Jensen)
- Added more UserAgents to test suite (Jon Jensen)
1.16 2010-08-19
- Added support for the < 3.0 Safari public versions (Jon Jensen)
- Added new UserAgents to useragents.yaml (Jon Jensen)
1.15 2010-08-18
- Re-releasing after some folders unintentionally included in build
1.14 2010-08-18
- Fixed uninitialized value warnings for Safari (Heiko Weber) RT #60440
1.13 2010-08-10
- Firefox Mobile (Fennec) is now detected as mobile RT #60186 (Jacob Rask)
- Double digit Opera version #s now detected correctly RT #50717, #59817
1.12 2010-08-01
- Added msn and msnmobile (Luke Saunders: f5c87a17b8fa2b09e294)
- Added googlemobile (Luke Saunders: ec28d49d7218b43788b9)
- SymbOS and Opera Mobi added to mobile detection RT #59817 (Jacob Rask)
- Distribution is now managed with Dist::Zilla
1.11 2010-06-03
- Added ps3 and psp (commit 85a619c9a977c0a8e403) (Alexey Surikov)
1.10 2010-05-05
- Google toolbar no longer triggers false positive for Googlebot (Jay
Rifkin)
1.09 2010-04-04
- Better language detection (commit
68025ca1a58afa1db9b4eeffe8c246d129825cc0) (Maroš Kollár)
1.08 2010-03-19
- Added ipad(), device() and device_name() methods
1.07 2010-02-10
- Added realplayer() and _realplayer_version() methods RT #52355 (Marc
Sebastian Pelzer)
- Added engine_string(), engine_version(), engine_major(), engine_minor()
methods
- Added Windows 7 detection (commit
73795d8189faded8b07717e55488f128eaa00752) (Alexey Surikov)
- Added public_version(), public_major() and public_minor() methods
1.06 2009-11-24
- Added missing file t/useragents.yaml to MANIFEST
1.05 2009-11-23
- Fixed RT #31847 (Mike Clarke) SCO/Unix false positives
1.04 2009-11-23
- Moved test config to a YAML file
- Added language() method
- Added iphone() method
- Added ipod() method
- Added android() method
- Fixed RT #12259 (guest) Netscape 6 version detection
- Fixed RT #52007 (Josh Ritter) Chrome browser false positives
- Added country() method
1.03 2009-10-24
- Added mobile() method with support for various handsets (Richard Noble)
- perltidied source
1.02 2009-10-21
- Fixed RT #48727 (Robin Smidsrod)
- Made "KHTML, like Gecko" not match gecko
- Properly detect Safari version >4.0
1.01 2009-10-20
- Switched to Module::Build from ExtUtils::MakeMaker
- Re-organized file structure
- Re-organized tests and expanded coverage to check major and minor
methods
- Manually added patch for Iceweasel from RT #41263 (merlynkline)
- Added test for RT #41541 and RT #41263 (merlynkline)
- curl added back to list of supported browsers RT #27878 (RT #Toni
Cebrián)
- Added test for RT #8547 (Steve Purkis)
- Added test for RT #30705 (david.hilton.p)
- Applied patch and added test for RT #7443
1.00 2009-10-19
- Applied patch from RT #47271 (Denis F. Latypoff), which adds support for
Chrome
- Have moved repository to GitHub
0.99 2007-02-22
- Modifications by Peter Walsham
- Added support for Windows Server 2003 and Windows Vista
0.98 2004-06-21
- Added more browsers including Mozilla, Firefox, Safari
- added Mac OS X, WinXP, Win2k detection
- added more test cases
0.962 2001-01-31
- changed how minor() method to return minor version as a floating point
- added additional browsers
- added additional 'up' methods
- added detection for mobile devices: wap, avantgo, audrey, etc.
- added netscape 6 detection and gecko
- added Windows ME detection
- updated url to javascript browser sniffer page
0.95 2000-08-04
- added additional browsers
0.94 2000-03-19
- changed copyright notice
- changed object's internal structure
- added Windows 2000 detection
- eliminated AUTOLOAD subroutine
0.92 2000-02-07
- fixed version numbering problem, would return '.' instead of undef if
useragent's version couldn't be found
- added more detection for AOL
0.9 1999-02-17
- original version; created by h2xs 1.18