Skip to content

Commit

Permalink
Update version to 2.0.0-rc.3
Browse files Browse the repository at this point in the history
  • Loading branch information
faisalman committed Nov 13, 2024
1 parent 84c4613 commit ee51caf
Show file tree
Hide file tree
Showing 17 changed files with 208 additions and 119 deletions.
39 changes: 25 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# UAParser.js Changelog

# Version 2.0
## Migrating from v1 to v2

- What's breaking:
Expand All @@ -8,28 +9,38 @@
- OS detection: `"Mac OS" => "macOS"`, `"Chromium OS" => "Chrome OS"`
- What's new:
- New device type: `xr`, to identify AR/VR devices
- New browser property: `browser.type`, to identify the type of the browser: `crawler`, `cli`, `email`, `fetcher`, `inapp`, `mediaplayer`, `module`
- New browser property: `browser.type`, to identify the type of the browser: `crawler`, `cli`, `email`, `fetcher`, `inapp`, `library`, `mediaplayer`
- New methods in result object (all of `get*()` return value):
- Support for client hints: `withClientHints()`
- Support for feature detection: `withFeatureCheck()`
- Enhance detection using client hints: `withClientHints()`
- Enhance detection using feature check: `withFeatureCheck()`
- Utility for easy comparison: `is()`
- Utility to print full-name: `toString()`
- Parse directly from command line using `npx ua-parser-js`
- Parse user-agent directly from command line using `npx ua-parser-js "[User-Agent]"`
- Extensions can be passed as a list to `UAParser()`
- Support for ES module & TypeScript `import { UAParser } from 'ua-parser-js'`
- Provided Enums submodule `'ua-parser-js/enums'`
- Provided Extensions submodule `'ua-parser-js/extensions'`
- Provided Helpers submodule `'ua-parser-js/helpers'`:
- `getDeviceVendor()` to guess for a device vendor based on its model name
- `isAppleSilicon()` to check if the device has Apple Silicon Mac device properties
- `isBot()` to check if the browser is identified as a bot
- `isChromeFamily()` to check if the browser is Chrome-based / has Blink engine (i.e: New Opera, New Edge, Vivaldi, Brave, Arc, etc.)
- `isElectron()` to check if current window is running inside Electron
- `isFromEU()` to check if current window is from an EU (European Union) country
- `isFrozenUA()` to check if a user-agent string match with the reduced/frozen user-agent pattern
- `isStandalonePWA()` to check if current window is a standalone PWA
- `getDeviceVendor()`: guess for a device vendor based on its model name
- `isAppleSilicon()`: check if the device has Apple Silicon Mac device properties
- `isBot()`: check if the browser is identified as a bot
- `isChromeFamily()`: check if the browser is Chrome-based (has Blink engine, i.e: New Opera, New Edge, Vivaldi, Brave, Arc, etc.)
- `isElectron()`: check if current window is running inside Electron
- `isFromEU()`: check if current window is from an EU (European Union) country
- `isFrozenUA()`: check if a user-agent string match with the reduced/frozen user-agent pattern
- `isStandalonePWA()`: check if current window is a standalone PWA

---

--
## Version 2.0.0-rc.3

- Add support for Headers object
- Add new device: Advan, Cat, Energizer, Honor, IMO, Micromax, Smartfren
- Add new engine: Servo
- `ua-parser-js/extensions` submodule:
- Breaking change: rename `module` to `library`
- Add new email clients: Evolution, KMail, Kontact
- Add new bots: 360Spider, Archive.org Bots, CCBot, DataForSeoBot, DuckAssistBot, Exabot, Google Bots, Meta Bots, MojeekBot, PerplexityBot, PetalBot, TurnitinBot, Yeti, YisouSpider

## Version 2.0.0-rc.2

Expand Down Expand Up @@ -59,7 +70,7 @@
- Rename `isChromiumBased()` to `isChromeFamily()`
- Update `isAppleSilicon()` to also checks for WebGL renderer info
- `ua-parser-js/extensions` submodule:
- Restore `bots` as a compilation of all these browser types: `clis`, `crawlers`, `fetchers`, and `modules`
- Restore `Bots` as a compilation of all these browser types: `cli`, `crawler`, `fetcher`, and `library`

## Version 2.0.0-beta.3

