Releases: nrfconnect/ncs-serial-modem
Releases · nrfconnect/ncs-serial-modem
v1.0.1
Release Highlights
- Uses NCS v3.2.4 release.
- Improve pipe handling of CMUX modem trace module.
- Change RI from pulse (100ms) to level triggered meaning RI stays asserted until the host asserts DTR.
What's Changed
- [Backport v1-branch] Cmux trace script fixes by @github-actions[bot] in #199
- [Backport v1-branch] app: Fix full modem update completion flow after reboot by @github-actions[bot] in #200
- [Backport v1-branch] Improve pipe handling of CMUX modem trace module by @github-actions[bot] in #202
- [Backport v1-branch] workflows: Optimize integration run by @NordicBuilder in #213
- manifest: Update nrf to v3.2.4 by @trantanen in #214
- [Backport v1-branch] drivers: dtr_uart: Change RI from pulse to level by @NordicBuilder in #217
- [Backport v1-branch] manifest/compliance: add allowlist filtering and compliance fixes by @trantanen in #227
- app: Do not call LOG_PANIC() with reset or shutdown by @MarkusLassila in #231
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Release Highlights
- This is the first official release of the Serial Modem.
- Uses NCS v3.2.2 release.
- Added DFU AT commands.
- Added run-time setting of UART speed (AT+IPR).
- Added modem trace support for a CMUX channel.
- PPP starts on AT UART when used without CMUX. Option to use secondary UART removed.
- Changed UART pins for external MCU use case.
- Marked the following features experimental: Thingy:91 X, nRF Cloud AT commands, MQTT AT commands, LwM2M carrier lib, memfault and sm_at_client.h.
What's Changed
- app: Fix race condition to switch CMUX channel for AT by @SeppoTakalo in #123
- app: If PPP is stopped from DLCI(1), switch AT channel there by @SeppoTakalo in #125
- app: move PPP event handling from work queue to dedicated thread by @SeppoTakalo in #124
- app: Fix deadlock during modem crash dump collection by @MarkusLassila in #127
- app: add DFU support by @SyverHaraldsen in #101
- app: Fix missing data when receiving packet > MTU by @MarkusLassila in #128
- app: scripts: Update requirements.txt to specify cbor2 version by @SyverHaraldsen in #132
- doc: Updates to Socket AT commands document and migration notes by @divipillai in #130
- app: dfu: Add space into #XDFU notification by @trantanen in #131
- manifest: Update nrf to v3.2.1 by @trantanen in #134
- doc: app: "AT" prefix and "parameter" terminology in syntax by @trantanen in #135
- app: ppp: Missing CGEV notification by @trantanen in #138
- app: ppp: Case insensitive handling of intercepted CFUN and CGEREP by @trantanen in #140
- app: Remove CONFIG_SM_DATAMODE_URC by @trantanen in #139
- app: dfu: fix datamode context addr update by @SyverHaraldsen in #141
- app: Refactor most modules to use SYS_INIT() by @SeppoTakalo in #126
- app: Fix work queue thread query on UART driver by @SeppoTakalo in #146
- app: Fix work queue thread ID check from CMUX by @SeppoTakalo in #147
- app: Don't produce ERROR message when receiving carbage by @SeppoTakalo in #143
- doc: app: Misc improvements by @trantanen in #142
- app: Use NRF_MODEM_LIB_ON_INIT() for setting the GNSS callback by @SeppoTakalo in #151
- app: Add unit test by @juhaylinen in #120
- app: Use lowest priority for main thread by @SeppoTakalo in #148
- app: Disable CONFIG_PM_DEVICE_RUNTIME for Thingy:91x by @MarkusLassila in #153
- app: remove sm_auto_connect.h by @juhaylinen in #152
- app: ppp: Allow PPP to start on same UART, remove secondary UART by @SeppoTakalo in #150
- app: Socket to by @trantanen in #145
- samples: sm_at_client_shell: Enable PM_DEVICE_RUNTIME by @MarkusLassila in #158
- app: Don't restart PPP anymore if CMUX channel changed by @SeppoTakalo in #156
- app: Remove power-key references by @MarkusLassila in #154
- app: SMS sending of messages with unlimited length by @trantanen in #155
- app: Add static partitions for Serial Modem by @MarkusLassila in #157
- app: icmp: Increase maximum timeout by @trantanen in #159
- app: Remove SKIP_READY option by @SeppoTakalo in #160
- app: Add MQTT to PPP config by @trantanen in #161
- app: Add hardware RX byte counting without hw-flow-control by @MarkusLassila in #90
- app: Fix missing URC's after datamode exit by @MarkusLassila in #162
- app: Add CMUX modem trace backend by @MarkusLassila in #129
- doc: Update links for NRF_SO_SEC_DTLS_CID and NRF_SO_SEC_DTLS_CID_STATUS by @divipillai in #164
- github: workflow: build: Fix missing libc6-dev-i386 by @trantanen in #169
- app: Add PGPS and debug logs to sample.yaml by @trantanen in #167
- app: Remove CONFIG_SM_AT_MAX_PARAM by @trantanen in #168
- app: Remove CONFIG_SM_GNSS_OUTPUT_NMEA_ON_CMUX_CHANNEL by @trantanen in #166
- doc: app: Raw socket restrictions on PDN CID by @trantanen in #83
- app: Fix stack corruption with binary to hex conversion by @MarkusLassila in #173
- workflow: Create release assets by @jorgenmk in #137
- doc: Hex-examples to lowercase by @MarkusLassila in #175
- app: Add support for AT+IPR to change baud rate by @SeppoTakalo in #163
- doc: Combine all PPP pages into one "Cellular PPP modem" document by @SeppoTakalo in #165
- manifest: Update nrf to v3.2.2 by @trantanen in #177
- app: Data mode improvements by @MarkusLassila in #172
- app: Change UART pins for overlay-external-mcu.overlay by @MarkusLassila in #178
- doc: Doc fixes for the change UART pins functionality by @divipillai in #180
- Misc improvements by @MarkusLassila in #176
- treewide: Mark some features experimental by @trantanen in #171
- doc: PPP sequence diagrams by @SeppoTakalo in #181
- doc: Mark Thingy:91 X support as experimental by @trantanen in #184
- lib: sm_at_client: Multiple fixes by @MarkusLassila in #187
- app: scripts: Stop trace collection before stopping CMUX by @moksanen in #186
- doc: Misc improvements by @trantanen in #170
- doc: Mark LwM2M carrier lib and memfault as experimental by @trantanen in #189
- workflow: App logs to release images by @trantanen in #188
- app: Fix entry name for AT+IPR by @stig-bjorlykke in #190
- doc: Fix link to doc in README.md by @trantanen in #191
New Contributors
- @SyverHaraldsen made their first contribution in #101
- @jorgenmk made their first contribution in #137
- @moksanen made their first contribution in #186
- @stig-bjorlykke made their first contribution in #190
Full Changelog: v0.3.0...v1.0.0
v0.3.0
Release Highlights
- Uses NCS v3.2.0 release.
- Added automatic data reception for sockets with
AT#XRECVCFG. - Added PPP shell sample for nRF54L15 and native_sim hosts.
- Removed TCP and UDP clients. Sockets and automatic data reception feature replace them.
- Removed support for nrf52840dk, nrf5340dk, nrf7002dk in the host samples.
What's Changed
- app: Use PDN ID Instead of CID for Socket Binding by @juhaylinen in #94
- doc: Fix #XGNSSDEL command description by @tokangas in #99
- app: Suppress POLLNVAL error when disconnecting from the MQTT broker by @juhaylinen in #100
- doc: app: Misc minor fixes by @trantanen in #97
- app: Update version generation cmake script by @juhaylinen in #98
- app: Remove fd_peer by @MarkusLassila in #104
- Manifest: Update nrf to v3.2.0-rc1 by @trantanen in #103
- app: Remove dependency to NCS PDN library by @juhaylinen in #91
- app: Update overlay file for memfault by @juhaylinen in #105
- doc: Improve nRF Cloud AT command documentation by @tokangas in #106
- samples: sm_at_client_shell: Remove nrf52840dk, nrf5340dk, nrf7002dk by @trantanen in #107
- samples: Add shell sample for PPP modem driver by @SeppoTakalo in #86
- app: Move small modules out of sub directories by @trantanen in #11
- doc: Updates to PPP shell sample by @divipillai in #109
- app: Add automatic data reception for sockets by @MarkusLassila in #102
- Manifest: Update nrf to v3.2.0-rc2 by @trantanen in #112
- github: workflows: build: Fix native_sim build for PPP shell sample by @trantanen in #110
- app: #XAPOLL parameter and functionality changes by @MarkusLassila in #114
- app: Fix datamode by @MarkusLassila in #116
- doc: Restructuring documentation by @trantanen in #113
- app: Remove TCP and UDP clients by @MarkusLassila in #115
- manifest: Update nrf to v3.2.0 by @trantanen in #118
- doc: Add UART configuration page by @SeppoTakalo in #117
- app: Socket option TLS_DTLS_FRAG_EXT by @trantanen in #108
- app: Fix echo with automatic reception and XAPOLL by @MarkusLassila in #119
- doc: Restructuring app doc by @trantanen in #121
New Contributors
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Release Highlights
- DTR and Ring Indicator pins replace power and indicate pins.
- Refactoring of socket API. All commands now take a socket handle. Also adding support for hexadecimal sending and receiving.
- Changed default AT command terminator to CR.
- Optimized PPP/CMUX and Cellular Modem driver implementations to support proper power saving. A sample to be introduced in the next release.
- Added generated documentation.
- Removed support for nrf9160dk, nrf9161dk, nrf9131ek and thingy91 board targets.
- Removed the following features: Native TLS, TCP/UDP servers, HTTP client, FTP, GPIO, TWI/I2C
What's Changed
- app: PIPE interface to UART by @MarkusLassila in #6
- app: Remove use of minimal libc by @trantanen in #13
- DTR/RI UART by @MarkusLassila in #8
- github: Initial build workflow by @trantanen in #15
- doc: Initial version of migration guide by @trantanen in #14
- sm_host: Fix DTR/RI pin selection by @MarkusLassila in #16
- app: Rename AT#XGPS to AT#XGNSS by @juhaylinen in #7
- app: AT#XPOLL command removed by @trantanen in #17
- Fix DTR issues found in CI testing the ext mcu. by @MarkusLassila in #21
- manifest: update nrf by @trantanen in #19
- github: Fix nightly build workflow by @trantanen in #20
- doc: Add SM-addon documentation by @divipillai in #18
- sm_host_shell: Remove logging of data by @MarkusLassila in #22
- doc: Remove Kconfig links and reformat migration notes by @divipillai in #25
- doc: Add DTR/RI documentation by @MarkusLassila in #23
- doc: add zoomin workflows by @DematteisGiacomo in #27
- app: Update socket AT commands to use handle-based API by @juhaylinen in #26
- doc: Fixing Zoomin workflow + misc doc build fixes by @trantanen in #30
- app: Allow '_' in AT commands by @trantanen in #33
- manifest: Update NCS to v3.2.0-preview2 by @trantanen in #29
- treewide: Change AT command terminator to CR by @trantanen in #35
- app: New AT#XSEND and AT#XSENDTO command syntax by @juhaylinen in #31
- app: Don't start PPP without a request by @trantanen in #28
- app: New AT#XRECV and AT#XRECVFROM command syntax by @juhaylinen in #36
- app: Add echo for AT commands (ATE0/1) by @MarkusLassila in #32
- doc: Clarify need for */ns board targets by @mgolu in #39
- doc: Minor fixes to document headings by @divipillai in #41
- app: Remove support for nrf9160dk, nrf9161dk, nrf9131ek and thingy91 by @trantanen in #34
- app: Drop the interrupt support on UART by @SeppoTakalo in #42
- app: scripts: Try to recover CMUX if AT command fails by @SeppoTakalo in #45
- app: cmux: Drop URC when pipe is closed by @SeppoTakalo in #44
- app: Add HEX string support for AT-socket send and receive commands by @juhaylinen in #40
- app: Remove native TLS support by @MarkusLassila in #37
- app: Move to nRF sockets for socket AT-commands by @MarkusLassila in #47
- app: Replace poll thread for #XAPOLL with nRF callbacks by @MarkusLassila in #48
- app: Add data_len parameter to AT-socket receive commands by @juhaylinen in #50
- app: scripts: Stop PPPD before AT+CFUN=0 by @SeppoTakalo in #46
- Update nRF Connect SDK for CMUX changes by @SeppoTakalo in #53
- drivers: Fix event handling when stopping by @SeppoTakalo in #54
- app: uart: Fix potential race-condition by @SeppoTakalo in #55
- drivers: Send disabled event also when DTR is not asserted by @SeppoTakalo in #58
- workflow: Fix compliance to fail on Checkpatch warnings by @trantanen in #51
- app: Allow returning to AT command mode when CMUX is closed by @SeppoTakalo in #56
- app: ppp: Don't restart stopped PPP by @SeppoTakalo in #52
- app: Fix PPP start up by @SeppoTakalo in #63
- app: Add #XSENDNTF for when 8192 is set as flags by @MarkusLassila in #49
- app: Remove Zephyr modem driver specific Kconfigs by @SeppoTakalo in #57
- doc: app: Fix PPP examples by @SeppoTakalo in #61
- Change ri-gpios to active low by @MarkusLassila in #65
- samples: sm_host_shell: Add nrf54L15 DK by @MarkusLassila in #59
- samples: sm_host_shell: Fix the preliminary UART closure by @MarkusLassila in #67
- app: Add data_len parameter to AT-socket send commands by @juhaylinen in #64
- doc: Update AT socket command examples by @juhaylinen in #66
- lib: sm_host: Immediately timeout cmd when TX fails by @MarkusLassila in #69
- app: scripts: Try returning the UART to AT mode on failure by @SeppoTakalo in #68
- app: Remove TCP and UDP servers by @trantanen in #70
- app: Add CONFIG_SM_AT_ECHO_MAX_LEN to allow truncation of echo by @MarkusLassila in #72
- Remove #XFTP, #XTFPT, #XGPIO, #XTWI by @trantanen in #73
- app: Use sm_work_q instead of system work queue by @MarkusLassila in #74
- treewide: Small fixes for nRF54L15 DK by @trantanen in #75
- doc: Update README by @trantanen in #60
- App: Add CONFIG_SM_AT_BUF_SIZE to set the AT-command buffer size by @MarkusLassila in #77
- app: Fix a race condition when closing the pipe by @SeppoTakalo in #78
- app: scripts: Update PPP scripts to handle recovery by @SeppoTakalo in #79
- app: scripts: Wait for connection termination by @SeppoTakalo in #82
- manifest: Allow CI to override repositories by @SeppoTakalo in #81
- app: Remove Linux specific configuration overlays by @SeppoTakalo in #85
- app: Rename #XSLMVER to #XSMVER by @juhaylinen in #80
- github: workflow: Document build for PRs by @trantanen in #76
- app: List ATE0/1 in #XCLAC by @trantanen in #84
- app: Remove HTTP client by @trantanen in #87
- app: Remove AT_SO_TCP_SRV_SESSTIMEO by @trantanen in #88
- app: Fix #XBIND ignores CID of socket by @MarkusLassila in #92
- treewide: Rename sm_host to sm_at_client by @trantanen in #93
- treewide: Ignore error from UART RX already stopped by @MarkusLassila in #95
- app: Clarify error codes by @MarkusLassila in #89
- doc: More instructions to "Getting started" by @trantanen in #96
New Contributors
- @MarkusLassila made their first contribution in #6
- @juhaylinen made their first contribution in https://github.com/nrfconnect/ncs-serial-modem/pull/...
v0.1.0
The first draft release of the Serial Modem Add-On built on nRF Connect SDK snapshot taken on 25th Sep 2025.
The functionality and APIs of the Serial Modem are the same as in Serial LTE Modem from nRF Connect SDK v3.1.x. However, a lot of renaming has taken place.
What's Changed
- Copy NCS SLM as a base by @trantanen in #1
- github: workflow: Add empty compliance and build workflows by @trantanen in #3
- treewide: SLM to SM renaming by @trantanen in #2
- Minor upmerge fixes by @trantanen in #5
- github: workflow: Content to compliance workflow by @trantanen in #4
- README: Initial info by @trantanen in #10
- manifest: Set sdk-nrf version for v0.1.0 release by @trantanen in #12
Full Changelog: https://github.com/nrfconnect/ncs-serial-modem/commits/v0.1.0