itsi 0.2.16 → 0.2.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/Cargo.lock +4 -2
  4. data/crates/itsi_acme/Cargo.toml +1 -1
  5. data/crates/itsi_scheduler/Cargo.toml +1 -1
  6. data/crates/itsi_server/Cargo.toml +3 -1
  7. data/crates/itsi_server/src/lib.rs +6 -1
  8. data/crates/itsi_server/src/ruby_types/itsi_body_proxy/mod.rs +2 -0
  9. data/crates/itsi_server/src/ruby_types/itsi_grpc_call.rs +4 -4
  10. data/crates/itsi_server/src/ruby_types/itsi_grpc_response_stream/mod.rs +14 -13
  11. data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +64 -33
  12. data/crates/itsi_server/src/ruby_types/itsi_http_response.rs +151 -152
  13. data/crates/itsi_server/src/ruby_types/itsi_server/file_watcher.rs +6 -15
  14. data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +26 -5
  15. data/crates/itsi_server/src/ruby_types/itsi_server.rs +1 -1
  16. data/crates/itsi_server/src/server/binds/listener.rs +45 -7
  17. data/crates/itsi_server/src/server/frame_stream.rs +142 -0
  18. data/crates/itsi_server/src/server/http_message_types.rs +142 -9
  19. data/crates/itsi_server/src/server/io_stream.rs +28 -5
  20. data/crates/itsi_server/src/server/lifecycle_event.rs +1 -1
  21. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs +2 -3
  22. data/crates/itsi_server/src/server/middleware_stack/middlewares/compression.rs +8 -10
  23. data/crates/itsi_server/src/server/middleware_stack/middlewares/cors.rs +2 -3
  24. data/crates/itsi_server/src/server/middleware_stack/middlewares/csp.rs +3 -3
  25. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +54 -56
  26. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +5 -7
  27. data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +5 -5
  28. data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +7 -10
  29. data/crates/itsi_server/src/server/middleware_stack/middlewares/redirect.rs +2 -3
  30. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +1 -2
  31. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +4 -6
  32. data/crates/itsi_server/src/server/mod.rs +1 -0
  33. data/crates/itsi_server/src/server/process_worker.rs +3 -4
  34. data/crates/itsi_server/src/server/serve_strategy/acceptor.rs +16 -12
  35. data/crates/itsi_server/src/server/serve_strategy/cluster_mode.rs +87 -31
  36. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +158 -142
  37. data/crates/itsi_server/src/server/signal.rs +37 -9
  38. data/crates/itsi_server/src/server/thread_worker.rs +84 -69
  39. data/crates/itsi_server/src/services/itsi_http_service.rs +43 -43
  40. data/crates/itsi_server/src/services/static_file_server.rs +28 -47
  41. data/docs/benchmark-dashboard/.gitignore +27 -0
  42. data/docs/benchmark-dashboard/app/api/benchmarks/route.ts +22 -0
  43. data/docs/benchmark-dashboard/app/globals.css +94 -0
  44. data/docs/benchmark-dashboard/app/layout.tsx +20 -0
  45. data/docs/benchmark-dashboard/app/page.tsx +252 -0
  46. data/docs/benchmark-dashboard/components/benchmark-dashboard.tsx +1663 -0
  47. data/docs/benchmark-dashboard/components/theme-provider.tsx +11 -0
  48. data/docs/benchmark-dashboard/components/ui/accordion.tsx +58 -0
  49. data/docs/benchmark-dashboard/components/ui/alert-dialog.tsx +141 -0
  50. data/docs/benchmark-dashboard/components/ui/alert.tsx +59 -0
  51. data/docs/benchmark-dashboard/components/ui/aspect-ratio.tsx +7 -0
  52. data/docs/benchmark-dashboard/components/ui/avatar.tsx +50 -0
  53. data/docs/benchmark-dashboard/components/ui/badge.tsx +36 -0
  54. data/docs/benchmark-dashboard/components/ui/breadcrumb.tsx +115 -0
  55. data/docs/benchmark-dashboard/components/ui/button.tsx +56 -0
  56. data/docs/benchmark-dashboard/components/ui/calendar.tsx +66 -0
  57. data/docs/benchmark-dashboard/components/ui/card.tsx +79 -0
  58. data/docs/benchmark-dashboard/components/ui/carousel.tsx +262 -0
  59. data/docs/benchmark-dashboard/components/ui/chart.tsx +365 -0
  60. data/docs/benchmark-dashboard/components/ui/checkbox.tsx +30 -0
  61. data/docs/benchmark-dashboard/components/ui/collapsible.tsx +11 -0
  62. data/docs/benchmark-dashboard/components/ui/command.tsx +153 -0
  63. data/docs/benchmark-dashboard/components/ui/context-menu.tsx +200 -0
  64. data/docs/benchmark-dashboard/components/ui/dialog.tsx +122 -0
  65. data/docs/benchmark-dashboard/components/ui/drawer.tsx +118 -0
  66. data/docs/benchmark-dashboard/components/ui/dropdown-menu.tsx +200 -0
  67. data/docs/benchmark-dashboard/components/ui/form.tsx +178 -0
  68. data/docs/benchmark-dashboard/components/ui/hover-card.tsx +29 -0
  69. data/docs/benchmark-dashboard/components/ui/input-otp.tsx +71 -0
  70. data/docs/benchmark-dashboard/components/ui/input.tsx +22 -0
  71. data/docs/benchmark-dashboard/components/ui/label.tsx +26 -0
  72. data/docs/benchmark-dashboard/components/ui/loading-spinner.tsx +12 -0
  73. data/docs/benchmark-dashboard/components/ui/menubar.tsx +236 -0
  74. data/docs/benchmark-dashboard/components/ui/navigation-menu.tsx +128 -0
  75. data/docs/benchmark-dashboard/components/ui/pagination.tsx +117 -0
  76. data/docs/benchmark-dashboard/components/ui/popover.tsx +31 -0
  77. data/docs/benchmark-dashboard/components/ui/progress.tsx +28 -0
  78. data/docs/benchmark-dashboard/components/ui/radio-group.tsx +44 -0
  79. data/docs/benchmark-dashboard/components/ui/resizable.tsx +45 -0
  80. data/docs/benchmark-dashboard/components/ui/scroll-area.tsx +48 -0
  81. data/docs/benchmark-dashboard/components/ui/select.tsx +160 -0
  82. data/docs/benchmark-dashboard/components/ui/separator.tsx +31 -0
  83. data/docs/benchmark-dashboard/components/ui/sheet.tsx +140 -0
  84. data/docs/benchmark-dashboard/components/ui/sidebar.tsx +763 -0
  85. data/docs/benchmark-dashboard/components/ui/skeleton.tsx +15 -0
  86. data/docs/benchmark-dashboard/components/ui/slider.tsx +28 -0
  87. data/docs/benchmark-dashboard/components/ui/sonner.tsx +31 -0
  88. data/docs/benchmark-dashboard/components/ui/switch.tsx +29 -0
  89. data/docs/benchmark-dashboard/components/ui/table.tsx +117 -0
  90. data/docs/benchmark-dashboard/components/ui/tabs.tsx +55 -0
  91. data/docs/benchmark-dashboard/components/ui/textarea.tsx +22 -0
  92. data/docs/benchmark-dashboard/components/ui/toast.tsx +129 -0
  93. data/docs/benchmark-dashboard/components/ui/toaster.tsx +35 -0
  94. data/docs/benchmark-dashboard/components/ui/toggle-group.tsx +61 -0
  95. data/docs/benchmark-dashboard/components/ui/toggle.tsx +45 -0
  96. data/docs/benchmark-dashboard/components/ui/tooltip.tsx +30 -0
  97. data/docs/benchmark-dashboard/components/ui/use-mobile.tsx +19 -0
  98. data/docs/benchmark-dashboard/components/ui/use-toast.ts +194 -0
  99. data/docs/benchmark-dashboard/components.json +21 -0
  100. data/docs/benchmark-dashboard/dist/benchmark-dashboard.css +1 -0
  101. data/docs/benchmark-dashboard/dist/benchmark-dashboard.iife.js +211 -0
  102. data/docs/benchmark-dashboard/dist/placeholder-logo.png +0 -0
  103. data/docs/benchmark-dashboard/dist/placeholder-logo.svg +1 -0
  104. data/docs/benchmark-dashboard/dist/placeholder-user.jpg +0 -0
  105. data/docs/benchmark-dashboard/dist/placeholder.jpg +0 -0
  106. data/docs/benchmark-dashboard/dist/placeholder.svg +1 -0
  107. data/docs/benchmark-dashboard/embed.tsx +13 -0
  108. data/docs/benchmark-dashboard/hooks/use-mobile.tsx +19 -0
  109. data/docs/benchmark-dashboard/hooks/use-toast.ts +194 -0
  110. data/docs/benchmark-dashboard/lib/benchmark-utils.ts +54 -0
  111. data/docs/benchmark-dashboard/lib/utils.ts +6 -0
  112. data/docs/benchmark-dashboard/next.config.mjs +14 -0
  113. data/docs/benchmark-dashboard/package-lock.json +5859 -0
  114. data/docs/benchmark-dashboard/package.json +72 -0
  115. data/docs/benchmark-dashboard/pnpm-lock.yaml +5 -0
  116. data/docs/benchmark-dashboard/postcss.config.mjs +8 -0
  117. data/docs/benchmark-dashboard/styles/globals.css +94 -0
  118. data/docs/benchmark-dashboard/tailwind.config.ts +96 -0
  119. data/docs/benchmark-dashboard/tsconfig.json +27 -0
  120. data/docs/benchmark-dashboard/vite.config.ts +24 -0
  121. data/docs/build.rb +52 -0
  122. data/docs/content/benchmarks/index.md +96 -0
  123. data/docs/content/getting_started/_index.md +76 -46
  124. data/docs/hugo.yaml +3 -0
  125. data/docs/static/results.json +1 -0
  126. data/docs/static/scripts/benchmark-dashboard.iife.js +211 -0
  127. data/docs/static/styles/benchmark-dashboard.css +1 -0
  128. data/gems/scheduler/Cargo.lock +1 -1
  129. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  130. data/gems/server/Cargo.lock +3 -1
  131. data/gems/server/exe/itsi +6 -1
  132. data/gems/server/lib/itsi/http_request.rb +31 -39
  133. data/gems/server/lib/itsi/http_response.rb +5 -0
  134. data/gems/server/lib/itsi/rack_env_pool.rb +59 -0
  135. data/gems/server/lib/itsi/server/config/dsl.rb +5 -4
  136. data/gems/server/lib/itsi/server/config/middleware/proxy.rb +1 -1
  137. data/gems/server/lib/itsi/server/config/middleware/rackup_file.rb +2 -2
  138. data/gems/server/lib/itsi/server/config/options/auto_reload_config.rb +6 -2
  139. data/gems/server/lib/itsi/server/config/options/include.rb +5 -2
  140. data/gems/server/lib/itsi/server/config/options/pipeline_flush.md +16 -0
  141. data/gems/server/lib/itsi/server/config/options/pipeline_flush.rb +19 -0
  142. data/gems/server/lib/itsi/server/config/options/writev.md +25 -0
  143. data/gems/server/lib/itsi/server/config/options/writev.rb +19 -0
  144. data/gems/server/lib/itsi/server/config.rb +21 -8
  145. data/gems/server/lib/itsi/server/default_config/Itsi.rb +1 -4
  146. data/gems/server/lib/itsi/server/grpc/grpc_call.rb +2 -0
  147. data/gems/server/lib/itsi/server/grpc/grpc_interface.rb +2 -2
  148. data/gems/server/lib/itsi/server/rack/handler/itsi.rb +3 -1
  149. data/gems/server/lib/itsi/server/rack_interface.rb +17 -12
  150. data/gems/server/lib/itsi/server/scheduler_interface.rb +2 -0
  151. data/gems/server/lib/itsi/server/version.rb +1 -1
  152. data/gems/server/lib/itsi/server.rb +1 -0
  153. data/gems/server/lib/ruby_lsp/itsi/addon.rb +12 -13
  154. data/gems/server/test/helpers/test_helper.rb +12 -13
  155. data/gems/server/test/middleware/grpc/grpc.rb +13 -14
  156. data/gems/server/test/middleware/grpc/test_service_impl.rb +3 -3
  157. data/gems/server/test/middleware/proxy.rb +262 -268
  158. data/lib/itsi/version.rb +1 -1
  159. metadata +96 -6
  160. data/tasks.txt +0 -28
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.16
4
+ version: 0.2.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters
@@ -15,28 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.2.16
18
+ version: 0.2.17
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 0.2.16
25
+ version: 0.2.17
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: itsi-server
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.2.16
32
+ version: 0.2.17
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.2.16
39
+ version: 0.2.17
40
40
  description: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
