CHANGELOG update

This commit is contained in:
Goffi 2026-03-09 09:22:02 +01:00
commit 420df3340d

View file

@ -1,7 +1,8 @@
All theses changelogs are not exhaustive, please check the Mercurial repository for more details. All theses changelogs are not exhaustive, please check the Mercurial repository for more details.
v 0.9.0 « La Ruche » (NOT RELEASED YET): v 0.9.0 « La Ruche » (NOT RELEASED YET):
- core: - core:
- configuration: replaced legacy INI config system with Pydantic-based TOML configuration
- identity: make the plugin compatible with component + description - identity: make the plugin compatible with component + description
- identity, XEP-0054: move avatar resizing and caching method to identity plugin - identity, XEP-0054: move avatar resizing and caching method to identity plugin
- XEP-0060: PAM + PSS implementation - XEP-0060: PAM + PSS implementation
@ -14,6 +15,7 @@ v 0.9.0 « La Ruche » (NOT RELEASED YET):
- XEP-0215: "External Service Discovery" implementation - XEP-0215: "External Service Discovery" implementation
- XEP-0277: post repeating implementation - XEP-0277: post repeating implementation
- XEP-0292: "vCard4 Over XMPP" implementation - XEP-0292: "vCard4 Over XMPP" implementation
- XEP-0358: "Publishing Available Jingle Sessions" implementation
- XEP-0372: "References" implementation - XEP-0372: "References" implementation
- XEP-0373: "OpenPGP for XMPP" implementation - XEP-0373: "OpenPGP for XMPP" implementation
- XEP-0374: "OpenPGP for XMPP Instant Messaging" implementation - XEP-0374: "OpenPGP for XMPP Instant Messaging" implementation
@ -31,14 +33,62 @@ v 0.9.0 « La Ruche » (NOT RELEASED YET):
- XEP-0471: "Events" implementation - XEP-0471: "Events" implementation
- XEP-0473: "OpenPGP for XMPP Pubsub" implementation - XEP-0473: "OpenPGP for XMPP Pubsub" implementation
- XEP-0477: "Pubsub Targeted Encryption" implementation - XEP-0477: "Pubsub Targeted Encryption" implementation
- xml_tools: add support for `list-multi` data form field type - XEP-0004: new data form implementation using Pydantic
- XEP-0033: code modernization, improved delivery with multicast support
- XEP-0402: "PEP Native Bookmarks" implementation (with fallback to legacy XEP-0048)
- XEP-0131: "Stanza Headers and Internet Metadata" implementation
- XEP-0272: "Multiparty Jingle (Muji)" implementation
- XEP-0298: "Delivering Conference Information to Jingle Participants (Coin)" implementation
- XEP-0308: "Last Message Correction" implementation
- XEP-0343: "Signaling WebRTC Data Channels in Jingle" implementation
- XEP-0424: message retraction update
- XEP-0428: add missing "for" attribute to <fallback> element
- XEP-0433: "Extended Channel Search" implementation
- XEP-0461: "Message Replies" implementation with thread support
- XEP-0498: "Pubsub File Sharing" minimal implementation
- XEP-0499: "Pubsub Extended Discovery" implementation
- XEP-0504: "Data Policy" implementation
- SCRAM-SHA authentication implementation
- Tor integration: support for .onion domains and explicit Tor mode
- forge plugin: Code forge and Git repository management
- app manager improvements: password storage, web URL handling, Docker integration
- JID search plugin: unified search with MUC and extended channel search
- removed all uses of pickle in favor of JSON serialization for security and compatibility
- message reception workflow refactored to use async/await with ordered queue processing
- SatXMPPEntity can now handle plugin data with proper type hints
- notification system implementation with a dedicated database table to replace send-and-forget
- extensive use of Pydantic models for data validation and serialization
- massive refactoring to switch from camelCase to snake_case - massive refactoring to switch from camelCase to snake_case
- experimental Jingle Remote Control implementation for remote desktop control
(protoXEP at https://xmpp.org/extensions/inbox/remote-control.html)
- modern type hints throughout the codebase
- code reformating (via tools like "black")
- progressive removal of legacy twisted inline callbacks in favor of async
coroutines
- components: - components:
- new ActivityPub <=> XMPP Gateway - new ActivityPub <=> XMPP Gateway
- Email Gateway: XMPP <=> Email bidirectional gateway with IMAP/SMTP support
- mailing list detection and conversion to pubsub nodes
- attachments handling with XEP-0498 pubsub service
- multicasting support via XEP-0033
- XEP-0131 headers conversion (Keywords, Importance)
- experimental Gateway Relayed Encryption (GRE) with MIME and OpenPGP
- Autocrypt header support for opportunistic encryption
- Ad-Hoc commands for email management (delete, move, flags)
- message cleaning for noisy content in mailing lists
- Conferences component: SFU-based multi-party A/V conferences using Galène
- templates: - templates:
- bulma (blog/item): `published` timestamp now links to the item - bulma: major redesign. Most of features now use a 3 panels view (find/discover
panel on left, content in center, and various useful data on right panel).
- bulma: move from Fontello to Font-Awesome
- bulma (calendar): calendar and its daily view - bulma (calendar): calendar and its daily view
- bulma: new `retry-notification` template - bulma: new `retry-notification` template
- bulma (chat): major redesign, implement many features such as threads and
replies UI, keywords handling, message origin display, "Data Policy" badge and
panel, message forwarding, rich editing, extra recipients UI, etc.
- bulma (forums): major redesign
- bulma (call): call redesign with improved UI
- bulma (forge): code forge with tickets integration
- cli: - cli:
- blog: new `--attachment` argument to attach files or external data to a blog post - blog: new `--attachment` argument to attach files or external data to a blog post
- blog: new `repeat` subcommand, to re-publish a blog post - blog: new `repeat` subcommand, to re-publish a blog post
@ -56,11 +106,32 @@ v 0.9.0 « La Ruche » (NOT RELEASED YET):
- pubsub/set,edit: add `--sign` argument - pubsub/set,edit: add `--sign` argument
- pubsub/signature: add `sign` command - pubsub/signature: add `sign` command
- new `blocking` commands - new `blocking` commands
- call: A/V calls with multiple outputs (gui, tui, simple, no_ui)
- GUI output with PyQt6 for full-featured graphical interface
- TUI output with video embedded in terminal (via term-image or Unicode blocks)
- support for file transfer
- screensharing support for X11 and Wayland (via xdg-desktop-portal)
- stdin/stdout redirection for pipeline integration
- custom GStreamer pipelines support
- recording to file descriptor
- contacts: new commands for Pubsub Contacts (XEP-0510)
- gateway: commands to handle XMPP gateways discovery
- info: new `tor` subcommand to display Tor daemon and circuit information
- message/send: addressing metadata support (to, cc, bcc, reply-to, reply-room, no-reply)
- message/send: keywords and headers support (XEP-0131)
- notification: commands to manage notifications
- pubsub: hierarchy listing with extended discovery (XEP-0499)
- remote-control: commands for Jingle Remote Control (send/receive)
- bookmarks: migrated to XEP-0402 with `bookmarks legacy` for old XEP-0048 commands
- output: new `model` output for Pydantic models serialization
- rich library integration for better JSON and terminal output
- web: - web:
- browser: major updates for new design
- pages: `page_max` query parameter can now be used on pubsub based pages - pages: `page_max` query parameter can now be used on pubsub based pages
- pages (blog/edit): allow comments when editing a post - pages (blog/edit): allow comments when editing a post
- pages (blog/view): activate pagination when a single item is shown - pages (blog/view): activate pagination when a single item is shown
- pages (calendar): calendar page - pages (calendar): calendar page
- pages (forge): forge implementation with tickets integration and single commit view
- server, browser: dynamic pages refactoring: - server, browser: dynamic pages refactoring:
- Pages are now dynamic by default, and a websocket is established by the first connected page of a session - Pages are now dynamic by default, and a websocket is established by the first connected page of a session
- The socket is used to transmit bridge signals, and then the signal is broadcasted to other tabs using broadcast channel - The socket is used to transmit bridge signals, and then the signal is broadcasted to other tabs using broadcast channel
@ -69,6 +140,20 @@ v 0.9.0 « La Ruche » (NOT RELEASED YET):
- server: don't wait anymore for libervia app to be fully started - server: don't wait anymore for libervia app to be fully started
- server: fix inverse URL redirection for root path + allow multiple inverse redirections - server: fix inverse URL redirection for root path + allow multiple inverse redirections
- server: handle "proxy" scheme in configuration - server: handle "proxy" scheme in configuration
- server: `G` variable added for global values
- server: settings refactored following backend changes, resources configuration
now uses TOML file
- browser (chat): major update for the new design (threads, replies, rich editor,
etc.)
- browser (forums): major redesign of forum feature
- browser (calls): new design with local video moving/resizing support
- browser (calls): WebRTC file sharing during calls
- browser (calls): remote control implementation
- browser (calls): group calls and conferences implementation
- browser: theme fallback mechanism in template
- browser: Modal dialog with fullscreen and clone options
- build/installation:
- migrated from setup.py to pyproject.toml
v 0.8.0 « La Cecília » (30/11/2021): v 0.8.0 « La Cecília » (30/11/2021):
- renamed the project from "Salut à Toi" to "Libervia" - renamed the project from "Salut à Toi" to "Libervia"