Skip to content
This repository has been archived by the owner on Mar 10, 2023. It is now read-only.

Commit

Permalink
Merge branch 'trunk'
Browse files Browse the repository at this point in the history
  • Loading branch information
Harald Walker committed Aug 2, 2015
2 parents 76a8ed8 + 67656be commit 6b95fa7
Show file tree
Hide file tree
Showing 47 changed files with 713 additions and 413 deletions.
64 changes: 63 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,68 @@
bin/
target/
.project
.classpath
.settings
.DS_Store


### JetBrains template
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml

# Gradle:
# .idea/gradle.xml
# .idea/libraries

# Mongo Explorer plugin:
# .idea/mongoSettings.xml

## File-based project format:
*.ipr
*.iws

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties


### Maven template
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties


57 changes: 43 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,16 @@ https://github.com/HaraldWalker/user-agent-utils/tree/master
Support me and buy me a beer:
<a href="http://flattr.com/thing/1968218/HaraldWalkeruser-agent-utils-on-GitHub" target="_blank"><img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>

New in Version 1.16
Advice
------
A lot of user-agents lie about their identify. That makes US sniffing a guessing game. On websites it is a better approach to detect features using a javascript library like Modernizr (http://modernizr.com/).

New in Version 1.17
-------------------
- iOS 8.2, 8.3, 8.4 and 9 added
- Chrome updated with latest versions
- Firefox updated with latest versions
- Updated Opera browser detection
- Xbox OS and Internet Explorer for Xbox added
- Improved CFNETWORK browser detection
- Added Vivaldi browser
- Improved Windows 10 detection
- Improved bot detection
- Added Android 5 tablet detection
- Performance improvements
- Added Ubuntu and Ubuntu Touch (mobile) detection
- Added Windows 10 mobile detection
- Added Microsoft Edge browser detection (contributed by https://github.com/nmaves)
- Added future Firefox versions up to 42.

Javadoc
-------
Expand All @@ -37,7 +34,7 @@ Add dependency:
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.16</version>
<version>1.17</version>
</dependency>
```

Expand All @@ -46,17 +43,49 @@ Add dependency for snapshot releases:
<dependency>
<groupId>eu.bitwalker</groupId>
<artifactId>UserAgentUtils</artifactId>
<version>1.17-SNAPSHOT</version>
<version>1.18-SNAPSHOT</version>
</dependency>
```

Contributors
------------
* Please use the `trunk` branch on GitHub when making a pull request
* This project is in maintenance mode. We will try to stay up to date and fix bugs but do not expect any big new features or changes.
* If you want big changes feel free to fork this project and start your own version.

FAQ
---

_Can I add new browsers or operating systems?_
Unfortunately not directly. This library uses enums to represent browsers and operating systems to make using it easy and readable. Unfortunately the use of enums also has some disadvantages. You can make a pull request on trunk for a new browser or operating system if all tests are still passing. The purpose of this library is not to detect every possible version, so you’ll have to provide the business value for a change.

_Where can I report bugs or make feature requests_
Go to https://github.com/HaraldWalker/user-agent-utils/issues

_How can I improve the performance of the user-agent parsing?_
When handling requests on a web-server, consider if you need both the browser and operating system or if one of the two gives you enough information. As the parsing uses an ordered tree structure, performance depends a lot on the type of clients making the requests. The most common browsers and operating systems will be parsed faster than exotic ones. Consider caching the results temporarily.

_Are there other libraries like this?_
When I started this project in 2010 there were no other libraries offering the features I was looking for. Currently there are both open source as well as commercial solutions.


Changelog
---------

1.16
----
- iOS 8.2, 8.3, 8.4 and 9 added
- Chrome updated with latest versions
- Firefox updated with latest versions
- Updated Opera browser detection
- Xbox OS and Internet Explorer for Xbox added
- Improved CFNETWORK browser detection
- Added Vivaldi browser
- Improved Windows 10 detection
- Improved bot detection
- Added Android 5 tablet detection
- Performance improvements

1.15
----
- Safari 7 and 8 added
Expand Down
7 changes: 4 additions & 3 deletions javadoc/allclasses-frame.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Mon Jun 15 20:46:01 CEST 2015 -->
<title>All Classes</title>
<meta name="date" content="2015-06-15">
<!-- Generated by javadoc (version 1.7.0_67) on Sun Aug 02 17:08:24 CEST 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>All Classes (User-Agent-Utils 1.17 API)</title>
<meta name="date" content="2015-08-02">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
Expand Down
7 changes: 4 additions & 3 deletions javadoc/allclasses-noframe.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Mon Jun 15 20:46:01 CEST 2015 -->
<title>All Classes</title>
<meta name="date" content="2015-06-15">
<!-- Generated by javadoc (version 1.7.0_67) on Sun Aug 02 17:08:24 CEST 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>All Classes (User-Agent-Utils 1.17 API)</title>
<meta name="date" content="2015-08-02">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
Expand Down
9 changes: 5 additions & 4 deletions javadoc/constant-values.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Mon Jun 15 20:46:01 CEST 2015 -->
<title>Constant Field Values</title>
<meta name="date" content="2015-06-15">
<!-- Generated by javadoc (version 1.7.0_67) on Sun Aug 02 17:08:24 CEST 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Constant Field Values (User-Agent-Utils 1.17 API)</title>
<meta name="date" content="2015-08-02">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Constant Field Values";
parent.document.title="Constant Field Values (User-Agent-Utils 1.17 API)";
}
//-->
</script>
Expand Down
9 changes: 5 additions & 4 deletions javadoc/deprecated-list.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Mon Jun 15 20:46:01 CEST 2015 -->
<title>Deprecated List</title>
<meta name="date" content="2015-06-15">
<!-- Generated by javadoc (version 1.7.0_67) on Sun Aug 02 17:08:24 CEST 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Deprecated List (User-Agent-Utils 1.17 API)</title>
<meta name="date" content="2015-08-02">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Deprecated List";
parent.document.title="Deprecated List (User-Agent-Utils 1.17 API)";
}
//-->
</script>
Expand Down
9 changes: 5 additions & 4 deletions javadoc/eu/bitwalker/useragentutils/Application.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Mon Jun 15 20:46:01 CEST 2015 -->
<title>Application</title>
<meta name="date" content="2015-06-15">
<!-- Generated by javadoc (version 1.7.0_67) on Sun Aug 02 17:08:23 CEST 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Application (User-Agent-Utils 1.17 API)</title>
<meta name="date" content="2015-08-02">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Application";
parent.document.title="Application (User-Agent-Utils 1.17 API)";
}
//-->
</script>
Expand Down
9 changes: 5 additions & 4 deletions javadoc/eu/bitwalker/useragentutils/ApplicationType.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_67) on Mon Jun 15 20:46:01 CEST 2015 -->
<title>ApplicationType</title>
<meta name="date" content="2015-06-15">
<!-- Generated by javadoc (version 1.7.0_67) on Sun Aug 02 17:08:24 CEST 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>ApplicationType (User-Agent-Utils 1.17 API)</title>
<meta name="date" content="2015-08-02">
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ApplicationType";
parent.document.title="ApplicationType (User-Agent-Utils 1.17 API)";
}
//-->
</script>
Expand Down
Loading

0 comments on commit 6b95fa7

Please sign in to comment.