Releases: Shopify/maintenance_tasks
Releases · Shopify/maintenance_tasks
MaintenanceTasks v1.2.0
New features
- The Active Storage service used for storing CSV files can now be configured in the gem. #372
- Make progress information available in the info card, rather than in the title attribute of the progress bar. #377
Fixes
- Minimum accepted version used in
ActiveRecord::Migration
classes. #367 - Handle scenario where there is no
run
object when an error is raised and rescued withinTaskJob
. #375
Other Changes
- Pagy removed as a dependency. Runs are now paginated using cursor-based pagination. #371
MaintenanceTasks v1.1.2
Fixes
- Avoid errors due to
active_storage_attachments
table not existing if app doesn't have Active Storage set up. #359
MaintenanceTasks v1.1.1
Fixes
- Support for Rails application with
config.include_all_helpers = false
. #337 – @shouichi - Fix duplicated timestamps in individual Task page view. #338
- Fix race conditions due to callback ordering by postponing the reenqueue of the job. #335, #345
- Remove redundant index on runs table. #342, #346
- Avoid using
private_constant
. #314, #344 - Fix support for the classic autoloader. #347, #351
- Prevent
Task.named
from returning constants that are notTask
classes. #348, #349 - Don't show indefinite progress bar when Task finishes. #353
MaintenanceTasks v1.1.0
New features
- CSV support: Tasks can process CSV files as their collection via upload in the UI or using a
--csv
option in the CLI. Applications must have ActiveStorage configured to use this. #300 #302 #308 #313 #317 #318 #322 - Allow calling
process
,collection
, andcount
onTask
for easier testing. #296 - Allow calling
run
directly onRunner
. #296 - Add more context about errors in the error handler. #321
⚠️ Backwards-incompatible changes
- The list of all runs has been removed. Runs can be viewed from their respective Task page. #288
- Automatic Bugsnag configuration has been removed. #289
Deprecations
- Deprecate
Runner.new.run
in favour ofRunner.run
. #331 - Deprecate error handler with one parameter. #321
Fixes
MaintenanceTasks v1.0.0
The production-ready release of the MaintenanceTasks framework, a Rails engine for queueing and managing maintenance tasks.
Changes since v0.3.0
- Open source requirements added
- Custom error handling can be configured
- Task code now visible in UI
- Content security policy nonce now generated in the engine
- Indexes on
maintenance_tasks_runs
table optimized - Categories on main maintenance tasks page introduced (Active, New, Completed)
- Additional documentation on how Tasks run added to
README
- Enqueuing errors surfaced in UI
- Full list of previous Task Runs now available for auditing purposes
- More helpful empty state page shown when framework first mounted
maintenance_tasks 0.3.0
Changes since 0.2.0
- Tasks can now be run programatically via the CLI
- Fixed bug of pausing, then cancelling a task in a different tab producing a 500
- Fixed bug of progress not being saved when task errored
- Fixed double enqueue bug
- UI has been redone, opting for a more minimalistic look with less information shown, as well as a cleaner landing page
More documentation - Fixed UI in scenarios where we surpass the original tick_total amount
- Set default
JobIteration.max_job_runtime
value to 5 minutes - Highlighted recently shipped tasks in the UI by ordering tasks by active, new, then completed
maintenance_tasks 0.2.0
Changes since 0.1.0
- System tests now use Selenium and headless Chrome
- Task generator modified to require
maintenance_tasks
namespacing started_at
andended_at
timestamps tracked for Runs- Task generator updated to use configured
tasks_module
for hosting application - Estimated time to completion added for Runs
- 404 instead of 500 error for Tasks not found
- Introduced transient statuses
pausing
andcancelling
- Allowed paused Runs to be cancelled
- Improved UI workflows and fixed relevant bugs
- Began tracking
time_running
on Runs - Added content security policy to framework, whitelisting Bulma
- Allowed host applications to render engine in an iframe
- Introduced
Runner
class, to be used by executable and internal controllers for running a Task
maintenance_tasks 0.1.0
Features in v0.1.0
- Working install generator and Task generator
- Clearly defined Task API:
collection
,process
andcount
- Ability to start a Task from the UI
- Ability to pause and resume a Task from the UI
- Ability to view previous Task runs from the UI
- Gracefully handles errors raised during the execution of a Task, surfacing them in the UI
- Use of Bulma CSS Framework for stylized user interface
- Installation, usage and configuration options documented