feat: o3 level optimization for image diffing#443
Merged
abelonogov-ld merged 17 commits intomainfrom Mar 27, 2026
Merged
Conversation
* andrey/android-warnings: adjust C library suppress warning e2e app lazy gecko browser gecko changes
* main: chore: release main (#436)
(cherry picked from commit 23cf8efd2b1a6791b1d1b728721677c8de6b37f5)
* main: fix: Build warnings and compatibility issues across Android and MAUI (.NET) SDKs. (#439) feat(observability-ruby): publish Ruby observability plugin gem (#413) ci: fix oidc publishing (#441) ci: switch to OIDC npm publishing (#438) # Conflicts: # sdk/@launchdarkly/observability-android/lib/src/main/cpp/CMakeLists.txt
Vadman97
approved these changes
Mar 27, 2026
…to 2.9.2.1 to align with other lifecycle components
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Merged
abelonogov-ld
pushed a commit
that referenced
this pull request
Mar 27, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>launchdarkly-observability-android: 0.34.0</summary> ## [0.34.0](launchdarkly-observability-android-0.33.0...launchdarkly-observability-android-0.34.0) (2026-03-27) ### Features * o3 level optimization for image diffing ([#443](#443)) ([9045142](9045142)) ### Bug Fixes * Build warnings and compatibility issues across Android and MAUI (.NET) SDKs. ([#439](#439)) ([47c4640](47c4640)) </details> <details><summary>launchdarkly-observability-ruby: 0.2.0</summary> ## [0.2.0](launchdarkly-observability-ruby-0.1.0...launchdarkly-observability-ruby/0.2.0) (2026-03-27) ### Features * **@launchdarkly/session-replay-react-native:** use cocoapods for native session replay ([#434](#434)) ([41988e1](41988e1)) * **observability-ruby:** publish Ruby observability plugin gem ([#413](#413)) ([569a7b4](569a7b4)) * ruby observability plugin ([#360](#360)) ([79dc8dd](79dc8dd)) ### Bug Fixes * structured stacktrace capture in Ruby observability plugin ([#427](#427)) ([1dae61e](1dae61e)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk release-metadata update (version numbers, changelogs, and provenance docs) with no functional code changes in this diff. > > **Overview** > Updates release metadata to cut new SDK versions: `@launchdarkly/observability-android` from `0.33.0` to `0.34.0` and `@launchdarkly/observability-ruby` from `0.1.0` to `0.2.0` (including manifest/version files). > > Adds the corresponding `CHANGELOG.md` entries and bumps the Ruby `PROVENANCE.md` example version to match the new release. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 4488f03. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Replace the CMake-compiled C native library with prebuilt
.sobinaries in the Android SDK, pin additional AndroidX Lifecycle dependencies in the MAUI NuGet packages, and bump the MAUI SDK version to 0.5.2.Changes
Android SDK (
observability-android).sobinaries: Removed all C source files (tile_hash.c,tile_hash.h,tile_hash_jni.c,nearest_divisor.c,nearest_divisor.h) and theexternalNativeBuild { cmake { ... } }block frombuild.gradle.kts. Added prebuiltlibsession_replay_c.sobinaries underjniLibs/for all four ABIs:arm64-v8a,armeabi-v7a,x86,x86_64. This eliminates the CMake/NDK build dependency and ensures consistent binary output across environments.TileHashNative.ktto loadsession_replay_cinstead of the oldtile_hashlibrary name.MAUI / .NET SDK (
mobile-dotnet)Xamarin.AndroidX.Lifecycle.LiveDataandXamarin.AndroidX.Lifecycle.ViewModelSavedStateat[2.9.2.1, 3.0.0)in bothLDObservability.csprojandLDObservability.Fat.csprojto prevent NU1608 version-mismatch warnings in consumer projects.Directory.Build.props.Test Plan
.sofiles are bundled correctly in the AARTileHashNativeloadslibsession_replay_c.sosuccessfullyNote
Medium Risk
Switches Android session-replay hashing from source-built JNI (CMake/NDK) to bundled prebuilt
.sobinaries and renames the loaded library, which can impact runtime loading/ABI compatibility. Additional AndroidX pinning and a package version bump are low risk but may affect downstream dependency resolution.Overview
Moves Android session replay tile-hashing from a CMake/NDK-built JNI library to prebuilt native binaries: removes the CMake build configuration and deletes the C sources/JNI glue, relies on packaged
libsession_replay_c.sounderjniLibs/for all ABIs, and updatesTileHashNativeto loadsession_replay_c.Updates the .NET MAUI NuGet packaging by bumping
LaunchDarkly.SessionReplayto0.5.2and pinning additional AndroidX Lifecycle dependencies (LiveData,ViewModelSavedState, and alignedLiveData.Core) to reduce consumer version-conflict warnings.Written by Cursor Bugbot for commit b5239b4. This will update automatically on new commits. Configure here.