Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ elvis
!/deps/amqp10_client/
!/deps/amqp10_common/
!/deps/oauth2_client/
!/deps/rabbitmq_amqp1_0/
!/deps/rabbitmq_amqp_client/
!/deps/rabbitmq_auth_backend_cache/
!/deps/rabbitmq_auth_backend_http/
Expand Down
1 change: 0 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ from individual `deps/` component directories (see below).

* `deps/rabbit`: the core RabbitMQ server, the most important part of the codebase
* `deps/rabbit_common`: internal library for common modules
* `deps/rabbitmq_amqp1_0`: a no-op plugin that exists for backwards compatibility since AMQP 1.0 is a core protocol as of RabbitMQ 4.0
* `deps/rabbitmq_amqp_client`: Erlang AMQP 1.0 client with RabbitMQ-specific management operations
* `deps/rabbitmq_auth_backend_http`: external HTTP server-based authentication (authN), authorization (authZ) backend
* `deps/rabbitmq_auth_backend_internal_loopback`: a `localhost`-only version of the internal authN, authZ backend
Expand Down
1 change: 0 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,6 @@ INTERNAL_DEPS := \

TIER1_PLUGINS := \
rabbitmq_amqp_client \
rabbitmq_amqp1_0 \
rabbitmq_auth_backend_cache \
rabbitmq_auth_backend_http \
rabbitmq_auth_backend_internal_loopback \
Expand Down
2 changes: 1 addition & 1 deletion deps/rabbit/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ LOCAL_DEPS = sasl os_mon inets compiler public_key crypto ssl syntax_tools

BUILD_DEPS = rabbitmq_cli
DEPS = ranch cowlib rabbit_common amqp10_common rabbitmq_prelaunch ra sysmon_handler stdout_formatter recon redbug observer_cli osiris syslog systemd seshat khepri khepri_mnesia_migration cuttlefish gen_batch_server
TEST_DEPS = rabbitmq_ct_helpers rabbitmq_ct_client_helpers meck proper amqp_client rabbitmq_amqp_client rabbitmq_amqp1_0
TEST_DEPS = rabbitmq_ct_helpers rabbitmq_ct_client_helpers meck proper amqp_client rabbitmq_amqp_client

PLT_APPS += mnesia runtime_tools

Expand Down
11 changes: 0 additions & 11 deletions deps/rabbit/test/amqp_client_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,6 @@ groups() ->
trace_stream,
user_id,
message_ttl,
plugin,
idle_time_out_on_server,
idle_time_out_on_client,
idle_time_out_too_short,
Expand Down Expand Up @@ -5161,16 +5160,6 @@ message_ttl(Config) ->
ok = delete_queue(Session, QName),
ok = close_connection_sync(Connection).

%% For backward compatibility, deployment tools should be able to
%% enable and disable the deprecated no-op AMQP 1.0 plugin.
plugin(Config) ->
Node = 0,
Plugin = rabbitmq_amqp1_0,
%% rabbit/Makefile declares a test dependency on the rabbitmq_amqp1_0 plugin.
%% Therefore, we first disable, and then enable.
?assertEqual(ok, rabbit_ct_broker_helpers:disable_plugin(Config, Node, Plugin)),
?assertEqual(ok, rabbit_ct_broker_helpers:enable_plugin(Config, Node, Plugin)).

%% Test that the idle timeout threshold is exceeded on the server
%% when no frames are sent from client to server.
idle_time_out_on_server(Config) ->
Expand Down
11 changes: 0 additions & 11 deletions deps/rabbitmq_amqp1_0/Makefile

This file was deleted.

11 changes: 0 additions & 11 deletions deps/rabbitmq_amqp1_0/README.md

This file was deleted.

1 change: 0 additions & 1 deletion deps/rabbitmq_amqp1_0/src/rabbitmq_amqp1_0_noop.erl

This file was deleted.

2 changes: 1 addition & 1 deletion deps/rabbitmq_shovel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dep_amqp10_client = git https://github.com/rabbitmq/rabbitmq-amqp1.0-client.git

LOCAL_DEPS = crypto

TEST_DEPS = rabbitmq_ct_helpers rabbitmq_ct_client_helpers rabbitmq_amqp1_0 meck
TEST_DEPS = rabbitmq_ct_helpers rabbitmq_ct_client_helpers meck

PLT_APPS += rabbitmq_cli

