Releases: xh/hoist-core
Releases · xh/hoist-core
v16.0.1
Full Changelog: v16.0.0...v16.0.1
v16.0.0
🎁 New Features
EmailService.sendEmail()
now supports theattachments
argument, for attaching one or more
files to the email.- A new
xhActivityTrackingConfig
soft-configuration entry will be automatically created to control
the behavior of built-in Activity Tracking (viaTrackService
).- Most notably, the size of any
data
objects included with track log entries will be
constrained by this config, primarily to constrain memory usage when querying and serializing
large numbers of log entries for the Admin Console. - Any track requests with data objects exceeding this length will be persisted, but without the
requested data.
- Most notably, the size of any
💥 Breaking Changes
- Removed support for "local" preferences - any existing prefs previously marked as local will now
work like all others, with their values persisted on the server.- Apps upgrading to this Core release should simultaneously upgrade to Hoist React v56, which
will automatically post any existing local preference values to the server. - Alternatively, update client-side code to use browser local storage for persisting user state
that should remain tightly bound to a particular computer.
- Apps upgrading to this Core release should simultaneously upgrade to Hoist React v56, which
- Grails has been updated to
5.3.2
. While this change did not itself introduce any breaking
changes, applications should update their Grails version withingradle.properties
to match.
🐞 Bugfixes
- Client Error timestamps will now correctly reflect the exact time the error was received on the
server rather than the time the error was bulk processed by the server.
📚 Libraries
- grails
5.2.1 -> 5.3.2
v15.0.0
What's Changed
🎁 New Features
Version 15 includes changes to support more flexible logging of structured data:
- The bulk of Hoist conventions around log formatting have been moved from
LogSupport
to a new
log converter --LogSupportConverter
. This allows applications to more easily and fully
customize their log formats by specifying custom converters. LogSupport
should still be the main entry point for most application logging. This class
provides the support for enhanced meta data-handling as well as some important APIs -
e.g.withDebug()
andwithInfo()
.- Applications are now encouraged to provide
LogSupport
methods with data inMap
form. Provided
converters will serialize these maps as appropriate for target logs. - Hoist's
LogSupportConverter
is intended for easy reading by humans, allows specifying
keys that should disappear in the final output with an_
prefix. This is useful for keys that
are obvious, e.g.[_status: 'completed', rows: 100]
logs as'completed' | rows=100
. - Alternatively, applications may now specify custom converters that preserve all keys and are
more appropriate for automatic processing (e.g. splunk). An example of such a converter is
CustomLogSupportConverter
which can be found in the Toolbox project. - By default, Hoist now also logs the time in millis when a log message occurred.
Full Changelog: v14.4.2...v15.0.0