Skip to content

Commit da5529b

Browse files
github-actions[bot]kaylareopelletannalynnfallwithhannahramadan
authored
Release 9.15.0 (#2928)
* Remove opensearch service from depends_on OpenSearch does not have a service, it's commented out. * Update verbiage to match docs website Tweaks for automatic_custom_instrumentation_method_list * add ruby version check * Update 9.14 changelog to match release notes * Stripe: restrict CI tests to Stripe <= v12 For now, limit Stripe testing to < v13 * Sequel: relax Ruby requirement for Timed pool Accommodate Sequel v5.85.0, which has made the timed connection pool the default for Ruby 3.2+ by always permitting the use of a timed connection pool for explain plan generation in a Ruby 3.2+ context (previously only a Ruby 3.4+ context would work). https://sequel.jeremyevans.net/rdoc/files/doc/release_notes/5_85_0_txt.html#label-Other+Improvements * add changelog entry * Remove excess info-level instrumentation logs (#2881) * Remove duplicate info-level instrumentation logs The methods `prepend_instrument` and `chain_instrument` eventually produce info-level log statements. Remove duplicate statements. --------- Co-authored-by: James Bunch <[email protected]> * Stripe testing update (#2891) * Update Stripe test Co-authored-by: James Bunch <[email protected]> --------- Co-authored-by: James Bunch <[email protected]> * increase db.statement threshold to 4096 increase the db.statement max from 2000 to 4096 as per the updated cross agent spec * Test Ruby 3.4.0-preview2 * Update CHANGELOG.md Co-authored-by: Kayla Reopelle <[email protected]> * add aws_account_id config * tests script: perform cleanup clean up content on each fresh test run instance * Add assertion condition for 3.4 support The JSON string output changed in Ruby 3.4 to remove the hash rocket Pre Ruby 3.4: :app_name=>\"test\" Ruby 3.4+: app_name: \"test\" * Exclude api_key from reported settings * Add TODO to fix the test before 3.4 is released * Improve failure output for assert_log_contains * stringio CI test * Update stringio version * berm/bermq: only clean once given than `berm` and `bermq` both follow the same path, prevent duplicate cleaning operations * use cloud.aws.account_id for config name * add changelog entry * Skip config_file_loading suite on Ruby 3.4 * add allow nil to config * Simplify excluded_settings test * Update CHANGELOG.md Co-authored-by: Kayla Reopelle <[email protected]> * Update CHANGELOG.md Co-authored-by: Kayla Reopelle <[email protected]> * Update lib/new_relic/agent/configuration/default_source.rb Co-authored-by: Kayla Reopelle <[email protected]> * Update newrelic-grape check logic * Update View Component metric building (#2907) * Use default `View/component` metric name for unidentified View Components * add exit code to output * move rdkafka to its own group for multiverse * add config to allow test to pass for jruby * Create helper method to return rubygems specs Bundler version 2.5.12 deprecated all_specs and added installed_specs. To support newer Bundler versions, try to use installed_specs first, then fall back to all_specs. All callers expect this to be an array, so return an array if Bundler isn't defined. This consolidates the way the rubygems specs are accessed across the multiple places we use them. * Add changelog entry for all_specs update * Update stub for Rubies below 2.7 * Rubocop * prevent false 'unsatisfied' dependency status address 2 issues causing dependency detection to falsely label an instrumentation's dependencies as "unsatisfied". - handle Padrino with a special case pending resolution of #2912 - don't mark an item as unsatisfied the second (or higher) time it comes around through the `detect!` loop * sinatra dd check - use a string use a string for comparison * Use double splat for Ruby >= 3.0 * Update changelog * update changelog * Update CHANGELOG.md Co-authored-by: Kayla Reopelle <[email protected]> * DD templating: conditionally invoke requires as per #2844, don't perform `require_relative` on content that won't be used unless all dependency detection checks succeed * DD: require only prepend OR chain DD code when chaining or prepending, only bring in the appropriate chain or prepend code * DD: update the rendering of the 'named' line the template's rendering of a `named` line was previously attempting to wrap symbol values with single quotes when necessary. but given that everything is routed through the `snake_name` method, nothing will ever need the quotes if we simply use the output of that method, held in `@snake_name`. * bugfix: always apply transformations on booleans v9.14.0 introduced improved handling of boolean based configuration parameters and inadvertently broke AWS Lambda layer based functionality due to a bypassing of config transformations for booleans. Boolean based values will now again be routed through their transformations if defined. resolves #2919 * Update CHANGELOG.md Update dev bugfix title for Lambda layer functionality restoration Co-authored-by: Kayla Reopelle <[email protected]> * Update CHANGELOG.md Reference the Lambda bugfix PR now that it exists Co-authored-by: Kayla Reopelle <[email protected]> * CHANGELOG: improve Lambda bugfix summary Improve the wording for the Lambda bugfix summary Co-authored-by: Kayla Reopelle <[email protected]> * add .vscode to gitignore * Add security scan * Add scan-type: fs * chore: Rename build job * Update run conditions * Add bundling step * bundle after checkout * Prerelease 9.15.0-pre (#2927) * bump version --------- Co-authored-by: newrelic-ruby-agent-bot <[email protected]> Co-authored-by: Hannah Ramadan <[email protected]> --------- Co-authored-by: Kayla Reopelle <[email protected]> Co-authored-by: Kayla Reopelle <[email protected]> Co-authored-by: Tanna McClure <[email protected]> Co-authored-by: James Bunch <[email protected]> Co-authored-by: Hannah Ramadan <[email protected]> Co-authored-by: Patrick Arnett <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: newrelic-ruby-agent-bot <[email protected]>
1 parent 0e1e4ab commit da5529b

File tree

83 files changed

+432
-286
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+432
-286
lines changed

.github/versions.yml

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
# This file is consumed by lib/tasks/gha.rake
33
ruby/setup-ruby:
4-
:tag: v1.191.0
5-
:sha: 52753b7da854d5c07df37391a986c76ab4615999
4+
:tag: v1.196.0
5+
:sha: f26937343756480a8cb3ae1f623b9c8d89ed6984
66
actions/checkout:
77
:tag: v4.1.7
88
:sha: 692973e3d937129bcbf40652eb9f2f61becf3332
@@ -36,3 +36,9 @@ adriangl/check-new-commits-action:
3636
softprops/action-gh-release:
3737
:tag: v2.0.8
3838
:sha: c062e08bd532815e2082a85e87e3ef29c3e6d191
39+
aquasecurity/trivy-action:
40+
:tag: v0.28.0
41+
:sha: 915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2
42+
github/codeql-action/upload-sarif:
43+
:tag: v3.27.0
44+
:sha: 662472033e021d55d94146f66f6058822b0b39fd

.github/workflows/ci.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- name: Configure git
1515
run: 'git config --global init.defaultBranch main'
1616
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
17-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
17+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
1818
with:
1919
ruby-version: '3.3'
2020
- run: bundle
@@ -49,7 +49,7 @@ jobs:
4949
run: sudo apt-get update; sudo apt-get install -y --no-install-recommends libcurl4-nss-dev libsasl2-dev libxslt1-dev
5050

5151
- name: Install Ruby ${{ matrix.ruby-version }}
52-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
52+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
5353
with:
5454
ruby-version: ${{ matrix.ruby-version }}
5555

@@ -216,7 +216,7 @@ jobs:
216216
strategy:
217217
fail-fast: false
218218
matrix:
219-
multiverse: [agent, ai, background, background_2, database, frameworks, httpclients, httpclients_2, rails, rest]
219+
multiverse: [agent, ai, background, background_2, kafka, database, frameworks, httpclients, httpclients_2, rails, rest]
220220
ruby-version: [2.4.10, 3.3.5]
221221

222222
steps:
@@ -231,7 +231,7 @@ jobs:
231231
run: sudo apt-get update; sudo apt-get install -y --no-install-recommends libcurl4-nss-dev libsasl2-dev libxslt1-dev
232232

233233
- name: Install Ruby ${{ matrix.ruby-version }}
234-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
234+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
235235
with:
236236
ruby-version: ${{ matrix.ruby-version }}
237237

@@ -324,7 +324,7 @@ jobs:
324324
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
325325

326326
- name: Install Ruby ${{ matrix.ruby-version }}
327-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
327+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
328328
with:
329329
ruby-version: ${{ matrix.ruby-version }}
330330

@@ -364,7 +364,7 @@ jobs:
364364
- name: Configure git
365365
run: 'git config --global init.defaultBranch main'
366366
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
367-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
367+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
368368
with:
369369
ruby-version: '3.3'
370370
- run: bundle

.github/workflows/ci_cron.yml

+9-9
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Configure git
1717
run: 'git config --global init.defaultBranch main'
1818
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
19-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
19+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
2020
with:
2121
ruby-version: '3.3'
2222
- run: bundle
@@ -36,7 +36,7 @@ jobs:
3636
strategy:
3737
fail-fast: false
3838
matrix:
39-
ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.6, 3.2.5, 3.3.5, 3.4.0-preview1]
39+
ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.6, 3.2.5, 3.3.5, 3.4.0-preview2]
4040

