[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ANNOUNCE: Smuxi 0.10 "Unexpected"

And here we go again! We're proud to announce the new version of Smuxi, release
0.10 "***Unexpected***". During the development, 12 bug reports and 8 feature requests
in 259 commits were worked on. Notable highlights in this release are:

### GNOME Frontend Enhancements ###

 * [Tabs replaced with chat list][292]. The list is grouped by server and sorted
   alphabetically. Private (person to person) chats are sorted after public
   (group) chats.
 * Man pages included for smuxi-frontend-gnome (Calvin Buckley)
 * /window command now cycles through tabs with same name (Oliver Schneider)
 * The Windows installer was switched to GTK# 2.12.22 which is more stable than
   the previous used 2.12.20 version.
 * Adding and editing remote engines works now correctly on Windows and OS X.

Screenshot of Smuxi 0.10 on GNOME3

Screenshot of Smuxi 0.10 on Ubuntu Unity

Screenshot of Smuxi 0.10 on Windows

Screenshot of Smuxi 0.10 on Mac OS X

### Text Frontend Enhancements ###

 * Messages no longer sometimes get sent multiple times
 * Rare crashes with scrolling were fixed
 * Man pages included for smuxi-frontend-stfl (Calvin Buckley)

Screenshot of Smuxi 0.9's text frontend

### Smuxi Hooks / Scripts / Plugins Support ###

After years of waiting we are more than happy to finally announce the added
scripting support in Smuxi! You are probably thinking right now "so which
scripting language is it?! C#? VB.NET? _javascript_? Perl? Python? Ruby? Maybe
even PHP?" and here comes the best part: **ALL OF THEM AND MORE!** More? What
else there would be... well, if you really want you can write Smuxi hooks in C,
C++ or even assembler ;)

#### "How is this possible?" ####

It's Magic! No, just kidding. This is pure Unix technology taken from the 70s
ported to a powerful messaging client. If you know what [Git hooks][], [Nagios
checks/plugins][nagios plugins] or CGI scripts are, then you already know what
Smuxi hooks are, if you don't then continue reading this paragraph.  Any
executable program in a [special location (hook points)][hook points] will be
executed when a specific event happens, like receiving a message. This program
gets all information passed as [environment variables][hook variables], like who
send the message (SENDER), what was the message (MSG), when was it received
(MSG\_TIMESTAMP\_UNIX) etc.  This program is also able to execute Smuxi commands
by writing [hook commands][] to the standard output.

Currently there are 2 main types of Smuxi hooks:

 * protocol-manager hooks: these are mainly events like message-received/sent
   that the various protocol managers (IRC, Twitter, XMPP, etc) can raise
 * command hooks: these are added Smuxi commands running in the frontend, so you
   can add /some_cool_command to Smuxi

Smuxi hooks are maintained in the [smuxi-hooks git repository][smuxi-hooks.git].
So if you want to share your written hook simply create a pull request against
that repository on GitHub, other Smuxi users will be very thankful! Right now
thre are only 2 proof-of-concept hooks available:

 * [now-playing][]: adds a /np command to Smuxi which shows the currently
   playing song/video of Banshee using MPRIS2 on D-Bus or YouTube (Chrome only).
 * [tinyurl-resolver][]: resolves all shortened URLs of t.co, bit.ly, etc to the
   full URL. This was originally an irssi plugin written in Perl.

#### Installing Hooks ####

"Wow, I am completely amazed, but how can I install hooks?" For now you will
need to either download the files of the hook into the same location into
$HOME/.local/share/smuxi/hooks or by cloning the git repository and symlinking
the files. Here is an example for each method:

##### Download Method #####

    mkdir -p $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
    cd $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
    wget https://raw.github.com/meebey/smuxi-hooks/master/now-playing/frontend/command-manager/command-np/now-playing.sh
    chmod +x now-playing.sh

