All Versions
20
Latest Version
Avg Release Cycle
70 days
Latest Release
1486 days ago

Changelog History
Page 2

  • v3.4.0 Changes

    June 26, 2019

    Highlights

    • GDPR data retrieval and removal

    All changes

    โž• Added

    ๐Ÿ”„ Changed

    • When a session gets replaced, the new one waits longer for the old one to close before reporting an error (#2054)
    • Authentication backends no longer use a store_type/1 function (#2254)
    • 0๏ธโƒฃ Default certificates are now generated faster (#2305)

    ๐Ÿ›  Fixed

    • Some race conditions in Stream Management (#2049)
    • faulty script execution of xep_tools (#2252)
    • MUC messages are now archived without an empty to attribute (#2220)
    • "Offline" classic MUC rooms are now properly reported in disco results (#2238)
    • Inbox responses are now properly routed to the original requester (#2276)
    • Resolved issues with TLS on OTP 20.x (#2332)

    Other

    ๐Ÿ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors:

  • v3.3.0 Changes

    March 12, 2019

    Highlights

    • Finalised RDBMS implementation for PubSub
    • MongooseIM integration with RabbitMQ
    • PKI authentication improvements

    All changes

    โž• Added

    • PubSub improvements
      • RDBMS backend for pubsub_node table (#2145)
      • mod_pubsub_cache_rdbms implementation (#2144)
      • RDBMS support for subscription options in PubSub (#2165)
      • Generic metrics measuring number of errors and execution time for different PubSub actions based on sent IQs (#2178)
      • Setting subscription options for flat_node (#2165)
    • RabbitMQ layer (#2127, #2216)
      • RabbitMQ backend for event_pusher
      • rabbit worker pool (that can be used for any interaction with RabbitMQ)
      • mongoose_amqp module that deals with AMQP protocol layer
    • โž• Address best practices for using SASL EXTERNAL as defined by XEP-0178 (#2204, #2223, #2231)
    • Upsert API for RDBMS (#2153)
    • gen_mod:opts_for_module/2 which allows you to selectively retrieve opts passed through config to a given module (#1027)
    • Backend functions get a new metric: number of function calls (#2177)
    • mod_vcard calls optional tear_down callback on the backend module (#2152)

    ๐Ÿ”„ Changed

    โšก๏ธ Update dependencies:

    - nkpacket f7c5349 (#2147)

    PubSub changes

    • Extract mnesia operations around pubsub_node table to the backend module (#2141)
    • Optimize the way a pubsub node is removed (#2136)
    • Remove pubsub_subscription module, refactor opts forms processing and integrate option storage logic into DB backends (#2148)
    • mnesia cache backend for pubsub_last_item extracted to a separate cache backend module (#2144)
    • Simplified pubsub_index API, removed free function (#2156)
    • Backend modules call pubsub_index when the id is not passed (#2156)
    • Use RDBMS autoincrementing index in place of pubsub_index (#2160)
    • Replace Mnesia's transaction and sync_dirty calls in the RDBMS backend with proper RDBMS equivalents (#2191)
    • Return the index when the node is created (#2160)
    • Parallelised PubSub message broadcast (#2206)

    - Spawn a new process in mod_pubsub:broadcast_stanza/9

    Change stop_module_keep_config/2 and stop_module/2 to return module opts (#1027)

    โšก๏ธ Update snippet to register users (#2181)

    ๐Ÿ‘‰ Use map syntax to pass ranch transport options (#2188)

    ๐Ÿ”„ Change the name of the metric responsible for the number of backend function calls (#2193)

    Replace jsx with jiffy (#2199)

    ๐Ÿ‘‰ Make HTTP headers lowercase to avoid HTTP/2 connection errors (#2211)

    ๐Ÿ›  Fixed

    • Add mod_pubsub_db_backend:add_item to the tracked functions (#2193)
    • erlcloud_sns:publish content format (#2176)
    • infinity mapped to 0 in the matches option in mod_vcard_ldap (#2179)
    • mod_vcard_ldap ignored ldap_uids formed as {"attribute"} and only parsed {"attribute", "format"} correctly (#2180)
    • Return MAM item-not-found IQ result when a nonexistent message ID is asked for (#2166)
    • ๐Ÿ›  Fix mongooseimctl debug command to use correct hostnames (#2201)
    • ๐Ÿณ Use mongooseim-docker with a name flag and nodename fixes (#2205)
    • ๐Ÿ›  Fix compilation errors when the compilation directory has whitespaces in it (#2203)
    • 0๏ธโƒฃ Default inbox backend is set to rdbms (#2236)
    • mod_vcard_ldap:eldap_pool_search/6 empty list handling (#2226)
    • lowercase HTTP headers in mod_bosh for HTTP/2 compliance (#2211)

    Other

    • ๐Ÿ— Run Travis builds on newer (not newest) Ubuntu LTS version Xenial (16.04) (#2151)
    • โšก๏ธ Update mongooseim-docker to cc7326bfd0129943206a67e57dd861ff19c403c7 (#2190)
    • ๐Ÿ”จ Test improvements and refactoring (#2165, #2162, #2164, #2170, #2127, #2142, #2146, #2147)
    • ๐Ÿ›  Fix broken or remove outdated links in docs (#2183)
    • ๐Ÿš€ Install the most up to date package builder epel-release for centos 7 (#2154)
    • ๐Ÿ‘ท Stabilize the ldap job on travis (#2140)
    • โšก๏ธ Update find-hooks.awk (#2225, #2232)
    • โšก๏ธ Update escalus to 8911491 (#2224)
    • ๐Ÿ“š Update documentation (#2155, #2163, #2167, #2233, #2227)

    ๐Ÿ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors:

  • v3.2.0 Changes

    November 20, 2018

    Highlights

    • Client Certificate authentication for Websockets and BOSH
    • Inbox improvements (push notifications integration)
    • Unified outgoing connections pools

    All changes

    โž• Added

    • ๐Ÿ‘Œ Improvements in mod_inbox:
      • User can show only active/all conversations (#2017)
      • Inbox IQ result stanza provides a total unread messages count and an active conversation count (#2047, #2056)
      • If an inbox query is malformed, a descriptive error is returned (#2052)
      • mod_inbox is integrated with mod_event_pusher, so push notifications now include an unread messages count (#2078)
    • SASL EXTERNAL may be used with WebSockets and BOSH (#2093)
    • mongoose_wpool abstraction layer (#2060, #2099, #2117)
    • rdbms, redis, riak, cassandra, http ,generic and elasticsearch pools are started via outgoing_pools config option (#2077, #2079, #2084, #2087, #2101)
    • Self-signed certificates may be used with fast_tls driver (#2102)
    • mongoose_bin module unifies random strings generation API (#2000)
    • Modules may specify "optional" dependencies to enforce the startup order (but not the startup itself) (#2029)
    • Switchable RDBMS backend for mod_pubsub - experimental (#2122, #2113, #2129, #2131, #2134)
    • ๐Ÿ”ง Changing MUC Light room configurations is possible via REST API (#2030)
    • ๐Ÿ†• New Message Archive Management metrics for async writers (#2023)
    • ๐Ÿ†• New Makefile target to check code style with Elvis (#2111)

    ๐Ÿ”„ Changed

    • ejabberd.cfg is renamed to mongooseim.cfg
    • ๐Ÿ‘ OTP versions older than 19.0 are no longer supported (#2002)
    • "ODBC" usage has been clarified and it has been renamed to RDBMS where relevant (#2053)
    • Mongoose accumulator v2.0 is more difficult to abuse and has less implicit logic (#2076)
    • ๐Ÿ‘ Pre 1.0 XML streams are no longer supported (so is non-SASL authentication) (#1998)
    • Improvements in http backend of mod_event_pusher (#2100)
    • ๐Ÿ‘ท Cassandra layer uses a standard MIM worker pool instead of a custom one (#2043)
    • Deprecated gen_fsm is replaced by gen_fsm_compat (#1996)
    • โšก๏ธ Updated dependencies:
    • Implementation of MUC Light user affiliation logic is more developer-friendly (#1934)
    • ๐Ÿ”Œ Generation of codecov-compatible coverage report is extracted to rebar3_codecov plugin (#2073)
    • mod_muc uses maps instead of dictionaries ( #1986)
    • ๐Ÿ‘ท Shaper workers are organised under dedicated supervisor (#2130)

    ๐Ÿ›  Fixed

    • Config reload in cluster had broken verification logic (#2051)
    • fusco clients are now properly closed in mod_revproxy (#2118)
    • Backend proxy modules are loaded only once (#1438)
    • Node cleaners are no longer crashing (#2135)
    • โœ… Test runner
      • Tests are counted properly on macOS (#2004)
      • Appropriate error is returned, when there are no test nodes. (#2004)
      • Improved test specs generation and autocompletion (#2036)
    • ๐Ÿ›  Minor fixes (#2010, #2046, #2069, #2086, #2123)
    • ๐Ÿš€ rebar3 release generation with OTP 21 (update to 3.6.1) (#2037)
    • ๐Ÿ”ง NkSERVICE cache dir configuration works as expected now (#2058)
    • ๐Ÿ‘ท Dialyzer job on Travis runs with Erlang/OTP 21 and returns no errors (#2075)

    Other

    ๐Ÿ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors: @getong @igors @justinba1010 !

  • v3.1.1 Changes

    July 24, 2018

    Highlights - 3.1.x

    • ๐Ÿ‘ Inbox extension enters beta stage, improved with MUC, timestamps and MSSQL support
    • โœ… Test Runner - comprehensive tool for executing tests locally
    • ๐Ÿ‘ OTP 21 support
    • ElasticSearch backend for message archive

    Patch: 3.1.1

    • โšก๏ธ Updated exml to 3.0.2, fixing an important security issue.

    All changes - 3.1.0

    โž• Added

    • mod_inbox enters beta stage
      • Timestamps support (#1970)
      • Classic MUC support (#1961)
      • MSSQL support (#1965)
    • โœ… Test Runner (#1973, #1989, #1991)
    • ๐Ÿ‘ OTP 21 support, OTP 18.x is no longer officially supported (#1947)
    • Jingle/SIP tutorial (#1980)
    • ElasticSearch backend for message archive (#1900)
    • ๐Ÿ‘ Smack-specific properties support in REST API (#1976)
    • ๐Ÿ‘ reload_cluster command support for ignorable options (#1948)
    • ๐Ÿ‘ Jingle/SIP Re-INVITE support (#1903)
    • More meaningful HTTP API errors (#1776)
    • MUC hooks for user join and leave (#1898)
    • Support for result limiting options in mod_mam_meta (#1977)

    ๐Ÿ”„ Changed

    • ๐Ÿ”€ Message archive async writers no longer synchronise on reading operations (#1919)
    • Replaced bundled LDAP driver with an OTP one (#1216)
    • ๐Ÿ‘ท All worker pools are now based on one library: worker_pool (#1955)
    • ๐Ÿšš Mnesia directory is no longer removed in clustering operations (#1951)
    • Inconsistent Mnesia directory names are no longer an error in clustering operations (#1904)
    • 0๏ธโƒฃ MEDIUMBLOB is used for message archive data by default (#1873)
    • โž• Adding children to main supervisor is now more strictly verified (#1905)
    • โšก๏ธ Updated dependencies:
      • worker_pool 3.1.1 (#1983)
      • lager 3.6.4 (#1992)
      • jiffy 0.15.2 (#1992)
      • idna 1.5.2 (#1992)
      • uuid 1.7.3 (#1992)
      • lasse 1.1.1 (#1992)
      • escalus e7eece237a56560add06127bc9ed47d423e88dcc (#1947)
    • โœ‚ Removed pooler dependency (#1875)
    • ๐Ÿšš Moved some multi-module MongooseIM components to dedicated subdirectories (#1952)
    • conflict_check_failed log severity changed to "warning" (#1981)
    • โฌ‡ Decreased severity of some log messages (#1984)

    ๐Ÿ›  Fixed

    • mongoose_acc server property scope (#1925)
    • mod_inbox_odbc was reporting false errors on MySQL upserts (#1994)
    • โšก๏ธ Rosters are properly updated on subscription requests (#1931)
    • DB deadlock is now handled properly in message archive preferences (#1897)
    • Handling of terminating receiver process (#1949)
    • mod_jingle_sip startup for multiple hosts (#1960)
    • Record-Route header generation in Jingle/SIP (#1958)
    • MSSQL transactions are now stable in MUC Light (#1917)

    Other

    ๐Ÿ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors: @SamuelNichols @Beisenbek @GalaxyGorilla @igors !

  • v3.1.0 Changes

    โž• Added

    • mod_inbox enters beta stage
      • Timestamps support (#1970)
      • Classic MUC support (#1961)
      • MSSQL support (#1965)
    • โœ… Test Runner (#1973, #1989, #1991)
    • ๐Ÿ‘ OTP 21 support, OTP 18.x is no longer officially supported (#1947)
    • Jingle/SIP tutorial (#1980)
    • ElasticSearch backend for message archive (#1900)
    • ๐Ÿ‘ Smack-specific properties support in REST API (#1976)
    • ๐Ÿ‘ reload_cluster command support for ignorable options (#1948)
    • ๐Ÿ‘ Jingle/SIP Re-INVITE support (#1903)
    • More meaningful HTTP API errors (#1776)
    • MUC hooks for user join and leave (#1898)
    • Support for result limiting options in mod_mam_meta (#1977)

    ๐Ÿ”„ Changed

    • ๐Ÿ”€ Message archive async writers no longer synchronise on reading operations (#1919)
    • Replaced bundled LDAP driver with an OTP one (#1216)
    • ๐Ÿ‘ท All worker pools are now based on one library: worker_pool (#1955)
    • ๐Ÿšš Mnesia directory is no longer removed in clustering operations (#1951)
    • Inconsistent Mnesia directory names are no longer an error in clustering operations (#1904)
    • 0๏ธโƒฃ MEDIUMBLOB is used for message archive data by default (#1873)
    • โž• Adding children to main supervisor is now more strictly verified (#1905)
    • โšก๏ธ Updated dependencies:
      • worker_pool 3.1.1 (#1983)
      • lager 3.6.4 (#1992)
      • jiffy 0.15.2 (#1992)
      • idna 1.5.2 (#1992)
      • uuid 1.7.3 (#1992)
      • lasse 1.1.1 (#1992)
      • escalus e7eece237a56560add06127bc9ed47d423e88dcc (#1947)
    • โœ‚ Removed pooler dependency (#1875)
    • ๐Ÿšš Moved some multi-module MongooseIM components to dedicated subdirectories (#1952)
    • conflict_check_failed log severity changed to "warning" (#1981)
    • โฌ‡ Decreased severity of some log messages (#1984)

    ๐Ÿ›  Fixed

    • mongoose_acc server property scope (#1925)
    • mod_inbox_odbc was reporting false errors on MySQL upserts (#1994)
    • โšก๏ธ Rosters are properly updated on subscription requests (#1931)
    • DB deadlock is now handled properly in message archive preferences (#1897)
    • Handling of terminating receiver process (#1949)
    • mod_jingle_sip startup for multiple hosts (#1960)
    • Record-Route header generation in Jingle/SIP (#1958)
    • MSSQL transactions are now stable in MUC Light (#1917)

    Other

    • ๐Ÿ“š Documentation fixes and improvements (#1906, #1936, #1966)
    • ๐Ÿ”จ Tests improvements and refactoring (#1874, #1879, #1883, #1884, #1885, #1886, #1892, #1893, #1895, #1899, #1908, #1911, #1914, #1916, #1920, #1921, #1922, #1924, #1926, #1932, #1937, #1940, #1943, #1944, #1950, #1953, #1954, #1956, #1962, #1967, #1982, #1990)
    • ๐Ÿ— Build improvements (#1915)
    • Deps are downloaded with HTTPS (#1929)
    • ๐Ÿ— Codecov thresholds for failed build are now set to 0.5% (#1957)
  • v3.1.x Changes

    • ๐Ÿ‘ Inbox extension enters beta stage, improved with MUC, timestamps and MSSQL support
    • โœ… Test Runner - comprehensive tool for executing tests locally
    • ๐Ÿ‘ OTP 21 support
    • ElasticSearch backend for message archive
  • v2.1.0.beta2 Changes

    July 06, 2017

    โž• Added

    • Roster management in client REST API (#1286)
    • Silent push notifications (#1287)
    • ๐Ÿ‘ RSM support in mod_vcard (#978)
    • ๐Ÿ”ง MAM can be configured to archive (or not) groupchat messages in private archives (#1294)
    • ๐Ÿ†• New command in mongooseimctl (#1256)
    • Extended mod_roster backends' API (#1302)
    • โš  A warning is logged, when a module links to caller process on startup (#1247)

    ๐Ÿ”„ Changed

    • now() calls have been replaced with alternatives in p1_time_compat (#1246)
    • ๐Ÿ“œ Stanza size limit is now checked while parsing the stanza (#1285)
    • ๐Ÿ‘ mongoose_acc extended lifespan; supported by more hooks. (#1211, #1306)
    • crypto:rand_bytes/1 calls have been replaced with crypto:strong_rand_bytes/1 (#1348)

    ๐Ÿ›  Fixed

    • ๐Ÿ‘Œ Improved error handling in C2S (#1264)
    • MAM + MUC Light integration (#1270)
    • Push nodes discovery and handling in mod_pubsub (#1272)
    • BOSH interleaving logic (#1289)
    • Error presence handling in MUC (#1307)
    • Race condition between mod_caps and PEP (#1301)
    • Minor bugs in Service Discovery (#1303)

    Other

    • โœ… Expanded, better tests and improved coverage (#645, #1241, #1278, #1291)
    • ๐Ÿ‘ Ensured OTP 19.3 support. (#1251)
    • ๐Ÿ”ง Configuration improvement (#1296, #1299)
    • ๐Ÿ”จ Refactored many modules to satisfy our coding standards. (#1254, #1259)
    • ๐Ÿ“š Many improvements and fixes in MongooseIM documentation. (#1242, #1243, #1253, #1260, #1261, #1262, #1271, #1279, #1282, #1284, #1288, #1292, #1293, #1295, #1297, #1298, #1303, #1304, #1310, #1318, #1319, #1320, #1323, #1324, #1326, #1332, #1333, #1334, #1336, #1345)
    • ๐Ÿ— Build improvements and fixes (#1258, #1266, #1300, #1309, #1315, #1335, #1355)

    ๐Ÿ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors: @astro @strugee @msantos @daniel-e @deadjdona !

  • v2.1.0.beta1 Changes

    March 28, 2017

    โž• Added

    ๐Ÿ”„ Changed

    • ๐Ÿ‘ท build system to rebar3 #1033
    • hooks implementation
      • all hooks have now fold semantic (returned value is passed from hendler to handler) #1149
      • result from a hook run is passed between different hooks #1174, #1194, #1202, #1220
    • ๐Ÿ”ง RDBMS pools configuration: #1217
      • this is backward incompatible - requires change in config file
    • shapers implementation: #1213
      • this lead to some race condition bug fixes

    ๐Ÿ›  Fixed

    • handling of TLS options for S2S connections #1182
    • deadlock between mod_muc and mod_muc_log #1219
    • ๐Ÿ›  fix for uncleaned resumed sessions #1186

    Other

    Special thanks to our contributors: @astro, @aszlig

    ๐Ÿš€ This release repo history

  • v2.0.0.beta2 Changes

    2016-08-29

    ๐Ÿš€ This release includes:

    Special thanks to our contributors: @bernardd, @igors, @arkdro

    ๐Ÿš€ This release repo history

  • v2.0.0.beta1 Changes

    2016-06-28

    ๐Ÿš€ This release includes:

    Special thanks to our contributors: @zsuidakra, @arkdro, @bernardd, @kshamko

    ๐Ÿš€ This release repo history