Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prepare 9.2.1 release #319

Merged
merged 173 commits into from
Oct 31, 2023
Merged

prepare 9.2.1 release #319

merged 173 commits into from
Oct 31, 2023

Conversation

tanderson-ld
Copy link
Contributor

[9.2.1] - 2023-10-31

Changed:

  • Calling identify() with the current context is now more efficient and no longer results in re-establishing a connection.

Fixed:

  • Fixed issue where flag change listeners were not being triggered when identify() was called.

bwoskow-ld and others added 30 commits April 24, 2020 14:08
Parameterize CI against multiple Xcode versions.
Pin to exact dependency versions and remove resolved package files.
Add spaces in comments for new comment spacing lint rule.
tanderson-ld and others added 25 commits August 2, 2023 13:26
Merging public into private.

---------

Co-authored-by: ld-repository-standards[bot] <113625520+ld-repository-standards[bot]@users.noreply.github.com>
Co-authored-by: Kane Parkinson <[email protected]>
AutoEnvAttributes to main.

---------

Co-authored-by: Matthew M. Keeler <[email protected]>
**Requirements**

- [x] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/v6/CONTRIBUTING.md#submitting-pull-requests)
- [x] I have validated my changes against all supported platform
versions
See comments on Shortcut ticket for validation of contexts on platforms.

**Related issues**


https://app.shortcut.com/launchdarkly/story/213033/ios-telemetry-ios-not-populating-ld-application-from-built-in-package-name-version

**Describe the solution you've provided**

Implemented missing code.

**Describe alternatives you've considered**

Code is duplicated and redundant, but each implementation may vary over
time, so rather not over common-ize right now.
#252)

Need to merge test harness changes before this will pass.

**Requirements**

- [x] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/v6/CONTRIBUTING.md#submitting-pull-requests)
- [x] I have validated my changes against all supported platform
versions

**Related issues**


https://app.shortcut.com/launchdarkly/story/213112/inconsistent-applicationname-and-applicationversionname-validation

**Describe the solution you've provided**

- Added sanitization logic to application info fields where spaces are
now converted to hyphens. This is to help customers create values that
will be accepted by our cloud infrasturcture.
- Updated application info to support nullables.
- Updated fallback logic to fallback to next source of application info
if the applicationID is invalid. This invalid ID would be rejected by
the cloud, so making that consistent.
- Fixing bug in hashing to calulcate ld_application key where an omitted
version would actually result in hash("myID:nil") when it should have
been hash("myID:")

**Describe alternatives you've considered**

See:
https://launchdarkly.atlassian.net/wiki/spaces/~63fb3c420d9b61193c23bde7/pages/2544828779/213112+-+Consistent+application+info+validation
## [8.3.0] - 2023-09-08
### Changed:
- Deprecated `LDValue.init(integerLiteral: Double)` as this method
signature is misleading. A new `LDValue.init(integerLiteral: Int)`
signature has been added for clarity.

---------

Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: torchhound <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: tanderson-ld <[email protected]>
Co-authored-by: ld-repository-standards[bot] <113625520+ld-repository-standards[bot]@users.noreply.github.com>
Co-authored-by: Kane Parkinson <[email protected]>
Co-authored-by: Todd Anderson <[email protected]>
**Requirements**

- [x] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/v6/CONTRIBUTING.md#submitting-pull-requests)
- [x] I have validated my changes against all supported platform
versions

**Related issues**


https://app.shortcut.com/launchdarkly/story/216351/ios-ld-application-key-is-not-base64-url-encoded

**Describe the solution you've provided**

Generalized util function to return Data since we already had a
base64UrlEncoded extension method to leverage.
We have discussed and agreed to modify the logic to not include the
version as the context key generation. We will release this as a bug fix
to make sure customers don't stuck on a version with old logic
available.
**Requirements**

- [ ] I have added test coverage for new or changed functionality
- [x] I have followed the repository's [pull request submission
guidelines](../blob/v6/CONTRIBUTING.md#submitting-pull-requests)
- [ ] I have validated my changes against all supported platform
versions.
I tested building and running tests with XCode12.5. Did not test all
combinations of XCode and iOS, letting CI do its thing.

**Related issues**

#311


https://app.shortcut.com/launchdarkly/story/218049/swift-sdk-remove-support-for-ios-11-to-support-xcode-15

**Describe the solution you've provided**

Update min iOS and tvOS to v12.
Update swift tools from 5.2 to 5.3
When `identify` is called, the SDK loads any cached flags directly into
the store. It then opens a new connection and tries to receive any flag
updates. When that payload is received, it is compared to the data
already in the store. If there are no differences, we don't trigger the
listeners, even though the data definitely changed.

To prevent this problem, we are always triggering a change notification
when identify is call. Even if the values were identify for some reason,
if the user changed, we should trigger the notification listeners.
If a customer calls `identify` with the same context multiple times in a
row, the SDK should not bother re-establishing a new connection.
Instead, we should just detect this situation and exit early.
## [8.3.1] - 2023-10-31
### Changed:
- Calling `identify()` with the current context is now more efficient
and no longer results in re-establishing a connection.

### Fixed:
- Fixed issue where flag change listeners were not being triggered when
`identify()` was called.

---------

Co-authored-by: Ben Woskow <[email protected]>
Co-authored-by: torchhound <[email protected]>
Co-authored-by: Gavin Whelan <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Matthew Keeler <[email protected]>
Co-authored-by: Louis Chan <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: Ember Stevens <[email protected]>
Co-authored-by: Ryan Lamb <[email protected]>
Co-authored-by: ld-repository-standards[bot] <113625520+ld-repository-standards[bot]@users.noreply.github.com>
Co-authored-by: Kane Parkinson <[email protected]>
@tanderson-ld tanderson-ld requested review from a team and keelerm84 October 31, 2023 16:56
@tanderson-ld tanderson-ld merged commit 0fedd19 into v9 Oct 31, 2023
1 check passed
@tanderson-ld tanderson-ld deleted the release-9.2.1 branch October 31, 2023 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants