v4.9.0 - Winter '23 Release
Managed Package Release
This release is for both the unlocked package (as always), as well as the managed package!
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 inv4.9.0
prior to upgrading in your org to ensure thatLoggerSettings__c
andLoggerParameter__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 methodsLogger.getScenario(String)
, Logger.setScenario(String)and
Logger.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 methodsLogger.getVersionNumber()
Logger.endScenario(String scenario)
Logger.ignoreOrigin(System.Type apexType)
-
LogEntryEventBuilder
class instance methodsLogEntryEventBuilder.getLogEntryEvent()
- returns an instance ofLogEntryEvent__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 inLogBatchPurgeScheduler
when thebatchSize
value wasnull
- now,LogBatchPurgeScheduler
checks fornull
values & uses a default value instead.- The default
batchSize
value has also been changed from200
to2000
. TheLogBatchPurger
job has always used200
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 objectsLogEntryTag__c
andLoggerTag__c
were introduced, but the default batch size was never increased.
- The default
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.