All Versions
Latest Version
Avg Release Cycle
144 days
Latest Release
1648 days ago

Changelog History

  • v0.5.0 Changes

    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 Changes

    August 18, 2019


    ๐Ÿ”„ 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 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 Changes

    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 Changes

    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 Changes

    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 Changes

    May 26, 2018

    โž• Added

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

    January 10, 2017

    ๐Ÿ”„ Changed

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

    January 07, 2017

    โž• Added

    • ๐ŸŽ‰ Initial implementation of HOTP and TOTP.