Skip to content

Releases: i-rocky/pylon

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 06:00
d322aa5

What's Changed

  • fix(load): isolate channels per process and measure latency only for own events by @i-rocky in #154
  • docs(site): publish the soketi and Laravel Reverb comparison by @i-rocky in #155
  • docs(site): credit ThriveDesk as the team behind Pylon by @i-rocky in #156
  • docs(systemd): document every PYLON_* variable in the env example by @i-rocky in #157
  • fix(transport): exit non-zero when a percore worker thread panics by @i-rocky in #158
  • chore: release v0.5.2 by @i-rocky in #159

Full Changelog: v0.5.1...v0.5.2

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 16 Sep 17:58
4ae755c

What's Changed

  • fix(helm): render numeric values without scientific notation by @i-rocky in #134
  • docs(tuning): derive rate limits from achieved throughput, not the requested rate by @i-rocky in #135
  • feat(metrics): count connections reaped by the handshake deadline by @i-rocky in #136
  • fix(helm): pass unparseable numeric values through so pylon rejects them by @i-rocky in #138
  • fix(helm): refuse multi-replica installs on the local adapter and default to one pod by @i-rocky in #139
  • fix(helm): refuse to render the placeholder app secret by @i-rocky in #140
  • fix(helm): derive the termination grace period from the configured shutdown timings by @i-rocky in #137
  • fix(systemd): let a crash loop reach the failed state by @i-rocky in #141
  • fix(examples): ship one apps example that starts clean by @i-rocky in #142
  • ci(release): ship the systemd unit, env example and sysctl drop-in in the tarball by @i-rocky in #143
  • docs(systemd): add the TLS variables to the env example by @i-rocky in #144
  • fix(app): name the apps file in the read error by @i-rocky in #145
  • feat(server): log the resolved shutdown timings at startup by @i-rocky in #146
  • fix(log): emit ANSI colour only when stdout is a terminal by @i-rocky in #147
  • docs(config): name the handshake-timeout counter in the configuration reference by @i-rocky in #148
  • docs(deploy): make the Docker recipe work as written by @i-rocky in #149
  • docs(site): add llms.txt by @i-rocky in #150
  • fix(load): generate run credentials and require the app identity by @i-rocky in #152
  • fix(test): move Redis-dependent unit tests out of the infrastructure-free list by @i-rocky in #151
  • chore: release v0.5.1 by @i-rocky in #153

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 15 Sep 04:23
86776cf

What's Changed

  • feat(helm): hold app credentials in a secret and add a disruption budget by @i-rocky in #120
  • build(docker): ship static musl binaries in a scratch image by @i-rocky in #121
  • feat(transport): rate-limit inbound frames and accepts by @i-rocky in #123
  • feat(adapter): fail a broadcast whose cluster publish failed by @i-rocky in #122
  • build(deps): clear rustsec advisories on rustls, rustls-pemfile and spin by @i-rocky in #124
  • feat(logging): add PYLON_LOG_FORMAT=json by @i-rocky in #125
  • ci: gate every pull request on cargo deny by @i-rocky in #126
  • feat(rest): rate-limit rest requests per node and per app by @i-rocky in #127
  • feat(metrics): export pylon_app_store_up from a background app-store probe by @i-rocky in #128
  • ci: run the helm render test on every pull request by @i-rocky in #130
  • fix(config): fail fast once on invalid env and refuse a backend cap below the batch cap by @i-rocky in #131
  • test(percore): wait for the close path to release the connection counters by @i-rocky in #132
  • docs(cluster): state both client-event publish failure cases by @i-rocky in #129
  • chore: release v0.5.0 by @i-rocky in #133

Full Changelog: v0.4.1...v0.5.0

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 14 Sep 14:36
3c13963

What's Changed

  • fix(deps): build fred against the ring rustls provider only by @i-rocky in #109
  • test(cluster): delete poisoned keys and prove the bridge negative by ordering by @i-rocky in #110
  • chore: release v0.4.1 by @i-rocky in #111

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 14 Sep 11:22
c15a69c

