CHANGES

  • 1.3.4:

    • Optional new metadata com.github.shadowsocks.plugin.id.aliases for plugin ID aliases;

      (see doc for PluginContract.METADATA_KEY_ID_ALIASES and main documentation "Plugin ID Aliasing" for more information)

    • Please use android:path instead of android:pathPrefix, sample code in documentations have been updated to reflect this recommendation.

    • Added missing documentation regarding direct boot support.

      Please add android:directBootAware="true" with proper support for your provider if possible.

    • You can now use android:resources on meta-data tags. (main/host app update required, however, you should never use dynamic resources)

    • Fix occasional crash in AlertDialogFragment.

    • Translation updates.

    • Dependency updates:

      • androidx.core:core-ktx:1.2.0;

      • com.google.android.material:material:1.1.0.

  • 1.3.3:

    • Fix a build script issue.

  • 1.3.2:

    • Fix first key-value pair disappearing with null value. (#2391)

    • Dependency updates:

      • androidx.core:core-ktx:1.1.0;

      • com.google.android.material:material:1.1.0-rc01;

      • org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.61.

  • 1.3.1:

    • New theme resource Theme.Shadowsocks.Immersive for better Android Q-esque translucent navigation bars.

      This is an opt-in feature.

      Please add android:theme="@style/Theme.Shadowsocks.Immersive" to your <activity> to enable this theme.

    • New color resources light_* and dark_* for passing to custom tabs;

    • Dependency updates:

      • androidx.core:core-ktx:1.1.0-rc03;

      • androidx.drawerlayout:drawerlayout:1.1.0-alpha03;

      • com.google.android.material:material:1.1.0-alpha09;

      • org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.41.

  • 1.3.0:

    • Optional new metadata com.github.shadowsocks.plugin.executable_path for even faster initialization;

      (see doc for PluginContract.METADATA_KEY_EXECUTABLE_PATH for more information)

    • Breaking API change: val AlertDialogFragment.ret: Ret? => fun AlertDialogFragment.ret(which: Int): Ret?;

      (nothing needs to be done if you are not using this API)

    • Dependency updates:

      • Now targeting API 29;

      • androidx.core:core-ktx:1.1.0-rc01;

      • com.google.android.material:material:1.1.0-alpha07;

      • org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.40.

  • 1.2.0:

    • New helper class AlertDialogFragment for creating AlertDialog that persists through configuration changes;

    • Dependency update: com.google.android.material:material:1.1.0-alpha03.

  • 1.1.0:

    • Having control characters in plugin options is no longer allowed.

      If this breaks your plugin, you are doing it wrong.

    • New helper method: PluginOptions.putWithDefault.

  • 1.0.0:

    • BREAKING CHANGE: Plugins developed using this version and forward require shadowsocks-android 4.6.5 or higher.

    • PathProvider now takes Int instead of String for file modes;

    • Refactor to AndroidX;

    • No longer depends on preference libraries.

  • 0.1.1:

    • Rewritten in Kotlin;

    • Fix assert not working;

    • Min API 21;

    • Update support library version to 27.1.1.

  • 0.0.4:

    • Enlarge text size of number pickers;

    • Update support library version to 26.0.0.

  • 0.0.3:

    • Update support library version to 25.2.0.

  • 0.0.2:

    • Add getOrDefault to PluginOptions;

    • Update support library version to 25.1.1.

  • 0.0.1: Initial release.

Last updated