Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog

## 0.5.25 - 2026-08-27

- Add keep consumer rules for JNA types UniFFI needs under R8.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "vss-rust-client-ffi"
version = "0.5.24"
version = "0.5.25"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

Expand Down
4 changes: 2 additions & 2 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@

import PackageDescription

let tag = "v0.5.24"
let checksum = "655f78dfce27e58ae37ab448e03d36186182cc9066d7bcf0341a5e6787330b7a"
let tag = "v0.5.25"
let checksum = "543245da55335b3db3656e2c7765ef96948d01ca2e3b5903dc35e3990319bd4e"
let url = "https://github.com/synonymdev/vss-rust-client-ffi/releases/download/\(tag)/VssRustClientFfi.xcframework.zip"

let package = Package(
Expand Down
15 changes: 14 additions & 1 deletion bindings/android/consumer-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,21 @@
native <methods>;
}

# @Structure.FieldOrder is read at runtime.
# JNA reads Structure.FieldOrder at runtime. R8 full mode strips that
# annotation unless the annotation type and annotated classes are kept.
-keepattributes RuntimeVisibleAnnotations
-keep,allowshrinking,allowoptimization class com.sun.jna.Structure$FieldOrder
-keep,allowshrinking,allowoptimization,allowobfuscation @com.sun.jna.Structure$FieldOrder class com.synonym.vssclient.** {
<fields>;
<init>(...);
}

# libjnidispatch looks up Native/Structure/CallbackReference members by JNI name.
# Subclasses such as com.sun.jna.ptr.IntByReference are kept by the extends rules.
# See https://github.com/java-native-access/jna/blob/master/www/FrequentlyAskedQuestions.md#jna-on-android
-keep class com.sun.jna.* { *; }
-keep class * extends com.sun.jna.* { *; }
-keepclassmembers class * extends com.sun.jna.* { public *; }

# JNA's AAR references desktop AWT types that are absent on Android.
-dontwarn java.awt.Component
Expand Down
2 changes: 1 addition & 1 deletion bindings/android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ android.useAndroidX=true
android.nonTransitiveRClass=true
kotlin.code.style=official
# project settings:
version=0.5.24
version=0.5.25
Loading