mirror of
https://github.com/bjc/prosody.git
synced 2025-03-31 11:47:40 +03:00
247 lines
8.4 KiB
Text
247 lines
8.4 KiB
Text
TRUNK
|
|
=====
|
|
|
|
13.0.0
|
|
======
|
|
|
|
**2025-03-13**
|
|
|
|
## New
|
|
|
|
## Modules
|
|
|
|
- mod_account_activity
|
|
- mod_cloud_notify
|
|
- mod_flags
|
|
- mod_http_altconnect
|
|
- mod_s2s_auth_dane_in
|
|
- mod_server_info
|
|
|
|
### Administration
|
|
|
|
- Add 'watch log' command to follow live debug logs at runtime (even if disabled)
|
|
- mod_announce: Add shell commands to send messages to all users, online users, or limited by roles
|
|
- New mod_account_activity plugin records last login/logout time of a user account
|
|
- New 'prosodyctl check features' recommends configuration improvements
|
|
|
|
### Networking
|
|
|
|
- Honour 'weight' parameter during SRV record selection
|
|
- Support for RFC 8305 "Happy Eyeballs" to improve IPv4/IPv6 connectivity
|
|
- Support for TCP Fast Open in server_epoll (pending LuaSocket support)
|
|
- Support for deferred accept in server_epoll (pending LuaSocket support)
|
|
|
|
### MUC
|
|
|
|
- Component admins are no longer room owners by default. This can be reverted
|
|
to the old behaviour with `component_admins_as_room_owners = true`, but this
|
|
has known incompatibilities with some clients. Instead, use the shell or
|
|
ad-hoc commands to gain ownership of rooms when necessary.
|
|
- Permissions updates:
|
|
- Room creation restricted to local users (of the parent host) by default
|
|
- restrict_room_creation = true restricts to admins, false disables all restrictions
|
|
- Persistent rooms can only be created by local users (parent host) by default
|
|
- muc_room_allow_persistent = false restricts to admins
|
|
- Public rooms can only be created by local users (parent host) by default
|
|
- muc_room_allow_public = false restricts to admins
|
|
- Commands to show occupants and affiliations in the Shell
|
|
- Save 'reason' text supplied with affiliation change
|
|
- Owners can set MUC avatars (functionality previously in community module mod_vcard_muc)
|
|
|
|
### Security and authentication
|
|
|
|
- Advertise supported SASL Channel-Binding types (XEP-0440)
|
|
- Implement RFC 9266 'tls-exporter' channel binding with TLS 1.3
|
|
- Implement 'tls-server-end-point' channel binding
|
|
- New role and permissions framework and API
|
|
- Ability to disable and enable user accounts
|
|
- Full DANE support for s2s
|
|
- A "grace period" is now supported for deletion requests via in-band registration
|
|
- No longer check certificate Common Names per RFC 9525
|
|
|
|
### Storage
|
|
|
|
- New 'keyval+' combined keyval/map store type
|
|
- Performance improvements in internal archive stores
|
|
- Ability to use SQLite3 storage using LuaSQLite3 instead of LuaDBI
|
|
- SQLCipher support
|
|
|
|
### Module API
|
|
|
|
- Config interface API can require that string values be picked from a provided set
|
|
- Acceptable interval can be specified for number options
|
|
- Method for parsing time periods / intervals from config
|
|
- Method for retrieving integer settings from config
|
|
- It is now easy for modules to expose a Prosody shell command, by adding a shell-command item
|
|
- Modules can now implement a module.ready method which will be called after server initialization
|
|
- module:depends() now accepts a second parameter 'soft' to enable soft dependencies
|
|
|
|
### Configuration
|
|
|
|
- The configuration file now supports referring and appending to options previously set
|
|
- Direct usage of the Lua API in the config file is deprecated, but can now be accessed via Lua.* instead
|
|
- Convenience functions for reading values from files, with variant meant for credentials or secrets
|
|
|
|
## Changes
|
|
|
|
- Support sub-second precision timestamps
|
|
- mod_blocklist: New option 'migrate_legacy_blocking' to disable migration from mod_privacy
|
|
- Moved all modules into the Lua namespace `prosody.`
|
|
- Forwarded header from RFC 7239 supported, disabled by default
|
|
- mod_http_file_share now uses roles framework, affecting access from e.g. components
|
|
- Intervals of mod_cron managed periodic jobs made configurable
|
|
- When mod_smacks is enabled, s2s connections not responding to ack requests are closed.
|
|
- Arguments to `prosodyctl shell` that start with ':' are now turned into method calls
|
|
- Support for Type=notify and notify-reload systemd service type added
|
|
- Support for the roster *group* access_model in mod_pep
|
|
- Support for systemd socket activation in server_epoll
|
|
- mod_invites_adhoc gained a command for creating password resets
|
|
- mod_cloud_notify imported from community modules for push notification support
|
|
- mod_http_altconnect imported from community modules, simplifying web clients
|
|
|
|
## Removed
|
|
|
|
- Lua 5.1 support
|
|
- XEP-0090 support removed from mod_time
|
|
- util.rfc6724
|
|
|
|
0.12.0
|
|
======
|
|
|
|
**2022-03-14**
|
|
|
|
## New
|
|
|
|
### Modules
|
|
|
|
- mod_mimicking: Prevent address spoofing
|
|
- mod_s2s_bidi: Bi-directional server-to-server (XEP-0288)
|
|
- mod_external_services: generic XEP-0215 support
|
|
- mod_turn_external: easy setup XEP-0215 for STUN+TURN
|
|
- mod_http_file_share: File sharing via HTTP (XEP-0363)
|
|
- mod_http_openmetrics for exposing metrics to stats collectors
|
|
- mod_smacks: Stream management and resumption (XEP-0198)
|
|
- mod_auth_ldap: LDAP authentication
|
|
- mod_cron: One module to rule all the periodic tasks
|
|
- mod_admin_shell: New home of the Console admin interface
|
|
- mod_admin_socket: Enable secure connections to the Console
|
|
- mod_tombstones: Prevent registration of deleted accounts
|
|
- mod_invites: Create and manage invites
|
|
- mod_invites_register: Create accounts using invites
|
|
- mod_invites_adhoc: Create invites via AdHoc command
|
|
- mod_bookmarks: Synchronise open rooms between clients
|
|
|
|
### Security and authentication
|
|
|
|
- SNI support (including automatic certificate selection)
|
|
- ALPN support in mod_net_multiplex
|
|
- DANE support in low-level network layer
|
|
- Direct TLS support (c2s and s2s)
|
|
- SCRAM-SHA-256
|
|
- Direct TLS (including https) certificates updated on reload
|
|
- Pluggable authorization providers (mod_authz_)
|
|
- Easy use of Mozilla TLS recommendations presets
|
|
- Unencrypted HTTP port (5280) restricted to loopback by default
|
|
- require_encryption options default to 'true' if unspecified
|
|
- Authentication module defaults to 'internal_hashed' if unspecified
|
|
|
|
### HTTP
|
|
|
|
- CORS handling now provided by mod_http
|
|
- Built-in HTTP server now handles HEAD requests
|
|
- Uploads can be handled incrementally
|
|
|
|
### API
|
|
|
|
- Module statuses (API change)
|
|
- util.error for encapsulating errors
|
|
- Promise based API for sending queries
|
|
- API for adding periodic tasks
|
|
- More APIs supporting ES6 Promises
|
|
- Async can be used during shutdown
|
|
|
|
### Other
|
|
|
|
- Plugin installer
|
|
- MUC presence broadcast controls
|
|
- MUC: support for XEP-0421 occupant identifiers
|
|
- `prosodyctl check connectivity` via observe.jabber.network
|
|
- STUN/TURN server tests in `prosodyctl check`
|
|
- libunbound for DNS queries
|
|
- The POSIX poll() API used by server_epoll on \*nix other than Linux
|
|
|
|
## Changes
|
|
|
|
- Improved rules for mobile optimizations
|
|
- Improved rules for what messages should be archived
|
|
- mod_limits: Exempted JIDs
|
|
- mod_server_contact_info now loaded on components if enabled
|
|
- Statistics now based on OpenMetrics
|
|
- Statistics scheduling can be done by plugin
|
|
- Offline messages aren't sent to MAM clients
|
|
- Archive quotas (means?)
|
|
- Rewritten migrator with archive support
|
|
- Improved automatic certificate locating and selecting
|
|
- Logging to syslog no longer missing startup messages
|
|
- Graceful shutdown sequence that closes ports first and waits for
|
|
connections to close
|
|
|
|
## Removed
|
|
|
|
- `daemonize` option deprecated
|
|
- SASL DIGEST-MD5 removed
|
|
- mod_auth_cyrus (older LDAP support)
|
|
- Network backend server_select deprecated (not actually removed yet)
|
|
|
|
0.11.0
|
|
======
|
|
|
|
**2018-11-18**
|
|
|
|
New features
|
|
------------
|
|
|
|
- Rewritten more extensible MUC module
|
|
- Store inactive rooms to disk
|
|
- Store rooms to disk on shutdown
|
|
- Voice requests
|
|
- Tombstones in place of destroyed rooms
|
|
- PubSub features
|
|
- Persistence
|
|
- Affiliations
|
|
- Access models
|
|
- "publish-options"
|
|
- PEP now uses our pubsub code and now shares the above features
|
|
- Asynchronous operations
|
|
- Busted for tests
|
|
- mod\_muc\_mam (XEP-0313 in groupchats)
|
|
- mod\_vcard\_legacy (XEP-0398)
|
|
- mod\_vcard4 (XEP-0292)
|
|
- mod\_csi, mod\_csi\_simple (XEP-0352)
|
|
- New experimental network backend "epoll"
|
|
|
|
0.10.0
|
|
======
|
|
|
|
**2017-10-02**
|
|
|
|
New features
|
|
------------
|
|
|
|
- Rewritten SQL storage module with Archive support
|
|
- SCRAM-SHA-1-PLUS
|
|
- `prosodyctl check`
|
|
- Statistics
|
|
- Improved TLS configuration
|
|
- Lua 5.2 support
|
|
- mod\_blocklist (XEP-0191)
|
|
- mod\_carbons (XEP-0280)
|
|
- Pluggable connection timeout handling
|
|
- mod\_websocket (RFC 7395)
|
|
- mod\_mam (XEP-0313)
|
|
|
|
Removed
|
|
-------
|
|
|
|
- mod\_privacy (XEP-0016)
|
|
- mod\_compression (XEP-0138)
|