Search results for "%Q%"

%COUNT% results found

There are no results found for this query.

Please try again.



HMKit iOS 3.2.2

  • Changed HMLocalDevice .links from [HMLink] to Set<HMLink>.
  • Fixed mutable characteristic value updated bug.
  • Fixed HMLocalDevice -disconnect() setting the state to .idle even when BT isn't available.

HMKit Android 2.0.3

This version includes the source code and documentation for easier developing. Also, the release is pushed to jcenter(). This means adding High-Mobility Artifactory url is not necessary anymore.

Command Queue Android 1.0

This is a helper package meant to be used with HMKit Android to queue Bluetooth and telematics commands.

HMKit Android 2.0.2

Open up setting command version. See link.sendCommand() and telematics.sendCommand()

HMKit Core JNI 1.0.1

  • Open up setting command version.
  • Make setMTU() method use int instead of int[].

HMKit Android 2.0.1, Java AutoAPI 3.11.1, HMKit Crypto 1.4.5

These releases add support for Gradle versions greater than 4.6.


  • Implemented AutoAPI level 11. This brings some changes to properties and existing API endpoints as well as new API endpoints.
  • REST API endpoints are now dynamically generated based on Node.js SDK which makes the codebase a lot smaller.
  • Most of the automated tests are now dynamically generated.

Node.js SDK v11

  • Implemented AutoAPI level 11. All commands, responses and validation is generated based on AutoAPI specification.
  • Command and response automated tests are dynamically generated.
  • Minor changes to command syntax. Read more at Node.js Auto API

AutoAPI 11.0

The binary format of the AutoAPI has been changed to unify properties across commands and simplify the range of different value-types. In addition, the change was done to facilitate automatic generation of platform specific libraries from the AutoAPI spec.
Updates to the binary format makes this release not compatible with previous versions.
Most capabilities support requesting just a single or more, specific, properties (in addition to the entire state).

  • Capabilities API represents enabled property IDs for a given capability (instead of message types as previously).
  • Windscreen Zone-type has a different binary representation.
  • Door Locks renamed to Doors, Lock/Unlock command now controls Locks State (not Inside Locks State as previously) and 2 new properties that aggregate the specfic locks for the vehicle.
  • Engine renamed to Ignition.
  • Added "new" capability Engine which allows to turn the engine on or off.
  • Vehicle Time now returns hours and minutes (not milliseconds from UNIX epoch).

HMKit iOS 3.2.0

  • Renamed HMKit type to HMLocalDevice to be able to use XCFrameworks.
  • All hmkit-named types and methods renamed with localDevice prefix.
  • Increased BT throughput by negotiating the common biggest packed size.
  • Updated data containers and protocol to new version (lib still supports older versions too).
  • Updated Telematics logging options.

AutoAPI iOS 11.0.0

This is now automatically generated from the AutoAPI spec and many namings could be a bit different from the previous versions.
Check the AutoAPI changelog for more info.

HMCryptoKit iOS 1.2.14

Fixed the iOS 13 shared key generation issues.

HMUtilities iOS 1.4.6

Fix for HMDebugTree.

Emulator v19.7.0

  • Implemented AutoAPI level 11.
  • Capabilities, properties, validation, message handlers, properties encoding and decoding is now dynamically generated based on the specification. This makes adding new properties a lot easier in the future.
  • Added new application permissions view.
  • Fixed assets loading bug.
  • Improved car state initializing.
  • Improved error handling.
  • Minor style fixes.

Java AutoAPI 3.11.0

The AutoAPI library is now automatically generated from the specification. This means some class names have changed. Please refer to the AutoAPI specification for up to date class names.

Colour values are now from 0-255, not 0-1.

HMKit Android 2.0.0

  • Crypto is now ivar in HMKit. Static methods have been changed to non-static.
  • Link states have been updated for core2. See Bluetooth tutorial for more information.
  • Add onAuthenticationFailed callback to LinkListener. This is invoked when authentication fails.
  • Use custom MTU in Bluetooth. This improves communication speeds.
  • HMKit.loggingLevel has been moved to static method HMKit.setLoggingLevel()
  • In ConnectedLinkListener, Rename onAuthorizationRequested() to onAuthenticationRequest()
  • Remove some deprecated methods.

HMKit OEM 2.0.0

  • Rename Telematics to HMKit.
  • HMKit now has an instance. Encrypt/Decrypt functions are still static.
  • Crypto is now ivar in HMKit. It's static methods have been changed to non-static.

HMKit Crypto 1.4.4

  • Crypto methods are now non-static. This clarifies how to use the Crypto: by accessing its ivar from

HMKit Utils 1.4.4

  • Make Bytes set() methods return the Bytes object.

