Skip to content

Releases: zhaojh329/lua-eco

v4.0.0

10 May 09:25

Choose a tag to compare

Features

  • mqtt: Support one-time subscribe multiple topics (Jianhui Zhao)
  • log: split multiline log messages into separate entries (Jianhui Zhao)
  • socket: add method open_tun (Jianhui Zhao)
  • uci: support yield in callback for foreach (Jianhui Zhao)
  • file: make dir iterator tolerate missing directories (Jianhui Zhao)

Bug Fixes

  • nl80211: Fix crash in parse_bss_ie (Jianhui Zhao)
  • uci: Resolve c:each crash with non-existent config (Jianhui Zhao)
  • mqtt: set DUP flag only for retransmitted PUBLISH packets (Jianhui Zhao)
  • mqtt: handle password independently in CONNECT packet (Jianhui Zhao)
  • mqtt: cancel wait_conack timer on error (Jianhui Zhao)
  • socket: cancel read operation on close (Jianhui Zhao)
  • prevent inherited fd leak at startup (Jianhui Zhao)

Code Refactoring

  • core: migrate to epoll-based runtime (Jianhui Zhao)
  • shared: replace with real mmap(MAP_SHARED) (Jianhui Zhao)
  • mqtt: split packet processing into dedicated handlers (Jianhui Zhao)
  • mqtt: prefer will.payload while keeping will.message compatibility (Jianhui Zhao)
  • mqtt: centralize remaining length encoding in packet packer (Jianhui Zhao)

Performance Improvements

  • mqtt: reset keepalive timer on outbound packets (Jianhui Zhao)
  • mqtt: Set PUBLISH DUP flag on retransmit (Jianhui Zhao)

v3.19.1

09 May 06:16

Choose a tag to compare

Features

Bug Fixes

  • mqtt: handle password independently in CONNECT packet (Jianhui Zhao)
  • mqtt: cancel wait_conack timer on error (Jianhui Zhao)
  • sys: Hardened sys.exec pipe handling with CLOEXEC (Jianhui Zhao)
  • prevent inherited fd leak at startup (Jianhui Zhao)

v3.19.0

27 Apr 07:36

Choose a tag to compare

Features

Bug Fixes

Chores

  • mqt: remove redundant opts reassignment in mqtt.new (Jianhui Zhao)

v3.18.0

14 Apr 11:16

Choose a tag to compare

Features

Bug Fixes

  • examples: use integer keepalive for MQTT example (Jianhui Zhao)
  • mqtt: retransmit pending QoS only on session resume #9 (Jianhui Zhao)
  • mqtt: handle zero-length packet payload in read_packet (Jianhui Zhao)

Performance Improvements

  • dns: cache hosts and resolv.conf parsing by mtime (Jianhui Zhao)
  • dns: move DNS parsing from Lua to C module (Jianhui Zhao)

v3.17.0

02 Apr 13:22

Choose a tag to compare

Features

Bug Fixes

  • nl80211: use RATE_INFO_BITRATE in parse_bitrate fallback (Jianhui Zhao)
  • ubus: unregister subscriber when subscribe fails (Jianhui Zhao)
  • ubus: release subscriber userdata when target object disappears (Jianhui Zhao)
  • sys: Handle ENOEXEC fallback in lua_exec (Jianhui Zhao)

Continuous Integration

  • remove obsolete libmnl-dev from build dependencies (Jianhui Zhao)

v3.16.0

25 Mar 14:01

Choose a tag to compare

Features

  • http: allow body_to_file to be a callback function (Jianhui Zhao)
  • Link liblua to modules for standalone use with native Lua (Jianhui Zhao)
  • core: print stack traceback while panic in coroutines. (Jianhui Zhao)
  • socket: add timeout support for accept() #18 (chenyk)
  • bump version 3.16.0 (Jianhui Zhao)

Bug Fixes

  • socket: fix type validation in lua_inet_ntoa (Jianhui Zhao)
  • http: fix CRLF handling in header parsing (Jianhui Zhao)
  • ssh: Fix crash in scp_send_data (Jianhui Zhao)
  • mqtt: require integer keepalive and use integer default (Jianhui Zhao)
  • mqtt: correct QoS ack flags and PUBREL handling (Jianhui Zhao)
  • mqtt: guard close() when socket is nil (Jianhui Zhao)
  • mqtt: correct remaining length max multiplier (Jianhui Zhao)
  • ubus: detect circular table references and raise Lua error (Jianhui Zhao)
  • http/client: harden body metatable checks (Jianhui Zhao)
  • http/client: avoid mutating multipart form payload (Jianhui Zhao)
  • http/client: correct clear internal socket field on close (Jianhui Zhao)
  • http/client: validate content-length before reading body (Jianhui Zhao)
  • http/client: make status line parsing more tolerant (Jianhui Zhao)
  • http/client: parse headers by first colon and trim safely (Jianhui Zhao)
  • http/client: normalize error returns in response body handling (Jianhui Zhao)
  • uci: Fix stack overflow in lua_uci_foreach (Jianhui Zhao)
  • ssl: bump ssl submodule to latest upstream (Jianhui Zhao)
  • ubus: validate message size before sending to libubus (Jianhui Zhao)
  • socket: return correct binary length in inet_pton (Jianhui Zhao)
  • sha1: fix length counter overflow on large inputs (Jianhui Zhao)
  • http.server: prevent docroot path traversal in static file serving (Jianhui Zhao)
  • http.server: validate Content-Length to avoid malformed request crashes (Jianhui Zhao)
  • http.url: support bracketed IPv6 literal hosts in URL parsing (Jianhui Zhao)
  • ip: use IFF_ALLMULTI in allmulticast change mask (Jianhui Zhao)
  • log: bump log submodule to latest upstream (Jianhui Zhao)

Performance Improvements

Chores

  • socket: remove stray character in IPv6 sockaddr parsing (Jianhui Zhao)

Commits

  • 0f22128: Revert "feat: detect and report coroutine blocking" (Jianhui Zhao)
  • remove redundant bss nil check in get_link() (Jianhui Zhao)

v3.15.0

06 Jan 04:19

Choose a tag to compare

Features

Bug Fixes

  • ssl: increase handshake timeout from 5s to 15s (Jianhui Zhao)
  • nl80211: add bounds check for RSN parsing (Jianhui Zhao)

Performance Improvements

Commits

v3.14.0

18 Nov 01:44

Choose a tag to compare

Features

Bug Fixes

Styles

  • nl80211: parse BSS IEs using named IEEE 802.11 element constants (Jianhui Zhao)

Performance Improvements

v3.13.0

06 Oct 12:08

Choose a tag to compare

Features

Bug Fixes

  • mqtt: Fix MQTT ping response timeout race condition (Jianhui Zhao)

v3.12.0

08 Sep 02:03

Choose a tag to compare

Features

Bug Fixes

  • ssl: Set the server_name before the handshake (Jianhui Zhao)