$ the-wire · showcase
Default ordering stops leaking into aggregates and exists?
By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology
Rails fixed two places where a model's default_order produced invalid or needless SQL, and trimmed redundant I18n lookups out of the nested number helpers.
Exclude default_order from aggregate calculations rails/rails
by kehra
Aggregate calculations now drop default ordering using except, the same way they already discarded explicit ordering, because retaining it could generate invalid PostgreSQL statements such as SELECT DISTINCT querying columns outside the select list. Grouped calculations keep their default order, and regression tests cover Post.default_order(:title).count and the distinct count.
Merge pull request #59415 from kehra/fix/exists-default-order rails/rails
The same fix extends to exists?: the relation it builds for the query now excludes default_order. This merges the branch authored by kehra under the fix/exists-default-order work.
Skip resolving the options again in nested number converters rails/rails
number_to_currency, number_to_percentage, number_to_human and number_to_human_size pass their options through NumberToRoundedConverter into NumberToDelimitedConverter, and each nested step was re-symbolizing the hash, rebuilding defaults and looking up number.format in I18n, only for the passed options to override every key those lookups returned. Clément Joubert's change skips that second reso...
Remove Markdown directives in Action Pack rails/rails
Xavier Noria stripped the Markdown directives out of the Action Pack documentation, part of a pass that also touches Action Text.
Run Ruby 2.7, 3.0 and 3.1 CI on ubuntu-24.04 rails/globalid
GlobalID's Ruby 2.7, 3.0 and 3.1 jobs moved to ubuntu-24.04 because ubuntu-latest now resolves to 26.04, where ruby/setup-ruby has no builds for those versions, so every such job was failing with "Unavailable version 3.1.7 for ruby on ubuntu-26.04" before a single test ran. The rest stayed on ubuntu-latest.