All theses changelogs are not exhaustive, please check the Mercurial repository for more details. v 0.9.0 « La Ruche » (NOT RELEASED YET): - core: - identity: make the plugin compatible with component + description - identity, XEP-0054: move avatar resizing and caching method to identity plugin - XEP-0060: PAM + PSS implementation - XEP-0060, XEP-0163, XEP-0277, text syntaxes: make plugins usable with components - XEP-0080: "User Location" implementation - XEP-0084: "User Avatar" implementation - XEP-0103: "URL Address Information" implementation - XEP-0176: "Jingle ICE-UDP Transport Method" implementation - XEP-0191: "Blocking Command" implementation - XEP-0215: "External Service Discovery" implementation - XEP-0277: post repeating implementation - XEP-0292: "vCard4 Over XMPP" implementation - XEP-0372: "References" implementation - XEP-0373: "OpenPGP for XMPP" implementation - XEP-0374: "OpenPGP for XMPP Instant Messaging" implementation - XEP-0376: "Pubsub Account Management" implementation - XEP-0384: fully reworked to adjust to the reworked python-omemo - XEP-0391: "Jingle Encrypted Transports" implementation - XEP-0396: "Jingle Encrypted Transports - OMEMO" implementation - XEP-0420: "Stanza Content Encryption" implementation - XEP-0446: "File Metadata" implementation - XEP-0447: "Stateless File Sharing" implementation - XEP-0448: "Encryption for Stateless File Sharing" implementation - XEP-0450: "Automatic Trust Management" implementation - XEP-0465: "Pubsub Public Subscriptions" implementation - XEP-0470: "Pubsub Attachments" implementation - XEP-0471: "Events" implementation - XEP-0473: "OpenPGP for XMPP Pubsub" implementation - XEP-0477: "Pubsub Targeted Encryption" implementation - xml_tools: add support for `list-multi` data form field type - massive refactoring to switch from camelCase to snake_case - components: - new ActivityPub <=> XMPP Gateway - templates: - bulma (blog/item): `published` timestamp now links to the item - bulma (calendar): calendar and its daily view - bulma: new `retry-notification` template - cli: - 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, pubsub: encryption argument for pubsub targeted encryption - blog, pubsub: new `attachments` subcommands - file/get: handle full JSON attachment following change in backend - file/send: add `--encrypt` argument to request encryption - identity: add description to `identity set` - info/disco: add external services in results - message/retract: message retractation command - message/send: new --attach argument to send an attachment - pubsub/get: add --no-decrypt flag to disable automatic decryption - pubsub: new `reference` subcommand to send references/mentions to pubsub items - pubsub: new secret subcommands - pubsub/set,edit: add `--sign` argument - pubsub/signature: add `sign` command - new `blocking` commands - web: - pages: `page_max` query parameter can now be used on pubsub based pages - pages (blog/edit): allow comments when editing a post - pages (blog/view): activate pagination when a single item is shown - pages (calendar): calendar page - server, browser: dynamic pages refactoring: - 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 - All previous partial rendering mechanism have been removed - server: better reverse proxy headers handling - 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: handle "proxy" scheme in configuration v 0.8.0 « La Cecília » (30/11/2021): - renamed the project from "Salut à Toi" to "Libervia" - frontends are renamed "Libervia XXX" (where XXX is Desktop, Web, etc.), former names are kept as aliases - Python 3 port - "libervia.conf" is now used for settings (but "sat.conf" is still usable, at least for now) - config sections are now named after frontend type ("web", "cli", "tui", etc). - "/etc/_libervia.conf" can be used for distribution specific settings - OMEMO for MUCs (group chat) - aesgcm schema handling (aka OMEMO Media Sharing) - removed plugins IMAP, Maildir and SMTP: they were experimental plugins, are not used and Maildir has not been ported to Python 3 - consistant resource ("sat.[UUID]" is used as permanent resource when user didn't specify anything) - profile autoconnection - updated config file paths: path from where the command is launched is not used anymore, and parent dir of "sat" module is checked last - parsed config files paths are logged on startup - attachments, with resizing - encrypted sessions are restored on connection, when suitable - MUC avatars - SVG support for avatars - improved identities (avatar, nickname) management - (XEP-0060) publish-options - (XEP-0077) XMPP account deletion support - (XEP-0277) user friendly IDs - XEP-0346 implementation (Form Discovery and Publishing) - XEP-0353 implementation (Jingle Message Initiation) - XEP-0431 implementation (Full Text Search in MAM) - node schema now uses XEP-0346 - "tickets" feature renamed to "lists" - lists templates for common lists (grocery list, TODO list, etc.) - list of interests: unique ID per location, to avoid duplicates - pubsub invitations - new "app manager" plugin with docker integration - (app manager) weblate app file - (template engine) new "fallback" setting - plugins can now be loaded from a directory - settings for themes in template engine - launching scripts are now in Python instead of shell scripts - D-Bus bridge: renamed namespace from org.salutatoi.SAT to org.libervia.Libervia - new testing framework in "tests" - end-to-end tests - docker images are now in backend repository, renamed and up-to-date - social contract updates following general assemblees and renaming (see commits and assemblees minutes for details) - Libervia Desktop (Cagou): - new "share" widget - URIs can now be clicked to open a suitable application - new red "plug" icon showed if user is disconnected - better ESC key (or back button) handling - removed main menu as a top bar - new "extra" menu appear in header's widget seletor of widgets. Clicking on it will open a side menu with some common actions (like showing about screen) + possibliy platform specific actions. - an extra window can be created on suitable platform in the extra menu - file dropping is handled on compatible platforms - (chat) infinite scroll - (chat) media uploads use AES-GCM if session is encrypted - (chat) "chat selector" screen, to select an entity/room to chat with/in - (chat) notifications counter is shown on entities in chat selector - (chat) touching/clicking an avatar in a group chat will add the nickname in message input box. - (chat) incoming attachments are now shown in a user friendly way - (chat) outgoing attachments are handled in a user friendly way, files are not send immediately anymore (user needs to send explicitly the message) - (chat) outgoing attachments can be resized if too big (images only so far) - (chat) multiple images in attachments are grouped in collections - (chat) new extra menu in header, allows notably to close the chat/leave the room - (chat) images viewer - (chat) a padlock icon is shown to indicate if message is e2e encrypted or not, and it is red when an unencrypted message is received in encrypted context - various UI/UX fixes/improvments - Libervia Mobile (Cagou) [Android]: - Cagou now appears in the "share" menu - "back" button on root widget put app in background - better notifications (sound + vibration, can be modified in settings) - opening a notification now opens the right widget in Cagou - autoconnect profiles which are autoconnected in backend (there should be only one at the moment) - reopen last selected widget on startup - "disconnect" item in the new "extra" menu. With it, the profile connected automatically can be disconnected. - autoconnect parameters are hidden (not useful for end-user, and can actually be confusing) - fixed SRV records for DNS lookup - SVG support for avatars - Libervia Web: - dynamic pages (i.e. browser executed code) - Brython integration - JavaScript modules (node.js) integration - Sass integration - Nunjucks integration - ogv.js based alternative media player for browser which can't play open formats (Ogg Theora or WebM VP8/VP9) - themes management - bulma theme becomes the default one for default site - "tickets" have been renamed to more generic term "lists" - (lists) common lists can be created from templates - (photos) album can now be created or deleted from Libervia Web - (photos/album) photos or videos can now be uploaded from Libervia - (photos/album) a mobile friendly slideshow can be run - (photos/album) affiliations can be modified with new invitations manager - Cache-control header is respected - Libervia CLI (jp): - full documentation of commands - asyncio port - use dash "-" instead of "_" for long options to follow best practices - bridges other than dbus are now supported - colour dark/light themes - background colour detection - new debug/theme command - new file/get command (supports aesgcm scheme) - new file/share/affiliations command - new file/share/configuration command - new info/devices command - new invitation/delete command - "ticket" command renamed to "list" - file/upload handle encryption - various improvments - (blog) added --language to common publish arguments - (blog) added --no-publish argument to avoid accidental publication - (roster) added "delete" subcommand - (pubsub/set) publish options can be specified with -f and -F - (profile/create, profile/modify) --autoconnect argument - Templates: - new bulma theme - file sharing component: - XEP-0363 (HTTP File Upload) implementation - affiliation management (custom) - access model management (custom) - generate thumbnails for videos - pb bridge: - Unix socket is now used by default, "bridge_pb_connection_type" can be set to "socket" to use network socket - new "bridge_pb_host" and "bridge_pb_port" settings v 0.7.0 « La Commune » (24/07/19): This version is a huge gap with previous one, changelog only show a part of novelties. This is also the first "general audience" version. - XEP-0070 implementation (HTTP Auth via XMPP) - XEP-0106 implementation (JID Escaping) - XEP-0184 implementation (Delivery Receipts) - XEP-0198 implementation (Stream Management) - XEP-0199 implementation (XMPP Ping) - XEP-0231 implementation (Bits of Binary) - XEP-0264 implementation (Thumbnails) - XEP-0280 implementation (Message Carbons) - XEP-0313 implementation of messages part (one2one + MUC) - XEP-0315 implementation (Data Forms XML Element) - XEP-0329 implementation (File Information Sharing) - XEP-0352 implementation (Client State Indication) - XEP-0384 implementation (OMEMO encryption), one2one - new bridges are available: pb (Perspective Broker), and embedded (use backend as a module) - D-Bus bridge: changed namespace from org.goffi.SAT to org.salutatoi.SAT - components (SàT can now act as a component) - templates engine - invitations (create temporary account to invite somebody without XMPP account) - events - tickets - tickets importer for Bugzilla - merge-requests - merge-requests handler for Mercurial - new node schema experimental feature: allows to attach a dataform to a node and to filter items based on it - forums - XML log plugin can now logs stream as soon as it starts - many improvements in Jingle and file transfer, updated to last spec version - file sharing (direct sharing between devices) - file sharing component (to store file on a server) - better SàT version handling (in particular Mercurial revision) - language detection plugin - media remote control through MPRIS standard - generic encryption methods handling in core - server certificate validation - added missing disco extensions while generating capabilities hash - reworked setup.py to make it cleaner - added VERSION file - jp: - new debug commands, to monitor stream, call bridge method or send fake signals - new info/session command, to get data on current session - new blog/get command, to retrieve locally XMPP blog - new message/mam command, to check MAM archives (this command may be renamed or merged in an other one in the future) - new pubsub commands, for low level pubsub manipulations - include pubsub/search command for "grepping" pubsub nodes - new invitation commands - new event commands - new uri commands, to parse/build XMPP URI - new input commands, to use a file to generate series of actions - new ticket commands - new merge-request commands - new ad-hoc/list and ad-hoc/run commands - new forums commands - new avatar commands - new ping command - new encryption commands, to handle encryption sessions - e2e encryption algorithm can now be requested in jp message/send - better handling of arguments for pubsub related commands - MAM and RSM arguments for pubsub related commands - improved outputs - new template output, jp can now act as a static site generator - a REPL shell is now available with "jp shell" command - specified several exit codes - Primitivus: - new "g" shortcut to move on bottom of chat history - show occupants count - better notifications - separation bar to see new messages since chat widget has been focused for the last time - affiliations are show in MUC rooms - message language is displayed if available - filter messages by language - merge join/left infos messages of a contact when they happen in a row (without new message between them) - Cagou: - new desktop/mobile (Android for now) frontend - handle widget splitting à la Blender - chat mode - contacts mode - file sharing mode - settings mode - remote control mode - Android adaptation + build - Templates: - new sat_templates module - blog - chat - event - file sharing - forums - invitations - login/session - merge-requests - photos albums - tickets - Libervia: - Libervia pages: a web framework to easily create web pages using SàT/XMPP under the hood. Will be the cornerstone of future of Libervia - this framework has been used to make following features: blog, chat, events, file sharing, forums, invitations, merge-requests, photo albums and tickets - dynamic version of Libervia (made with Pyjamas) is still available, but under minimal maintenance, it will be re-implemented using other tools in 0.8 - static blog has been deprecated (still available in "/blog_legacy" for now) in favor of Libervia pages' blog - many internal changes and improvements to handle Libervia page - usual internal improvements + refactoring + bug fixes - many other stuff, check Mercurial logs v 0.6.1 (12/07/2016): - minimum Twisted version is now 15.2.0 - removed pyfeed and xe dependencies - added mutagen to recommended in README4PACKAGERS - use of /usr/bin/env instead of /usr/bin/python in shebang - core: - connection and initialisation improvements - leave the handling of delay elements to XEP-0203 - memory: - fixes handling of jids_list parameter type - fixed exception when setting an empty password - disco: better handling of response failures - tools: - improved repository version detection - moved data methods from common to common.data_format - added common.regex module - new plugins: - blog_import: generic plugin to import blogs to SàT - blog_import_dotclear: import dotclear blog - blog_import_dokuwiki: import dokuwiki blog - extra_pep: display messages from extra PEP services - syntax_wiki_dotclear: convert dotclear wiki syntax from and to XHTML - directory_subscription: temporary plugin moved from XEP-0055 implementation - already existing plugins: - account: - auto add some roster contacts at profile creation - parameter "admin_email" is now "email_admin_lists" - email sending improvements (new authentication options) - email the admins when a profile is created from an existing XMPP account - ip: changed URL of GET_IP_PAGE for the new one on salut-a-toi.org - XEP-0045: fixes commands feedback - XEP-0060: MAM (XEP-0313) integration - XEP-0166, XEP-0260: better handling of proxy error - XEP-0277: - improve comments handling - uses new "extra pep" plugin - Atom feed retrieval is left to Libervia - fixes XHTML content encapsulation and handling of new lines - XEP-0313: cleaning and improvements - text_syntaxes: various improvements - tmp/wokkel: - updated behaviour and namespace to new urn:xmpp:mam:1 - several MAM and RSM improvements - frontends: - printing the history and notifications are left to quick_frontend - restore printing the day change while displaying history - fixes main item update and auto addition of a scheme to HTML links - added ui_show_cb in actionManager (frontend can handle the XMLUI display) - jp: - new start method used by all commands - new --output option to change the format of command output: - possible outputs for now are "default", "json" and "json_raw" - new commands: - blog: import, edit, preview - roster: get, stats, purge - command "message" moved to "message send" - command "profile list" uses the new --output option - added constants for exit codes - primitivus: - detect direct pasting in the message bar - add bracketed paste mode - libervia: - browser and server sides: - replaced isRegistered call by a more generic getSessionMetadata - new option "allow_registration" to enable/disable new accounts registration - browser side: - improved the popup message banner - replaced old favicon and display favicon counter - fixed handling of connection with external JID - improved some regexps - replace "re" module usage with pure javascript - server: - added mechanism for URL redirections - renamed "ssl_certificate" to "tls_certificate" - new options "tls_private_key", "tls_chain options", "base_url_ext" - blog: - several improvements - implement tags/categories - removed max_items as we use RSM - fixed atom feed, add link and categories (tags) elements v 0.6.0 (02/12/2015): - modification of the social contract according to the General Assembly of August, 19th 2014 - improved launching/stopping scripts: - use SIGTERM instead of SIGINT with the “stop” command - now manage "status" command and additional arguments - updated setup.py and INSTALL files: - add PyOpenSSL to the dependency list - added jsdebug option to use debug mode with pyjsbuild - replaced the deprecated distribute_setup.py by ez_setup.py - fixed INSTALL instructions - updated README and README4PACKAGERS for third party modules - added some tests for sat.tmp.wokkel and Libervia JID* classes - core: - new bridge signals: actionNew, progressStarted, progressFinished, progressError - new bridge methods: - disco: getFeatures - profile: profileStartSession, profileIsSessionStarted, profileSetDefault - memory: getEntitiesData, asyncGetParamsValuesFromCategory, getMainResource - progression (e.g for file transfer): progressGetAll, progressGetAllMetadata - actionsGet to retrieve the deferred actions ordered by actionNew - xmpp: added auxiliary methods sendError and IQ, improved roster management - plugins: more robust loading, detect name conflicts, added unload method - repository data are checked and added to SàT "dev" versions - add several new constants for MUC, profiles, plugins - memory: - new parameters: "Chat history limit", "Show offline contacts" and "Show empty groups" - add "int" parameter type with "constraint" attributes - removed resource from the default JabberID - tools: - new tools.sat_defer, implementation of RTDeferredSessions and DelayedDeferred - xmlui: - added JidInput and JidsList widgets - allow to select a tab when adding it - keeps data form result headers sorted - new plugins: - XEP-0059: Result Set Management - XEP-0166: Jingle \o/ - XEP-0203: Delay Delivery - XEP-0234: Jingle File Transfer - XEP-0260: Jingle SOCKS5 Bytestreams - XEP-0261: Jingle In-Band Bytestreams - XEP-0297: Stanza Forwarding - XEP-0300: Cryptographic Hash Functions - XEP-0313: Message Archive Management - XEP-0334: Message Processing Hints - XEP-0363: HTTP File Upload - file, upload: file transfer management - ip: external IP discovery - pipe: Jingle pipe transfer - nat-port: NAT port mapping - watched: alert when a watched entity goes online - welcome: display welcome message - already existing plugins: - XEP-0045: several improvements - XEP-0047: improvements, increased timeout to 2 minutes - XEP-0050: better disco info, pre-fill the target server - XEP-0054: improvements, especially concerning the hash - XEP-0055: add "simple" and "advanced" modes to Jabber Search - XEP-0060: - try to find a default PubSub service - retractItem manage "notify" attribute - added addManagedNode and removeManagedNode - new signal psEvent will be used to notify the frontends - XEP-0065: chunk size optimization, session cleaning and timeout - XEP-0085: various fixes, including a bad use of threads - XEP-0096: use file plugin to choose the best available method - XEP-0115: better disco error handling - XEP-0163: replaced personalEvent with psEvent, improved addPEPEvent - XEP-0277: - improved bridge methods, better parsing of atom, better error handling - auto-create nodes on default pubsub service if available, else PEP - use checkFeatures and other new methods from XEP-0060 - added subscribeToMany and getFromMany methods - manage retract feature - account: add method asyncConnectWithXMPPCredentials - groupblog: many improvements as in XEP-0060 and XEP-0277 - sec_otr, text commands: some improvements - removed plugin: deprecated tmp_demo_directory - tmp (used as a buffer module until the changes are integrated to wokkel): - added support for RSM (XEP-0059) and MAM (XEP-0313) - pubsub: added retract "notify" attribute management - frontends: - deprecated wix frontend and Libervia's unibox - frontends can also use listeners and triggers mechanisms - improved management: menus, widgets, rosters, chat and blog - merge sat_frontends.constants to sat_frontends.quick_frontend.constants - new method getFullJid which is the frontend's equivalent to getMainResource - contact list: display the counts of waiting messages per contact - MUC: display activities' symbols, resources for private messages - jp: - added commands "profile connect" and "modify", "param get" and "set", "file upload" - added attributes --verbose, --password and --xmpp-password - profile session can now be started without connection - primitivus: - now manages multi-profiles \o/ - new command "search" to search the local history - xmlui: manage message in FileDialog and several improvements - libervia: - Libervia is now based on QuickFrontend \o/ - browser and server sides: - allow to connect with an external JID - implemented blog tags - server side: - set a timeout to reset the waiting connection requests after 2 minutes - special handling of Connection/JabberID and Connection/autoconnect - add a link to the FAQ in the HTTP/HTTPS warning dialog - static blog: themes based on Jinja2 template engine - enable HTTP gzip compression - browser side: - removed unibox, RichMessageEditor and RecipientManager - features checks for microblogging and group blogging - new methods displayWidget, setStatusOnline, showDialog - added signal caching before profile is plugged - do a hard reload on disconnected signal - news classes for JID iterables - display MUC occupants presences - show version number in the about dialog - improve login and register panels visibility - use favico.js to display the total number of waiting messages - json: replaced the Window.alert by a log warning when signal is lost - contact list: ContactPanels is used instead of OccupantsList in MUC - OTR: use listeners, fixed missing resource issue and icons updates - widget's drag and drop: - border widgets are now visible on drag start - allow to drop a widget in the "+" button to add a new tab - and a lot of improvements and fixes that are not listed here :-) v 0.5.1 (18/09/2014): - fixed some typos (Matteo Cypriani) - updated the setup file, INSTALL and README* (Matteo Cypriani) - already existing plugins: - XEP_0033: fixed message sending - wix: avoid setting a bad icon (Olly Betts) - libervia's browser side: - fixed bug at profile disconnection - fixed signal callback with no argument - disable OTR if the browser doesn't offer CSPRNG v 0.5 (09/09/2014): - removed deprecated Sortilege frontend - better PEP-8 compliance and code cleaning - debug mode tries to use ipdb instead of pdb - improved initialisation sequence - refactorisation of the discovery feature - refactorization of the constants with inheritance - added profile password and passwords hashing/encryption - new logging system with colors, formatting, filtering and output management - the backend is now a twisted plugin (as libervia) - added a .service file for D-Bus auto-launch feature - improved launching/stopping scripts: - do not kill all instances anymore - add a "status" command - launch as daemon by default - new option "fg" for launching in foreground - updated setup.py and INSTALL files: - adapt to the new improvements - added "clean" and "purge" options - update distribute_setup.py to ez_setup.py - replace PIL dependencies with it's fork pillow - use XDG recommended paths as the defaults - look for DNS SRV records to find the XMPP server and port - tests: bug fixes, improvements and addition - bridge: - fixes some D-Bus frontend generator issues - set the timeout to 120 seconds for async calls - added methods getReady, discoInfos and discoItems - core: - wider use of asynchronous methods, removal of some synchronous ones - improved retrieval of the client with better error management - plugins now accepts recommendations in addition to dependencies - sendMessage handles the extra data key "send_only" - sendMessageTrigger now manage pre and post treatments - xmpp: - fixes sending of presence stanzas (were sent twice) - warns about roster's contact unilateral subscriptions - fixes presence status, handle message's subjects - refactorisation of the messages reception and sending - memory: - moved Params class in its own module - param definition handles multi-selection for list widgets - Parameters "Server" and "Port" renamed to "Force server" and "Force Port" - added module crypto for password hashing and block encryption/decryption - improvements and bug fixes (entities cache, last resource, importing/filtering parameters) - tools: - config improvements - moved sat.tools.jid to sat_frontends.tools.jid - XMLUI: - added read-only attribute - handle data forms and button callbacks - read value element/attribute of input widgets - new and improved widgets (boolean, list, texbox, JID) - manage dialogs for message, note, confirm and file upload - new plugins: - XEP-0048: MUC bookmarks - XEP-0049: private xml storage - XEP-0092: software version - OTR: Off The Record (end-to-end) encryption - register account: refactorisation of the method to register an XMPP account - static blog: - user can set his blog's banner, title, meta keywords and description - add a menu of type MENU_JID_CONTEXT to open a contact's public blog - already existing plugins: - XEP_0033, XEP-0085: bug fixes - XEP-0045: - added "Configure room" menu - added /kick, /ban and /affiliate commands - added user information to /whois text command - XEP-0050: manage notes and forms returned by completed command - XEP-0054: crop uploaded avatar to get a square - XEP-0060: handle retrieving items by node identifiers - XEP-0065: fixed initialisation sequence - xep-0115: caps optimisation - XEP-0249: added command /invite - groupblog: added a convenient bridge method getGroupBlogsWithComments - radiocol: add MP3 support, preload signal also contains the uploader nickname - account: - prosody gid is used to spawn prosodyctl process - user can change his password, purge his microblogs, delete his account - do not send the password with the confirmation email for account creation - text command: - refactoring and fixes - plugin can register their own commands - do not send the message on invalid command - added /me command, commands are now sorted in /help - stdui (standard XMLUI forms and callbacks): - contact list: unify the roster management UIs - profile manager: manage profile authentication and password prompts - frontends: - async failures are more detailed - signals are managed in a more generic way - force JID's node and domain to lower-case - use the new "info" type for system message - manage menu types MENU_ROOM and MENU_SINGLE - display messages from contacts not in roster - display presence with the highest priority - reset your own presence on connection/disconnection - display chat states for MUC participants - XMLUI: add setter methods, bug fixes - jp: - updated main loop to gobject 3 - option '-c' is used to define the SàT profile password - added commands for bookmarks, info disco/version, load/save parameters template - primitivus: - improved vertical container - fixes contact group update, freedesktop notifications - history edit bar doesn't propagate up/down key events anymore - use of new keys modules from Urwid SàText and inhibate SIG_INT - fixes the messages display order when opening a conversation - prevent a notification flood when displaying the history - add the /history command - focus fixes - added keys to focus main parts - libervia: - reorganize all the source files hierarchy, fixes module import - refactor HTTP request result values, handle "NoReply" error - new account password must contain at least 6 chars - display favicons - server side: - added support for SSL and its related parameters - adapt setup.py to follow the changes in the backend - improvements (options management, failure handling...) - added option empty_password_allowed_warning_dangerous_list - twisted plugin: - fix unicodes issues in the options - bug fix passing twistd arguments to Libervia - static blog: - added URL query parameter 'max_items' - retrieve blog's banner, title, meta keywords and description - display blog comments when you click on a main item header or title - browser side: - force profile name to lower case at new account creation - display new lines and clickable URLs for headline message - notifications enhancements, manage the "info" message type - refactorisation of the JID class with modifiable attributes - refactorisation of the file uploaders and the menus - manage menus of level > 2 which can be flattened - handle menus of type ROOM, SINGLE and ROSTER_JID - PromptDialog can display several input fields - added a dialog to update/delete the account - added classes LightTextEditor, HTMLTextEditor - announcements from the host are displayed in a popup - use a default avatar, display avatars in the contact panel - display chat states for MUC participants - first steps to manage somehow browser side's plugins - implementation of OTR based on otr.js - improvements from feedbacks, bug fixes - microblogs: - display new lines in microblogs - + makes a new line, finishes the edition - XMLUI: - implement the divider styles - manage multi-selection for list widgets - follow the changes in the backend (dialogs, read-only attribute...) - nativedom manages more node properties v 0.4.1 (28/02/2014): - fixed README4PACKAGERS - fixed/improved setup.py - better INSTALL v 0.4.0 (26/02/2014): - minimum wokkel version is now 0.7.1 - minimum urwid version is now 1.1.0 - added more test cases - fixed invalid bridge calls - fixed issues at account creation - better PEP-8 compliance (Emmanuel Gil Peyrot) - distribute fix (Thomas Preud'homme) - better error and asynchronous calls handling - callbacks system refactoring and unification - configuration constants can be overriden in sat.conf - fixed some issues with the file transfer - possibility to register frontend specific parameter - added a security_limit parameter for sensible requests over the bridge - XMLUI deep refactorisation offering a new mechanism to ease frontend developpment and maintenance - XMLUI new AdvancedListContainer - localisation system improvement with deferred translation and dynamic language switch - new dynamic menus mechanism - better exit message if bridge can't be initialised - i18n refactoring, deferred translations - core: set min and max priorities for triggers - core: sendMessage can skip the triggers - core: triggered plugin methods can add a deferred treatments after a message is sent or received - core: do not write .sat/param anymore (everything is in the SQLite database) - core: plugins parameters registrations do an update instead of overwriting the existing nodes - core: better session management - core: callbacks can be removed after the first call - core: automatic database upgrade mechanism - core: resource priority management - new plugin: XEP-0033 (Extended Stanza Addressing) - new plugin: XEP-0055 (XMPP Search Directory) - new plugin: XEP-0085 (Chat State Notifications) - new plugin: XEP-0050 (Ad-hoc Commands, also able to request and interface with other D-Bus bridges) - new plugin: XEP-0071 (XHTML-IM) - new plugin: command_export (export a shell command input/output to a contact) - new plugin: room_games (from the factorisation of tarot, radiocol and quizz) - new plugin: text_commands (IRC-like commands) - new plugin: text_syntaxes (rich texts syntaxes conversions, for now between XHTML, Markdown and raw text) - plugin XEP-0045: added MUC configuration with XMLUI - plugin XEP-0077, XEP-100: refactorisation with XMLUI - plugin XEP-0249: add a parameter "auto-join MUC on invitation" - plugins XEP-0060, XEP-0277, groupblog: manage comments, rich text, titles, update, deletion and Atom feed - plugin radiocol: better synchronisation with "jump to time" information - frontends: fixed presence/status update - primitivus, libervia: added a user input history - jp: added profiles management (Dal) - jp: refactorisation to use ArgParse instead of OptParse (Dal) - jp: objects refactoring, automatic subcommands import - jp: added Zsh command completion - jp: locales fix (Thomas Preud'homme) - primitivus, libervia: user input history - primitivus: updated for using Urwid >= 1.1.0 - libervia: lot of (re)factorisation, import of frontends modules - libervia: the server is now launched as a twisted plugin (Emmanuel Gil Peyrot) - libervia: add notifications support (Emmanuel Gil Peyrot) - libervia: added setup.py - libervia: fixed static blog items order, cosmetic improvements - libervia: static blog atom feed (e.g: http://www.libervia.org/blog//atom.xml) - libervia: unibox is now optional and desactivated by default - libervia: microblogs items are selectable when the unibox is enabled - libervia: quick addressing syntax is now handled by the unibox - libervia: added a GUI to edit rich text messages, preview/wysiwyg and manage extended addressing - libervia: use HTML5 "contenteditable" for editing your status and raw text/WYSIWYG microblogs - libervia: file upload improvement, radiocol GUI improvement and join/leave synchronisation - libervia: auto-login with URL GET parameters (e.g: http://libervia.org/login=&passwd=) - libervia: display clickable URL and day change in the chat panels - libervia: clicking on a contact list item opens the associated dialog - libervia: widggets and tabs can be dragged and dropped, better open/close behavior - libervia: fixed window resizing issues, multi-lines messages issues - libervia: added a GUI to select rooms and invite contacts (prototype) - libervia: added a GUI to manage contact groups (prototype) v 0.3.0 (09/01/2013): - full project moved to AGPL v3+ - new Logo (Adrien Vigneron) + several other sprites - quiz game (draft, not finished) - configuration file - media separated from main repository - new Qt frontend: Bellaciao (draft, not usable yet) - dbus-xml constructor in bridge-constructor (for Qt) - Primitivus: freedesktop notifications - new plugin: XEP-0020 (feature negociation) - new plugin: XEP-0047 (in-band bytestream) - new plugin: XEP-0095 (stream initiation) - new experimental plugin: pipe transfer - jp: name to jid conversion - database integration (sqlite) - D-Bus bridge: generic exception management - core: data storage improved - radio collective (plugin + Libervia implementation) - new groupblog, using sat_pubsub - D-Bus bridge: better dynamically added method management (with introspection) - status update crash fix (Xavier Maillard) - misc bugfixes (Emmanuel Gil Peyrot) - social contract: english translation (Matthieu Rakotojaona) - many MUC improvments (MUC branch merged mainstream in Wokkel) - Primitivus: contacts panel improvments: color & icon + statuses - Primitivus: MUC room are now shown separately - Primitivus: new entities are added to contacts panel if they send message - new plugin: text commands (IRC like commands during conversation) - plugin XEP-0045: nick change, room leaving, subject change, automaticaly change nick on conflict - MUC privates messages management - core: added priority management in triggers + trigger can now forbid other triggers execution - Primitivus is now modal (à la vi) - new experimental plugin: parrot (repeat text between two entities) - deprecated plugin: couchsurfing - Primitivus: incoming files transfer management - added "Port" parameter in "Connection" - Libervia: new skin (Adrien Vigneron) - Libervia: new widgets system - Libervia: many microblogging (with groups) improvments - Libervia: XMLUI implementation - Libervia: parameters management through XMLUI (deactivated for security reasons) - avatar upload (with Libervia implementation) - Libervia: disconnection management - SàT account automatic registration refactored (moved to core + use Prosody) - misc debug/refactoring v 0.2.0 (31/05/2011): - new debug command in sat launcher script - core: triggers - news plugins: maildir, imap and smtp, SàT can now communicate with a Mail User Agent throught them - bridge constructor, a generator which make bridge files from .ini. It can also generate doc in mediawiki format - new plugin: XML log to send XML raw data throught DBus - new plugin: XEP-0115 (entity capabilities) - new plugin: XEP-0060 (Pubsub) and XEP-163 (Personal Eventing Protocol) - DBus bridge: fixed introspection for dynamically aded methods and signals - new plugin: XEP-277 (Microblogging over XMPP) - fixed installation (Wokkel version is forced) - bridge: added asynchrone methods management - new plugin: group microbloging (groupblog) - new plugin: XEP-0249 (direct MUC invitation) - plugin Tarot: game can be automatically created, and fully played (but rules are not fully implemented yet) - email added in registerNewAccount - Social contract added (CONTRAT_SOCIAL) \o. - Subscription scheme fixed - new frontend: Libervia \o/ . Put in a separate package v 0.1.1 (14/01/2011): - bug#1: fixed crash due to dbus.String v 0.1.0 (12/01/2011): - urwid custom libs split as a new project: "urwid-satext" - files reorganisation - versioning now use a standard scheme (major.minor.increment+letter) - distutils/distribute installation script - misc bugs fixes - easy way to launch/stop sat (sat & sat stop) v 0.0.3 (20/08/2010): - multi-profiles - i18n support - french translation - MUC support (basic for the moment) - Dynamic methods/signals in DBus bridge - Tarot game - CouchSurfing plugin - XML User Interface - Sortilège replaced by Primitivus - About boxes & versions numbers now follow SàT core version v 0.0.2 (10/01/2010): - DBus bridge: dynamic exportation of methods (useful for plugins) - new doc: INSTALL and CHANGELOG - new method to save private data (useful for plugins) - disconnection - whitespace ping to avoid disconnection when idle - presence management refactored, subscription is now managed separatly - use of xml params - new way to specify default values in params - sat is now a twisted application, so it can be deamonized - Wokkel integration - added some features from Wokkel: disco, software version - new account creation (in-band registration): not fully implemented - IP for file transfer is now set by default (see README) - Gateways management (Wix only for now) - VCard support (readonly for now) with avatars/nicks support - Wix: easier jid setup - Wix: added Tray icon (using Crystal Clear: see README) - Wix: new contact list, using avatars and nicknames - Wix, Sortilège: better connection/disconnection management (buggy in sortilège) - Wix: main frame default size changed v 0.0.1 (17/05/2009): ** FIRST PUBLIC RELEASE **