Releases: iopipe/iopipe-js-core
Output Fixes
Version 0.6.0
had an issue where the output of context.succeed
was not properly being passed to api consumers (lambda.invoke for instance). This version fixes that issue and includes integration tests to avoid the situation again.
context.iopipe
Features
- The
context
object that is passed to the invocation is now extended with a newiopipe
object. This allows for easier integration of iopipe specific tools and data.
Breaking Change
- If you are using custom metrics with
iopipe.log
, you'll now want to usecontext.iopipe.log
. This allows for more consistent metric logging. While you can still useiopipe.log
for a time, aconsole.warn
will be emitted and the functionality will eventually be removed in a future version.
Housekeeping
- Use babel for processing source files
- Move all source files into
/src
- Use Jest for testing
- Use Prettier for source files
- Add more tests, as well as refine previous tests to be more comprehensive.
- Use yarn for dependency install within CI
Timeouts!
Releasing configurable timeouts -- IOpipe will capture timeouts unless the timeoutWindow
property is set to 0. Functions that are approaching their timeout will stop execution 150ms earlier, to allow time to report. More information available on https://hub.iopipe.com/
npm publish updates
- Changing npm publish path
Update CD
Size, speed, and a bit more data
- All dependencies removed, drastically shrinking package size and IOpipe's impact on load times
- Adds tracking for a few more variables: unique process ids, XRay traces, and agent installation method
- Improve network connection times by disabling NAGLE
- Speed up request times by pre-fetching DNS for requests
- Adds webpack in development to package iopipe for size & performance purposes
Update naming of client key
When configuring IOpipe, we now prefer the configuration of token
over clientId
. We continue to maintain support for client id verbage in both the configuration object and environment variables.
Performance improvements and non-blocking behavior
- HTTPS performance improvements
- Updated request settings, including a network timeout, and not blocking invocation execution in case of an IOpipe system outage, or a mis-configured
url
setting IOPIPE_TOKEN
is now a valid environment variable setting for client ids- Add an .npmignore file
Key updates
Minor release updating the name of the vm_id
key to the more accurate container_id
key, and storing remaining time in the correct section of the payload.
Coldstarts, regional collectors, and stats fixes
- We now track coldstarts!
- We're releasing support for region-based reporting. Covering 6 regions, this ensures your reporting happens as quickly as possible by reporting in the same region as the lambda, if possible.
- (bugfix) fixed reporting for memory statistics