- Initial GA release
- Added XML reading function
iot_data_from_xml
.
- Added
iot_data
utility functions for type determination:
iot_data_is_of_type
iot_data_array_is_of_type
iot_data_map_key_is_of_type
- Added
iot_data
functions to remove map elements:
iot_data_string_map_remove
iot_data_map_remove
- Added memory usage optimisation for
iot_data
allocation - Added support for AzureSphere platform
- Fix
iot_data_alloc_from_string
for very large UINT64 values - Fix
iot_data
handling of escape sequences in JSON strings
- Update to use AzureSphere SDK 21.02 and API version 8
- Update to
iot_data_equal
function to support NULL arguments - File write and delete functions added:
iot_file_write
iot_file_write_binary
iot_file_delete
- New hash function added for arrays
iot_hash_data
- Support for new iot data type IOT_DATA_NULL. New function added:
iot_data_alloc_null
- Performance enhancement for json parsing
- Attempting to get a string from a non string
iot_data_t
now returns NULL rather than asserting - Logger updates to use micro second timestamps
- New function added for microsecond timestamp
iot_time_usecs
- Update to use AzureSphere SDK 21.07 and API version 10
- Various SonarQube quality fixes
- Added support for UUID in data. New functions added:
iot_data_alloc_uuid
iot_data_alloc_uuid_string
- Zero length
iot_data_t
arrays now supported - Data map performance enhancements. Note iteration order is now based on key ordering.
- Added metadata based JSON object key ordering support. This includes the addition of the function:
iot_data_from_json_with_ordering
- Support for new iot data type IOT_DATA_POINTER. New functions added:
iot_data_alloc_pointer
iot_data_pointer
- Uninterruptible wait functions added
iot_wait_secs
iot_wait_msecs
iot_wait_usecs
- Formatted string allocation added
iot_data_alloc_string_fmt
- Config function added for 32 bit integers
iot_config_i32
- Config function added to environment variable substitution in string.
iot_config_substitute_env
- Support added for Debian 11
- Fedora support updated to version 34
- Photon Linux support updated to version 4.0
- OpenSUSE support updated to version 15.3
- Alpine Linux version 3.14 support added
- Support added for AzureSphere SDK 21.10 and API 11
- Memory usage optimisation for iot data
- Function added to support the caching of iot data json key values:
iot_data_from_json_with_cache
- Support added for data vector, map and array reverse iteration
iot_data_vector_iter_prev
iot_data_array_iter_prev
iot_data_map_iter_prev
- Support for UDP logger added
- Function added to output data json representation into a provided string buffer
iot_data_to_json_with_buffer
- Update to support the JSON representation of infinite floating point values
- The static library initialisation and finalisation functions are no longer required and have been removed:
iot_init
iot_fini
- Support added for data list type:
iot_data_alloc_list
iot_data_list_length
iot_data_list_find
iot_data_list_remove
iot_data_list_tail_push
iot_data_list_head_push
iot_data_list_tail_pop
iot_data_list_head_pop
iot_data_list_iter
iot_data_list_iter_value
iot_data_list_iter_replace
iot_data_list_iter_next
iot_data_list_iter_prev
- Added allocation functions for fixed type map, vector and list:
iot_data_alloc_typed_list
iot_data_alloc_typed_map
iot_data_alloc_typed_vector
- Added element type functions for map, vector and list:
iot_data_vector_type
iot_data_map_type
iot_data_list_type
- Added typed map lookup functions:
iot_data_map_get_string
iot_data_map_get_i64
iot_data_map_get_bool
iot_data_map_get_f64
iot_data_map_get_vector
iot_data_map_get_map
iot_data_map_get_list
iot_data_map_get_pointer
iot_data_map_get_typed
- Added functions to determine if current list, map, array or vector iterator has a next element:
iot_data_list_iter_has_next
iot_data_array_iter_has_next
iot_data_vector_iter_has_next
iot_data_map_iter_has_next
- Data typecode simplification. Removed functions:
iot_typecode_alloc_basic
iot_typecode_alloc_map
iot_typecode_alloc_array
iot_typecode_alloc_vector
iot_typecode_alloc_list
iot_typecode_element_type
iot_typecode_free
- Optimised iterator value functions added for string and pointer for all collection types:
iot_data_vector_iter_string_value
iot_data_vector_iter_pointer_value
iot_data_list_iter_string_value
iot_data_list_iter_pointer_value
iot_data_map_iter_pointer_value
- Functions added to explicitly enable data allocation from heap
iot_data_alloc_heap
- Function added to cast data integer, float or boolean types:
iot_data_cast
- Functions added for the creation of static const data string and pointer values and to determine if statically allocated:
iot_data_alloc_const_string
iot_data_alloc_const_pointer
iot_data_is_static
- Function added to return data hash value:
iot_data_hash
- Function added to compare data values:
iot_data_compare
- Functions added to compress composed data values (Map, Vector and List):
iot_data_compress
iot_data_compress_with_cache
- Data transform and helper functions added:
iot_data_vector_to_array
iot_data_vector_to_vector
iot_data_array_transform
iot_data_transform
iot_data_vector_element_count
iot_data_vector_dimensions
iot_data_map_start
iot_data_map_start_pointer
iot_data_map_end
iot_data_map_end_pointer
- Function added to return size of encapsulated C data type
iot_data_type_size
- Scheduler implementation scalability rework, plus function added to return schedule id:
iot_schedule_id
- Map data type updated to support all key types
- Fedora support updated for Fedora 35
- Support removed for Alpine Linux versions 3.12 and 3.13
- Support removed for CentOS 8
- Support removed for Zephyr 1.14
- Support removed for Ubuntu 16.04 added for Ubuntu 22.04
- Support removed for Debian 9
- Support removed for AzureSphere API 8 and 10
- #216 Fix for calling
iot_data_alloc_from_string
with empty string - Data metadata set and get functions updated to take a key value
- Support added for OpenSUSE 15.4
- Shallow copy function added:
iot_data_shallow_copy
- Functions added to support nested maps and vectors:
iot_data_get_at
iot_data_add_at
iot_data_remove_at
iot_data_update_at
- Function added to compact a vector (removing NULL elements):
iot_data_vector_compact
- Fix
iot_data_from_json
handling of unicode strings - Conversion functions added for array and binary data types
iot_data_array_to_binary
iot_data_binary_to_array
- Function added for the creation of static const data list values:
iot_data_alloc_const_list
- Additional range checking added for
iot_data_alloc_from_string
function - Support removed for Alpine Linux 3.14 and added for v3.16
- Functions added to remove all elements from a list or map
iot_data_list_empty
iot_data_map_empty
-
Support removed for Fedora 35 and added for Fedora 36
-
Support removed for AzureSphere API 11
-
Support removed for OpenSUSE 15.3
-
Functions added to access typed data in maps
iot_data_map_get_ui64
iot_data_string_map_get_ui64
- Functions added to access data from configurations
iot_config_ui32
iot_config_ui64
- Functions added to return numeric values from maps
iot_data_map_get_number
iot_data_string_map_get_number
iot_data_map_get_int
iot_data_string_map_get_int
- Support added for RISC-V on 32/64 bit OE and Intel Pathfinder targets (rv64i, rv32i, rv64id, rv32id)
iot_schedule_reset
function updated to take a start delay parameter- Support added for optional component callback, invoked when all components running
- Component configuration cache added
iot_container_component_read
function added to return metadata about a named componentiot_component_read
function added to return metadata about a component- Support added for setting component categories
- Added
iot_data_is_nan
utility function - Added
iot_data_list_iter_remove
function to remove an element associated with a list iterator - Added
iot_util_string_is_uuid
function to check string for UUID format - Added
iot_data_alloc_const_ui64
function to allocate const uint64_t data value - Persistent store abstractions refactored into store.h
- File store functions refactored into file.h
- Update to by default serialize schedule execution. Can be overridden with a new
iot_schedule_set_concurrent
function - Added
iot_data_map_merge
function to merge one maps contents into another - Updated
iot_component_reconfig
function to store updated configuration