ndk-context breaking changes
cargo39 curated breaking changes across major versions of ndk-context. Use this as a migration checklist before bumping dependencies.
- ndk-0.8.0 \u2192 ndk-sys-0.5.0breaking
Add `font`, `font_matcher`, `system_fonts` bindings. (#397)
- ndk-0.8.0 \u2192 ndk-sys-0.5.0breaking
Add `sync` feature for linking against `libsync.so`. (#423)
- ndk-glue-0.6.0 \u2192 ndk-sys-0.3.0breaking
Regenerate against NDK 23.1.7779620, now including all Android-related headers. (#201)
- ndk-0.7.0 \u2192 ndk-glue-0.7.0breaking
**Breaking:** Transpose `LockReadGuard<Option<T>>` into `Option<LockReadGuard<T>>` to only necessitate an `Option` unpack/`unwrap()` once. (#282)
- cargo-apk-0.9.4 \u2192 ndk-build-0.8.0breaking
`start()` now returns the PID of the started app process (useful for passing to `adb logcat --pid`). ([#331](https://github.com/rust-windowing/android-ndk-rs/pull/331))
- cargo-apk-0.9.4 \u2192 ndk-build-0.8.0breaking
Add `adb` device serial parameter to `detect_abi()` and `Apk::{install,start}()`. ([#329](https://github.com/rust-windowing/android-ndk-rs/pull/329))
- cargo-apk-0.9.4 \u2192 ndk-build-0.8.0breaking
Fix missing `.exe` extension for `adb` on Windows inside `detect_abi()`. ([#339](https://github.com/rust-windowing/android-ndk-rs/pull/339))
- cargo-apk-0.9.4 \u2192 ndk-build-0.8.0breaking
Inherit `ndk_gdb()` function from `cargo-apk` with the appropriate script extension across platforms. ([#330](https://github.com/rust-windowing/android-ndk-rs/pull/330), [#258](https://github.com/rust-windowing/android-ndk-rs/pull/258))
- cargo-apk-0.9.4 \u2192 ndk-build-0.8.0breaking
Provide `adb` path to `ndk-gdb`, allowing it to run without `adb` in `PATH`. ([#343](https://github.com/rust-windowing/android-ndk-rs/pull/343))
- cargo-apk-0.9.2 \u2192 ndk-build-0.6.0breaking
**Breaking:** Add `disable_aapt_compression` field to `ApkConfig` to disable `aapt` compression. ([#283](https://github.com/rust-windowing/android-ndk-rs/pull/283))
- cargo-apk-0.9.0 \u2192 ndk-build-0.5.0breaking
**Breaking:** Remove default insertion of `MAIN` intent filter through a custom serialization function, this is better filled in by the default setup in `cargo-apk`. ([#241](https://github.com/rust-windowing/android-ndk-rs/pull/241))
- cargo-apk-0.9.0 \u2192 ndk-build-0.5.0breaking
Add `android:exported` attribute to the manifest's `Activity` element. ([#242](https://github.com/rust-windowing/android-ndk-rs/pull/242))
- cargo-apk-0.9.0 \u2192 ndk-build-0.5.0breaking
Add `queries` element to the manifest's top-level `manifest` element. ([#259](https://github.com/rust-windowing/android-ndk-rs/pull/259))
- cargo-apk-0.9.0 \u2192 ndk-build-0.5.0breaking
Add `android:sharedUserId` attribute to the manifest's top-level `manifest` element. ([#252](https://github.com/rust-windowing/android-ndk-rs/pull/252))
- ndk-sys-0.5.0 \u2192 ndk-0.9.0breaking
**Breaking:** Require all `dyn Fn*` types to implement `Send` when the FFI implementation invokes them on a separate thread: (#455)
- ndk-sys-0.5.0 \u2192 ndk-0.9.0breaking
`audio::AudioStreamErrorCallback`;
- ndk-sys-0.5.0 \u2192 ndk-0.9.0breaking
`audio::AudioStreamDataCallback`;
- ndk-sys-0.5.0 \u2192 ndk-0.9.0breaking
`media::image_reader::BufferRemovedListener`;
- ndk-sys-0.5.0 \u2192 ndk-0.9.0breaking
`media::image_reader::ImageListener`;
- ndk-sys-0.4.1 \u2192 ndk-0.8.0-beta.0breaking
bitmap: Add `try_format()` to `AndroidBitmapInfo` to handle unexpected formats without panicking. (#395)
- ndk-sys-0.4.1 \u2192 ndk-0.8.0-beta.0breaking
**Breaking:** Renamed and moved "`media`" error types and helpers to a new `media_error` module. (#399)
- ndk-sys-0.4.1 \u2192 ndk-0.8.0-beta.0breaking
**Breaking:** media_codec: Wrap common dequeued-buffer status codes in enum. (#401)
- ndk-sys-0.4.1 \u2192 ndk-0.8.0-beta.0breaking
**Breaking:** Upgrade `bitflags` crate from `1` to `2`. (#394)
- ndk-sys-0.4.1 \u2192 ndk-0.8.0-beta.0breaking
**Breaking:** Upgrade `num_enum` crate from `0.5.1` to `0.7`. (#398, #419)
- ndk-sys-0.5.0-beta.0 \u2192 ndk-0.8.0breaking
Add `Font` bindings. (#397)
- ndk-sys-0.5.0-beta.0 \u2192 ndk-0.8.0breaking
**Breaking:** Upgrade `num_enum` crate from `0.5.1` to `0.7`. (#398, #419)
- ndk-sys-0.5.0-beta.0 \u2192 ndk-0.8.0breaking
**Breaking:** Renamed, moved and flattened "`media`" error types and helpers to a new `media_error` module. (#399, #432)
- ndk-sys-0.5.0-beta.0 \u2192 ndk-0.8.0breaking
**Breaking:** Upgrade `bitflags` crate from `1` to `2`. (#394)
- ndk-sys-0.5.0-beta.0 \u2192 ndk-0.8.0breaking
bitmap: Add `try_format()` to `AndroidBitmapInfo` to handle unexpected formats without panicking. (#395)
- ndk-build-0.7.0 \u2192 ndk-0.7.0breaking
native_window: Use `release`/`acquire` for `Drop` and `Clone` respectively. (#207)
- ndk-build-0.7.0 \u2192 ndk-0.7.0breaking
**Breaking:** Upgrade to [`ndk-sys 0.4.0`](../ndk-sys/CHANGELOG.md#040-2022-07-XXXX) and use new `enum` newtype wrappers. (#245)
- ndk-build-0.7.0 \u2192 ndk-0.7.0breaking
Add `MediaCodec` and `MediaFormat` bindings. (#216)
- ndk-build-0.7.0 \u2192 ndk-0.7.0breaking
Implement `HasRawWindowHandle` directly on `NativeWindow`. (#274, #319)
- ndk-build-0.7.0 \u2192 ndk-0.7.0breaking
**Breaking:** audio: Rename from `aaudio` to `audio` and drop `A` prefix. (#273)
- ndk-glue-0.5.1 \u2192 cargo-apk-0.9.0breaking
Allow manifest `package` property to be provided in `Cargo.toml`. ([#236](https://github.com/rust-windowing/android-ndk-rs/pull/236))
- ndk-glue-0.5.1 \u2192 cargo-apk-0.9.0breaking
Export the sole `NativeActivity` (through `android:exported="true"`) to allow it to be started by default if targeting Android S or higher. ([#242](https://github.com/rust-windowing/android-ndk-rs/pull/242))
- ndk-glue-0.5.1 \u2192 cargo-apk-0.9.0breaking
Add `MAIN` intent filter in `from_subcommand` instead of relying on a custom serialization function in `ndk-build`. ([#241](https://github.com/rust-windowing/android-ndk-rs/pull/241))
- ndk-glue-0.5.1 \u2192 cargo-apk-0.9.0breaking
`cargo-apk` version can now be queried through `cargo apk version`. ([#218](https://github.com/rust-windowing/android-ndk-rs/pull/218))
- ndk-glue-0.5.1 \u2192 cargo-apk-0.9.0breaking
**Breaking:** Default `target_sdk_version` to `30` or lower (instead of the highest supported SDK version by the detected NDK toolchain) for more consistent interaction with Android backwards compatibility handling and its increasingly strict usage rules: https://developer.android.com/distribute/best-practices/develop/target-sdk ([#203](https://github.com/rust-windowing/android-ndk-rs/pull/203))
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cargo/ndk-context