Skip to content

Commit e623bb2

Browse files
committed
Bump minor version.
1 parent 0a9af3e commit e623bb2

File tree

3 files changed

+96
-99
lines changed

3 files changed

+96
-99
lines changed

lib/protocol/http2/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77
module Protocol
88
# @namespace
99
module HTTP2
10-
VERSION = "0.23.0"
10+
VERSION = "0.24.0"
1111
end
1212
end

readme.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ Please see the [project documentation](https://socketry.github.io/protocol-http2
1414

1515
Please see the [project releases](https://socketry.github.io/protocol-http2/releases/index) for all releases.
1616

17+
### v0.24.0
18+
19+
- When closing a connection with active streams, if an error is not provided, it will default to `EOFError` so that streams propagate the closure correctly.
20+
1721
### v0.23.0
1822

1923
- Introduce a limit to the number of CONTINUATION frames that can be read to prevent resource exhaustion. The default limit is 8 continuation frames, which means a total of 9 frames (1 initial + 8 continuation). This limit can be adjusted by passing a different value to the `limit` parameter in the `Continued.read` method. Setting the limit to 0 will only read the initial frame without any continuation frames. In order to change the default, you can redefine the `LIMIT` constant in the `Protocol::HTTP2::Continued` module, OR you can pass a different frame class to the framer.
@@ -58,13 +62,6 @@ Please see the [project releases](https://socketry.github.io/protocol-http2/rele
5862
- Performance improvements for synchronized output handling.
5963
- Extracted `window.rb` into separate module for better organization.
6064

61-
### v0.19.0
62-
63-
- Removed unused `opened` hook that was never utilized.
64-
- Improved ASCII art diagram in documentation.
65-
- Modernized gem structure and dependencies.
66-
- Moved test fixtures into proper namespace organization.
67-
6865
## See Also
6966

7067
- [Async::HTTP](https://github.com/socketry/async-http) - A high-level HTTP client and server implementation.

releases.md

Lines changed: 91 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Releases
22

3-
## Unreleased
3+
## v0.24.0
44

55
- When closing a connection with active streams, if an error is not provided, it will default to `EOFError` so that streams propagate the closure correctly.
66

@@ -24,171 +24,171 @@ Optional per-request priority can be set using the `priority` header instead, an
2424

2525
## v0.21.0
2626

27-
- **Breaking**: Removed support for priority frame and stream dependencies. The `Protocol::HTTP2::Stream` class no longer tracks dependencies, and `Stream#send_headers` no longer takes `priority` as the first argument. This change simplifies the internal implementation significantly as HTTP/2 priority frames have been deprecated in the protocol specification.
27+
- **Breaking**: Removed support for priority frame and stream dependencies. The `Protocol::HTTP2::Stream` class no longer tracks dependencies, and `Stream#send_headers` no longer takes `priority` as the first argument. This change simplifies the internal implementation significantly as HTTP/2 priority frames have been deprecated in the protocol specification.
2828

2929
## v0.20.0
3030

31-
- Improved performance of dependency management by avoiding linear search operations.
32-
- Removed `traces` as a required dependency - it's now optional and only used when explicitly needed.
33-
- Added better documentation for `maximum_concurrent_streams` setting.
34-
- Restored 100% test coverage and exposed trace provider for optional tracing support.
31+
- Improved performance of dependency management by avoiding linear search operations.
32+
- Removed `traces` as a required dependency - it's now optional and only used when explicitly needed.
33+
- Added better documentation for `maximum_concurrent_streams` setting.
34+
- Restored 100% test coverage and exposed trace provider for optional tracing support.
3535

3636
## v0.19.4
3737

38-
- Reduced the number of window update frames sent to improve network efficiency.
38+
- Reduced the number of window update frames sent to improve network efficiency.
3939

4040
## v0.19.3
4141

42-
- Improved window update frame handling and performance optimizations.
43-
- Better implementation of `Window#inspect` for debugging.
42+
- Improved window update frame handling and performance optimizations.
43+
- Better implementation of `Window#inspect` for debugging.
4444

4545
## v0.19.2
4646

47-
- Added traces to framer for better debugging and monitoring capabilities.
48-
- Minor fixes to logging output.
47+
- Added traces to framer for better debugging and monitoring capabilities.
48+
- Minor fixes to logging output.
4949

5050
## v0.19.1
5151

52-
- Performance improvements for synchronized output handling.
53-
- Extracted `window.rb` into separate module for better organization.
52+
- Performance improvements for synchronized output handling.
53+
- Extracted `window.rb` into separate module for better organization.
5454

5555
## v0.19.0
5656

57-
- Removed unused `opened` hook that was never utilized.
58-
- Improved ASCII art diagram in documentation.
59-
- Modernized gem structure and dependencies.
60-
- Moved test fixtures into proper namespace organization.
57+
- Removed unused `opened` hook that was never utilized.
58+
- Improved ASCII art diagram in documentation.
59+
- Modernized gem structure and dependencies.
60+
- Moved test fixtures into proper namespace organization.
6161

6262
## v0.18.0
6363

64-
- Fixed `maximum_connection_streams` reference to use `@remote_settings`.
65-
- Modernized gem structure and dependencies.
66-
- Improved flush synchronization - `#flush` is already synchronized.
64+
- Fixed `maximum_connection_streams` reference to use `@remote_settings`.
65+
- Modernized gem structure and dependencies.
66+
- Improved flush synchronization - `#flush` is already synchronized.
6767

6868
## v0.17.0
6969

70-
- Exposed synchronize flush functionality for better concurrency control.
71-
- Improved single line responsibility in code structure.
72-
- Enhanced error handling - fail in `Connection#write_frames` if `@framer` is `nil`.
73-
- Fixed broken test cases.
70+
- Exposed synchronize flush functionality for better concurrency control.
71+
- Improved single line responsibility in code structure.
72+
- Enhanced error handling - fail in `Connection#write_frames` if `@framer` is `nil`.
73+
- Fixed broken test cases.
7474

7575
## v0.16.0
7676

77-
- Removed unused `bake-github-pages` gem dependency.
78-
- Modernized gem structure and build process.
79-
- Updated development dependencies and workflows.
77+
- Removed unused `bake-github-pages` gem dependency.
78+
- Modernized gem structure and build process.
79+
- Updated development dependencies and workflows.
8080

8181
## v0.15.0
8282

83-
- Achieved 100% test coverage with comprehensive test improvements.
84-
- Fixed multiple minor bugs discovered through enhanced testing.
85-
- Modernized gem structure and development workflow.
86-
- Improved maximum concurrent stream handling - now defined only by local settings.
87-
- Added missing require statements in version tests.
83+
- Achieved 100% test coverage with comprehensive test improvements.
84+
- Fixed multiple minor bugs discovered through enhanced testing.
85+
- Modernized gem structure and development workflow.
86+
- Improved maximum concurrent stream handling - now defined only by local settings.
87+
- Added missing require statements in version tests.
8888

8989
## v0.14.0
9090

91-
- Added fuzzing support for the framer to improve robustness.
92-
- Improved connection closed state determination.
93-
- Enhanced error handling by ignoring expected errors.
94-
- Optimized AFL (American Fuzzy Lop) latency handling.
91+
- Added fuzzing support for the framer to improve robustness.
92+
- Improved connection closed state determination.
93+
- Enhanced error handling by ignoring expected errors.
94+
- Optimized AFL (American Fuzzy Lop) latency handling.
9595

9696
## v0.13.0
9797

98-
- Added methods for handling state transitions.
99-
- Removed `pry` and `rake` dependencies for cleaner gem structure.
100-
- Improved debugging and development workflow.
98+
- Added methods for handling state transitions.
99+
- Removed `pry` and `rake` dependencies for cleaner gem structure.
100+
- Improved debugging and development workflow.
101101

102102
## v0.12.0
103103

104-
- Updated supported Ruby versions.
105-
- Significantly improved flow control handling, allowing connection local window to have desired high water mark.
106-
- Enhanced window management for better performance.
104+
- Updated supported Ruby versions.
105+
- Significantly improved flow control handling, allowing connection local window to have desired high water mark.
106+
- Enhanced window management for better performance.
107107

108108
## v0.11.0
109109

110-
- Separated stream and priority logic to improve memory efficiency.
111-
- Added Ruby 2.7 support to continuous integration.
112-
- Improved code organization and performance.
110+
- Separated stream and priority logic to improve memory efficiency.
111+
- Added Ruby 2.7 support to continuous integration.
112+
- Improved code organization and performance.
113113

114114
## v0.10.0
115115

116-
- Improved child stream handling - don't consider child in future stream priority computations.
117-
- Enhanced state transitions to cache number of currently active streams.
118-
- Performance optimizations for stream management.
116+
- Improved child stream handling - don't consider child in future stream priority computations.
117+
- Enhanced state transitions to cache number of currently active streams.
118+
- Performance optimizations for stream management.
119119

120120
## v0.9.0
121121

122-
- Split window handling for sub-classes to improve modularity.
123-
- Fixed Travis CI badge in documentation.
124-
- Enhanced window management architecture.
122+
- Split window handling for sub-classes to improve modularity.
123+
- Fixed Travis CI badge in documentation.
124+
- Enhanced window management architecture.
125125

126126
## v0.8.0
127127

128-
- Added support for synchronizing output to prevent headers from being encoded out of order.
129-
- Improved header handling reliability and consistency.
128+
- Added support for synchronizing output to prevent headers from being encoded out of order.
129+
- Improved header handling reliability and consistency.
130130

131131
## v0.7.0
132132

133-
- Introduced explicit `StreamError` for stream reset codes.
134-
- Added `HeaderError` for tracking header-specific problems (e.g., invalid pseudo-headers).
135-
- Removed `send_failure` method as it was not useful.
136-
- Improved `header_table_size` handling.
137-
- Enhanced stream priority handling and parent/child relationships.
138-
- Better flow control and priority management.
139-
- Improved debugging output and error validation.
140-
- Enhanced handling of `end_stream` and connection management.
141-
- Added stream buffer implementation with window update integration.
142-
- Implemented basic stream priority handling.
143-
- Improved goaway frame handling.
133+
- Introduced explicit `StreamError` for stream reset codes.
134+
- Added `HeaderError` for tracking header-specific problems (e.g., invalid pseudo-headers).
135+
- Removed `send_failure` method as it was not useful.
136+
- Improved `header_table_size` handling.
137+
- Enhanced stream priority handling and parent/child relationships.
138+
- Better flow control and priority management.
139+
- Improved debugging output and error validation.
140+
- Enhanced handling of `end_stream` and connection management.
141+
- Added stream buffer implementation with window update integration.
142+
- Implemented basic stream priority handling.
143+
- Improved goaway frame handling.
144144

145145
## v0.6.0
146146

147-
- Better handling of GOAWAY frames.
148-
- Improved connection termination procedures.
147+
- Better handling of GOAWAY frames.
148+
- Improved connection termination procedures.
149149

150150
## v0.5.0
151151

152-
- Improved handling of stream creation and push promises.
153-
- Enhanced stream lifecycle management.
152+
- Improved handling of stream creation and push promises.
153+
- Enhanced stream lifecycle management.
154154

155155
## v0.4.0
156156

157-
- Improved validation of stream ID and error handling.
158-
- Enhanced flow control implementation.
159-
- Better RFC compliance with HTTP/2 specification.
160-
- Fixed priority frame validation - fail if priority depends on own stream.
161-
- Improved ping frame length checking.
162-
- Enhanced logging messages and error reporting.
157+
- Improved validation of stream ID and error handling.
158+
- Enhanced flow control implementation.
159+
- Better RFC compliance with HTTP/2 specification.
160+
- Fixed priority frame validation - fail if priority depends on own stream.
161+
- Improved ping frame length checking.
162+
- Enhanced logging messages and error reporting.
163163

164164
## v0.3.0
165165

166-
- Added support for `ENABLE_CONNECT_PROTOCOL` setting.
167-
- Better handling of underlying IO being closed.
168-
- Improved connection management and error handling.
169-
- Enhanced coverage reporting.
166+
- Added support for `ENABLE_CONNECT_PROTOCOL` setting.
167+
- Better handling of underlying IO being closed.
168+
- Improved connection management and error handling.
169+
- Enhanced coverage reporting.
170170

171171
## v0.2.1
172172

173-
- Fixed header length and EOF handling.
174-
- Improved error boundary conditions.
173+
- Fixed header length and EOF handling.
174+
- Improved error boundary conditions.
175175

176176
## v0.2.0
177177

178-
- Significantly improved error handling throughout the library.
179-
- Better exception management and error reporting.
178+
- Significantly improved error handling throughout the library.
179+
- Better exception management and error reporting.
180180

181181
## v0.1.1
182182

183-
- Fixed HPACK usage and integration.
184-
- Corrected header compression/decompression handling.
183+
- Fixed HPACK usage and integration.
184+
- Corrected header compression/decompression handling.
185185

186186
## v0.1.0
187187

188-
- Initial migration of HTTP/2 protocol implementation from `http-protocol`.
189-
- Basic HTTP/2 frame parsing and generation.
190-
- Integration with `protocol-hpack` for header compression.
191-
- Stream management and flow control foundation.
192-
- Connection lifecycle management.
193-
- Support for all standard HTTP/2 frame types.
194-
- Basic client and server implementations.
188+
- Initial migration of HTTP/2 protocol implementation from `http-protocol`.
189+
- Basic HTTP/2 frame parsing and generation.
190+
- Integration with `protocol-hpack` for header compression.
191+
- Stream management and flow control foundation.
192+
- Connection lifecycle management.
193+
- Support for all standard HTTP/2 frame types.
194+
- Basic client and server implementations.

0 commit comments

Comments
 (0)