WiSeConnect - Network Stack Version 4.1.0 (Jun 23, 2026) - Release Notes#
Wi-Fi 6 + BLE (WiSeConnect) SDK Version 4.1.0
Simplicity SDK Version 2026.6.0
The Network Stack Software Development Kit (SDK) provides core and advanced networking features with Wi-Fi IoT cloud integration.
Click here for earlier releases.
Release Summary#
Key Features | API Changes | Bug Fixes | Chip Enablement
Key Features#
New TCP/TLS advanced-configuration setters for the HTTP client, MQTT client, and WebSocket client services.
Dual-stack (IPv4 + IPv6) network manager consolidation in
sl_net_for_dual_stack.c.
API Changes#
New
sl_http_client_set_tcp_tls_advanced_configuration(),sl_mqtt_client_set_tcp_tls_advanced_configuration(), andsl_websocket_set_tcp_tls_advanced_configuration()setters.NETWORK_ERROR_TLS_HOSTNAME_REQUIREDadded for embedded MQTT TLS flows (MQTTSi91x_lwip.h); HTTP/MQTT/WebSocket TCP-TLS advanced configuration returnsSL_STATUS_INVALID_PARAMETERwhen TLS-SNI is enabled without a hostname.sl_net_dns_resolve_hostname()flagged withSL_DEPRECATED_API_WISECONNECT_4_1.
Bug Fixes#
Fixed stability issues in select() timeout handling when both read and write file descriptor sets are specified together.
Fixed stability issues in select() when the timeout is set to 0 while operating on an SSL-enabled socket.
LWIP MQTT (
paho_mqtt_client/lwip_mqtt_over_tcp) MQTTS flow now requiresNetworkSetTlsHostname()beforeNetworkConnect(), handlesNETWORK_ERROR_TLS_HOSTNAME_REQUIRED, and performs full TLS/TCP cleanup on errors.Dual-stack (IPv4 + IPv6) NWP/M4 example: UDP IPv6 transfer fix and dual-stack errors under
LWIP_IPV4=0/LWIP_SOCKET=0.
Chip Enablement#
None
Key Features#
New Features | Enhancements | Removed Features | Deprecated Features
Note: See Feature Matrix for a list of any applicable APIs, examples, software variants, modes, hardware, and host interfaces applicable for each feature.
New Features#
BLE memory can now be reused for Network Stack memory and packet buffers once BLE is disabled.
Fixed race conditions in the socket closure path when remote termination and local socket close occur simultaneously.
Added support for graceful TCP FIN handshake closure.
Improved stability in the rejoin and IP-change handling paths.
Improved stability in concurrent (STA + AP) mode.
Upgraded the lwIP stack from v2.1.2 to v2.2.1.
Configurable TCP Parameters – Added configuration options for TCP retransmission count and TCP keep-alive count.
HTTP / MQTT / WebSocket TCP-TLS advanced configuration: New public setters on the three service clients allow configuration of TCP and TLS advanced options (for example, TLS-SNI hostname).
Dual-stack consolidation:
components/service/network_manager/src/sl_net_for_dual_stack.cconsolidates the IPv4 + IPv6 paths used by network-manager examples.
Enhancements#
Embedded MQTT TLS flows require
NetworkSetTlsHostname()before connect; missing hostname returnsNETWORK_ERROR_TLS_HOSTNAME_REQUIRED.HTTP/MQTT/WebSocket TCP-TLS advanced configuration validates TLS-SNI hostname and returns
SL_STATUS_INVALID_PARAMETERwhen required but unset.Added specific TLS/SSL handshake failure error codes to distinguish certificate, trust, hostname, and protocol mismatch failures beyond the generic handshake-failed (0xBBD2) error when debugger logging is enabled.
Removed Features#
None
Deprecated Features#
None
API Changes#
New APIs | Modified APIs | Removed APIs | Deprecated APIs
New APIs#
New API Signature | Deprecated API replaced by this (if any) |
|---|---|
| None |
| None |
| None |
|
|
Modified APIs#
Modified API / Type | Change Description |
|---|---|
| New advanced-config option structures added in the matching |
Removed APIs#
None
Deprecated APIs#
The following Net-Stack public APIs are newly marked with SL_DEPRECATED_API_WISECONNECT_4_1 (legacy kept as an alias; define SL_SUPPRESS_DEPRECATION_WARNINGS_WISECONNECT_4_1 to suppress warnings while migrating).
Deprecated API Name | Planned Removal Date |
|---|---|
| 2028-12 |
Bug Fixes#
Note: See the Feature Matrix section for a list of all hardware parts that work with the WiSeConnect SDK.
| ID | Issue Description | GitHub / Salesforce Reference (if any) | Affected Software Variants, OPNs, Boards, Modes, Host Interfaces |
|---|---|---|---|
| N/A | LWIP MQTT (paho_mqtt_client/lwip_mqtt_over_tcp) MQTTS flow now requires NetworkSetTlsHostname() before NetworkConnect(), handles NETWORK_ERROR_TLS_HOSTNAME_REQUIRED, and performs full TLS/TCP cleanup on errors. |
None |
|
| N/A | Compilation fix on the LWIP MQTT path. | None |
|
| N/A | Dual-stack errors under LWIP_IPV4=0 / LWIP_SOCKET=0 fixed in the dual-stack example. |
None |
|
| N/A | UDP IPv6 transfer fix in the dual-stack NWP/M4 example. | None |
|
| 1533360 | Fixed the BSD error 48 (socket bind failure) in the paho_mqtt_client/mqtt_over_tcp example during extended operation with repeated connect and disconnect cycles. | None |
|
| 1586929 | Resolved SLCP compilation errors in the wifi_net_dual_stack_nwp_m4 example when both netX and LwIP components are included. |
None |
|
| 1438843 | Fixed an issue where HTTP server become unresponsive after an iPhone browsers closed the connection before completing a request. | None |
|
| 1466146 | Fixed multithread-sockets TCP_RX teardown order so the client socket is closed before the server socket, preventing the spurious client-close failure. | None |
|
| 1502295 | Fixed an issue where select_given was incorrectly set when sl_si91x_select() was not registered a select slot, preventing the application from assuming a select is active when firmware rejected the request. |
None |
|
| 1612990 | Updated the embedded MQTT examples to handle MQTT receive error cases (SL_MQTT_CLIENT_MAX_RX_PAYLOAD_SIZE exceeded, allocation failure, or corrupted reassembly) in the error in the event handler. |
None |
|
| 1615135 | Fixed an issue in RAW_DATA socket-to-host mapping that could cause missed WebSocket ping responses and unstable connection closure behavior. | None |
|
| 1614539 | Fixed an issue where the lwIP TCP client snippet could not handle TX backpressure: paces sends, retries transient send() errors (ENOBUFS / EAGAIN / EWOULDBLOCK), and connection instability. |
None |
|
| 1630112 | Fixed an issue where sli_net_get_vap_for_ip_version() could return EAFNOSUPPORT when no sl_net profile was available and the application configured IP addresses directly by using sl_si91x_configure_ip_address(). | None |
|
| 1639986 | Fixed an issue where HTTP PUT operation could fail on completion because of TCP connection teardown handling. | None |
|
| 1402920 | Fixed the TCP server bind failure on re-run in the Wi-Fi Select app, so that fd 0 (a legal descriptor) is no longer skipped. |
None |
|
| 1587427 | Removed dead code in HTTP ABORT/HTTP CLIENT PUT response handling that could never run and would have double-freed a buffer. No behavior change; fix is cleanup and safety. | None |
|
| 1647932 | Fixed memory leaks in ECDSA crypto processing for the firmware crypto command. | None |
|
| 1629554 | Fixed the stability issues in select() timeout handling when both read and write file descriptor sets were specified together. | None |
|
| 1625105 | Fixed the stability issues in select() when a timeout value of 0 was used with an SSL-enabled socket. | None |
|
| 1641898 | Fixed an issue where DHCP IP address assignment validation could fail after redirecting IPv4 and IPv6 address output from printf to SL_DEBUG_LOG_V2. | None |
|
Chip Enablement#
None
Application Example Changes#
New Examples | Modified Examples | Removed Examples | Deprecated Examples
Note: See the Feature Matrix section for a list of all hardware parts that work with the WiSeConnect SDK.
New Examples#
None
Modified Examples#
| Example Name | Changes | Supported Software Variants (if applicable) | Supported Modes | Supported OPNs / Boards / OPN Combinations | Supported Host Interfaces |
|---|---|---|---|---|---|
|
Wi-Fi - Embedded MQTT Client, Embedded MQTT Client TWT See README |
Now handle MQTT-RX errors (receive-failed, payload exceeding SL_MQTT_CLIENT_MAX_RX_PAYLOAD_SIZE, allocation failure, corrupted reassembly) via a new mqtt_client_error_event_handler instead of always terminating. |
Standard and Lite |
|
|
SPI, UART |
|
Wi-Fi - Paho LWIP MQTT over TCP See README |
Updated for the MQTTS hostname-required flow and full TLS/TCP cleanup on errors. | Standard and Lite |
|
|
SPI, UART |
|
Wi-Fi - SNTP, HTTP OTAF, HTTP OTAF TWT, M4 Firmware Update, Bootloader XModem See README |
Migrated to sl_net_dns_resolve_hostname_v2 (timeout / retry). |
Standard and Lite |
|
|
SPI, UART |
|
Wi-Fi - Cloud Apps, Provisioning, Three SSL Concurrent Client Sockets See README |
Aligned with the new HTTP/MQTT/WebSocket TCP-TLS advanced-configuration APIs. | Standard and Lite |
|
|
SPI, UART |
Removed Examples#
None
Deprecated Examples#
None
Known Issues and Limitations#
| ID | Issue or Limitation Description | GitHub / Salesforce Reference (if any) | Workaround (if any) | Affected Software Variants, OPNs, Boards, Modes, Host Interfaces |
|---|---|---|---|---|
| 1607288 | When IPv6 is enabled with LwIP timer optimization, the DUT may take more than 30 seconds to join certain access points. This behavior is observed only with specific AP models. | None | None |
|
| 745282 | Occasionally, during a TLS handshake, the device generates incorrect ECC curve parameters, causing a connection failure that results in a BBD2 error. |
None | The error is recovered in the next attempt. |
|
| 1650506 | TCP TX data transfer may fail with BSD error 103 when LWIP adaptive timers are enabled along with WLAN+BLE coexistence and power save (PS) mode. | None | None |
|
| 1651053 | HTTPS download may fail with error code 0x7 on certain APs in IOP scenarios. | None | None |
|
| 1672602 | Observed socket connection failure in TCP_RX after disabling the BLE flag in the CoEx throughput application, while in a previous iteration the remote peer did not send FIN/ACK during the socket closure handshake. | None | None |
|
| 1673887 | In BLE/Wi‑Fi provisioning application, DUT may become unresponsive and scan results may stop updating when continuous scan requests are triggered from a third‑party STA connected to the APUT. | None | None |
|
| 1675400 | Dual simultaneous AWS MQTT/TLS sessions may fail to establish after BLE is disabled with reclaimed BLE memory. | None | None |
|
| 1681789 | DUT does not send response in TCP_RX when remote initiates FIN during data transfer. | None | None |
|
| 1681637 | When the Wi-Fi client profile is configured with both IPv4 and IPv6 enabled (SL_IPV4 | SL_IPV6, typically with SL_IP_MANAGEMENT_DHCP), connection to an access point that does not provide IPv6 service fails completely. The device returns SL_STATUS_SI91X_DHCPV6_HANDSHAKE_FAIL (0x1BB9C) and does not remain operational on IPv4, even though IPv4 DHCP could have succeeded. |
None | Configure the Wi-Fi client profile for IPv4 only (SL_IPV4) when connecting to IPv4-only access points. |
|
| 1625569 | When the device is configured with static IP using SL_IP_MANAGEMENT_STATIC_IP, it still operates as a DHCP client after connecting to the network. sl_net_get_ip_address() returns a DHCP-assigned IP address instead of the configured static IP. |
None | Use the static IP directly from the Wi-Fi client profile configuration instead of relying on sl_net_get_ip_address(). |
|
| 1661749 | MQTT over TLS on port 443 with Application-Layer Protocol Negotiation (ALPN) may fail with error 12 (cannot allocate memory) when ALPN configuration is added to the Paho MQTT over TCP application. | None | None |
|
| NA | The power-saving benefits of the hosted Network Stack LWIP may not be fully realized when IPv6 mode is enabled if the network infrastructure lacks IPv6 support. | None | None |
|
| NA | External connections to services hosted within the NAT environment are not supported. | None | None |
|
| NA | NAT/PAT is incompatible with protocols and applications that embed IP address and port number information within the payload (examples include SMTP, SNMP, and similar protocols). | None | None |
|
| NA | Network traffic translation and additional processing requirements result in increased latency and reduced throughput performance. | None | None |
|
| NA | Inbound traffic routing is not supported by the current implementation. | None | None |
|
| NA | Outbound ICMP traffic (ping requests) is restricted to a maximum payload size of 300 bytes. | None | None |
|
| N/A | TLS or DTLS connections must be initiated sequentially after the completion (success or failure) of the previous connection. | None | None |
|
| N/A | Power save with TCP/IP is not supported with the UART host interface in the non-bypass mode. | None | None |
|
| N/A | Embedded MQTT usernames are supported only up to 120 bytes. | None | None |
|
| N/A | Embedded MQTT topic lengths are supported only up to 200 bytes. | None | None |
|
| N/A | Embedded MQTT passwords are supported only up to 62 bytes. | None | None |
|
| N/A | HTTP GET URL lengths are only supported up to 2048 bytes. | None | None |
|
| N/A | More than three SSL connections are not supported. | None | None |
|
| N/A | The combined length of the mDNS service type and instance name is limited to 30 bytes maximum. | None | None |
|
| 1660782 | In the Wi-Fi Throughput example, if the iperf session is stopped abruptly (for example, force-closed from the PC), the application may not recover as expected. TCP RX and UDP RX tasks can get stuck and not exit even after the configured timeout. TCP RX may return immediately. | None | Avoid force-killing iperf during a throughput test—stop the test normally or let it finish. If the app hangs, reset the device before running the next test. |
|
| 1678276 | Calling sl_si91x_bind() with port 0 (to let the system pick a free port) fails with error 40 (address already in use). This affects UDP client setups that need a dynamically assigned local port, such as bidirectional UDP with one fixed server port and one client socket. A fix is planned in an upcoming release. |
None | Use a fixed local port in bind(), or call send() after socket creation so the port is assigned automatically without binding to port 0. |
|
| 1680037 | The sl_mqtt_version_t enum lists only MQTT v3.0 and v3.1, even though the MQTT client supports v3.1.1. Because of this, it is unclear which value to set in the client configuration passed to sl_mqtt_client_connect_v1(). A documentation and API update is planned in an upcoming release. |
None | Use SL_MQTT_VERSION_3_1 for MQTT v3.1.1 connections until the enum is updated. |
|
| 1660224 | In concurrent STA+AP mode, an active MQTT session on the STA interface is dropped when the AP interface is brought down (e.g., via wifi_down). This occurs when MQTT traffic runs on STA while the device is operating in concurrent mode and the AP interface is stopped. A fix is planned in an upcoming release. |
None | Avoid toggling the AP interface while MQTT is active on STA, or restart the MQTT session after AP changes. |
|
| 1678345 | When Wi-Fi TCP traffic runs together with Secure GPIO control and periodic set power-state changes, the device may return SL_STATUS_SI91X_COMMAND_GIVEN_IN_INVALID_STATE after several hours of continuous operation. This was seen on secure-zone enabled setups where GPIO pins toggle while TCP transmit runs in a loop with power save enabled. |
None | Limit concurrent Wi-Fi, GPIO, and power-save activity in secure applications, or reset the device if this error occurs. |
|