Skip to content

Releases: xh/hoist-core

v4.0.0

16 Jul 20:07
Compare
Choose a tag to compare

๐Ÿ’ฅ Breaking Changes

  • Relevant HoistImplController endpoints now require a clientUsername param to ensure the client and server are in sync re. the currently active user. This resolves edge-case bugs around impersonation and preference, dashboard changes flushing changes on unload to the wrong server-side user. (#46)

:octocat: Commit Log

v3.1.2

11 Jul 18:20
Compare
Choose a tag to compare

๐Ÿž Bug Fixes

  • The xhEmailDefaultDomain config no longer needs a leading (and confusing) @ - EmailService will prepend this automatically.
    • โš ๏ธ Note app-level configs with a leading @ in place will need to be adjusted. (#43)

:octocat: Commit Log

v3.1.1

20 Jun 17:41
Compare
Choose a tag to compare

๐Ÿž Bug Fixes

  • IdentityService.getUser() should not throw when called outside context of a request -- just return null. Important when e.g. looking for a username within service calls that might be triggered by a controller-based web request or a timer-based thread. 4130a9a

:octocat: Commit Log

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