Skip to content

Releases: Shopify/maintenance_tasks

MaintenanceTasks v1.2.0

29 Mar 13:13
befb093
Compare
Choose a tag to compare

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 within TaskJob. #375

Other Changes

  • Pagy removed as a dependency. Runs are now paginated using cursor-based pagination. #371

MaintenanceTasks v1.1.2

02 Mar 19:41
b7aa403
Compare
Choose a tag to compare

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

01 Mar 21:42
0c5813c
Compare
Choose a tag to compare

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 not Task classes. #348, #349
  • Don't show indefinite progress bar when Task finishes. #353

MaintenanceTasks v1.1.0

11 Feb 21:06
Compare
Choose a tag to compare

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, and count on Task for easier testing. #296
  • Allow calling run directly on Runner. #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 of Runner.run. #331
  • Deprecate error handler with one parameter. #321

Fixes

  • Prevent a crash and mark the Run as errored if the Task has been deleted. #293
  • If you forgot to define the collection or process method, previously the Task would cause an exception when you started running it. Now it is rescued like other Task exceptions, and the run appears as errored. #311

MaintenanceTasks v1.0.0

06 Jan 19:04
Compare
Choose a tag to compare

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

07 Dec 19:22
a10beac
Compare
Choose a tag to compare
Pre-release

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

23 Nov 21:38
713afc0
Compare
Choose a tag to compare
Pre-release

Changes since 0.1.0

  • System tests now use Selenium and headless Chrome
  • Task generator modified to require maintenance_tasks namespacing
  • started_at and ended_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 and cancelling
  • 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

03 Nov 18:17
fc76896
Compare
Choose a tag to compare
Pre-release

Features in v0.1.0

  • Working install generator and Task generator
  • Clearly defined Task API: collection, process and count
  • 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