kRPC v0.5.2
Client libraries:
Changes
Server
- Update to protobuf v3.10.1
- Fix game lagging when first client connects (#712)
- Change KRPCDefaultValueAttribute so that it applies to parameters directly (#677)
SpaceCenter service
- Fix null reference exception when SpaceCenter.LaunchVesselFromVAB is called with no crew (#599)
- Add Engine.IndependentThrottle to check whether it is enabled
- Allow setting the independent throttle using Engine.Throttle
- Fix Engine.HasFuel sometimes returning true for flamed-out SRBs (#631)
- Add functions to manipulate a part modules fields based on identifier
- Module.Fields now throws an exception if there are multiple fields with the same name
- Add Module.FieldsById to get a dictionary of field values keyed by their identifier
- Add Module.SetFieldBool and Module.SetFieldBoolById to set a field with a boolean value
- Module.SetField* methods now raise an exception if setting the field to the wrong value type
- Change default names for alarms created by AlarmManager
C++ client
- Use protobuf-lite
- Roll back to protobuf v3.21.12 to avoid absl dependency
C-nano client
- The arduino compatible version of the library now uses the same "krpc_cnano/..." include directory as the version released on GitHub.
Python client
- Requires Python 3.7+
- Add type hints (#703)
- Pre-generated stubs now include implementation of services as well as type hints
- Fix various type hint bugs in generated stubs
- Allow importing types from a service using, for example "from krpc.services.spacecenter import Vessel"