rails/railties/CHANGELOG.md
Mike Dalessio f9e86f1bf5
Improve how the sessions generator adds bcrypt (#52346)
* doc: fix CHANGELOG message for sessions generator

* fix: Sessions generator adds bcrypt more robustly

Use Thor's `uncomment_lines` instead of `gsub_file`.

If the Gemfile does not contain bcrypt, either commented or
uncommented, then run `bundle add bcrypt`.

Make sure all bundler commands run within `Bundler.with_original_env`
to avoid bundler resolution problems while trying to resolve bundler
dependencies. Typically the failure mode here is seeing:

> Could not find bcrypt-3.1.20 in cached gems or installed locally (Bundler::GemNotFound)

while bootstrapping the process that will run bundle-install or bundle-add.
2024-07-17 08:14:31 +02:00

2.2 KiB

  • Add sessions generator to give a basic start to an authentication system using database-tracked sessions.

    Generate with...

    bin/rails generate sessions

    Generated files

    app/models/current.rb app/models/user.rb app/models/session.rb app/controllers/sessions_controller.rb app/views/sessions/new.html.erb db/migrate/xxxxxxx_create_users.rb db/migrate/xxxxxxx_create_sessions.rb

    DHH

  • Add not-null type modifier to migration attributes.

    Generating with...

    bin/rails generate migration CreateUsers email_address:string!:uniq password_digest:string!

    Produces:

    class CreateUsers < ActiveRecord::Migration[8.0] def change create_table :users do |t| t.string :email_address, null: false t.string :password_digest, null: false

      t.timestamps
    end
    add_index :users, :email_address, unique: true
    

    end end

    DHH

  • Add script folder and generator

    Add a new script default folder to hold your one-off or general purpose scripts, such as data migration scripts, cleanup scripts, etc.

    A new script generator allows you to create such scripts:

    rails generate script my_script

    You can run the generated script using:

    ruby script/my_script.rb

    Jerome Dalbert, Haroon Ahmed

  • Enable tracking route source locations only when using routes command. Previously, it was enabled in development mode, but is only needed for bin/rails routes -E.

    Gannon McGibbon

  • Deprecate bin/rake stats in favor of bin/rails stats.

    Juan Vásquez

  • Add internal page /rails/info/notes, that displays the same information as bin/rails notes.

    Deepak Mahakale

  • Add Rubocop and GitHub Actions to plugin generator. This can be skipped using --skip-rubocop and --skip-ci.

    Chris Oliver

  • Use Kamal for deployment by default, which includes generating a Rails-specific config/deploy.yml. This can be skipped using --skip-kamal. See more: https://kamal-deploy.org/

    DHH

Please check 7-2-stable for previous changes.