> ## Documentation Index
> Fetch the complete documentation index at: https://docs.germainux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 2023.1 Release Notes

> Highlights of the GermainUX 2023.1 release, including new monitoring, analytics and maintenance features.

> **[Compliance](#compliance)**
>
> Compliance-related changes

> **[Monitoring And Analytics Features](#monitoring-and-analytics-features)**
>
> New monitoring capabilities

> **[Maintenance Features](#maintenance-features)**
>
> Upkeep and reliability work

**New Features and Enhancements** that are available in GermainUX **2023.1** release.

## Compliance

### SOC 2 / Type 1 Audit

**Description**

Last month, we accomplished the following milestones:

1. Successfully completed the Soc2/Type1 Audit, including [attestation](https://drive.google.com/file/d/12NesBXOwGXpohQVktHJQpUmrdED_YSBw/view?usp=share_link). Detailed information is [enclosed](https://drive.google.com/file/d/12XNlQ4fn2zlJjUlW-Uo9AaMEtCoVv8i0/view?usp=share_link) regarding the audit findings and outcomes.
2. Commenced a 12-month Soc2/Type2 audit process, which will further evaluate and assess our compliance over an extended period.

These achievements demonstrate our commitment to maintaining and enhancing our security practices and compliance standards.

![2023.1 Release Notes: SOC 2 / Type 1 Audit](https://mintcdn.com/germain-ux/_Gfc7adJi1KOPA8d/images/main/2023-1-release-notes/image-20230418-174852.png?fit=max\&auto=format\&n=_Gfc7adJi1KOPA8d\&q=85\&s=689fad7c7cdbb27a7802cc0ac1bd162d)

## Monitoring and Analytics Features

### \[End within], \[Overlap] or \[Start Within] in Date/Time range

**Description**

The platform offers the ability to display metrics for Key Performance Indicators (KPIs) based on their duration. This includes options to filter metrics based on whether the KPI's duration \[ends within], \[overlaps], or \[starts within] a specified datetime range.

![2023.1 Release Notes: \End within, \Overlap or \Start Within in Date/Time range](https://mintcdn.com/germain-ux/_Gfc7adJi1KOPA8d/images/main/2023-1-release-notes/image-20230415-040955.png?fit=max\&auto=format\&n=_Gfc7adJi1KOPA8d\&q=85\&s=7c905218e390267f27b49ac23df630e0)

### KPIs for Business, IT, Marketing, UX and Web Ops

**Description**

The following are preconfigured Key Performance Indicators (KPIs) available in GermainUX:

* KPIs/Pivots/Measures for **[Business Ops](https://docs.germainux.com/main/kpis-business-process.md).**
* KPIs/Pivots/Measures for [IT Ops](https://docs.germainux.com/main/kpis-technologies-availability-performance-mobile.md).
* KPIs/Pivots/Measures for **[Marketing Ops](https://docs.germainux.com/main/marketing-kpis-pivots-measures.md).**
* KPIs/Pivots/Measures for **[UX Ops](https://docs.germainux.com/main/kpis-user-monitoring-and-replay.md).**
* KPIs/Pivots/Measures for **[Web Administrators](https://docs.germainux.com/main/kpis-web-analytics.md).**

### Measures for \[User Session Replay] KPI

**Description**

Several new measures have been added to the \[User Session Replay] and \[User Click] Key Performance Indicators (KPIs).

The following are the new measures for the \[User Session Replay] and \[User Click] KPIs:

* Count of New Users vs Returning users
* Top visited pages (volume per page)
* Mobile vs Desktop users (volume, performance)
* Top landing pages
* Top exit pages
* Top references
* Top campaigns

![2023.1 Release Notes: Measures for \User Session Replay KPI](https://mintcdn.com/germain-ux/_Gfc7adJi1KOPA8d/images/main/2023-1-release-notes/image-20230417-175156.png?fit=max\&auto=format\&n=_Gfc7adJi1KOPA8d\&q=85\&s=16a8646f537432ed8cab6347e1fe6b29)

More details about [all other measures](https://docs.germainux.com/main/kpis-user-monitoring-and-replay.md) for Session Replay.

### Operational Dashboard’s Tab Visibility

**Description**

The visibility of tabs in the Operational Dashboard is determined by the**Team Type**, either Business or Technical.

* The **Business Team** has visibility to the following tabs: \[Business Process] and \[Users].
* The **Technical Team** has visibility to all tabs, including: \[Application], \[App Components], \[Databases], \[Environments], \[Hosts], \[Services], \[Business Process], and \[Users].

![2023.1 Release Notes: Operational Dashboard’s Tab Visibility](https://mintcdn.com/germain-ux/_Gfc7adJi1KOPA8d/images/main/2023-1-release-notes/image-20230417-211422.png?fit=max\&auto=format\&n=_Gfc7adJi1KOPA8d\&q=85\&s=2b3f61ba4549bbc37a614141d9dd0cc7)

### Render Blocking Status of a HTTP Request

**Description**

Render-blocking resources refer to static files such as fonts, CSS, and JavaScript that can hinder or delay the browser from rendering page content promptly. The Render-blocking Status is now accessible through various Germain Key Performance Indicators (KPIs), such as the Outbound CSS Request KPI.

More details about renderBlockingStatus: [https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/renderBlockingStatus](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/renderBlockingStatus)

**Example**

![2023.1 Release Notes: Render Blocking Status of a HTTP Request](https://mintcdn.com/germain-ux/_Gfc7adJi1KOPA8d/images/main/2023-1-release-notes/image-20230415-033806.png?fit=max\&auto=format\&n=_Gfc7adJi1KOPA8d\&q=85\&s=12420df47e86b75bead7e2f0d4c108b1)

### SALESFORCE.COM - More KPIs

**Description**

Additional Key Performance Indicators (KPIs), portlets, and dashboards have been added to specifically monitor and provide insights on Salesforce performance.

* GERMAIN UX KPIs FOR SALESFORCE.COM MONITORING AND INSIGHTS
* Salesforce Apex Class
* Salesforce Apex Code Coverage
* Salesforce Apex Custom Action
* Salesforce Apex Trigger
* Salesforce Api Event

> **Show all 43**
>
> * Salesforce Browser Performance Count
> * Salesforce Bulk Api Result Event
> * Salesforce Classic Record Event
> * salesforce Code Debug Event
> * Salesforce Code Exception
> * salesforce Code Execution
> * Salesforce Concurrent Long-running Apex Error Event
> * Salesforce Credential Stuffing Event
> * Salesforce Cron Job
> * Salesforce External Service Custom Action
> * Salesforce Flow Coverage
> * Salesforce Flow Custom Action
> * Salesforce Flow Interview
> * Salesforce Health Check
> * Salesforce Instance Status
> * Salesforce Lightning List View Event
> * Salesforce Lightning Record Event
> * Salesforce Lightning User
> * Salesforce List View
> * Salesforce Log Generic Event
> * Salesforce Login As Event
> * Salesforce Login Event
> * Salesforce Logout Event
> * Salesforce Outbound HTTP Request
> * Salesforce Page Performance Count
> * Salesforce Platform Event Usage Metric
> * Salesforce Process Approval
> * Salesforce Process Rule
> * Salesforce Record Change Event
> * Salesforce Records Count
> * Salesforce Report Anomaly Event
> * Salesforce Report Execution Event
> * Salesforce Resource Usage
> * Salesforce Session Hijacking Event
> * Salesforce Setup Audit
> * Salesforce UI Switch
> * Salesforce User Click

Other GermainUX’s alerts, insights and automation for [Salesforce (Classic, Lightning, etc)](https://docs.germainux.com/main/salesforce-monitoring.md) and for [Salesforce Experience Cloud](https://docs.germainux.com/main/salesforce-experience-cloud-monitoring.md).

## Maintenance Features

### Data Security Dynamically Enforced at Team level

**Description**

Data security is dynamically set the Team level depending on the type of “business data” that is being used/processed/accessed by the monitored users/on the monitored application. This is all customizable.

Here's how it works:

1. Each Team is assigned a unique accessId when it is created. These accessIds are visible on the Teams view. For example, the 'Business Team' may have accessId 't1', while the 'Development Team' may have accessId 't2'.
2. Data can be annotated with an expression that determines which teams have access to it. This is achieved by setting the 'access' field.
3. For instance, a UxSession with access 't1 || t2' would be visible to members of the Business Team (t1) or the Development Team (t2) who have access to view the data.
4. If the access field is not set, anyone with permission to view data will be able to see the fact.
5. When a user attempts to access an RCA (Root Cause Analysis) for a fact they don't have access to, the data should not be visible to them. Similarly, the Drill-through feature and any RAW data exports should only display data that the user has access to.

Please note that this access control mechanism only affects RAW data. Filtered data is still shown in AGGREGATE data. For example, the count displayed in the Drill-through summary portlet includes data that the user may not have access to. However, we provide a message on the Drill-through indicating if any data is filtered due to access controls

![2023.1 Release Notes: Data Security Dynamically Enforced at Team level](https://mintcdn.com/germain-ux/_Gfc7adJi1KOPA8d/images/main/2023-1-release-notes/image-20230414-224416.png?fit=max\&auto=format\&n=_Gfc7adJi1KOPA8d\&q=85\&s=45c0bd3b613daffb4ed9b957e42134ab)

### OAuth - Custom Role Mapping

**Description**

Germain now supports the execution of a custom function to extract Roles from an authenticated OAuth user, similar to how it supports LDAP.

There are a few differences in Role Mapping between LDAP and OAuth:

1. In LDAP, only Groups and Roles are mapped. However, in OAuth, there are several entities that can be mapped to Roles, based on the OAuth provider and the requested scopes.
2. Previously, when a user logged in via OAuth, they had to have the AuthenticationConfig.mapRolesFromDBUser configuration setting set to true and have a corresponding user in Germain DB. Alternatively, if AuthenticationConfig.createMissingDBUser was set to true, a DB user would be automatically created. These settings were necessary to obtain any roles because the default mapping from OAuth to GrantedAuthorities only considered the OAuth scopes.

With this enhancement, a custom function can now be executed to extract Roles from an authenticated OAuth user, providing more flexibility in Role Mapping for OAuth users.

**Configuration**

Details on how to configure [OAuth User Management.](https://docs.germainux.com/main/oauth-user-management.md)

### Security and Vulnerabilities Fixes

> [!NOTE]
>
> All customers are required to update Germain with the below patches

**Description**

As part of our SOC2 compliance program, here are the security breaches that have been found in 2023.1, and patches to address those in 2023.1 or older versions. Please [contact us](https://docs.germainux.com/main/support.md) whenever needed..

| Vulnerability | Severity | Scope | Detected | Reviewed | Resolved | Affected versions | Fix implemented in | Link |
| - | - | - | - | - | - | - | - | - |
| \[[CVE-2022-3064](https://github.com/advisories/GHSA-6q6q-88xp-6f2r)] | HIGH | yauaa \[7.9.0] -> \[7.16.0] | 3/18/2023 | 3/20/2023 | 3/20/2023 | \<= 2023.1 | 2023.1-14 | [https://nvd.nist.gov/vuln/detail/CVE-2022-3064](https://nvd.nist.gov/vuln/detail/CVE-2022-3064) |
| \[[CVE-2023-1370](https://github.com/advisories/GHSA-493p-pfq6-5258)] | HIGH | json-smart \[2.4.7] -> \[2.4.10] | 3/18/2023 | 3/20/2023 | 3/20/2023 | \<= 2023.1 | 2023.1-14 | [https://ossindex.sonatype.org/vulnerability/CVE-2023-1370?component-type=maven\&component-name=net.minidev%2Fjson-smart\&utm\_source=dependency-check\&utm\_medium=integration\&utm\_content=7.4.4](https://ossindex.sonatype.org/vulnerability/CVE-2023-1370?component-type=maven\&component-name=net.minidev%2Fjson-smart\&utm_source=dependency-check\&utm_medium=integration\&utm_content=7.4.4) |
| | HIGH | alpine \[3.17.0] => \[3.17.2] | 3/18/2023 | 3/20/2023 | 3/20/2023 | \<= 2023.1 | 2022.3-61, 2022.4-51, 2022.5-48, 2023.1-14 | |

**Download**

> **2022.3-61**
>
> **Standard:**
>
> `GermainAPMEngine-2022.3-61-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMEngine-2022.3-61-binary.zip` (no longer available) \
> &#x20;[https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.3-61-binary.tar.gz](https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.3-61-binary.tar.gz) \
> &#x20;[https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.3-61-binary.zip](https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.3-61-binary.zip) \
> &#x20;`GermainAPMService-2022.3-61-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMService-2022.3-61-binary.zip` (no longer available)
>
> **Docker:** \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-engines:2022.3-61 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-server:2022.3-61 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-services:2022.3-61

> **2022.4-51**
>
> **Standard:**
>
> `GermainAPMEngine-2022.4-51-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMEngine-2022.4-51-binary.zip` (no longer available) \
> &#x20;[https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.4-51-binary.tar.gz](https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.4-51-binary.tar.gz) \
> &#x20;[https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.4-51-binary.zip](https://germain-apm.s3.us-west-2.amazonaws.com/GermainAPM/2022/GermainAPMServer-2022.4-51-binary.zip) \
> &#x20;`GermainAPMService-2022.4-51-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMService-2022.4-51-binary.zip` (no longer available)
>
> **Docker:** \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-engines:2022.4-51 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-server:2022.4-51 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-services:2022.4-51

> **2022.5-48**
>
> **Standard:**
>
> `GermainAPMEngine-2022.5-48-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMEngine-2022.5-48-binary.zip` (no longer available) \
> &#x20;`GermainAPMServer-2022.5-48-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMServer-2022.5-48-binary.zip` (no longer available) \
> &#x20;`GermainAPMService-2022.5-48-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMService-2022.5-48-binary.zip` (no longer available)
>
> **Docker:** \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-engines:2022.5-48 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-server:2022.5-48 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-services:2022.5-48

> **2023.1-14**
>
> **Standard:**
>
> `GermainAPMEngine-2023.1-14-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMEngine-2023.1-14-binary.zip` (no longer available) \
> &#x20;`GermainAPMServer-2023.1-14-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMServer-2023.1-14-binary.zip` (no longer available) \
> &#x20;`GermainAPMService-2023.1-14-binary.tar.gz` (no longer available) \
> &#x20;`GermainAPMService-2023.1-14-binary.zip` (no longer available)
>
> **Docker:** \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-engines:2023.1-14 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-server:2023.1-14 \
> &#x20;public.ecr.aws/h0m9e4y5/germainapm-services:2023.1-14

## Get Help

> **[Contact GermainUX Support](https://docs.germainux.com/main/support.md)**
>
> The Germain Team can help you set this up.

> **Can't find what you need?**
>
> Search all GermainUX docs with **Ctrl + K**, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.