Releases: candy-chat/candy
v2.2.0
Changelog: v2.1.0...v2.2.0
v2.1.0
Changelog: v2.0.0...v2.1.0
v2.0.0
Changelog: v1.7.1...v2.0.0
v1.7.1 - XEP-0048 v1.1 support (bookmarks) & more support for invite stanzas
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 - bugfixes, better xmpp protocol support & new events usable by plugins
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
andafter
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
andcandy:view.message.before-show
can now be cancelled within a plugin. Just returnfalse
. (#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 nowassets
for the path to the CSS etc. files. This has been done to avoid confusion with thecore.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 - fix escaping, nickname change & websockets support
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://
orwss://
URL as the first parameter ofCandy.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, runsconcat
anduglify
to buildcandy.bundle.js
andcandy.min.js
.grunt jshint
runs jshint with our defined rulesgrunt concat
concats source files and library files tocandy.bundle.js
andlibs.bundle.js
grunt uglify
minifies bundles tocandy.min.js
andlibs.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 beta 3 - add event before Candy.View handles connection status changes
v1.6.0 beta 2 - support for nick assignment & specifying resource as a config param
v1.6.0 beta 1 - escaping fixes, nickname change support & websockets support
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://
orwss://
URL as the first parameter ofCandy.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, runsconcat
anduglify
to buildcandy.bundle.js
andcandy.min.js
.grunt jshint
runs jshint with our defined rulesgrunt concat
concats source files and library files tocandy.bundle.js
andlibs.bundle.js
grunt uglify
minifies bundles tocandy.min.js
andlibs.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).
Candy v1.5 - new default theme and better events
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.