Releases: esl/MongooseIM
MongooseIM 3.4.0
Highlights
- 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) - 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:
MongooseIM 3.3.0
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)
- 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
- Extract mnesia operations around
-
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)
- 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:
MongooseIM 3.2.0
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 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 !
MongooseIM 3.1.1
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
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)
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 !
MongooseIM 3.0.1
Highlights - 3.0.x
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
Patch: 3.0.1
- Updated
exml
to3.0.2
, fixing an important security issue.
All changes - 3.0.0
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 ofstat
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 inmod_mam(_muc)
, not in its backends (#1817)- Removed unnecessary
-part
schemas for MySQL (#1845) mod_jingle_sip
usesorigin_
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 acancel
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
- Documentation fixes and improvements (#1835, #1851, #1852)
- Tests improvements and refactoring (#1413, #1782, #1808, #1813, #1820, #1823, #1836, #1846)
escalus 4.0.0
- Flexible preset application during test execution (#1802)
- Added packaging tools (#1662)
Commits, merged PRs and closed issues
Special thanks to our contributor: @igors !
MongooseIM 2.2.2
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
andmod_websockets
(#1697) - Extended logging in
mod_vcard
(#1715)
Changed
- Refactored MongooseIM header files (#1570)
mod_event_pusher
andmod_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/
tobig_tests
(#1778) - Binary values are now hex-escaped in queries to MySQL (#1678)
- Updated dependencies:
fast_tls
@a166f0e9fe78304e5ca628fd5eff57c850241813
andcache_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 calculatingcomplete
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 ofhttps
(#1701) - MongooseIM could not be deployed in paths with spaces (#1621)
Other
- Documentation fixes and improvements (#1676, #1696, #1709, #1727)
- Tests improvements and refactoring (#1628, #1637, #1644, #1653, #1663, #1665, #1680, #1681, #1687, #1692, #1706, #1708, #1720, #1736, #1737, #1743, #1745, #1747, #1749, #1756, #1757, #1760, #1768, #1770)
- Removed unused Riak script (#1671)
- Commit messages with Unicode characters are now properly handled (#1675)
Commits, merged PRs and closed issues
Special thanks to our contributors: @igors @jacksgt @sstrigler @GalaxyGorilla @varnerac!
MongooseIM 2.1.1
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 inauth_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 andROW_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
- Removed unused API from
jlib.erl
(#1390) - Git now treats minified JavaScript files as binaries (#1635)
- Message Archive Management refactoring (#1425)
- Documentation fixes and improvements (#1500, #1503, #1513, #1538, #1550, #1563, #1567, #1568, #1577, #1579, #1581, #1584, #1586, #1592, #1594, #1618)
- Tests improvements and refactoring (#1523, #1625, #1642, #1643, #1656)
- Code & style improvements (#1515, #1540, #1548, #1572)
Commits, merged PRs and closed issues
Special thanks to our contributors: @andrewvmail @igors !
MongooseIM 2.1.0
Added
- OTP 20 compatibility (#1430)
- Message Archive Management v0.6 support (#1442, #1471)
- Final stage of Mongoose Accumulators implementation (#1398, #1512)
- REST API: MUC Light rooms can be created with a specified username part (#1387)
- REST API: MUC Light rooms can be addressed with a bare JID (not only with their usernames) (#1417)
- REST API: MUC Light rooms can be destroyed (#1461)
- MAM can be configured to archive XEP-0333 Chat Markers (#1377)
mod_http_upload_s3
can be configured to skip the ACL header (so MIM can integrate with Minio) (#1415)- Administration REST API can be protected with the Basic HTTP Authentication (#1453)
- More configuration options for JWT authentication backend (#1321)
- (Un)Subscribing to many hooks with a single function call (#1376, #1426)
- New
ejabberd_router:route_error_reply/4
function (#1427) mongoose_commands
can accept lists of elements as an argument (#1465)
Changed
- Switched back to strictly monotonous MAM message IDs (#1372)
- MongooseIM will not start if the ODBC connection is configured but no ODBC pools are defined (#1455)
- SASL X-OAUTH mechanism is not advertised if
mod_auth_token
is not enabled (#1450) ejabberd_auth:authorize/1
is now used for authorisation in client REST API (#1409)- DNS lookup is not performed for the S2S connection if the host is already defined in the configuration (#1314)
Fixed
- Fix RDMBS backoff calculation (#1394)
- URL escaping and reporting in
mod_http_upload
(#1391) - Fixed Unicode support in the MAM full text search with a Riak backend (#1407)
- Authentication crash with SASL PLAIN and an invalid password (#1433)
- Random crashes in tests (#1374, #1428)
mongooseim version
command was broken (#1457)
Other
- Documentation fixes and improvements (#1373, #1380, #1382, #1385, #1396, #1399, #1402, #1408, #1416, #1418, #1434, #1441, #1445, #1451, #1456, #1468, #1469, #1472, #1475, #1477, #1480, #1482, #1483, #1484, #1485, #1486, #1487, #1488, #1489, #1490, #1492, #1493, #1494, #1495, #1496, #1498, #1499, #1501, #1502, #1503, #1504, #1506, #1507, #1508, #1532, #1534)
- First stage of
mod_mam
and its submodules' refactoring (#1381) - Tests improvements and refactoring (#1383, #1388)
- Improved coverage check (#1397)
- Build system & scripts improvements (#1412, #1422, #1448)
- Code & style improvements (#1454)
- Updated dependency:
cqerl
(#1447)
Commits, merged PRs and closed issues
Special thanks to our contributors: @Beisenbek, @benkard, @deadjdona, @fblackburn1 !
MongooseIM 2.1.0 beta2
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 !
MongooseIM 2.1.0 beta1
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
- 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