Log

description author age
luacheck: Set expected globals to Lua 5.4 + compat Kim Alvefur Sun, 10 Jul 2022 16:10:29 +0200
core.s2smanager: Don't remove unrelated session on close of bidi session 0.12 Kim Alvefur Mon, 27 Jun 2022 01:22:36 +0200
Merge 0.12->trunk Kim Alvefur Fri, 08 Jul 2022 19:56:29 +0200
luacheck: Shut up (backports 3caff1f93520, ignores module deleted in trunk) 0.12 Kim Alvefur Mon, 30 May 2022 17:34:58 +0200
Merge 0.12->trunk Kim Alvefur Fri, 08 Jul 2022 19:43:47 +0200
Backport 875f73ead4e8 8e4033213c62 to deal with luacheck 0.26 0.12 Kim Alvefur Fri, 08 Jul 2022 19:42:48 +0200
Merge 0.12->trunk Kim Alvefur Fri, 08 Jul 2022 19:36:07 +0200
util.datamapper: Improve handling of schemas with non-obvious "type" 0.12 Kim Alvefur Fri, 08 Jul 2022 17:32:48 +0200
util.jsonschema: Fix validation to not assume presence of "type" field 0.12 Kim Alvefur Fri, 08 Jul 2022 14:38:23 +0200
executables: Reject Lua 5.1 early Kim Alvefur Sat, 02 Jul 2022 17:27:39 +0200
CHANGES: Lua 5.1 support removed (closes #1600) Kim Alvefur Tue, 05 Jul 2022 14:59:47 +0200
util.envload: Remove Lua 5.1 method Kim Alvefur Tue, 05 Jul 2022 14:18:32 +0200
util-src: Remove Lua 5.1 compat macros Kim Alvefur Fri, 01 Jul 2022 21:21:21 +0200
mod_storage_sql: Remove Lua 5.1 compatibility hack Kim Alvefur Sat, 02 Jul 2022 17:30:06 +0200
util: Remove various Lua 5.1 compatibility hacks Kim Alvefur Sat, 02 Jul 2022 17:31:14 +0200
util.dependencies: Reject Lua 5.1, Lua 5.2 or later is now required (see #1600) Kim Alvefur Sat, 02 Jul 2022 17:30:34 +0200
tests: Remove special-casing of Lua 5.1 Kim Alvefur Sat, 02 Jul 2022 17:29:03 +0200
configure: No longer accept Lua 5.1 Kim Alvefur Thu, 30 Jun 2022 17:00:35 +0200
util.dependencies: Deprecate support for Lua 5.1, this is your final warning Kim Alvefur Thu, 30 Jun 2022 17:03:50 +0200
util.hashes: Revert to HMAC() convenience function Kim Alvefur Fri, 24 Jun 2022 16:59:54 +0200
util.hashes: Remove unused constants Kim Alvefur Fri, 24 Jun 2022 16:49:03 +0200
util.hashes: Remove unused struct Kim Alvefur Fri, 24 Jun 2022 16:12:11 +0200
util.hashes: Return OpenSSL error messages on failure Kim Alvefur Fri, 24 Jun 2022 15:33:04 +0200
util.hashes: Add SHA3 bindings Kim Alvefur Thu, 10 Sep 2020 21:58:24 +0200
util.hashes: Bind BLAKE2 algoritms supported by OpenSSL Kim Alvefur Thu, 10 Sep 2020 21:58:24 +0200
util.hashes: Refactor PBKDF2 to deduplicate code Kim Alvefur Thu, 10 Sep 2020 21:58:25 +0200
util.hashes: Expose sha224 and sha384 HMAC functions Kim Alvefur Sun, 29 Nov 2020 17:58:45 +0100
util.hashes: Refactor HMAC bindings (fixes #1589) Kim Alvefur Sun, 29 Nov 2020 17:58:30 +0100
util.hashes: Refactor hash functions to use OpenSSL EVP methods (fix #1698) Kim Alvefur Thu, 10 Sep 2020 21:58:23 +0200
Merge 0.12->trunk Kim Alvefur Sun, 19 Jun 2022 19:58:12 +0200
net.unbound: Merge luaunbound and prosody defaults in absence of user config (fixes #1763) (thanks rgd) 0.12 Kim Alvefur Sun, 19 Jun 2022 19:49:32 +0200
mod_mam: Silence luacheck (yay warnings in CI but not locally) Kim Alvefur Tue, 14 Jun 2022 22:06:21 +0200
mod_mam: Clarify comment (thanks chili-b) Kim Alvefur Tue, 14 Jun 2022 22:03:02 +0200
Merge 0.12->trunk Kim Alvefur Tue, 14 Jun 2022 19:21:20 +0200
util.startup: Fix async waiting for last shutdown steps 0.12 Kim Alvefur Tue, 14 Jun 2022 16:28:49 +0200
mod_csi_simple: Collect stats on number of stanzas per flush Kim Alvefur Tue, 14 Jun 2022 03:31:30 +0200
mod_admin_shell: Show session id ping reply came Kim Alvefur Mon, 13 Jun 2022 21:25:42 +0200
Merge 0.12->trunk Kim Alvefur Mon, 13 Jun 2022 19:17:36 +0200
mod_smacks: Fix #1761 by setting a flag earlier 0.12 Kim Alvefur Sun, 12 Jun 2022 01:50:33 +0200
net.http.codes: Refresh from registry, many refs now point to RFC9110 Kim Alvefur Mon, 13 Jun 2022 18:41:13 +0200
util.watchdog: Allow passing a new timeout to :reset() Matthew Wild Sat, 11 Jun 2022 22:15:31 +0100
util.watchdog: Allow :reset() to restart a cancelled watchdog Matthew Wild Sat, 11 Jun 2022 22:15:14 +0100
util.watchdog: Update to use "new" util.timer API Matthew Wild Sat, 11 Jun 2022 21:11:01 +0100
Merge 0.12->trunk Matthew Wild Thu, 09 Jun 2022 12:43:43 +0100
Added tag 0.12.1 for changeset 252ed01896dd 0.12 Matthew Wild Thu, 09 Jun 2022 12:42:57 +0100
net.server: Fix multiple return values Kim Alvefur Fri, 03 Jun 2022 17:51:42 +0200
mod_saslauth: Advertise channel bindings via XEP-0440 Kim Alvefur Sun, 06 Dec 2020 22:04:43 +0100
mod_admin_shell: Include last (mod_cron) task run time in module:info() Kim Alvefur Wed, 01 Jun 2022 17:27:17 +0200
util.prosodyctl.shell: Print errors in red to highlight them Kim Alvefur Wed, 01 Jun 2022 13:59:00 +0200
mod_admin_shell: Drop unused argument [luacheck] Kim Alvefur Tue, 31 May 2022 13:26:44 +0200
mod_admin_shell: Show bound ports in module:info Kim Alvefur Tue, 31 May 2022 00:31:56 +0200
mod_admin_shell: Document the 'watch' section in the built-in help Kim Alvefur Mon, 30 May 2022 14:54:10 +0200
util.openmetrics: Set __name field on metatables to improve error messages Kim Alvefur Mon, 30 May 2022 17:37:25 +0200
util.openmetrics: Set (previously unused, empty) metatable Kim Alvefur Mon, 30 May 2022 17:34:58 +0200
luacheck: Ignore new warning about uses of `not (x == y)` and similar Kim Alvefur Mon, 30 May 2022 17:12:58 +0200
luacheck: Ignore new warning about using variables prefixed with '_' Kim Alvefur Mon, 30 May 2022 16:49:52 +0200
core.configmanager: Remove COMPAT for old config format from 2013 Kim Alvefur Sun, 29 May 2022 16:06:42 +0200
util.vcard: Delete since nothing uses it Kim Alvefur Mon, 30 May 2022 16:25:35 +0200
prosodyctl shell: Communicate width of terminal to mod_admin_shell Kim Alvefur Mon, 30 May 2022 15:28:44 +0200
mod_smacks: Indicate that bounces are generated by the server Kim Alvefur Fri, 27 May 2022 14:54:32 +0200
Merge 0.12->trunk Kim Alvefur Fri, 27 May 2022 15:08:55 +0200
mod_smacks: Bounce unhandled stanzas from local origin (fix #1759) 0.12 0.12.1 Kim Alvefur Fri, 27 May 2022 14:45:35 +0200
mod_smacks: Fix bounce of stanzas directed to full JID on unclean disconnect 0.12 Kim Alvefur Fri, 27 May 2022 12:05:47 +0200
mod_smacks: Remove debug log references to timer (not used anymore) Kim Alvefur Thu, 26 May 2022 19:24:01 +0200
Merge 0.12->trunk Kim Alvefur Thu, 26 May 2022 17:48:59 +0200
mod_smacks: Fix to use current method of counting acked stanzas 0.12 Kim Alvefur Thu, 26 May 2022 17:38:55 +0200
Merge 0.12->trunk Kim Alvefur Thu, 26 May 2022 13:46:10 +0200
util.prosodyctl.check: Remove now redundant unbound config tweak 0.12 Kim Alvefur Thu, 26 May 2022 13:03:58 +0200
mod_smacks: Use session logging for remaining log messages Kim Alvefur Sat, 21 May 2022 13:11:25 +0200
mod_smacks: Factor out some convenience functions Kim Alvefur Fri, 11 Feb 2022 16:09:42 +0100
util.stanza: Document top level attributes in Teal definition Kim Alvefur Tue, 17 May 2022 17:06:36 +0200
util.stanza: Document error conditions in Teal definition Kim Alvefur Tue, 17 May 2022 17:05:15 +0200
net.server_epoll: Add option to defer accept() until data available Kim Alvefur Sun, 15 May 2022 22:41:17 +0200
net.server_epoll: Wrap LuaSocket object earlier to reuse option setting method Kim Alvefur Fri, 16 Jul 2021 00:57:42 +0200
net.server_epoll: Move call to refresh remote IP address out of wrapper Kim Alvefur Fri, 16 Jul 2021 00:56:45 +0200
net.server_epoll: Add support for TCP Fast Open Kim Alvefur Thu, 08 Jul 2021 12:29:50 +0200
Merge 0.12->trunk Kim Alvefur Mon, 16 May 2022 14:51:58 +0200
net.unbound: Adjust log level of error to error to error 0.12 Kim Alvefur Mon, 16 May 2022 14:51:01 +0200
net.unbound: Disable use of hosts file by default (fixes #1737) 0.12 Kim Alvefur Mon, 16 May 2022 12:45:51 +0200
Merge 0.12->trunk Kim Alvefur Mon, 16 May 2022 11:42:31 +0200
core.certmanager: Expand debug messages about cert lookups in index 0.12 Kim Alvefur Mon, 16 May 2022 11:39:17 +0200
Merge 0.12->trunk Kim Alvefur Sun, 15 May 2022 23:22:33 +0200
mod_admin_shell: Tighten up type checks to fix #1754 (thanks clouded) 0.12 Kim Alvefur Sun, 15 May 2022 23:16:14 +0200
mod_smacks: Initialize queue before sending <enable> Kim Alvefur Sun, 15 May 2022 16:12:34 +0200
mod_cron: Remove difference between teal version Kim Alvefur Sun, 15 May 2022 15:29:02 +0200
teal/moduleapi: Describe timer wrapper Kim Alvefur Sun, 15 May 2022 15:27:35 +0200
Merge 0.12->trunk Kim Alvefur Mon, 09 May 2022 22:40:45 +0200
util.jsonschema: Lua <5.3 compat here too 0.12 Kim Alvefur Mon, 09 May 2022 22:39:05 +0200
util.jsonpointer: Fix Lua <5.3 compat 0.12 Kim Alvefur Mon, 09 May 2022 22:36:57 +0200
util.async: Add Teal description file Kim Alvefur Sun, 08 May 2022 15:21:35 +0200
Merge 0.12->trunk Kim Alvefur Sun, 08 May 2022 18:06:41 +0200
util.jsonpointer: Fix off-by-one in array resolution 0.12 Kim Alvefur Sun, 08 May 2022 18:04:50 +0200
util.jsonpointer: Add basic tests 0.12 Kim Alvefur Sun, 08 May 2022 18:03:44 +0200
mod_s2s: Log queued stanzas for which no error reply is produced Kim Alvefur Sat, 07 May 2022 13:10:27 +0200
mod_s2s: Don't bounce queued error stanzas (thanks Martin) Kim Alvefur Sat, 07 May 2022 13:01:49 +0200
Merge 0.12->trunk Matthew Wild Fri, 06 May 2022 17:09:06 +0100
mod_invites_adhoc: Fall back to generic allow_user_invites for role-less users 0.12 Matthew Wild Fri, 06 May 2022 17:08:49 +0100
Merge 0.12->trunk Kim Alvefur Thu, 05 May 2022 14:15:15 +0200
mod_cron: Fix recording last task run time #1751 0.12 Kim Alvefur Thu, 05 May 2022 14:10:59 +0200
util.prosodyctl.check: turn: Report lack of TURN services as a problem #1749 0.12 Kim Alvefur Tue, 03 May 2022 19:36:17 +0200
net.server_select: Restore dependency on LuaSec to soft for tests Kim Alvefur Wed, 27 Apr 2022 21:45:36 +0200
net.tls_luasec: Harden dependency on LuaSec Kim Alvefur Wed, 27 Apr 2022 21:34:35 +0200
Merge 0.12->trunk Kim Alvefur Wed, 27 Apr 2022 21:12:25 +0200
mod_tls: pass target hostname to starttls Jonas Schäfer Fri, 17 Sep 2021 21:43:54 +0200
mod_tls: tell network backend to stop reading while preparing TLS Jonas Schäfer Sat, 02 Apr 2022 11:18:57 +0200
mod_tls: Do not offer TLS if the connection is considered secure Jonas Schäfer Fri, 17 Sep 2021 21:18:30 +0200
net: refactor sslconfig to not depend on LuaSec Jonas Schäfer Sat, 02 Apr 2022 11:15:33 +0200
net: isolate LuaSec-specifics Jonas Schäfer Wed, 27 Apr 2022 17:44:14 +0200
core.moduleapi: Fix 'global' property via :context() - #1748 0.12 Kim Alvefur Wed, 27 Apr 2022 17:18:46 +0200
Merge 0.12->trunk Matthew Wild Mon, 25 Apr 2022 16:35:10 +0100
util.argparse: Revise 553c6204fe5b with a different approach 0.12 Matthew Wild Mon, 25 Apr 2022 15:24:56 +0100
Merge 0.12->trunk Matthew Wild Mon, 25 Apr 2022 15:09:53 +0100
util.argparse: Return final 'arg' table with positional arguments for convenience 0.12 Matthew Wild Mon, 25 Apr 2022 15:09:41 +0100
mod_s2s: Improve robustness of outgoing s2s certificate verification 0.12 Matthew Wild Mon, 25 Apr 2022 15:07:49 +0100
mod_s2s: Distinguish DANE TLSA errors from generic cert chain errors Kim Alvefur Mon, 25 Apr 2022 14:41:54 +0200
mod_s2s: Recognise and report errors with CA or intermediate certs Kim Alvefur Mon, 25 Apr 2022 14:36:56 +0200
mod_smacks: Improve activation of smacks on outgoing s2s Kim Alvefur Sun, 24 Apr 2022 16:17:32 +0200
util.crand: Reduce scope here too Kim Alvefur Sat, 23 Apr 2022 14:37:43 +0200
util.strbitop: Reduce scope of functions Kim Alvefur Sat, 23 Apr 2022 14:29:43 +0200
net.connect: Fix accumulation of connection attempt references Kim Alvefur Wed, 20 Apr 2022 22:41:54 +0200
Merge 0.12->trunk Matthew Wild Wed, 13 Apr 2022 18:46:26 +0100
util.prosodyctl: check turn: ensure a result is always returned from a check (thanks eTaurus) 0.12 Matthew Wild Wed, 13 Apr 2022 18:46:11 +0100
make: Install stanza watcher library (thanks Menel) Kim Alvefur Wed, 13 Apr 2022 16:53:19 +0200
mod_admin_shell: Add watch:stanzas() command Matthew Wild Wed, 23 Mar 2022 13:43:08 +0000
mod_debug_stanzas/watcher: New module library to dynamically 'watch' for stanzas Matthew Wild Wed, 23 Mar 2022 13:42:44 +0000
mod_s2s: Store real stanzas in session.sendq, rather than strings Matthew Wild Wed, 23 Mar 2022 15:25:22 +0000
Merge 0.12->trunk Kim Alvefur Fri, 08 Apr 2022 23:38:10 +0200
mod_storage_xep0227: Fix mapping of nodes without explicit configuration 0.12 Kim Alvefur Fri, 08 Apr 2022 23:35:31 +0200
Merge 0.12->trunk Kim Alvefur Fri, 08 Apr 2022 15:17:11 +0200
mod_storage_xep0227: Fix conversion of SCRAM into internal format (fix #1741) 0.12 Kim Alvefur Fri, 08 Apr 2022 15:09:19 +0200
mod_storage_xep0227: Support basic listing of PEP nodes in absence of pubsub#admin data 0.12 Kim Alvefur Thu, 31 Mar 2022 18:53:23 +0200
mod_storage_xep0227: Improve logging 0.12 Kim Alvefur Tue, 29 Mar 2022 19:58:28 +0200
Merge 0.12->trunk Matthew Wild Thu, 07 Apr 2022 17:22:22 +0100
mod_storage_xep0227: Handle missing {pubsub#owner}pubsub element (fixes #1740) 0.12 Matthew Wild Thu, 07 Apr 2022 17:22:02 +0100
Merge 0.12->trunk Kim Alvefur Tue, 05 Apr 2022 19:49:18 +0200
prosodyctl: Pass server when listing (outdated) plugins (fix #1738) 0.12 Kim Alvefur Tue, 05 Apr 2022 14:27:37 +0200
Merge 0.12->trunk Kim Alvefur Mon, 04 Apr 2022 19:10:05 +0200
core.modulemanager: Fix global flag on per-host instances of shared modules (fix #1736) 0.12 Kim Alvefur Mon, 04 Apr 2022 18:44:57 +0200
Merge 0.12->trunk Matthew Wild Sun, 03 Apr 2022 12:57:11 +0100
configmanager: Clearer errors when providing unexpected values after VirtualHost (fixes #1735, thanks arawaks) 0.12 Matthew Wild Sun, 03 Apr 2022 12:56:11 +0100
Merge 0.12->trunk Kim Alvefur Sat, 02 Apr 2022 16:39:29 +0200
util.random: Test whether util.crand works before using it (fix #1734) 0.12 Kim Alvefur Sat, 02 Apr 2022 16:33:27 +0200
Merge 0.12->trunk Matthew Wild Mon, 28 Mar 2022 14:53:46 +0100
mod_http (and dependent modules): Make CORS opt-in by default (fixes #1731) 0.12 Matthew Wild Mon, 28 Mar 2022 14:53:24 +0100
mod_http: Reintroduce support for disabling or limiting CORS (fixes #1730) 0.12 Matthew Wild Mon, 28 Mar 2022 14:40:21 +0100
Merge 0.12->trunk Matthew Wild Mon, 28 Mar 2022 11:42:16 +0100
prosodyctl: check config: Report paths of loaded configuration files (fixed #1729) 0.12 Matthew Wild Mon, 28 Mar 2022 11:41:57 +0100
configmanager: Add method to report loaded config files (part of #1729 fix) 0.12 Matthew Wild Mon, 28 Mar 2022 11:41:32 +0100
Merge 0.12->trunk Matthew Wild Mon, 28 Mar 2022 11:08:53 +0100
mod_tombstones: Add caching to improve performance on busy servers (fixes #1728) 0.12 Matthew Wild Mon, 28 Mar 2022 11:08:18 +0100
mod_turn_external: Update status and friendlier handling of missing secret option (fixes #1727) 0.12 Matthew Wild Mon, 28 Mar 2022 10:47:21 +0100
Merge 0.12->trunk Kim Alvefur Sun, 27 Mar 2022 18:45:19 +0200
prosodyctl about: Report version of lua-readline 0.12 Kim Alvefur Sun, 27 Mar 2022 14:05:56 +0200
Merge 0.12->trunk Matthew Wild Thu, 24 Mar 2022 22:30:14 +0000
MUC: Allow kicking users with the same affiliation as the kicker (fixes #1724) 0.12 Matthew Wild Wed, 23 Mar 2022 13:38:55 +0000
Merge 0.12->trunk Kim Alvefur Wed, 23 Mar 2022 16:25:37 +0100
mod_external_services: Move error message to correct place (fix #1725) 0.12 Kim Alvefur Wed, 23 Mar 2022 15:29:01 +0100
mod_adhoc: Simplify variable references Kim Alvefur Tue, 22 Mar 2022 18:07:11 +0100
adhoc: Include stanza and origin in adhoc event data Kim Alvefur Mon, 06 Mar 2017 15:19:35 +0100
Merge 0.12->trunk Matthew Wild Mon, 21 Mar 2022 12:36:38 +0000
mod_pubsub: Don't attempt to use server actor as publisher (fixes #1723) 0.12 Matthew Wild Mon, 21 Mar 2022 12:36:20 +0000
net.connect: Improve logging on connection attempt failure Matthew Wild Mon, 21 Mar 2022 11:15:30 +0000
net.connect: Improve handling of failure when attempts are still pending Matthew Wild Mon, 21 Mar 2022 11:01:58 +0000
Merge 0.12->trunk Matthew Wild Mon, 21 Mar 2022 10:07:08 +0000
util.startup: Show error for unrecognized arguments passed to 'prosody' (fixes #1722) 0.12 Matthew Wild Mon, 21 Mar 2022 10:06:48 +0000
CHANGES: Update to add new changes in trunk Matthew Wild Sat, 19 Mar 2022 11:47:52 +0000
Merge 0.12->trunk Matthew Wild Sat, 19 Mar 2022 11:47:30 +0000
CHANGES: Update to reflect 0.12.0 release 0.12 Matthew Wild Sat, 19 Mar 2022 11:41:05 +0000
Merge 0.12->trunk Matthew Wild Sat, 19 Mar 2022 11:38:36 +0000
mod_admin_socket: Improve error reporting when socket can't be created (fixes #1719) 0.12 Matthew Wild Sat, 19 Mar 2022 11:38:21 +0000
Merge 0.12->trunk Matthew Wild Sat, 19 Mar 2022 11:09:28 +0000
prosodyctl: check turn: Fail with error if our own address is supplied for the ping test 0.12 Matthew Wild Sat, 19 Mar 2022 11:09:10 +0000
Merge 0.12->trunk Matthew Wild Sat, 19 Mar 2022 09:28:59 +0000
prosodyctl: check config: Skip bare JID components in orphan check 0.12 Matthew Wild Sat, 19 Mar 2022 09:28:27 +0000
net.resolvers.basic: Fix incorrect field name (thanks CI) Matthew Wild Fri, 18 Mar 2022 20:14:20 +0000
net.connect: When more targets are immediately available, try them after a delay Matthew Wild Fri, 18 Mar 2022 16:16:57 +0000
net.connect: Support for multiple pending connection attempts Matthew Wild Fri, 18 Mar 2022 16:16:01 +0000
net.resolvers.basic: Indicate to callback if we have more targets available Matthew Wild Fri, 18 Mar 2022 16:13:09 +0000
net.resolvers.basic: Alternate IP address family targets, per RFC 8305 Matthew Wild Fri, 18 Mar 2022 16:10:26 +0000
net.resolvers.basic: Refactor to remove code duplication Matthew Wild Fri, 18 Mar 2022 16:09:22 +0000
util.stanza: Create tables with correct size to avoid reallocations Kim Alvefur Fri, 18 Mar 2022 16:43:06 +0100
util.stanza: Use table.move in clone Kim Alvefur Fri, 18 Mar 2022 16:39:48 +0100
util.table: Compatibility with Lua 5.1 lua_equals Matthew Wild Fri, 18 Mar 2022 15:29:05 +0000
util.table: tests: Tests for table.move() Matthew Wild Fri, 18 Mar 2022 15:24:12 +0000
util.array: Take advantage of table.move() Matthew Wild Fri, 18 Mar 2022 15:22:00 +0000
util.table: Backport table.move() from Lua 5.4 Matthew Wild Fri, 18 Mar 2022 15:21:25 +0000
net.resolvers.service: Honour record 'weight' when picking SRV targets Matthew Wild Thu, 17 Mar 2022 18:20:26 +0000
util.poll: Expand stub tests Kim Alvefur Thu, 17 Mar 2022 13:15:50 +0100
mod_admin_shell: Add watch:log() command to tail logs in realtime Matthew Wild Thu, 17 Mar 2022 10:24:38 +0000
mod_admin_shell: Add session.is_connected() method Matthew Wild Thu, 17 Mar 2022 10:23:12 +0000
mod_admin_shell: Add session.write() method to write data to client with no \n Matthew Wild Thu, 17 Mar 2022 10:22:47 +0000
util.prosodyctl.shell: Support for receiving partial lines (no automatic \n) Matthew Wild Thu, 17 Mar 2022 10:21:43 +0000