4141
steps:
4242
- name: Configure git
@@ -50,7 +50,7 @@ jobs:
5050
run: sudo apt-get update; sudo apt-get install -y --no-install-recommends libcurl4-nss-dev libsasl2-dev libxslt1-dev
5151

5252
- name: Install Ruby ${{ matrix.ruby-version }}
53-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
53+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
5454
with:
5555
ruby-version: ${{ matrix.ruby-version }}
5656

@@ -84,7 +84,7 @@ jobs:
8484
"3.3.5": {
8585
"rails": "norails,rails61,rails70,rails71,rails72,railsedge"
8686
},
87-
"3.4.0-preview1": {
87+
"3.4.0-preview2": {
8888
"rails": "norails,rails61,rails70,rails71,rails72"
8989
}
9090
}
@@ -229,8 +229,8 @@ jobs:
229229
strategy:
230230
fail-fast: false
231231
matrix:
232-
multiverse: [agent, ai, background, background_2, database, frameworks, httpclients, httpclients_2, rails, rest]
233-
ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.6, 3.2.5, 3.3.5, 3.4.0-preview1]
232+
multiverse: [agent, ai, background, background_2, database, kafka, frameworks, httpclients, httpclients_2, rails, rest]
233+
ruby-version: [2.4.10, 2.5.9, 2.6.10, 2.7.8, 3.0.7, 3.1.6, 3.2.5, 3.3.5, 3.4.0-preview2]
234234
steps:
235235
- name: Configure git
236236
run: 'git config --global init.defaultBranch main'
@@ -243,7 +243,7 @@ jobs:
243243
run: sudo apt-get update; sudo apt-get install -y --no-install-recommends libcurl4-nss-dev libsasl2-dev libxslt1-dev
244244

245245
- name: Install Ruby ${{ matrix.ruby-version }}
246-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
246+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
247247
with:
248248
ruby-version: ${{ matrix.ruby-version }}
249249

@@ -308,14 +308,14 @@ jobs:
308308
strategy:
309309
fail-fast: false
310310
matrix:
311-
ruby-version: [2.7.8, 3.0.7, 3.1.6, 3.2.5, 3.3.5, 3.4.0-preview1]
311+
ruby-version: [2.7.8, 3.0.7, 3.1.6, 3.2.5, 3.3.5, 3.4.0-preview2]
312312
steps:
313313
- name: Configure git
314314
run: 'git config --global init.defaultBranch main'
315315
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
316316

317317
- name: Install Ruby ${{ matrix.ruby-version }}
318-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
318+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
319319
with:
320320
ruby-version: ${{ matrix.ruby-version }}
321321

.github/workflows/ci_jruby.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
1717

1818
- name: Install JRuby
19-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
19+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
2020
with:
2121
ruby-version: jruby-9.4.8.0
2222

@@ -49,7 +49,7 @@ jobs:
4949
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
5050

5151
- name: Install JRuby
52-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
52+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
5353
with:
5454
ruby-version: jruby-9.4.8.0
5555

.github/workflows/ci_special.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ jobs:
2020
- name: Install OS packages
2121
run: sudo apt-get update; sudo apt-get install -y --no-install-recommends libcurl4-nss-dev libsasl2-dev libxslt1-dev
2222

