Skip to content

2.34.1.4

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Jul 09:33
2f59b7d

OpenTok.Net.Android 2.34.1.4

A packaging fix for OpenTok.Net.Transformers.Android, which 2.34.1.3 could build but could not
publish. The native SDK is unchanged at opentok-android-sdk 2.34.1, OpenTok.Net.Android and
OpenTok.Net.webrtc.Dependency.Android are unchanged in content, and no public API moved.

OpenTok.Net.Transformers.Android was too large for nuget.org

2.34.1.3 never reached the feed. The push failed with

Pushing OpenTok.Net.Transformers.Android.2.34.1.3.nupkg to 'https://www.nuget.org/api/v2/package/'...
  PUT https://www.nuget.org/api/v2/package/
  RequestEntityTooLarge https://www.nuget.org/api/v2/package/
error: Response status code does not indicate success: 413 (The package file exceeds the size limit).

The package was 304 MB against nuget.org's 250 MB limit. It is now 167 MB, from three changes,
none of which removes anything a consumer receives.

A duplicate .aar is no longer shipped. client-sdk-video-transformers' POM declares
com.vonage:mltransformersaudionoisesuppression-ps16k, and it was packed on that basis. Opened and
compared, it holds an empty classes.jar and a single libmltransformersaudionoisesuppression.so
whose SHA-256 matches the copy already in the main .aar — no assets, no resources, no Java. So it
was 22.6 MB of duplicate per target framework and nothing else. It is now listed as an
AndroidIgnoredJavaDependency, which keeps Java dependency verification satisfied without packing
it. mltransformers-ps16k is still shipped whole: unlike the audio one, it carries the MediaPipe
classes and selfie_segmentation_gpu.binarypb, which nothing else has.

No project-level .aar. The .NET 10 Android SDK builds one for a library project and folds the
native payload of every Bind="false" dependency into it. For a package that is nothing but
payload, that is a complete second copy of the jni/ tree — 42 MB, the largest single entry in the
package. AndroidGenerateLibraryAar=false turns it off. The .NET 9 band never did this, which is
why the net10 half of the package was half again the size of the net8 half.

Two target frameworks instead of three. net8.0-android34.0 and net10.0-android36.0;
net9.0-android35.0 is no longer built. Nothing needs it: NuGet resolves the best compatible
asset folder, so a net9 app takes the net8 copy and receives the entire payload.

What this means if you consume it

Nothing to change. A net8, net9 or net10 app adds the package the same way and gets the same three
.so files and three .tflite models in its APK.

The one visible difference is in a dotnet restore on a net9 head, which now resolves
lib/net8.0-android34.0/ rather than a folder named for its own target framework. That is ordinary
NuGet fallback, not a downgrade — the package has no managed API at all (see
src/OpenTok.Transformers.md), so there is nothing target-framework-specific in it.

Verification

transformers-packaging in CI is now a two-leg matrix rather than a single build, covering both
resolution paths the change creates:

  • net9.0-android35.0 — resolves the net8 folder by fallback. Proves an app targeting a framework
    the package does not name still gets everything.
  • net10.0-android36.0 — resolves its own folder, built by the band that wanted to emit the
    duplicate project .aar. Proves suppressing it did not take the payload with it.

Each leg does a Release build of the device tests against the packed package and inspects the APK
for libopentok_transformers.so, libmltransformers.so and
libmltransformersaudionoisesuppression.so under lib/arm64-v8a/, plus selfie_segmentation.tflite,
ns_model_1.tflite and ns_model_2.tflite. Both legs pass, as does a third local run at
net8.0-android34.0.

TransformersPackageTests asserts the shape directly: the two target frameworks and no others, the
mltransformers-ps16k .aar present, and the audio .aar absent. A change that restored any of
the removed weight would otherwise only be caught by a release push.

Full changelog: v2.34.1.2...v2.34.1.4

Packages

Bound against com.opentok.android:opentok-android-sdk 2.34.1 and com.vonage:webrtc 121.1.101 (Maven Central). Each package publishes at its own version line; a row whose version did not move since the previous train was skipped by the push, not republished.

Package NuGet
OpenTok.Net.Android 2.34.1.4
OpenTok.Net.webrtc.Dependency.Android 121.1.101.1