AutoAPI iOS 10.0.9

  • Added XCFramework creation script
  • Changed AutoAPI to AAAutoAPI to support XCFramework usage
  • Removed "old" universal-lib (fat binary) creation and thinning scripts
  • Updated for Xcode 11 and Swift 5.1
  • Updated to work with SPM (recommended in Xcode 11+)

HMCryptoKit iOS 1.2.12

  • Added XCFramework creation script
  • Fixed signature creation bug
  • Removed HMECKey typealias in favour of SecKey
  • Removed "old" universal-lib (fat binary) creation and thinning scripts
  • Updated for Xcode 11 and Swift 5.1
  • Updated to work with SPM (recommended in Xcode 11+)

HMKit iOS 3.1.0

  • Added XCFramework creation script
  • Changed HMKit to HMLocalDevice (and renamed it's related types too) to support XCFramework usage
  • Removed "old" universal-lib (fat binary) creation and thinning scripts
  • Updated for Xcode 11 and Swift 5.1
  • Updated to work with SPM (recommended in Xcode 11+)

Version 2.5.8 also updated to Xcode 11, Swift 5.1, SPM and XCFrameworks.

HMUtilities iOS 1.4.5

  • Added XCFramework creation script
  • Changed byte-collection hex-output to be lowercased
  • Removed "old" universal-lib (fat binary) creation and thinning scripts
  • Updated for Xcode 11 and Swift 5.1
  • Updated to work with SPM (recommended in Xcode 11+)

HMKit Android 1.6.10

  • Fix OAuth for earlier than Nougat versions.
  • Improve OAuth error messages.
  • Increase web request timeout.

Emulator v19.5.1

  • New telematics permission system.
  • Historical data support.
  • Fixed bug with property timestamp encoding.

Node.js SDK v10.2.0

  • Historical data command support.
  • Added and improved automated tests.

HMKit Android 1.6.9

  • Use Timber for logging. To see the logs, one should call Timber.plant(new Timber.DebugTree()); on app start.
  • Add progress bar to OAuth2 loading state.

Java AutoAPI version 2.10.2

  • Property components are also stored in raw format.
  • Add hood capability.
  • Bug fixes

iOS AutoAPI version 10.0.5

  • Further improved parsing speed by 20-50%

iOS HMCryptoKit version 1.2.8

  • Fixed signature's index out of bounds error

iOS HMKit version 3.1.0

  • Added support for SCC and BEC v2 (no effect on current users)
  • Rewrote HMTelematics (some changes to the interface, mostly regarding Result)
  • Updated all types similar to Swift 5's Result<Success, Failure> to use the native one
  • Updated OAuth code to use distinct types (i.e. HMOAuthSuccess is now a struct)
  • Other minor fixes and improvements

iOS HMUtilities version 1.4.1

  • Reintroduced .bytes and .data in UInt8-Collection

iOS HMCryptoKit version 1.2.7

  • Fixed private key's .bytes output

iOS AutoAPI version 10.0.4

  • Improved parsing speed by 100-1000x
  • Renamed AACommandIdentifier to AACapabilityIdentifier
  • Other minor fixes

iOS HMCryptoKit version 1.2.6

  • Updated dependencies and code using them

iOS HMKit version 3.0.2 Beta

  • Updated dependecies and accompanying frameworks

iOS HMUtilities version 1.4.0

  • Added -compactMapConcurrently to Collection
  • Improved HMBytesConvertable's -init-s
  • Removed .bytes and .data from UInt8 Collection

Android SDK version 1.6.8

This version fixes an issue where certificates were not deleted.

Java AutoAPI version 2.10.1

Fixes crash when parsing invalid command data.

iOS AutoAPI version 10.0.3

  • Fixed multiple AAItem subtypes
  • Fixed other minor issues found through tests
  • Removed obsolete files

iOS HMUtilities version 1.3.3

  • Fixed Int8's HMBytesConvertable .bytes value
  • Improved HMBytesConvertable code

iOS AutoAPI version 10.0.2

  • Updated to Swift 5
  • Removed some obsolete types
  • Fixes for:
    • AACheckControlMessage
    • AAHistorical
    • AANaviDestination
    • AANotifications
    • AARace
    • Multiple types conforming to AAItem

iOS AutoAPI version 7.3.4

  • Updated to Swift 5
  • Updated dependency HMUtilities to 1.3.x

iOS HMCryptoKit version 1.2.5

  • Updated to Swift 5

iOS HMKit version 3.0.1 Beta

  • Updated to Swift 5
  • Fixed Get Device Certificate command
  • Added MTU Size to BT info characteristic

iOS HMKit version 2.5.4

  • Updated to Swift 5

iOS HMUtilities version 1.3.2

  • Updated to Swift 5

Node.js SDK version 10.0.0

This release includes breaking changes to public API. Note that it's still possible to use the previous Node.js SDK version.

  1. All properties are now objects. Currently properties only include value but this improvement prepares us for incoming changes where we can also send timestamp and errors for each property individually.
  2. Engine response now returns on instead of powered_on and off instead of powered_off.


New version of the REST API. V1 will still work for some time but it is recommended to upgrade to newer API as soon as possible. Only v2 is enabled for production vehicle data access.

  1. V2 sandbox URL
  2. Properties are transformed into objects which will help us to send more data about specific property.
  3. Minor error handling improvements.

Java Auto API 2.10.0

This Auto API version includes the public interface changes reflecting the level 10 protocol.

All values are now wrapped in a Property. This means to access the property value, property.getValue() should be called. Property also has the failure and timestamp components. All of these components are optional. See Property Structure for more information.

Guide for migrating to 2.10.0:

  • Property values have to be accessed with Property.getValue(). For instance: LightsState.getAmbientColor() should be changed to LightsState.getAmbientColor().getValue().
  • If the value is null, there might a failure component or this property just does not exist for this vehicle.
  • Some packages have been changed. Many class names are still the same, so delete the invalid import and try to import again.
  • Replace CommandWithProperties with Command.

Android SDK 1.6.7

Add refresh token support for OAuth.

Java Auto API 1.7.3

This version includes parsing support for MultiCommand and MultiState. See the code reference for more information.

iOS AutoAPI version 7.3.3

  • Added multi state response to MultiCommand

iOS HMUtilities version 1.3.1

  • Fixed signed integer's initialisation for HMBytesConvertable

iOS AutoAPI version 10.0.1

  • Fixed AACapability's debugging property .debugTree: HMDebugTree to parse the new L10 properly

Auto API level 10

Auto API level 10 brings protocol updates to properties on a binary level. Properties now include data, timestamp and failure components. This allows for better SDK handling of all possible scenarios when getting data across different car brands. The new protocol is defined in on the Auto API Properties overview page.

Additional updates in level 10 follows.

  1. All timestamps are now formatted as UNIX Epoch time in milliseconds.
  2. Percentages formatted as decimals.

iOS SDK version 2.5.3

  1. Fixed OAuth token issues.
  2. Added a method for getting an access token with a refresh token.
  3. Updated dependencies versions.

iOS SDK version 3.0.0 Beta

  • Rewritten HMKit.
  • Main interface changes include renaming of HMLocalDevice to HMKit.
  • Renaming the delegate methods.
  • Making most public methods throwing.
  • And more...

iOS AutoAPI version 10.0

  1. Properties are wrapped in a new type AAProperty.
  2. Capabilities conform to a new type AACapability.
  3. Outgoing commands' methods return a new type AACommand which has .bytes accessor for getting the data to send.

iOS HMUtilities version 1.3.0

Added a new type HMBytesConvertable and made the following types conform to it: Bool, Date, Double, Float, String, URL, signed and unsigned integers.

Java Auto API Level 10

This updates the Java Auto API to level 10. Mind that the percentage values are now double instead of float. Mind that there are no time zones for dates anymore, which always correspond to UTC time.

Android SDK version 1.6.5:

Fix possible Bluetooth authorisation failures.

Android SDK version 1.6.6:

Fix OAuth showing blank screen.

Car emulator version 2.3.0

  1. Added Porsche Cross Turismo car emulator.
  2. Auto API level 10 compatibility for property components. It's necessary for developers to use the latest SDKs to work with the emulator.

Node.js SDK version 0.8.0

This release included only internal changes to Auto Api level 10 property component handling logic. There were no changes in the public API.

Car emulator version 2.2.4

  1. Added KTM 1290 Super Duke and Mercedes EQC emulators.
  2. Fixed vehicle location picker and increased precision.
  3. Fixed Porsche Cayenne tire pressure indicators.

Android SDK version 1.6.4

This release fixes issues with the OAuth2 flow.

This platform release has incremental updates to the API by introducing Auto API Level 9 along with OAuth2 updates. Each component has further improvements.

Auto API level 9

  1. Lights capability updated with fog lights, reading lamps and interior lamps.
  2. Diagnostics capability updated with mileage in meters.
  3. Door Locks property updated with all doors location possibility.
  4. Failure Message reason property expanded with rate limit failure.
  5. MultiCommand added for possibility to send several commands at once.
  6. Vehicle Status updated with brand property.
  7. Fueling capability updated with gas flap lock state.
  8. Universal property for reporting individual failing properties added.


  1. scope query parameter is no longer needed when starting OAuth Flow.
  2. Access token endpoint now returns refresh token that can be used to request a new access token.
  3. Mobile and Native Apps now need to use PKCE on OAuth Flow.

Car emulator version 2.2.3

  1. Added Auto API level 9 support.
  2. Fixed minor vehicle state change broadcast bug.
  3. Minor logging fixes.
  4. Improved device permissions validation.

Node.js SDK 0.7.3

  1. Added Auto API level 9 support.
  2. Added front exterior lights, fog lights, reading lamps and interior lamps properties to lights capability.
  3. Added mileage meters property to diagnostics capability.
  4. Added rate limit failure reason.
  5. Added multi command capability.
  6. Added brand property to vehicle status.
  7. Added gas flap lock and gas flap position properties to fueling capability.

iOS AutoAPI version 9.0

  1. Added Auto API level 9 support.
  2. Removed all legacy types.
  3. Added .fogLights, readingLamps and .interiorLamps to AALights; also updated .frontExteriorLights.
  4. Added .states to AAMultiCommand – returned when a multicommand is sent.
  5. Added .gasFlapLock and .gasFlapPosition to AAFueling.
  6. New AAPropertyFailure type to convey that getting a property failed.
  7. Updated .insideLocks, .locks and .positions in AADoorLocks.
  8. Updated .failureReason in AAFailureMessage.

Java Auto API 1.9.0

This update brings Auto API level 9 support.

  1. Browse Android Code Reference for command updates.
  2. See Multi Command for Multi Command code reference.

REST Auto API version 1.4.0

  1. Added Auto API level 9 support.
  2. Included new Node.js SDK which will help REST API to return more informative errors.

iOS SDK version 2.5.2

  1. Fixed same-time outgoing-incoming commands' decryption bug.
  2. Improved HMLogginOptions substantially.

This platform release includes several URL changes based on new server architecture that is being rolled out. Note that "sandbox" is being used to refer to any endpoints for working with the car emulators during the development of apps.


Sandbox base URL changed to

Service Account API

Sandbox base URL changed to


Sandbox base URL changed to

Node.js SDK version 0.7.2

  1. Changed internal API URLs.
  2. API endpoint is now chosen automatically based on Client Certificate issuer.

iOS SDK version 2.5.1

  1. New HMOAuth implementation and flow.
  2. SDK gets the correct URL from HMDeviceCertificate.

iOS AutoAPI version 8.0.1

  1. New AAMulticommand – possible to send multiple commands at the same time.
  2. Added .mileageMeters to AADiagnostics.
  3. Added .sunroofState to AARooftopControl.

iOS HMCryptoKit version 1.2.3

  1. More capable .signature method for using it in unpadded form for the JWT.
  2. Public SHA256 method..

Android SDK version 1.6.2

  1. Add OAuth2 module to the SDK. OAuth2 is used to get the access token to download a vehicle Access Certificate.
  2. Refactor web environment selection. Web environment is selected automatically or can be set in HMKit.webUrl. HMKit.environment is removed.

Car emulator version 2.2.1

  1. Added missing vehicle state properties (engine volume, engine max torque, gearbox, display unit, driver seat location, equipment).
  2. Added IOTA car and IOTA charger emulators.
  3. Fixed and added missing properties on cars.
  4. Fixed My Profile link

Node.js SDK version 0.7.1

  1. Added missing vehicle state properties (engineVolume, engineMaxTorque, gearbox, displayUnit, driverSeatLocation, equipment).
  2. Fixed multiple access certificate caching.
  3. Added automated tests.

This is a major release across all SDKs, APIs and emulators that introduces Auto API level 8.

Auto API level 8

The latest version of the Auto API comes with internal protocol improvements and an expanded data set of vehicle data. In summary:

  1. New capabilities and properties.
  2. Protocol support for historical states.
  3. Possible to add a timestamp property to every individual property.
  4. Every command now wraps parameters as properties. This is an internal change that the SDKs/REST API handle internally.

New capabilities:

  1. Mobile: Get the state of a connected mobile phone.
  2. Usage: Metrics about the driving style.
  3. Hood: Get the hood open/close state.
  4. Historical: Get historical data for any states.

Charging capability:

  1. Added maximum charging current
  2. Added plug type
  3. Added if a charging window has been chosen
  4. Added departure times
  5. Added reduction of charging-current times
  6. Added battery temperature
  7. Added charging timers
  8. Added plugged in state
  9. Added charging state
  10. Deprecated 0x01 charging state (breaken up to plugged in state and charging state)
  11. Deprecated 0x0D charge timer (replaced by charging timers)

Chassis Settings capability:

  1. Spring rates properties replaced by new format
  2. Chassis position properties replaced by new format

Climate capability:

  1. Added HVAC (Heating, ventilation, and air conditioning) weekday starting times
  2. Added rear seats temperature setting
  3. Deprecated climate profile (replaced by HVAC weekday starting times)
  4. Added command Set Temperature Settings

Lights capability:

  1. Renamed Set Lights State to Control Lights

Rooftop capability:

  1. Added convertible roof state
  2. Added sunroof tilt state

Seats capability:

  1. Added persons detected
  2. Added seatbelts fastened
  3. Deprecated seats (replaced by the above properties)

Windows capability:

  1. Added open percentages
  2. Added positions
  3. Deprecated windows (replaced by the above properties)

Windscreen capability:

  1. Added command Control Wipers

Diagnostics capability:

  1. Added battery level
  2. Added check control messages
  3. Added tire pressures
  4. Added wheel RPMs
  5. Added trouble codes
  6. Deprecated tires (replaced by the above three properties)
  7. Deprecated current fuel consumption (moved to Usage capability)
  8. Deprecated average fuel consumption (moved to Usage capability)

Maintenance capability:

  1. Added CBS reports count
  2. Added months to exhaust inspection
  3. Added teleservice availability
  4. Added service distance threshold
  5. Added service time threshold
  6. Added automatic teleservice call date
  7. Added teleservice battery call date
  8. Added next inspection date
  9. Added condition based services
  10. Added brake fluid change date

Race capability:

  1. Added vehicle moving

Door Locks capability:

  1. Added locks
  2. Added positions
  3. Deprecated doors (replaced by the above two properties)
  4. Deprecated outside locks (locks should be used instead)

Vehicle Status capability:

  1. Added display unit
  2. Added driver seat location
  3. Added equipments

Home Charger capability:

  1. Added authentication state
  2. Added charge current (DC)
  3. Added maximum charge current
  4. Added minimum charge current
  5. Deprecated charge current (replaced by the above three properties)
  6. Coordinates expanded from float to double
  7. Pricing tariffs expanded to handle crypto currencies
  8. Added command Authenticate/Expire session

Navi Destination capability:

  1. Coordinates expanded from float to double

Vehicle Location capability:

  1. Coordinates expanded from float to double
  2. Altitude expanded from float to double
  3. Heading expanded from float to double

Car emulator version 2.2.0

  1. Added auto api 8 new capabilties and properties.
  2. Added vehicle location indicator next to logs while simulation with vehicle location capability is running.
  3. Improved simulations performance bugs.
  4. Fixed bugs related to developer center button.

iOS SDK version 2.5.0

  1. Improved bluetooth connection's latency.
  2. Added HMOAuth classes for easier usage.
  3. Huge renaming – all types now have an "HM" prefix to clear up some namespace pollution.

iOS AutoAPI version 8.0.0

  1. Mostly rewritten with a lot of additional capabilities, properties and commands. Check the AutoAPI 8 changelog for new possibilities.
  2. All types now have an "AA" prefix to clear up some namespace pollution.
  3. This is not compatible with Level 7, but L7 usage has been temporarily made available through "legacy" access points. This support will be dropped in the future.

Java Auto API 1.8.1

This release adds support for Auto API level 8. Please note that the release is not compatible with level 7 Auto API (package 1.8.0) and your Auto API code probably needs updating.

Android SDK version 1.6.1

  1. Increase the command size limit.
  2. Fix Broadcaster.revokeCertificate() not deleting the certificates.
  3. Update production URL.

Node.js SDK version 0.7.0

  1. Fixed issues with node v10.x. Node.js SDK now works with all node versions from v8.9 to v10.x. Node v11 is not supported yet.
  2. Added Auto API level 8 commands and responses.
  3. Added automated tests for new Auto API level 8 commands and responses.
  4. HMKit internal certificate cache json file location can be changed with HM_NODE_SDK_STORAGE_PATH environment param.

REST Auto API version 1.3.0

  1. REST API is now serverless and running on AWS Lambda. This helps us to scale more easily in the future.
  2. Added Auto API level 8 endpoints.
  3. Added Auto API level 8 tests.
  4. Included new Node.js SDK which will help REST API to return more informative errors.

iOS SDK version 2.4.2

  1. Fixed iOS's Bluetooth transmission queue getting full in some cases and no data being sent out.

Android SDK version 1.6.0

This release introduces some changes for the public API of the SDK.

  1. Rename Manager to HMKit.
  2. Add Link state NOT_AUTHENTICATED. This will be set after a revoke or if authentication fails.
  3. Manager.initialise throws if is already initialised. Manager.setDeviceCertificate should be used to set a new device certificate.
  4. Move Manager.loggingLevel to HMLog.Level
  5. Rename downloadCertificate() to downloadAccessCertificate()
  6. delete IllegalStateException throwing from Manager methods. Manager expects that initialise is called and throws unchecked otherwise.
  7. getBroadcaster() is nullable. Can be null if BLE is physically not supported.

iOS SDK version 2.3.7

  1. Disabled BT powered off system UI alert.

OAuth2 API update

  1. Added expires_in to the access token response object. Full details in the OAuth2 tutorial.

Android SDK version 1.5.0

  1. Fix no bluetooth service after turning ble on/off.
  2. Fix invalid broadcaster state BLUETOOTH_UNAVAILABLE after turning ble off/on.
  3. Wait for the adding of ble service before starting broadcasting.

Node.js SDK version 0.6.1

  1. Improved Access Certificate caching logic to make it faster.
  2. Added client private key validation.
  3. Changed production server api url.
  4. Added missing automated tests.

REST Auto API version 1.2.1

  1. Changed internal server api url.
  2. Thanks to Node.js SDK update, requests will be handled much faster.

iOS SDK version 2.3.6

  1. Double-broadcasting fix (didn't affect usage), with additional safeguards for starting advertisement.
  2. Handles incoming revoke command – deletes the certificate and changes the state to .connected.
  3. Maximum custom command size reduced by 1 byte, to correctly account for the protocol bytes.
  4. Alive ping fixes.

Android SDK version 1.4.0

  1. Fix validation of certificate initialisation bytes.
  2. Now you can use either base64 or hex in Manager.initialize().
  3. Fix possible getLinks() NPE on Manager.terminate()
  4. Removed some previously deprecated methods.

There are some internal changes to the SDK-s logic:

  1. Broadcasting is now stopped on Manager.terminate()
  2. Broadcasting is not stopped on Broadcaster.disconnectAllLinks(). stopBroadcasting() has proved to help with disconnecting the connected links. Call stopBroadcasting() after disconnectAllLinks() to improve the chances of disconnecting the BLE connections.

Node.js SDK version 0.6.0

  1. Memory leak issue resolved - garbage collection didn't clean up everything when HMKit instance was destroyed.
  2. Multiple HMKit instances issues resolved. In previous versions when in the same Node.js application process multiple HMKit instances were created (const hmkit1 = new HMKit(); const hmkit2 = new HMKit();), they started to behave unexpectedly as all instances were still related through native code.

Swift AutoAPI version 7.2.2

  1. Replaced UInt8 types that represent a 0-100% value with PercentageInt for clarity.

Java HMKit-Crypto version 1.3.2

  1. Issue with Access Certificate hour parsing fixed. Now 24h are handled instead of 12h cycles.

These updates might be useful for the users of the HMKit-OEM library.

Java HMKit-Crypto version 1.3.1

  1. Add Permissions class to use when constructing Access Certificates. See set permissions in HMKit OEM tutorial.

Java HMKit-AutoAPI version 1.8.0

  1. Renamed to ControlModeValue
  2. Command base properties nonce and signature now are Bytes instead of byte[].

Android SDK version 1.3.0

  1. Added revoke. Call Link.revoke() to revoke the link authorisation.
  2. Made command timeout configurable with Link.commandTimeout. The value is in ms, default is 10000.

iOS SDK version 2.3.5

  1. Alive ping fixes and improvements � now send a single byte (used to be empty).
  2. Added additional logging.

Node.js SDK version 0.5.2

  1. Added .getSerial() alias for .getVehicleSerial() function.
  2. AddedAuto API level 7support.
  3. Improved error handling. Throwing more exceptions with more informative message.
  4. Fixed bugs where missing arguments broke the command.
  5. Removed unnecessary logging.

REST Auto API version 1.1.0

  1. Added Auto API level 7 support.
  2. Improved error handling. API now returns more informative errors.
  3. Returning status 401 instead of 400 when user is unauthorized.

Android SDK version 1.2.0 and Java libraries updates

Starting with this release all of our Java SDK public methods use our custom Bytes class instead of the byte[]. For instance it can now be used to access certificate properties or send link commands.

  1. Example to get serial from access certificate: DeviceSerial serial = certificate.getGainerSerial()
  2. There's no need any more to use .getBytes() on commands, instead the class instance can be passed in directly: link.sendCommand(new LockUnlockDoors(DoorLock.LOCKED), serial, callback)

Bytes class can also be used for new constructors and some convenience methods like Bytes.getHex() and Bytes.equals().

  1. To compare a command with hex or base64 string: command.equals(new Bytes("00AA"))
  2. To log out a command in hex: log("bytes in hex " + command.getHex())

Refer to the downloads page for the latest version numbers.

Java Auto API version 1.6.8

  1. Added Auto API level 7 support
  2. Renamed/deprecated some LockState properties.

iOS SDK version 2.3.4

  1. Added Auto API level 7 support
  2. Moved DebugTree to HMUtilities
  3. Added .serial getter for LocalDevice
  4. New function to send .revoke to a connected Link
  5. New LocalDeviceError.uninitialised error � meaning the certificate and keys are not set

Android SDK version 1.1.17

  1. Fix rare crashes when sending telematics commands or disconnecting bluetooth.

Java Auto API version 1.6.7

  1. Deprecate/rename some Lockstate properties.
  2. Fix set navi destination.

iOS SDK version 2.3.3

  1. Fixed startBroadcasting(configuration: Configuration?) to not override the old configuration when nil is passed in.

Android SDK version 1.1.16

  1. Dont advertise device name if not using the custom High-Mobility name in BroadcastSettings. This fixes a crash for devices with longer names.

iOS SDK version 2.3.2

  1. Fixed bundle-identifier and other running errors

iOS SDK version 2.3.1

  1. HMKit: LocalDeviceBroadcastingConfiguration renamed to LocalDeviceConfiguration
  2. Configuration init function changed to dissuade disabling the encryption

Android SDK version 1.1.15

  1. Merge all broadcasting settings to BroadcastConfiguration object. Use BroadcastConfiguration.Builder to create your broadcast configuration and pass it on to broadcaster.startBroadcasting method.


    BroadcastConfiguration conf = new BroadcastConfiguration.Builder().setOverridesAdvertisementName(false).build();broadcaster.startBroadcasting(new Broadcaster.StartCallback() {@Override public void onBroadcastingStarted() {    Log.d(TAG, "onBroadcastingStarted: ");}@Override public void onBroadcastingFailed(BroadcastError error) {    Log.d(TAG, "onBroadcastingFailed: ");}}, conf);
  2. setIsAlivePinging() changed to startAlivePinging(long interval). Use stopAlivePinging() to stop the pinging.

iOS SDK version 2.3.0

This update follows the releases of Swift 4.1 and Xcode 9.3 bringing compatibility of the HMKit libraries to both. Full details:

  1. The number of HMKit frameworks have been expanded from 3 to 5 libraries for increased modularity. The recommended way to update to the latest is to delete the old frameworks from the project and in Finder, and then to drag the new ones to "Embedded libraries" in the Xcode project overview.
  2. CommonCrypto: Inclusion of CommonCrypto (basically OpenSSL with "Apple" flavour) module map from IBM; CommonCrypto GitHub page.
  3. HMCryptoKit: New, written from the ground up, Swift crypto library; hm-crypto-kit-swift GitHub page.
  4. HMUtilities: This includes common extensions and other useful functionality; hm-utilities-swift GitHub page.
  5. HMKit: LocalDeviceBroadcastingConfiguration is a new configuration type for broadcasting (also accessible through LocalDevice.shared.configuration); updated dependencies; some other minor fixes.

This release has been tested on iOS and macOS, and should work on tvOS, watchOS and Linux as well; usable with the Swift Package Manager.

This is a major release across all the SDKs, APIs and the user interface of the Developer Center itself.

Auto API level 6

The latest version of the Auto API comes with a new internal protocol that brings consistency and flexibility for different car capability variations. Each capability (such as Diagnostics) has now a list of properties. Here's how they work:

  1. A capability specifies now all types of properties that a car possibly could support, but the car only includes the properties that it actually supports.
  2. Properties eliminate the need of "unavailable" data, as it's just not included in the state.
  3. A state could have several properties with the same ID, this is the case of e.g. the Door Property, a property for each door is returned.
  4. There are universal properties that could be included in any state, the identifier for these properties start with 0xA_.
  5. Properties are also used in the cases of SET commands (e.g. Open/Close Trunk) but this is only done if the SET command impacts several properties. If the SET command is only for one property (e.g. Set Charge Limit) then the property format is omitted.
  6. The usage of properties has been implemented throughout all capabilities.

In terms of capabilties, it's no longer the case that each capability defines its own format of what is included in the Capabilities message:

  1. Each capability that the car supports is included as the 0x01 Capability Property. The capability identifier is included, along with an array of Message Type IDs that the car can handle.
  2. If the device lacks permissions for e.g. locking/unlocking the doors, that message type will not be included in the array.

There are many new properties that have been added to existing capabilities. There are however some entirely new capabiltiies:

  1. Race
  2. Offroad
  3. Chassis Settings
  4. Seats
  5. Parking Brake
  6. Vehicle Time
  7. Light Conditions
  8. Weather Conditions
  9. Home Charger

HMKit Core

HMKit Core, the component that all SDKs implement, have been updated with the following:

  1. Command container has been increased to allow bigger messages than 256 bytes to be sent
  2. Updated SHA algorithm
  3. New format for Access Certificates that now includes the certificate issuer name
  4. Other bugfixes and improvements

Android SDK version 1.1.14

The Android SDK is from now on available through the JCenter and downloaded directly as a Gradle dependency. As part of this, the SDK has been divided into separate modules: HMKit-Android, HMKit-AutoAPI, HMKit-Crypto and HMKit-Utils. The Auto API library has been updated to level 6 and is open sourced on GitHub.

iOS SDK version 2.0.4

The iOS SDK has been updated to support the latest core changes. The Auto API library has been updated to level 6 and is open sourced on GitHub.

Node.js version 0.4.0

The Node.js SDK has been updated to support Auto API level 6 and other core changes.

REST Auto API first release 1.0

This is a completely new interface for working with Auto API. With the REST API it's possible to work with car data and APIs on any platform.

Node.js SDK version 0.3.0

Good news for Windows users! This release includes support for Windows 10. Just get the latest version from npm or download the sample app.

Android SDK version 1.0.6

This is only a minor update with a bugfix for the AccessCertificate.isExpired() method.

iOS SDK version 1.8.5 beta for Swift 4

This is a bigger release to be compatible with Apple's update to iOS 11. With this release we are adding a Swift 4 (beta) SDK in addition to the stable 1.8.5 release to the download site. In the upcoming months we will phase out the Swift 3 build however.

Car emulator version 1.5.0

This release includes a bugfix and an improvement:

  1. A broadcast button was added to the Driver Fatigue capability
  2. Default value for Washer Fluid Level now valid

Node.js SDK version 0.2.0

This release includes helper functions for sending and parsing all remaining Auto API commands that were not included in the first release - except for Get Capabilities and Get Vehicle Status. We're still hard at work with Windows support but making good progress.

The scaffold sample app has been updated too to best reflect the latest version.

Next up in the backlog is more informative error handling and the final two Auto API commands.

iOS SDK version 1.8.5

Starting from this release the iOS SDK is shipped with a script that should be used before releasing to App Store. The script removes iPhone simulator releated code.

Other updates and bugfixes:

  1. URL conversion fix for Auto API Load URL command
  2. "HonkHorns" Auto API renamed to just "HonkHorn" without plural form

Android SDK version 1.0.5

Here's what's new in this release:

  1. Parsing fix for reversed rear door position/lock status

An additional app "Basic OAuth" has been added to the samples.

Car emulator version version 1.4.2

This release includes the following bugfixes:

  1. Vehicle Location broadcasted through Bluetooth when changed in the map
  2. Engine On/Off reversed text in fixed in the log
  3. Access Certificate start and end dates validated properly
  4. Browser: Load URL command is executed even if HTTP is used, with appropriate error message
  5. OAuth dialog now includes formatted dates

Node.js experimental SDK version 0.1.1

This is a first release of HMKit for Node.js and the first SDK destined for backend server applications. The SDK supports working with the Auto API through Telematics. For instructions to try it out, follow the Tutorial.

There's two bigger limitations on the first experimental release. First off, it can only be run on Linux and OS X. Windows support coming in upcoming versions. This is due to native C bindings that it used for crypto and internal protocol.

Version 0.1.1 does not yet have helper methods for all Auto APIs. Helpers for the following capabilities are included:

  1. Door Locks
  2. Engine
  3. Trunk Access
  4. Diagnostics
  5. Browser

Any feedback for the public methods, especially Auto API handling, is taken into account for next releases.

Car emulator version version 1.4.0

This release includes two big updates, Auto API capabilities Browser and Graphics have been added. Other changes:

  1. Set Charge Limit properly parsed and handled
  2. Open/Close Windows properly parsed and handled
  3. Telematics commands no longer timing out for: Honk & Flash, Emergency Flasher, Message Received, Video Handover, Text Input, Set (Navi) Destination, Open/Close Windows, Open Gas Flap
  4. App name added to device info pane

iOS SDK version 1.8.4

Here's what's new in this iOS SDK release:

  1. Handling and parsing added for the Auto API capabilities Browser and Graphics
  2. Parsing fixes for Notifications and Diagnostics commands
  3. Added struct for better handling of Windows commands
  4. link.sendCommand completion block argument removed, is now optional, and may throw an error
  5. LocalDevice singleton renamed, old one can still be used for now

Android SDK version 1.0.4

Here's what's new in this Android SDK release:

  1. Handling and parsing added for the Auto API capabilities Browser and Graphics
  2. Bluetooth no longer set up in the initialisation method, allowing SDK usage in the Android Simulator
  3. Handling of empty responses for Telematics commands
  4. Parsing fixes for Send Navi Destination command