Changelog History
Page 2
-
v3.4.0 Changes
June 26, 2019Highlights
- GDPR data retrieval and removal
All changes
โ Added
- GDPR data retrieval and removal (#2260, #2285, #2286, #2288, #2289, #2293, #2294, #2295, #2296, #2297, #2298, #2299, #2300, #2301, #2302, #2303, #2309, #2310, #2312, #2313, #2314, #2316, #2320, #2323, #2326, #2327, #2328, #2336, #2339, #2341, #2345, #2347, #2349)
- CLI
register
function now generates a safe, random username for a new account (#2262) - It is possible now to change the server name returned in HTTP responses (#2308)
- A new behaviour in case of conflicting component connections:
kick_old
(#2315)
๐ 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
- โก๏ธ Updated
escalus
to4.1.0
(#2337) - ๐จ Test improvements and refactoring (#2319)
- ๐ Update documentation (#2246, #2259, #2261, #2307, #2346)
๐ Commits, merged PRs and closed issues
Special thanks to our contributors:
-
v3.3.0 Changes
March 12, 2019Highlights
- 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)
- RDBMS backend for
- 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
- RabbitMQ backend for
- โ 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 optionaltear_down
callback on the backend module (#2152)
๐ Changed
โก๏ธ Update dependencies:
lager
3.6.7
(#2138)cowboy
2.6.0
(#2138)idna
6.0.0
(#2138)uuid
1.7.4
(#2138)fast_tls
1.0.26
(#2138, #2203)epgsql
4.2.1
(#2138)cache_tab
1.0.16
(#2138)stringprep
1.0.14
(#2138)proper
1.3.0
(#2138)meck
0.8.12
(#2138)bbmustache
1.6.1
(#2138)erlcloud
3.2.2
(#2138)observer_cli
1.4.1
(#2138)bbmustache
1.6.1
(#2182)jiffy
0.15.2
(#2182)proper
1.3.0
(#2182)escalus
4349a80
(#2182)shotgun
636d14e
(#2182)recon
2.4.0
(#2162)
-
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 forpubsub_last_item
extracted to a separate cache backend module (#2144)- Simplified
pubsub_index
API, removedfree
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
andsync_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
andstop_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
withjiffy
(#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 to0
in thematches
option inmod_vcard_ldap
(#2179)mod_vcard_ldap
ignoredldap_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
to8911491
(#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, 2018Highlights
- 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 withmod_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
andelasticsearch
pools are started viaoutgoing_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 tomongooseim.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 bygen_fsm_compat
(#1996) - โก๏ธ Updated dependencies:
fast_tls
1.0.23 (#2002)worker_pool
3.1.1 (#2002)esl/cqerl
master
(#2002)epgsql
4.1.0 (#2002)arcusfelis/eodbc
master
(#2002)tirerl
1.1.0 (#2002)- `cache_tabz 1.0.12 (#2002)
stringprep
1.0.12 (#2002)proper
1.2.0 from hex.pm (#2002)meck
0.8.11 (#2002)erszcz/pa
master
(#2002)bbmustache
1.5.0 (#2002)recon
2.3.6 (#2002)erlcloud
3.1.12 (#2002)jwerl
1.0.0 (#2002)observer_cli
1.3.3 (#2002)eredis
1.1.0lasse
1.2.0 (#2016)cowboy
2.4.0 (#2016, #2088)exml
3.0.2 (#2050)shotgun
9b6c1df
(#2092)escalus
592deba
(#2016, #2092)igors/eredis
e9688a1
(#2042)
- 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 inmod_revproxy
(#2118)- Backend proxy modules are loaded only once (#1438)
- Node cleaners are no longer crashing (#2135)
- โ Test runner
- ๐ 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
- ๐จ SASL authentication refactored (#2045)
- ๐ Build improvements (#1015)
- ๐ Documentation fixes and improvements ( #1527, #2024, #2038, #2039, #2012)
- ๐จ Tests improvements and refactoring (#1448, #1990, #2007, #2048, #2061, #2085, #2120, #2132, #2133)
- ๐ Codecov thresholds for a failed build are now set to 0.5% (#1957)
- Minor cleanup (#1553, #2081)
๐ Commits, merged PRs and closed issues
Special thanks to our contributors: @getong @igors @justinba1010 !
-
v3.1.1 Changes
July 24, 2018Highlights - 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
to3.0.2
, fixing an important security issue.
All changes - 3.1.0
โ Added
mod_inbox
enters beta stage- โ 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:
- โ 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)
๐ 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 inp1_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 withcrypto: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
- full text search in XEP-0313: MAM: #1136
- push notifications
- as described in XEP-0357: Push Notifications #1178, #1209
- to Amazon SNS: #1149
- โ integration with Tide Continous Load Testing
- file size limits to XEP-0363: HTTP File Upload: #1171
- ๐ support for version 0.3.0 of XEP-0363: HTTP File Upload: #1185
- SQL prepared queries #1172, #1177
- XMPP pipelining #1181
- Erlang distribution over TLS #1228
- ๐ JSON Web Token authentication #977
๐ 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
andmod_muc_log
#1219 - ๐ fix for uncleaned resumed sessions #1186
Other
- ๐จ tons of refactoring improving code quality and test coverage
- ๐ complete list of merged PRs
- complete list of closed issues
Special thanks to our contributors: @astro, @aszlig
๐ This release repo history
-
v2.0.0.beta2 Changes
2016-08-29
๐ This release includes:
- REST API for backend services
- REST API for clients
- ๐จ refactored and extended authentication API #828
- ๐ improved support for XEP-0079: Advanced Message Processing #833
- other improvements:
- ditched support for Erlang R16 #871
- improved support for SSL options in cowboy listeners #889, #893
- HTTP authentication in MUC #894
- improved support for blocking commands #900, #920
- complete list of merged PRs
- complete list of closed issues
Special thanks to our contributors: @bernardd, @igors, @arkdro
๐ This release repo history
-
v2.0.0.beta1 Changes
2016-06-28
๐ This release includes:
- ๐ new XMPP extensions:
- XEP-0060: Publish Subscribe #732
- XEP-0092: Software Version #731
- XEP-0191: Blocking Command, #829
- XEP-0352: Client State Indication #703
- MUC light: #577
- token based authentication #633
- HTTP notifications #684
- ๐ support for FIPS mode #628
- reverse Proxy #628
- ๐ improved routing layer #639, #729, #746
- external components improvements:
- โ parallelized tests:
- other improvements:
- stream compression possible only after auth #616
- fix for TCP backlog setting #708
- carbon copies data optimisation #700
- update deps #705 and #707
- dialyzer checks on travis #677
- docker image building on travis #710
- improved build and installation process #704
- improved clustering #683, #717, #825
- improved documentation
- complete list of merged PRs
- complete list of closed issues
Special thanks to our contributors: @zsuidakra, @arkdro, @bernardd, @kshamko
๐ This release repo history
- ๐ new XMPP extensions: