Active Storage (2024-01-16)
* Fix N+1 query when fetching preview images for non-image assets.
[Aaron Patterson & Justin Searls]
* Fix all Active Storage database related models to respect
ActiveRecord::Base.table_name_prefix configuration. [Chedli Bourguiba]
* Fix ActiveStorage::Representations::ProxyController not returning
the proper preview image variant for previewable files.
[Chedli Bourguiba]
* Fix ActiveStorage::Representations::ProxyController to proxy
untracked variants. [Chedli Bourguiba]
* Fix direct upload forms when submit button contains nested elements.
[Marc Köhlbrugge]
* When using the preprocessed: true option, avoid enqueuing transform
jobs for blobs that are not representable. [Chedli Bourguiba]
* Process preview image variant when calling
ActiveStorage::Preview#processed. For example,
attached_pdf.preview(:thumb).processed will now immediately generate
the full-sized preview image and the :thumb variant of it.
Previously, the :thumb variant would not be generated until a
further call to e.g. processed.url.
[Chedli Bourguiba and Jonathan Hefner]
* Prevent ActiveRecord::StrictLoadingViolationError when strict
loading is enabled and the variant of an Active Storage preview has
already been processed (for example, by calling
ActiveStorage::Preview#url). [Jonathan Hefner]
* Fix preprocessed: true option for named variants of previewable files.
[Nico Wenterodt]
Active Record (2024-01-16)
* Fix Migrations with versions older than 7.1 validating options given to
add_reference. [Hartley McGuire]
* Ensure reload sets correct owner for each association. [Dmytro Savochkin]
* Fix view runtime for controllers with async queries. [fatkodima]
* Fix load_async to work with query cache. [fatkodima]
* Fix polymorphic belongs_to to correctly use parent's
query_constraints. [fatkodima]
* Fix Preloader to not generate a query for already loaded association with
query_constraints. [fatkodima]
* Fix multi-database polymorphic preloading with equivalent table names.
When preloading polymorphic associations, if two models pointed to two
tables with the same name but located in different databases, the
preloader would only load one. [Ari Summer]
* Fix encrypted_attribute? to take into account context properties passed to
encrypts. [Maxime Réty]
* Fix find_by to work correctly in presence of composite primary keys.
[fatkodima]
* Fix async queries sometimes returning a raw result if they hit the query
cache.
ShipPart.async_count could return a raw integer rather than a Promise if
it found the result in the query cache. [fatkodima]
* Fix Relation#transaction to not apply a default scope.
The method was incorrectly setting a default scope around its block:
Post.where(published: true).transaction do
Post.count # SELECT COUNT(*) FROM posts WHERE published = FALSE;
end
[Jean Boussier]
* Fix calling async_pluck on a none relation.
Model.none.async_pluck(:id) was returning a naked value instead of a
promise. [Jean Boussier]
* Fix calling load_async on a none relation.
Model.none.load_async was returning a broken result. [Lucas Mazza]
* TrilogyAdapter: ignore host if socket parameter is set.
This allows to configure a connection on a UNIX socket via DATABASE_URL:
DATABASE_URL=trilogy://does-not-matter/my_db_production?socket=/var/run/mysql.sock
[Jean Boussier]
* Fix has_secure_token calls the setter method on initialize. [Abeid Ahmed]
* Allow using object_id as a database column name.
It was available before rails 7.1 and may be used as a part of polymorphic
relationship to object where object can be any other database record.
[Mikhail Doronin]
* Fix rails db:create:all to not touch databases before they are created.
[fatkodima]
Action Pack (2024-01-16)
* Fix including Rails.application.routes.url_helpers directly in an
ActiveSupport::Concern. [Jonathan Hefner]
* Fix system tests when using a Chrome binary that has been downloaded by
Selenium. [Jonathan Hefner]
Action View (2024-01-16)
* Better handle SyntaxError in Action View. [Mario Caropreso]
* Fix word_wrap with empty string. [Jonathan Hefner]
* Rename ActionView::TestCase::Behavior::Content to
ActionView::TestCase::Behavior::RenderedViewContent.
Make RenderedViewContent inherit from String. Make private API with
:nodoc:. [Sean Doyle]
* Fix detection of required strict locals.
Further fix render @collection compatibility with strict locals
[Jean Boussier]
Active Job (2024-01-16)
* Do not trigger immediate loading of ActiveJob::Base when loading
ActiveJob::TestHelper. [Maxime Réty]
* Preserve the serialized timezone when deserializing
ActiveSupport::TimeWithZone arguments. [Joshua Young]
* Fix ActiveJob arguments serialization to correctly serialize String
subclasses having custom serializers. [fatkodima]
Active Support (2024-01-16)
* Handle nil backtrace_locations in ActiveSupport::SyntaxErrorProxy.
[Eugene Kenny]
* Fix ActiveSupport::JSON.encode to prevent duplicate keys. If the same key
exist in both String and Symbol form it could lead to the same key being
emitted twice. [Manish Sharma]
* Fix ActiveSupport::Cache::Store#read_multi when using a cache
namespace and local cache strategy. [Mark Oleson]
* 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 behaviour is to return
results in a system timezone. [Aleksei Chernenkov]
* Fix :unless_exist option for MemoryStore#write (et al) when using a cache
namespace. [S. Brent Faulkner]
* Fix ActiveSupport::Deprecation to handle blaming generated code.
[Jean Boussier, fatkodima]
Summary
=======
We’re relieved to announce this overdue maintenance release containing a number of bug fixes and also some improvements from the last few months.
Especially the prosodyctl check tool which gained some new diagnostic checks as well as handling of configuration option types the same way Prosody itself does.
Minor changes
-------------
- core.certmanager: Update Mozilla TLS config to version 5.7
- util.error: Fix error on conversion of invalid error stanza #1805
- util.array: Fix new() library function
- util.array: Expose new() on module table
- prosodyctl: Fix output of error messages containing ‘%’
- util.prosodyctl.check: Correct suggested replacement for ‘disallow_s2s’
- util.prosodyctl.check: Allow same config syntax variants as in Prosody for some options #896
- util.prosodyctl.check: Fix error where hostname can’t be turned into A label
- util.prosodyctl.check: Hint about the ‘external_addresses’ config option
- util.prosodyctl.check: Suggest ‘http_cors_override’ instead of older CORS settings
- util.prosodyctl.check: Validate format of module list options
- mod_websocket: Add a ‘pre-session-close’ event #1800
- mod_smacks: Fix stray watchdog closing sessions
- mod_csi_simple: Disable revert-to-inactive timer when going to active mode
- mod_csi_simple: Clear delayed active mode timer on disable
- mod_admin_shell: Fix display of remote cert status when expired etc
- mod_smacks: Replace existing watchdog when starting hibernation
- mod_http: Fix error if ‘access_control_allow_origins’ is set
- mod_pubsub: Send correct ‘jid’ attribute in disco#items
- mod_http: Unhook CORS handlers only if active to fix an error #1801
- mod_s2s: Add event where resolver for s2sout can be tweaked
3.24
* Add experimental configuration option to change default font lookup location
precedence.
* Support xdvipsk in DVI mode
* Preserve soft-hyphens when dropping default ignorable characters
* Hash cache keys to better support certain rather unflexible operating
systems
* Various bug fixes
0.12
- bugfix for undefined exrun (l. 251)
- check for empty font list and given font number
- print a message if no fonts for given (partial) name exists
Fixing a bug in \RLE and \LRE; Switching \bodydir inside long RTL/LTR text
ensuring \bodydir and \pagedir are equal at shipout;
Patching lists to use a correct value of \shapemode; Setting\breakafterdirmode
and \matheqdirmode to 1.
2.60
The `\lettrine` command is now compatible with right to left typesetting, both
with `LuaLaTeX` and `XeLaTeX` (`babel` or `polyglossia`).
A basic example `lettrine-demo-arabic.tex` has been added to the `doc`
directory.
Currently with XeLaTeX, file `lettrine-xetex-bidi.def` (v0.8 [2022/11/06]) is
automatically loaded by the `bidi` package; it redefines the `\@lettrine`command
based on version 2.30 of `lettrine`. This code breaks versions 2.50 and newer
of the `lettrine` package, you can now safely remove `lettrine-xetex-bidi.def`
if you install `lettrine` v2.60.
2.52
New option `viewport=` for the `\lettrine` command: when the dropped cap
is an image, it is passed to `\includegraphics` so that `\lettrine` only
considers the contents of the rectangle defined by its lower left and
upper right corners to compute the size of the final image.
2.51
The *.cfl files had to be renamed to fit TeX Live requirements.
2.50
Breaking change in version 2.50:
In order to improve the alignment of side by side parboxes starting with
a dropped cap, the internals of the \lettrine{} command have changed.
This may affect multicolumn typestting when a dropped cap starts a column
and sticks out significantly above the baseline. See file `lettrine.pdf`
for possible workarounds.
2.0c
• Since LaTeX release 2023-06-01 labels have always five arguments.
• Replaced \immediate\write by a form of "\immediate\protected at write".
• Update of the \lastpage at putl@bel code to hyperref 2023-07-08, v7.01b, which
now allows fnsymbol as page numbering scheme.