##### Git Clone Method #####

    cd $HOME
    git clone https://github.com/meebey/smuxi-hooks.git
    mkdir -p $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
    cd $HOME/.local/share/smuxi/hooks/frontend/command-manager/command-np/
    ln -s $HOME/smuxi-hooks/now-playing/frontend/command-manager/command-np/now-playing.sh

### IRC Enhancements ###

 * [mIRC color reset control codes no longer eat characters][882]
 * Codepage WINDOWS 1251 is now available as encoding needed for Cyrillic
   support. ([GH-81][], [#474][474])

### XMPP (Beta) Enhancements ###

 * Pretty chat states: you can now see if your chat peer is composing a message
   with a pretty design (Oliver Schneider / George Karavasilev)
 * Find Group Chats support for chat rooms on own server (Oliver Schneider)
 * Resource collisions are no longer happening if resource was not overridden.
   (Oliver Schneider)
 * Multi user chats (MUC) are automatically rejoined after a reconnect.
 * When "Use Encryption" is enabled, Smuxi will now force SSL/TLS. If that fails
   it will no longer silently downgrade to unencrypted. If you can suddenly no
   longer connect, check if "Use Encryption" is correctly configured for that
   server (as not all XMPP servers support SSL/TLS).
 * Annoying FeatureNotImplemented messages are no longer visible.
 * Added translations.

### Twitter Enhancements ###

 * [/retweet command][480] and [/reply command][384]. Both commands need a
   short id as parameter so Smuxi knows which tweet you want to retweet or reply
   to. The short ids are shown in brackets like _\[42\]_ before each tweet.
   Example of how a reply to tweet with short id 42 could look like:
   _/reply 42 thanks, Smuxi is awesome!_
 * /search command
 * /timeline command (Andrés G. Aragoneses)
 * /follow and /unfollow command
 * On Connect Commands are now executed (Andrés G. Aragoneses)
 * [Twitter context menu][twitter menu] (Andrés G. Aragoneses)

### JabbR (Beta) Enhancements ###

 * Message History: Opening chats will now load and show the previous messages
   from the JabbR server.
 * Added automatic and manual reconnect support.
 * Added translations.

### Campfire (Beta) Enhancements ###

  * Fixed an issue that can lead to a DoS behavior when the session becomes
    invalid. (Carlos Martín Nieto)

### Server Enhancements ###

  * The server will now cleanly shutdown on SIGINT and SIGTERM signals.
    (Christopher James Halse Rogers)
  * Man pages included for smuxi-server (Calvin Buckley)

### Updated Translations ###

Smuxi should now be in your language, including:

 * Initial partial Persian (Behrooz Amoozad)
 * Initial partial Telugu (Praveen Illa)
 * French (Clément Bourgeois)
 * Czech (Ondřej Hošek)
 * Chinese Simp (Dean Lee)
 * Swedish (Martin Bagge)
 * Danish (Joe Hansen)
 * German (Bianca Mix)
 * Spanish (Matías Bellone)
 * Partial Turkish (Umut Albayrak)
 * Partial Finnish (Kalle Kaitala)
 * Partial Portuguese (Brazil) (Leonardo Pires Felix)

### Behind the Scenes ###

 * The #smuxi-devel IRC channel has moved from OFTC to freenode, everyone
   interested in Smuxi's development is invited to join.
 * The C# 4.0 compiler dmcs will now automatically be used and no longer needs
   an MCS=/usr/bin/dmcs override with the configure script.
 * Added dbus-sharp-2.0 support to build system.
 * [This GitHub repo][github repo] is now used as the primary repository
   including all submodules of Smuxi. [This GNOME repo][gnome repo] is now the
   official mirror. If you are using git.qnetp.net in your git remotes (git
   remote -v) then you should switch that to either
   _https://github.com/meebey/smuxi.git_ or _git://git.gnome.org/smuxi_
 * [The HACKING file][HACKING] contains now the used codying style of Smuxi.

### Contributors ####

Contributors to this release are the following people:

 * Mirco Bauer (165 commits)
 * Oliver Schneider (48 commits)
 * Andrés G. Aragoneses (22 commits)
 * Calvin Buckley (6 commits)
 * Christopher James Halse Rogers (4 commits)
 * Carlos Martín Nieto (2 commits)
 * George Karavasilev (artwork)
 * Umut Albayrak (translations)
 * Praveen Illa (translations)
 * Ondřej Hošek (translations) 
 * Matías Bellone (translations)
 * Martin Bagge (translations)
 * Leonardo Pires Felix (translations)
 * Kalle Kaitala (translations)
 * Joe Hansen (translations)
 * Dean Lee (translations)
 * Clément Bourgeois (translations)
 * Bianca Mix (translations)
 * Behrooz Amoozad (translations)

Thank you very much for your contributions to Smuxi!

Want this? Go right here, right now!

What is it? 
Smuxi is an irssi-inspired, flexible, user-friendly and cross-platform 
IRC client for sophisticated users, targeting the GNOME desktop. 

Smuxi is based on the client-server model: The core application 
(engine) can be placed onto a server which is connected to the Internet 
around-the-clock; one or more frontends then connect to the core. This 
way, the connection to IRC can be kept up even when all frontends have 
been closed. The combination of screen and irssi served as example for 
this architecture. 

Smuxi also supports the regular single application mode. This behaves 
like a typical IRC client; it doesn't need separate core management and 
utilizes a local engine that is used by the local frontend client. 

The project website can be found at: 

  [download page]: https://www.smuxi.org/page/Download
  [roadmap]: https://www.smuxi.org/versions/show/16
  [bugs]: https://www.smuxi.org/projects/smuxi/issues?fixed_version_id=16&set_filter=1&tracker_id=1&status_id=c
  [features]: https://www.smuxi.org/projects/smuxi/issues?fixed_version_id=16&set_filter=1&tracker_id=2&status_id=c
  [commits]: https://github.com/meebey/smuxi/compare/0.9...0.10
  [git hooks]: https://www.kernel.org/pub/software/scm/git/docs/githooks.html
  [nagios plugins]: http://www.nagios.org/projects/nagiosplugins
  [hook points]: https://smuxi.im/documentation/hooks/#hookpoints
  [hook variables]: https://smuxi.im/documentation/hooks/#environmentvariables
  [hook commands]: https://smuxi.im/documentation/hooks/#hookcommands
  [smuxi-hooks.git]: https://github.com/meebey/smuxi-hooks
  [now-playing]: https://github.com/meebey/smuxi-hooks/tree/master/now-playing
  [tinyurl-resolver]: https://github.com/meebey/smuxi-hooks/tree/master/tinyurl-resolver
  [github repo]: https://github.com/meebey
  [gnome repo]: https://git.gnome.org/browse/smuxi
  [HACKING]: https://github.com/meebey/smuxi/blob/master/HACKING
  [twitter menu]:  https://www.smuxi.org/screenshots/smuxi-0.10-twitter-menu.png "Screenshot of Smuxi 0.10's Twitter menu"

  [292]: https://www.smuxi.org/issues/show/292 "#292: treeview server/channel list"
  [384]: https://www.smuxi.org/issues/show/384 "#384: Replying to Tweets"
  [480]: https://www.smuxi.org/issues/show/480 "#480: Proper retweets"
  [882]: https://www.smuxi.org/issues/show/882 "#882: smuxi color parser incorrect"
  [474]: https://www.smuxi.org/issues/show/474 "#474: Cyrillic encodings support"
  [GH-81]: https://github.com/meebey/smuxi/issues/81

22 December 2013

Best regards,

Mirco 'meebey' Bauer

FOSS Developer          meebey@meebey.net  https://www.meebey.net/
Debian Developer        meebey@debian.org  http://www.debian.org/
GNOME Foundation Member mmmbauer@gnome.org http://www.gnome.org/
PGP-Key ID              0xEEF946C8         https://meebey.net/pubkey.asc

Reply to: