Releases: esl/MongooseIM
MongooseIM 6.0.0
Highlights
- GraphQL API and Command Line Interface (CLI) with many new commands
- Unified and reworked REST API
- Incremental and asynchronous dynamic domain deletion
- Full pagination support with RSM for Inbox
- Significant code refactoring
- Various improvements and fixes
All changes
Added
- GraphQL request handling and execution (#3354, #3442, #3454, #3515, #3633, #3642, #3646 #3648, #3689, #3719, #3803, #3822, #3830, #3894)
- GraphQL API schema and types (#3448, #3506, #3731, #3856, #3862, #3767)
- GraphQL API tests (#3745, #3474, #3709, #3718, #3720, #3730, #3736, #3740)
- GraphQL command implementation for the following categories:
- account (#3503, #3824, #3895)
- domain (#3499, #3715, #3851)
- gdpr (#3711, #3855)
- httpUpload (#3674, #3868)
- inbox (#3694)
- last (#3651, #3850)
- metrics (#3665, #3861)
- mnesia (#3725, #3896)
- muc (#3615, #3627, #3799, #3875)
- muc_light (#3538, #3563, #3563, #3576, #3742, #3881)
- offline (#3688, #3864)
- private (#3652, #3891)
- roster (#3586, #3756, #3873)
- server (#3744, #3793, #3877)
- session (#3521, #3883)
- stanza (#3483, #3565, #3814)
- stat (#3700, #3715, #3870)
- token (#3713, #3863)
- vcard (#3639, #3890)
- GraphQL CLI (Command Line Interface) (#3701, #3702, #3708, #3710, #3714, #3724, #3739)
- GraphQL API documentation (#3704, #3773)
- Incremental and asynchronous domain deletion (#3774, #3775, #3777, #3813, #3889)
- Full pagination support for Inbox (#3827, #3843, #3844)
Removed
Changed
- Replaced legacy hooks and handlers with
gen_hook
(#3758, #3760, #3762, #3763, #3769, #3782, #3784, #3789, #3792, #3798, #3802, #3807, #3808, #3811, #3815, #3817, #3818, #3821, #3825, #3826, #3828, #3829, #3831, #3832, #3833, #3834, #3835, #3836, #3837, #3838, #3839, #3840, #3841, #3842, #3846, #3847, #3848, #3849, #3853, #3854, #3865, #3866, #3867, #3871, #3874, #3876, #3879, #3884, #3886, #3887) - Reworked and unified REST API (#3741, #3753, #3768, #3771, #3776, #3780, #3801)
- Performance improvements (#3682, #3687, #3726, #3738, #3761)
- Added missing metrics (#3678)
- Improved configurability (#3728, #3733)
- MAM module names made more intuitive (#3684)
- Improved DB request aggregation (#3755)
- Improved logging (#3885)
- Minor refactoring (#3732, #3764, #3809)
Fixed
- Cassandra authentication issue (#3872)
- Message sent to oneself was stored twice (#3859)
- DB aggregator could stop working after an error (#3757)
- Unexpected errors in logs (#3695, #3743)
- Minor issues with MAM result paging (#3734)
- Incorrect optimization flags passed to asynchronous workers (#3727)
- Invalid format of the JWT secret (#3716)
- Persistent rooms were not stored in the DB (#3707)
- Issues with the anonymous login (#3706)
Other
- Updated documentation (#3424, #3675, #3677, #3679, #3766, #3794, #3869, #3893, #3900, #3902, #3903)
- Updated tools and scripts (#3698, #3723, #3737, #3897)
- Updated dependencies and other third-party software (#3683, #3699, #3779, #3820, #3823, #3898)
- Improved CI process (#3680, #3686, #3676)
Commits, merged PRs and closed issues
Special thanks to our contributors:
- @theowenyoung Add XEP-0333 Docs (#3424)
MongooseIM 5.1.0
Highlights
- Internal configuration rework
- Inbox functionality and performance improvements
- Remove the dynamically compiled modules
- The new OTP 25 support
- Miscellaneous enhancements, optimizations & improvements
All changes
Added
- Cache consistency. Use
segmented_cache
as a cache backend and have all caches use it (#3330) - Persistent term config. Replace
ejabberd_config
with new persistent termsmongoose_config
(#3367, #3338, #3343, #3356) - Create async pools basing on the MAM async workers concept (#3433)
- Add new
ensure_subscribed_metric/3
to mongoose metrics module (#3353) - Add some property based tests for MAM's
is_archivable_message/4
(#3450) - Create SECURITY.md (#3562)
- Allow to use podman instead of docker (#3522, #3543)
- Support the new OTP 25 (#3667)
Removed
- Hook handler records don't need the
key
field (#3342) - Remove dead code (#3451)
- Remove deprecated
mod_aws_sns
(#3607) - Remove deprecated
mod_revproxy
(#3617) - Remove custom
eldap.hrl
(#3647) - Removed in internal configuration rework
- Remove dynamically compiled modules (#3394)
- POC module
mod_private
(#3323) - Remove
ejabberd_rdbms
andmongoose_rdbms_type
(#3392) - Allow
global
to be passed intomongoose_backend
as an arg (#3386) - MAM cassandra backend without dynamically compiled modules (#3373)
- Use persistent terms to store
backend_module
inejabberd_sm
(#3379) - Add
mongoose_backend:get_backend_name
(#3345) mod_auth_token
(#3336)mod_last
(#3339)mod_event_pusher_push
(#3340, #3348)mod_privacy
(#3347)mod_muc
(#3349)mod_inbox
(#3350, #3362, #3440)mod_muc_light
(#3351, #3418)mod_offline
(#3352, #3371)mod_smart_markers
(#3357)mod_vcard
(#3358)mod_roster
(#3364)mod_pubsub
(#3368)mod_http_upload
(#3372)mod_keystore
(#3375)mongoose_rdbms
(#3390)ejabberd_router
(#3381)mod_global_distrib_mapping
(#3582)
- POC module
Changed
- Hook functions (#3331)
- Extend
safely
module API (#3337, #3341) - Make
mongoose_commands
errors human-readable (#3346) - Add the accumulator to the
is_muc_room_owner
andcan_access_room
room hooks (#3417) - Worker pool cleanups (#3419)
- Upgrade mongoose JID (#3525)
- Add backend logic to
mod_stream_management
(#3556) - Don't use Mnesia for IQ response tracking (#3560)
- Use dynamic aware check for global domains in ACL module (#3327, #3332)
- Store ACL specs in the global config (#3335)
- Allow skipping cover compilation for small tests (#3382)
- REST
/commands
endpoint now lists commands with more detailed info (#3391) - Revert scope to
global
for all global distributed Redis presets (#3393) - Refactor some usage of stanza types in
ejabberd_sm
(#3396) - Simplify stream management suite (#3453)
- Performance and metrics touch on async workers (#3502, #3514, #3529)
- Use ETS backend in
mongoose_router
instead of Mnesia (#3505) - Refactor
can_change_ra
function inmod_muc
(#3581) - Reconfigure supervision flags in pools (#3593)
- Install a hook to filter messages being buffered (#3654)
- Make RDBMS asynchronous
- Perf optimizations
- Message Archive Management improvements
- Use
mongoose_acc
timestamp in MAM (#3320) - Same stanza id for peers (#3376)
- Retract on stanza ids (#3377, #3384, #3385)
- Retraction events (#3497, #3498, #3513)
- Report wrong stanza id more friendly (#3591)
- Make MAM return timestamps in microseconds (#3595)
- Reorder MAM's
filter_local_packet
hook order (#3623) - MAM shaper improvements (#3641)
- Use
- Smart markers improvements (#3590)
- Inbox improvements (#3359, #3596, #3604)
- Improve types for dialyzer and log errors when they happen (#3366)
- Simplify time-unit conversions (#3405)
- Fix inbox filter bug that puts unnecessary load on the auth backend (#3449)
- Refactor Inbox tests (#3452)
- Use async pools in inbox (#3462, #3500)
- Fix
queryid
(#3494) - Extend queries (#3597)
- Implement boxes that allow the classifying of entries (#3608)
- Add async removes - make asynchronous inbox consistent (#3616, #3670)
- Internal config rework
- Simplify MUC Light config (#3387)
- Unfold global options without the temporary functions (#3406)
- Prepare tests for config defaults (#3408)
- Introduce config defaults for the 'general' section (#3409)
- Replace
local_config
records with key-value pairs (#3410) - Add an option to format a section/list as a map (#3420)
- Move auth config spec to auth backend modules (#3437)
- Introduce defaults in the auth section (#3439)
- Section-based auth config (#3446)
- Introduce default values for auth methods (#3458)
- Auth password section config rework (#3463)
- Store module config in a map and keep it updated (#3469, #3488)
- Use
dynamic_modules
in big tests (#3481) - Store listener config in a map (#3495)
- Keep ACL conditions as maps (#3501, #3504)
- Test config parsing with post-processing (#3507)
- Move
domain_certfile
to the 'general' section (#3512) - Keep s2s options: 'outgoing', 'dns', 'address' in maps (#3516)
- Put all s2s options in a map and allow specifying them globally or per host-type (#3523)
- Module config as a map (#3534)
- Allow customizing auth module list per listener (#3539)
- Migrate segmented cache to maps (#3572, #3594)
- Test config metrics (#3613)
- Put
mod_adhoc
opts in a map with defaults (#3537) - Put
mod_bosh
opts in a map with defaults (#3540) - Put
outgoing_pools
opts in a map with defaults (#3541) - Put
mod_inbox
opts in a map with defaults (#3547) - Put
mod_private
opts in a map with defaults (#3549) - Put
mod_disco
opts in a map with defaults (#3550) - Put
mod_version
opts in a map with defaults (#3552) - Put
mod_vcard
opts in a map with defaults (#3553) - Put
mod_time
opts in a map with defaults (#3554) - Put
gen_mod_deps
opts in a map with defaults (#3555) - Put
mod_last
opts in a map with defaults (#3557) - Put
mod_mam
opts in a map with defaults (#3559) - Put
mod_shared_roster_ldap
opts in a map with defaults (#3558) - Put
mod_privacy
opts in a map with defaults (#3567) - Put
mod_sic
opts in a map with defaults (#3568) - Put
mod_roster
opts in a map with defaults (#3569) - Put
mod_stream_management
opts in a map with defaults (#3571) - Put
mod_muc
opts in a map with defaults (#3575) - Put
mod_push_service_mongoosepush
opts in a map with defaults (#3577) - Put
mod_pubsub
opts in a map with defaults (#3578) - Put
mod_ping
opts in a map with defaults (#3579) - Put
mod_muc_light
opts in a map with defaults (#3580) - Put
mod_global_distrib
opts in a map with defaults (#3587) - Put
mod_offline
opts in a map with defaults (#3589) - Put
mod_caps
opts in a map with defaults (#3598) - Put
mod_keystore
opts in a map with defaults (#3599) - Put
mod_jingle_sip
opts in a map with defaults (#3600) - Put
mod_carboncopy
opts in a map with defaults (#3602) - Put
mod_event_pusher
opts in a map with defaults (#3603) - Put
mod_csi
opts in a map with defaults (#3605) - Put
mod_register
opts in a map with defaults (#3606) - Put
mod_offline_chatmarkers
opts in a map with defaults (#3609) - Put
mod_http_upload
opts in a map with defaults (#3614) - Rework service configuration and management (#3620)
- Store service options in maps with defaults (#3624)
- Service and module options only in maps (#3625)
- Listener configuration rework (#3628)
- Rework HTTP handler configuration (#3636)
- Use maps for
mongoose_wpool
options (#3645) - TLS config rework (#3653)
- Use
format_items = map
by default for config sections (#3655) - Access commands in maps (#3656)
- Final internal config cleanup (#3659)
Fixed
- Edoc generation (#3333)
- Rest admin API - return 404 when command not found instead of 500 (#3383)
- Identify only stored users on offline routing (#3395)
- Fix typos (#3475, #3621)
- Fix certs (#3447, #3435, #3447, #3632, #3640)
- Fix print-dots for Mac OS Monterey (#3480)
- Add a newline after module options to improve config readability (#3402)
- Correctly pass connection options to Fusco (#3426)
- Fix Github Actions CI - run MSSQL as root again (#3456)
- Fix
ejabberd_c2s
- don't drop the host type inupdate_stanza
(#3464) - Adding
queryId
to archived inbox messages (#3482, #3492) - MAM - Avoid asking for user exist with a room (#3470)
- Fix starting new caches (#3508, #3518)
- Add
server_name_indication_host
config option (#3510) - Less MIM compiler warnings (#3524)
- Add config flag to be able to set sni hostn...
MongooseIM 5.0.0
Highlights
- Support for dynamic domains
- Documentation improvements and reorganization
- Miscellaneous enhancements & improvements
All changes
Added
-
Support dynamic domains in (#3095, #3158, #3220, #3226, #3239, #3225, #3212)
-
Call remove domain hook from
mongoose_domain_api
(#3237) -
Use
host_types
instead of host in modules and hooks (#3120, #3170, #3097) -
Support for dynamic domains in modules:
mod_ping
(#3136)ejabberd_users
(module renamed tomongoose_users
) (#3135, #3161)mod_inbox
(#3132, #3141, #3103, #3165, #3228)- MAM/MUC (#3123, #3143, #3155, #3157, #3107, #3231, #3305, #3092, #3147)
- auth backends (#3106, #3295)
mod_http_upload
(#3267)mod_sic
(#3258)mod_auth_token
andmod_keystore
(#3262)mod_csi
(#3260)mod_amp
(#3261)mod_time
(#3255)mod_version
(#3256)mod_bosh
(#3253)mod_adhoc
(#3252)mod_register
(#3247)mod_muc_commands
(#3248)mod_smart_markers
(#3243)mod_blocking
(#3196)mod_vcard
(#3221, #3304)mod_privacy
(#3189)mod_last
(#3188, #3309)mod_private
(#3175)mod_roster
(#3159, #3291)mod_caps
(#3156)mod_offline
(#3164, #3263, #3299)mod_stream_management
(#3149)mod_carboncopy
(#3130, #3144)mod_disco
(#3128, #3146, #3151)
-
Tests for dynamic domains:
- Enable mim2 node to allow running more tests for dynamic domains (#3264)
- Enable test suites for dynamic domains (#3268, #3269, #3271, #3272, #3275, #3285, #3276, #3277, #3278, #3279, #3280, #3281, #3283, #3284, #3287, #3142, #3302, #3241, #3246)
- Test mongooseimctl with dynamic domains (#3273, #3274)
- Test roster metrics with dynamic domains (#3286)
- Fix anonymous login and test it for dynamic domains (#3254)
- Test clustering and domain management with dynamic domains (#3266)
-
Other:
Removed
- Remove all occurences of ?MYNAME except stream errors and the initial value in
ejabberd_c2s
(#3039) - Remove
local_send_to_resource
hook (#3139) - Unused files/modules (#3121, #3122, #3207, #3214, #3310)
- Unused dependencies (#3199, #3200, #3201)
- Unused code fragments (#3311, #3313, #3322)
- Support OTP 22 (#3289)
Changed
- Prepare queries in
mongoose_cluster_id
(#3098) - Make vcard processing parallel (#3315)
- Make
pool_name
configurable forservice_domain_db
(#3205) - Allow to add subelements to the mam iq-fin element (#3191, #3195)
- Use map for
mod_mam:message_row()
(#3093) - Rework of the
gen_mod
module (#3104) - Change Room EventData type to map (#3111)
- Format stacktrace args properly (#3124)
- Make dummy auth delays configurable (#3131)
- REST API better error reporting (#3137)
- Use auth for
mongoose_domain_handler
from REST (#3160) - Reimplement
mod_cache_users
using persistent_terms (#3169) - Hooks framework rework (#3174)
- Refactor async writer for
mod_mam
(#3216) - More consistent accumulator use (#3314, #3240, #3249, #3314)
- Use more full jids and avoid to_lus conversions in
mod_muc_light
(#3250) - Tests improvements (#3133, #3134, #3181, #3208, #3213, #3217, #3218, #3219, #3227, #3230, #3232, #3127, #3238, #3257, #3297, #3312)
- Minor changes (#3100, #3324, #3317)
Fixed
- Start only used metrics (#3096)
- Prevent infinite loop when domain isolation is on on both domains (#3110)
- Prepared query in
mongoose_cluster_id
causes errors on startup (#3112) - Tag should be an atom in ldap types (#3178)
- Missing or not working xref (#3179)
- Occuring
mongoose_metric_hooks
error (#3184) - FTBFS on implicit declaration of function
erts_exit
(#3222)
Other
- Docker images update (#3166)
- Dependencies update (#3117, #3125, #3193, #3194, #3197, #3198, #3203, #3206, #3211, #3215, #3292)
- CI improvements (#3173, #3176, #3183, #3190, #3307)
- Document dynamic domains (#3242, #3245)
- Restructure the documentation (#3259, #3288)
- Update migration guide with dynamic domains changes (#3234)
- Small documentation improvements (#3105, #3162, #3102, #3180, #3114, #3290, #3300, #3303, #3306, #3308, #3312)
Commits, merged PRs and closed issues
Special thanks to our contributors:
MongooseIM 4.2.0
Highlights
- Prepared queries introduced
- Inbox extensions
- Miscellaneous enhancements & improvements
All changes
Added
- Documentation for
mod_offline.store_groupchat_messages
option (#2992) - Support of MS SQL and MySQL in
mod_auth_token
(#3059) - Inbox extensions to set entries as archived, muted or read (#3067)
mod_domain_isolation
module to limit message passing between domains (#3070)
Removed
- Usage of deprecated
http_uri
inejabberd_auth_http
andmod_muc_room
modules (#3026) - Config reload functionality with the flat config format (#3030)
- Outdated and unsupported
azuresql.sql
file (#3086)
Changed
- Usage of maps instead of lists in session management (#3018)
- Improved timestamp logic (#3031)
- Prepared queries for MS SQL, MySQL and PostgreSQL (#3039, #3050, #3055, #3059, #3060, #3066, #3074, #3078)
- Improved pipeline for
mod_smart_markers
(#3068) - Unified checks for chat markers (#3080)
Fixed
- Creation of
modMucMamFlushed
metric (#3023) - Starting backend containers for Mac OS X (#3033)
- Minor issues with GitHub Actions (#3045)
- Crash during session handover (#3056)
- Type declaration in
mod_muc_light.hrl
(#3057) - Test summary is no longer printed when CT directory is not created (#3069)
- Explicit
preset_not_found
error when running tests with nonexistent preset (#3072) - Set
mod_mam_meta.pm.archive_groupchats
tofalse
by default (#3082)
Other
Commits, merged PRs and closed issues
Special thanks to our contributors:
- Inbox extensions are sponsored by Beekeeper
- @antivista For the documentation supplement (#2992)
- @imcyee For fixing handover crash (#3056)
MongooseIM 4.1.0
Highlights
- Major configuration rework: the TOML format is now the only one supported
- Documentation enhancements
- Performance improvements
All changes
Added
- Full support of TOML configuration format (#2929)
- Prepared queries for
mod_vcard
(#2939) - Humio support (#2952)
- GitHub actions for MongooseIM CI workflow (#2990, #2993)
- Usage of
fast_scram
library (#3003) - Documentation for MongooseIM cluster's rolling upgrade (#3012)
- PEP publish options (#3017)
Removed
- Support of old
*.cfg
configuration format (#2929) - Support of HTTP File Upload 0.2.5 (#2989)
- Unused
katt_helper
(#2999)
Changed
- Moved documentation from readthedocs to gh-pages and its face lifting (#2946, #2960, #2963, #2966, #2969)
- Helper script in small tests uses python3 instead of python2 (#2957)
- Use
tools/wait_for_service.sh
instead ofnetcat
to ensure the mainminio
container is started (#2979) - Reduced stringprepping in roster hooks, privacy modules and
mod_offline
(#2997, #3005, #3009)
Fixed
- The response of locked MUC room to
disco#info
(#2956) ct_mongoose_log_hook
initialization error (#2964)- Catching log formatter errors to avoid death spiral of logging (#2968, #2978)
- The way big tests detect minio in CI (#2998)
- Connection issues with Cassandra (#3006)
Other
- Added
rebar3 clean
call toMakefile
(#2932) - Minor docs improvements (#2945, #2981, #3000, #3013, #3020)
- Parallel loading of
nksip
in tests (#2947) - CI improvements (#2949, #2972)
- Usage of
integer_to_binary/1
instead oflist_to_integer(binary_to_list/1)
(#3008) - Removed
archive_groupchats
warning (#3016)
Commits, merged PRs and closed issues
MongooseIM 4.0.1
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
MongooseIM 4.0.0
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
andto
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
Commits, merged PRs and closed issues
Special thanks to our contributors:
- @balgillo For the small but many important fixes.
MongooseIM 3.7.1
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
Commits, merged PRs and closed issues
MongooseIM 3.7.0
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
- 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
- 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) - 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:
- @Neustradamus For pushing us with the extension of SCRAM authentication methods and the small PR #2719
- @alishir #2705
- @jasl #2697
- @tomaszwojcikowski #2690