v0.4.0 - 2026-04-06
- Dispatch
webauthn:unsupportedfor browsers missingparseOptionsFromJSON. #127 @santiagorodriguez96 - Scope
login_with_passkey_form_forto the Devise resource so that form builder fields (e.g.f.check_box :remember_me) are properly namespaced (e.g.account[remember_me]). #134 @RenzoMinelli - Allow passing a -c flag to the controller generator to specify which controller to override. #110 @nicolastemciuc
- Change
webauthn_idgeneration fromafter_initializetobefore_validationand add a data backfill to thewebauthn_idmigration generator for existing records. #125 @santiagorodriguez96 - Options for getting or creating passkeys and security keys are now served by dedicated Rails controllers and retrieved via JavaScript fetch requests. #73 @nicolastemciuc
- BREAKING!: Remove helpers for generating WebAuthn options. #106 @nicolastemciuc
- BREAKING!:
login_with_passkey_buttonandlogin_with_security_key_buttonhelpers have been renamed tologin_with_passkey_form_forandlogin_with_security_key_form_for. They now take a block and no longer generate the submit button automatically. You need to explicitly add the button inside the block. #112 @RenzoMinelli
<%# Before %>
<%= login_with_passkey_button(:user, "Log in with passkeys") %>
<%# After %>
<%= login_with_passkey_form_for(:user) do |form| %>
<%= form.submit "Log in with passkeys" %>
<% end %>- BREAKING!: Replace
form_classes:keyword argument with direct keyword arguments in all form helper methods (passkey_creation_form_for,login_with_passkey_form_for,security_key_creation_form_for,login_with_security_key_form_for). All options are delegated toform_with, allowing you to pass any HTML attributes or form options directly. #111 @RenzoMinelli
<%# Before %>
<%= passkey_creation_form_for(:user, form_classes: "my-class") do |form| %>
...
<% end %>
<%# After %>
<%= passkey_creation_form_for(:user, class: "my-class", id: "my-form", data: { turbo: false }) do |form| %>
...
<% end %>- Validate
userHandlefrom authenticator response againstwebauthn_id. #131 @santiagorodriguez96 - Fix
Remember mecheckbox not honored when logging in with passkeys. #133 @santiagorodriguez96 - Fix form helpers (
passkey_creation_form_for,login_with_passkey_button,security_key_creation_form_for,login_with_security_key_button) to accept aresource_nameinstead of requiring theresourceobject from the view context. #114 @RenzoMinelli
v0.3.1 - 2026-02-10
- Fix
install_generatorinvoking missingdevise:webauthn:javascripttask. #118 @joaquintomas2003
v0.3.0 - 2026-01-16
- WebAuthn JavaScript is now bundled as engine assets using custom HTML elements (
<webauthn-create>,<webauthn-get>) instead of generating a Stimulus controller into the host application. #84 @santiagorodriguez96 - Add endpoint to
SecondFactorWebauthnCredentialsControllerfor "upgrading" second factor webauthn credentials (i. e., security keys) to passkeys. #80 @nicolastemciuc
- Loosen
deviseupper constraint to allow for v5. #94 @santiagorodriguez96 - BREAKING!: Our Form helpers now use the bundled WebAuthn JS asset now instead of the Stimulus controllers, so they expect it to be included in your application. #84 @santiagorodriguez96
- Previously generated Stimulus controller for handling WebAuthn client logic are no longer generated.
- Stimulus is no longer needed for this engine to work.
- Make helpers for generating WebAuthn options public methods. #106 @santiagorodriguez96
- BREAKING!: Our controller for managing second factor credentials now uses a separate method for each endpoint for setting the URL to redirect to. #80 @nicolastemciuc
- What used to be just an
after_update_pathfor all endpoints, now it's anafter_(create|update|destroy)_pathfor each endpoint. - If you had overriden the controller to change the
after_update_path, be mindful that nowcreateanddestroyendpoints will call its own method.
- What used to be just an
- Fix
Remember mecheckbox not honored when going through the 2FA challenge flow. #87 @santiagorodriguez96
v0.2.2 - 2025-12-11
- Update controllers and views generators to generate 2FA-related controllers and views. #75 @santiagorodriguez96
- Add flash messages when removing credentials. #78 @nicolastemciuc
- Generate webauthn credentials table with not null constraints in attributes that must be present. #70 @santiagorodriguez96
v0.2.1 - 2025-12-10
- Add form helpers for security key registration and 2FA authentication. #52 @santiagorodriguez96
- Fix incorrect call to
resource_nameinstead of using passedresourceparam inlogin_with_security_key_buttonhelper. #65 @santiagorodriguez96 - Fix
NoMethodErrorwhen callingsecond_factor_enabled?on resources without 2FA. #62 @nicolastemciuc - Avoid assuming
emailas the authentication key of the resource in form helpers. #66 @santiagorodriguez96
v0.2.0 - 2025-12-03
- Add new
webauthn_two_factor_authenticatablemodule for enabling 2FA using WebAuthn credentials. #49 @santiagorodriguez96
v0.1.2 - 2025-12-03
- Fixed sign in with passkey for resources with name different from "User". #47 @joaquintomas2003, @santiagorodriguez96
v0.1.1 - 2025-11-13
- Updated gemspec metadata. #43 @joaquintomas2003
v0.1.0 - 2025-11-12
- Provides passkey authentication for apps using Devise. @joaquintomas2003, @nicolastemciuc, @RenzoMinelli, @santiagorodriguez96