Skip to content

Commit e5153db

Browse files
committed
Ruby/OpenSSL 3.3.0
1 parent a6947fe commit e5153db

File tree

4 files changed

+82
-5
lines changed

4 files changed

+82
-5
lines changed

History.md

+76
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,79 @@
1+
Version 3.3.0
2+
=============
3+
4+
Compatibility
5+
-------------
6+
7+
* Ruby version: 2.7 or later
8+
* OpenSSL version: OpenSSL 1.0.2 or later, and LibreSSL 3.1 or later
9+
10+
Notable changes
11+
---------------
12+
13+
* `OpenSSL::SSL`
14+
- `OpenSSL::SSL::SSLSocket#set_params` no longer sets `#min_version=` to TLS
15+
1.0 except when OpenSSL 1.0.2 is used. This has been done to disable
16+
SSL 3.0, which is not supported by default in OpenSSL 1.1.0 or later, or in
17+
LibreSSL. This lets it respect the system default if the system-wide
18+
configuration file specifies a higher minimum protocol version.
19+
[[GitHub #710]](https://github.com/ruby/openssl/pull/710)
20+
- `OpenSSL::SSL::SSLSocket.new` no longer enables the `OpenSSL::SSL::OP_ALL`
21+
SSL options by default and follows the system default.
22+
[[GitHub #767]](https://github.com/ruby/openssl/pull/767)
23+
- Add the following IO methods to `OpenSSL::SSL::SSLSocket`, which will pass
24+
along to the underlying socket: `#local_address`, `#remote_address`,
25+
`#close_on_exec=`, `#close_on_exec?`, `#wait`, `#wait_readable`, and
26+
`#wait_writable`.
27+
[[GitHub #708]](https://github.com/ruby/openssl/pull/708)
28+
- Update `OpenSSL::SSL::SSLSocket#gets` to take the `chomp` keyword argument.
29+
[[GitHub #708]](https://github.com/ruby/openssl/pull/708)
30+
- Make `OpenSSL::SSL::SSLSocket` respect the `IO#timeout` value of the
31+
underlying socket on Ruby 3.2 or later. `#timeout` and `#timeout=` methods
32+
are also added.
33+
[[GitHub #714]](https://github.com/ruby/openssl/pull/714)
34+
- Add `OpenSSL::SSL::SSLSocket#close_read` and `#close_write`.
35+
[[GitHub #743]](https://github.com/ruby/openssl/pull/743)
36+
- Add `OpenSSL::Digest.digests` to get a list of all available digest
37+
algorithms.
38+
[[GitHub #726]](https://github.com/ruby/openssl/pull/726)
39+
- Fix `OpenSSL::SSL::SSLSocket#read_nonblock` clearing the passed String
40+
buffer when nothing can be read from the connection.
41+
[[GitHub #739]](https://github.com/ruby/openssl/pull/739)
42+
* Add `#to_text` methods to `OpenSSL::Timestamp::Response`,
43+
`OpenSSL::Timestamp::Request`, `OpenSSL::Timestamp::TokenInfo`, and
44+
`OpenSSL::PKCS7` to get a human-readable representation of the object.
45+
[[GitHub #756]](https://github.com/ruby/openssl/pull/756)
46+
* Add `OpenSSL::X509::Certificate#tbs_bytes` to get the DER encoding of the
47+
TBSCertificate.
48+
[[GitHub #753]](https://github.com/ruby/openssl/pull/753)
49+
* Allow passing `nil` as the digest algorithm to `#sign` methods on
50+
`OpenSSL::X509::Certificate`, `OpenSSL::X509::Request`, and
51+
`OpenSSL::X509::CRL`. This adds supports for signing with EdDSA keys.
52+
[[GitHub #761]](https://github.com/ruby/openssl/pull/761)
53+
[[GitHub #804]](https://github.com/ruby/openssl/pull/804)
54+
* Add `OpenSSL::SSL::SSLSocket#readbyte`.
55+
[[GitHub #771]](https://github.com/ruby/openssl/pull/771)
56+
* Change `OpenSSL::X509::Store#time=` to set the time to the `X509_VERIFY_PARAM`
57+
in the `X509_STORE`. This allows `OpenSSL::Timestamp::Response#verify` to
58+
verify a signature with the specified timestamp.
59+
[[GitHub #770]](https://github.com/ruby/openssl/pull/770)
60+
* Make `OpenSSL::PKCS7.encrypt`'s third parameter `cipher` mandatory. It had
61+
an undocumented default value "RC2-40-CBC", which is not only insecure, but
62+
also not supported in OpenSSL 3.0 or later.
63+
[[GitHub #796]](https://github.com/ruby/openssl/pull/796)
64+
* Make `OpenSSL::BN` shareable between ractors when frozen.
65+
[[GitHub #808]](https://github.com/ruby/openssl/pull/808)
66+
* Make `OpenSSL::Config` instances frozen by default, and make it shareable
67+
between ractors. `OpenSSL::Config::DEFAULT_CONFIG_FILE` is also frozen.
68+
[[GitHub #809]](https://github.com/ruby/openssl/pull/809)
69+
* Add `OpenSSL::PKCS12#set_mac` to configure the MAC parameters and recalculate
70+
a MAC for the content.
71+
[[GitHub #788]](https://github.com/ruby/openssl/pull/788)
72+
73+
And various non-user-visible changes and bug fixes. Please see the commit
74+
history for more details.
75+
76+
177
Version 3.2.1
278
=============
379

README.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,10 @@ included as a default gem in [supported Ruby branches][Ruby Maintenance Branches
1818

1919
|Version|Maintenance status |Ruby compatibility|OpenSSL compatibility |
2020
|-------|-------------------------------|------------------|--------------------------------------------|
21-
|3.2.x |normal maintenance (Ruby 3.3) |Ruby 2.7+ |OpenSSL 1.0.2-3.3 (current) or LibreSSL 3.1+|
22-
|3.1.x |normal maintenance (Ruby 3.2) |Ruby 2.6+ |OpenSSL 1.0.2-3.3 (current) or LibreSSL 3.1+|
23-
|3.0.x |security maintenance (Ruby 3.1)|Ruby 2.6+ |OpenSSL 1.0.2-3.3 (current) or LibreSSL 3.1+|
21+
|3.3.x |normal maintenance (Ruby 3.4) |Ruby 2.7+ |OpenSSL 1.0.2-3.4 (current) or LibreSSL 3.1+|
22+
|3.2.x |normal maintenance (Ruby 3.3) |Ruby 2.7+ |OpenSSL 1.0.2-3.4 (current) or LibreSSL 3.1+|
23+
|3.1.x |normal maintenance (Ruby 3.2) |Ruby 2.6+ |OpenSSL 1.0.2-3.4 (current) or LibreSSL 3.1+|
24+
|3.0.x |security maintenance (Ruby 3.1)|Ruby 2.6+ |OpenSSL 1.0.2-3.4 (current) or LibreSSL 3.1+|
2425
|2.2.x |end-of-life (Ruby 3.0) |Ruby 2.3+ |OpenSSL 1.0.1-1.1.1 or LibreSSL 2.9+ |
2526
|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+ |
2627
|2.0.x |end-of-life (Ruby 2.4) |Ruby 2.3+ |OpenSSL 0.9.8-1.1.1 or LibreSSL 2.3+ |

lib/openssl/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module OpenSSL
4-
VERSION = "3.2.1"
4+
VERSION = "3.3.0"
55
end

openssl.gemspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Gem::Specification.new do |spec|
22
spec.name = "openssl"
3-
spec.version = "3.2.1"
3+
spec.version = "3.3.0"
44
spec.authors = ["Martin Bosslet", "SHIBATA Hiroshi", "Zachary Scott", "Kazuki Yamaguchi"]
55
spec.email = ["[email protected]"]
66
spec.summary = %q{SSL/TLS and general-purpose cryptography for Ruby}

0 commit comments

Comments
 (0)