OpenThread C API Reference Updates

See "api: platform" and "api: user" labeled Pull Requests on GitHub for additional details on API Reference updates.

July 12, 2024

  • Added new otCoapMessageAppendUriQueryOptions function to the CoAP API.

  • Added the OPENTHREAD_CONFIG_BORDER_ROUTING_TRACK_PEER_BR_INFO_ENABLE macro to the Border Routing Manager module of the Configuration Variables Reference.

June 21, 2024

  • Added new otBleSecureSetTcatVendorInfo function to the BLE Secure API.

  • Added new otDiagSetOutputCallback function to the Factory Diagnostics - Thread Stack API.

  • Added new functions to the Multicast DNS API: otMdnsGetNextBrowser, otMdnsGetNextIp4AddressResolver, otMdnsGetNextIp6AddressResolver, otMdnsGetNextSrvResolver, and otMdnsGetNextTxtResolver.

  • Added new functions to the BLE platform extraction module: otPlatBleGapAdvSetData, otPlatBleGetAdvertisementBuffer, otPlatBleGetLinkCapabilities, and otPlatBleSupportsMultiRadio.

  • Added new otPlatDiagSetOutputCallback function to the Factory Diagnostics - Platform abstraction module.

  • otTcatDeviceID struct added to the BLE Secure API.

  • otMdnsCacheInfo struct added to the Multicast DNS API.

  • To allow for seamless integration of either platform or native mDNS implementations, the following structs were added to the DNS-SD (mDNS) platform abstraction module: otPlatDnssdAddressAndTtl, otPlatDnssdAddressResolver, otPlatDnssdAddressResult, otPlatDnssdBrowseResult, otPlatDnssdBrowser, otPlatDnssdSrvResolver, otPlatDnssdSrvResult, otPlatDnssdTxtResolver, and otPlatDnssdTxtResult.

    Multicast DNS APIs have been updated to be typedef aliases of the corresponding otPlatDnssd structure definitions.

  • otBleLinkCapabilities struct added to the BLE platform extraction module.

  • Added the OPENTHREAD_CONFIG_DNSSD_DISCOVERY_PROXY_ENABLE macro to the DNS-SD Server module of the Configuration Variables Reference.

  • Added the OPENTHREAD_CONFIG_MULTICAST_DNS_ENTRY_ITERATION_API_ENABLE macro to the Multicast DNS module of the Configuration Variables Reference.

May 17, 2024

April 29, 2024

  • Added new test tmforiginfilter command to the CLI Command Reference.

  • Added new otBorderRoutingDhcp6PdSetRequestCallback function to the Border Routing Manager API.

  • Added new otBorderRoutingRequestDhcp6PdCallback typedef to the Border Routing Manager API.

  • Added new otLinkMetricsManagerIsEnabled function to the Link Metrics API.

  • Added new functions to the Multicast DNS API: otMdnsAllocateIterator, otMdnsFreeIterator, otMdnsGetNextHost, otMdnsGetNextKey, and otMdnsGetNextService.

  • Added new functions to the Router/Leader API: otThreadIsTmfOriginFilterEnabled, otThreadSetThreadVersionCheckEnabled, and otThreadSetTmfOriginFilterEnabled.

  • Added the OPENTHREAD_CONFIG_MULTICAST_DNS_AUTO_ENABLE_ON_INFRA_IF macro to the Multicast DNS module of the Configuration Variables Reference.

  • Added the OPENTHREAD_CONFIG_PLATFORM_DNSSD_ALLOW_RUN_TIME_SELECTION macro to the Platform Specific Services module of the Configuration Variables Reference.

April 11, 2024

March 28, 2024

March 21, 2024

March 8, 2024

February 27, 2024

February 14, 2024

  • Added new coaps commands to the CLI Command Reference, beginning alphabetically with coaps connect.
  • Added a new platform abstraction module for DNS-SD.
  • Added new OPENTHREAD_CONFIG_PLATFORM_DNSSD_ENABLE macro to the Platform Specific Services module.
  • Added new OPENTHREAD_CONFIG_SRP_SERVER_ADVERTISING_PROXY_ENABLE macro to the SRP Server module.

February 6, 2024

  • Added new coap commands to the CLI Command Reference, beginning alphabetically with coap cancel.
  • Added the mMeshLocal attribute to the otIp6AddressInfo struct of the Ipv6 API.

