|
| 1 | +# 4.0.0 Release Notes |
| 2 | + |
| 3 | +### API New Features & Breaking Changes |
| 4 | +* Updated to v4.0 RPCs and enums. |
| 5 | + * Enums updated: |
| 6 | + * LayoutMode (Add and deprecate) |
| 7 | + * AppInterfaceUnregisteredReason |
| 8 | + * TextFieldName |
| 9 | + * ImageFieldName |
| 10 | + * VehicleDataResultCode |
| 11 | + * KeyboardEvent |
| 12 | + * RequestType |
| 13 | + * RPCs updated |
| 14 | + * TouchEvent - Changed timestamp (ts) to use Long instead of Integers |
| 15 | + * HMICapabilities (new) |
| 16 | + * RegisterAppInterface (response) |
| 17 | + * PutFile (request) - Changed offset and length to use Long instead of Integers |
| 18 | + * DialNumber (new - request, response) |
| 19 | + * OnSystemRequest (notification) (Changed offset and length to use Long instead of Integers) |
| 20 | +* Removed unused classes StringEnumer, Base64, and utl/Mime |
| 21 | +* Removed unused methods including these public/protected methods: |
| 22 | + * `com/smartDeviceLink/streaming/AbstractPacketizer` |
| 23 | + * printBuffer(byte[],int,int) |
| 24 | + * `com/smartDeviceLink/trace/Mime` |
| 25 | + * base64Decode(String) |
| 26 | + * `com/smartDeviceLink/trace/SdlTrace` |
| 27 | + * setTracingEnable(Boolean) |
| 28 | +* Moved TransportType enum to new package which will contain all new enums for the transport package, `com/smartDeviceLink/transport/enums` |
| 29 | +* Removed unused enums |
| 30 | + * GearShiftAdviceStatus |
| 31 | + * LightSwitchStatus |
| 32 | + * MaintenanceModeStatus |
| 33 | + * MessageType |
| 34 | + * PermissionStatus |
| 35 | + * TirePressureTellTale |
| 36 | + * VehicleDataActiveStatus |
| 37 | +* Video/Audio streaming are now enabled. *[(See spec for more detail)](https://github.com/smartdevicelink/protocol_spec)* |
| 38 | +* Changed the USB metadata information to use SDL as the manufacturer and Core as the model |
| 39 | + |
| 40 | + |
| 41 | +### Enhancements |
| 42 | +* Modified generics to follow Java convention |
| 43 | +* Made FunctionID an enum rather than class with constants |
| 44 | +* Added more robust parameter checking |
| 45 | +* Changed some logging methods to return boolean for easier unit tests |
| 46 | +* Changed putFile building methods to accept Longs instead of ints. Old methods were deprecated. |
| 47 | +* Cleaned up SdlDataTypeConverter in terms of readability. |
| 48 | +* MTU size increased to 128kb up from 1.5k for v4. This will be the expected MTU for this version. |
| 49 | +* Added a SDL Proxy builder that will enable simpler building of proxy objects as the large amount of constructors could be confusing. |
| 50 | +* Changed the outgoing message queues to actually be FIFO queues. |
| 51 | +* Heartbeat is now fully implemented which is needed for audio and video streaming. *[(See spec for more details)](https://github.com/smartdevicelink/protocol_spec).* |
| 52 | +* Device info will now automatically populate in the Register App Interface RPC. |
| 53 | + |
| 54 | + |
| 55 | +### Bugfixes |
| 56 | +* Fixed issue with onProxyClosed not always called in multiple session scenario |
| 57 | +* Removed recursion from HandleReceivedBytes |
| 58 | +* Fixed wrong key issue in UpdateTurnList during turn list retrieval |
| 59 | +* Fixed class cast exception caused by calling toArray from enums: |
| 60 | + * FrameData |
| 61 | + * FrameDataControlFrameType |
| 62 | + * FrameType |
| 63 | + * SessionType |
| 64 | +* Redirected deprecated methods to new methods when available for following classes: |
| 65 | + * GetVehicleData |
| 66 | + * GetVehicleDataResponse |
| 67 | + * OnVehicleData |
| 68 | + * SubscribeVehicleData |
| 69 | + * SubscribeVehicleDataResponse |
| 70 | + * UnsubscribeVehicleData |
| 71 | + * UnsubscribeVehicleDataResponse |
| 72 | +* Fixed incorrect naming conventions of variables (SdlTrace) |
| 73 | +* Fixed an issue RPC base classes that allowed for null values to be passed and cause issues with the underlying hashtable. |
| 74 | +* Fixed issue where different types of RPC’s (response, request, notification) could be used in their parent class (RPCMessage) state to create other children of that class. |
| 75 | +* Fixed SendLocation to use Doubles instead of Floats for degrees |
| 76 | +* Fixed naming of SessionTypes to reflect spec and Sava naming conventions |
| 77 | +* Fixed ByteEnumer to catch class cast exceptions |
| 78 | +* Removed outdated logging. |
| 79 | +* Implemented missing callbacks for turn by turn RPCs. |
0 commit comments