Skip to content

Releases: xh/hoist-core

v3.1.0

15 Jun 15:57
Compare
Choose a tag to compare

🎁 New Features

  • Group field added to Preferences for better organization and consistency with AppConfigs.

    ⚠️ Note schema update required:
--MySQL
ALTER TABLE xh_preference ADD group_name VARCHAR(255);
UPDATE xh_preference SET group_name = 'Default' WHERE group_name IS NULL;
ALTER TABLE xh_preference MODIFY group_name VARCHAR(255) NOT NULL;
--SQL Server
ALTER TABLE xh_preference ADD group_name VARCHAR(255);
UPDATE xh_preference SET group_name = 'Default' WHERE group_name IS NULL;
ALTER TABLE xh_preference ALTER COLUMN group_name varchar(255) NOT NULL
  • ClientError tracking gets a userAlerted flag to record whether or not the user was shown a pop-up dialog (vs. an error being reported quietly in the background).

    ⚠️ Note schema update required:
-- SQL Server
ALTER TABLE xh_client_error ADD user_alerted bit NOT NULL DEFAULT 0
-- MySQL
ALTER TABLE xh_client_error ADD user_alerted bit(1) NOT NULL DEFAULT 0

🐞 Bug Fixes

  • Log archiving fixed for apps with a dash or underscore in their appCode.

v.3.0.4

08 Jun 18:16
6051861
Compare
Choose a tag to compare

🐞 Bugfixes

  • Removed plugin grails-x-frame-options-plugin. It will be put into the hoist-sencha project.
    It is only needed in hoist-sencha apps. Hoist-react apps will get this header set by nginx.

v.3.0.3

07 Jun 22:11
4875fc3
Compare
Choose a tag to compare

🎁 New Features

  • Added plugin grails-x-frame-options-plugin
  • This prevents XSS attacks by setting by default the most strict header setting X-Frame-Options: DENY on all responses from the grails server. You can relax this strict setting to SAMEORIGIN (and will probably want to) by adding plugin.xframeoptions.sameOrigin = true inside the grails clause of your application.groovy file (see piq-react for example).

v3.0.2

07 Jun 18:02
cb81fd1
Compare
Choose a tag to compare

πŸ“š Libraries

  • Gradle wrapper 4.8

v3.0.1

07 Jun 17:33
1bb0d76
Compare
Choose a tag to compare

🎁 New Features

  • Updates of following libraries:
grailsVersion=3.3.1 -> 3.3.5
grailsAsyncVersion=3.3.1 -> 3.3.2
gormVersion=6.1.7.RELEASE -> 6.1.9.RELEASE
  • Note Grails update fixes support for the pathJar which helps fix long class path issues on Windows.
  • Default theme is now the 'light' theme.

v3.0.0

06 Jun 14:37
f3ac6ca
Compare
Choose a tag to compare

πŸ’₯ Breaking Changes

  • This release unwinds the multi environment config concept. See #30 for the corresponding issue.
  • To take this update, developers need to also migrate to v5.X.X of hoist-react or v2.X.X of hoist-sencha and follow these steps in each environment:

Step 1

If you are doing this migration in a lower environment (dev, stage, uat) you may want to keep that environment's configs. For example, if you are migrating the dev env app to this new code, and there are configs in the dev_value column that you would like to keep in the dev environment, you first need to manually copy these values from the dev field to the prod field in the dev admin config UI.

Step 2

Turn off your grails server and your webpack server (if applicable).
Add a new 'value' column with allow null, allow null in the old 'prod_value' column, then copy prod_value values over to the new value column:

For MySQL DB:

ALTER TABLE `xh_config` ADD `value` LONGTEXT; 
ALTER TABLE `xh_config` MODIFY `prod_value` LONGTEXT;

For MS SQL Server DB:

ALTER TABLE xh_config 
ADD value varchar(max) NULL
ALTER COLUMN prod_value varchar(max)

For MySQL DB:

UPDATE `xh_config` SET `value` = `prod_value`

For MS SQL Server DB:

UPDATE xh_config SET value = prod_value

Step 3

Update app code in environment to use hoist-core v3.0.0 and hoist-react v5.X.X or hoist-sencha v2.0.0.
If your app is in a customer/client's environment, you will not be updating hoist-core, but rather [customer]HoistVersion to version 5.0.0.

Remove

supportedEnvironments = ['Staging', 'Development']

from grails-app/conf/application.groovy in your app. (Note that this line might appear twice - once near the top if an app has customized and once in the "hoistDefaults" section.)

Step 4

Set value to not accept NULL and drop old columns:

For MySQL DB:

ALTER TABLE `xh_config` 
  MODIFY `value` LONGTEXT NOT NULL;

ALTER TABLE `xh_config` 
  DROP COLUMN `beta_value`, `stage_value`, `dev_value`, `prod_value`;

For MS SQL Server DB:

ALTER TABLE xh_config
  ALTER COLUMN value varchar(max) NOT NULL

ALTER TABLE xh_config
  DROP COLUMN prod_value, dev_value, stage_value, beta_value

🎁 New Features

  • None

🐞 Bugfixes

  • None

v2.0.0

30 May 01:51
Compare
Choose a tag to compare

πŸ’₯ Breaking Changes

  • This release includes updates around how the key appCode and appName identifiers are read from application builds and what they represent. See #33 for the corresponding issue. This standardizes the meaning of these two identifiers on the client and server, and decouples the server-side appCode from the Gradle project name.
  • To take this update, applications must ensure their build.gradle file populates these variables within a grails.build.info file created by Grails itself during the build. See e.g. this commit to the Toolbox app for an example of this change.
  • Apps should audit their use of Utils.appName on the server-side and update to Utils.appCode if they need to continue accessing the shortname variant.

🎁 New Features

  • None

🐞 Bugfixes

  • None

v1.2.0

30 May 00:57
Compare
Choose a tag to compare

πŸ’₯ Breaking Changes

  • None

🎁 New Features

This release adds support for InstanceConfigUtils, a utility for loading configuration properties from an external YAML file once on startup and exposing them to the application as a map.

  • These are intended to be minimal, low-level configs that apply to a particular deployed instance of the application and therefore are better sourced from a local file/volume vs. source code, JavaOpts, or database-driven ConfigService entries.
  • Examples include the AppEnvironment as well as common Bootstrap requirements such as database credentials.
  • See the class-level doc comment for additional details. Use of InstanceUtils is not required to take this release.

🐞 Bugfixes

  • Fix NPE breaking FeedbackService emailing. 8f07caf
  • Make LogLevel adjustments synchronous, so they reflect immediately in Admin console UI. dc387e8