February 1, 2024

  • Added new commissioner commands to the CLI Command Reference, beginning alphabetically with commissioner announce.
  • Added new otCoapSecureIsClosed and otCoapSecureStartWithMaxConnAttempts functions to the CoAP Secure API.
  • Added new otIp4FromIp4MappedIp6Address and otIp4ToIp4MappedIp6Address functions to the NAT64 API.
  • Added new otPlatRadioResetCsl function to the Radio Operation API.

January 23, 2024

  • Added new TREL module to the Configuration Variables Reference.

January 9, 2024

  • Added new history commands to the CLI Command Reference, beginning alphabetically with history ip addr.
  • Added new otPlatTrelCounters struct to the TREL Platform.
  • Added new otUpstreamDnsCounters struct to the DNS-SD Server API.

December 27, 2023

December 13, 2023

November 29, 2023

  • Added new SRP server commands to the CLI Command Reference, beginning alphabetically with srp server (enable,disable).
  • Added a new platform abstraction module for Multipan.
  • Added new otNcpHdlcInitMulti function to the Network Co-Processor API.
  • Added new otInstanceInitMultiple function to the Instance API.
  • Added new otMessageIsMulticastLoopEnabled and otMessageSetMulticastLoopEnabled functions to the Message API.

November 21, 2023

November 7, 2023

  • Added new TCP commands to the CLI Command Reference, beginning alphabetically with tcp abort.

November 2, 2023

October 13, 2023

October 5, 2023

September 28, 2023

September 22, 2023

September 14, 2023

September 8, 2023

August 29, 2023

August 15, 2023

July 31, 2023

  • Added the new command mleadvimax to the CLI Command Reference.
  • otThreadGetAdvertisementTrickleIntervalMax function added to the Router/Leader API.

July 26, 2023

July 19, 2023

  • Added new APIs and related CLI commands to allow users to manually set the published route preference to the Border Routing Manager API.
  • Updated the SRP API for better handling of service instance names.
  • Added new structs, functions, and related CLI commands to the Mesh Diagnostics API to collect statistics on the time that messages spend in TX queue.

June 26, 2023

June 13, 2023

June 1, 2023

May 17, 2023

May 8, 2023

  • Added new commands to the CLI Command Reference:
  • otBorderAgentGetId function added to the Border Agent API.
  • otIp6PrefixFromString function added to the IPv6 API.
  • otThreadGetVendorModel, otThreadGetVendorName, otThreadGetVendorSwVersion, otThreadSetVendorModel, otThreadSetVendorName, and otThreadSetVendorSwVersion functions added to the Thread - General API.

May 1, 2023

  • otPlatCryptoEcdsaGenerateAndImportKey, otPlatCryptoEcdsaExportPublicKey, otPlatCryptoEcdsaSignUsingKeyRef, and otPlatCryptoEcdsaVerifyUsingKeyRef functions added to the Crypto Platform API.
  • otPlatDiagRadioTransmitStream function added to the Platform Factory Diagnostics API.

April 18, 2023

  • otIp4CidrFromString function added to the NAT64 API.

March 28, 2023

March 23, 2023

March 15, 2023

March 02, 2023

February 20, 2023

February 14, 2023

January 31, 2023

January 18, 2023

January 3, 2023

November 18, 2022

October 26, 2022

October 19, 2022

October 13, 2022

September 21, 2022

  • otIp4AddressFromString and otNat64SynthesizeIp6Address functions added to the NAT64 API.
  • otSrpServerIsAutoEnableMode and otSrpServerSetAutoEnableMode functions added to the SRP API.
  • Enum updates to the TCP Abstractions API.

September 15, 2022

  • Added new enums, typedefs, and functions to the NAT64 API to support new NAT64 CLI commands.
  • Added NAT64 commands to the CLI Command Reference, including NAT64 CIDR, prefix, mapping, and counter commands.

August 25, 2022

August 24, 2022

  • otNat64ReceiveIp4Callback, otIp4NewMessage, otNat64Send, otNat64SetIp4Cidr, and otNat64SetReceiveIp4Callback functions added to the NAT64 API.
  • Added child commands to the CLI Command Reference.

August 16, 2022

August 3, 2022

  • Added channel commands to the CLI Command Reference.

July 27, 2022

July 20, 2022

July 14, 2022

July 7, 2022

  • otBorderRoutingGetRouteInfoOptionPreference and otBorderRoutingSetRouteInfoOptionPreference functions added to the Border Router API.

