Closed renovate-bot closed 2 weeks ago
Because you closed this PR without merging, Renovate will ignore this update (">= 5.0", "< 7.2.3"
). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps
array of your Renovate config.
If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.
This PR contains the following updates:
">= 5.0", "< 7.1.4"
->">= 5.0", "< 7.2.3"
'>= 6.1.7.7', '< 7.1.4'
->'>= 6.1.7.7', '< 7.2.3'
'7.1.3.2'
->'7.2.2'
">= 5.0", "< 7.1.4"
->">= 5.0", "< 7.2.3"
Release Notes
rails/rails (activerecord)
### [`v7.2.2`](https://redirect.github.com/rails/rails/releases/tag/v7.2.2): 7.2.2 [Compare Source](https://redirect.github.com/rails/rails/compare/v7.2.1.2...v7.2.2) #### Active Support - Include options when instrumenting `ActiveSupport::Cache::Store#delete` and `ActiveSupport::Cache::Store#delete_multi`. *Adam Renberg Tamm* - Print test names when running `rails test -v` for parallel tests. *John Hawthorn*, *Abeid Ahmed* #### Active Model - Fix regression in `alias_attribute` to work with user defined methods. `alias_attribute` would wrongly assume the attribute accessor was generated by Active Model. ```ruby class Person include ActiveModel::AttributeMethods define_attribute_methods :name attr_accessor :name alias_attribute :full_name, :name end person.full_name # => NoMethodError: undefined method `attribute' for an instance of Person ``` *Jean Boussier* #### Active Record - Fix support for `query_cache: false` in `database.yml`. `query_cache: false` would no longer entirely disable the Active Record query cache. *zzak* - Set `.attributes_for_inspect` to `:all` by default. For new applications it is set to `[:id]` in config/environment/production.rb. In the console all the attributes are always shown. *Andrew Novoselac* - `PG::UnableToSend: no connection to the server` is now retryable as a connection-related exception *Kazuma Watanabe* - Fix marshalling of unsaved associated records in 7.1 format. The 7.1 format would only marshal associated records if the association was loaded. But associations that would only contain unsaved records would be skipped. *Jean Boussier* - Fix incorrect SQL query when passing an empty hash to `ActiveRecord::Base.insert`. *David Stosik* - Allow to save records with polymorphic join tables that have `inverse_of` specified. *Markus Doits* - Fix association scopes applying on the incorrect join when using a polymorphic `has_many through:`. *Joshua Young* - Fix `dependent: :destroy` for bi-directional has one through association. Fixes [#50948](https://redirect.github.com/rails/rails/issues/50948). ```ruby class Left < ActiveRecord::Base has_one :middle, dependent: :destroy has_one :right, through: :middle end class Middle < ActiveRecord::Base belongs_to :left, dependent: :destroy belongs_to :right, dependent: :destroy end class Right < ActiveRecord::Base has_one :middle, dependent: :destroy has_one :left, through: :middle end ``` In the above example `left.destroy` wouldn't destroy its associated `Right` record. *Andy Stewart* - Properly handle lazily pinned connection pools. Fixes [#53147](https://redirect.github.com/rails/rails/issues/53147). When using transactional fixtures with system tests to similar tools such as capybara, it could happen that a connection end up pinned by the server thread rather than the test thread, causing `"Cannot expire connection, it is owned by a different thread"` errors. *Jean Boussier* - Fix `ActiveRecord::Base.with` to accept more than two sub queries. Fixes [#53110](https://redirect.github.com/rails/rails/issues/53110). ```ruby User.with(foo: [User.select(:id), User.select(:id), User.select(:id)]).to_sql undefined method `union' for an instance of Arel::Nodes::UnionAll (NoMethodError) ``` The above now works as expected. *fatkodima* - Properly release pinned connections with non joinable connections. Fixes [#52973](https://redirect.github.com/rails/rails/issues/52973) When running system tests with transactional fixtures on, it could happen that the connection leased by the Puma thread wouldn't be properly released back to the pool, causing "Cannot expire connection, it is owned by a different thread" errors in later tests. *Jean Boussier* - Make Float distinguish between `float4` and `float8` in PostgreSQL. Fixes [#52742](https://redirect.github.com/rails/rails/issues/52742) *Ryota Kitazawa*, *Takayuki Nagatomi* - Fix an issue where `.left_outer_joins` used with multiple associations that have the same child association but different parents does not join all parents. Previously, using `.left_outer_joins` with the same child association would only join one of the parents. Now it will correctly join both parents. Fixes [#41498](https://redirect.github.com/rails/rails/issues/41498). *Garrett Blehm* - Ensure `ActiveRecord::Encryption.config` is always ready before access. Previously, `ActiveRecord::Encryption` configuration was deferred until `ActiveRecord::Base` was loaded. Therefore, accessing `ActiveRecord::Encryption.config` properties before `ActiveRecord::Base` was loaded would give incorrect results. `ActiveRecord::Encryption` now has its own loading hook so that its configuration is set as soon as needed. When `ActiveRecord::Base` is loaded, even lazily, it in turn triggers the loading of `ActiveRecord::Encryption`, thus preserving the original behavior of having its config ready before any use of `ActiveRecord::Base`. *Maxime Réty* - Add `TimeZoneConverter#==` method, so objects will be properly compared by their type, scale, limit & precision. Address [#52699](https://redirect.github.com/rails/rails/issues/52699). *Ruy Rocha* #### Action View - No changes. #### Action Pack - Fix non-GET requests not updating cookies in `ActionController::TestCase`. *Jon Moss*, *Hartley McGuire* #### Active Job - No changes. #### Action Mailer - No changes. #### Action Cable - No changes. #### Active Storage - No changes. #### Action Mailbox - No changes. #### Action Text - No changes. #### Railties - No changes. #### Guides - No changes. ### [`v7.2.1.2`](https://redirect.github.com/rails/rails/releases/tag/v7.2.1.2): 7.2.1.2 [Compare Source](https://redirect.github.com/rails/rails/compare/v7.2.1.1...v7.2.1.2) ##### Active Support - No changes. ##### Active Model - No changes. ##### Active Record - No changes. ##### Action View - No changes. ##### Action Pack - No changes. ##### Active Job - No changes. ##### Action Mailer - Fix NoMethodError in `block_format` helper *Michael Leimstaedtner* ##### Action Cable - No changes. ##### Active Storage - No changes. ##### Action Mailbox - No changes. ##### Action Text - No changes. ##### Railties - No changes. ##### Guides - No changes. ### [`v7.2.1.1`](https://redirect.github.com/rails/rails/releases/tag/v7.2.1.1): 7.2.1.1 [Compare Source](https://redirect.github.com/rails/rails/compare/v7.2.1...v7.2.1.1) #### Active Support - No changes. #### Active Model - No changes. #### Active Record - No changes. #### Action View - No changes. #### Action Pack - Avoid regex backtracking in HTTP Token authentication \[CVE-2024-47887] - Avoid regex backtracking in query parameter filtering \[CVE-2024-41128] #### Active Job - No changes. #### Action Mailer - Avoid regex backtracking in `block_format` helper \[CVE-2024-47889] #### Action Cable - No changes. #### Active Storage - No changes. #### Action Mailbox - No changes. #### Action Text - Avoid backtracing in plain_text_for_blockquote_node \[CVE-2024-47888] #### Railties - No changes. #### Guides - No changes. ### [`v7.2.1`](https://redirect.github.com/rails/rails/releases/tag/v7.2.1): 7.2.1 [Compare Source](https://redirect.github.com/rails/rails/compare/v7.2.0...v7.2.1) #### Active Support - No changes. #### Active Model - No changes. #### Active Record - Fix detection for `enum` columns with parallelized tests and PostgreSQL. *Rafael Mendonça França* - Allow to eager load nested nil associations. *fatkodima* - Fix swallowing ignore order warning when batching using `BatchEnumerator`. *fatkodima* - Fix memory bloat on the connection pool when using the Fiber `IsolatedExecutionState`. *Jean Boussier* - Restore inferred association class with the same modularized name. *Justin Ko* - Fix `ActiveRecord::Base.inspect` to properly explain how to load schema information. *Jean Boussier* - Check invalid `enum` options for the new syntax. The options using `_` prefix in the old syntax are invalid in the new syntax. *Rafael Mendonça França* - Fix `ActiveRecord::Encryption::EncryptedAttributeType#type` to return actual cast type. *Vasiliy Ermolovich* - Fix `create_table` with `:auto_increment` option for MySQL adapter. *fatkodima* #### Action View - No changes. #### Action Pack - Fix `Request#raw_post` raising `NoMethodError` when `rack.input` is `nil`. *Hartley McGuire* #### Active Job - No changes. #### Action Mailer - No changes. #### Action Cable - No changes. #### Active Storage - No changes. #### Action Mailbox - No changes. #### Action Text - Strip `content` attribute if the key is present but the value is empty *Jeremy Green* #### Railties - Fix `rails console` for application with non default application constant. The wrongly assumed the Rails application would be named `AppNamespace::Application`, which is the default but not an obligation. *Jean Boussier* - Fix the default Dockerfile to include the full sqlite3 package. Prior to this it only included `libsqlite3`, so it wasn't enough to run `rails dbconsole`. *Jerome Dalbert* - Don't update public directory during `app:update` command for API-only Applications. *y-yagi* - Don't add bin/brakeman if brakeman is not in bundle when upgrading an application. *Etienne Barrié* - Remove PWA views and routes if its an API only project. *Jean Boussier* - Simplify generated Puma configuration *DHH*, *Rafael Mendonça França* ### [`v7.2.0`](https://redirect.github.com/rails/rails/releases/tag/v7.2.0): 7.2.0 [Compare Source](https://redirect.github.com/rails/rails/compare/v7.1.5...v7.2.0) #### Active Support - Fix `delegate_missing_to allow_nil: true` when called with implict self ```ruby class Person delegate_missing_to :address, allow_nil: true def address nil end def berliner? city == "Berlin" end end Person.new.city # => nil Person.new.berliner? # undefined local variable or method `city' for an instance of Person (NameError) ``` *Jean Boussier* - Add `logger` as a dependency since it is a bundled gem candidate for Ruby 3.5 *Earlopain* - Define `Digest::UUID.nil_uuid`, which returns the so-called nil UUID. *Xavier Noria* - Support `duration` type in `ActiveSupport::XmlMini`. *heka1024* - Remove deprecated `ActiveSupport::Notifications::Event#children` and `ActiveSupport::Notifications::Event#parent_of?`. *Rafael Mendonça França* - Remove deprecated support to call the following methods without passing a deprecator: - `deprecate` - `deprecate_constant` - `ActiveSupport::Deprecation::DeprecatedObjectProxy.new` - `ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new` - `ActiveSupport::Deprecation::DeprecatedConstantProxy.new` - `assert_deprecated` - `assert_not_deprecated` - `collect_deprecations` *Rafael Mendonça França* - Remove deprecated `ActiveSupport::Deprecation` delegation to instance. *Rafael Mendonça França* - Remove deprecated `SafeBuffer#clone_empty`. *Rafael Mendonça França* - Remove deprecated `#to_default_s` from `Array`, `Date`, `DateTime` and `Time`. *Rafael Mendonça França* - Remove deprecated support to passing `Dalli::Client` instances to `MemCacheStore`. *Rafael Mendonça França* - Remove deprecated `config.active_support.use_rfc4122_namespaced_uuids`. *Rafael Mendonça França* - Remove deprecated `config.active_support.remove_deprecated_time_with_zone_name`. *Rafael Mendonça França* - Remove deprecated `config.active_support.disable_to_s_conversion`. *Rafael Mendonça França* - Remove deprecated support to bolding log text with positional boolean in `ActiveSupport::LogSubscriber#color`. *Rafael Mendonça França* - Remove deprecated constants `ActiveSupport::LogSubscriber::CLEAR` and `ActiveSupport::LogSubscriber::BOLD`. *Rafael Mendonça França* - Remove deprecated support for `config.active_support.cache_format_version = 6.1`. *Rafael Mendonça França* - Remove deprecated `:pool_size` and `:pool_timeout` options for the cache storage. *Rafael Mendonça França* - Warn on tests without assertions. `ActiveSupport::TestCase` now warns when tests do not run any assertions. This is helpful in detecting broken tests that do not perform intended assertions. *fatkodima* - Support `hexBinary` type in `ActiveSupport::XmlMini`. *heka1024* - Deprecate `ActiveSupport::ProxyObject` in favor of Ruby's built-in `BasicObject`. *Earlopain* - `stub_const` now accepts a `exists: false` parameter to allow stubbing missing constants. *Jean Boussier* - Make `ActiveSupport::BacktraceCleaner` copy filters and silencers on dup and clone. Previously the copy would still share the internal silencers and filters array, causing state to leak. *Jean Boussier* - Updating Astana with Western Kazakhstan TZInfo identifier. *Damian Nelson* - Add filename support for `ActiveSupport::Logger.logger_outputs_to?`. ```ruby logger = Logger.new('/var/log/rails.log') ActiveSupport::Logger.logger_outputs_to?(logger, '/var/log/rails.log') ``` *Christian Schmidt* - Include `IPAddr#prefix` when serializing an `IPAddr` using the `ActiveSupport::MessagePack` serializer. This change is backward and forward compatible — old payloads can still be read, and new payloads will be readable by older versions of Rails. *Taiki Komaba* - Add `default:` support for `ActiveSupport::CurrentAttributes.attribute`. ```ruby class Current < ActiveSupport::CurrentAttributes attribute :counter, default: 0 end ``` *Sean Doyle* - Yield instance to `Object#with` block. ```ruby client.with(timeout: 5_000) do |c| c.get("/commits") end ``` *Sean Doyle* - Use logical core count instead of physical core count to determine the default number of workers when parallelizing tests. *Jonathan Hefner* - Fix `Time.now/DateTime.now/Date.today` to return results in a system timezone after `#travel_to`. There is a bug in the current implementation of #travel_to: it remembers a timezone of its argument, and all stubbed methods start returning results in that remembered timezone. However, the expected behavior is to return results in a system timezone. *Aleksei Chernenkov* - Add `ErrorReported#unexpected` to report precondition violations. For example: ```ruby def edit if published? Rails.error.unexpected("[BUG] Attempting to edit a published article, that shouldn't be possible") return false end ``` ### ... end ``` The above will raise an error in development and test, but only report the error in production. *Jean Boussier* - Make the order of read_multi and write_multi notifications for `Cache::Store#fetch_multi` operations match the order they are executed in. *Adam Renberg Tamm* - Make return values of `Cache::Store#write` consistent. The return value was not specified before. Now it returns `true` on a successful write, `nil` if there was an error talking to the cache backend, and `false` if the write failed for another reason (e.g. the key already exists and `unless_exist: true` was passed). *Sander Verdonschot* - Fix logged cache keys not always matching actual key used by cache action. *Hartley McGuire* - Improve error messages of `assert_changes` and `assert_no_changes`. `assert_changes` error messages now display objects with `.inspect` to make it easier to differentiate nil from empty strings, strings from symbols, etc. `assert_no_changes` error messages now surface the actual value. *pcreux* - Fix `#to_fs(:human_size)` to correctly work with negative numbers. *Earlopain* - Fix `BroadcastLogger#dup` so that it duplicates the logger's `broadcasts`. *Andrew Novoselac* - Fix issue where `bootstrap.rb` overwrites the `level` of a `BroadcastLogger`'s `broadcasts`. *Andrew Novoselac* - Fix compatibility with the `semantic_logger` gem. The `semantic_logger` gem doesn't behave exactly like stdlib logger in that `SemanticLogger#level` returns a Symbol while stdlib `Logger#level` returns an Integer. This caused the various `LogSubscriber` classes in Rails to break when assigned a `SemanticLogger` instance. *Jean Boussier*, *ojab* - Fix MemoryStore to prevent race conditions when incrementing or decrementing. *Pierre Jambet* - Implement `HashWithIndifferentAccess#to_proc`. Previously, calling `#to_proc` on `HashWithIndifferentAccess` object used inherited `#to_proc` method from the `Hash` class, which was not able to access values using indifferent keys. *fatkodima* #### Active Model - Fix a bug where type casting of string to `Time` and `DateTime` doesn't calculate minus minute value in TZ offset correctly. *Akira Matsuda* - Port the `type_for_attribute` method to Active Model. Classes that include `ActiveModel::Attributes` will now provide this method. This method behaves the same for Active Model as it does for Active Record. ```ruby class MyModel include ActiveModel::Attributes attribute :my_attribute, :integer end MyModel.type_for_attribute(:my_attribute) # => #Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.