newrelic 6.11.0 → 6.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CONTRIBUTING.md CHANGED
@@ -20,9 +20,9 @@ licensing restrictions.
20
20
 
21
21
  ### Code of Conduct
22
22
 
23
- Before contributing please read the [code of conduct](./CODE_OF_CONDUCT.md)
23
+ Before contributing please read the [code of conduct](https://github.com/newrelic/.github/blob/main/CODE_OF_CONDUCT.md)
24
24
 
25
- Note that our [code of conduct](./CODE_OF_CONDUCT.md) applies to all platforms
25
+ Note that our [code of conduct](https://github.com/newrelic/.github/blob/main/CODE_OF_CONDUCT.md) applies to all platforms
26
26
  and venues related to this project; please follow it in all your interactions
27
27
  with the project and its participants.
28
28
 
@@ -45,22 +45,25 @@ contributing to this project, you're welcome to request access to the
45
45
  \#oss-contributors channel in the newrelicusers.slack.com workspace. To request
46
46
  access, see https://newrelicusers-signup.herokuapp.com/.
47
47
 
48
- ## The Code
48
+ ## PR Guidelines
49
49
 
50
50
  ### Version Support
51
51
 
52
- When contributing, keep in mind that New Relic customers (that's you!) are
53
- running many different versions of Node, some of them pretty old. Changes that
54
- depend on the newest version of Node will probably be rejected, with prejudice
55
- if they replace something backwards compatible.
52
+ When contributing, keep in mind that New Relic customers (that's you!) are running many different versions of Node, some of them pretty old. Changes that depend on the newest version of Node will probably be rejected, especially if they replace something backwards compatible.
56
53
 
57
- Be aware that the instrumentation needs to work with a wide range of versions
58
- of the instrumented modules, and that code that looks nonsensical or
59
- overcomplicated may be that way for compatibility-related reasons. Read all the
60
- comments and check the related tests before deciding whether existing code is
61
- incorrect.
54
+ Be aware that the instrumentation needs to work with a wide range of versions of the instrumented modules, and that code that looks nonsensical or overcomplicated may be that way for compatibility-related reasons. Read all the comments and check the related tests before deciding whether existing code is incorrect.
62
55
 
63
- ### Testing
56
+ If you’re planning on contributing a new feature or an otherwise complex contribution, we kindly ask you to start a conversation with the maintainer team by opening up an Github issue first.
57
+
58
+ ### General Guidelines
59
+
60
+ In general, we try to limit adding third-party production dependencies. If one is necessary, please be prepared to make a clear case for the need.
61
+
62
+ ### Coding Style Guidelines/Conventions
63
+
64
+ We use eslint to enforce certain coding standards. Please see our [.eslintrc](./.eslintrc.js) file for specific rule configuration.
65
+
66
+ ### Testing Guidelines
64
67
 
65
68
  The agent includes a suite of unit and functional tests which should be used to
66
69
  verify your changes don't break existing functionality.
@@ -101,7 +104,7 @@ where they are:
101
104
 
102
105
  The service token is the all-caps version of the service name listed above.
103
106
 
104
- #### Running the tests
107
+ #### Running Tests
105
108
 
106
109
  Running the test suite is simple. Just run:
107
110
 
@@ -116,7 +119,7 @@ the unit tests can be run with:
116
119
 
117
120
  npm run unit
118
121
 
119
- #### Writing tests
122
+ #### Writing Tests
120
123
 
121
124
  For most contributions it is strongly recommended to add additional tests which
122
125
  exercise your changes. This helps us efficiently incorporate your changes into
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Apache License
1
+ Apache License
2
2
  Version 2.0, January 2004
3
3
  http://www.apache.org/licenses/
4
4
 
package/NEWS.md CHANGED
@@ -1,11 +1,50 @@
1
+ ## 6.13.1 (2020-09-24):
2
+
3
+ * Fixed named-pipe check for lambda invocations to avoid race-condition.
4
+
5
+ Named-pipe existence will now be checked just prior to first write and then cached.
6
+
7
+ * Updated README with community-plus header.
8
+
9
+ * Updated README config copy example.
10
+
11
+ * Added Open Source Policy workflow.
12
+
13
+ * Removed repository CoC in favor of centralized CoC at org root.
14
+
15
+ ### 6.13.0 (2020-08-25):
16
+
17
+ * Added ability for the agent to write to a named pipe, instead of stdout, when in serverless mode.
18
+
19
+ ### 6.12.1 (2020-08-20):
20
+
21
+ * **Security fix:** Resolves an issue where transaction traces will still capture the request URI when the Node.js agent is configured to exclude the 'request.uri' attribute. This can be problematic for certain customers in environments where sensitive information is included in the URI. See security bulletin [NR20-02](https://docs.newrelic.com/docs/security/new-relic-security/security-bulletins/security-bulletin-nr20-02).
22
+
23
+ The request URI will now be excluded from transaction traces if the 'request.uri' attribute has been set to be excluded at either the top-level 'attributes.exclude' configuration or at the 'transaction_tracer.attributes.exclude' configuration.
24
+
25
+ ### 6.12.0 (2020-08-11):
26
+
27
+ * Fixes obfuscation of SQL queries with large data inserts.
28
+ Special thanks to Tomáš Hanáček (@tomashanacek) for tracking down the issue and providing the fix.
29
+ * On failed instrumentation, prevent multiple requires from re-wrapping shims.
30
+ Special thanks to Ryan Copley (@RyanCopley) for the contribution.
31
+ * Upgrade `async` to `v3.2.0`. Special thanks to Yohan Siguret (@Crow-EH) for the contribution
32
+ * Bumped `@newrelic/native-metrics` to `^5.3.0`.
33
+ * Bumped `@newrelic/aws-sdk` to `^2.0.0`.
34
+ * Bumped `node-test-utilities` to `^4.0.0`.
35
+ * Bumped `@newrelic/superagent` to `^3.0.0`.
36
+ * Bumps `@newrelic/koa` to `^4.0.0`.
37
+ * Updated `SECURITY.md` with coordinated disclosure program link.
38
+ * Updated guidelines and templates for contributing to the project.
39
+
1
40
  ### 6.11.0 (2020-07-07):
2
41
 
3
- * Open-sourced agent under Apache 2.0 license
4
- * Added CODE_OF_CONDUCT.md file
5
- * Streamlined README.md file
6
- * Updated CONTRIBUTING.md file
7
- * Added additional guidance to bug report template
8
- * Added copyright headers to all source files
42
+ * Updated to Apache 2.0 license
43
+ * Added CODE_OF_CONDUCT.md file
44
+ * Streamlined README.md file
45
+ * Updated CONTRIBUTING.md file
46
+ * Added additional guidance to bug report template
47
+ * Added copyright headers to all source files
9
48
  * Added Distributed Tracing option to config file used for first time customers
10
49
  * Converted some test files to Node-tap
11
50
  * Removed "hidden" and unused code injector diagnostic capability
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- [![Community Project header](https://github.com/newrelic/opensource-website/raw/master/src/images/categories/Community_Project.png)](https://opensource.newrelic.com/oss-category/#community-project)
1
+ [![Community Plus header](https://github.com/newrelic/opensource-website/raw/master/src/images/categories/Community_Plus.png)](https://opensource.newrelic.com/oss-category/#community-plus)
2
2
 
3
- # New Relic's Node.js agent ![Server Smoke Tests](https://github.com/newrelic/node-newrelic/workflows/Server%20Smoke%20Tests/badge.svg) ![Node Agent CI](https://github.com/newrelic/node-newrelic/workflows/Node%20Agent%20CI/badge.svg)
3
+ # New Relic's Node.js agent [![Server Smoke Tests][3]][4] [![Node Agent CI][5]][6]
4
4
 
5
5
  [![npm status badge][1]][2]
6
6
 
@@ -20,11 +20,11 @@ To use New Relic's Node.js agent entails these three steps, which are described
20
20
 
21
21
  1. To install the agent for performance monitoring, use your favorite npm-based package manager and install the `newrelic` package into your application:
22
22
 
23
- $ npm install newrelic
23
+ `$ npm install newrelic`
24
24
 
25
25
  2. Then, copy the stock configuration file to your program's base folder:
26
26
 
27
- $ cp node_modules/newrelic/newrelic.js
27
+ `$ cp ./node_modules/newrelic/newrelic.js ./<your destination>`
28
28
 
29
29
  3. Now, add your New Relic license key and application/service name to that file:
30
30
 
@@ -70,7 +70,7 @@ The `newrelic` module returns an object with the Node agent's API methods attach
70
70
  newrelic.addCustomAttribute('some-attribute', 'some-value')
71
71
  ```
72
72
 
73
- You can read more about using the API over on the [New Relic dcumentation](https://docs.newrelic.com/docs/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api) site.
73
+ You can read more about using the API over on the [New Relic documentation](https://docs.newrelic.com/docs/agents/nodejs-agent/api-guides/guide-using-nodejs-agent-api) site.
74
74
 
75
75
  ## Core agent development and tests
76
76
 
@@ -125,17 +125,40 @@ Here are some resources for learning more about the agent:
125
125
 
126
126
  ## Support
127
127
 
128
- New Relic hosts and moderates an online forum where customers can interact with New Relic employees as well as other customers to get help and share best practices. Like all official New Relic open source projects, there's a related Community topic in the New Relic Explorers Hub. You can find this project's topic/threads here:
128
+ Should you need assistance with New Relic products, you are in good hands with several support channels.
129
129
 
130
- https://discuss.newrelic.com/c/support-products-agents/node-js-agent/
130
+ If the issue has been confirmed as a bug or is a feature request, please file a GitHub issue.
131
+
132
+ **Support Channels**
133
+
134
+ * [New Relic Documentation](https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/introduction-new-relic-nodejs): Comprehensive guidance for using our platform
135
+ * [New Relic Community](https://discuss.newrelic.com/c/support-products-agents/node-js-agent/): The best place to engage in troubleshooting questions
136
+ * [New Relic Developer](https://developer.newrelic.com/): Resources for building a custom observability applications
137
+ * [New Relic University](https://learn.newrelic.com/): A range of online training for New Relic users of every level
138
+ * [New Relic Technical Support](https://support.newrelic.com/) 24/7/365 ticketed support. Read more about our [Technical Support Offerings](https://docs.newrelic.com/docs/licenses/license-information/general-usage-licenses/support-plan).
139
+
140
+
141
+ ## Privacy
142
+ At New Relic we take your privacy and the security of your information seriously, and are committed to protecting your information. We must emphasize the importance of not sharing personal data in public forums, and ask all users to scrub logs and diagnostic information for sensitive information, whether personal, proprietary, or otherwise.
143
+
144
+ We define “Personal Data” as any information relating to an identified or identifiable individual, including, for example, your name, phone number, post code or zip code, Device ID, IP address and email address.
145
+
146
+ Please review [New Relic’s General Data Privacy Notice](https://newrelic.com/termsandconditions/privacy) for more information.
147
+
148
+ ## Roadmap
149
+
150
+ See our [roadmap](./ROADMAP_Node.md), to learn more about our product vision, understand our plans, and provide us valuable feedback.
131
151
 
132
152
  ## Contributing
133
153
 
134
- We encourage your contributions to improve the Node.js agent. Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant.
154
+ We encourage your contributions to improve the Node.js agent! Keep in mind when you submit your pull request, you'll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project.
155
+ If you have any questions, or to execute our corporate CLA, required if your contribution is on behalf of a company, please drop us an email at opensource@newrelic.com.
156
+
157
+ **A note about vulnerabilities**
135
158
 
136
- You only have to sign the CLA one time per project.
159
+ As noted in our [security policy](https://github.com/newrelic/node-newrelic/security/policy), New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.
137
160
 
138
- If you have any questions or need to execute our corporate CLA, (required if your contribution is on behalf of a company), please drop us an email at opensource@newrelic.com.
161
+ If you believe you have found a security vulnerability in this project or any of New Relic's products or websites, we welcome and greatly appreciate you reporting it to New Relic through [HackerOne](https://hackerone.com/newrelic).
139
162
 
140
163
  ## License
141
164
 
@@ -146,3 +169,7 @@ The Node.js agent also uses source code from third-party libraries. You can find
146
169
 
147
170
  [1]: https://nodei.co/npm/newrelic.png
148
171
  [2]: https://nodei.co/npm/newrelic
172
+ [3]: https://github.com/newrelic/node-newrelic/workflows/Server%20Smoke%20Tests/badge.svg
173
+ [4]: https://github.com/newrelic/node-newrelic/actions?query=workflow%3A%22Server+Smoke+Tests%22
174
+ [5]: https://github.com/newrelic/node-newrelic/workflows/Node%20Agent%20CI/badge.svg
175
+ [6]: https://github.com/newrelic/node-newrelic/actions?query=workflow%3A%22Node+Agent+CI%22
@@ -0,0 +1,24 @@
1
+ # Node Agent Roadmap
2
+
3
+ ## Product Vision
4
+ The goal of the Node agent is to provide complete visibility into the health of your service. The agent provides metrics about the runtime health of your service and the process it runs in, and traces that show how specific requests are performing. It also provides information about the environment in which it is running, so you can identify issues with specific hosts, regions, deployments, and other facets.
5
+
6
+ New Relic is moving toward OpenTelemetry. OpenTelemetry is a unified standard for service instrumentation. You will soon see an updated version of the agent that uses the OpenTelemetry SDK and [auto-]instrumentation as its foundation. OpenTelemetry will include a broad set of high-quality community-contributed instrumentation and a powerful vendor-neutral API for adding your own instrumentation.
7
+
8
+
9
+ ## Roadmap
10
+ ### Description
11
+ This roadmap project is broken down into the following sections:
12
+
13
+ - **Now**:
14
+ - This section contains features that are currently in progress.
15
+ - **Next**:
16
+ - This section contains work planned within the next three months. These features may still be deprioritized and moved to Future.
17
+ - **Future**:
18
+ - This section is for ideas for future work that is alined with the product vision and possible opportunities for community contribution. It contains a list of features that anyone can implement. No guarantees can be provided on if or when these features will be completed.
19
+
20
+
21
+ **The roadmap project is found [here](https://github.com/orgs/newrelic/projects/11)**
22
+
23
+ #### Disclaimers
24
+ > This roadmap is subject to change at any time. Future items should not be considered commitments.
package/SECURITY.md CHANGED
@@ -1,20 +1,5 @@
1
- # How to contact us
1
+ # Reporting Security Vulnerabilities
2
2
 
3
- Please send any issue that you feel affects the security of this module to
4
- **security@newrelic.com**.
3
+ New Relic is committed to the security of our customers and your data. We believe that engaging with security researchers through our coordinated disclosure program is an important means to achieve our security goals.
5
4
 
6
- # Expectations
7
-
8
- If we do not respond promptly, we ask that you give us the benefit of the
9
- doubt, as it is possible the email went to spam or we have been so focused on
10
- something else we haven't seen it yet. Please send us a quick message,
11
- *without detail* to one of the following:
12
-
13
- * An issue here on GitHub, with an email address we can use to contact you
14
- for a more detailed report.
15
- * Message [@newrelic](https://twitter.com/newrelic) on Twitter.
16
- * Give our engineering team a heads up on IRC in #newrelic on Freenode.
17
-
18
- # History
19
-
20
- No security issues have been reported for this project yet.
5
+ If you believe you have found a security vulnerability in one of our products or websites, we welcome and greatly appreciate you reporting it to New Relic's coordinated disclosure program. Please see our [website for more information on how to report a vulnerability](https://docs.newrelic.com/docs/security/new-relic-security/data-privacy/reporting-security-vulnerabilities).