The Wire · Showcase
MARCEL 2.0.0 LANDS, RAILS CORE SLIMS DOWN
By RepoJournal · Filed · About Rails
Marcel drops Ruby 2.3 and resets canonical MIME types, while Jean Boussier trims needless Array#flatten calls out of Reflection.
Marcel finally ships 2.0.0, a major release that requires Ruby 3.3 or newer and changes the canonical type returned for some inputs, so scan the changelog before you upgrade [1]. The refresh to the Apache Tika 4.0.0 MIME database [2] lands in 2.1.0, which adds detection for Android binary XML and fixes timestamped-data recognition [3]. Meanwhile, Solid Queue closes a zombie-process hole: processes whose heartbeats keep failing are now stopped and replaced instead of running unregistered forever [4]. The async supervisor also survives worker-thread deaths even when releasing claimed jobs fails [5]. Active Resource fixes a circular require warning in its railtie [6] and adds support for the proposed HTTP QUERY method [7]. And Rails core gets a micro-optimization: Reflection#extensions avoids needless Array#flatten calls, which forces allocation of an expensive identity hash on nested arrays [8].
One email a day. Unsubscribe in one click.
Keep up with Rails in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Upgrade to marcel 2.1.0 and check for canonical type changes rails/marcel [plan]
- → Review Heartbeat failure handling in solid_queue rails/solid_queue [plan]
- → Apply activeresource circular require fix rails/activeresource [monitor]
References
- [1] v2.0.0 ↗ rails/marcel
- [2] Update Tika MIME data to the 4.0.0 release ↗ rails/marcel
- [3] v2.1.0 ↗ rails/marcel
- [4] Stop processes whose heartbeats keep failing past the alive threshold rails/solid_queue
- [5] Replace terminated threads even if releasing their claimed jobs fails ↗ rails/solid_queue
- [6] Fix circular require warning in railtie ↗ rails/activeresource
- [7] Add support for HTTP `QUERY` method ↗ rails/activeresource
- [8] Avoid needless Array#flatten calls ↗ rails/rails