- Initial release: split off cloud API functionality from Memfault into a separate, open-source library MemfaultCloud
- Introduced
-[MemfaultApi postChunks:deviceSerial:completion:]
- Added singleton property
+[MemfaultApi sharedApi]
and singleton configuration class method+[MemfaultApi configureSharedApi:]
. - Added a new set of APIs to make it much easier to post chunks, notably
-[MemfaultApi chunkSenderWithDeviceSerial:]
andMemfaultChunkSender
. - Removed
-[MemfaultApi postChunks:deviceSerial:completion:]
in favor of the new APIs.
- Fixed race conditions in
MemfaultChunkSender
that could cause chunks to get sent out multiple times or only after enqueuing another chunk.
- Increase chunk upload timeout from 10 seconds to 60 seconds.
- Reduce the maximum number of batched chunks from 1000 to 100.
- Retry uploading chunks when receiving HTTP 429 Too Many Request.
- Increased the mimimum retry delay for HTTP 429 or 503 errors from 5 seconds to 5 minutes.
- Drop chunks after 100 consecutive upload errors, to prevent accumulating chunks indefinitely on the device.
- Add support for installing the library using Swift Package Manager.
- Fix formatting in Package.swift file
- Breaking: Raised the minimum deployment target to iOS 13.0.
- Upgraded test dependencies (OCHamcrest, OCMockito and Specta) to the latest versions.
- Fix: better handle unexpected responses from Memfault. Fixes #3. Thanks to @bgomberg for reporting the issue!