摘要XMPP开源IM客户端Spark在2017新年初发布了2.8.3版,该版本是个次要更新版,修复了bug并新增了若干新特性。前言XMPP开源IM客户端Spark在2017新年初发布了2.8.3版,该版本是个次要更新版,修复了bug并新增了若干新特性。Spark是一个开源、跨平台IM客户端(支持Linux、windows、Mac OS X平台)。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。官方的说明原文The Ignite Realtime community has just released Spark 2.8.3 and it can be downloaded from theIgnite Realtime: DownloadsThis is a regular update. A few issues have been fixed. Bundled Java updated to the latest version. There is a new menu to view history of sent broadcasts and an option to login anonymously.For a complete list of changes please check theSpark ChangelogWe encourage developers to get involved with Spark project by providing feedback and patches in the forums or submitting pull requests toGitHub - igniterealtime/Spark: Cross-platform real-time collaboration client optimized for business and organizations.Here is the list of contributors to this release (besides myself):Michael - fixed Advanced settings not being saved without opening that menu, always on top issue and changed behavior when Auto Login is hiddenAlexander198961 (Aleksander Kovtunenko) · GitHub - added a feature to save broadcasts history and access it via a new menu optionJerry - added support for anonymous loginGuus der Kinderen - fixed issue when joining a room with a duplicate nickname and improved build time by removing unneeded code style checksDaryl Herzmann - helped to clean up the code further (removing legacy CVS keywords)speedy - fixed issues with password not being deleted when it should and added log file rotating by sizeAtalanttore (Ettore Atalan) · GitHub - updated German translation(官方原文: 版更新内容Bug[SPARK-1844] - Not saving settings without opening Advanced menu once[SPARK-1848] - Setting "Chat Window Always on Top" also enables "Main Window Always on Top" behavior[SPARK-1853] - NPE when not setting an avatar[SPARK-1854] - Joining a MUC with a duplicate nickname results in strange behavior.[SPARK-1855] - ContactList should not pop up when logging off[SPARK-1858] - Password not removed from when "Save Password" option is disabled[SPARK-1863] - Resets initially empty values in Advanced menu when logging outNew Feature[SPARK-1825] - Add an option to see a history of broadcasts[SPARK-1852] - Add anonymous SASL login supportTask[SPARK-1821] - Update bundled JRE with the latest version[SPARK-1856] - Remove unused static analyzers[SPARK-1857] - Remove legacy CVS keywords[SPARK-1862] - Remove obsolete information from Readme and update linksImprovement[SPARK-1847] - Remove Log out menu when Auto Login and Save Password are disabled[SPARK-1849] - Make logs rotate based on size or time[SPARK-1850] - Shouldn't save password when SSO is being used[SPARK-1860] - Implement group chat duplicate name deconfliction similar to 2.7.7[SPARK-1864] - Add translations to MUC dialogs[SPARK-1867] - Update German translation更多版本更新记录,请参见:

摘要XMPP开源IM客户端Spark近日发布了2.8.2版,该版本是个独立发布版,主要是修复了一些Bug并增加了LittleLuck界面皮肤。前言XMPP开源IM客户端Spark近日发布了2.8.2版,该版本是个独立发布版,主要是修复了一些Bug并增加了LittleLuck界面皮肤。Spark是一个开源、跨平台IM客户端(支持Linux、windows、Mac OS X平台)。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。官方的说明原文This is a regular update. But there is a change, which can affect new users. "Accept all certificates" option on the Adanced menu on the Login screen won't be enabled by default for new users from now on. This option makes Spark automatically accept expired, self-signed and other incorrect TLS certificates. Which makes it less secure. If you are using self-signed certificates, your new users will have to enable this option manually (once). Or you can add this option to a preconfigured file, if you distribute it to new users. Old users won't be affected by this (those upgrading straight from 2.7 version will still be affected). We encourage server admins to use certificates from trusted authorities (e.g. Let's Encrypt). This version also includes 4.1.9 update for Smack, which has a fix for a critical security vulnerability.UPDATE (2016/11/29):it looks like Spark is not saving settings on Advanced menu, if a user has never opened it. For such users "Accept all certificates" setting will be disabled after updating to 2.8.2 from any version. They will have to go to Advanced menu and enable if if they encounter "Unable to verify a certificate" error.Those who are using Client Control plugin will have to update it to version 2.1.0 as Spark 2.8.2 is already modified to work with that version and it will miss many menus and checkboxes if being used with an older version of that plugin. 2.1.0 version requires Openfire 4.0.0 at least. If you are using older version of Openfire and want to keep using Client Control, you might want to hold of updating to Spark 2.8.2.(官方原文: 版更新内容Bug:[SPARK-1516] - Spark should not let open profile edit by clicking the avatar if profile changing is disabled[SPARK-1520] - Systray icon changes to online when one opens the chat window[SPARK-1593] - Spark shouldn't add Offline status when a user goes invisible[SPARK-1758] - Unfiled group appears when contact goes online[SPARK-1801] - Fix links opening in KDE environment (updated)[SPARK-1816] - Shouldn't freeze when using unsupported plugins[SPARK-1820] - Can't switch back to online presence after turning invisible on[SPARK-1827] - Shouldn't allow broadcast to selected users when it is disabled in Client Control新功能:[SPARK-1802] - Add LittleLuck skin[SPARK-1835] - Modify Spark to work with new Openfire Client Control plugin settings杂项:[SPARK-1732] - Update bundled JRE with the latest version[SPARK-1837] - Update Smack to the latest version (4.1.9)优化:[SPARK-1021] - Default to Name field as nickname when adding a contact[SPARK-1434] - Add Polish Spelling option[SPARK-1789] - Change Accept all certificates option to disabled by default[SPARK-1822] - Add additional default properties to control GUI settings[SPARK-1824] - Update Polish translation[SPARK-1831] - Update Italian translation更多版本更新记录,请参见:

摘要XMPP开源IM客户端Spark近日发布了2.8.0版,该版本是个主要更新版本,标志着对 Java 7 的支持已经结束,从 2.8.0 起,在线的安装包在 Java 7 下将不能运行,官方建议升级至 Java 8。前言XMPP开源IM客户端Spark近日发布了2.8.0版,该版本是个主要更新版本,标志着对 Java 7 的支持已经结束,从 2.8.0 起,在线的安装包在 Java 7 下将不能运行,官方建议升级至 Java 8。Spark是一个开源、跨平台IM客户端(支持Linux、windows、Mac OS X平台)。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。官方的说明原文This is a major release marking the end of support for Java 7 (which has reached the end of life state more than a year ago). Full Spark installers have already been bundled with Java 8 for some time. Online installer won't work with Java 7 starting with 2.8.0 version. We recommend updating to Java 8. Underlying Smack library has been updated to the latest version in this release. Roar plugin has received new popup control options as well.(官方原文: 版更新内容Bug[SPARK-1130] - Spark behaves wrong with chats with similar names[SPARK-1275] - Add contact dialog makes Spark lose connection[SPARK-1564] - Should set priority to 0 when Idle status turns on[SPARK-1613] - Long lines of text without spaces break the word wrap[SPARK-1736] - NPE in Roar plugin prevents messages to show up on fresh profiles[SPARK-1738] - RPM build fails after Smack 4 update[SPARK-1739] - Not trusting Openfire certificate after Smack 4 update[SPARK-1742] - Spark won't start when bookmark service is unavailable.[SPARK-1743] - MUC nickname sharing fails.[SPARK-1744] - Shouldnt send chat state notifications when the chat isn't active yet[SPARK-1745] - Fastpath plugin doesn't start after Smack 4 update[SPARK-1747] - Spark appears to fall back to a non-sasl when authenticating[SPARK-1749] - Not showing the context menu for participants in MUC[SPARK-1750] - Spark is not automatically reconnecting after Smack 4 update[SPARK-1751] - Only a few first messages show up and no other messages come through[SPARK-1752] - File transfer and screenshot sending doesn't work after Smack 4 update[SPARK-1755] - Redundant Roar popups and history entries when receiving messages[SPARK-1756] - Prevent NPE in error handling (Group chat - Smack 4)[SPARK-1761] - Fixing RPM build after Bamboo migration[SPARK-1763] - Can't create new account on a server (Smack 4 issue)[SPARK-1764] - Transcript file is not being closed on exit[SPARK-1766] - File Streams not being closed on a few files[SPARK-1768] - Fix Debian build[SPARK-1772] - Not showing correct room affiliation icons for different roles[SPARK-1773] - Spark does not detect keystrokes when switched away due to idle on mac and linux[SPARK-1776] - Private messages in MUC do not show up (Smack 4)[SPARK-1777] - Presence getting stuck in Away mode sometimes[SPARK-1778] - Spark shouldn't lookup an empty username[SPARK-1779] - No vertical scrollbar in the participants list[SPARK-1783] - ROAR plugin should not assume Opaque is supportedNew Feature[SPARK-1596] - Different settings for group chat Roar popups[SPARK-1599] - Add an option for custom Roar popup based on a keyword[SPARK-1709] - Add Russian dictionary for spellchecker[SPARK-1729] - Add an option to save group chat password[SPARK-1731] - Add Ukrainian translationTask[SPARK-1722] - Update bundled JRE with the latest versionImprovement[SPARK-1559] - Add URL support to server broadcast dialog[SPARK-1567] - Update Smack to the 4th version (4.1.7)[SPARK-1646] - Should switch to Away mode when locking screen on Windows 10[SPARK-1735] - Small group chat user-interface improvements[SPARK-1741] - Replace old code constructs[SPARK-1746] - Update Lithuanian translation[SPARK-1753] - Don't be disconnected when receiving invalid stanzas[SPARK-1754] - Update Italian translation[SPARK-1769] - Update Substance LaF to the latest version[SPARK-1771] - Update Smack to 4.1.8 version[SPARK-1775] - Prevent exceptions from going unnoticed更多版本更新记录,请参见:

摘要XMPP开源IM客户端Spark近日发布了2.7.7版发布版,该版本也是Spark工程重新启动1周年纪念版。进展缓慢的Spark工程,如能重启再次活跃起来,对IM开发者来说,将是个好消息。前言XMPP开源IM客户端Spark近日发布了2.7.7版发布版,该版本也是Spark工程重新启动1周年纪念版。进展缓慢的Spark工程,如能重启再次活跃起来,对IM开发者和即时通讯学习者来说,将是个好消息。Spark是一个开源、跨平台IM客户端(支持Linux、windows、Mac OS X平台)。它的特性支持集组聊天,电话集成和强大安全性能。如果企业内部部署IM使用Openfire+Spark是最佳的组合。官方的说明原文This is another minor release marking exactly one year since Spark project reboot (yeah, we also like to have Anniversary Update).There are a few small fixes and updates in this release (as a regression with Idle presence, fix for OTR plugin, etc.).I want to use this chance to look back at the last year. Spark had 7 more releases since the 2.7.0 during that time. 100 tickets have been resolved. Some old patches have been applied (laying around in the forums and the tracker for years).We have also received new patches from around 10 new contributors. Which is great!We see that Spark project is often forked on GitHub, so we hope more developers will forward their patches and new features to the main project. There is also an official Wikipedia page for Spark now (and additional 6 languages linked to it) in hope to increase awareness of this project.2.7.7 版更新内容Bug[SPARK-1597] - UNC links in file://\ format should work in the chat window[SPARK-1660] - Should not fallback to direct connection when proxy is enabled[SPARK-1695] - Windows installer is including linux lib folder[SPARK-1717] - Failing dependencies when installing RPM version[SPARK-1721] - Fix a typo in Network Address Manager in SIP plugin[SPARK-1724] - OTR plugin not working after bouncy castle lib update[SPARK-1726] - Spark is setting negative priority when switching to IdleNew Feature[SPARK-1720] - Add option to disable Incoming Call notification popupTask[SPARK-1687] - Update bundled JRE with the latest versionImprovement[SPARK-1716] - Fix alignment of fields on Business card in Profile[SPARK-1718] - Remove old java from RPM installation[SPARK-1723] - Update of German translation[SPARK-1727]

<span class="breaking">breaking change:</span> Array mutation methods

In 0.8, an array observer was used to monitor the mutation of arrays, so adding an
item to an array was observed automatically, but changing a value in an array item required
the setPathValue method (now renamed to set).

0.9 replaces the array observers with a set of array mutation methods. For array changes
to be observed by data bindings, computed properties, or observers, you must use the provided
helper methods: push, pop, splice, shift, and unshift. Like set, the first argument
is a string path to the array.

this.push('users', { first: "Stephen", last: "Maturin" });
  • Fix and update Lithuanian translation更多版本更新记录,请参见:

Release 1.0.1

Release 1.0.1 includes the following bug fixes:

  • Add sourceEvent property to track event. (commit)
  • Fix tap distance check: Fixes #1652.
  • Fix sending tap on IE10 Fixes #1640.

Bug fixes

Release 0.9 includes a number of bug fixes. A few notable fixes are listed below.

  • The id attribute can now be data bound. (Note that if id is data bound,
    the element is omitted from this.$.)

  • Default values are now set correctly for read-only properties.

  • An identifier with two dashes in the middle (c--foo) was improperly interpreted
    as a CSS custom property name.

  • Fixed several issues with computed bindings, including one where the computing function
    was not invoked unless its dependent property was included in another binding.

Release 1.1.3 (2015-09-04)

  • Fixes #2403. Fixes a regression
    that affected legacy projects using Chrome 39.

<span class="breaking">breaking change:</span> fire API changes

The fire method now takes three arguments:

fire(type, [detail], [options]);

The options object can contain the following properties:

  • node. Node to fire the event on. Defaults to this.
  • bubbles. Whether the event should bubble. Defaults to true.
  • cancelable. Whether the event can be canceled with preventDefault. Defaults to false.

<span class="breaking">breaking change:</span> Property observer changes

The format for property observers has changed to be more like the format for computed properties:


observers: {
  'preload src size': 'updateImage'

updateImage: function(preload, src, size) {
  // ... do work using dependent values


observers: [
  'updateImage(preload, src, size)'

updateImage: function(preload, src, size) {
  // ... do work using dependent values

Also, property observers are not invoked until all dependent properties are defined.
If the observer is not being invoked, make sure all dependent properties have non-undefined
default values set.

Release 1.1.2 (2015-08-28)

  • Fixes #2356. Log a warning
    if the included style module cannot be found.

  • Fixes #2357. Styles included
    with include= are inserted before any styles defined in the body of
    the style element.

  • Fixes #2363. Explicitly create
    Polymer object on window to satisfy strict mode.

  • Fixes #2329. Registration changes
    to support ES6 classes.

  • Fixes #2341. Branch Polymer.dom to
    use native dom methods under Shadow DOM for appendChild, insertBefore, removeChild,
    replaceChild, and cloneNode.

  • Fixes #2334. When composing nodes
    in shady DOM, check if a node is where we expect it to be before removing it from
    its distributed position. We do this because the node may have been moved by
    Polymer.dom in a way that triggered distribution of its previous location. The
    node is already where it needs to be so removing it from its parent when it's no
    longer distributed is destructive.

Release 1.1.1 (2015-08-20)

This release fixes a serious regression in Release 1.1 related to shady DOM distribution. Related issues:

  • Fixes #2276: DOM API fails to select an element in a dom-repeat in Polymer 1.1. (commit)

  • Fixes #2311, #2323: When elements are removed from their previous position when they are added elsewhere, make sure to remove them from composed, not logical parent. (commit)

  • Fixes #2253: Refine logical tree check and populate parents of insertion points with logical info only if necessary. Fixes #2283: when a node is removed, we need to potentially distribute not only its host but also its parent. (commit)

Other fixed issues:

  • Fixes #2263: Ensure custom-style can parse variable definitions in supported selectors (e.g. /deep/) without exception due to unknown css. (commit)

  • array-selector: Add selectedItem property. (commit)

  • dom-repeat: Fixes #2297, Where a
    dom-repeat with a sort property threw an exception when removing 10 or more items at a time. (commit)

  • Fixes #2267: Properly find dom-module for mixed case elements. (commit)

  • Fixes #2304: Avoid trying to read style data from imports that did not load. (commit)

  • Support for negative numbers in computed bindings. (commit)

Release 0.9

A number of APIs changed between 0.8-rc.2 and 0.9. This section summarizes the changes.

Release 1.1.5 (2015-10-08)

This release includes the following new features:

  • Added isLightDescendent and isLocalDescendent utility methods to
    {{site.project_title}} elements.

  • The fire method's detail argument can take any primitive value, not just objects.

This release fixes the following issues:

  • Fixes #2504. Templatizer: Variables in the parent scope are not passed during initialization.

  • Fixes #2505. Templatizer: Changes to array/object properties from the parent scope not notified.

Gesture support

This release adds limited gesture support. For details, see Gesture events.