41
41
  email:
42
42
  - wc@pico.net.nz
@@ -135,6 +135,7 @@ files:
135
135
  - crates/itsi_server/src/server/binds/tls.rs
136
136
  - crates/itsi_server/src/server/binds/tls/locked_dir_cache.rs
137
137
  - crates/itsi_server/src/server/byte_frame.rs
138
+ - crates/itsi_server/src/server/frame_stream.rs
138
139
  - crates/itsi_server/src/server/http_message_types.rs
139
140
  - crates/itsi_server/src/server/io_stream.rs
140
141
  - crates/itsi_server/src/server/lifecycle_event.rs
@@ -191,8 +192,90 @@ files:
191
192
  - docker/Dockerfile
192
193
  - docs/.gitignore
193
194
  - docs/.gitpod.yml
195
+ - docs/benchmark-dashboard/.gitignore
196
+ - docs/benchmark-dashboard/app/api/benchmarks/route.ts
197
+ - docs/benchmark-dashboard/app/globals.css
198
+ - docs/benchmark-dashboard/app/layout.tsx
199
+ - docs/benchmark-dashboard/app/page.tsx
200
+ - docs/benchmark-dashboard/components.json
201
+ - docs/benchmark-dashboard/components/benchmark-dashboard.tsx
202
+ - docs/benchmark-dashboard/components/theme-provider.tsx
203
+ - docs/benchmark-dashboard/components/ui/accordion.tsx
204
+ - docs/benchmark-dashboard/components/ui/alert-dialog.tsx
205
+ - docs/benchmark-dashboard/components/ui/alert.tsx
206
+ - docs/benchmark-dashboard/components/ui/aspect-ratio.tsx
207
+ - docs/benchmark-dashboard/components/ui/avatar.tsx
208
+ - docs/benchmark-dashboard/components/ui/badge.tsx
209
+ - docs/benchmark-dashboard/components/ui/breadcrumb.tsx
210
+ - docs/benchmark-dashboard/components/ui/button.tsx
211
+ - docs/benchmark-dashboard/components/ui/calendar.tsx
212
+ - docs/benchmark-dashboard/components/ui/card.tsx
213
+ - docs/benchmark-dashboard/components/ui/carousel.tsx
214
+ - docs/benchmark-dashboard/components/ui/chart.tsx
215
+ - docs/benchmark-dashboard/components/ui/checkbox.tsx
216
+ - docs/benchmark-dashboard/components/ui/collapsible.tsx
217
+ - docs/benchmark-dashboard/components/ui/command.tsx
218
+ - docs/benchmark-dashboard/components/ui/context-menu.tsx
219
+ - docs/benchmark-dashboard/components/ui/dialog.tsx
220
+ - docs/benchmark-dashboard/components/ui/drawer.tsx
221
+ - docs/benchmark-dashboard/components/ui/dropdown-menu.tsx
222
+ - docs/benchmark-dashboard/components/ui/form.tsx
223
+ - docs/benchmark-dashboard/components/ui/hover-card.tsx
224
+ - docs/benchmark-dashboard/components/ui/input-otp.tsx
225
+ - docs/benchmark-dashboard/components/ui/input.tsx
226
+ - docs/benchmark-dashboard/components/ui/label.tsx
227
+ - docs/benchmark-dashboard/components/ui/loading-spinner.tsx
228
+ - docs/benchmark-dashboard/components/ui/menubar.tsx
229
+ - docs/benchmark-dashboard/components/ui/navigation-menu.tsx
230
+ - docs/benchmark-dashboard/components/ui/pagination.tsx
231
+ - docs/benchmark-dashboard/components/ui/popover.tsx
232
+ - docs/benchmark-dashboard/components/ui/progress.tsx
233
+ - docs/benchmark-dashboard/components/ui/radio-group.tsx
234
+ - docs/benchmark-dashboard/components/ui/resizable.tsx
235
+ - docs/benchmark-dashboard/components/ui/scroll-area.tsx
236
+ - docs/benchmark-dashboard/components/ui/select.tsx
237
+ - docs/benchmark-dashboard/components/ui/separator.tsx
238
+ - docs/benchmark-dashboard/components/ui/sheet.tsx
239
+ - docs/benchmark-dashboard/components/ui/sidebar.tsx
240
+ - docs/benchmark-dashboard/components/ui/skeleton.tsx
241
+ - docs/benchmark-dashboard/components/ui/slider.tsx
242
+ - docs/benchmark-dashboard/components/ui/sonner.tsx
243
+ - docs/benchmark-dashboard/components/ui/switch.tsx
244
+ - docs/benchmark-dashboard/components/ui/table.tsx
245
+ - docs/benchmark-dashboard/components/ui/tabs.tsx
246
+ - docs/benchmark-dashboard/components/ui/textarea.tsx
247
+ - docs/benchmark-dashboard/components/ui/toast.tsx
248
+ - docs/benchmark-dashboard/components/ui/toaster.tsx
249
+ - docs/benchmark-dashboard/components/ui/toggle-group.tsx
250
+ - docs/benchmark-dashboard/components/ui/toggle.tsx
251
+ - docs/benchmark-dashboard/components/ui/tooltip.tsx
252
+ - docs/benchmark-dashboard/components/ui/use-mobile.tsx
253
+ - docs/benchmark-dashboard/components/ui/use-toast.ts
254
+ - docs/benchmark-dashboard/dist/benchmark-dashboard.css
255
+ - docs/benchmark-dashboard/dist/benchmark-dashboard.iife.js
256
+ - docs/benchmark-dashboard/dist/placeholder-logo.png
257
+ - docs/benchmark-dashboard/dist/placeholder-logo.svg
258
+ - docs/benchmark-dashboard/dist/placeholder-user.jpg
259
+ - docs/benchmark-dashboard/dist/placeholder.jpg
260
+ - docs/benchmark-dashboard/dist/placeholder.svg
261
+ - docs/benchmark-dashboard/embed.tsx
262
+ - docs/benchmark-dashboard/hooks/use-mobile.tsx
263
+ - docs/benchmark-dashboard/hooks/use-toast.ts
264
+ - docs/benchmark-dashboard/lib/benchmark-utils.ts
265
+ - docs/benchmark-dashboard/lib/utils.ts
266
+ - docs/benchmark-dashboard/next.config.mjs
267
+ - docs/benchmark-dashboard/package-lock.json
268
+ - docs/benchmark-dashboard/package.json
269
+ - docs/benchmark-dashboard/pnpm-lock.yaml
270
+ - docs/benchmark-dashboard/postcss.config.mjs
271
+ - docs/benchmark-dashboard/styles/globals.css
272
+ - docs/benchmark-dashboard/tailwind.config.ts
273
+ - docs/benchmark-dashboard/tsconfig.json
274
+ - docs/benchmark-dashboard/vite.config.ts
275
+ - docs/build.rb
194
276
  - docs/content/_index.md
