All Versions
10
Latest Version
Avg Release Cycle
88 days
Latest Release
2967 days ago

Changelog History

  • v2.2.0 Changes

    February 13, 2016

    🔄 Changelog: v2.1.0...v2.2.0

  • v2.1.0 Changes

    August 11, 2015

    🔄 Changelog: v2.0.0...v2.1.0

  • v2.0.0 Changes

    July 10, 2015

    🔄 Changelog: v1.7.1...v2.0.0

  • v1.7.1 Changes

    July 14, 2014

    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.

  • v1.7.0 Changes

    June 27, 2014

    🛠 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!

  • v1.6.0 Changes

    January 20, 2014

    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).

  • v1.6.0-beta3 Changes

    January 17, 2014

    🛠 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)
  • v1.6.0-beta2 Changes

    January 13, 2014

    🛠 Beta 2 fixes:

    • 👌 Support nick assignment (#208, thanks @PaulSD)
    • 👌 Support specifying resource as a config param (#209 / #199, thanks @PaulSD)
  • v1.6.0-beta1 Changes

    January 10, 2014

    ✅ 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

    • ⬆️ With the upgrade to Strophe version 1.1.1, it's now possible to connect to a websocket endpoint. This is currently undocumented but works by supplying a ws:// or wss:// URL as the first parameter of Candy.init().
    • Servers that support websocket at this point: Prosody mod_websocket, Openfire websockets.

    🏗 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).

  • v1.5.0 Changes

    December 14, 2013

    🆕 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.