Releases: jonesiscoding/device
Client Hints
With the v5 release, this library has adopted the concept of "Client Hints" and can act as a polyfill for official Client Hints, as well as add non-standard client hints for feature detection and other uses.
Other changes include:
- Browser feature detection from CanIUse data
- Improved pointer detection for hybrid devices
- Configurable feature detection via JSON and adding your own classes
- Configurable bot detection
- Configurable "minimum feature set" for devices
- Can provide mod_rewrite directives to automatically populate hints based on values from cookies or other hints.
This is a testing release, with additional documentation forthcoming.
Client Hints
With the v5 release, this library has adopted the concept of "Client Hints" and can act as a polyfill for official Client Hints, as well as add non-standard client hints for feature detection and other uses.
Other changes include:
- Browser feature detection from CanIUse data
- Improved pointer detection for hybrid devices
- Configurable feature detection via JSON and adding your own classes
- Configurable bot detection
- Configurable "minimum feature set" for devices
- Can provide mod_rewrite directives to automatically populate hints based on values from cookies or other hints.
This is a testing release, with additional documentation forthcoming.
v5.1.7
With the v5 release, this library has adopted the concept of "Client Hints" and can act as a polyfill for official Client Hints, as well as add non-standard client hints for feature detection and other uses.
Other changes include:
- Browser feature detection from CanIUse data
- Improved pointer detection for hybrid devices
- Configurable feature detection via JSON and adding your own classes
- Configurable bot detection
- Configurable "minimum feature set" for devices
- Can provide mod_rewrite directives to automatically populate hints based on values from cookies or other hints.
This is a testing release, with additional documentation forthcoming.
Client Hints
With the v5 release, this library has adopted the concept of "Client Hints" and can act as a polyfill for official Client Hints, as well as add non-standard client hints for feature detection and other uses.
Other changes include:
- Browser feature detection from CanIUse data
- Improved pointer detection for hybrid devices
- Configurable feature detection via JSON and adding your own classes
- Configurable bot detection
- Configurable "minimum feature set" for devices
- Can provide mod_rewrite directives to automatically populate hints based on values from cookies or other hints.
This is a testing release, with additional documentation forthcoming.
Empty User Agent
Fixes issues with uses of HintsWithFallback::getUserAgent()
in which the user agent string could not be determined from any of the server headers.
Various Bugfixes
Fixes issues with cookie saving in iOS Safari.
Distributable Release
v4.0.5 Adds pleasing config
Headless Clients
Improves handling when no user agent string is present. Note that the user agent string is only utilized in the absence of other hints such as the JS cookie or Client Hint headers; this behavior can be easily bypassed.
Client Hints
Initial 4.x release, which is almost a complete code rewrite. Namespace, function names, and properties have been changed. Any code using these libraries will need to be adapted.
The concept of client hints has been introduced in the PHP backend, utilizing some of the Client Hints provided by various browsers to the server in the request and some data from the front end javascript. The JS component has also been rewritten, making it easier to add additional tests, and dividing the hints into hardware, preference, and features.
Bugfixes - Please Read
Fixes several bugs, including one that misreported device width and height on iOS devices in portrait orientation.
It is important to note that this release may change the height (and possibly width) reported for any device that has a taskbar, notification bar, dock, or other UI element that takes up a portion of the screen. The width/height reported are now based off of the maximum screen space available to the browser.
This may affect other code that is based on specific threshold, so test with care. This is the reason for the minor version bump in this release.