Skip to content

Commit 7691034

Browse files
committed
Update README and gemspec description
* Reword the description in README for more clarity. * Add a compatibility matrix of our stable branches and explain the maintenance policy. * Remove the obsolete paragraph for how to use the gem in Ruby 2.3, which is no longer supported.
1 parent 0dda88d commit 7691034

File tree

2 files changed

+38
-21
lines changed

2 files changed

+38
-21
lines changed

README.md

Lines changed: 36 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,53 @@
22

33
[![Actions Status](https://github.com/ruby/openssl/workflows/CI/badge.svg)](https://github.com/ruby/openssl/actions?workflow=CI)
44

5+
**OpenSSL for Ruby** provides access to SSL/TLS and general-purpose
6+
cryptography based on the OpenSSL library.
57

6-
OpenSSL provides SSL, TLS and general purpose cryptography. It wraps the
7-
OpenSSL library.
8+
OpenSSL for Ruby is sometimes referred to as **openssl** in all lowercase
9+
or **Ruby/OpenSSL** for disambiguation.
10+
11+
## Compatibility and maintenance policy
12+
13+
OpenSSL for Ruby is released as a RubyGems gem. At the same time, it is part of
14+
the standard library of Ruby. This is called a [default gem].
15+
16+
Each stable branch of OpenSSL for Ruby will remain supported as long as it is
17+
included as a default gem in [supported Ruby branches][Ruby Maintenance Branches].
18+
19+
|Version|Maintenance status |Ruby compatibility|OpenSSL compatibility |
20+
|-------|-------------------------------|------------------|--------------------------------------------|
21+
|3.2.x |normal maintenance (Ruby 3.3) |Ruby 2.7+ |OpenSSL 1.0.2-3.1 (current) or LibreSSL 3.1+|
22+
|3.1.x |normal maintenance (Ruby 3.2) |Ruby 2.6+ |OpenSSL 1.0.2-3.1 (current) or LibreSSL 3.1+|
23+
|3.0.x |normal maintenance (Ruby 3.1) |Ruby 2.6+ |OpenSSL 1.0.2-3.1 (current) or LibreSSL 3.1+|
24+
|2.2.x |security maintenance (Ruby 3.0)|Ruby 2.3+ |OpenSSL 1.0.1-1.1.1 or LibreSSL 2.9+ |
25+
|2.1.x |end-of-life (Ruby 2.5-2.7) |Ruby 2.3+ |OpenSSL 1.0.1-1.1.1 or LibreSSL 2.5+ |
26+
|2.0.x |end-of-life (Ruby 2.4) |Ruby 2.3+ |OpenSSL 0.9.8-1.1.1 or LibreSSL 2.3+ |
27+
28+
[default gem]: https://docs.ruby-lang.org/en/master/standard_library_rdoc.html
29+
[Ruby Maintenance Branches]: https://www.ruby-lang.org/en/downloads/branches/
830

931
## Installation
1032

11-
The openssl gem is available at [rubygems.org](https://rubygems.org/gems/openssl).
12-
You can install with:
33+
> **Note**
34+
> The openssl gem is included with Ruby by default, but you may wish to upgrade
35+
> it to a newer version available at
36+
> [rubygems.org](https://rubygems.org/gems/openssl).
37+
38+
To upgrade it, you can use RubyGems:
1339

1440
```
1541
gem install openssl
1642
```
1743

18-
You may need to specify the path where OpenSSL is installed.
44+
In some cases, it may be necessary to specify the path to the installation
45+
directory of the OpenSSL library.
1946

2047
```
2148
gem install openssl -- --with-openssl-dir=/opt/openssl
2249
```
2350

24-
Alternatively, you can install the gem with `bundler`:
51+
Alternatively, you can install the gem with Bundler:
2552

2653
```ruby
2754
# Gemfile
@@ -30,7 +57,7 @@ gem 'openssl'
3057
gem 'openssl', git: 'https://github.com/ruby/openssl'
3158
```
3259

33-
After doing `bundle install`, you should have the gem installed in your bundle.
60+
After running `bundle install`, you should have the gem installed in your bundle.
3461

3562
## Usage
3663

@@ -40,15 +67,6 @@ Once installed, you can require "openssl" in your application.
4067
require "openssl"
4168
```
4269

43-
**NOTE**: If you are using Ruby 2.3 (and not Bundler), you **must** activate
44-
the gem version of openssl, otherwise the default gem packaged with the Ruby
45-
installation will be used:
46-
47-
```ruby
48-
gem "openssl"
49-
require "openssl"
50-
```
51-
5270
## Documentation
5371

5472
See https://ruby.github.io/openssl/.
@@ -57,10 +75,9 @@ See https://ruby.github.io/openssl/.
5775

5876
Please read our [CONTRIBUTING.md] for instructions.
5977

78+
[CONTRIBUTING.md]: https://github.com/ruby/openssl/tree/master/CONTRIBUTING.md
79+
6080
## Security
6181

6282
Security issues should be reported to ruby-core by following the process
6383
described on ["Security at ruby-lang.org"](https://www.ruby-lang.org/en/security/).
64-
65-
66-
[CONTRIBUTING.md]: https://github.com/ruby/openssl/tree/master/CONTRIBUTING.md

openssl.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ Gem::Specification.new do |spec|
33
spec.version = "3.1.0"
44
spec.authors = ["Martin Bosslet", "SHIBATA Hiroshi", "Zachary Scott", "Kazuki Yamaguchi"]
55
spec.email = ["[email protected]"]
6-
spec.summary = %q{OpenSSL provides SSL, TLS and general purpose cryptography.}
7-
spec.description = %q{It wraps the OpenSSL library.}
6+
spec.summary = %q{SSL/TLS and general-purpose cryptography for Ruby}
7+
spec.description = %q{OpenSSL for Ruby provides access to SSL/TLS and general-purpose cryptography based on the OpenSSL library.}
88
spec.homepage = "https://github.com/ruby/openssl"
99
spec.license = "Ruby"
1010

0 commit comments

Comments
 (0)