What's Changed

  • Conformance crate: official-SDK compatibility harness by @i-rocky in #12
  • Post-v0.3.0 follow-ups: every deferred item closed out by @i-rocky in #13
  • fix(conformance): pre-bind both C-EVENT-ECHO subscribe waits by @i-rocky in #14
  • fix(conformance): option terminator in runner argv by @i-rocky in #15
  • chore: resolve OSV dependency advisories by @i-rocky in #16
  • fix(tests): smoke_connectivity tolerates a lost pub/sub copy, not a bigger clock by @i-rocky in #17
  • fix(build): gate the AtomicI64 import + lint default features in CI by @i-rocky in #31
  • fix(webhook): SSRF guard classifies 6to4 embedded IPv4 by @i-rocky in #35
  • fix(rest): validate socket_id on trigger and batch endpoints by @i-rocky in #36
  • fix(app): validate app credentials instead of booting silently by @i-rocky in #37
  • docs: document the subscription_count webhook by @i-rocky in #33
  • fix(tests): redis_cluster/redis_sharded default to 6390, not the production port by @i-rocky in #32
  • docs: cargo test requires four services, not just Redis by @i-rocky in #34
  • chore(config): retire PYLON_WEBHOOK_RETRY_BASE_MS and PYLON_WEBHOOK_MAX_RETRIES by @i-rocky in #39
  • fix(metrics): per-app gauges stay at 0 when a static-file app goes idle by @i-rocky in #40
  • fix(resources): small hosts keep a real memory budget by @i-rocky in #41
  • fix(transport): stop dropping connections with more than 32 headers by @i-rocky in #42
  • fix(transport): match hyper's h1 header ceiling to MAX_HEADERS by @i-rocky in #43
  • fix(config): fail fast on unparseable environment values by @i-rocky in #44
  • fix(tests): remove redis_cluster's numsub-gate flakes by @i-rocky in #45
  • docs: close documentation gaps from the #18-30 remediation batch by @i-rocky in #46
  • chore(deps): thiserror 2, base64 0.23, socket2 0.6 by @i-rocky in #47
  • fix(redis): bound the presence side-tables to the membership they describe by @i-rocky in #70
  • fix(overload): give each worker its own budget-pressure bit by @i-rocky in #71
  • fix: channel-name and payload-cap parity gaps (#65, #69) by @i-rocky in #72
  • fix(transport): cap fragmented text reassembly from the first fragment by @i-rocky in #73
  • fix(cluster): reconcile membership indexes, pub/sub subscriptions and the subscribe ack by @i-rocky in #75
  • fix(transport): four accounting and drain defects (#38, #59, #61, #62) by @i-rocky in #76
  • fix(presence): make the cluster member cap atomic, keep the node subscribed on a rejected join, and stop the roster serving a departed connection's user_info by @i-rocky in #78
  • fix(transport) — nodelay accept flake and unaccounted partial-frame buffer by @i-rocky in #80
  • fix(cluster): node liveness reclaim, capacity accounting, atomic user reap and reconnect resubscribe by @i-rocky in #82
  • fix(transport): drain on outbound bytes only, not inbound buffers by @i-rocky in #83
  • fix(cluster): re-seat the clustered presence roster on the oldest live connection by @i-rocky in #84
  • fix: low-severity findings from the protocol audit (#68) by @i-rocky in #85
  • fix(cluster): low-severity findings from the clustering audit (#66) by @i-rocky in #86
  • fix(transport): low-severity findings from the transport audit (#67) by @i-rocky in #87
  • docs: bring non-code assets in line with the code by @i-rocky in #90
  • test(conformance): populate the server-plane query scenarios and verify every webhook envelope by @i-rocky in #93
  • chore: docker CI gate and helm image-tag default by @i-rocky in #95
  • chore(deps): remaining semver-major bumps and the 1.98.1 toolchain by @i-rocky in #96
  • fix(webhook): emit client_event data as a string by @i-rocky in #98
  • test: raise coverage across the server and transport half by @i-rocky in #99
  • fix(load): lint load/ and conformance/ in CI, clean up six clippy warnings by @i-rocky in #102
  • chore(transport): drop the dead-code allow on the module by @i-rocky in #103
  • test: raise coverage on the cluster bridge, redis adapter, REST plane and app stores by @i-rocky in #100
  • fix(adapter): read the vacate roster before de-indexing the channel by @i-rocky in #104
  • test(ci): run the startup and wiring suites and mirror the list in the docs by @i-rocky in #105
  • docs: record the is_saturated removal and correct the chans TTL comment by @i-rocky in #106
  • fix(app): negotiate tls in the sql app manager so mysql 8 auth works cold by @i-rocky in #107
  • chore: release v0.4.0 by @i-rocky in #108

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 04:21
6ff79e7

What's Changed

  • Phase 0: CI & test integrity (audit remediation) by @i-rocky in #1
  • Phase 1: WebSocket wire-protocol parity (audit remediation) by @i-rocky in #2
  • Phase 2: REST & webhook parity (audit remediation) by @i-rocky in #3
  • Phase 3: Transport correctness (audit remediation) by @i-rocky in #4
  • Phase 4: Features the docs promised (audit remediation) by @i-rocky in #5
  • Phase 5: Documentation reconciliation (audit remediation) by @i-rocky in #6
  • Phase 6: performance & hot-path efficiency (audit remediation) by @i-rocky in #7
  • Phase 7: protocol-version seam (audit remediation) by @i-rocky in #8
  • Phase 8: security hardening (audit remediation) by @i-rocky in #9
  • Phase 9: release & hygiene (audit remediation) by @i-rocky in #10
  • Release v0.3.0 — audit remediation by @i-rocky in #11

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 05:56

Full Changelog: v0.1.1...v0.2.0

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 20 Jun 09:27

Full Changelog: v0.1.0...v0.1.1

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 18 Jun 11:58