Skip to content

v4.9.0 - Winter '23 Release

Compare
Choose a tag to compare
@jongpie jongpie released this 21 Nov 19:41
· 89 commits to main since this release
a66edb4

Managed Package Release

This release is for both the unlocked package (as always), as well as the managed package!

⚠️ For orgs that are upgrading to this version of the managed package: there are several new features & feature flags that have been introduced since v4.8.0 of the managed package to provide configurable options to optimize Nebula Logger declaratively, and you may want to customize these new options to best suit your needs. Some of the new items includes:
https://github.com/jongpie/NebulaLogger/releases/tag/v4.8.4

  • Optional usage of Platform Cache to provide org & session caching of data & metadata used by Nebula Logger. You may want to customize the cache partition size based on your org's available cache space (or disable this feature via a new LoggerParameter__mdt record, if you don't want Nebula Logger to use platform cache).
  • New LoggerParameter__mdt records to control Nebula Logger's querying of data it's recommended that _### you review the changes in v4.9.0 prior to upgrading in your org to ensure that LoggerSettings__c and LoggerParameter__mdt records in yo**_**ur org, since some configuration options have changed. If you use the managed package & are upgrading,
  • New custom object LoggerScenario__c & expanded overall functionality of scenario-based logging via the methods Logger.getScenario(String), Logger.setScenario(String)andLogger.endScenario(String)`

You can see everything that's change between v4.8.0 and v4.9.0 by reviewing:

  • The v4.9.0 milestone to see all of the issues & pull requests that are included in the this release.
  • The diff between v4.8.0 and v4.9.0 to see all of the code & metadata changes that have been committed since the last managed package release.

Core Unlocked Package Changes

Metadata API Version

  • Updated all metadata from API v55.0 (Summer '22 release) to v56.0 (Winter '23 release)
  • Removed the now-deprecated picklist value "v55.0 - Summer '22 Release" in the field Log__c.ApiVersion__c

Updated Visibility of Apex Methods

Updated the following methods from public to global so that they're now available in the managed package, using the Nebula namespace - this should not have any direct impact on the unlocked package's functionality

  • Logger class static methods

    • Logger.getVersionNumber()
    • Logger.endScenario(String scenario)
    • Logger.ignoreOrigin(System.Type apexType)
  • LogEntryEventBuilder class instance methods

    • LogEntryEventBuilder.getLogEntryEvent() - returns an instance of LogEntryEvent__e

Metadata Cleanup

  • Updated the descriptions in several custom metadata type objects and LoggerParameter__mdt records to provide more details & better reflect the current usage of each item

Bugfixes

  • Fixed an System.InvalidParameterValueException that could occur in LogBatchPurgeScheduler when the batchSize value was null - now, LogBatchPurgeScheduler checks for null values & uses a default value instead.
    • The default batchSize value has also been changed from 200 to 2000. The LogBatchPurger job has always used 200 as the default value because the original code (written years ago) wasn't scalable - it was rewritten to be much more scalable in v4.6.0 when the objects LogEntryTag__c and LoggerTag__c were introduced, but the default batch size was never increased.

Better Handling of Apex Class Name Collisions

For orgs that use the unlocked package (core package), installation issues can occur if the org has a custom Apex class that matches the name of a standard Apex class, such as Limits, Network, Test, Type, etc. References throughout the codebase have been updated to include the System namespace prefix to ensure that this type of metadata collision does not prevent installation of Nebula Logger.