• About Us
  • Blog
  • Basket
  • Account
  • Sign In
  •  

Blog

API Version 3.2 Update for Developers

Published on Wednesday, July 15, 2015

API Version 3.2 Update for Developers

Details of features and release schedule for API updates

We’re always working hard to improve the 51Degrees APIs making them easier to use, consume fewer resources and provide new features. Version 3.2 combines many incremental changes. Highlights included in all API variants are:

  • New 3.2 version data file is 25% smaller than version 3.1. Data file size is no longer proportional to supported Device Combinations and Signatures. As a result V3.2 data files will grow at a slower rate than V3.1.
  • C APIs now join PHP, .NET and Java in supporting multiple HTTP headers, not just User-Agent. The developer no longer needs to consider which headers to use.
  • Cache structures are now all memory limited rather than time limited resulting in a more consistent memory profile.
  • Information relating to false positives such as rank information is returned more quickly.
  • Github is the master repository for all API source code. Mirrors will be maintained on Codeplex, Sourceforge and other locations.

API specific updates -  .NET |  Java |  PHP |  C |  Python |  Perl |  Node.js |  PHP (Ext)

.NET has been in beta since June. Java and C based APIs will be code complete with beta testing starting w/c 20th July. PHP will be updated to support V3.2 data files in August. We welcome your comments and suggestions as public testing progresses.

Users with a subscription can start downloading V3.2 format Premium and Enterprise data with their existing licence keys. Both V3.1 and V3.2 data will continue to be made available to licence key holders.

Compare Data Options

.NET

Extensive testing work has been completed on .NET. Performance testing has been performed with LoadStorm. Previously internal tests covering performance, memory consumption and more traditional unit tests are now part of the public repository. The latest beta can be installed from NuGet.

Other major .NET changes include:

  • Support for .NET version 3.5 has been dropped in the beta. If you need .NET version 3.5 please contact us so that we can gauge the need to maintain support.
  • Lite data has been removed from the FiftyOne.Foundation.dll assembly reducing memory footprint. As a result the developer is responsible for providing a valid data file. V3.2 Lite data files for .NET will be maintained in the data folder of the repository.
  • The way Microsoft provided browser properties are overridden has been simplified.
  • Memory mode initialisation when used with a web site has been shortened by loading the file into memory rather than initialising all .NET objects.
  • Image optimiser will now check that the shrunk file is smaller than the original file before sending the image.
  • The DataSet.Properties collection now has a string accessor providing a more intuitive method of retrieving properties.
  • The automatic update process uses temporary files rather than memory.
  • Retrieval of related data is now more efficient. For example; returning Values associated with Profiles.
  • The V3.2 assembly supports both V3.1 and V3.2 data file formats.

Due to the change in the way default browser properties are being overridden and the many 3rd party components which use these properties we suggest full regression testing is completed where 3rd party .NET components are used with a web site. Examples of such environments could include SharePoint, or the use of toolsets like DevExpress or Telerik.

We expect all planned beta testing and pre-release live deployments to complete w/c 20th July and stable release to follow shortly afterwards. Please "watch" us on Github for notifications.

Watch & Star .NET API on Github

Java

Our Java API mirrors the .NET class structure and data model. Once .NET is completed similar tests will be carried out on Java. Previously internal tests published in JUnit will be added to the repository.

Major Java changes include:

  • Lite data has been removed from the package reducing memory footprint. As a result the developer is responsible for providing a valid data file. V3.2 Lite data files for Java will be maintained in the data folder of the repository.
  • The automatic update process uses temporary files rather than memory.
  • Retrieval of related data is now more efficient. For example; returning Values associated with Profiles.

We expect Java beta testing to commence w/c 20th July and the development branch on Github to be updated accordingly. Please "watch" us on Github for notifications.

Watch & Star Java API on Github

Python, Perl, PHP (extension), Node.js, C

The C source code changes for V3.2 will be released to the development branch w/c 20th July. Similar tests will be carried out as with other APIs. Extensive work has been done to remove responsibility for caching, pooling and multi-threading from the developer. Highlights include:

  • Full support for multithreading in GCC and MSVC compilers.
  • A pool of worksets can be maintained reducing memory allocation operations and improving performance. Developers no longer need to maintain their own pool.
  • A cache can be provided when creating a workset or pool which will be checked before a full detection is performed.
  • HTTP headers other than User-Agent can be provided to the matching process.
  • Improvements have been made to the code to improve readability and address minor defects.

