All theses changelogs are not exhaustive, please check the mercurial repository for more details. 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 **