Project: EMQ Technologies (App Definition and Development / Streaming & Messaging)
File: v5.0.15-en.md

Refactor `/authorization/sources/builtindatabase/` by adding `rules/` to the path. `/bridges_probe` API endpoint to test params for creating a new data bridge. Basic auth is no longer allowed for API calls, must use API key instead. Expose additional resource configuration parameters: `startaftercreated` and `start_timeout`. Add the following configuration options for Pushing metrics to Prometheus Push Gateway: `headers`: Allows custom HTTP request headers. `job_name`: allows to customize the name of the Job pushed to Push Gateway. Remove the config `autoreconnect` from the emqxauthz, emqx_authn and data-bridge componets. This is because we have another config with similar functions: `resourceopts.autorestart_interval` The functions of these two config are difficult to distinguish, which will lead to confusion. After this change, `auto_reconnect` will not be configurable (always be true), and the underlying drivers that support this config will automatically reconnect the abnormally disconnected connection every `2s`. And the config `resourceopts.autorestart_interval` is still available for user. It is the time interval that emqx restarts the resource when the connection cannot be established for some reason. Refactor of /bridges API to make it more consistent with other APIs: bridge enable/disable is now done via the endpoint `/bridges/{id}/enable/[true,false]` `/bridges/{id}/operation/{operation}` endpoints are now `/bridges/{id}/{operation}` metrics are moved out from the GET `/bridges/{id}` response and can now be fetched via `/bridges/{id}/metrics` the `bridges/{id}/reset_metrics` endpoint is now `/bridges/{id}/metrics/reset` Add a password complexity requirement when adding or modifying Dashboard users via the API. Now password must contain at least 2 of alphabetic, numeric and special characters, and must be 8 to 64 characters long. Return authorization settings with default values. The authorization cache is enabled by default, but due to the missing default value in `GET` response of `/authorization/settings`, it seemed to be disabled from the dashboard. Fix the problem that username and password authentication is mandatory in Influxdb v1 write API. Client fuzzy search API results were missing information which could tell if more results are available in the next pages, this is now fixed by providing `hasnext` flag in the response. Password information has been removed from information log messages for http, ldap, mongo, mqtt, mysql, pgsql and redis. Listeners not configured with `max_connections` will cause the cluster `/listeners` API to return 500 error. In some cases search APIs could respond with an incorrect `count` value in the metadata, that is usually much bigger than expected, this is now fixed. Reload overriding configs after boot. Prior to this change, two configs were allow to change from dashboard, but will not take effect after reboot: Logging (such as level) Prometheus configs Fix that obsoleted cert file will not be deleted after the listener is updated/deleted Fix an authentication exception when password is not provided Parse decimals as password from environment variable overrides correctly. Prior to this change, config values for passwords are not allowed to be decimals. e.g. `EMQXFOOBAR_PASSWORD=12344` or `emqx.foobar.password=1234` would result in a type check error, unless quoted as: `EMQXFOOBAR_PASSWORD='"12344"'` or `emqx.foobar.password="1234"`. After this fix, the value does not have to be quoted. Fix Erlang shell prompt version prefix. e5.0.15 -> v5.0.15 When creating disk queue directory for resource worker, substitute ':' with '-' in worker id. Trace files were left on a node when creating a zip file for download. They are now removed when the file is sent. Also, concurrent downloads will no longer interfere with each other. Stop authentication hook chain if `emqxauthnchains` provides a definitive result. Fix a compatible problem for the `webhook` bridge configuration which was created before the v5.0.12.