All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- STREAM-1054 - Move @babel/preset-typescript to be a dev dependency.
- STREAM-1210 - Updated axios to v1.14.0 to fix Snyk vulnerability.
- STREAM-1420 - Updated axios to v1.15.0 to fix Snyk vulnerability.
- STREAM-868 - Generate a test report in JUnit.xml format.
- STREAM-950 - Move away from
unloadto send logs at the end of a user's session.
- STREAM-799 - Updated axios to v1.10.0 to fix critical Snyk vulnerability.
- STREAM-800 - Added GitHub Actions for linting, testing, and building in an effort to make the build process more transparent and reliable.
- STREAM-614 - Removed Jenkins pipeline infrastructure.
- STREAM-481 - Migrated Jenkins pipeline to webappPipelineV2.
- STREAM-172 Update axios to address Snyk vulnerability
- STREAM-163 Stack overflow occurs when deep-cloning deeply nested objects
- PCM-2343 Added ability to pass in custom headers for telemetry purposes (internal use only).
- PCM-2349 - Fixed several medium/high/critical Snyk vulnerabilities.
- PCM-2312 Stop server logging if we get a 403
- PCM-2296 Updated Axios to v1.6.5 to fix Snyk vulnerabilities.
- [no-jira] Update uuid to v9.0.1
- PCM-2262 Fixed snyk vulnerability SNYK-JS-AXIOS-6032459
- [no-jira] Fixed snyk vulnerability
- PCM-2238 - Made it so checks on the error object were looking for the right things and that we stop logging to the server on a 401.
- PCM-2088 – Allow unique log uploaders (really only useful for internal reasons)
- PCM-2075 – Respect the retry-after header returned by a 429 response. Handle the case where axios returns an xmlhttprequest as the response object.
- PCM-2075 – Respect the retry-after header returned by a 429 response.
- PCM-2031 – Set the response type as 'text' for uploading logs so ff doesn't throw an error
- PCM-1992 – Save logs that were unable to send so they can be sent next time we connect.
- ACE-2053 – Remove superagent and use axios. Update jest.
- PCM-1833 – Added the ability to stop/stop server logging. See
READMEfor more information.- New functions
startServerLogging (): void;stopServerLogging (): void;sendAllLogsInstantly (): Promise<any>[]
- New events
logger.on('onError', (error: any) => { });logger.on('onStart', () => { });logger.on('onStop', (reason: StopReason) => { });
- New functions
- PCM-1791 – migrated to new build pipeline. This repo now uses gitflow to manage development, release, and feature branches.
- Added static and instance
logger.VERSIONmethods. - Added CDN urls for major and exact version (see the Install section of the
README.md)
- PCM-1786 – fixed infinite recursion if an instance of the ClientLogger is passed
into another instance of the ClientLogger as
options.logger.
- Logging interface changed. This applies to all logging levels.
// old signature
info (message: string | Error, details?: any, skipServer?: boolean): void;
// new signature
info (message: string | Error, details?: any, opts?: ILogMessageOptions): void;- PCM-1766 – Add log formatters
- PCM-1641 – secondary logger is no longer passed undefined for details
- Renamed
ILoggerConfigoptionlogTopictoappNameto stay more uniform with the addition oforiginApp[Name|Version|Id]fields (see Added below).
- PCM-1735 – Add
originAppName,originAppVersion,originAppIdto logger constructor. - PCM-1736 – Added
logger: ILoggerto constructor config. If a logger is passed it, it will be used instead of the defaultconsole. Note that passing in a logger does not stop the logger from uploading server logs.
- PCM-1665 – wrote custom deep clone function and removed
lodashdependency. - Changed package.json entry points:
"main"-> points to commonJS build (unchanged)"browser"-> renamed to"web"but still points to bundled CDN built file"module"-> added esModule build
- Moved to eslint.
- The
IServerOptshas been renamed toILoggerConfig - The config option
environmenthas been replaced with theurlconfig option. This will need to be the full url of the endpoint to send logs to. Example:https://api.example.com/v2/logs. - See README for new usage and configuration