Gateway-bridge command: decode gateway id error

I create the following GatewayCommandExecRequest protobuf message in python:

>>> import gw.gw_pb2 as gateway
>>> command = gateway.GatewayCommandExecRequest()
>>> command.gateway_id = bytes.fromhex("e45f01fffeb2c7f4")
>>> command.command = "reboot"
>>> command.ExecId = "".encode("UTF-8")
>>> command.gateway_id
>>> len(command.gateway_id)

When sending payload command.SerializeToString() to topic us915_4/gateway/e45f01fffeb2c7f4/command/exec, the gateway-bridge log shows an error decoding my message:

level=error msg="integration/mqtt: decode gateway id error" error="lorawan: exactly 8 bytes are expected" topic=us915_4/gateway/e45f01fffeb2c7f4/command/exec

I checked that the protobuf is serialized correctly:

>>> data = command.SerializeToString() 
>>> data
>>> d = gateway.GatewayCommandExecRequest() 
>>> d.ParseFromString(data)                                                                                                                                                                                                           36
>>> d
gateway_id: "\344_\001\377\376\262\307\364"
command: "reboot"
ExecId: ""

What is wrong ?

Oh I found the problem. I was using the gateway protobuf definition from the master branch on I though master was the latest v4, but it is not.
I had to use tag v4.3.2