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

Changelog History
Page 1

  • v4.0.1 Changes

    November 17, 2020

    Highlights

    • πŸ”§ A new metric now reports the type of configuration file that is being used. The aim is to determine the adoption of the new config file format.
    • πŸ‘ Better error messages are reported from wrong TOML configuration files.

    All changes

    βž• Added

    • πŸ”§ User-friendly errors for the TOML configuration file (#2903)
    • Metric to report the type of config file used (#2918)

    βœ‚ Removed

    • Removed deprecated mod_http_notifications (#2912)

    πŸ”„ Changed

    • πŸ“š TOML documentation improvements (#2896, #2898, #2899, #2901, #2905, #2942)
    • πŸ”§ Some TOML configuration options have been reformatted (#2909)
    • 🐎 More prepared queries to improve RDBMS performance (#2924, #2928)
    • πŸ›  Fixed Ubuntu 18.04 and OTP 23.1 for building docker images (#2926)
    • Moving from untyped binaries to proper jid structures (#2895, #2920, #2922)

    Other

    • ⚑️ Dependencies update (#2914)
    • REST error handling cleanup (#2908)
    • nksip is started only when used (#2937)
    • πŸ“¦ RPM package improvements (#2906)
    • CI improvements (#2910, #2934)

    πŸ”€ Commits, merged PRs and closed issues

  • v4.0.0 Changes

    September 30, 2020

    πŸš€ MongooseIM 4.0.0 - 2020-09-30

    Overview

    MongooseIM 4.0 is all about putting a friendly face to MongooseIM’s amazing features.
    πŸ”§ This includes the addition of an Erlang-agnostic configuration allowing a broader pool of developers to benefit from MongooseIM.
    πŸ‘€ Logging and Kubernetes improvements to be more DevOps-friendly and Manager-friendly with load testing enabling managers to see the benefits of MongooseIM easily.

    All changes

    βž• Added

    • πŸ”§ A new configuration file format: MongooseIM can now be configured with an entirely revamped TOML configuration file (#2801)
      • Pesky bugs have been fixed
      • Implementation details have been abstracted away
      • Documentation has been improved
    • 🌲 Structured logging: the main idea of structured logging is that if we have properties of an event, let’s log them as they are, without losing their structure, and format it in a way that is most appropriate for the system we’re sending them to.
      • Moved to OTP logger from lager (#2810)
      • Moved away from lager, towards OTP logger (#2810)
      • No more logging of man-made strings, we now log structured reports (#2816)
      • logfmt formatter, a log format that's easy to read and write (#2848)
      • JSON formatter, a fully structured format (#2851)
    • XEP-0215 External Service Discovery (#2870)
    • A REST endpoint for admin users which accepts any stanza, provided it has from and to attributes (#2858)
    • erl_crash.dump dumping directory can be explicitly set (#2793)

    πŸ”„ Changed

    • Archiving messages takes input as a map instead of as many parameters (#2749)
    • Base16 encoding uses a faster algorithm (#2839)

    Other

    • OTP-23 compatible (#2840)
    • SCRAM password dumping into RDBMS escapes username correctly (#2842)

    πŸ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors:

    • πŸ›  @balgillo For the small but many important fixes.
  • v3.7.1 Changes

    July 13, 2020

    Highlights

    • Integration of the highly performant NIFs to compute the SCRAM challenge from esl/fast_scram

    All changes

    πŸ”„ Changed

    • Implementation of the SCRAM challenge algorithm to be NIF-based (#2787)
    • πŸ›  Fix a bug during session resumption, where stanzas were not routed to the user (#2780)
    • πŸ›  Fix AMP logic regarding storage of messages when delivery failed but archiving was successful (#2757)

    Other

    • ⚑️ Update Rebar and its plugins (#2760)
    • ⚑️ Update dependencies (#2761) (#2764) (#2765)

    πŸ”€ Commits, merged PRs and closed issues

  • v3.7.0 Changes

    May 20, 2020

    Highlights

    • Authentication methods improvements
      • Support for SCRAM-SHA-256, SCRAM-SHA-512, SCRAM-SHA-224, SCRAM-SHA-384 authentication methods
      • Support for channel binding for all the SCRAM based authentication methods
    • πŸ‘Œ Support for XEP-0424: Message Retraction
    • πŸ‘Œ Support for Proxy Protocol

    ⬆️ There were some changes to the database schema so please take a look at the Migration guide when upgrading from a previous version.

    All changes

    βž• Added

    • πŸ‘Œ Support for new SCRAM based authentication methods:
    • πŸ‘Œ Support for XEP-0424: Message Retraction (#2739)
    • πŸ‘Œ Support for Proxy Protocol (#2674)
    • RDBMS backend for MUC (#2635)
    • Possibility to store MUC messages in offline storage (#2640)
    • πŸ‘Œ Support for MySQL's new authentication methods (#2644)
    • System metrics
      • Type of outgoing pools (#2657)
      • Stanza count (#2672)
    • Chat markers cache (#2676)
    • mongooseimctl bootstrap command which can be run to execute user defined init scripts (#2692)
      • Support for templating the config files before MongooseIM starts (#2712)
    • c2s_remote_hook_call to run a hook in the context of the c2s process (#2700)
    • πŸ”§ mongooseimctl http_upload command to help debug HTTP file upload configuration (#2708)

    πŸ”„ Changed

    • All hooks have been wrapped in the mongooseim_hooks module with proper specs (#2642)
    • Stream error reporting when the server receives unexpected stanza on a given stream state (#2667)
    • Server sent ping scalability improvements (#2531)
    • 🐳 Docker base image to be based on Ubuntu 18.04 with OpenSSL 1.1 (#2693)
    • βœ… HTTP file upload tests with min.io running in the container (#2696)
    • πŸ›  Fixed issue related to passing x-amz-acl header to S3 (#2708)
    • 0️⃣ Default format for password storage (#2737)

    βœ‚ Removed

    • πŸ‘Œ Support for MySQL versions older then 5.7.9

    Other

    • πŸ›  Fix to push notifications integration making sure all parameters are sent in a request to MongoosePush (#2645)
    • Extract jid related functionality to an external library (#2654)

    πŸ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors:

  • v3.6.2 Changes

    February 20, 2020

    πŸš€ MongooseIM 3.6.2 - 2020-02-20

    Highlights

    • πŸ“¦ Tooling and packages improvements

    All changes

    πŸ”„ Changed

    • πŸ›  Fix a bug in mongooseimctl run as a different user as the current one (#2631)
    • πŸ— .deb and .rpm build and test scripts improvements (#2629, #2633)

    πŸ”€ Commits, merged PRs and closed issues

  • v3.6.1 Changes

    February 11, 2020

    Highlights

    • πŸ“¦ Tooling and packages improvements

    All changes

    πŸ”„ Changed

    • πŸ‘‰ Use runuser instead of sudo in scripts managing MongooseIM (#2617)
    • Install pid and status directory explicitly (#2618)
    • πŸ— Massive rework of scripts building .deb and .rpm packages (#2626)
    • βœ‚ Remove redundant time conversions in shapers (#2545)

    πŸ”€ Commits, merged PRs and closed issues

  • v3.6.0 Changes

    January 29, 2020

    Highlights

    • Push notifications improvements
      • Possibility to configure push notifications without real PubSub
      • Immediate push notifications to disconnected device in resume state
    • Gathering of system metrics
    • πŸ‘Œ Support for the last two major OTP versions only: 21 and 22
    • 🐎 Performance improvements

    ⬆️ There were some changes to the database schema so please take a look at Migration guide when upgrading from a previous version.

    All changes

    βž• Added

    • System metrics gathering (#2523, #2532, #2550, #2571, #2578, #2580, #2586, #2591, #2594, #2598, #2601, #2603, #2607, #2610, #2612)
    • MAM disco#info to MUC and MUCLight rooms (#2272)
    • πŸ‘ Chat markers support for the room's REST API (#2274)
    • Possibility to close malicious connections without revealing service details (#2304)
    • Ping response time metrics (#2527)
    • πŸ‘ Emoji support in VCard's nickname field (#2539)
    • πŸ“š Swagger documentation hosted by MongooseIM (#2543, #2556)
    • Persistent fields from accumulator to offline storage (#2587)
      • This requires a new column in RDBMS, see the migration guide

    πŸ”„ Changed

    • Push notifications
      • Immediate push notification to a connection in resume state (#2018, #2593)
      • RDBMS backend for mod_event_pusher_push (#2526)
      • PubSub-less push notifications (#2554)
      • Integration with MongoosePush API v3 (#2549)
      • Expired device_id removal (#2555)
      • Details from the push enable stanza are stored in session info now (#2568)
      • The push notification's priority can be set with enable stanza (#2569)
      • An unacknowledged_message hook is fired when a session is in resume state and a new message arrives (#2589)
      • Documentation update and rework (#2611)
    • πŸ”§ Riak bucket types are now configurable (#2490)
    • ⚑️ Dependencies update:
      • lager: 3.8.0
      • cowboy: 2.7.0
      • epgsql: 4.3.0
      • mysql: 1.5.1
      • cache_tab: 1.0.20
      • stringprep: 1.0.17
      • erlcloud: 3.2.13
      • jwerl: 1.1.0
      • observer_cli: 1.5.3
      • amqp_client: 3.8.0
      • wpool: 4.0.1
    • SASL mechanism management simplification (#2519)
    • MUCLight room config simplification and unification (#2536)
    • 🐎 Performance improvements:
      • jid parsing in NIF (#2544)
      • use built-in base64 encoding (#2547)
      • C/C++ optimisations (#2604)
    • ejabberd_sm improvements (#2566, #2582)

    βœ‚ Removed

    • get_stactrace calls (#2494)
    • πŸ‘Œ Support for MAM v0.3 (#2496)
    • Usage of p1_time_compat (#2498)
    • mod_push (#2553)

    Other

    • Pass the original accumulator when sending out a stanza (#2158, #2528)
    • βœ‚ Remove sender related data from the accumulator before passing it further (#2510)
    • πŸ‘· Do not allow riak and redis pools to use the incompatible available worker strategy (#2243)
    • πŸ›  Fix for connection crash when the client enables stream management but it's not available (#2482)
    • πŸ›  Fix for REST API crash when user's JID is empty (#2543)
    • Return Bad Request status when malformed JSON is passed to REST API (#2557)
    • Possibility to call external HTTP auth backend to get valid user's certificates (#2044)
    • πŸ›  Fix for last activity error iq responses (#2570)
    • πŸ›  Fix c2s message bouncing issue (#2579)
    • πŸ›  Fix for wrong namespace in ringing stanza (#2584)
    • πŸ›  Fix warning for .deb packages (#2609)

    πŸ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors:

  • v3.5.0 Changes

    October 03, 2019

    Highlights

    • Reworked LDAP layer
    • πŸ†• New method of resetting Inbox
    • πŸ—„ OTP < 21.2 support is deprecated

    All changes

    βž• Added

    • A new dedicated stanza for resetting the Inbox (#2452)
    • πŸ†• New metrics:
      • clusterSize, as seen by each MIM node individually (#2322)
      • tcpPortsUsed (#2359, #2374)

    πŸ”„ Changed

    • Multiple improvements in the LDAP layer (#2388)
      • They are now configured like the other outgoing connections.
      • LDAP+TLS support.
      • LDAP authentication backend may be used with SASL EXTERNAL
    • GDPR removal and retrieval do not query disabled backends and modules anymore (#2435)
    • Push notifications are no longer sent for messages with empty body (#2394)
    • ⚑️ Stream Management implementation has been updated to match XEP-0198 v1.6 (#2468, #2472)
    • πŸ—„ Deprecations:
      • OTP older than 21.2 (#2465)
      • XEP-0313 Message Archive Management v0.3 (#2466)
      • TLS older than 1.2 (#2377)
    • ⚑️ Dependencies update (#2351)
      • lager: 3.7.0
      • cowboy: 2.6.3
      • jiffy: 1.0.1
      • uuid: 1.7.5
      • fast_tls: 1.1.1
      • mysql: 1.5.0
      • cache_tab: 1.0.19
      • stringprep: 1.0.16
      • meck: 0.8.13
      • recon: 2.5.0
      • erlcloud: 3.2.7
      • observer_cli: 1.5.0
      • amqp_client: 3.7.15
      • eredis: 1.2.0
      • riakc: 2.5.3 - no change here but downloaded from a repo now (#2397)
    • Clustering operations are now protected by a global transaction (#2470)
    • Client XML namespace is no longer stripped in the messages received from a client (#2423)
    • mongooseimctl script is more robust (#2409)
    • scram module has been renamed to mongoose_scram (#2401)

    πŸ›  Fixed

    • binary_to_atom vulnerability (#2444)
    • push PubSub node implementation had a bug in the affiliation check (#2438)
    • The unread messages count for push notifications was retrieved improperly and triggered an error (#2481)
    • Chat markers were improperly handled by Inbox (#2449)
    • πŸ”§ It is again possible to configure an idle connection timeout for Websockets (#2480)
    • MUC Light role is now properly archived (#2268)
    • Chat markers are now properly stored by the MUC archive (#2271)
    • Inbox recognises MUC Light system messages more reliably (#2290)
    • disco#info request no longer causes a crash when rooms_in_rosters is enabled (#2354)
    • Mnesia backend for PubSub used to break the transaction restart logic in some operations (#2390)
    • Some REST commands were unusable due to a bug in REST implementation (#2426)

    Other

    πŸ”€ Commits, merged PRs and closed issues

    Special thanks to our contributors:

  • v3.5.0-2

    October 09, 2019
  • v3.4.1 Changes

    September 13, 2019

    πŸ›  Fixed

    • Vulnerability related to erlang:binary_to_existing_atom with latin1 encoding (#2445)