23-
- name: Install Ruby 3.4.0-preview1
24-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
23+
- name: Install Ruby 3.4.0-preview2
24+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
2525
with:
26-
ruby-version: 3.4.0-preview1
26+
ruby-version: 3.4.0-preview2
2727

2828
- name: Setup bundler
2929
run: ./.github/workflows/scripts/setup_bundler
3030
env:
31-
RUBY_VERSION: 3.4.0-preview1
31+
RUBY_VERSION: 3.4.0-preview2
3232

3333
- name: Run Unit Tests
3434
uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # tag v3.0.0

.github/workflows/config_docs.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
pull-requests: write
1616
steps:
1717
- name: Install Ruby 3.3
18-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
18+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
1919
with:
2020
ruby-version: 3.3
2121

.github/workflows/performance_tests.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
3434
with:
3535
ref: 'main'
36-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
36+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
3737
with:
3838
ruby-version: '3.3'
3939
- run: bundle

.github/workflows/prerelease.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
pull-requests: write
1212
steps:
1313
- name: Install Ruby 3.3
14-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
14+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
1515
with:
1616
ruby-version: 3.3
1717

.github/workflows/release.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
with:
1717
fetch-depth: 0
1818

19-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
19+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
2020
with:
2121
ruby-version: 3.3
2222

.github/workflows/release_notes.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
contents: write
1414
pull-requests: write
1515
steps:
16-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
16+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
1717
with:
1818
ruby-version: 3.3
1919
- name: Checkout code

.github/workflows/release_pr.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
pull-requests: write
1515
steps:
1616
- name: Install Ruby 3.3
17-
uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
17+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
1818
with:
1919
ruby-version: 3.3
2020

.github/workflows/security.yml

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Security scan
2+
on:
3+
push:
4+
branches:
5+
- main
6+
- dev
7+
pull_request:
8+
schedule:
9+
- cron: '0 9 * * *' # Same time as CI Cron
10+
11+
jobs:
12+
build:
13+
name: Trivy Scan
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Install Ruby 3.3
17+
uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
18+
with:
19+
ruby-version: 3.3
20+
21+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
22+
23+
- run: bundle # Generate a Gemfile.lock to scan
24+
25+
- name: Run Trivy in table mode
26+
# Table output is only useful when running on a pull request or push.
27+
if: contains(fromJSON('["push", "pull_request"]'), github.event_name)
28+
uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 # tag v.0.28.0
29+
with:
30+
scan-type: fs
31+
format: table
32+
exit-code: 1
33+
ignore-unfixed: true
34+
severity: CRITICAL,HIGH,MEDIUM,LOW
35+
36+
- name: Run Trivy in report mode
37+
# Only generate sarif when running nightly on the dev branch.
38+
if: ${{ github.event_name == 'schedule' }}
39+
uses: aquasecurity/trivy-action@915b19bbe73b92a6cf82a1bc12b087c9a19a5fe2 # tag v.0.28.0
40+
with:
41+
scan-type: fs
42+
format: sarif
43+
output: trivy-results.sarif
44+
ignore-unfixed: true
45+
severity: 'CRITICAL,HIGH,MEDIUM,LOW'
46+
47+
- name: Upload Trivy scan results to GitHub Security tab
48+
# Only upload sarif when running nightly on the dev branch.
49+
if: ${{ github.event_name == 'schedule' }}
50+
uses: github/codeql-action/upload-sarif@662472033e021d55d94146f66f6058822b0b39fd # tag v3.27.0
51+
with:
52+
sarif_file: trivy-results.sarif
53+
54+
notify_slack_fail:
55+
name: Notify slack fail
56+
needs: [build]
57+
runs-on: ubuntu-22.04
58+
if: ${{ github.event_name == 'schedule' && failure() }}
59+
steps:
60+
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
61+
- uses: ./.github/actions/workflow-conclusion
62+
- uses: voxmedia/github-action-slack-notify-build@3665186a8c1a022b28a1dbe0954e73aa9081ea9e # tag v1.6.0
63+
if: ${{ env.WORKFLOW_CONCLUSION == 'failure' }}
64+
env:
65+
SLACK_BOT_TOKEN: ${{ secrets.RUBY_GITHUB_ACTIONS_BOT_WEBHOOK }}
66+
with:
67+
channel: ruby-agent-notifications
68+
status: FAILED
69+
color: danger

