Contexto
A release 3.3.3 foi publicada em 2026-09-04 07:37 (-03). Nas ~3h30 seguintes, quatro PRs foram mesclados no master e ficaram de fora do corte:
| PR |
Commit |
Conteúdo |
| #549 |
6b15b10 (11:02) |
WebSocket: EAGAIN tratado como "sem dados", não como desconexão |
| #555 |
37d699f |
Provider nghttp2: seletor e hooks de ciclo de vida |
| #556 |
e7cd95b |
Roteamento UTF-8 (caminhos com caracteres largos, camada radix) |
| #560 |
b3f3f69 |
Apache: isolamento dos raw adapters dos módulos host |
git diff 3.3.3..master --stat → 23 arquivos, 1156 inserções.
Por que isso importa na prática
Como o Boss resolve por tag, nada disso está disponível para quem instala via Boss — apenas para quem aponta direto para o master.
O caso mais visível é o #549. Verificando a tag publicada:
git show 3.3.3:src/Horse.Provider.Socket.WebSocket.pas | grep -c FActiveOperations
0
Ou seja, na 3.3.3 o transporte WebSocket ainda encerra a conexão no primeiro EAGAIN. Como o epoll define O_NONBLOCK em todo socket aceito, WebSocket sobre epoll não funciona na 3.3.3: a conexão morre cerca de 1 ms após o 101, antes de qualquer frame chegar, e o pipeline HTTP retoma escrevendo um HTTP/1.1 200 OK no socket já promovido.
Vale registrar o contraste na mesma release: a 3.3.3 inclui o DoSendStream (#540), então Res.Send<TStream> passou a funcionar — duas correções na mesma janela, uma dentro e outra fora do corte.
Pedido
Seria possível cortar uma 3.3.4 com o estado atual do master?
Não há urgência da minha parte — o #549 é meu, mas os #556 e #560 beneficiam outros usuários, e o #560 é de vocês mesmos. Se preferirem aguardar mais correções antes de um novo corte, sem problema; abro a issue apenas para registrar que a janela entre o corte e as mesclagens deixou quatro PRs sem release.
Obrigado pelo trabalho de revisão desta semana.
Contexto
A release 3.3.3 foi publicada em 2026-09-04 07:37 (-03). Nas ~3h30 seguintes, quatro PRs foram mesclados no
mastere ficaram de fora do corte:6b15b10(11:02)EAGAINtratado como "sem dados", não como desconexão37d699fe7cd95bb3f3f69git diff 3.3.3..master --stat→ 23 arquivos, 1156 inserções.Por que isso importa na prática
Como o Boss resolve por tag, nada disso está disponível para quem instala via Boss — apenas para quem aponta direto para o
master.O caso mais visível é o #549. Verificando a tag publicada:
Ou seja, na 3.3.3 o transporte WebSocket ainda encerra a conexão no primeiro
EAGAIN. Como o epoll defineO_NONBLOCKem todo socket aceito, WebSocket sobre epoll não funciona na 3.3.3: a conexão morre cerca de 1 ms após o101, antes de qualquer frame chegar, e o pipeline HTTP retoma escrevendo umHTTP/1.1 200 OKno socket já promovido.Vale registrar o contraste na mesma release: a 3.3.3 inclui o
DoSendStream(#540), entãoRes.Send<TStream>passou a funcionar — duas correções na mesma janela, uma dentro e outra fora do corte.Pedido
Seria possível cortar uma 3.3.4 com o estado atual do
master?Não há urgência da minha parte — o #549 é meu, mas os #556 e #560 beneficiam outros usuários, e o #560 é de vocês mesmos. Se preferirem aguardar mais correções antes de um novo corte, sem problema; abro a issue apenas para registrar que a janela entre o corte e as mesclagens deixou quatro PRs sem release.
Obrigado pelo trabalho de revisão desta semana.