Change log
All notable changes to the LaunchDarkly Swift EventSource library will be documented in this file. This project adheres to Semantic Versioning.
3.2.0 (2023-12-29)
Features
[3.1.1] - 2023-06-12
Fixed:
- Per the SSE spec, an HTTP 204 will now halt retry attempts by default.
[3.1.0] - 2023-06-05
Changed:
- Enforce TLS v1.2 as a required minimum.
Fixed:
- Fix re-entrancy issue with
startcommand. (Thanks, g-mark!)
[3.0.0] - 2022-10-06
Changed
- Dropped support for older versions in accordance with the new Xcode 14 release.
[2.0.0] - 2022-08-29
Changed
- The CI build now incorporates the cross-platform contract tests defined in https://github.com/launchdarkly/sse-contract-tests to ensure consistent test coverage across different LaunchDarkly SSE implementations.
- Removed explicit typed package products. Thanks to @simba909 for the PR (#48).
[1.3.1] - 2022-03-11
Fixed
- Fixed a race condition that could cause a crash when
stop()is called when there is a pending reconnection attempt.
[1.3.0] - 2022-01-18
Added
- Added the configuration option
urlSessionConfigurationtoEventSource.Configwhich allows setting theURLSessionConfigurationused by theEventSourceto createURLSessioninstances.
Fixed
- Fixed a retain cycle issue when the stream connection is ended.
- Removed deprecated
VALID_ARCHSbuild setting from Xcode project. - Unterminated events will no longer be dispatched when the stream connection is dropped.
- Stream events that set the
lastEventIdwill now record the updatedlastEventIdeven if the event does not generate aMessageEvent. - Empty stream “data” fields will now always record a newline to the resultant
MessageEventdata. - Empty stream “event” fields will result in now result in the default “message” event type rather than an event type of “”.
[1.2.1] - 2021-02-10
Added
- SwiftLint configuration. Linting will be automatically run as part of the build if Mint is installed.
- Support for building docs with jazzy. These docs are available through GitHub Pages.
Fixed
- Reconnection backoff was always reset if the previous successful connection was at least
backoffResetThresholdprior to the scheduling of a reconnection attempt. The connection backoff has been corrected to not reset after the first reconnection attempt until the next successful connection. Thanks to @tomasf for the PR (#14). - On an
UnsuccessfulResponseErrorthe configuredconnectionErrorHandlerwould be called twice, the second time with aURLError.cancellederror. Only if the second call returnedConnectionErrorAction.shutdownwould theEventSourceclient actually shutdown. This has been corrected to only call theconnectionErrorHandleronce, and will shutdown the client ifConnectionErrorAction.shutdownis returned. Thanks to @tomasf for the PR (#13). - A race condition that could cause the
EventSourceclient to restart after shutting down has been fixed.
[1.2.0] - 2020-10-21
Added
- Added
headerTransformclosure toLDConfigto allow dynamic http header configuration.
[1.1.0] - 2020-07-20
Added
- Support
arm64eonappletvos,iphoneos, andmacosxSDKs by extending valid architectures. - Support for building LDSwiftEventSource on Linux. Currently this library will not generate log messages on Linux, and may not behave correctly on Linux due to Foundation being incomplete.
[1.0.0] - 2020-07-16
This is the first public release of the LDSwiftEventSource library. The following notes are what changed since the previous pre-release version.
Changed
- Renamed
EventHandler.onMessageparametereventtoeventType. - The
EventSourceclass no longer extendsNSObjectorURLSessionDataDelegateto not exposeurlSessionfunctions.
[0.5.0] - 2020-07-14
Changed
- Default
LDSwiftEventSourceproduct defined for the SwiftPM package is now explicitly a dynamic product. An explicitly static product is now available asLDSwiftEventSourceStatic.
[0.4.0] - 2020-07-13
Changed
- Converted build system to use a single target to produce a universal framework, rather than separate targets for each platform that share a product name. This is to prevent issues with
xcodebuildresolving the build scheme to an incorrect platform when building dependent packages with ‘Find Implicit Dependencies’ enabled. This is due to a bug inxcodebuild, for more information see http://www.openradar.me/20490378 and http://www.openradar.me/22008701.
[0.3.0] - 2020-06-02
Added
- Added
stop()method to shutdown the EventSource connection. ### Changed - Logging
subsystemrenamed fromcom.launchdarkly.swift-event-sourcetocom.launchdarkly.swift-eventsource
[0.2.0] - 2020-05-21
Added
- Public constructors for
UnsuccessfulResponseErrorandMessageEventto allow consumers of the library to use them for unit tests.
[0.1.0] - 2020-05-09
Added
- Initial implementation for internal alpha testing.
View on GitHub
CHANGELOG Reference