Releases: jongpie/NebulaLogger
v4.18.3 - PrismJS Loading Improvements & Error Handling
Many thanks go to everyone that helped with troubleshooting & testing issue #963, including @khouseknecht, @joshiausdemwald, @Rumtum, @jflammang-cp, @cbcruz74, and @khouseknecht!
Core Unlocked Package Changes
Fixed #963 in PR #988 by making a few changes to the LWC loggerCodeViewer, used to display code snippets using PrismJS
- Added error handling to help surface issues with loading Prism static resources, and added logic to still display code content when loading Prism fails for some reason
- Created a new node script to auto-retrieve & auto-minify PrismJS files (including plugins, languages, and themes) to streamline the update process
- Switched to using minified versions of Prism's JS & CSS files to avoid a crazy issue within the platform where JavaScript comments containing the text
importcan cause the Prism JS file to not load/execute successfully (╯‵□′)╯︵┻━┻ - Finally fixed a long-standing issue where calling
Prism.highlightAll()twice was previously needed - Updated folder structure for static resources to include a dedicated Prism directory, as well as a themes subdirectory
- Expanded tests for LWC
logEntryMetadataViewerto better cover the current functionality
Screenshots
-
When 1 or more of the Prism static resources can't be loaded or executed,
loggerCodeViewerwill now show the code snippet without Prism formatting/highlighting (previously, alightning-spinnerjust endlessly displayed). Corresponding error messages are also printed in the browser's console
-
With the changes to use a minified version of Prism, it now successfully loads again (visually, this looks the same as before these recent issues started happening with Prism)
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.18.2...v4.18.3
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg70000009GaDAAU - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg70000009GaDAAU
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg70000009GaDAAU
v4.18.2 - New Field LogEntry__c.WasLoggedByCurrentUser__c
Thanks goes to @DivyanshuBist for working on this release! 🥳
Core Unlocked Package Changes
- Resolved #970 in PR #981 by adding a new formula field
LogEntry__c.WasLoggedByCurrentUser__c, which returns the value of the existing fieldLog__c.WasLoggedByCurrentUser__c- Created a new
LogEntry__clist view,MyGeneratedLogEntries - Added field-level security (FLS) for the new field to
LoggerEndUserpermission set
- Created a new
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.18.1...v4.18.2
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg70000008YZBAA2 - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg70000008YZBAA2
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg70000008YZBAA2
v4.18.1 - New Declarative Configuration for Ignoring Apex Classes in Stack Traces
Thanks goes to @JMercie for working on this release! 🥳
Core Unlocked Package Changes
- Resolved #890 by adding a new
LoggerParameter__mdtrecord,IgnoredApexOrigins, to provide a declarative approach that allows admins/developers to configure Apex classes to ignore in stack traces globally, without requiring any code changes.- The default value is
[], an empty JSON array. To ignore classes, add them to the array, like['SomeClass', 'AnotherClass'] - Since stack trace parsing is very limited in the managed package, the plan for now is for the new record
IgnoredApexOriginsto only be available in the unlocked package (controlled via the XML node<protected>true</protected>). This may change later, but for now will be only available in the unlocked package.
- The default value is
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.18.0...v4.18.1
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg70000008GVpAAM - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg70000008GVpAAM
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg70000008GVpAAM
v4.18.0 - Winter '26 Release
Managed Package Release - v4.18.0
This release is for both the unlocked package (as always), as well as the managed package! You can see everything that's changed between v4.17.0 and v4.18.0 for the managed package by reviewing:
- The v4.18.0 milestone to see all of the issues & pull requests that are included in the this release.
- The diff between v4.17.0 and v4.18.0 to see all of the code & metadata changes that have been committed since the last managed package release.
Managed Package Enhancements & Bugfixes
- ✅Release v4.17.5 - Added a new filter to the
relatedLogEntriesLWC for strict search onLogEntry__c.RecordId__cby @jamessimone in PR #977 → more improvements related to issue #896 - 🐞Release v4.17.4 - Bugfix:
LoggerEmailSender_Testsfix for new platform requirement of verified email domains by @jongpie in PR #973 → fixed issue #972 - ✅Release v4.17.3 -
relatedLogEntriesLWC improvements to improve search & displaying of picklist values by @jongpie in PR #956 → fixed issues #896 and #805 - 🐞Release v4.17.2 - Bugfix: Modal Close Buttons Not Rendered Correctly by @gredrian08 in PR #937 → fixed issue #936
- 🐞Release v4.17.1 - Bugfix: Added proper support for logging SObject records without ID field by @TrangOul in PR #912 → fixed issue #911
Core Unlocked Package Release - v4.18.0
These changes are new for both the unlocked package and the managed package.
Winter '26 Release Upgrade
- Bumped all metadata to API v65.0 (Winter '26 release)
- Also updated the list of picklist values in several 'API version' picklist fields on
Log__candLogEntry__c
- Also updated the list of picklist values in several 'API version' picklist fields on
- Also retrieved all metadata after the API upgrade, which resulted in some (minor) changes to several XML metadata files
Permission Set Enhancements
- Fixed issue #923: Updated
LoggerEndUserpermission set to have (minimal) CRUD access so end users can update log management fields, manage tags & scenarios, etc. - Fixed issue #952: Updated
LoggerAdminandLoggerEndUserpermission sets to have Apex class access forCallableLogger - Updated
LoggerAdminandLoggerEndUserpermission sets remove the unnecessary inclusion of Apex class access forFlowLogger
System Message Improvements
- Updated several Apex classes so system messages consistently use 'Nebula Logger' as a prefix on each message
Pipeline & Tooling Changes
- Added the new Salesforce-UX
slds-lintertool and used it to auto-fix several SLDS lint violations in some LWCs - Resolved issue #784: Upgraded from using
sfdx-scannertocode-analyzerv5 (including borrowing a copy ofcode-analyzer.ymlfrom @jamessimone in apex-rollup)- This also includes removing a bunch of
devDependenciesinpackage.json, as well as upgrading several others - This also includes updating
build.ymlto reflect that sfdx-scanner has been replaced with code-analyzer
- This also includes removing a bunch of
- Updated several Apex classes to suppress some PMD warnings that are now reported by
code-analyzerv5 - Updated several LWCs & their Jest tests to either improve some of the code (based on new
code-analyzerrules) or suppressed some scan violations
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.17.5...v4.18.0
- SF CLI: sf package install --wait 20 --security-type AdminsOnly --package 04tg700000086Y5AAI
- Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg700000086Y5AAI
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg700000086Y5AAI
Core Managed Package - Nebula namespace
Full Changelog: v4.17.0...v4.18.0
- SF CLI: sf package install --wait 20 --security-type AdminsOnly --package 04tg700000086RdAAI
- Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg700000086RdAAI
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg700000086RdAAI
v4.17.5 - Related Log Entries Component update
What's Changed
- Adds new flag to relatedLogEntries LWC component by @jamessimone in #977
While we are leaving this flag as something set internally by Nebula Logger for now, our plan is to roll out an update to the Related Log Entries component in the future, which would enable functionality like toggling to search for a record being present in the Message field of any given Log Entry, as well.
Full Changelog: v4.17.4...v4.17.5
v4.17.4 - Fix for New Platform Requirement of Verified Email Domains
Core Unlocked Package Changes
- Fixed #972 (reported by @arafesthain) where Salesforce has made the odd choice to break existing code by now requiring email domains to be verified, resulting in Apex code now throwing an exception when the email domain isn't verified 😡 (regardless of the API version used by Apex code)
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.17.3...v4.17.4
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg70000004jmXAAQ - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg70000004jmXAAQ
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg70000004jmXAAQ
v4.17.3 - relatedLogEntries LWC Improvements
Core Unlocked Package Changes
- Fixed #896 reported by @anthonygiuliano (and confirmed by @dominykasvitkus) by leveraging SOSL to search for a matching record ID (instead of strictly filtering on
LogEntry__c.RecordId__c) - Fixed #805 reported by @zimny349 by updating Apex class
RelatedLogEntriesControllerto usetoLabel()in SOQL when querying picklist fields - Improved the layout of the lightning card & datatable so the component visually better aligns with the appearance of standard related lists
- Scope creep: fixed #952 reported by @Mike-Cleaver-LB by adding Apex class access for
CallableLoggerto theLoggerLogCreatorpermission set to ensure the running user can use it in contexts like OmniStudio
In the screenshots below, the same data is used (same Account record, and same LogEntry__c records exist) - only the relatedLogEntries LWC has changed between the 2 screenshots
Before:
After:
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.17.2...v4.17.3
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg70000001IMHAA2 - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg70000001IMHAA2
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg70000001IMHAA2
v4.17.2 - Bugfix: Modal Close Buttons Not Rendered Correctly
Core Unlocked Package Changes
Thanks to @gredrian08 for reporting issue #936 & fixing it in PR #937 🥳
- Updated several LWCs to correct a problem with the
Xclose button on modals not rendering correctly due to recent changes in SLDS v1 & v2
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.17.1...v4.17.2
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg700000015gnAAA - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg700000015gnAAA
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg700000015gnAAA
v4.17.1 - Bugfix: Allowing to log SObject without ID field
Core Unlocked Package Changes
Thanks to @TrangOul for fixing issue #911 in PR #912 🥳
- Updated
LogEntryEventBuilderto catch/ignore exceptions caused by anSObjectrecord not having anIdfield (platform event objects are the most notable examples of this issue)
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.17.0...v4.17.1
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg7000000157JAAQ - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg7000000157JAAQ
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg7000000157JAAQ
v4.17.0 - Summer '25 Release
After taking a much-needed break from open source work, the v4.17.0 release is finally ready!
Managed Package Release - v4.17.0
This release is for both the unlocked package (as always), as well as the managed package! You can see everything that's changed between v4.16.0 and v4.17.0 for the managed package by reviewing:
- The v4.17.0 milestone to see all of the issues & pull requests that are included in the this release.
- The diff between v4.16.0 and v4.17.0 to see all of the code & metadata changes that have been committed since the last managed package release.
Managed Package Enhancements & Bugfixes
- ✅Release
v4.16.5- Capture Apex Cursor Transaction Limits by @vikashkrml in PR #892 → closed issue #760 - 🐞Release
v4.16.4- Bugfix: logger LWC Initialization Message by @jongpie in PR #884 → fixed issue #870 reported by @dominykasvitkus - ✅Release
v4.16.3- Made LogBatchPurger's Batch Size Configurable` by @jongpie in PR #880 → closed issue #807 reported by @halderanindya - ✅Release
v4.16.2- Origin Location Stacktrace Parsing Improvement by @jamessimone in PR #872 - ✅Release
v4.16.1- Data Masking & String Truncation Improvements by @jongpie in PR #866 → fixed issue #695 reported by @itague
Core Unlocked Package Release - v4.17.0
These changes are new for both the unlocked package and the managed package.
Summer '25 Release Upgrade
- Bumped all metadata to API
v64.0(Spring '26 release)- Also updated the list of picklist values in several 'API version' picklist fields on
Log__candLogEntry__c
- Also updated the list of picklist values in several 'API version' picklist fields on
Apex Logging Bugfixes
- Updated
Loggerto more accurately reflect the current quiddity value when logging the system messageLogger - Saving X log entries via <quiddity> - Fixed #910 - Updated
CallableLoggerto useList<String>instead ofList<Object>for tags passed in via OmniStudio- Previously using
List<Object>caused some exceptions, and the values should always be strings anyway
- Previously using
JavaScript Logging Bugfixes
- Updated
loggerLWC to reflect the latest changes in Salesforce's JavaScript stack traces- These changes broke the previous stack trace parsing logic - hopefully the modified logic is more resilient to future changes
- The Jest tests in
logger.test.jshave also been expanded to include parsing examples of stack traces from Chrome, Firefox, Edge - with & without debug mode (which can make a difference in the stack traces & parsing logic)
- Updated
loggerLWC to immediately instantiate an internal instance ofLoggerService- This was previously done in
connectedCallback, which added an extra unnecessary event cycle that could cause some occasional goofiness
- This was previously done in
PrismJS Enhancements & Bugfixes
- Upgraded the version of PrismJS in
LoggerResourcesstatic resource from1.29.0to1.30.0 - Updated some CSS in
loggerCodeViewer.cssto correct some rendering issues due to changes in SLDS + SLDS v2 - Fixed #777 - Corrected an issue in
loggerCodeViewerthat caused PrismJS's line highlighting to not work correctly when only 1 instance ofloggerCodeViewer(used by other LWCs likelogEntryMetadataViewer) was on a page
LWC Testing Improvements
- Fixed #881 - Added more Jest tests in to the LWCs tests below to validate existing functionality that wasn't previously covered by tests:
logEntryEventStream.test.jslogEntryMetadataViewer.test.jsloggerHomeHeader.test.jslogger.test.jsloggerPageSection.test.jsloggerSettings.test.jslogViewer.test.js
- Added a
recipesLWCloggerWrapperto mimic orgs that use Nebula Logger'sloggerLWC through their own logging LWC
Apex Testing Improvements
- Updated
LogEntryEventHandler_Teststo only use mock CMDT records (instead of relying on the metadata records deployed to the org)- All other test classes were previously updated to only use mock records, but this particular test class was overlooked
- Partially addressed #922 - Updated pipeline-only tests in
LogEntryEventHandler_Tests_FieldMappings.clsto validate that custom picklist fields with restricted values are handled properly
Pipeline Changes
- Updated scratch org definition files to tweak how OmniStudio is enabled in scratch orgs
- Updated pipeline & local dev scripts to use OmniStudio managed package v258.6 (Winter '26 release)
- Upgraded some dev dependencies in
package.json
Installation Info
Core Unlocked Package - no namespace
Full Changelog: v4.16.5...v4.17.0
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg70000000rNhAAI - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg70000000rNhAAI
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg70000000rNhAAI
Core Managed Package - Nebula namespace
Full Changelog: v4.16.0...v4.17.0
- SF CLI:
sf package install --wait 20 --security-type AdminsOnly --package 04tg70000000r5xAAA - Sandbox: https://test.salesforce.com/packaging/installPackage.apexp?p0=04tg70000000r5xAAA
- Production: https://login.salesforce.com/packaging/installPackage.apexp?p0=04tg70000000r5xAAA