Skip to content

Releases: jongpie/NebulaLogger

v4.18.3 - PrismJS Loading Improvements & Error Handling

13 May 20:39
05ce16c

Choose a tag to compare

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 import can 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 logEntryMetadataViewer to better cover the current functionality

Screenshots

  • When 1 or more of the Prism static resources can't be loaded or executed, loggerCodeViewer will now show the code snippet without Prism formatting/highlighting (previously, a lightning-spinner just endlessly displayed). Corresponding error messages are also printed in the browser's console

    image
  • 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)

    image

Installation Info

Core Unlocked Package - no namespace

Full Changelog: v4.18.2...v4.18.3

v4.18.2 - New Field LogEntry__c.WasLoggedByCurrentUser__c

11 May 17:37
62ceb99

Choose a tag to compare

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 field Log__c.WasLoggedByCurrentUser__c
    • Created a new LogEntry__c list view, MyGeneratedLogEntries
    • Added field-level security (FLS) for the new field to LoggerEndUser permission set

Installation Info

Core Unlocked Package - no namespace

Full Changelog: v4.18.1...v4.18.2

v4.18.1 - New Declarative Configuration for Ignoring Apex Classes in Stack Traces

08 May 18:10
325a258

Choose a tag to compare

Thanks goes to @JMercie for working on this release! 🥳

Core Unlocked Package Changes

  • Resolved #890 by adding a new LoggerParameter__mdt record, 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 IgnoredApexOrigins to 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.

Installation Info

Core Unlocked Package - no namespace

Full Changelog: v4.18.0...v4.18.1

v4.18.0 - Winter '26 Release

08 May 14:49
a5cac07

Choose a tag to compare

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

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__c and LogEntry__c
  • 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 LoggerEndUser permission set to have (minimal) CRUD access so end users can update log management fields, manage tags & scenarios, etc.
  • Fixed issue #952: Updated LoggerAdmin and LoggerEndUser permission sets to have Apex class access for CallableLogger
  • Updated LoggerAdmin and LoggerEndUser permission sets remove the unnecessary inclusion of Apex class access for FlowLogger

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-linter tool and used it to auto-fix several SLDS lint violations in some LWCs
  • Resolved issue #784: Upgraded from using sfdx-scanner to code-analyzer v5 (including borrowing a copy of code-analyzer.yml from @jamessimone in apex-rollup)
    • This also includes removing a bunch of devDependencies in package.json, as well as upgrading several others
    • This also includes updating build.yml to reflect that sfdx-scanner has been replaced with code-analyzer
  • Updated several Apex classes to suppress some PMD warnings that are now reported by code-analyzer v5
  • Updated several LWCs & their Jest tests to either improve some of the code (based on new code-analyzer rules) or suppressed some scan violations

Installation Info

Core Unlocked Package - no namespace

Full Changelog: v4.17.5...v4.18.0

Core Managed Package - Nebula namespace

Full Changelog: v4.17.0...v4.18.0

v4.17.5 - Related Log Entries Component update

30 Apr 19:24
dba69dc

Choose a tag to compare

What's Changed

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

02 Apr 20:20
826166f

Choose a tag to compare

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)
    • This was fixed in PR #973 by updating the test class LoggerEmailSender_Tests to set the current user's email address to a (fake) gmail.com address - gmail.com is one of a few domains that don't have to be verified (see docs)

Installation Info

Core Unlocked Package - no namespace

Full Changelog: v4.17.3...v4.17.4

v4.17.3 - relatedLogEntries LWC Improvements

25 Feb 17:56
91518a0

Choose a tag to compare

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 RelatedLogEntriesController to use toLabel() 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 CallableLogger to the LoggerLogCreator permission 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:

image

After:

image

Installation Info

Core Unlocked Package - no namespace

Full Changelog: v4.17.2...v4.17.3

v4.17.2 - Bugfix: Modal Close Buttons Not Rendered Correctly

23 Feb 21:56
d375791

Choose a tag to compare

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 X close button on modals not rendering correctly due to recent changes in SLDS v1 & v2
image

Installation Info

Core Unlocked Package - no namespace

Full Changelog: v4.17.1...v4.17.2

v4.17.1 - Bugfix: Allowing to log SObject without ID field

23 Feb 17:55
57ffd2c

Choose a tag to compare

Core Unlocked Package Changes

Thanks to @TrangOul for fixing issue #911 in PR #912 🥳

  • Updated LogEntryEventBuilder to catch/ignore exceptions caused by an SObject record not having an Id field (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

v4.17.0 - Summer '25 Release

23 Feb 16:16
8d50108

Choose a tag to compare

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

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__c and LogEntry__c

Apex Logging Bugfixes

  • Updated Logger to more accurately reflect the current quiddity value when logging the system message Logger - Saving X log entries via <quiddity>
  • Fixed #910 - Updated CallableLogger to use List<String> instead of List<Object> for tags passed in via OmniStudio
    • Previously using List<Object> caused some exceptions, and the values should always be strings anyway

JavaScript Logging Bugfixes

  • Updated logger LWC 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.js have 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 logger LWC to immediately instantiate an internal instance of LoggerService
    • This was previously done in connectedCallback, which added an extra unnecessary event cycle that could cause some occasional goofiness

PrismJS Enhancements & Bugfixes

  • Upgraded the version of PrismJS in LoggerResources static resource from 1.29.0 to 1.30.0
  • Updated some CSS in loggerCodeViewer.css to correct some rendering issues due to changes in SLDS + SLDS v2
  • Fixed #777 - Corrected an issue in loggerCodeViewer that caused PrismJS's line highlighting to not work correctly when only 1 instance of loggerCodeViewer (used by other LWCs like logEntryMetadataViewer) 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.js
    • logEntryMetadataViewer.test.js
    • loggerHomeHeader.test.js
    • logger.test.js
    • loggerPageSection.test.js
    • loggerSettings.test.js
    • logViewer.test.js
  • Added a recipes LWC loggerWrapper to mimic orgs that use Nebula Logger's logger LWC through their own logging LWC

Apex Testing Improvements

  • Updated LogEntryEventHandler_Tests to 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.cls to 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

Core Managed Package - Nebula namespace

Full Changelog: v4.16.0...v4.17.0