- feat(mongodb): add support for mongodb-core 3.x
- feat(ws): add support for [email protected]
- fix(graphql): support sync execute
- fix(https): instrument https.request in Node.js v9
- feat(graphql): include GraphQL operation name in trace and transaction names (#195)
- fix(instrumentation): fix setting of custom flushInterval
- fix(parser): support http requests with full URI's
- fix(trace): don't allow un-started traces to calculate startTime
- fix(trace): don't allow un-started traces to be ended
- http/https: fix issue with outgoing http requests (#179)
- pg: add support for pg version 7
- core: truncate trace signatures to max 512 chars (#35)
- graphql: don't trace graphql after transaction ends
- koa-router: add support for version 6.x and 7.x
- ws: add support for ws ^3.0.0
- ioredis: add support for ioredis ^3.0.0
- hapi: do not overwrite tags of events in the extra context (#147)
- core: improve promise instrumentation for Node.js v7.x
- core: stop using deprecated core API's
- http/https: end trace before response end event callback is called
- core: add source map support
- core: fix error culprit detection
- core: take the custom transactions and traces API out of beta:
- core: default trace.name to 'unnamed'
- core: rename trace.signature to trace.name
- core: don't accept result as argument to startTransaction
- core: change default transaction type to 'custom'
- core: default transaction result to 200
- core: change default trace.type to 'custom'
- core: add flushInterval config option
- core: read config file when calling opbeat.start()
- hapi: allow server event handlers in connectionless hapi server (#132)
- hapi: fix logging of errors in hapi log events (#131)
- core: handle edge case where err.message isn't a string (#130)
- hapi: don't try to instrument hapi servers where
server.connection()
isn't called
- core: fix bug related to net.connect in Node.js v7.7.2 (backported from v4.11.2)
- core: fix bug related to net.connect in Node.js v7.7.2
- chore: reduce package size by not including test files
- pg: lazy patch pg-native to avoid STDERR output if not installed
- express-graphql: better transaction naming when using express-graphql
- graphql: trace GraphQL queries
- ws: support version ^2.0.0 of the ws module
- core: add OPBEAT_CONFIG_FILE environment variable for use with start.js (#117)
- hapi: improve error logging (#77)
- core: allow setting per-transaction context data using setUserContext() and setExtraContext()
- core: populate errors with logged in user details
- core: allow starting of Opbeat using
node -r
flag (see 28ae364) - ws: trace sent websocket messages from the ws module
- koa-router: add support for koa-router ^5.2.0
- core: make transaction type optional:
opbeat.startTransaction(name[, type])
- knex: get better performance stack traces when using knex
- core: log truncated traces
- http/https: only warn on prematurely closed sockets if transaction is active
- generic-pool: add support for ^3.1.0
- http/https: add path to external http request traces
- core: add captureTraceStackTraces config option
- core: allow cookie filtering to be disabled using filterHttpHeaders
- core: use less CPU intensive json-stringify algorithm (when sending data to the Opbeat intake API)
4.0.0 - 2016/11/25 Upgrade wiki
- core: allow filtering of sampled request details when instrumenting
- core: [breaking] change input data given to filtering methods added via addFilter to support instrumentation filtering
- core: [breaking] remove deprecated
filter
config option - core: [breaking] always call captureError callback even if agent is inactive
- express: show full URL path for errors and sampled requests
- core: log extra meta data along with instrumented http request
- core: don't log HTTP body by default (use
logBody
config option if you wish to log the HTTP body) - core: pretty print JSON and form data bodies on opbeat.com (only for smaller bodies)
- core: filter sensitive cookies
- core: don't log false '{}' request body
- core: fix NA endpoint issue
- core: sample transactions to reduce bandwidth and memory usage
- core: don't close transactions on premature close of tcp socket (wait till parent request ends)
- core: ensure transaction name and result are always set in case of SSE
- core: freeze transaction result when ended
- core: freeze transaction name when ended
- core: don't leak transactions when blacklisting
- core: improve detection of ended responses
- core: fix Node.js v7.0.0 support
- core: fix issue with missing stack traces for certain traces
- express: expose express.static.mime
- bluebird: add support for bluebird ^2.0.0 (instrumented to ensure context is preserved across async boundaries)
- bluebird: instrument ^3.0.0 (instrumented to ensure context is preserved across async boundaries)
- core: improve native promise instrumentation
- core: logging of runtime and framework details to Opbeat intake API
- allow not instrumenting certain requests via
ignoreUrls
andignoreUserAgents
- http: add support for SSE
- Anonymize HTTP Authorization headers
- Allow use of filtering middleware using opbeat.addFilter()
- deprecate: the filter option is deprecated in favor of opbeat.addFilter()
- redis: fix issue with optional callback
- pg: support all pg v6.x versions
- redis: add support for [email protected]
- redis: add support for [email protected]
- detect and report HTTP timeouts
- hapi: automatically capture request errors
- mongodb: instrument mongodb-core v2.x
- express: fix route naming for mounted middleware requests
- fix issue when associating https requests to captured errors in Node.js v0.10
- pg: support all pg v5.x versions
- mysql: ensure context is always kept when using pool.getConnection
- Improve tests
- mysql: official support for mysql (no feature flag required)
- mysql: fix duplicate query traces when connection have been released
- Refactor shimming
- Improve tests
- mysql: improve grouping of mysql errors
- mysql: don't record pool cluster queries multiple times
- Add mysql support (feature flag: ff_mysql)
- Minor speed/memory improvements
- Send first batch of transactions within 5 seconds of the first request after the Node process boots
- Fix: Don't record same request multipe times if multiple request listeners are added to the HTTP server
- Don't contact intake api if agent is inactive [Fixes #50]
- Don't try to patch mongodb-core pre version 1.2.7
- Fix: Traces should now be associated with the correct transaction
- Improve debug info and tests
- Revert new Promise instrumentation as it caused issues in certain cases
- Improve core Node.js instrumentation
- Update dependencies
- Fix test-cli
- Improve debugging output for unknown routes
- Fix: Recover from certain cases of missing traces that would result in a missing performance breakdown
- Express: Fix naming of mounted routes
- Misc cleanup
- Fix: Ensure Express middleware calls next() even if agent is inactive
- Fix: no longer log outgoing https requests twice on Opbeat
- Fix: error parsing support for Node.js 0.10
- Fix: Read stack trace source code on Windows
- hapi: Improved route naming in case of errors during the request (PR #34, @AdriVanHoudt)
- hapi: Automatic CORS detection
- Fix: Improve extraction of PostgreSQL quries
- Improve debugging output
- Upgrade dependencies
- Lower memory consumption
- Fix: Long running transactions sometimes did not have any associated traces
- hapi: Automatically attach HTTP body to errors
- Improve caching of stack traces during instrumentation (in some use cases this will also reduce memory usage)
- Fix: Do not fail on modules with no main in package.json or index.js file
- Fix: Handle API limits client-side
- Fix: Only instrument supported module versions
- Make 2nd argument to trace.start optional
- Express: support sub-apps and sub-routes
- Express: group all static file requests in same transaction
- Log path of outgoing requests in performance metrics
- Fix minor PostgreSQL instrumentation bug
- Fix support for instrumenting HTTPS servers
- Add more debugging information on startup
- Improve npmjs.com documentation
- Add hapi support
- Fix another stacktrace collection bug that sometimes would result in an uncaught exception
- Fix stacktrace collection bug that sometimes would result in an uncaught exception
- Improve debug logging for edge cases
- Improve MongoDB query instrumentation
- Fix crash if the stacktrace for some reason is missing
- Remove temp files
3.0.0 - 2015/11/22 Upgrade wiki
- New: Performance metrics
- Breaking: New configuration API
- Breaking: Remove deprecated
trackDeployment
function - Breaking: Renamed
agentLogLevel
config option tologLevel
- Breaking: Throw if agent is started more than once
- New: Add automatic HTTP server request logging
- New: Prefix all output with the an error id
- Output stack traces closer in the log to where the error happened
- Use milliseconds in timestamps
- Improve exactness of error capture time
- Limit logged body to 2048 UTF8 chars
- Update license to one approved by SPDX OSI
- Bug fix: Make sure the specified exceptionLogLevel is used
- Experimental: Log location in code where error was discovered (feature flag: _ff_captureFrame)
- Don't fail if options.extra is invalid format
- Fix bug where messages chould not have custom culprit
- Allow the
culprit
to be set by the user when callingcaptureError
- Rename
trackDeployment
totrackRelease
- Rename
trackRelease
optionpath
tocwd
- Split code out into separate dependencies
- Update dependencies
- Add tests for io.js and Node.js 0.12.x
- New: Add
filter
config option - Use new API domian endpoint
- Allow
active
config option to be other values than 1/0 - Improve tests
- Fix: Ensure invalid objects are logged in a more human readable way
- New: Log if an error is uncaught under the "Extra" tab
- New: Support custom loggers using the new
options.logger
option - Internal improvements
- Bug fix: Fix connect/express middleware
- Bug fix: Exit process even if Opbeat cannot be reached
- Improve tests
- Fix issue with logging json HTTP requests if using req.json
- Rename internal options.apiHost to options._apiHost (hopefully you did not use this)
- Log missing line numbers as line zero
- Bug fix: Ensure the agent doesn't fail on circular dependencies
- API update: The new version of the Opbeat API expects the stack frames in reverse order
- Big fix: Ensure emitted errors after an uncaught exception doesn't throw
- Minor bugfixes and improvements
1.0.0 - 2014/9/25 Upgrade wiki
- Remove createClient() function
- Replace options.env with options.active
- Rename options.handleExceptions to options.captureExceptions
- Rename options.app_id to options.appId
- Rename options.organization_id to options.organizationId
- Rename options.secret_token to options.secretToken
- Add deployment tracking support
- Merge captureMessage, captureError and captureRequestError into one function
- Remove support for overriding the Opbeat http API port number
- Automatically log custom properties on the Error object
- Log HTTP User-Agent header if present
- Log name of Node.js module where error occured
- Log request.json if present
- Log whether http requests are secure or not
- Log remote IP
- Allow options.stackTraceLimit to be falsy
- Remove client.version property
- Remove event connectionError (use error event instead)
- Control log level of client with options.clientLogLevel (replaces options.silent)
- Allow handleUncaughtExceptions to be called multiple times
- Allow the severity level of exceptions to be set in options
- Allow all options to be set via environment variables
- Parse the Opbeat URL to the captureUncaughtExceptions callback
- Don't log stack-frame path as absolute
- Only log cookies if they are present
- Security fix: Don't shamelessly track all environment variables
- Bug fix: Support the new Opbeat param_message API format
- Improve HTTP message parsing
- A lot of code cleanup
- Allow you to call client functions without having to worry about binding
- Removed support for Node.js versions below v0.10
- Internal improvements
- Bug fix: Set culprit correctly on errors sent to Opbeat
- Bug fix: The express/connect middleware now correctly uses or creates an instance of the Opbeat client
- Never published
- Some exceptions where logged twice in the local log
- Improved opbeat error logging: If opbeat returns an error, the entire error is now written to the log
- Bug fix: Thrown exceptions was not logged to Opbeat
- Bug fix: Request errors was printet twice in the server-logs
- Create an opbeat client once and reuse it. Now you can create a
client using
opbeat.createClient()
and reuse it usingopbeat.client
- Added silent option. Opbeat will not output anything to STDOUT or STDERR, except configuration errors
- Added exceptionsAreCritical option, which is on my default. This means that uncaught exceptions are logged as critical as opposed to the error level
- Allow better grouping of messages: 21384d7c0df1ffec5b985d918cab3a91208e75e3
- Added default event listeners, so you do not have to: 9b83e18835c2b7e24dd211b51fb38f9d820a9956
- Bug fixing
- All output is now directed to STDERR
- Always output result of sending something to Opbeat, even if you
have disabled automatic exception handling and are providing a
custom callback to
handleUncaughtExceptions
- Bug fixing
- Brand new API - Not backward compatible
- Initial release. Forked raven-node and converted to Opbeat API