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-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
README
for 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.VERSION
methods. - 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
ILoggerConfig
optionlogTopic
toappName
to stay more uniform with the addition oforiginApp[Name|Version|Id]
fields (see Added below).
- PCM-1735 – Add
originAppName
,originAppVersion
,originAppId
to logger constructor. - PCM-1736 – Added
logger: ILogger
to 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
lodash
dependency. - 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
IServerOpts
has been renamed toILoggerConfig
- The config option
environment
has been replaced with theurl
config 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