gtk_shell is a protocol extension providing additional features for clients implementing it. It is not backward compatible, and a client must always only bind to the specific version it implements. If a client binds to a version different from the version the server provides, an error will be raised.