June 28, 2022

  • OT_IP6_MAX_MLR_ADDRESSES macro added to the IPv6 API.
  • OT_ERROR_ALREADY removed from the otNetDataPublishExternalRoute and otNetDataPublishOnMeshPrefix functions in the Thread - General API.

June 14, 2022

  • otTimestamp typedef added to the Operational Dataset API.
  • OT_SETTINGS_KEY_LEGACY_NAT64_PREFIX, OT_SETTINGS_KEY_LEGACY_OMR_PREFIX OT_SETTINGS_KEY_ON_LINK_PREFIX, and OT_SETTINGS_KEY_RESERVED enums removed from the Platform - Settings API.
  • otSrpServerTtlConfig typedef and otSrpClientEnableAutoHostAddress, otSrpServerGetTtlConfig, otSrpServerServiceGetTtl, and otSrpServerSetTtlConfig functions added to the SRP API.
  • otDetachGracefullyCallback typedef and otThreadDetachGracefully function added to the Thread - General API.

May 31, 2022

  • otDnssdCounters typedef and otDnssdGetCounters function added to the DNS-SD Server API.
  • Removed otPlatRadioGetCslClockUncertainty function and added otPlatRadioGetCslUncertainty function to the Radio Operation API.
  • otSrpServerLeaseInfo and otSrpServerResponseCounters typedefs, otSrpClientGetTtl, otSrpClientSetTtl, otSrpServerGetPort, otSrpServerGetResponseCounters, otSrpServerHostGetLeaseInfo, and otSrpServerServiceGetLeaseInfo functions added to the SRP API.

May 18, 2022

April 20, 2022

April 13, 2022

March 30, 2022

March 15, 2022

  • otDnsClientResolveIp4Address function added to the DNSv6 API.
  • OT_SETTINGS_KEY_BR_ULA_PREFIX enum added along with other enum updates to the Platform Settings API.

February 23, 2022

February 2, 2022

  • otCoapMessageSetCode function added to the CoAP API.
  • otPlatCryptoRandomDeinit, otPlatCryptoRandomGet, and otPlatCryptoRandomInit functions added to the Crypto - Platform API.
  • otRandomCryptoMbedTlsContextGet removed from the RNG Cryptographic API.
  • The Entropy Source API has been removed.
  • otHistoryTrackerNetDataEvent enum, otHistoryTrackerExternalRouteInfo and otHistoryTrackerOnMeshPrefixInfo typedefs, otHistoryTrackerIterateExternalRouteHistory and otHistoryTrackerIterateOnMeshPrefixHistory functions added to the History Tracker API.
  • Added new Transition Control Blocks (TCB) macros to the TCP API.
  • Added Thread Radio Encapsulation Link (TREL) API for Thread Over Infrastructure.
  • Function, typedef, and struct updates to the TREL - Platform API.

January 19, 2022

  • otBackboneRouterNdProxyInfo typedef and otBackboneRouterConfigSkipSeqNumIncrease method added to the Backbone Router API.
  • otBorderRoutingGetNat64Prefix function added to the Border Router API.
  • Updated otIp6SubscribeMulticastAddress return values on the IPv6 API.
  • otJoinerStateToString function added to the Joiner API.
  • Updated the otPlatLogLine function on the Logging - Platform API.
  • OT_SETTINGS_KEY_NAT64_PREFIX key added to the settings enum on the Settings API.

December 7, 2021

  • otLinkIsRadioFilterEnabled and otLinkSetRadioFilterEnabled functions added to the Link API.
  • otThreadSetThreadVersionCheckEnabled added to the Router/Leader API.

September 27, 2021

September 20, 2021

  • otHistoryTrackerMulticastAddressInfo and otHistoryTrackerUnicastAddressInfo structs added to the History Tracker API.

September 13, 2021

August 30, 2021

August 24, 2021

June 22, 2021

May 10, 2021

  • otSrpServerLeaseConfig struct added to the SRP API.

April 12, 2021

April 5, 2021

  • otPingSenderStatistics struct added to the Ping Sender API.
  • otSrpClientBuffersServiceEntry struct added to the SRP API.

March 25, 2021

March 9, 2021

  • otDnsTxtEntry and otDnsTxtEntryIterator structs added to the DNS API.
  • otMessage struct removed from the Message API.
  • otMessageBuffer struct added to the Message Pool API.

February 22, 2021

  • otDnsQueryConfig struct added to the DNS API.

February 16, 2021

  • otDnsQuery struct removed from and otDnsServiceInfo struct added to the DNS API.

