Releases: krpc/krpc
Releases · krpc/krpc
kRPC v0.5.4
- Web Documentation
- PDF Documentation - available to download from assets
- Forum release thread
- Forum development thread
Client libraries:
Changes
Server
- Fix memory leaks when switching game scene (#779)
SpaceCenter service
- Fix vessel recovery (#782)
- Allow vessel switch from any scene (#781)
- Fix memory leaks on each scene switch (#779)
- Force throttle to zero when timewarping (#792)
- Add SpaceCenter.Decoupler.AttachedPart (#789, #791)
- Add SpaceCenter.Decoupler.IsOmniDecoupler (#789)
- Fix decoupler crashes with stack separators (#790)
- Make CelestialBody parameters doulbe precision (#786)
- Fix scaled camera distance clamp (#785)
Python client
- Fix streams for services without pre-generated stubs (#774)
krpctools
kRPC v0.5.3
- Documentation
- PDF Documentation - available to download from assets
- Forum release thread
- Forum development thread
Client libraries:
Changes
Python client
- Fix assertion error when connecting to a server with third party services installed (#754)
kRPC v0.5.2
- Documentation
- PDF Documentation - available to download from assets
- Forum release thread
- Forum development thread
Client libraries:
Changes
Documentation
PDF docs are no longer included in the server release archive. They are distributed separately (see krpc-doc-0.5.2.pdf in the assets list).
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"
kRPC v0.5.1
Client libraries:
Changes
SpaceCenter service
- Fix null reference exception in autopilot for vessels without custom axis controls (#649)
kRPC v0.5.0
Client libraries:
Changes
Server
- Support for KSP 1.8+
- Update to protobuf v3.9.1
- Update to ModuleManager 4.2.2
- Fix bug with streams where a stream update is not sent initially after a stream is created, if the stream value is null (#515)
SpaceCenter service
- Update to work with KSP 1.8+
- Add to SpaceCenter: * LaunchSites * CanRevertToLaunch * RevertToLaunch * TransferCrew * CreateKerbal * GetKerbal * LoadSpaceCenter * MapFilter * Screenshot
- Add crew and flagUrl parameters to SpaceCenter.LaunchVessel
- Add support for more vessel types
- Add LaunchSite
- Add CelestialBody.IsStar and CelestialBody.HasSolidSurface
- Add custom axes to Control class
- Add Part.FlagURL
- Add Part.AvailableSeats
- Add Part.Glow
- Add Part.AutoStrutMode
- Add support for resource drain parts
- Add support for stock robotic parts
- Add Parachute.Cut
- Add support for docking port rotation
- Add support for Light blinking
- Add support for wheel steering angle limit and response time
- Fix ParachuteState.Active state and clean up real chute vs. stock parachute logic
- Add support for stock alarms (AlarmManager and Alarm classes)
- Use raycast to measure surface height more precisely in CelestialBody.SurfaceHeight (#524)
- Fix null reference exception when checking active vessel (#528, #530)
- Fix null reference exception when waiting for active vessel change (#516, #529)
- Add RCS.ThrustLimit and RCS.AvailableThrust (#519)
- Add Control.StageLock (#541)
- Fix launch checks and automatic vessel recovery in SpaceCenter.LaunchVessel
- Fix setting camera target to an unloaded vessel (#536)
- Fix Control.Legs and Control.Wheels not deploying/retracting legs/wheels correctly (#509, #261)
- Allow legs/wheels can be individually deployed/retracted using Leg.Deployed and Wheel.Deployed (#509, #261)
- Allow lights to be individually turned on and off (#261)
- Fix Engine and RCS fuel calculations only being done when they are enabled (#514, #254)
- Add support for parts that contain multiple experiments (#533) * Part.Experiment now throws an exception if the part has more than one experiment * Add Part.Experiments which returns a list of experiments in the part * Update Parts.Experiments to return all experiments contained in the parts
- Add Experiment.Name and Experiment.Title
- Fix Fairing.Jettison and Fairing.Jettisoned for parts from the ProceduralFairings mod (#549)
- Fix Engine.SpecificImpulse returning 0 for Realism Overhaul engines that are active but not throttled up (#548)
- Fix compatibility with DMagic science experiments mod (#550)
- Fix available torque calculations for RCS (#552, #354)
- Fix RCS.MaxThrust returning incorrect values
- Fix SimulateAerodynamicForceAt (#587)
- Fix RCS.GetTorqueVectors not considering if each direction is enabled (#591)
- Add RCS.AvailableForce and Vessel.AvailableRCSForce (#597)
Drawing service
- Add Drawing.AddDirectionFromCoM
- Change Drawing.AddDirection to start the line at the origin of the reference frame (#518)
InfernalRobotics service
- Update to work with Infernal Robotics Next v3.1.9
- Drop support for original Infernal Robotics mod
- Remove Servo.MoveNextPreset and Servo.MovePrevPreset as they no longer exist in the mod
KerbalAlarmClock service
- Update API wrapper to work with KerbalAlarmClock v3.13.0.0
C# client
- Update to protobuf v3.22.0
- Drop support for net35
C++ client
- Update to protobuf v3.22.0
- Update to ASIO 1.24.0
- Fix include path to ASIO header in CMake build scripts
- Fix CMake build scripts not building a static library with MSVC on Windows
C-nano client
- Update to protobuf 22.0
- Update to nanopb 0.4.7
- Rename KRPC_COMMS_CUSTOM to KRPC_COMMUNICATION_CUSTOM
Java client
- Update to protobuf v3.22.0
Lua client
- Update to protobuf v3.22.0
Python client
kRPC v0.4.8
Client libraries:
Changes
Server
- Support for KSP 1.5.1
- Update to protobuf v3.6.1
- Add support for specifying more granular game scenes for RPCs (#471)
SpaceCenter service
- Allows RPCs to be accessed from game scenes other than just flight (#471)
- Merge NameTag (http://github.com/krpc/NameTag) into the main kRPC release
- Fix air-relative velocity calculation for SimulateAeroDynamicForceAt with FAR (#500)
- Changed Orbit API to accept target orbits as Orbit objects instead of Vessel objects, to allow computing closest approach etc. to planets (#479)
- Trying to enable SAS while the autopilot is engaged now throws an exception as this is not permitted (#492)
- Add color and size paramters to UI.Message (#499)
- Fix Flight.TerminalVelocity (#485)
- Fix null reference exception when deploying fairings after reverting to launch (#501)
Drawing service
- Fix reference frames for AddDirection so that the line always starts at the active vessel's CoM (#486)
InfernalRobotics service
- Add suport for both original Infernal Robotics and Infernal Robotics Next (#476)
- Add InfernalRobotics.Ready which indicates if the IR is on the current vessel and ready to receive commands
- Change InfernalRobotics.Available to return whether the IR mod is installed (not if the IR API is "ready")
C# client
- Update to protobuf v3.6.1
C++ client
- Update to protobuf v3.6.1
- Update to ASIO 1.12.1
- Add condition variable and callbacks that are called when a stream update message is processed (#473)
- Fix compilation issue on MacOS
- Fix cmake configuration detection of protoc binary
C-nano client
- Update to protobuf v3.6.1
- Change second parameter of krpc_open to be a configuration parameter of type krpc_connection_config_t to allow additional configuration options to be passed, such as baud rate for Arduino serial port (#487)
- Fix encoding issue in procedure call messages that was causing compilation on Arduino Due to fail
Java client
- Make Connection class implement AutoClosable (#491)
- Update to protobuf v3.6.1
Lua client
- Update to protobuf v3.6.1
Python client
- Update to protobuf v3.6.1
- Add condition variable and callbacks that are called when a stream update message is processed (#473)
krpctools
- Fix Python 3 compatibility
- Fix template loading in docgen on Windows
- Add documentation of game scenes for each RPC
kRPC v0.4.7
Client libraries:
Changes
Server
- Support for KSP 1.4.4
- Fix launch site clear checks (#483)
SpaceCenter service
- Fix Flight.Lift and Flight.Drag should return values in Newtons (#475)
C++ client
- Ensure .lib files are generated when building using CMake with MSVC (#474)
C-nano client
- Fix include paths on Arduino (#482)
kRPC v0.4.6
Client libraries:
Changes
Server
- Support for KSP 1.4.3
- Remove CompatibilityChecker as it's deprecated - instead rely on CKAN and KSP-AVC version checks
- Update icons to be 64x64 to fix blurring when loading as textures (#453)
- Fix equality checking for streams of collections (#452)
- Fix RPC errors being reported in Response.error instead of individual ProcedureResult.error fields (#467)
SpaceCenter service
- Added SpaceCenter.GameMode (#455)
- Added SpaceCenter.Science, Funds and Reputation (#455)
- Fix pre-flight checks not happending in SpaceCenter.LaunchVessel (#469)
- Add 'recover' boolean argument to SpaceCenter.LaunchVessel to recover existing vessels on the launch pad (#469)
- Change CelestialBody.Biomes to return an empty list instead of throwing an exception if the body has no biomes (#457)
- Fixed science transmission not working correctly (#456)
C# client
- Add methods to remove callbacks from streams and events (#451)
C++ client
- Add methods to remove callbacks from streams and events (#451)
- Improve Autotools and CMake build scripts to regenerate the protobuf source if protoc is installed
C-nano client
- Include directory and main header now suffixed with "_cnano" to avoid name clashes with C++ client
Java client
- Add methods to remove callbacks from streams and events (#451)
Python client
- Add methods to remove callbacks from streams and events (#451)
kRPC v0.4.5
Client libraries:
Changes
Server
- Support KSP 1.4.1
- Update to protobuf v3.5.1
- Fix server error and client hang when quickly removing and re-adding a stream
SpaceCenter service
- Fixed roll input when input mode is override (#445)
- Marked CelestialBody.Orbit as nullable, as it returns null for the sun
C# client
- Update to protobuf v3.5.1
C++ client
- Update to protobuf v3.5.1
C-nano client
- Fix connection timing out on Arduino when connecting to a server with new client confirmation enabled (#446)
Java client
- Update to protobuf v3.5.1
Lua client
- Update to protobuf v3.5.1
Python client
- Update to protobuf v3.5.1
kRPC Python Client v0.4.4.post1
This is a post-release update for the Python client, to fix method names clashing with Python keywords.