Releases: esl/MongooseIM
Releases · esl/MongooseIM
MongooseIM 6.3.2
Highlights
- Added support for XEP-0484: Fast Authentication Streamlining Tokens
- Upgraded to exml 4.1.1
- Deprecated
fast_tls
- Improved
just_tls
with distinct client and server options - Various enhancements and bug fixes
Added
- Distinction between client and server options for
just_tls
(#4456) - XEP-0484: "Fast Authentication Streamlining Tokens" implementation (#4379)
Changed
- Updated exml to 4.1.1 (#4465, #4471, #4473)
- Update dependencies:
erl_cloud
andbase16
(#4469) - Deprecated
fast_tls
for C2S (#4468) - Behavior of PEP discovery to closely match the XEP specification (#4475)
- Migrated GraphiQL to V3 (#4474)
- Translations are now a service (#4481)
- Cleaned up empty GraphQL queries (#4482)
- Updated
elvis.config
to exclude modules that do not match linter standards (#4483)
Fixed
- Description of log handler migration (#4454)
- Compilation warnings (#4462)
- Certificates generations for CockroarchDB (#4466)
probe_failed
error (#4440)- Wrong namespace when removing IQ handlers in
mod_sic
(#4484) - SCRAM hashing issue by upgrading
fast_scram
library (#4491)
Other
Known issues and upgrade recommendations
- If you are using MongooseIM 4.1.0 to 6.3.1 with SCRAM authentication and OpenSSL >=3.4.1, hashes for algorithms stronger than SHA-1 are calculated incorrectly. This issue is fixed in this release. See SCRAM hashing issue for details and required actions.
- OpenSSL versions below 3.0 are no longer supported. If you are using OpenSSL 1.x or older, you must upgrade to OpenSSL 3.x before updating MongooseIM, as older versions will not work.
Commits, merged PRs and closed issues
Special thanks to our contributors
MongooseIM 6.3.1
Highlights
- Better certificate validation
- Improved CockroachDB support
- Removed unnecessary components
- Multiple owner support in MUC Light
- Packages are now published on GitHub
- Various improvements and fixes
Added
- Checking of probe metrics types (#4390)
- Multiple owner support in MUC Light (#4392)
- Delays to SM buffer (#4407)
- Better logging when something takes longer than expected (#4427, #4430)
- Support
open_test_database_shell
for CockroachDB (#4438)
Changed
- Enforced
fail_if_no_peer_cert
injust_tls
for stricter client certificate validation (#4386) - Allowed config processor to be a list of functions (#4396)
fast_tls
to validate CA certificate whenverify_mode
is set toverify_peer
orselfsigned_peer
(#4391)- Supervisor, listeners, components and types cleanup (#4441)
- Optimized memory usage in
just_tls
(#4447)
Fixed
- MUC room crash when handling old protocol stanza (#4387)
- CockroachDB consistency (#4402)
- Shutdown logic to prevent
event_not_registered
errors by stopping c2s processes before listeners (#4400) - Definition of the "protected" GraphQL directive (#4409)
- GraphQL library is now used as a package (#4405)
- Package related warning (#4410)
- IO list handling in
jiffy:encode
(#4420) - Error on startup: "No such file or directory" (#4436)
- MongooseIM is restarted as a permanent application rather than a temporary one (#4443)
Removed
- Lager as a dependency (#4393)
- Goldrush from
rebar.lock
(#4397) - Dead tools and code (#4411)
- Native code from
mam_id
(#4412) - More complicated dead code (#4422)
- Base16 library (#4415)
Other
- Updated dependencies (#4428)
- Documentation improvements (#4388)
- CI improvements/fixes (#4403, #4416, #4417, #4435)
- Streamlined package workflow (#4385, #4399, #4414, #4406, #4425, #4432, #4449)
- Testing improvements/fixes (#4394, #4398, #4418, #4419, #4401, #4426, #4431, #4423, #4424, #4433, #4437, #4434, #4444, #4445)
Commits, merged PRs and closed issues
MongooseIM 6.3.0
Highlights
- Improved instrumentation with better configurability, Prometheus support and user-friendly features
- Docker images are smaller and free of reported vulnerabilities
- Improved WebSocket's stream management support
- Erlang 27 compatibility
- Added support for CockroachDB as a new RDBMS
- Various improvements and fixes
Added
- Instrumentation (#4223, #4226)
- Modules:
- Hooks (#4289):
- Tests:
async_pools
(#4337)mongoose_wpool
(#4306)mongoose_backend
(#4282)mongoose_user_cache
(#4323)- Router, S2S and component (#4319)
- Probes (#4272)
- Logging support (#4238)
- Dynamic handlers (#4247)
- C2S TCP/TLS listener (#4304)
- Authentication events (#4311)
- Session management (#4313)
- Global probes and counters (#4317)
- Documentation (#4355, #4358, #4360, #4382)
- Misc (#4228, #4249, #4324, #4368)
- Erlang doctor utilities (#4264)
- Error text when message with given ID is not found (#4302)
- Error IQ when SQL query fails in MAM (#4308)
- Erlang 27 support (#4334, #4331, #4338, #4348, #4345)
- CockroachDB support (#4378)
Changed
- Upgraded CETS to the latest version (#4271)
- Optimized node cleanup for
mod_last
(#4274) - Upgraded test dependencies (#4275)
- Moved Exometer reporters config to
mongooseim.toml
(#4326) - Upgraded
fast_tls
(#4330) - Privacy IQs sent to users are treated as regular stanzas (#4361)
- Renaming
c2s_state_timeout
option (#4363) - Moved docker repository to 'erlangsolutions' organization (#4372)
- Docker image to the one based on Ubuntu 24.10 (#4375)
Fixed
- Starting CETS for
persistent_cluster_id
(#4245) - Package building scripts (#4273)
- S2S DNS discovery (#4278)
- Timestamps for MUC legacy messages (#4294)
- Improved stream management support for WebSockets (#4303)
- GraphQL SSE crash with large stanza payloads (#4364)
- Double message in MAM bug (#4374)
- Building docker image locally (#4377)
Removed
Other
- Documentation improvements (#4266, #4277, #4327, #4341, #4354, #4356, #4376, #4383)
- Testing improvements/fixes (#4267, #4270, #4279, #4286, #4307, #4315, #4321, #4339, #4342, #4351, #4357, #4362, #4373)
- CI improvements/fixes (#4276, #4329, #4346, #4350, #4365, #4366, #4367, #4369, #4370)
Commits, merged PRs and closed issues
MongooseIM 6.2.1
Highlights
- Enhanced CETS
- Pools configuration
- Traffic shapers update
- Support for MAM v1.1.0
- More reliable testing
- Various improvements and fixes
All changes
Added
- RDBMS backend for
mod_caps
(#4211) - Commit hash to GraphQL server status (#4221, #4262)
- Erlang Doctor debugging tool (#4248)
- Pools:
Changed
- Improved shapers (#4187, #4203, #4213)
- Enhanced discovery requests handling (#4194)
- User-friendly errors for internal databases in the GraphQL API (#4192)
- Increase
idle_timeout
for SSE (#4196) - Presence management refactor (#4207)
- MAM implementation update to version 1.1.0 (#4218, #4225)
- Roster management refactor (#4209)
Fixed
- CETS improvements:
- MAM lookup error handling (#4191)
- MUC Light
id
definition for MariaDB (#4195) max_stanza_size
issue (#4197)- Duplicate migration files (#4230)
- Invalid MAM IDs parsing and overflow (#4242)
- Certificate options verification on HTTPS (#4236)
- GitHub Actions status badge (#4261)
Other
- Testing improvements/fixes (#4176, #4202, #4212, #4237, #4239, #4243, #4241, #4246, #4257, #4259, #4260)
- Update migration guide (#4258)
Commits, merged PRs and closed issues
MongooseIM 6.2.0
Highlights
- Introduced CETS as an alternative internal database to Mnesia
- Updated many XEP implementations to the newest version
- Implemented partial support for XEP-0386: Bind 2 and XEP-0388: Extensible SASL Profile
- Support for Erlang 26
- Removed support for Riak
- Various improvements and fixes
Added
- CETS
- CETS backend for session management and stream management (#3629, #4075, #4143)
- Add GraphQL handler for CETS info (#4015, #4116)
- RDBMS discovery backend for CETS (#4022, #4042, #4108, #4049, #4165, #4182)
- CETS backend for
mod_bosh
(#4050) - CETS support for components (#4047)
- CETS support for S2S (#4046)
- CETS backend for
mod_muc
(#4066) - CETS backend for
mod_jingle_sip
(#4076) - CETS backend for
mongoose_cluster_id
(#4136) - Add CETS backend for
mod_keystore
(#4140) - Remove mnesia from
mod_register
(#4146) - Anonymous auth supports mnesia and CETS backends (#4148)
- Custom EPMD module (#4179)
- Unified XEP list for xmpp.org (#4021, #4024, #4025, #4123)
- Reporting to Google Analytics 4 (#4040, #4061)
- Add config option to limit the number of users per domain (#4059)
- XEP-0386: Bind 2 and XEP-0388: Extensible SASL Profile
- Log internal-server-errors in
mod_privacy
(#4139)
Changed
- XEP updates
- Implement XEP-0004: Data Forms in a separate module (#4028, #4031)
- Update XEP-0016: Privacy Lists (#4038)
- Update XEP-0030: Service Discovery (#4039)
- Update XEP-0050: Ad-Hoc Commands (#4043, #4048)
- Update XEP-0363: HTTP File Upload(#4053)
- Update attributes for XEP-0178 and add for XEP-0220 (#4057)
- Update XEP-0045: Multi-User Chat (#4054)
- Update XEPs: XEP-0082, XEP-0115, XEP-0124, XEP-0157, XEP-0160, XEP-0163, XEP-0199, XEP-0248, XEP-0277 (#4060)
- Update XEP-0280 (#4083)
- Update XEP-0060: Publish-Subscribe (#4092)
- Update XEP-0215: External Service Discovery (#4120)
- Advertise support for XEP-0249: Direct MUC Invitations (#4168)
- Upgrade segmented_cache library and its telemetry events (#4041)
- Improved Metrics initialization (#4070)
- Initialise domain workers in the supervision tree instead of manually (#4069)
- Config in one persistent term (#4093)
- C2S features optimisations (#4094)
- Patch
ejabberd_sm
(#4096) - Use
jid:make_bare/2
instead ofjid:make/3
where appropiate (#4109) - Unify
auth_module
andinfo
inc2s_data
record (#4110) - Simplify specs for
ejabberd_sup
and let workers terminate (#4117) - Raise an error if
mnesia:create_table/2
fails (#4138)
Fixed
- Fix
mod_event_pusher:push_event/3
(#3939) - Removing incorrect CORS headers (#4006)
- Fix handling of the undefined host type for stream errors (#4052)
- Put reporter init after app startup (#4085)
- Fix slow getaddrs call in global distribution (#4086)
- C2S fixes (#4095, #4129)
- Fix invalid username in scram authentication (#4118)
- Return a proper type from
mod_muc:node_cleanup_for_host_type/3
(#4122) - Correctly handle the case when TLS is disabled (#4150)
- Fix error on ping timeout with stream management (#4153)
- Update epgsql to fix an issue with Erlang/OTP 26 (#4169)
mod_muc_light
config fix (#4178)- Change domain validation logic (#4184)
- Require 'cacertfile' for just_tls when verify_mode = 'peer' (#4189)
Removed
Performance improvements
- Cache router, filter, and process handlers into funs (#4068)
- C2S features small optimisation (#4077)
- Replace
erlang:apply
with explicit function calls for hooks (#4073) - Avoid calling
ejabberd_sm_backend:get_sessions/3
second time when routing presences (#4089) - Put hooks into persistent_term using batching (#3878)
Other
- Tests improvements/fixes (#4064, #4072, #4079, #4098, #4099, #4100, #4104, #4103, #4107, #4115, #4137, #4142, #4147, #4155, #4164)
- Documentation updates (#4030, #4034, #4055, #4087, #4130, #4133, #4181, #4190)
- CI improvements/fixes (#4023, #4026, #4027, #4029, #4097, #4112, #4149, #4145, #4152, #4166, #4167, #4171)
- Upgrade exometer_report_graphite (#4134)
- Support for Erlang 26 (#4121)
- Rename db and node to mongooseim (#4172)
Commits, merged PRs and closed issues
MongooseIM 6.1.0
Highlights
- Reworked C2S architecture
- Docker image for arm64
- Update of Universal Analytics to Google Analytics 4
- Dialyzer types fix
- Deprecation of Riak
- More reliable test suites
- Various improvements and fixes
All changes
Added
- New C2S architecture (#3765)
presence
(#3746)mod_last
(#3750)mod_register
(#3751)privacy
(#3747)pubsub
(#3785)ping
(#3748)metrics
(#3800)steam_management
(#3796)mod_csi
(#3880)sasl_external
(#3911)- More granular hooks (#3852, #3857, #3955)
- Fixed
stream_management
timeouts (#3934) - Stopped routing broadcast tuples (#3946)
- Unified metrics (#3967)
- C2S Migration guide (#3965)
- Fixed duplicated logout in
stream_management
(#3983) - Adapted existing test suites (#3772, #3778, #3783, #3787, #3786, #3845, #3882, #3909, #3925, #3927, #3932, #3931, #3940)
- Miscellaneous changes (#3729, #3797, #3790, #3816, #3858, #3888, #3904, #3908, #3917, #3919, #3935, #3950, #3957, #3959, #3972)
- Added information about GraphQL (#3905)
- Enable CircleCI tests insights (#3899)
- Hooks improvement (#3913, #3912)
mod_inbox
improvements (#3910, #3974, #4016)- Checking push form fields (#3916)
- Checking for MUC domain when archiving messages (#3936)
- Updated base Docker image (#3943)
- Implemented
mod_pubsub_db
without dynamic modules (#3953) - Checking the
to
JID (#3971) - Auto registration/unregistration of hooks in
gen_mod
(#3954) - Added port and IP in the listener options for WebSockets and BOSH (#3977)
- Improved MAM logging (#3984)
- Added error reason to batch worker termination (#3985)
- Docker image for arm64 (#3979, #3986, #3988, #4009)
- Full support for TLS version 1.3 (#3989)
- Restarting executes in transactions (#3973)
- GraphQL server status now returns MongooseIM version (#3995)
- Capability of measuring asynchronous SQL execute requests (#4002)
- Enabled codecov with the new uploader (#4013)
remove_domain
forinternal
auth (#4010)- Passing SID into
store_info
(#4007)
Changed
- Unified status icons (#4000)
- Reworked mongoose transport (#3982)
- Updated dependencies (#3918, #3976, #4017)
- Updated MySQL schema (#3944)
- Set cookie to mongooseim (#3930)
- Moved to Google Analytics 4 (#4011, #4019)
Fixed
- Issues with GitHub actions (#3992, #4003)
- Status badges (#3975)
- Announcing session establishment (#3970)
- Input for
mam
errors (#4008) - Issue with certificate verification for Google Analytics (#3978)
- Incremental removal query (#3924)
- Unknown types in Dialyzer (#3929)
- Scram invalid xml response (#4020)
Removed
- Legacy C2S implementation (#3805, #3860)
- Some of the hooks with no handlers (#3990)
- Incorrect CORS headers (#4005)
- Riak is now deprecated (#3981)
Other
- Test suites improvements (#3906, #3923, #3926, #3937, #3961, #3968, #3964, #3960, #3969, #3960, #3998, #3999)
- Updated documentation (#3914, #3962, #3966, #4014)
Commits, merged PRs and closed issues
Special thanks to our contributors:
- @askarsyzdykov Fix typo in documentation (#3966)
MongooseIM 5.1.1
MongooseIM 5.0.1
What's Changed
- fix of errors in mod_event_pusher for muc/muc_light notifications (issue #3407, PR #3939)
- dependencies update (PR #3939)
Full Changelog: 5.0.0...5.0.1
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...