All Versions
15
Latest Version
Avg Release Cycle
54 days
Latest Release
10 days ago

Changelog History
Page 1

  • v1.4.0-rc2

    May 15, 2020

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    This is Tink 1.4.0-rc2.

    🔄 Changes

    🚀 This release candidate adds things that we want to ship in 1.4.0, but didn't have a chance to add them to 1.4.0-rc1, such as:

    • a proper fix for the infamous Protobuf issue in Tink for Android.
    • 👍 a better go.mod config.
    • 🚀 many changes in Tink Python that didn't make the last release cut.

    The complete list of changes since 1.4.0-rc1 can be found here.

    Installation

    C++

    📚 We no longer offer prebuilt binaries for C++. Please check out this documentation for how to compile your application together with Tink using Bazel or CMake.

    Obj-C with CocoaPods

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.4.0-rc2'pod install
    

    Golang

    To install Tink locally run:

    go get github.com/google/tink/go/...
    

    Python

    👀 See setup instructions.

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.4.0-rc2\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      implementation 'com.google.crypto.tink:tink-android:1.4.0-rc2'
    }
    

    Known issues

    • 🏗 Tink Obj-C doesn't build. That is, you can't check out Tink Obj-C and build it yourself using Bazel. You can still use it in your apps by installing our prebuilt package, as noted above.

    What's next

    1.4.0 final should be out in 1-2 weeks, barring new issues.

  • v1.4.0-rc1

    April 30, 2020

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    This is Tink 1.4.0-rc1.

    🔄 Changes

    👀 This version introduces support for Python. Tink Python, which is a Pybind11 wrapper of Tink C++, supports all primitives but Streaming AEAD (which will come in 1.5.0). For an overview of using the Tink Python implementation, see the Python HOW-TO. In addition, there are illustrative examples of using Tink Python which can used as a jumping off point.

    Tink C++ now tries to erase keys from memory after use.

    The complete list of changes since 1.3.0 can be found here. Please note that Tink JavaScript is not a part of this release.

    Installation

    C++

    📚 We no longer offer prebuilt binaries for C++. Please check out this documentation for how to compile your application together with Tink using Bazel or CMake.

    Obj-C with CocoaPods

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.4.0-rc1'pod install
    

    Golang

    To install Tink locally run:

    go get github.com/google/tink/go/...
    

    Python

    👀 See setup instructions.

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.4.0-rc1\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.4.0-rc1'
    }
    

    Known issues

    • 🏗 Tink Obj-C doesn't build. That is, you can't check out Tink Obj-C and build it yourself using Bazel. You can still use it in your apps by installing our prebuilt package, as noted above. We're fixing this.

    What's next

    1.4.0 final should be out in 1-2 weeks, barring new issues.

  • v1.3.0

    March 12, 2020
  • v1.3.0-rc4

    February 20, 2020

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    🚀 This is Tink 1.3.0 Release Candidate 4.

    🔄 Changes

    The complete list of changes since 1.3.0-rc3 can be found here.

    🔄 Changes of note include (from rc3 to rc4):

    • 🛠 Fix an inconsistency in the Envelope Encryption approach in the C++ implementation (8e4b5c7)

    Please note that Tink JavaScript and Tink Python are not a part of this release. Moreover, streaming envelope encryption (for Java and C++) has been de-prioritized and also is not a part of this release.

    Installation

    C++ with prebuilt binaries

    OS="$(uname | tr '[:upper:]' '[:lower:]')"TARGET\_DIR="/usr/local"curl -L \ "https://storage.googleapis.com/tink/releases/libtink-${OS}-x86\_64-1.3.0-rc4.tar.gz" |sudo tar -xz -C ${TARGET\_DIR}
    

    Obj-C with CocoaPods

    🚚 The Obj-C artifacts are pending publication. This note will be removed once they are published.

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.3.0-rc4'pod install
    

    Golang

    To install Tink locally run:

    go get github.com/google/tink/go/...
    

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.3.0-rc4\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.3.0-rc4'
    }
    

    What's next

    🚀 This should be the last release candidate before the final 1.3.0 release.

  • v1.3.0-rc3

    December 20, 2019

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    🚀 This is Tink 1.3.0 Release Candidate 3

    🔄 Changes

    The complete list of changes since 1.3.0-rc2 can be found here.

    🔄 Changes of note include (from rc2 to rc3):

    • 🛠 Fix ExceptionInInitializerError with tink-android (#289)
    • 🛠 Fix CocoaPod to actually include new APIs.

    Please note that Tink JavaScript and Tink Python are not a part of this release. Moreover, streaming envelope encryption (for Java and C++) has been de-prioritized and also is not a part of this release.

    Installation

    C++ with prebuilt binaries

    OS="$(uname | tr '[:upper:]' '[:lower:]')"TARGET\_DIR="/usr/local"curl -L \ "https://storage.googleapis.com/tink/releases/libtink-${OS}-x86\_64-1.3.0-rc3.tar.gz" |sudo tar -xz -C ${TARGET\_DIR}
    

    Obj-C with CocoaPods

    🚚 The Obj-C artifacts are pending publication. This note will be removed once they are published.

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.3.0-rc3'pod install
    

    Golang

    To install Tink locally run:

    go get github.com/google/tink/go/...
    

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.3.0-rc3\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.3.0-rc3'
    }
    

    What's next

    🚀 There may be a few more release candidates before we get to the final 1.3.0 release. It should be out by December 2019.

  • v1.3.0-rc2

    November 26, 2019

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    🚀 This is Tink 1.3.0 Release Candidate 2

    🔄 Changes

    The complete list of changes since 1.3.0-rc1 can be found here.

    🔄 Changes of note include (from rc1 to rc2):

    • The recommended version of Bazel is documented in the .bazelversion file in the root of the repository. This approach is compatible with Bazelisk, a wrapper for Bazel maintained by the Bazel team.

    Please note that Tink JavaScript and Tink Python are not a part of this release. Moreover, streaming envelope encryption (for Java and C++) has been de-prioritized and also is not a part of this release.

    Installation

    C++ with prebuilt binaries

    OS="$(uname | tr '[:upper:]' '[:lower:]')"TARGET\_DIR="/usr/local"curl -L \ "https://storage.googleapis.com/tink/releases/libtink-${OS}-x86\_64-1.3.0-rc2.tar.gz" |sudo tar -xz -C ${TARGET\_DIR}
    

    Obj-C with CocoaPods

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.3.0-rc2'pod install
    

    Golang

    To install Tink locally run:

    go get github.com/google/tink/go/...
    

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.3.0-rc2\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.3.0-rc2'
    }
    

    What's next

    🚀 There may be a few more release candidates before we get to the final 1.3.0 release. It should be out by December 2019.

  • v1.3.0-rc1

    July 01, 2019

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    🚀 This is Tink 1.3.0 Release Candidate 1

    🔄 Changes

    The complete list of changes since 1.2.2 can be found here.

    The main changes include:

    • 🆕 new language: Tink in Go, with primitives MAC, AEAD (incl. KMS envelope), deterministic AEAD, hybrid encryption and digital signatures (see supported primitives and GOLANG HOWTO for details)
    • C++ deterministic AEAD (AES-SIV) and streaming AEAD (AES-GCM-HKDF-STREAMING)
    • C++ KMS-AEAD and KMS-envelope-AEAD, incl. integration with AWS KMS and GCP KMS.
    • RSA-signatures for Java and C++ (RSA-SSA-PKCS1, RSA-SSA-PSS)
    • ED25519 signatures for C++, Obj-C, and Go

    Please note that Tink JavaScript and Tink Python are not a part of this release. Moreover, streaming envelope encryption (for Java and C++) has been de-prioritized and also is not a part of this release.

    Installation

    C++ with prebuilt binaries

    OS="$(uname | tr '[:upper:]' '[:lower:]')"TARGET\_DIR="/usr/local"curl -L \ "https://storage.googleapis.com/tink/releases/libtink-${OS}-x86\_64-1.3.0-rc1.tar.gz" |sudo tar -xz -C ${TARGET\_DIR}
    

    Obj-C with CocoaPods

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.3.0-rc1'pod install
    

    Golang

    To install Tink locally run:

    go get github.com/google/tink/go/...
    

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.3.0-rc1\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.3.0-rc1'
    }
    

    What's next

    🚀 There may be a few more release candidates before we get to the final 1.3.0 release. It should be out by the end of July 2019.

  • v1.2.2

    January 25, 2019

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    This is Tink 1.2.2.

    🔄 Changes

    🚀 This release fixes an issue with the Obj-C build distributed via CocoaPods. In particular, the BoringSSL library is statically linked to prevent namespace clashes in projects which depend on OpenSSL.

    The complete list of changes since 1.2.1 can be found here.

    Installation

    C++ with prebuilt binaries

    OS="$(uname | tr '[:upper:]' '[:lower:]')"TARGET\_DIR="/usr/local"curl -L \ "https://storage.googleapis.com/tink/releases/libtink-${OS}-x86\_64-1.2.2.tar.gz" |sudo tar -xz -C ${TARGET\_DIR}
    

    Obj-C with CocoaPods

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.2.2'pod install
    

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.2.2\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.2.2'
    }
    

    What's next

    👀 See the project road map for future plans.

  • v1.2.1

    November 16, 2018

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    This is Tink 1.2.1.

    🔄 Changes

    🚀 This release fixes a bunch of (non-security) bugs. There is no change in the public APIs.

    The complete list of changes since 1.2.0 can be found here.

    Installation

    C++ with prebuilt binaries

    OS="$(uname | tr '[:upper:]' '[:lower:]')"TARGET\_DIR="/usr/local"curl -L \ "https://storage.googleapis.com/tink/releases/libtink-${OS}-x86\_64-1.2.1.tar.gz" |sudo tar -xz -C ${TARGET\_DIR}
    

    Obj-C with Cocoapods

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.2.1'pod install
    

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.2.1\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.2.1'
    }
    

    What's next

    👀 See the project road map for future plans.

  • v1.2.0

    August 10, 2018

    Tink is a multi-language, cross-platform library that provides simple and misuse-proof APIs for common cryptographic tasks.

    This is Tink 1.2.0.

    🔄 Changes

    🚀 The complete list of changes since Release Candidate 4 can be found here.

    🚀 Please ignore RSA-related changes; RSA is not part of 1.2.0 release.

    🆕 New languages: C++ and Obj-C

    👍 Tink 1.2.0 adds support for C++ and Obj-C. Both have been running in production at Google for a few months, and support the following algorithms:

    • AEAD: AES-EAX, AES-GCM, AES-CTR-HMAC-AEAD
    • MAC: HMAC-SHA2
    • Digital Signature: ECDSA over NIST curves
    • Hybrid Encryption: ECIES over NIST curves with AEAD (AES-GCM and AES-CTR-HMAC-AEAD) and HKDF

    👌 Support for AWS KMS will be added to the Tink C++ library in future release candidates. Support for Google Cloud KMS has to wait post 1.2.0 because of lack of Cloud KMS client library.

    👍 The Tink Obj-C library supports reading/writing key material to/from iOS Keychain.

    👀 Please see the C++ HOWTO and the Obj-C HOWTO for usage.

    Installation

    C++ with prebuilt binaries

    OS="linux"# Change to "darwin" for macOSTARGET\_DIR="/usr/local"curl -L \ "https://storage.googleapis.com/tink/releases/libtink-${OS}-x86\_64-1.2.0.tar.gz" |sudo tar -xz -C ${TARGET\_DIR}
    

    Obj-C with Cocoapods

    cd /path/to/your/Xcode project/ pod init pod 'Tink', '1.2.0'pod install
    

    Java with Maven

    \<dependency\> \<groupId\>com.google.crypto.tink\</groupId\> \<artifactId\>tink\</artifactId\> \<version\>1.2.0\</version\> \</dependency\>
    

    Android with Gradle

    dependencies {
      compile 'com.google.crypto.tink:tink-android:1.2.0'
    }
    

    What's next

    👀 See the project road map for future plans.