MongooseIM 3.0.0

@fenek fenek released this May 22, 2018

Highlights

  • exml 3.0.1, much faster and efficient than previous versions, thanks to a new XML parser: RapidXML
  • Inbox extension - a way to display conversations list in chat application

All changes

Added

  • Inbox extension - experimental (#1783)
  • Acceptor pool for incoming XMPP TCP/UDP connections (#1849)
  • OTP 20 support in mod_jingle_sip (#1825)

Changed

  • MongooseIM uses exml 3.0.1, based on new XML parser: RapidXML (#1729, #1870)
  • Updated fast_tls to a version that avoids extensive usage of stat function (#1806)
  • User sessions are hibernated (e.g. garbage collected) as frequently as possible (#1821)
  • Cassandra connection pool has been refactored (#1847)
  • Removed support for Message Archive Management v0.2 (#1860)
  • policy-violation check is performed in mod_mam(_muc), not in its backends (#1817)
  • Removed unnecessary -part schemas for MySQL (#1845)
  • mod_jingle_sip uses origin_ acc keys instead of custom ones (#1841)

Fixed

  • ODBC support - replaced ODBC library and refactored RDBMS code (#1816, #1838)
  • mod_muc terminated the room when a cancel form was received for a room in normal state (#1798)
  • C2S process now ignores IQ replies addressed to previous process for the same user session (#1803)
  • Metrics skipping (#1819)

Other

Commits, merged PRs and closed issues

MongooseIM 2.2.2

@fenek fenek released this Apr 17, 2018

Added

  • SASL EXTERNAL authentication method, i.e. auth with certificates (#1735)
  • Jingle/SIP proxy (#1797, #1814)
  • "Hidden" components capability (#1769)
  • Mongoose Services (#1792)
  • Hosts Refresher process for Global Distribution (#1660)
  • advertised_endpoints option for Global Distribution (#1724)
  • Pluggable backends support in mod_muc (#1758)
  • Foreground mode (#1775)
  • Now it is possible to upload test results to Google Drive (#1702)
  • Conditional logging macros (#1707)
  • Extended logging in mod_push_service_mongoosepush (#1777)
  • Extra debug logs in ejabberd_service and mod_websockets (#1697)
  • Extended logging in mod_vcard (#1715)

Changed

  • Refactored MongooseIM header files (#1570)
  • mod_event_pusher and mod_event_pusher_push API has been improved; not backwards compatible (#1796)
  • gen_mod:start,stop no longer allow to start already running and stop already stopped module (#1771)
  • "Big tests" are moved from test.disabled/ejabberd_tests/ to big_tests (#1778)
  • Binary values are now hex-escaped in queries to MySQL (#1678)
  • Updated dependencies: fast_tls @ a166f0e9fe78304e5ca628fd5eff57c850241813 and cache_tab @ 1.0.12 (#1753, #1806)
  • Updated MySQL library to 1.3.2 (#1787)
  • Updated rebar3 to 3.5.0 (#1786)
  • mod_ping no longer pings bare JIDs (#1710)
  • mod_mam no longer uses dynamically compiled module for accessing parameters (#1627)
  • 1-1 messages REST API now uses mongoose_acc structure (#1744)
  • Improved logging in Global Distribution (#1761)

Fixed

  • Under some conditions MongooseIM could enter infinite error routing loop (#1800)
  • mod_mam was handling Unicode data improperly (#1748)
  • mod_event_pusher_push could attempt pushing body-less message (#1726)
  • mod_event_pusher's HTTP backend was escaping data improperly (#1632)
  • A corner case in Global Distribution was present that could lead to broken message order (#1689)
  • Global Distribution was not caching origin info for packets from components (#1695)
  • Race condition was present in outgoing connection pools' initialisation in Global Distribution (#1750)
  • Global Distribution mappings manager sometimes crashed when mongoose_router_external* routers were first in routing chain. (#1763)
  • Admin REST API wasn't working properly with MUC Light + ODBC backend (#1742)
  • mod_mam was calculating complete attribute improperly when paginating backward (#1740)
  • X-OAUTH2 tokens were not deleted properly on user removal (#1746)
  • MAM 0.2 is now properly deprecated (#1807)
  • Received stanza size metric could be highly inaccurate (#1615)
  • Tide address used http instead of https (#1701)
  • MongooseIM could not be deployed in paths with spaces (#1621)

Other

Commits, merged PRs and closed issues

Special thanks to our contributors: @igors @jacksgt @sstrigler @GalaxyGorilla @varnerac!

MongooseIM 2.1.1

@fenek fenek released this Jan 16, 2018

Added

  • Event Pusher - a module that unifies all outgoing event channels: HTTP, Push Notifications etc. (#1414)
  • TLS-secured connections to databases (#1545, #1556, #1564, #1578, #1585, #1587)
  • Dedicated API in ejabberd_auth for accessing parameters in auth_opts tuple (#1593)
  • Experimental Global Distribution extension (#1604)
  • Max allowed stanza size may be now configured for mod_websockets (#1641)

Changed

  • Project structure has been transformed to single application layout (#1580, #1590)
  • Message Archive Management v0.2 support is now deprecated and will be removed in 3.0.0beta1 (#1514, #1591)
  • MySQL schema now uses utf8mb4 encoding and ROW_FORMAT=DYNAMIC. MySQL versions older than 5.5.14 are no longer supported. (#1611, #1633)
  • MongooseIM now uses updated and decoupled fork of exometer (#1600)

Fixed

  • User process crash when IQ result/error with Privacy Lists/Blocking Command namespace was received. (#1597)
  • MongooseIM build failed on macOS High Sierra due to old version of fast_tls (#1606)
  • Error type returned when VCard is not found (#1547)
  • Race condition in mod_muc on room PID registration (#1608)
  • Unnecessary transformations in mod_vcard_ldap (#1607)
  • MongooseIM build on 32-bit systems (#1574)
  • One of the hooks in mod_mam_odbc_arch wasn't properly disabled on module stop (#1576)
  • Event Pusher HTTP backend used invalid hostname to fetch options (#1630)
  • mod_websockets:close/1 didn't work. (#1603)

Other

Commits, merged PRs and closed issues

Special thanks to our contributors: @andrewvmail @igors !