The version 3.2 C API is not backward compatible with V3.1 data files.

Please "watch" us on Github for notifications.

Watch & Star API on Github

PHP Script

PHP script will be updated to support V3.2 and all the general benefits in August. Those wishing to benefit from V3.2 changes in PHP earlier should consider switching to the PHP C Extension.

The version 3.2 PHP script API will not be backward compatible with V3.1 data files.

Questions?

Please post a comment or contact us if you’ve any questions or feedback on the changes we’re making. Thank you for using 51Degrees.

Questions?

Comments (0)

Author: 51Degrees Products

Categories: Development

Tags: API

James Rosewell
>

51Degrees Products

Other posts by 51Degrees Products
Contact author

Name:
Email:
Subject:
Message:
x

Tags

.NET 2013 2014 4G 51Degrees 5G A.C.Roma A7 ABI Acer Affiliate Marketing Alcatel Amazon AMP Analysis Analytics Android Android 5.0 Lollipop Android Kitkat Android Lollipop Android Media Stick Apache API Apple Apple TV Archos Asha Asian Market ASP.NET Asus Australia Big Data Black Friday Blackberry Blink Browser C C# Case Study CeBIT CES Chrome Cloud CMS combinations Comparison Competition CoolPad COTW Cron CSS3 Data Data Blog Data File Data Model Daydream Denver Design Desire Eye Desktop Detection Developers Device Device Data Device Detection Device Intelligence Device Popularity Device property Device Types Device Use Display dmexco DoCoMo Doogee DotNetNuke Download Drupal Email EReader E-Reader Ericsson Evaluation Event Examples EXPLAY Rio Facebook feature Firefox Firefox OS Fly Foundation Framework France Galaxy S3 Galaxy S5 Galaxy Tab A Galaxy Tab A 8.0 Galaxy Tab A 9.7 Germany git repositories Global Google Google Daydream GSMA HAProxy Hardware Hisense HTC HTC ONE MAX HTC OS HTML5 HTTP Huawei HUAWEI. UPDATE HUDL Huwaei IBC Icemobile Prime 4.0 IE IFA IIS Image Optimiser Image Optimizer India Infographic Ingeniux Internet usage iOS iOS 7 iOS 8 ipad iPhone iPhone 6 IsEmailBrowser IsWebApp Italy Japan Java Javascript Jolla Kentico Keynote Kindle Kindle Fire Kindle Fire HD Leagoo Lenovo LG Location Log File Analysis LTE Lumia Map Memory Meta Data Mi 4S Micromax Microsoft Miia Style Mobile Mobile Analysis Mobile Analytics Mobile Devices Mobile Marketing Mixer Module Motorola MVC4 MWC MWC 2017 MWC16 MyPhone Native Native Apps NET New Release News News Letter Nexus Nexus 6 Nexus 9 NFC NGINX Nokia Non-Mobile NVIDIA Omate On7 OnePlus 5 Opera Opera Mini Operating System Optimisation OS OSX 10.10 OTA Panasonic Patent PC Pebble Performance phablet phone PHP Poland Presentation Press Release Price Band PRIV PS4 Python QMobile QR Codes Redirection Research Reseller Responsive Images RESS Review reviews RIM Ringmark RWD Samsung Scala Screen Screen resolution Screen Size SEO Server Set Box Set Top Box Sharepoint Shark 1 SHIFT phones Sitecore SLUSH Smart TV Smartphone Smartphones Smartwatches Snapdragon Sony Sony Xperia Spain Swedish Beers Symbian Tablet Tablets Tesco Testing Tips Top 5 TOTW TV UDS UK Umbraco Update updates US User Agent UserAgent User-Agent Vendors Version 3 VoLTE VR Wearable Web Web Apps WebKit WebMatrix White Paper Widgets Widnows WiFi Wiko Wileyfox Windows Windows Phone Xbox XBox One Xiaomi Xperia Xperia z Yosemite Z10 ZenFon 2 ZOPO ZTE