- chore: Update minimum Python version based on current supportable levels
- chore: CD pipeline flushing try #1
- improvement: Support Python3.12+ by conditionally removing deprecated API usage
- bugfix: Fixing possible race condition with timer in deviceShadow.
- improvement: Added support for subscription acknowledgement callbacks while offline or resubscribing
- improvement: Added connection establishment control through client socket factory option
- bugfix: Use non-deprecated ssl API to specify ALPN when doing Greengrass discovery
- improvement: Added validation to mTLS arguments in basicDiscovery
- bugfix: [Issue #150](#150 for ALPN in Python 3.7
- bugfix: Websocket handshake supports Amazon Trust Store (ats) endpoints
- bugfix: Remove default port number in samples, which prevented WebSocket mode from using 443
- bugfix: jobsSample print statements compatible with Python 3.x
- improvement: Small fixes to IoT Jobs documentation
- bugfix:Issue #136 <#136>
- bugfix:Issue:#124 <#124>
- improvement:Expose the missing getpeercert() from SecuredWebsocket class
- improvement:Enforce sending host header in the outbound discovery request
- improvement:Ensure credentials non error are properly handled and communicated to application level when creating wss endpoint
- feature:Add support for ALPN, along with API docs, sample and updated README
- feature:Add support for IoT Jobs, along with API docs, sample and updated README
- feature:Add command line option to allow port number override
- bugfix:Issue:#67
- bugfix:Fixed a dead lock issue when client async API is called within the event callback
- bugfix:Updated README and API documentation to provide clear usage information on sync/async API and callbacks
- improvement:Added a new sample to show API usage within callbacks
- bugfix:WebSocket handshake response timeout and error escalation
- bugfix:Prevent GG discovery from crashing if Metadata field is None
- bugfix:Fix the client object reusability issue
- bugfix:Prevent NPE due to shadow operation token not found in the pool
- improvement:Split the publish and subscribe operations in basicPubSub.py sample
- improvement:Updated default connection keep-alive interval to 600 seconds
- feature:AWSIoTMQTTClient:New API for username and password configuration
- feature:AWSIoTMQTTShadowClient:New API for username and password configuration
- feature:AWSIoTMQTTClient:New API for enabling/disabling metrics collection
- feature:AWSIoTMQTTShadowClient:New API for enabling/disabling metrics collection
- improvement:AWSIoTMQTTClient:Improved synchronous API backend for ACK tracking
- feature:AWSIoTMQTTClient:New API for asynchronous API
- feature:AWSIoTMQTTClient:Expose general notification callbacks for online, offline and message arrival
- feature:AWSIoTMQTTShadowClient:Expose general notification callbacks for online, offline and message arrival
- feature:AWSIoTMQTTClient:Extend offline queueing to include offline subscribe/unsubscribe requests
- feature:DiscoveryInfoProvider:Support for Greengrass discovery
- bugfix:Pull request:#50
- bugfix:Pull request:#51
- bugfix:Issue:#52
- bugfix:Issue:#28
- bugfix:Issue:#29
- bugfix:Pull request:#32
- improvement:Pull request:#38
- bugfix:Pull request:#45
- improvement:Pull request:#46
- bugfix:Issue:#23
- bugfix:README documentation
- feature:AWSIoTMQTTClient:last will configuration APIs
- bugfix:Pull request:#12
- bugfix:Pull request:#14
- Addressed issue:#15
- bugfix:Pull request:#9
- feature:AWSIoTMQTTClient:basic MQTT APIs
- feature:AWSIoTMQTTClient:auto-reconnection/resubscribe
- feature:AWSIoTMQTTClient:offline publish requests queueing and draining
- feature:AWSIoTMQTTShadowClient:basic Shadow APIs