Skip to content

Change log for 3.6.0 does not mention backwards compatibility breaking change (removal of parameter) in AMPQSSLConnection signature #1175

Open
@caricare2

Description

@caricare2

Version(s) affected 3.6.0

Description
The function signature for the AMQPSSLConnection construct was changed in 3.6.0. There were originally 9 parameters, now there are 8. The original 8th parameter was previously $ssl_protocol, which was a string. That parameter was removed, and now the 8th parameter is ?AMQPConnectionConfig $config (which was originally the 9th parameter). This causes a TypeError to be thrown if you were previously passing that parameter instead of relying on the default value (I'm guessing the reason more people didn't run into this issue is that they probably were using the default values).

There is no specific mention of this backwards compatibility breaking change in the change log. I had to hunt through the code to figure out it was changed here:
7e9e96d#diff-7ca812c052f6560fc53e2ba72fd1c40927c86467f86c80e2016ab92c107fc919L27

Construct in AMQPSSLConnection in 3.5.4:

public function __construct(
       $host,
       $port,
       $user,
       $password,
       $vhost = '/',
       $ssl_options = array(),
       $options = array(),
       $ssl_protocol = 'ssl', // This is the parameter that was removed
       ?AMQPConnectionConfig $config = null
 )

Construct in AMQPSSLConnection in 3.6.0:

public function __construct(
        $host,
        $port,
        $user,
        $password,
        $vhost = '/',
        $ssl_options = array(),
        $options = array(),
        ?AMQPConnectionConfig $config = null
)

Possible Solution
The change log should be updated to indicate this change so people upgrading can be prepared to adapt their code for it.

I am reposting this as requested with more details:
#1174

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions