Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.15.0 - Winter '25 Release (API v62.0) #794

Merged
merged 15 commits into from
Nov 26, 2024
Merged

Conversation

jongpie
Copy link
Owner

@jongpie jongpie commented Nov 1, 2024

Core Unlocked Package Changes

Winter '25 Release Upgrade

Log__c Object Changes

  • Updated the flexipage LogRecordPage to use the newer component 'dynamic related list - single' instead of the older component 'related list - single' for displaying related lists
  • Updated the order of fields shown on the LogEntry__c related list to have LoggingLevel__c as one of the first fields (instead of as one of the last fields)
  • Updated all list views to have the existing field Log__c.ProfileLink__c
  • Added new list views
    1. AllChildLogs: shows any logs that have a parent log set using Logger.setParentLogTransactionId(String) (based on Log__c.ParentLogLink__c != null)
    2. AllImpersonatedLogs: shows any logs where an admin was impersonating the logging user (based on Log__c.ImpersonatedByUsernameLink__c != null)

LogEntry__c Object Changes

  • Updated the flexipage LogEntryRecordPage to use the newer component 'dynamic related list - single' instead of the older component 'related list - single' for displaying related lists
  • Added 3 new formula fields on LogEntry__c that reference the existing formula fields on Log__c so that the same data can easily be shown in list views, etc.:
    1. ImpersonatedByUsernameLink__c
    2. ParentLogLink__c
    3. ProfileLink__c
  • Updated all list views to have the existing field Log__c.ProfileLink__c
  • Added new list views
    1. AllERRORLogEntries: shows any records where LogEntry__c.LoggingLevel__c == 'ERROR'
      • This is very similar to the existing list view AllERRORandWARNLogEntries that shows both ERROR and WARN
    2. AllImpersonatedLogEntries: shows any log entries where an admin was impersonating the logging user (based on LogEntry__c.ImpersonatedByUsernameLink__c != null)
      • This is conceptually the same as the new Log__c list view AllImpersonatedLogs mentioned above

Note: The new formula fields on LogEntry__c (ImpersonatedByUsernameLink__c, ParentLogLink__c, and ProfileLink__c) also help to circumvent an issue with the new dynamic higlights panel - even though the dynamic highlights panel is capable of referencing parent object fields, it expects the namespaced relationship Nebula__Log__r for the managed package, despite the fact that the fields themselves don't need the namespace prefix (e.g., it expects Nebula__Log__r.ParentLogLink__c, which is nonsense & inconsistent 😅). I don't want to have to make a script to add the namespace in the pipeline, and the whole thing feels like a flaw on Salesforce's side, so these formula fields are used in the dynamic highlights panel to avoid the problem.

LogEntryTag__c Object Changes

  • Updated the flexipage LogEntryTagRecordPage to use the newer component 'dynamic related list - single' instead of the older component 'related list - single' for displaying related lists
  • Added 3 new formula fields on LogEntryTag__c that reference the new formula fields on LogEntry__c (mentioned above) so that the same data can easily be shown in list views, etc.:
    1. ImpersonatedByUsernameLink__c
    2. ParentLogLink__c
    3. ProfileLink__c
  • Updated the existing list view All to include the new fields LoggedByUsernameLink__c and ProfileLink__c
  • Added a new list view:
    1. AllImpersonatedLogEntryTags: shows any log entry tag where an admin was impersonating the logging user (based on LogEntryTag__c.ImpersonatedByUsernameLink__c != null)
      • This is conceptually the same as the new Log__c list view AllImpersonatedLogs and the new LogEntry__c list view AllImpersonatedLogEntries mentioned above

LoggerTag__c Object Changes

  • Enabled field history tracking on Name and UniqueId__c
  • Added the standard History related list component to the flexipage LoggerTagRecordPage

LoggerScenario__c Object Changes

  • Updated the flexipage LoggerScenarioRecordPage to use the newer component 'dynamic related list - single' instead of the older component 'related list - single' for displaying related lists
  • Updated the order of fields shown on the Log__c and LogEntry__c related lists to have a more consistent order as other related lists & list views for those objects

Updated Permission Sets

  • Updated 3 of the included permission sets to have read access to the new formula fields on LogEntry__c and LogEntryTag__c (mentioned above)
    1. LoggerAdmin
    2. LoggerLogViewer
    3. LoggerEndUser

Internal Optimizations

  • Updated all Apex SObjectType and SObjectField usages of getDescribe().getName() to toString() - it's easier to read, and based on some benchmarking @jamessimone did, it's faster too 🏎️
  • Updated a helper method in LogBatchPurgeController_Tests to try to avoid recurring flaky test failures due to (presumably) non-unique data being (previously) generated in parallel test methods

Dev / Pipeline Changes

  • Removed old sfdx commands in README.md, related scripts, and release notes - now only sf commands are provided
    • Salesforce is beginning to fully remove sfdx commands (see issue #2974 in the CLI repo), and sf commands will be the only set of commands in the future, so it makes sense to remove references the now-partially-deprecated sfdx commands
  • Added settings metadata to dev subdirectory to enable the new (beta) local dev setting for LWC in scratch orgs
    • This only impacts people working within Nebula Logger's repo (i.e., people making bugfixes & enhancements to Nebula Logger's codebase) - it doesn't have any impact to Nebula Logger itself
    • This new feature is controlled by the node enableLightningPreviewPref in nebula-logger/dev/main/default/settings/LightningExperience.settings-meta.xml

@jongpie jongpie added Type: Enhancement New feature or request Package Type: Managed Package Issues and enhancements that specifically apply to the managed package Layer: Log Management Items related to the custom objects & Logger Console app Package Type: Unlocked Package Issues and enhancements that specifically apply to the unlocked package Salesforce Release Dependency: v62.0 Winter '25 labels Nov 1, 2024
@jongpie jongpie temporarily deployed to Advanced Scratch Org November 1, 2024 14:35 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Event Monitoring Scratch Org November 1, 2024 14:35 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Platform Cache Scratch Org November 1, 2024 14:48 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to OmniStudio Scratch Org November 1, 2024 14:54 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Experience Cloud Scratch Org November 1, 2024 14:59 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Advanced Scratch Org November 1, 2024 15:46 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Event Monitoring Scratch Org November 1, 2024 15:46 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to OmniStudio Scratch Org November 1, 2024 15:59 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Platform Cache Scratch Org November 1, 2024 16:05 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Experience Cloud Scratch Org November 1, 2024 16:05 — with GitHub Actions Inactive
…ame() to toString() - it's easier to read, and based on some benchmarking @jamessimone did, it's faster too
…a fields on Log__c so the data can be shown in list views, etc.

The new field LogEntry__c.ProfileLink__c was added to all of the LogEntry__c list views - this should make it easier to recognize trends/patterns when admins/devs are looking at data in the list views

The new formula fields also help to circumvent an issue with the new dynamic higlights panel - it expects the namespaced relationship Nebula__Log__r for the managed package, and I don't want to have to make a script to change to add the namespace in the pipeline (and feels like a flaw on Salesforce's side), so these formula fields are used in the dynamic highlights panel, even though the dynamic highlights panel is capable of referencing parent object fields
@jongpie jongpie temporarily deployed to Advanced Scratch Org November 8, 2024 20:32 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Event Monitoring Scratch Org November 8, 2024 20:32 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to OmniStudio Scratch Org November 8, 2024 20:43 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Platform Cache Scratch Org November 8, 2024 20:45 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Experience Cloud Scratch Org November 8, 2024 20:51 — with GitHub Actions Inactive
…mula fields on LogEntry__c so the data can be shown in list views, etc.

Also updated the All list view to include the new fields, and added a new list view 'AllImpersonatedLogEntryTags'
…xipages to switch to using the component 'dynamic related list - single' instead of the older component 'related list - single'

Also enabled field history tracking on LoggerTag__c.Name and LoggerTag__c.UniqueId__c
… and LoggerScenario__c, and added inline help text on Log__c.TransactionId__c
@jongpie jongpie had a problem deploying to Event Monitoring Scratch Org November 15, 2024 21:33 — with GitHub Actions Failure
@jongpie jongpie temporarily deployed to Advanced Scratch Org November 15, 2024 21:33 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to OmniStudio Scratch Org November 15, 2024 21:44 — with GitHub Actions Inactive
@jongpie jongpie temporarily deployed to Experience Cloud Scratch Org November 15, 2024 21:56 — with GitHub Actions Inactive
Copy link

codecov bot commented Nov 15, 2024

Codecov Report

Attention: Patch coverage is 95.45455% with 1 line in your changes missing coverage. Please review.

Project coverage is 92.73%. Comparing base (1b437ce) to head (08685a3).

Files with missing lines Patch % Lines
...management/classes/RelatedLogEntriesController.cls 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #794   +/-   ##
=======================================
  Coverage   92.73%   92.73%           
=======================================
  Files          75       75           
  Lines        7294     7294           
  Branches      200      200           
=======================================
  Hits         6764     6764           
  Misses        510      510           
  Partials       20       20           
Flag Coverage Δ
Apex 94.22% <95.23%> (ø)
LWC 85.97% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jongpie jongpie merged commit 6608157 into main Nov 26, 2024
1 check passed
@jongpie jongpie deleted the feature/winter-25-release branch November 26, 2024 16:16
@jongpie jongpie added the Salesforce Feature: Reporting Anything related to reports, dashboards, and the underlying data model label Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Layer: Log Management Items related to the custom objects & Logger Console app Package Type: Managed Package Issues and enhancements that specifically apply to the managed package Package Type: Unlocked Package Issues and enhancements that specifically apply to the unlocked package Salesforce Feature: Reporting Anything related to reports, dashboards, and the underlying data model Salesforce Release Dependency: v62.0 Winter '25 Type: Enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace compact layouts with new dynamic highlights component
2 participants