view CHANGELOG @ 1959:ca5a883f8abe

core: changed versioning schema: before the "D" was meaning "version + modifications", so 0.6.0D was meaning "after the version 0.6.0". Now SàT will follow a more traditional way, so it move to 0.7.0D to say "it's the preparation of the version 0.7.0".
author Goffi <goffi@goffi.org>
date Sun, 19 Jun 2016 22:22:04 +0200
parents 8be7a69bf1a4
children ee73f20f6cf5
line wrap: on
line source

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
                      - <shift> + <enter> makes a new line, <esc> 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/<user>/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=<user>&passwd=<password>)
    - 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 **