Changelog

Follow up on the latest improvements and updates.

RSS

The "date" filter in Mechanic Liquid now supports these additional options:
  • beginning_of_year, end_of_year
  • beginning_of_quarter, end_of_quarter
  • beginning_of_month, end_of_month
  • beginning_of_week, end_of_week
  • beginning_of_day, middle_of_day, end_of_day
  • advance
The "advance" option is worth special mention: it allows for timezone-aware date calculations that start from any provided time (or from
"now"
). The date value may be advanced positively or negatively, using any combination of years, months, weeks, days, hours, minutes, and seconds. Years, months, weeks, and days are all treated as variable-length intervals, appropriate for the relevant timezone.
With this change, the "date" filter no longer requires a format argument. If one is not provided, the filter outputs the date formatted per ISO8601.
This extension came straight out of the Futures board. Thanks Brad!
Read more
When preparing events to send to apps like Mechanic, Shopify uses resource representations from specific versions of their REST Admin API.
Effective immediately, Shopify events in Mechanic now use resource representations from version 2024-04 of the REST Admin API.
Breaking changes
Shopify has not noted any breaking changes to REST resource representations in this version.
However, this release does introduce important deprecations:
Read more
Mechanic's Events screen has new capabilities:
  • Sorting by time: newest to oldest, oldest to newest
  • Filtering by date: after a certain time, before a certain time
  • Filtering by error types: event errors, task errors, action errors
  • Filtering by event topic: exact matches, prefix matches
  • Filtering by task: task ID, errors associated with that specific task ID, actions generated by that specific task ID
  • Filtering by keyword search: event IDs, Shopify global IDs, webhook request IDs, excerpted event data
  • Cmd/Ctrl/Shift-click support for opening event results in new tabs or windows
  • Keyboard shortcut (M) for loading more events
All view parameters are reflected in the browser's address bar, allowing for easy bookmarking and sharing of event query results.
I'm excited to give this to y'all. :) Happy Friday from New Zealand! -Isaac
When preparing events to send to apps like Mechanic, Shopify uses resource representations from specific versions of their REST Admin API.
Effective immediately, Shopify events in Mechanic now use resource representations from version 2024-01 of the REST Admin API.
Breaking changes
Shopify has removed the following deprecated properties on the Order and Customer resources:
  • accepts_marketing
  • accepts_marketing_updated_at
  • marketing_opt_in_level
Shopify recommends using the email_marketing_consent property instead.
Read more
Mechanic is now on Liquid 5.4! This unlocks new Liquid features for Mechanic:
  • Inline comments:
    {% # comment %}
  • The
    liquid
    tag:
    {% liquid ... %}
  • New filters: base64_encode, base64_decode, base64_url_safe_encode, and base64_url_safe_decode, remove_last, replace_last
Note: We've deprecated some Mechanic Liquid filters (base64, decode_base64, base64url, and decode_base64url), in places where Liquid now has its own native functionality.
Mechanic's Liquid filter reference has been overhauled, better enumerating what's unique to Mechanic Liquid and what we've imported from Shopify Liquid.
Lastly, here's a screenshot, because inline comments! AT LAST
image
Read more
During task preview, Liquid lookups referencing the shop cache will now return nil/null.
For context: historically, task previews have been able to read real values from the Mechanic cache. This new cache policy is consistent with how Mechanic treats the Shopify Admin API: during task preview, the Shopify Admin API is inaccessible. By preventing task previews from accessing stateful/ephemeral data, we aim to encourage consistency and reliability in task previews themselves.
This change only impacts task previews. There are no other changes to Mechanic cache functionality.
Read more
When preparing events to send to apps like Mechanic, Shopify uses resource representations from specific versions of their REST Admin API.
Effective immediately, Shopify events in Mechanic now use resource representations from version 2023-10 of the REST Admin API.
No documented breaking changes are relevant.
Read more
Dark mode for code editor 🌙
We're thrilled to introduce a Dark Mode for our code editor! Now you can code comfortably, no matter your theme preference.
Two ways to toggle
:
1. Use the new eye icon located above the code editor for quick access.
2. Or go to
Settings > Users
to set your default theme.
Both methods will set your theme preference persistently.
image
Word-based suggestions for code editor 🤖
We've enhanced the code editor with word-based suggestions to make your coding experience even more efficient.
  • Context-Aware
    : The editor will automatically suggest words like variable names that you've already used in your code.
  • Efficiency
    : Reduce repetitive typing and minimize typos with this new feature.
Shopify API deprecation summaries now include specific GraphQL details, identifying individual deprecated fields, and surfacing Shopify's own annotations for them.
image
For tasks using soon-to-be-dropped Shopify API versions, deprecation alerts are displayed at the top of the store's Mechanic task list, along with the relevant timeframe for resolution.
image
Read more
Mechanic can now receive events from Appstle Subscriptions. You can enable the integration in Appstle Subscriptions:
image
After enabling the integration in the Appstle Subscriptions app, your events will be sent to Mechanic, and any tasks that subscribe to these event topics will receive the events:
Event topics
  • appstle_subscriptions/subscriptions/create
    - Occurs when a subscription is created.
  • appstle_subscriptions/subscriptions/activate
    - Occurs when a subscription is activated.
  • appstle_subscriptions/subscriptions/cancel
    - Occurs when a subscription is cancelled.
  • appstle_subscriptions/subscriptions/next_order_date_change
    - Occurs when the next order data of a subscription is changed.
  • appstle_subscriptions/subscriptions/pause
    - Occurs when a subscription is paused.
  • appstle_subscriptions/subscriptions/update
    - Occurs when a subscription is updated.
  • appstle_subscriptions/billings/create
    - Occurs when billing for a subscription is created.
  • appstle_subscriptions/billings/failure
    - Occurs when billing for a subscription fails.
  • appstle_subscriptions/billings/interval_change
    - Occurs when billing for a subscription changes.
Load More