dates are in dd-mm-yyyy format
- Add macOS
mojave
label - Add generic
android_*
labels for android versionsp
throughz
.
- Loosened some Android label version ranges
Browserino::Version
can now also parse floats float1.1
equals major version 1, minor version 1, patch level 0
- Added support for
high_sierra
- Fixed a bug which caused arguments in the form of
version: v
to return true by default - Added 174 additional clients
- Added some global properties
smarttv?
andtablet?
in addition tomobile?
- Added device detection using
device? :namOfDevice
- Added
not
method that allows callingclient.not.firefox?
. It simply inverts the original result - Added
not?
method which is the opposite ofis?
- Added
:mediaplayer
type
- Changed some internal naming
- Added ~200 additional browsers / bots
- Added list of browsers / bots and platforms to the documentation
- Complete rewrite
- Complete documentation rewrite
- Added support for SamsungBrowser
- Added
samsungbrowser?
method - Added support for
:samsungbrowser
(Symbol
andString
) in methods
- Added
- Added support for Tizen
- Added
tizen?
method - Added support for
:tizen
(Symbol
andString
) in methods
- Added
- Added support for WebOS
- Added
webos?
method - Added support for
:webos
(Symbol
andString
) in methods
- Added
- Added support for WebOSBrowser
- Added
webosbrowser?
method - Added support for
:webosbrowser
(Symbol
andString
) in methods
- Added
- Added Android Nougat (7.0 and 7.1) detection
- merged OS map files into /core/mappings.rb and removed the lib/maps folder
- Reduced amount of (overkill) tests
- Add
:macos
alias for:macintosh
systems. - Added support for MacOS
:sierra
alias in methods. - Added deprecation notice for dropping support of Ruby < 2.0.0
- Test on ruby 2.3.1
- Fix missing questionmarks on method names in the README.
- Change gem homepage to io domain
- Replaced
require
withrequire_relative
where possible - Fixed cli not loading due to failing
require
-
Added support for the servo browser:
- Added
servo?
method
- Added
-
Added detection for various programming languages:
- Added
library?
method - Added
php?
method - Added
perl?
method - Added
python?
method - Added
java?
method - Added
curl?
method - Added
pycurl?
method
- Added
- Stricter checking for:
social_media?
bot?
browser?
platform?
These methods used to be callable with unrelated symbols
(e.g agent.platform?(:firefox) # => true
), they will now correctly return false.
- Added support for consoles
- Added
console?
method - Added
wii?
,playstation?
,xbox?
andnintendo_ds?
methods
- Added general
name
method to store any browser / bot / search engine / social media agent social_media_name
,search_engine_name
andbot_name
are now aliasses ofname
- removed
:bot_name
from data structure (now stored in a generalname
property) - removed
:browser_name
from data structure (now stored in a generalname
property) - Added
console_name
method to get the name of a console
- Removed Guard gem dependency
- Added
search_engine?
method - Added
holmes?
method - Added
ask?
method - Added
duckduckgo?
and aliasddg?
methods - Fixed
respond_to?
method signature - Added executable for parsing useragents in terminal
- Added
solaris?
method
- Fixed
to_a
method - Fixed
to_s
method - Removed bot suffixes from every bot name
- Replaced
googlebot?
withgoogle?
- Replaced
msnbot?
withmsn?
- Replaced
bingbot?
withbing?
- Replaced
yandexbot?
withyandex?
- Replaced
exabot?
withexa?
- Replaced
- Added
platform?
method - Added
browser?
method - Added
social_media?
method - Added
facebook?
andfb?
methods - Added
twitter?
method - Added
linkedin?
method - Added
instagram?
method - Added
pinterest?
method - Added
tumblr?
method - Added support for the Brave browser and the
brave?
method - Added
ff?
method
- formatted / refactored code with rubocop
- iOS
system_name full: true
returns the version no. of iOS if found
- Minor refactoring of code
- DEPRECATE Custom return values (passed through
Browserino.parse
) will no longer alter the output of the agent object - Added support for windows phone detection
- Added
windows_phone?
method
- Patched blackberry mapping, this used to be done by model number instead but is now corrected
- Added support for the Vivaldi browser
- New method
#vivaldi?
- Added support for the bsd family of operating systems
- New method
#bsd?
- Fixed using symbols for system version identification (e.g.
:vista
or:el_capitan
) without a version number
- Caching the agent object in Rails
- DEPRECATE Using a custom return value for when a property isn't found
- Added rails integration
- Added
#compat?
method to test if IE is in compatibility mode - Extended
#browser_version
to now also take an argument - Added
#locale
method - Empty UA's are identified as bots through
#bot?
- Added more bots
#bot?
method can now take a bot name as argument to check for an exact bot
- Small restructuring of test suite
- Added bot detection
- Added
#bot?
method - Added dynamic method support for bots
- Added support for the seamonkey browser
- IMPORTANT Changed behaviour of all dynamic methods to include version as an argument rather than in the method name.
- IMPORTANT Changed the behaviour of version checking to be more strict
- Changed tests to reflect new behaviour
- Added convenience methods
#win?
,#osx?
and#bb?
- Added more tests
- Added more browsers to check: (bolt, opera mini and ucbrowser)
- Added
#known?
method to check if the agent is known - Added a
#ua
method to return the User Agent string as given toBrowserino.parse()
- Added
#x64?
and#x32?
convenience methods to check system architecture - Added
#mobile?
to check wether or not a user agent is mobile - Moved older changelogs to its own CHANGELOG.md file
- Changed
#to_s
to add dashes (-
) between browser names if they have a space #to_s
now has an optional (sep = ''
) parameter that allows info and version numbers to be seperated
- Added blackberry support
- Added tests for blackberry user agent strings
- Added user agents
- Patterns could falsely identify a 64bit system, made the pattern more strict
- using
X11
in a user agent as a synonym to a#linux?
system
- Removed print statements from method
- Builds are now executed for Ruby 1.9.3 as well as 2.2.1
- Fixed
respond_to?
method which would first return inverted results (e.g. false when it should be true)
- Implemented to_s to return a concatenated string of property values
- Implemented to_a to return an array with arrays containing property name-value pairs
- Implemented to_h to return a hash containing property name-value pairs
- Removed unused code
- Added not method to invert questions about browser / system
- Added random test cases to verify that all inverted answers are correct
- Added Edge detection
- For supported browsers, it is now possible to check name and version through
method_missing?
- Opera tests didn't run before
- For supported systems, it is possible to check OS and version through
method_missing?
- User definable 'unknown' return value