.github/workflows/slack_notifications.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ jobs:
88
gem_notifications:
99
runs-on: ubuntu-22.04
1010
steps:
11-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
11+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
1212
with:
1313
ruby-version: 3.3
1414
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7
@@ -47,7 +47,7 @@ jobs:
4747
cve_notifications:
4848
runs-on: ubuntu-22.04
4949
steps:
50-
- uses: ruby/setup-ruby@52753b7da854d5c07df37391a986c76ab4615999 # tag v1.191.0
50+
- uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # tag v1.196.0
5151
with:
5252
ruby-version: 3.3
5353
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # tag v4.1.7

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ lib/new_relic/build.rb
2626
.tm_properties
2727
.bundle
2828
.yardoc
29+
.vscode/
2930
artifacts/
3031
test/performance/log/
3132
test/performance/script/log/

CHANGELOG.md

+32-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,36 @@
11
# New Relic Ruby Agent Release Notes
22

3+
## v9.15.0
4+
5+
Version 9.15.0 updates View Componment instrumentation to use a default metric name when one is unavailable, adds a configuration option to associate the AWS account ID with the DynamoDB calls from the AWS SDK, resolves a bug in rdkafka instrumentation when using the karafka-rdkafka gem, resolves a bug in the ruby-kafka instrumentation, fixes a bug with Grape instrumentation, and addresses a bug preventing the agent from running in serverless mode in an AWS Lambda layer.
6+
7+
- **Feature: New configuration option cloud.aws.account_id**
8+
9+
A new configuration option has been added, `cloud.aws.account_id`, that will allow New Relic to provide more details about certain calls made using the AWS SDK. One example, is that relationships between AWS services instrumented with New Relic's CloudWatch Metric Streams will have relationships formed in the service map with APM applications. Currently, the DynamoDB instrumentation is the only instrumentation that will make use of this configuration option, but this will be used in future instrumentation as well. [PR#2904](https://github.com/newrelic/newrelic-ruby-agent/pull/2904)
10+
11+
- **Feature: Use default `View/component` metric name for unidentified View Components**
12+
13+
Previously, when a View Component metric name could not be identified, the agent would set the name as `nil`. Now, the agent defaults to using `View/component` as the metric name when one can not be identified. [PR#2907](https://github.com/newrelic/newrelic-ruby-agent/pull/2907)
14+
15+
- **Bugfix: Instrumentation errors when using the karafka-rdkafka gem**
16+
17+
Due to version differences between the rdkafka gem and karafka-rdkafka gem, the agent could encounter an error when it tried to install rdkafka instrumentation. This has now been resolved. Thank you to @krisdigital for bringing this issue to our attention. [PR#2880](https://github.com/newrelic/newrelic-ruby-agent/pull/2880)
18+
19+
- **Bugfix: Stop calling deprecated all_specs method to check for the presence of newrelic-grape**
20+
21+
In 9.14.0, we released a fix for calls to the deprecated `Bundler.rubygems.all_specs`, but the fix fell short for the agent's Grape instrumentation and deprecation warnings could still be raised. The condition has been simplified and deprecation warnings should no longer be raised. Thank you, [@excelsior](https://github.com/excelsior) for bringing this to our attention. [Issue#2885](https://github.com/newrelic/newrelic-ruby-agent/issues/2885) [PR#2906](https://github.com/newrelic/newrelic-ruby-agent/pull/2906)
22+
23+
- **Bugfix: Instrumentation errors when using the ruby-kafka gem**
24+
25+
Kafka::Consumer#each_message takes keyword arguments, while the prepended method is defined with a single splat positional argument. In Ruby >= 3.0, this signature mismatch raises an ArgumentError. Thank you [@patrickarnett](https://github.com/patrickarnett) for providing this bugfix. [PR#2915](https://github.com/newrelic/newrelic-ruby-agent/pull/2915)
26+
27+
- **Bugfix: Restore AWS Lambda layer operational functionality**
28+
29+
Version 9.14.0 of the agent introduced an optimization related to how the agent handles boolean configuration parameters which inadvertently caused the agent to stop operating properly in an AWS Lambda layer context. [Issue#2919](https://github.com/newrelic/newrelic-ruby-agent/issues/2919)[PR#2920](https://github.com/newrelic/newrelic-ruby-agent/pull/2920)
30+
331
## v9.14.0
432

5-
Version 9.14.0 adds Apache Kafka instrumentation for the rdkafka and ruby-kafka gems, introduces a configuration-based, automatic way to add custom instrumentation method tracers, correctly captures MIME type for AcionDispatch 7.0+ requests, properly handles Boolean coercion for `newrelic.yml` configuration, fixes a JRuby bug in the configuration manager, fixes a bug related to `Bundler.rubygems.installed_specs`, and fixes a bug to make the agent compatible with ViewComponent v3.15.0+.
33+
Version 9.14.0 adds Apache Kafka instrumentation for the rdkafka and ruby-kafka gems, introduces a configuration-based, automatic way to add custom instrumentation method tracers, correctly captures MIME type for ActionDispatch 7.0+ requests, properly handles Boolean coercion for `newrelic.yml` configuration, fixes a JRuby bug in the configuration manager, fixes a bug related to `Bundler.rubygems.installed_specs`, and fixes a bug to make the agent compatible with ViewComponent v3.15.0+.
634

735
- **Feature: Add Apache Kafka instrumentation for the rdkafka and ruby-kafka gems**
836

@@ -42,21 +70,21 @@ Version 9.14.0 adds Apache Kafka instrumentation for the rdkafka and ruby-kafka
4270
- MyCompany::User.notify
4371
```
4472

45-
That configuration example uses YAML array syntax to specify both methods. Alternatively, a comma-delimited string can be used instead:
73+
That configuration example uses YAML array syntax to specify both methods. Alternatively, you can use a comma-delimited string:
4674

4775
```
4876
automatic_custom_instrumentation_method_list: 'MyCompany::Image#render_png, MyCompany::User.notify'
4977
```
5078

51-
Whitespace around the comma(s) in the list is optional. When configuring the agent with a list of methods via the `NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST` environment variable, this comma-delimited string format should be used:
79+
Whitespace around the comma(s) in the list is optional. When configuring the agent with a list of methods via the `NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST` environment variable, use this comma-delimited string format:
5280

5381
```
5482
export NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST='MyCompany::Image#render_png, MyCompany::User.notify'
5583
```
5684

5785
[PR#2851](https://github.com/newrelic/newrelic-ruby-agent/pull/2851)
5886

59-
- **Feature: Collect just MIME type for AcionDispatch 7.0+ requests**
87+
- **Feature: Collect just MIME type for ActionDispatch 7.0+ requests**
6088

6189
Rails 7.0 [introduced changes](https://guides.rubyonrails.org/upgrading_ruby_on_rails.html#actiondispatch-request-content-type-now-returns-content-type-header-as-it-is) to the behavior of `ActionDispatch::Request#content_type`, adding extra request-related details the agent wasn't expecting to collect. Additionally, the agent's use of `content_type ` was triggering deprecation warnings. The agent now uses `ActionDispatch::Request#media_type` to capture the MIME type. Thanks to [@internethostage](https://github.com/internethostage) for letting us know about this change. [Issue#2500](https://github.com/newrelic/newrelic-ruby-agent/issues/2500) [PR#2855](https://github.com/newrelic/newrelic-ruby-agent/pull/2855)
6290

0 commit comments

Comments
 (0)