February 9, 2021

  • otSrpClientGetServerAddress, otSrpClientIsRunning, and otSrpClientSetCallback functions added to the SRP API.
  • Heap API is deprecated.

February 2, 2021

  • otCoapBlockwiseResource struct added to the CoAP API.
  • otSrpTxtEntry struct removed from the SRP API.

January 26, 2021

January 20, 2021

November 9, 2020

October 20, 2020

  • otIp6AddressInfo struct added to the IPv6 API.

October 2, 2020

August 31, 2020

  • Added APIs for Coordinated Sampled Listening (CSL) support in Thread 1.2.
  • otBackboneRouterMulticastListenerInfo struct added to the Backbone Router API.

August 12, 2020

  • otThreadDiscoveryRequestInfo struct added to the General API.

July 15, 2020

  • otBackboneRouterConfig function added to the Backbone Router API.

  • otCoapAddResource function removed from the CoAP API.

  • otJoinerPskd, otJoinerInfoType, otCommissionerAddJoinerWithDiscerner, and otCommissionerRemoveJoinerWithDiscerner functions added to the Commissioner API.

  • otJoinerGetDiscerner, otJoinerSetDiscerner, and otJoinerDiscerner functions added to the Joiner API.

  • otLinkFilterClearDefaultRssIn, and otLinkFilterSetDefaultRssIn functions added to the Link API.

  • otLinkRawGetRadioTime, otLinkRawSetMacFrameCounter, and otLinkRawSetMacKey functions added to the Raw Link API.

  • otDatasetGetActiveTlvs, otDatasetGetPendingTlvs, otDatasetSetActiveTlvs, otDatasetSetPendingTlvs, otThreadGetFixedDuaInterfaceIdentifier, and otThreadSetFixedDuaInterfaceIdentifier functions added to the General API.

  • otUdpGetSockets function removed from the UDP Forward API.

  • otUdpGetSockets function added to the UDP API.

  • otPlatRadioGetNow, otPlatRadioSetMacFrameCounter, and otPlatRadioSetMacKey, functions added to the Platform Radio Configuration API.

April 27, 2020

March 24, 2020

  • Added OT_COAP_MAX_RETRANSMIT and OT_COAP_MIN_ACK_TIMEOUT macros to the CoAP API.

March 2, 2020

  • Updated the CoAP API:
    • otCoapOptionIterator and otCoapTxParameters structs added.
    • Added helper functions to encode CoAP block options.
    • Added functions to specify per-message transmission parameters for CoAP requests and responses.

January 9, 2020

  • Histogram retry functions added to the Link API.

December 3, 2019

  • Server and Service configuration functions and structs moved from the Server API to the General API to support service registration by Leaders.
  • *RouterRoleEnabled functions renamed to *RouterEligible in the Router API to support REED enhancements.
  • otPlatLogv function removed from the Logging Platform API.
  • OT_TOOL_ALIGN macro removed from the Toolchain Platform API and from various struct definitions.

November 11, 2019

  • otThreadResetIp6Counters function added to the General API.
  • New functions for resetting counters and getting and setting maximum frame retries added to the Link API.

October 25, 2019

September 19, 2019

  • Split the Random API page into Crypto and Non-Crypto to align with source code.
  • otJoinerInfo struct and otCommissionerGetNextJoinerInfo function added to the Commissioner API.
  • otRadioCoexMetrics struct and otPlatRadioIsCoexEnabled function added to the Radio Types API.
  • Changed the return type of numerous APIs that always succeed from otError to void.

August 9, 2019

June 17, 2019

  • Added callbacks for notifying of state changes and joiner activity to the Commissioner API.
  • Compiler-specific function modifiers of OTAPI, OTCALL, OT_CALL, and OT_CDECL removed in conjunction with removal of Windows support.

May 28, 2019

May 14, 2019

  • otPlatRadioGetPreferredChannelMask and otPlatRadioGetSupportedChannelMask functions added to the Radio Operation Platform API.
  • Removed physical layer channel functions from the Link API.

March 14, 2019

February 25, 2019

  • otIp6SlaacIidCreate and otIp6SlaacUpdate functions removed from the IPv6 API.

January 30, 2019

January 23, 2019

  • UDP Receiver functions added to the UDP API.
  • otCoapHeader struct removed from the CoAP API. CoAP header information has been refined into the CoAP message.
  • The DHCPv6 Server API has been removed.

January 7, 2019