$ the-wire · showcase
Rails drops dead build tasks, Mission Control adds Solid Queue batches
By RepoJournal · Filed · About Rails · Composed from the cited sources · methodology
Rails removed two long-obsolete build tasks from main and Mission Control Jobs v1.3.0 shipped Solid Queue batch support, a release that also broke asset lookups on Sprockets hosts until a same-day fix landed.
Rails cleaned up two tasks that no longer did anything useful. `guides:generate:kindle` had been a shim delegating to `guides:generate:epub` since July 2022, when mobi support was discontinued, and it printed a deprecation warning promising removal in 7.2; with RAILS_VERSION now at 8.2.0.alpha, the task finally goes, along with updates to the two places that still pointed readers at it [1][2]. The dead racc compile task is also gone from Action Pack [3][4]. Neither change affects runtime behavior, but if you scripted against either task name, it is gone.
Mission Control Jobs v1.3.0 shipped with batch support for Solid Queue and descending-order sorting for failed jobs, described as a very requested change [5]. Batches follow the recurring-tasks and workers architecture end to end: a new adapter interface (`supports_batches?`, `fetch_batches`, `count_batches`, `find_batch`) is implemented by Solid Queue when the batch tables have been migrated, so other adapters are unaffected, and the UI adds a Batches tab listing by status (all, unfinished, finished, failed) with progress and per-status job breakdowns, plus a link from a job back to its batch [6][7]. Batch support was built against the released solid_queue 1.7.0, depending on a normal gem release with no branch pins [7].
The same release broke asset compilation on Sprockets hosts: the debounce helper was removed along with debounced form submission, but the Sprockets manifest kept linking its now-missing directory, and Sprockets raises on directives pointing at missing directories, so every asset lookup failed on Sprockets hosts since 1.3.0. Only Sprockets hosts read the manifest, which is why the test suite never caught it; the fix removes the stale link and adds a test asserting the linked directories exist [8].
Elsewhere in the org, Action Text gained a proposal for alternative text on attachments, since images currently can only be described by their always-rendered caption, meaning an image cannot be described for screen reader users without that description also appearing on the page [9]. The Agents on Rails effort moved to Stage 2 with full-feature tasks added to ai-evals and a Stage 2 report plus a new AI page tab on the website [10][11][12]. LeMans added a `pull-runs --match` flag and pinned `json` in the gemspec [13][14].
Action items
- → Upgrade mission_control_jobs to 1.3.0 or later to pick up the Sprockets manifest fix if you run Sprockets rails/mission_control-jobs [immediate]
- → Check for scripts or docs referencing guides:generate:kindle, which is removed from Rails main rails/rails [monitor]
- → Run solid_queue 1.7.0 migrations if you want batch browsing in Mission Control Jobs rails/mission_control-jobs [plan]
References
- [1] Remove the deprecated guides:generate:kindle task (#58712) ↗ rails/rails
- [2] Remove the deprecated guides:generate:kindle task ↗ rails/rails
- [3] Remove the dead racc compile task from Action Pack. ↗ rails/rails
- [4] Merge pull request #58718 from Shopify/remove-the-dead-racc-compile-task-from-action-pa ↗ rails/rails
- [5] v1.3.0 ↗ rails/mission_control-jobs
- [6] Add batch support for Solid Queue ↗ rails/mission_control-jobs
- [7] Batch support for Solid Queue ↗ rails/mission_control-jobs
- [8] Don't link the removed javascript helpers directory in the manifest ↗ rails/mission_control-jobs
- [9] Add alternative text to Action Text attachments ↗ rails/rails
- [10] Stage 2: Full-feature tasks ↗ rails/ai-evals
- [11] Agents on Rails: Stage 2 report and /ai page update ↗ rails/website
- [12] Agents on Rails: Stage 2 report and /ai page update (#732) ↗ rails/website
- [13] + remote: pull-runs --match ↗ rails/lemans
- [14] - gemspec: pin json ↗ rails/lemans