195
277
  - docs/content/acknowledgements/_index.md
278
+ - docs/content/benchmarks/index.md
196
279
  - docs/content/configuration/_index.md
197
280
  - docs/content/contact/_index.md
198
281
  - docs/content/directory_listing.jpg
@@ -241,7 +324,10 @@ files:
241
324
  - docs/static/favicon-dark.svg
242
325
  - docs/static/favicon.ico
243
326
  - docs/static/favicon.svg
327
+ - docs/static/results.json
328
+ - docs/static/scripts/benchmark-dashboard.iife.js
244
329
  - docs/static/site.webmanifest
330
+ - docs/static/styles/benchmark-dashboard.css
245
331
  - examples/api_with_schema_and_controllers/Itsi.rb
246
332
  - examples/api_with_schema_and_controllers/README.md
247
333
  - examples/api_with_schema_and_controllers/controllers.rb
@@ -708,6 +794,7 @@ files:
708
794
  - gems/server/lib/itsi/http_request/response_status_shortcodes.rb
709
795
  - gems/server/lib/itsi/http_response.rb
710
796
  - gems/server/lib/itsi/passfile.rb
797
+ - gems/server/lib/itsi/rack_env_pool.rb
711
798
  - gems/server/lib/itsi/server.rb
712
799
  - gems/server/lib/itsi/server/config.rb
