Releases: awslabs/aws-c-mqtt
Releases · awslabs/aws-c-mqtt
Improve clean up on user disconnection
What's Changed
- Update to latest builder by @bretambrose in #209
- Fixed endpoint not being read in arguments by @sbSteveK in #211
- No resubscribe by @bretambrose in #215
- Clean up on user disconnect by @sbSteveK in #216
New Contributors
Full Changelog: v0.7.10...v0.7.11
Remove using of try_lock
- Try lock is not available in Windows Server 2008. Remove it from our debug build
Empty payload fixes
- Fix a crash on Windows when the will payload was empty (precondition is turned into a fatal assert on Windows CD builds still)
- Fix a decode error when receiving a message with an empty payload
Stability fix
- Fixes a crash due to a race condition in the mqtt connection logic
Allow for null on-message callbacks in subscribe
- Fixes a crash when the on-message callback is null for a subscription
- Updates the public API documentation with some missing parameters and annotations as to what parameters can be null
Data race fixes
- Fixes several data races related to the outstanding requests table and a request's timeout task.
Fix non-threadsafe hash-table accesses (take 2)
v0.7.5 fix test function (#190)
Fix non-threadsafe hash-table accesses
Fix unsafe hash-table accesses (#189) Fact: It's not safe to mutate aws_hash_table while holding an aws_hash_element. Fact: `outstanding_requests_table` is accessed by multiple threads. We always hold a lock while accessing it. Bug: There were several places where we release the lock, but continue to hold an aws_hash_element we got from a find() call. Once the lock is released another thread can mutate the `outstanding_requests_table`, leading to undefined behavior when the aws_hash_element is accessed again.
Direct mqtt through http proxy
- Adds support for establishing direct mqtt connections through an http proxy
publish payload
- We now keep a deep copy of the publish payload. User don't need to keep the payload alive for the whole process.