MongooseIM v4.0.1 Release Notes

Release Date: 2020-11-17 // 6 months ago
  • 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


Previous changes from v4.0.0

  • πŸš€ 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.