Expand Down
3 changes: 0 additions & 3 deletions deps/rabbitmq_shovel/test/amqp10_inter_cluster_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,6 @@ init_per_suite(Config0) ->
Config1,
rabbit_ct_broker_helpers:setup_steps() ++
rabbit_ct_client_helpers:setup_steps()),
%% If node 1 runs 4.x, this is the new no-op plugin.
%% If node 1 runs 3.x, this is the old real plugin.
ok = rabbit_ct_broker_helpers:enable_plugin(Config, ?OLD, rabbitmq_amqp1_0),
Config.

end_per_suite(Config) ->
Expand Down
1 change: 0 additions & 1 deletion mk/github-actions.mk
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ VENDORED_COMPONENTS = rabbit_common \
amqp_client \
amqp10_client \
amqp10_common \
rabbitmq_amqp1_0 \
rabbitmq_auth_backend_cache \
rabbitmq_auth_backend_http \
rabbitmq_auth_backend_ldap \
Expand Down
3 changes: 1 addition & 2 deletions plugins.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
# release. So if you want to add or remove a plugin to the distribution,
# you need to update the server-release pipeline!

PLUGINS := rabbitmq_amqp1_0 \
rabbitmq_auth_backend_cache \
PLUGINS := rabbitmq_auth_backend_cache \
rabbitmq_auth_backend_http \
rabbitmq_auth_backend_internal_loopback \
rabbitmq_auth_backend_ldap \
Expand Down
1 change: 0 additions & 1 deletion rabbitmq-components.mk
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ RABBITMQ_BUILTIN = \
oauth2_client \
rabbit \
rabbit_common \
rabbitmq_amqp1_0 \
rabbitmq_amqp_client \
rabbitmq_auth_backend_cache \
rabbitmq_auth_backend_http \
Expand Down
24 changes: 24 additions & 0 deletions release-notes/5.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
## RabbitMQ 5.0.0

RabbitMQ `5.0.0` is a new major release.

See Compatibility Notes below to learn about **breaking or potentially breaking changes** in this release.


## Breaking Changes and Compatibility Notes

### `rabbitmq_amqp1_0` Plugin was Removed

Since `4.0`, AMQP 1.0 has been a [core protocol](https://www.rabbitmq.com/blog/2024/08/05/native-amqp) that is always enabled, and the `rabbitmq_amqp1_0` plugin has been a no-op kept around only to simplify upgrades from `3.13.x` and earlier.

Starting with `5.0.0`, the `rabbitmq_amqp1_0` plugin no longer ships with RabbitMQ. AMQP 1.0 support is unaffected: it continues to be enabled by default and does not require any plugin.

Installations that still have `rabbitmq_amqp1_0` listed in their enabled plugins file **must remove it before upgrading**. This can be done using `rabbitmq-plugins disable rabbitmq_amqp1_0` or by removing the entry from `RABBITMQ_ENABLED_PLUGINS_FILE` directly.

Clusters that upgrade without doing so will not fail to start: `rabbitmq-plugins list`, `enable` and `disable` will tolerate the now-missing plugin but will print a warning such as

```
WARNING - plugins currently enabled but missing: rabbitmq_amqp1_0
```

until the plugin is removed from the enabled plugins file.
2 changes: 1 addition & 1 deletion selenium/test/multi-oauth/enabled_plugins
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[accept,amqp10_client,amqp_client,base64url,cowboy,cowlib,eetcd,gun,jose,
oauth2_client,prometheus,rabbitmq_amqp1_0,rabbitmq_auth_backend_cache,
oauth2_client,prometheus,rabbitmq_auth_backend_cache,
rabbitmq_auth_backend_http,rabbitmq_auth_backend_ldap,
rabbitmq_auth_backend_oauth2,rabbitmq_auth_mechanism_ssl,rabbitmq_aws,
rabbitmq_consistent_hash_exchange,rabbitmq_event_exchange,
Expand Down
2 changes: 1 addition & 1 deletion selenium/test/oauth/enabled_plugins
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[accept,amqp10_client,amqp_client,base64url,cowboy,cowlib,eetcd,gun,jose,
oauth2_client,prometheus,rabbitmq_amqp1_0,rabbitmq_auth_backend_cache,
oauth2_client,prometheus,rabbitmq_auth_backend_cache,
rabbitmq_auth_backend_http,rabbitmq_auth_backend_ldap,
rabbitmq_auth_backend_oauth2,rabbitmq_auth_mechanism_ssl,rabbitmq_aws,
rabbitmq_consistent_hash_exchange,rabbitmq_event_exchange,
Expand Down
Loading