Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ca1e6a7
Add MQTT_InIt API
AniruddhaKanhere Nov 20, 2025
db0eb92
Add MQTT_InitStatefulQoS API
AniruddhaKanhere Nov 20, 2025
a5c14a7
Add MQTT_Connect API
AniruddhaKanhere Nov 24, 2025
ab62f83
Add property addition APIs
AniruddhaKanhere Nov 26, 2025
aceb47d
Add MQTT_Subscribe API
AniruddhaKanhere Nov 27, 2025
ae8daca
Add user prop serialization and deserialization APIs
AniruddhaKanhere Dec 6, 2025
4d386cc
Add MQTT_Publish API with ACK handling
AniruddhaKanhere Dec 10, 2025
bbe25d5
Add MQTT_Unsubscribe
AniruddhaKanhere Dec 23, 2025
73c447a
Add MQTT_Ping
AniruddhaKanhere Dec 29, 2025
8e04e21
Add MQTT_Disconnect (#340)
AniruddhaKanhere Jan 1, 2026
b27e00a
Update serialization APIs to accept properties
AniruddhaKanhere Jan 5, 2026
b4f8f2b
Add user props and reason code to ACK packets
AniruddhaKanhere Jan 7, 2026
bdde466
Fix formatting
AniruddhaKanhere Jan 7, 2026
464e228
Fix checks (No source code changes) (#345)
AniruddhaKanhere Jan 8, 2026
8ce6d7b
Add incoming disconnect handling
AniruddhaKanhere Jan 8, 2026
faa766f
Update MQTT_GetSubAckStatusCodes
AniruddhaKanhere Jan 12, 2026
6da5853
Move over MQTTv5 unit-tests
AniruddhaKanhere Jan 8, 2026
e029c3c
Update CBMC proofs
AniruddhaKanhere Jan 17, 2026
78198b1
Add API MQTT_SkipNextProperty
AniruddhaKanhere Jan 24, 2026
4667d6e
Minor cleanup
AniruddhaKanhere Jan 25, 2026
0bbe806
Update APIs to size_t/uint32_t
AniruddhaKanhere Jan 27, 2026
465f85c
Update tests and add checks for size_t -> 32 bit conversion
AniruddhaKanhere Jan 29, 2026
92f981b
Add addition overflow checks; Update code to not drop packets (#354)
AniruddhaKanhere Feb 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/.cSpellWords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ misra
Misra
MISRA
MQTT
mqttpropadd
mqttpropertybuilder
mqttpropget
MQTTV
mypy
nondet
Nondet
Expand All @@ -37,6 +41,7 @@ pytest
pyyaml
serializemqttvec
sinclude
subscriptionid
UNACKED
unpadded
Unpadded
Expand Down
6 changes: 5 additions & 1 deletion .github/memory_statistics_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
"src": [
"source/core_mqtt.c",
"source/core_mqtt_state.c",
"source/core_mqtt_serializer.c"
"source/core_mqtt_serializer.c",
"source/core_mqtt_serializer_private.c",
"source/core_mqtt_prop_serializer.c",
"source/core_mqtt_prop_deserializer.c"
],
"include": [
"source/include",
"source/include/private",
"source/interface"
],
"compiler_flags": [
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
push:
branches: ["**"]
pull_request:
branches: [main]
branches: [main, MQTTv5-reviewed-changes]
workflow_dispatch:

jobs:
Expand Down Expand Up @@ -83,6 +83,7 @@ jobs:
uses: FreeRTOS/CI-CD-Github-Actions/coverage-cop@main
with:
coverage-file: ./build/coverage.info
branch-coverage-min: 94

complexity:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -154,6 +155,7 @@ jobs:
mkdir -p override-include
cp source/include/stdbool.readme override-include/stdbool.h
cp source/include/stdint.readme override-include/stdint.h
cp source/include/inttypes.readme override-include/inttypes.h

# Build using the custom headers
cmake -S test -B build/ \
Expand Down
3 changes: 2 additions & 1 deletion docs/doxygen/config.doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ PROJECT_NUMBER = v2.3.1+
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF = "MQTT 3.1.1 Client Library"
PROJECT_BRIEF = "MQTT 5.0 Client Library"

# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
Expand Down Expand Up @@ -923,6 +923,7 @@ WARN_LOGFILE =

INPUT = ./docs/doxygen \
./source/include \
./source/include/private \
./source/interface \
./source

Expand Down
27 changes: 21 additions & 6 deletions docs/doxygen/include/size_table.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
</tr>
<tr>
<td>core_mqtt.c</td>
<td><center>4.9K</center></td>
<td><center>4.2K</center></td>
<td><center>8.1K</center></td>
<td><center>7.0K</center></td>
</tr>
<tr>
<td>core_mqtt_state.c</td>
Expand All @@ -19,12 +19,27 @@
</tr>
<tr>
<td>core_mqtt_serializer.c</td>
<td><center>2.9K</center></td>
<td><center>2.3K</center></td>
<td><center>9.2K</center></td>
<td><center>7.4K</center></td>
</tr>
<tr>
<td>core_mqtt_serializer_private.c</td>
<td><center>0.8K</center></td>
<td><center>0.7K</center></td>
</tr>
<tr>
<td>core_mqtt_prop_serializer.c</td>
<td><center>1.6K</center></td>
<td><center>1.3K</center></td>
</tr>
<tr>
<td>core_mqtt_prop_deserializer.c</td>
<td><center>1.3K</center></td>
<td><center>1.0K</center></td>
</tr>
<tr>
<td><b>Total estimates</b></td>
<td><b><center>9.5K</center></b></td>
<td><b><center>7.8K</center></b></td>
<td><b><center>22.7K</center></b></td>
<td><b><center>18.7K</center></b></td>
</tr>
</table>
286 changes: 265 additions & 21 deletions docs/doxygen/pages.dox

Large diffs are not rendered by default.

5 changes: 4 additions & 1 deletion mqttFilePaths.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ set( MQTT_SOURCES

# MQTT Serializer library source files.
set( MQTT_SERIALIZER_SOURCES
"${CMAKE_CURRENT_LIST_DIR}/source/core_mqtt_serializer.c" )
"${CMAKE_CURRENT_LIST_DIR}/source/core_mqtt_serializer.c"
"${CMAKE_CURRENT_LIST_DIR}/source/core_mqtt_prop_serializer.c"
"${CMAKE_CURRENT_LIST_DIR}/source/core_mqtt_prop_deserializer.c"
"${CMAKE_CURRENT_LIST_DIR}/source/core_mqtt_serializer_private.c" )

# MQTT library Public Include directories.
set( MQTT_INCLUDE_PUBLIC_DIRS
Expand Down
Loading
Loading