Skip to content

chore: bump apisix-runtime to 1.3.11#13697

Open
nic-6443 wants to merge 4 commits into
apache:masterfrom
nic-6443:bump/runtime-1.3.10
Open

chore: bump apisix-runtime to 1.3.11#13697
nic-6443 wants to merge 4 commits into
apache:masterfrom
nic-6443:bump/runtime-1.3.10

Conversation

@nic-6443

@nic-6443 nic-6443 commented Jul 16, 2026

Copy link
Copy Markdown
Member

Description

Bump apisix-runtime from 1.3.9 to 1.3.11.

1.3.10 picks up apisix-nginx-module 1.19.8, which fixes several long-standing defects in the runtime patches:

  • balancer keepalive pools are now keyed by the full pool name instead of a crc32 digest (colliding pool names could silently share connections across unrelated upstream pools), the default pool identity covers connect-time properties (local bind address, TLS server name), and set_current_peer(addr, port, host) accepts the documented host argument again;
  • ngx.socket.stream():sslhandshake() no longer fails with an undefined FFI symbol, and tlshandshake() no longer mutates the caller's options table (reusing the same file-based mTLS options across connections works now);
  • xRPC move()/reset_read_buf() reject a source socket with a pending read instead of corrupting the in-flight data, and the reset recycles the whole receive chain instead of leaking middle nodes into the request pool;
  • privileged agent listeners (enable_process=privileged_agent, used by the status API server) are now opened and owned by the master process: a bind conflict fails startup loudly instead of leaving a healthy-looking nginx without the listener, reloads no longer have a no-listener window, socket options on those listeners actually take effect, and the address-conflict error reports the actual owner role.

1.3.11 adds --with-stream_realip_module. nginx does not build this module by default, so set_real_ip_from is currently unusable in the stream block. The module is inert unless set_real_ip_from is configured — its post-accept handler returns NGX_DECLINED when no trusted address is set — so it changes nothing for existing deployments.

The runtime-debug checksums in ci/linux-install-openresty.sh are updated from the published release artifacts.

Checklist

  • I have explained the need for this PR and the problem it solves
  • I have explained the changes or the new features added to this PR
  • I have added tests corresponding to this change
  • I have updated the documentation to reflect this change
  • I have verified that this change is backward compatible

Note on the test change: the runtime bump changes the keepalive pool debug log from crc32: <hash> to name: <pool-name> (the pool is now keyed by its full name string, which also fixes a crc32-collision bug where distinct pools could be merged). The pool lifecycle is unchanged — only the log label differs — so t/node/upstream-keepalive-pool.t's grep_error_log assertions are updated from crc32: \S+ to name: \S+.

@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. dependencies Pull requests that update a dependency file labels Jul 16, 2026
apisix-runtime 1.3.10 (apisix-nginx-module 1.19.8) logs the keepalive
pool by its readable name instead of a crc32 of that name, and fixes a
crc32-collision bug where distinct pools could be merged. The pool
lifecycle is unchanged; only the debug-log label changed from
'crc32: <hash>' to 'name: <pool-name>'. Update the grep_error_log
assertions accordingly.
@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Jul 16, 2026
Now that the pool is logged by its readable name, assert the pool
identity directly instead of only matching that some name is present:

- upstream-keepalive-pool.t TEST 5: the freed pool and the recreated
  pool must carry the same name (backreference), verifying pool
  recycling reuses the same identity.
- TEST 13 / TEST 15: distinct-SNI (and http vs https) upstreams must
  get distinct pool names, verifying keepalive pools are partitioned by
  SNI/scheme rather than merged.
AlinsRan
AlinsRan previously approved these changes Jul 16, 2026
membphis
membphis previously approved these changes Jul 16, 2026

@membphis membphis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

1.3.11 adds `--with-stream_realip_module` on top of 1.3.10. The module is
inert unless `set_real_ip_from` is configured, so it changes nothing for
existing deployments.
@nic-6443
nic-6443 dismissed stale reviews from membphis and AlinsRan via 3ffe0e7 July 16, 2026 10:47
@nic-6443 nic-6443 changed the title chore: bump apisix-runtime to 1.3.10 chore: bump apisix-runtime to 1.3.11 Jul 16, 2026
@nic-6443
nic-6443 requested review from AlinsRan and moonming July 17, 2026 02:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants