Thanks to @benlangfeld, we're pleased to announce a new version of Candy, featuring the following improvements:

XEP-0048 v1.1 support (bookmarks)

XEP-0048 specifies a pubsub methodology for setting & getting bookmarks. This allows non-Openfire Candy users to specify autojoin: true in order to join rooms automatically. Also users can bookmark their own rooms using the new bookmark plugin.

More support for invites

Invite support is now complete with mediated & direct invites.

Downloads

This new major release brings various bugfixes and new features which are outlined below. Special thanks go to @melissanoelle, @benlangfeld & @joshuah for their contributions. Also thanks go to people for opening bug reports & helping with testing.

New features

XHTML support

Behind the view flag enableXHTML is a feature which allows Candy to parse & send XHTML annotated messages. There's a new Colors plugin which makes use of this and explains how to enable this feature. (#204)

XMPP Protocol improvements

  • All XMPP stanzas sent out have now a generated ID with it

Events

  • before and after event triggered use now the same evtData object in order to be able to modify it from begin to the end of a certain event flow (#215)
  • candy:view.room.before-add, candy:view.private-room.before-open, candy:view.message.before-send and candy:view.message.before-show can now be cancelled within a plugin. Just return false. (#214)
  • New event candy:core:chat:message:other for events received without a type attribute (#236, by @joshuah)
  • New event candy:core.message.chatstate for chat state notifications (typing notifications) (#252 by @melissanoelle)
  • New event candy:core:chat:invite for room invites (#260 by @melissanoelle)

Bugfixes

  • Role/Affiliation changes should now be correctly reflected in the UI (#233)
  • Prevent errors in some cases where an event returned false (#214)
  • Console.log in debug mode fixed for IE8 (#218)
  • Candy doesn't act on non-room disco replies anymore (#219)

Other changes

  • The view setting resources has been deprecated. Instead you should use now assets for the path to the CSS etc. files. This has been done to avoid confusion with the core.resource setting which allows you to specify the client's resource name. (#216)
  • Strophe.js and strophejs-plugins have been updated

Plugins

In addition to these changes, many contributors created awesome plugins for Candy. Check them out!

Downloads

v1.6.0 - fix escaping, nickname change & websockets support

@mweibel mweibel released this Jan 20, 2014 · 317 commits to master since this release

This new major release brings various bugfixes and new features, tested with 3 betas in the last 2 weeks. It's a combined effort of a lot of Candy users and contributors. Thank you all.

Please note that are some new translation strings. English and German are always up to date but there are untranslated strings in other languages. Please submit pull requests in order to add them. In the future, we think about improving this process (as part of #207).

When upgrading please make sure that you upgrade all the plugins as well.

New features

Nickname change support

  • Changing nicknames is now possible, as well as receiving nickname changes (#2)
  • Using the nickchange plugin, you can enable your users with a friendly toolbar icon to change their nicknames
  • Server-side nick assignments are now also possible, thanks to @PaulSD (#208)

Websocket support

  • With the upgrade to Strophe version 1.1.1, it's possible to connect to a websocket endpoint
  • In order to use websockets, just supply a ws:// or wss:// URL as the first parameter of Candy.init()

Bugfixes & Tweaks

Escaping

Throughout Candy it should be now possible to use rooms and nicknames with non-ASCII chars.

Other

  • Support specifying resource as a config param (#209 / #199, thanks @PaulSD)
  • New event candy:view.connection.status-<STROPHE-STATUS> is triggered when strophe status changes happen. This enables users to e.g. reload the page when a disconnection happens (#202, thanks @lkraav)
  • Update example with more helpful hints (fixes #203 & #211, thanks @lkraav & @michael-dev)
  • Fix nickname conflict label
  • Support jQuery >= 1.9
  • Display error message if autojoin config param is empty
  • Add ARIA label to text field (fixes #182, thanks @jrbl)
  • Linkify subject by default (fixes #196)
  • New Brazilian portuguese translation (fixes #143, thanks @renato)
  • Fix privacy list error dection for Prosody (fixes #200)
  • New event trigger before connecting which enables Plugins to reliably create stanza handlers
  • Remove deprecated event system
  • New CONTRIBUTING.md file to help new contributors
  • Add sourcemap support for candy.bundle.js
  • Fix Candy.Core.log to be able to display the original line number instead of the line number of the log function

Various

Build tool change

We replaced the existing build tool with Grunt. This should make contributing much easier (especially also for windows users). In order to contribute to Candy, please read CONTRIBUTING.md. If you're already familiar with grunt, these are the commands available:

  • grunt watch watches the filesystem for changes, runs jshint on the changed files and if no errors are there, runs concat and uglify to build candy.bundle.js and candy.min.js.
  • grunt jshint runs jshint with our defined rules
  • grunt concat concats source files and library files to candy.bundle.js and libs.bundle.js
  • grunt uglify minifies bundles to candy.min.js and libs.min.js
  • grunt docs regenerates documentation

All grunt tasks should notify you (if supported by the OS you're on) if the task is finished.

As usual, if you discover bugs, open an issue and if you have questions, ask in our mailinglist (no gmail address required to subscribe).

Downloads

Beta 3 fixes:

  • Fix #202 by triggering a new event (example in the example for the event trigger) [thanks @lkraav]
  • Update example with helpful hints
  • Fix nickname conflict label (nickname instead of username)

Downloads

Beta 2 fixes:

Downloads

Due to the amount of changes we decided to create a beta first. Please help us test.

Escaping

Using nicknames and rooms with non-ASCII characters has not been possible until now due to some wrong implementations on our side. With this beta release, various fixes have landed to address these issues.

Nickname change support

  • Candy is now finally able to rename a user which sends a nickname change to rooms you're in.
  • New API method: Candy.Core.Action.Jabber.SetNickname(nickname) to change a user's nickname (e.g. by plugins).

Websocket support

Build tool change

We replaced the existing build tool with Grunt. This should make contributing much easier (especially also for windows users). In order to contribute to Candy, please read CONTRIBUTING.md. If you're already familiar with grunt, these are the commands available:

  • grunt watch watches the filesystem for changes, runs jshint on the changed files and if no errors are there, runs concat and uglify to build candy.bundle.js and candy.min.js.
  • grunt jshint runs jshint with our defined rules
  • grunt concat concats source files and library files to candy.bundle.js and libs.bundle.js
  • grunt uglify minifies bundles to candy.min.js and libs.min.js
  • grunt docs regenerates documentation

All grunt tasks should notify you (if supported by the OS you're on) if the task is finished.

Various features and fixes

Other fixes and new features include:

  • Support jQuery >= 1.9 (we still have a IE version check though)
  • Display error message if autojoin config param is empty
  • Add ARIA label to text field (fixes #182, thanks @jrbl)
  • Linkify subject by default (fixes #196)
  • New Brazilian portuguese translation (fixes #143, thanks @renato)
  • Fix privacy list error detection for Prosody (fixes #200)
  • New event trigger before connecting which enables Plugins to reliably create stanza handlers
  • Update example (fixes #203, thanks @lkraav)
  • Remove deprecated event system

Thanks a lot to all the contributors, we appreciate this!

As usual, if you discover bugs, open an issue and if you have questions, ask in our mailinglist (no gmail address required to subscribe).

Downloads

Candy v1.5 - new default theme and better events

@pstadler pstadler released this Dec 14, 2013 · 364 commits to master since this release

New event system

We now use jQuery events instead of our own observer functionality for building plugins. This enables plugin developers to build more awesome plugins and also removes the issue that one plugin could overwrite the hooks of another plugin.

New default theme

We built a new default theme for Candy. The new design brings some eye-candy and looks more polished.

Bugfixes

We fixed a lot of bugs and improved the core to be more robust.

Downloads