713
800
  - gems/server/lib/itsi/server/config/config_helpers.rb
@@ -934,6 +1021,8 @@ files:
934
1021
  - gems/server/lib/itsi/server/config/options/oob_gc_responses_threshold.rb
935
1022
  - gems/server/lib/itsi/server/config/options/pin_worker_cores.md
936
1023
  - gems/server/lib/itsi/server/config/options/pin_worker_cores.rb
1024
+ - gems/server/lib/itsi/server/config/options/pipeline_flush.md
1025
+ - gems/server/lib/itsi/server/config/options/pipeline_flush.rb
937
1026
  - gems/server/lib/itsi/server/config/options/preload.md
938
1027
  - gems/server/lib/itsi/server/config/options/preload.rb
939
1028
  - gems/server/lib/itsi/server/config/options/recv_buffer_size.md
@@ -964,6 +1053,8 @@ files:
964
1053
  - gems/server/lib/itsi/server/config/options/worker_memory_limit.rb
965
1054
  - gems/server/lib/itsi/server/config/options/workers.md
966
1055
  - gems/server/lib/itsi/server/config/options/workers.rb
1056
+ - gems/server/lib/itsi/server/config/options/writev.md
1057
+ - gems/server/lib/itsi/server/config/options/writev.rb
967
1058
  - gems/server/lib/itsi/server/config/typed_struct.rb
968
1059
  - gems/server/lib/itsi/server/default_app/default_app.rb
969
1060
  - gems/server/lib/itsi/server/default_app/index.html
@@ -1027,7 +1118,6 @@ files:
1027
1118
  - itsi-server-100.png
1028
1119
  - lib/itsi.rb
1029
1120
  - lib/itsi/version.rb
1030
- - tasks.txt
1031
1121
  homepage: https://itsi.fyi
1032
1122
  licenses:
1033
1123
  - LGPL-3.0
data/tasks.txt DELETED
@@ -1,28 +0,0 @@
1
- - Test CRB without main
2
- - Try and compile new Itsi with jemalloc on Linux
3
- - ACME HTTP-01 challenge
4
- - Add way to opt non Itsi.rb files into LSP
5
- - Fat binary gems
6
- - First class Rackless Websockets
7
-
8
- Tasks:
9
- - Static ruby build
10
- - OTel
11
- - Even faster Hash creation for Rack
12
- - Image resizer
13
- - Print out warning if we can detect that a location block will never be hit.
14
- - Built in obs Dashboard + Stats
15
- - WASM pluggable middleware
16
- - Support UDP Proxy
17
- - Support Unix Socket Proxy
18
- - gRPC proxying
19
- - HTTP-01 Autocert
20
- - H3
21
- - OpenAPI gen
22
- - Finish Single acceptor mode (Optional)
23
- - Introduce Option
24
- - Finish Unix implementation
25
- - Very single worker shutdown (impact)
26
- - Clean shutdown and restart while in single acceptor mode
27
- - Fix Hang
28
- - Introduce Socket Options