Hi Mark,
My process is to leave the updates to the client library private until they have undergone enough testing to be deemed stable.
This version introduces multiple changes to the api, and the way it's being used. An updated set of guides and documentation will be released in the near future to guide developers through the new apis, in the meantime, feel free to ping me if you have questions about it.
Support for PX4 needs to be done at the 3DR Services layer, rather than in Tower.
As highlighted by the UML diagram below, 3DR Services, through the DroneManager class, parses the received vehicle's heartbeat, and use the information within the heartbeat mavlink message to identify the vehicle's autopilot.
Based on that information, it generates the matching Drone implementation to use for communication with the vehicle.
Tower, as well as any other app using the DroneKit apis, only sees the abstracted end-result of that process through the client library.