All notable changes to this project will be documented in this file.
- Deprecate gem.
- Fix version issue with release
- Move to Github Actions for CI
- Address the Shopify API deprecation of charge activation
- Address the Shopify API deprecation of page-based pagination in favour of cursor-based in the
Synchronises
concern.
- Improved flexibility of the
HasMetafields
concern
- Support for Shopify Flow trigger usage monitoring
- Ability to minimise webhook payloads through
config.webhook_fields
- Upgraded to Rails 6
- Upgraded to Ruby 2.6.5
- Upgraded to shopify_api 9
- Upgraded to shopify_app 12
- Upgraded to sidekiq 6
- Replaced .ruby-version with .tool-versions
- Updated Timber initialiser
- Updated README
- Timber logging for generated apps
- rubocop-performance and rubocop-rails plugins
- Support for AppSignal
- Generator for React applications
- Support for monitoring Shopify Flow trigger usage to minimise redundant requests
- Switch from Minitest to RSpec as the testing library for generated apps
- Update rubocop.yml file
- Lock shopify_api version to avoid breaking changes
- Upgrade Rails to 5.2.2 to avoid gem vulnerabilities
- Run rubocop auto-corrections
- Use with_indifferent_access when reading Flow properties
- Renaming of methods and general refactoring
- Support for Shopify Flow triggers and actions
- Update to Rails 5.2
- Add support for staging environment
- Update Rubocop config and make sure generated files comply
- Final (hopefully) bugfix for dotfolder problem
- Actual fix for Github dotfolder problem
- Updated release instructions for Gemfury
- Webhook controller now a concern for extensibility
- VS code support
- Init script fix
- Github dotfile fix
- Bugfix for case-insensitive comparison in
has_tag?
taggable method
- Loosely set the Rails version to '~> 5.1.0' to allow minor patches
- New initialise.sh script to make starting applications a single command.
- Fix for dotfiles not being included on Gemfury
- Explicitly specify Rails '5.1', not '~> 5.1'
- Bugfix for webhook controller authenticity token issue
- Bugfix for proxy and webhook signature verification issue
- Add README template
- Add Rollbar Rake task
- Update to Ruby 2.5.0
- Update to Rails 5.1
- Improve webhooks sync output
- Rubocop updates
- Change source of
disco_app
gem to Gemfury
- Add ability to enforce a whitelist of stores that are allowed to install the app
- Update to Ruby 2.4.1
- Add a default
.editorconfig
to help enforce coding conventions - Added Partner app generator via a new PartnerAppService and rake task
- Tweaked behaviour of
as_liquid
to allow overrides
- Add rake task to synchronize
DiscoApp::User
locally
- Added
*.pgdump
to the default git ignore file - Added
has_tag?
helper method toTaggable
concern - Added Rollbar "Person tracking" for
ShopJob
- Added overrides to the
data
attribute forSynchronises
models to allow accessing thedata
hash with indifferent access.
- Turn prepared statements off by default in config/database.yml template
- Bugfix for indexes on
disco_app_users
table
- Refactored errors in
BaseForm
component
- Added codeclimate and rubocop to disco_app generator
- Added custom configuration for rubocop
- Support automatic login on user-authenticated controllers
- Fixed bug caused by method in
DiscoApp::User
model
- Improved the
InputCheckbox
React form component - Allow Shopify User Authentication
- Added
DiscoApp::UserSessionsController
andDiscoApp::Concerns::UserAuthenticatedController
- Added
DiscoApp::User
model - Add ability to manage
sources
of Shop subscriptions from within the Admin UI
- Allow synchronising models directly from Shopify API resources
- Better support for Turbolinks with embedded apps
- Tie errors reported to Rollbar to it concerned Shop
- Auto-login shop if url has valid hmac and shop domain
- Report subscription information to Disco API if ENV var set
- Fixed bug caused by moved template file in
shopify_app
- Fix bug caused by trying to include a class rather than module from
shopify_app
SHOPIFY_APP_REDIRECT_URI
fromshopify_app
andomniauth
initializers,.env
and.env.local
as the login redirection is handled from shopify omniauth
- Changed
ShopifyApp::Controller
toShopifyApp::LoginProtection
- include
ShopifyApp::LoginProtection
toDiscoApp::Concerns::AuthenticatedController
- Updated
uglifier
gem to~> 3.0
- UI component style additions for tables and images with aspect ratios
- Major refactor of dependencies;
disco_app
is now much looser in its requirements - Consolidated all
disco_app
migrations to a single file to avoid common issues shop.temp
now aliased asshop.with_api_context
for better readability- Minor tweaks to Rules Editor component
- Bugfix for
react-rails
gem version
- Updated the version of
ruby
to 2.3.3 - Improvements to React component library
- New
locale
helper to DiscoApp::Shop model - Added
sychronise_by
method to synchronises concern
- Improvements to the React component library and styling
- Bugfix for Sidekiq Web UI authentication
- Sidekiq Web UI is now accessible in production at
/sidekiq
- Added
find_shop
andvalidate_rate_params
methods to carrier request controller concern
- New
time_zone
helper to DiscoApp::Shop model
- Additional webhook topics are now specified in the
disco_app.rb
initializer instead of overriddng the webhooks synchronisation job - Carrier service callback URL is now specified in the
disco_app.rb
initializer instead of overriding the carrier service synchronisation job - Prevent Rollbar from reporting
429 Too Many Request
errors
- Support for "not"-type conditions in Rule Editors
- InputCheckbox React component
- Support for
_html
attributes in DiscoApp::Concerns::CanBeLiquified
- Minor improvements to some React components
- Set
config.time_zone = 'UTC'
inapplication.rb
on install
- DiscoApp::Concerns::CanBeLiquified
- DiscoApp::Concerns::HasMetafields
- Added affiliate stores to be considered as development stores
- Provide a better warning to store owners
- Development stores no longer charged by default
- Depend on Nokogiri 1.6.8
Taggable
concern for models representing synchronised Shopify resources that can have tags applied.synchronise_all
class method for models with theSynchronises
concern.
- Additional React components (
UISection
,Table
,CardFooter
) - Minification support for Javascript assets in the Asset Renderer
- Support for breadcrumbs when initialising the Shopify Bar
- Require a folder prefix (eg
assets/
) when using torender_assets
.
- Asset rendering functionality, allowing the use of a
renders_assets
macro to easily define a group of assets to be rendered and updated automatically on model save.
- Background jobs inheriting from
DiscoApp::Shop
can now accept a shop model directly as the first argument, as well as a Shopify domain.
- Added a
data
attribute to theShop
model, to synchronise all Shop data from Shopify in ajsonb
field - Explicit dependency on
nokogiri
gem version 1.6.7.2. - New rake task:
shops:sync
, for updating shop data information.
- A large number of attributes on the
Shop
model were removed, as they are now accessible from within thedata
attribute - Removed bootstrap-sass
- The
mailify
andmonitorify
optional generators are not available. Instead, they are available as part of the maindisco_app
generator. - Updated the version of
ruby
to 2.3.1. - Updated the version of
newrelic_rpm
to 3.15.2.317.
- Support for filtering shops with a query in the admin
- Minor bugfix for admin
- Basic Form React components
- React Rule Editor component
- Support for Postgresql only
- Use Shopify's UI-Kit for styling: https://help.shopify.com/api/sdks/sales-channel-sdk/ui-kit
- Postgres Sequence ID update task.
react-rails
is now a core part ofdisco_app
- Removed the adminify generator, admin is installed by default
- Removed Bootstrap support
- Source tracking, cookie-based plan code application.
- Minor style and function improvements to admin.
- New subscriptions and charges framework.
- Update
react-rails
gem to 1.6.0
- Fixed bug when deleting webhook resource instances
- Add application administration panel, mounted at
/admin
and protected with HTTP Basic Auth
- Moved all controller concerns inside the
DiscoApp::Concerns
namespace for consistency with the way model concerns are patterned. - Update
rails
gem to v4.2.5.2 for security patches. - Rename
SynchroniseWithShopify
concern to simplySynchronises
, and add a couple of helper methods for deciding whether to synchronise models.
- Fix
omniauth-shopify-oauth2
to1.1.11
DiscoApp::Configuration
model, to be set up withdisco_app.rb
initializer- Automatically set
@shop
instance variable on Proxy Controller concern - Initial implementation of
SynchronisesWithShopify
model concern
- All
id
fields default tobigint
thanks torails-bigint-pk
gem - Move
Rails.configuration.x.shopify_app_name
toDiscoApp.configuration
- Move
Rails.configuration.x.shopify_app_proxy_prefix
toDiscoApp.configuration.app_proxy_prefix
- Update to latest versions of monitoring gems
DiscoApp::Shop.protocol
now always returnshttps
rollbarify
generator renamed tomonitorify
- Added New Relic support in new
monitorify
generator - Ensure webhook addresses are current when synchronising webhooks
- Improved carrier service syncing
- Fix for ShopifyApp generator not being run
- Update
rails
gem to v4.2.5.1 for security patches - Update
react-rails
gem to 1.5.0
- Use Ruby 2.3.0
- Update
rails
gem to v4.2.5 - Update
sidekiq
gem to v4.0.2
- Use threadsafe version of Active Record
- Minor bugfix
- Move session storage to Active Record with
DiscoApp::Session
- Update
shopify_app
gem to v6.4.1 - Update Rollbar and OJ gems for optional generator
- Add
disco_app:rollbarify
optional generator
- Add
link_to_modal
helper - Add modal layout
- Change to registering a single carrier service
- Added carrier service synchronisation with same pattern as for webhooks
- Added
carrier_services:sync
rake task
SHOPIFY_APP_PROXY_PREFIX
configuration and environment variable
- Disco App test helper, which injects into an app's
test/test_helper.rb
- Webhook controller now passes data as an indifferent hash by default
- Rake tasks now stored inside Disco App engine rather than created in app
- Moved webhook synchronisation to its own independent job
- Added
webhooks:sync
rake task
- React component library
- More admin styles for tables and grids
- Upgraded to React v0.14
- Start of the Dev Frame for aiding local development
link_to_shopify_admin
view helper- Better support for Turbolinks and URL state changes
- Card content is no longer wrapped in card sections by default
- Made app installed and shop update jobs extensible with Concerns pattern
- Moved
Shop
model inside engine - Made models and jobs extensible via Concerns pattern
- Moved layouts and views inside engine where possible
- Revamped styling to be in line with Shopify Embedded Apps
- This new-format CHANGELOG, based on http://keepachangelog.com
- Ensure Sidekiq processes mailers queue