All Versions
Latest Version
Avg Release Cycle
267 days
Latest Release
3314 days ago

Changelog History
Page 1

  • v0.4.0 Changes

    March 27, 2015



    • โž• Added test Project
    • โšก๏ธ Updated sample ready for playstore upload


    • โž• Added methods to get/set strings un-encrypted
    • โž• Added backup PBKDF function in case PBKDF2WithHmacSHA1 not supported
    • ๐Ÿ”จ Refactored code to make it easier to change the AES mode and PBKDF function.
    • Increased iterations of PBKDF from 1000 to 2000.


    • ๐ŸŽ‰ Initial import to github I've modified the project structure.
    • Included the Android base64 class so library can be used by Android 2.1+.
    • โœจ Enhanced the sample project dumps current prefs to illustrate the fact they are stored encrypted and Base64 encoded.
  • v0.1.8 Changes

    • ๐Ÿ›  Fix crash in Android 10 / Q due to accessing Device Serial

    โฌ†๏ธ WARNING: SecurePreferences will fail to decrypt previously encrypted values if device is upgraded to Android 10/Q. This is due to default Salt using the Device Serial which is no longer accessible.

  • v0.1.7 Changes

    March 12, 2019
    • PR #92 to allow pass own salt
  • v0.1.6 Changes

    January 04, 2018
    • 73 Wrong parameters order in one constructor
  • v0.1.5 Changes

    December 19, 2017
    • 54 Allow to pass Salt so you don't have to use Android_ID - Thanks to @linakis
    • 38 Ensure we always return a String in getString thanks to @aeoris
    • โšก๏ธ Updated Gradle plugin v3 and Gradle wrapper to v4
    • โฌ†๏ธ Bumped nin SDK to 14
    • โšก๏ธ update to com.scottyab:aes-crypto:0.0.5 (sync'd with v1.1.0 on 11th Dec 2017 )
  • v0.1.4 Changes

    October 13, 2015
    • 30 prevented IllegalArgumentException: bad base-64 by not using generateKeyFromPassword(password, salt) where salt is String, using converted to byte[] before calling.
    • โšก๏ธ 31 Updates crypto dependency to version com.scottyab:aes-crypto:0.0.4 to fix issues when obfuscated
    • ๐Ÿ‘Œ Support for ProGuard without the need to -keep any of the library or dependency classes(or inner classes)
    • Sample's minifyEnabled set to true
  • v0.1.3 Changes

    July 24, 2015
    • 25 fix to issue handling password change
    • โšก๏ธ Updates crypto dependency to version com.scottyab:aes-crypto:0.0.3 to help with issue #18
  • v0.1.2 Changes

    July 16, 2015
    • 22 Internal changed to local reference to shared pref file and keys from static, as this made it impossible to have multiple secure preference files.
    • โœ๏ธ 15 fixed typos, specifically destroyKeys()
    • ๐Ÿ†• New constructor where you can supply your own keys to aid with issue #18.
    • โž• Additional unit tests
  • v0.1.1 Changes

    • ๐Ÿ›  Fixed build issue referencing 'com.scottyab:aes-crypto' dependency (previous pointed to snapshot repo)
    • ๐Ÿ— Minor tweek to build file so doesn't error if you don't have the sample app signing config
  • v0.1.0 Changes

    April 12, 2015

    This release is a major refactor of the guts of secure prefs, which is Not backwards compatible with 0.4.0 and older versions yet!. So if you have an existing app using this don't upgrade. I'll be looking to add migration into a later release.

    • ๐Ÿ‘‰ uses a new and stronger Crypto library under the hood
    • ๐Ÿ”Š includes PRNG fixes that effects JellyBean devices as per google dev blog article
    • ๐Ÿ‘Œ supports password based key generation so the key is not persisted
    • ๐Ÿ”„ change password supported
    • โšก๏ธ updated sample app
    • โœ‚ removed test project and added tests as part of main project
    • ๐Ÿ”จ refactored library project to standard gradle structure
    • ๐Ÿš€ published to maven central/added github release

    Note: 0.1.0 was dependent on snapshot of aes-crypto, this is only as I was waiting for the aes-crypto repo owner to publish to maven. I've sorted this for v0.1.1+ which is no longer dependant on Snapshot repo.