Expand Down
62 changes: 35 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,71 +44,79 @@ see what's new & breaking.
<tbody>
<tr>
<td>License options</td>
<td>MIT (v1.x)</td>
<td>AGPL (v2.x)</td>
<td>MIT (v0.7~v1.0)</td>
<td>AGPL (&gt;=v2.0)</td>
<td>PRO Personal</td>
<td>PRO Business</td>
<td>PRO Enterprise</td>
</tr>
<tr>
<td>Browser detection</td>
<td><strong title="Basic detection">⚠️</strong></td>
<td><a href="#demo" title="Basic detection">⚠️</a></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>CPU detection</td>
<td><strong title="Basic detection">⚠️</strong></td>
<td><a href="#demo" title="Basic detection">⚠️</a></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Device detection</td>
<td><strong title="Basic detection">⚠️</strong></td>
<td><a href="#demo" title="Basic detection">⚠️</a></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Engine detection</td>
<td><strong title="Basic detection">⚠️</strong></td>
<td><a href="#demo" title="Basic detection">⚠️</a></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>OS detection</td>
<td><strong title="Basic detection">⚠️</strong></td>
<td><a href="#demo" title="Basic detection">⚠️</a></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Enhanced detection</td>
<td>⛔️</td>
<td>Bot detection</td>
<td></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Client Hints support</td>
<td>⛔️</td>
<td>Extras (Apps, Libs, Emails, Media Players, etc)</td>
<td>❌</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Enhanced detection result</td>
<td>❌</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Extras (Apps, Bots, Libs, Emails, Media Players, etc)</td>
<td>⛔️</td>
<td>Client Hints support</td>
<td></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
Expand All @@ -124,40 +132,40 @@ see what's new & breaking.
</tr>
<tr>
<td>ES modules support</td>
<td>⛔️</td>
<td></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>npm module available</td>
<td>npm module</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>TypeScript declarations available</td>
<td><strong title="Community version">⚠️</strong></td>
<td>TypeScript declarations</td>
<td><a href="#demo" title="Community version">⚠️</a></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Allowed for commercial use</td>
<td>Allows commercial use</td>
<td>✅</td>
<td>✅</td>
<td>⛔️</td>
<td></td>
<td>✅</td>
<td>✅</td>
</tr>
<tr>
<td>Permissive (non-copyleft) license</td>
<td>✅</td>
<td><strong title="Copyleft license">⛔️</strong></td>
<td><strong title="Copyleft license"></strong></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
Expand All @@ -167,13 +175,13 @@ see what's new & breaking.
<td>✅</td>
<td>✅</td>
<td>✅</td>
<td><strong title="1 project per 1 license">⛔️</strong></td>
<td><strong title="1 project per 1 license"></strong></td>
<td>✅</td>
</tr>
<tr>
<td>1-year support</td>
<td>⛔️</td>
<td>⛔️</td>
<td>1-year product support</td>
<td></td>
<td></td>
<td>✅</td>
<td>✅</td>
<td>✅</td>
Expand All @@ -192,13 +200,13 @@ see what's new & breaking.
<td><strong title="Pay as you want">FREE (<a target="_blank" href="https://raw.githubusercontent.com/faisalman/ua-parser-js/master/LICENSE.md">License</a>)</strong></td>
<td><strong title="$14 (one-time fee)">$14 (<a target="_blank" href="https://raw.githubusercontent.com/faisalman/ua-parser-js/pro-personal/LICENSE.md">License</a>)</strong></td>
<td><strong title="$29 (one-time fee)">$29 (<a target="_blank" href="https://raw.githubusercontent.com/faisalman/ua-parser-js/pro-business/LICENSE.md">License</a>)</strong></td>
<td><strong title="$588 (one-time fee)">$588 (<a target="_blank" href="https://raw.githubusercontent.com/faisalman/ua-parser-js/pro-enterprise/LICENSE.md">License</a>)</strong></td>
<td><strong title="$599 (one-time fee)">$599 (<a target="_blank" href="https://raw.githubusercontent.com/faisalman/ua-parser-js/pro-enterprise/LICENSE.md">License</a>)</strong></td>
</tr>
</tbody>
<tfoot>
<tr>
<th align="right" colspan="6">
<a target="_blank" href="https://store.faisalman.com/checkout/buy/e236ea87-9b2b-400e-9683-24367f731b35"> GET THE PRO PACKAGES 📥</a>
<h3><a target="_blank" href="https://store.faisalman.com/checkout/buy/e236ea87-9b2b-400e-9683-24367f731b35"> GET THE PRO PACKAGES 📥</a></h3>
</th>
</tr>
</tfoot>
Expand All @@ -221,4 +229,4 @@ Made with [contributors-img](https://contrib.rocks).
<a href="https://opencollective.com/ua-parser-js"><img src="https://opencollective.com/ua-parser-js/organizations.svg?avatarHeight=64"></a>
<a href="https://opencollective.com/ua-parser-js"><img src="https://opencollective.com/ua-parser-js/individuals.svg?avatarHeight=64"></a>

Support the open-source versions of UAParser.js on [OpenCollective](https://opencollective.com/ua-parser-js) or [GitHub Sponsors](https://github.com/sponsors/faisalman).
Support the open-source editions of UAParser.js on [OpenCollective](https://opencollective.com/ua-parser-js) or [GitHub Sponsors](https://github.com/sponsors/faisalman).
4 changes: 2 additions & 2 deletions dist/ua-parser.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions dist/ua-parser.pack.js

Large diffs are not rendered by default.

28 changes: 14 additions & 14 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "UAParser.js",
"name": "ua-parser-js",
"version": "2.0.0-rc.2",
"version": "2.0.0-rc.3",
"author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)",
"description": "Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent & Client Hints data. Supports browser & node.js environment",
"keywords": [
Expand Down Expand Up @@ -211,9 +211,9 @@
"test:playwright": "playwright test"
},
"dependencies": {
"detect-europe-js": "^0.1.1",
"is-standalone-pwa": "^0.1.0",
"ua-is-frozen": "^0.1.1"
"detect-europe-js": "^0.1.2",
"is-standalone-pwa": "^0.1.1",
"ua-is-frozen": "^0.1.2"
},
"devDependencies": {
"@babel/parser": "7.15.8",
Expand Down
2 changes: 1 addition & 1 deletion src/enums/ua-parser-enums.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
///////////////////////////////////////////////
/* Enums for UAParser.js v2.0.0-rc.2
/* Enums for UAParser.js v2.0.0-rc.3
https://github.com/faisalman/ua-parser-js
Author: Faisal Salman <f@faisalman.com>
AGPLv3 License */
Expand Down
Loading

0 comments on commit ee51caf

Please sign in to comment.