All Versions
8
Latest Version
Avg Release Cycle
144 days
Latest Release
102 days ago

Changelog History

  • v0.5.0

    October 09, 2019
    • ⚡️ Crystal 0.31.0 changed the behaviour of Int#/ in favour of Int#// for integer division. This affected the base32 module, which no longer builds. Updated to point at a fork of base32 that does build in 0.31.0.
  • v0.4.0

    August 18, 2019

    2019-08-18

    🔄 Changed

    • Crystal 0.30.0 deprecated URI.escape in favour of URI.encode_www_form. Updated this to match the original behaviour (with space_to_plus: false).
    • ⚡️ Crystal 0.28.0 deprecated Time.now. Updated to use Time.utc which is actually more correct according to the RFC.
    • 🗄 Crystal 0.29.0 deprecated the behaviour of Int#/ to return integers. Changed to use Int#// instead.
  • v0.3.0

    July 27, 2019

    ➕ Added

    • 👌 Support and tests for TOTP with SHA256 and SHA512

    🛠 Fixed

    • ⚡️ Crystal 0.28.0 changed the first argument for OpenSSL::HMAC#digest from a symbol to a type of OpenSSL::Algorithm. Updated this within the library thanks to @Xosmond.
  • v0.2.0

    March 28, 2019

    🛠 Fixed

    • ⚡️ Crystal 0.27.0 changed Time#epoch to Time#to_unix, updated within the library thanks to @Xosmond
  • v0.1.3

    May 27, 2018

    ➕ Added

    • ➕ Added authenticator_uri to HOTP and TOTP objects to generate URIs for 2FA authenticator apps.
    • ➕ Added base32_secret to both objects so that users who can't use the URI or QR code can copy the base32 secret to their authenticator app.
  • v0.1.2

    May 26, 2018

    ➕ Added

    • ➕ Added an allowed_drift to verify methods so that codes can be valid longer.
  • v0.1.1

    January 10, 2017

    🔄 Changed

    • Replaced implementation of int_to_bytes with IO::ByteFormat::LittleEndian.encode thanks to @benoist
  • v0.1.0

    January 07, 2017

    ➕ Added

    • 🎉 Initial implementation of HOTP and TOTP.