Skip to content

Commit ef4da04

Browse files
authored
Merge pull request #210 from Shopify/fix/drop-legacy-ruby
Require Ruby 3.2.1+
2 parents 77fb8d7 + b7e85f6 commit ef4da04

8 files changed

Lines changed: 27 additions & 33 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,17 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
ruby:
13-
- version: "2.7"
14-
gemfile: Gemfile.legacy-rubies
15-
- version: "3.0"
16-
gemfile: Gemfile.legacy-rubies
17-
- version: "3.1"
18-
gemfile: Gemfile.legacy-rubies
19-
- version: "3.2"
20-
gemfile: Gemfile
21-
- version: "3.3"
22-
gemfile: Gemfile
23-
env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps
24-
BUNDLE_GEMFILE: ${{ matrix.ruby.gemfile }}
13+
- "3.2"
14+
- "3.3"
15+
- "3.4"
2516
steps:
2617
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
27-
- name: Set up Ruby ${{ matrix.ruby.version }}
18+
- name: Set up Ruby ${{ matrix.ruby }}
2819
uses: ruby/setup-ruby@09a7688d3b55cf0e976497ff046b70949eeaccfd # v1.288.0
2920
with:
30-
ruby-version: ${{ matrix.ruby.version }}
21+
ruby-version: ${{ matrix.ruby }}
3122
bundler-cache: true
32-
- name: Test on ${{ matrix.ruby.version }}
23+
- name: Test on ${{ matrix.ruby }}
3324
run: |
3425
bundle exec rake
3526
lint:

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [0.6.0] - 2026-04-28
8+
9+
- Require Ruby 3.2.1 or newer (#210)
10+
- Remove the legacy Ruby CI bundle and test Ruby 3.2, 3.3, and 3.4 (#210)
11+
712
## [0.5.1] - 2026-04-28
813

914
- Support Vernier metadata (#165)

Gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ gemspec
66
# Specify the same dependency sources as the application Gemfile
77
gem("activesupport", "~> 5.2")
88
gem("railties", "~> 5.2")
9-
gem("vernier", "~> 1.7.0") if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.2.1")
9+
gem("vernier", "~> 1.7.0")
1010

1111
gem("google-cloud-storage", "~> 1.21")
1212
gem("rubocop", require: false)

Gemfile.legacy-rubies

Lines changed: 0 additions & 13 deletions
This file was deleted.

Gemfile.lock

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
PATH
22
remote: .
33
specs:
4-
app_profiler (0.5.1)
4+
app_profiler (0.6.0)
55
activesupport (>= 5.2)
6+
base64
7+
bigdecimal
8+
mutex_m
69
rack
710
stackprof (~> 0.2)
811

@@ -30,6 +33,8 @@ GEM
3033
addressable (2.8.0)
3134
public_suffix (>= 2.0.2, < 5.0)
3235
ast (2.4.2)
36+
base64 (0.3.0)
37+
bigdecimal (4.1.2)
3338
builder (3.2.4)
3439
concurrent-ruby (1.1.6)
3540
crass (1.0.6)
@@ -125,6 +130,7 @@ GEM
125130
mocha (1.11.2)
126131
multi_json (1.15.0)
127132
multipart-post (2.1.1)
133+
mutex_m (0.3.0)
128134
nokogiri (1.15.6)
129135
mini_portile2 (~> 2.8.2)
130136
racc (~> 1.4)

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ Profiling is critical to providing an understanding of an application's performa
88

99
To install `app_profiler` you need to include it in your `Gemfile`.
1010

11+
`app_profiler` requires Ruby 3.2.1 or newer.
12+
1113
## Profiling middleware
1214

1315
### Configuration
@@ -90,7 +92,7 @@ Rails.application.config.app_profiler.profile_param = "x_profile"
9092
| ignore_gc | Ignore garbage collection frames | |
9193
| autoredirect | Redirect request automatically to Speedscope's page after profiling. | |
9294
| context | Directory within the specified bucket in the selected storage where raw profile data should be written. | Only supported in (2). Defaults to `Rails.env` if not specified. |
93-
| backend | Profiler to use, either `stackprof` or `vernier`. Defaults to `stackprof`. Note that Vernier requires Ruby 3.2.1+. |
95+
| backend | Profiler to use, either `stackprof` or `vernier`. Defaults to `stackprof`. |
9496

9597

9698
Note that the `autoredirect` feature can be turned on for all requests by doing the following:

app_profiler.gemspec

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,14 @@ Gem::Specification.new do |spec|
2222

2323
spec.files = Dir["lib/**/*.rb"]
2424
spec.require_paths = ["lib"]
25-
spec.required_ruby_version = ">= 2.7"
25+
spec.required_ruby_version = ">= 3.2.1"
2626

2727
spec.metadata["allowed_push_host"] = "https://rubygems.org"
2828

2929
spec.add_dependency("activesupport", ">= 5.2")
30+
spec.add_dependency("base64")
31+
spec.add_dependency("bigdecimal")
32+
spec.add_dependency("mutex_m")
3033
spec.add_dependency("rack")
3134
spec.add_dependency("stackprof", "~> 0.2")
3235

lib/app_profiler/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module AppProfiler
4-
VERSION = "0.5.1"
4+
VERSION = "0.6.0"
55
end

0 commit comments

Comments
 (0)