Skip to content

Releases: janko/rodauth-rails

2.1.2

26 Nov 21:17
771b97f

Choose a tag to compare

  • Include charset=UTF-8 in HTML response Content-Type. This makes browser render characters with diacritics correctly, and is consistent with Rails defaults.

2.1.1

28 Oct 19:14
e1db2b8

Choose a tag to compare

  • Allow Rails 8.1+

2.1.0

19 Mar 21:26
62b64c6

Choose a tag to compare

  • Added configuration for skipping loading of the Tilt gem, which Rodauth uses to render built-in view & email templates.

    # config/initializers/rodauth.rb
    Rodauth::Rails.configure do |config|
      # ...
      config.tilt = false # skip loading Tilt gem
    end

    This is useful when you've imported all view & email templates into your app, and want to get rid of the extra dependency.

  • The rodauth:routes rake task now displays the route name:

    $ rails rodauth:routes
    Routes handled by RodauthApp:
    
                      login  GET|POST  /login                   rodauth.login_path
             create_account  GET|POST  /create-account          rodauth.create_account_path
      verify_account_resend  GET|POST  /verify-account-resend   rodauth.verify_account_resend_path
             verify_account  GET|POST  /verify-account          rodauth.verify_account_path
            change_password  GET|POST  /change-password         rodauth.change_password_path
               change_login  GET|POST  /change-login            rodauth.change_login_path
                     logout  GET|POST  /logout                  rodauth.logout_path
                   remember  GET|POST  /remember                rodauth.remember_path
     reset_password_request  GET|POST  /reset-password-request  rodauth.reset_password_request_path
             reset_password  GET|POST  /reset-password          rodauth.reset_password_path
        verify_login_change  GET|POST  /verify-login-change     rodauth.verify_login_change_path
              close_account  GET|POST  /close-account           rodauth.close_account_path
    

    This is useful if you're using rodauth.current_route or have controller callbacks for specific Rodauth actions.

  • The optional dependencies added to the Gemfile by rodauth:install generator are now longer eagerly loaded. This helps speed up boot time in development.

    # Gemfile
    # ...
    gem "sequel-activerecord_connection", require: false
    gem "bcrypt", require: false
    gem "tilt", require: false
  • Rails 5.1+ is now required.

2.0.2

19 Dec 20:12
c4ed0ac

Choose a tag to compare

  • Add back Rodauth::Rails::Feature::Email::Mailer as a deprecated alias for Rodauth::Rails::Mailer, so that previously enqueued email deliveries with built-in mailer still get processed in newer gem versions.

2.0.1

19 Dec 20:05
fb3e67d

Choose a tag to compare

  • The built-in mailer class now resolves correctly when email deliveries are processed by a separate background job process in development. This should fix the NameError: uninitialized constant Rodauth::Rails::Feature errors.

    The mailer class was renamed from Rodauth::Rails::Feature::Email::Mailer to Rodauth::Rails::Mailer, so any previously enqueued email deliveries will fail. However, the built-in mailer shouldn't be used in production anyway.

2.0.0

16 Dec 21:15
65bf4ce

Choose a tag to compare

Breaking changes

  • The sequel-activerecord_connection, bcrypt and tilt gems are now optional dependencies. For new projects, rodauth:install will automatically add them to your Gemfile.

    For existing projects, you should add them back as needed:

    $ bundle add sequel-activerecord_connection --require false # unless you're using Sequel as your primary ORM
    $ bundle add after_commit_everywhere --require false # not needed on Rails 7.2+
    $ bundle add bcrypt --require false # unless you're using argon2
    $ bundle add tilt --require false # not needed if you're not rendering any built-in view/email templates and have Roda rendering disabled, see https://github.com/janko/rodauth-rails/wiki/Skip-Tilt 
  • The built-in #current_account controller method has been removed. It has been soft-deprecated for a while now, but it's not ergonomic enough for secondary Rodauth configurations.

    Existing applications should define their own that delegate to rodauth.rails_account, for example:

    class ApplicationController < ActionController::Base
      private
      # primary configuration
      def current_account
        rodauth.rails_account
      end
    end
    class Admin::ApplicationController < ActionController::Base
      private
      # secondary configuration
      def current_admin
        rodauth(:admin).rails_account
      end
    end
  • Removed deprecated Rodauth::Rails::Model class. This shouldn't affect you if you've been using Rodauth::Rails.model.

  • Removed deprecated Rodauth::Rails.authenticated routing constraint. You should be using Rodauth::Rails.authenticate instead.

  • Support for Rails 5.0 has been dropped.

  • Support for Ruby 2.5 has been dropped.

Other improvements

  • The --jwt option for the rodauth:install generator automatically adds the jwt gem to the Gemfile.

  • The --argon2 option for the rodauth:install generator automatically adds the argon2 gem to the Gemfile.

  • Added check constraint to generated Active Record migration on Postgres for the accounts table that verifies basic email format. This makes it consistent with the Sequel migration.

  • Install instructions are now skipped if --json or --jwt flag was specified, as those are mostly specific to HTML mode anyway.

1.15.2

08 Nov 20:07
40507f0

Choose a tag to compare

1.15.1

26 Oct 17:35
ab365a5

Choose a tag to compare

  • Don't pass keyword arguments to enum on generated account model for Rails 8.0 compatibility.
  • Show configuration suggestion for otp_unlock feature if generating its migration with a table prefix.
  • Remove require_login_redirect { login_path } from generated configuration, as that's now the default in Rodauth.
  • Simplify installation instructions, cutting the number of lines by 50%.

1.15.0

03 Aug 05:57
aa8298e

Choose a tag to compare

New features

  • Migrations and view/email templates have been added for the new otp_unlock, otp_lockout_email, otp_modify_email and webauthn_modify_email features added in Rodauth 2.36.

  • New rodauth:mailer generator has been added to accommodate for the increased number of possible emails. Mailer integration isn't generated by rodauth:install generator anymore.

  • The rodauth.rails_url_options hash can now be overridden at runtime. This is useful when different mailers have different URL options (e.g. subdomains).

    class RodauthMailer < ApplicationMailer
      # ...
      def rodauth(name, account_id, &block)
        instance = RodauthApp.rodauth(name).allocate
        instance.account_from_id(account_id)
        instance.rails_url_options.merge!(default_url_options) # merge current default URL options
        instance.instance_eval(&block) if block
        instance
      end
    end

Bug fixes

  • The model instance returned by rodauth.rails_account is now refreshed when rodauth.account changes. This fixes integration with rodauth-become_account gem.

  • Fixed error on Rails 7.2 when Rodauth attempts to redirect to a URLs with query parameters.

Other improvements

  • The generated mailer now uses rodauth.account_from_id added in Rodauth 2.36 for setting the current account.

  • Explicit index names have been removed from generated migrations in favor of default index names.

  • Added missing email template for the reset_password_notify feature.

  • The generated Rodauth configuration no longer enables the change_password_notify feature.

  • The generated webauthn_remove view template now uses rodauth.strftime_format for displaying last use.

  • The convert_token_id_to_integer? configuration is now skipped on install when Sequel is used as primary ORM.

1.14.1

15 May 19:04
6152523

Choose a tag to compare

  • Fixed matching on account status when passing Active Record object to Rodauth::Rails.account (@dush)