From 761ecdbca05c51884ce1f6647f6b5731804221b6 Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 15:49:15 +0000 Subject: [PATCH 01/11] Add OpcodeBranchJumpStack in opcode.cs --- src/kOS.Safe/Compilation/Opcode.cs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/kOS.Safe/Compilation/Opcode.cs b/src/kOS.Safe/Compilation/Opcode.cs index f33ff14d2..e5886a02f 100644 --- a/src/kOS.Safe/Compilation/Opcode.cs +++ b/src/kOS.Safe/Compilation/Opcode.cs @@ -87,7 +87,7 @@ public enum ByteCode :byte ARGBOTTOM = 0x60, TESTARGBOTTOM = 0x61, TESTCANCELLED = 0x62, - + JUMPSTACK = 0x63, // Augmented bogus placeholder versions of the normal // opcodes: These only exist in the program temporarily @@ -1102,6 +1102,27 @@ public override void Execute(ICpu cpu) DeltaInstructionPointer = Distance; } } + + /// + /// + /// Pops a value from the stack and then unconditionally branches to it + /// + /// + /// ... -- ... + /// + public class OpcodeBranchJumpStack : Opcode + { + protected override string Name { get { return "jumpstack" } } + public override ByteCode Code { get { return ByteCode.JUMPSTACK; } } + + public override void Execute(ICpu cpu) + { + int distance = Convert.ToInt32(cpu.PopValueArgument()); + if (distance == null) + throw new KOSArgumentMismatchException("No int on stack to jump to"); + DeltaInstructionPointer = distance; + } + } /// /// Most Opcode.Label fields are just string-ified numbers for their index From a6240108202f2636a8dec971a627e4d8ce01f5a8 Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 16:12:07 +0000 Subject: [PATCH 02/11] Fix Opcode.cs documentation & exception handling --- src/kOS.Safe/Compilation/Opcode.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/kOS.Safe/Compilation/Opcode.cs b/src/kOS.Safe/Compilation/Opcode.cs index e5886a02f..83d7ec1af 100644 --- a/src/kOS.Safe/Compilation/Opcode.cs +++ b/src/kOS.Safe/Compilation/Opcode.cs @@ -1105,10 +1105,11 @@ public override void Execute(ICpu cpu) /// /// - /// Pops a value from the stack and then unconditionally branches to it + /// Pops a Int32 from the stack and then unconditionally + /// advances the instruction pointer by it /// /// - /// ... -- ... + /// ... dist ... /// public class OpcodeBranchJumpStack : Opcode { @@ -1117,9 +1118,10 @@ public class OpcodeBranchJumpStack : Opcode public override void Execute(ICpu cpu) { - int distance = Convert.ToInt32(cpu.PopValueArgument()); + object popval = cpu.PopValueArgument(); + int distance = Convert.ToInt32(popval); if (distance == null) - throw new KOSArgumentMismatchException("No int on stack to jump to"); + throw new KOSCastException(typeof popval, typeof ScalarIntValue); DeltaInstructionPointer = distance; } } From 0fd382bd07a965cf980d08f6b6bd931f3089bb5a Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 16:15:56 +0000 Subject: [PATCH 03/11] Fix Opcode.cs exception I dont do C# let me back to rust --- src/kOS.Safe/Compilation/Opcode.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kOS.Safe/Compilation/Opcode.cs b/src/kOS.Safe/Compilation/Opcode.cs index 83d7ec1af..3dfd63d6c 100644 --- a/src/kOS.Safe/Compilation/Opcode.cs +++ b/src/kOS.Safe/Compilation/Opcode.cs @@ -1121,7 +1121,7 @@ public override void Execute(ICpu cpu) object popval = cpu.PopValueArgument(); int distance = Convert.ToInt32(popval); if (distance == null) - throw new KOSCastException(typeof popval, typeof ScalarIntValue); + throw new KOSCastException(popval.GetType(), typeof(ScalarIntValue)); DeltaInstructionPointer = distance; } } From 9cf52ab143a2796ef8c47c58f5be94d12530a5c3 Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 16:18:06 +0000 Subject: [PATCH 04/11] Fix Opcode.cs, for the last time (hopefully) Really, i dont do C# --- src/kOS.Safe/Compilation/Opcode.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kOS.Safe/Compilation/Opcode.cs b/src/kOS.Safe/Compilation/Opcode.cs index 3dfd63d6c..ea6f71c53 100644 --- a/src/kOS.Safe/Compilation/Opcode.cs +++ b/src/kOS.Safe/Compilation/Opcode.cs @@ -1111,9 +1111,9 @@ public override void Execute(ICpu cpu) /// /// ... dist ... /// - public class OpcodeBranchJumpStack : Opcode + public class OpcodeJumpStack : Opcode { - protected override string Name { get { return "jumpstack" } } + protected override string Name { get { return "jumpstack"; } } public override ByteCode Code { get { return ByteCode.JUMPSTACK; } } public override void Execute(ICpu cpu) From 915f6169aeffb4e954d51572c87e2176aff49916 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sat, 11 Oct 2025 16:44:28 +0000 Subject: [PATCH 05/11] bump version to 1.4.1.0 --- CHANGELOG.md | 152 ++++++++++++++++++++--------- Resources/GameData/kOS/kOS.version | 14 +-- 2 files changed, 111 insertions(+), 55 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e25c5355d..4fd97e1d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # kOS Mod Changelog -## Unreleased +## 1.4.1.0 - 2025-10-11 -### NEW FEATURES +### New Features - New crewmember suffixes [commit](https://github.com/KSP-KOS/KOS/commit/8b6246d328f376f431df11f32edadde3d4db7035) - Added `COM` suffix to parts to get the accurate center of mass (thanks SofieBrink) [commit](https://github.com/KSP-KOS/KOS/commit/496bf3fe7e29b4b8917ec214a6d9d8ab3780cd46) @@ -10,12 +10,12 @@ - Integrated KSPBuildTools for easier local setup and automated build process [commit](https://github.com/KSP-KOS/KOS/commit/7bde357c9d23c60f95f1d64b0490724a4b1544a4) - Wheelsteering fixes and improvements (thanks @sug44) [commit](https://github.com/KSP-KOS/KOS/commit/cb3eb98a1cddfcf5255b61200338590c7c92dfaa) -### PERFORMANCE IMPROVEMENTS +### Performance Improvements - KOSNameTag modules no longer update during flight [commit](https://github.com/KSP-KOS/KOS/commit/6e9388fdedefc9f4b1287817036b6d4bbe5243df) - Prevent KOSVesselModule from updating for unloaded vessels [commit](https://github.com/KSP-KOS/KOS/commit/fb88b460117fc4f048c9fb3b451cb8c2862e2316) -### BUG FIXES +### Bug Fixes - Documentation: renamed `gui` to `my_gui` to avoid conflict with global [commit](https://github.com/KSP-KOS/KOS/commit/bc2d2aad469d939b549e73a54b2f6d2f2741f376) - Fixed an issue where probe cores in RP-1 would get incorrect cost and mass [commit 1](https://github.com/KSP-KOS/KOS/commit/96baa4836bf16ab1bf1b67524c497ea7e0b8db87) [commit 2](https://github.com/KSP-KOS/KOS/commit/142a68c0ef511cacafaf9badc083ee735066cc56) @@ -31,6 +31,7 @@ - `stage:number` suffix now works correctly on non-active vessels (thanks @sug44) [commit](https://github.com/KSP-KOS/KOS/commit/c1af606dd7950bc9e37dfe8c591f379598cb6870) - Several functions that return a strongly typed ListValue now return the kos-friendly ListValue (thanks @sug44) [commit](https://github.com/KSP-KOS/KOS/commit/b9aad87ab00036a0cd8dcdc632690709fc85157e) + ## v1.4.0.0 - Catch-up for over a year of little things It's been 3 years since the last kOS release, and a lot of @@ -46,7 +47,7 @@ overriding the complaints of CKAN for trying to use kOS on KSP 1.11.x or KSP 1.12.x. (Which it worked for but CKAN didn't know that. Now it should know that.) -### BREAKING CHANGES +### Breaking Changes - The bugfix to prevent a local variable from clobbering a builtin name could make existing scripts have to rename @@ -62,7 +63,7 @@ but CKAN didn't know that. Now it should know that.) if you really want to let yourself do that. [pull request](https://github.com/KSP-KOS/KOS/pull/3016) -### NEW FEATURES +### New Features - kOS parts are now findable by typing "kos" into the VAB's part search bar. @@ -113,7 +114,7 @@ but CKAN didn't know that. Now it should know that.) per byte). [pull request](https://github.com/KSP-KOS/KOS/pull/2986) -### BUG FIXES +### Bug Fixes - Documentation: Many small one-line documentation fixes that are too numerous to mention all of them one by one. @@ -203,6 +204,7 @@ but CKAN didn't know that. Now it should know that.) - Made the doc generation scripts work on python 3.x [pull request](https://github.com/KSP-KOS/KOS/issues/3069) + ## v1.3.2.0 - Don't Steer Me wronger A quick patch to v1.3.0.0 that fixes issue #2857 that would @@ -220,12 +222,14 @@ Normally one bug fix wouldn't warrant a release, but this bug was caused by changes in v1.3.0.0, and the consumed ignition was unfair. + ## v1.3.1.0 - Don't Steer Me Wrong, this time A quick patch to v1.3.0.0 that fixed issue #2850 where one or two places in the code still used TimeSpan where they were supposed to have been changed to use TimeStamp. + ## v1.3.0.0 - Don't Steer Me Wrong There's a lot of small changes over the last year that have added @@ -243,7 +247,7 @@ is doing. As always, recompile KSM files with this release. Especially as there was an important KSM bugfix. -### BREAKING CHANGES +### Breaking Changes - ``TimeSpan`` used to mean a fixed stamp in time (the name was not really accurate). Now there are two types, ``TimeStamp`` and @@ -287,7 +291,7 @@ was an important KSM bugfix. escaped quote char and is no longer literally a backslash and quote mark. -### NEW FEATURES +### New Features - Maneuver Nodes can now be constructed with either ETA time or with UT time, and you can read their time either as UT (``:TIME``) @@ -405,7 +409,7 @@ was an important KSM bugfix. (Thanks ThunderousEcho) [pull request](https://github.com/KSP-KOS/KOS/pull/2650) -### BUG FIXES +### Bug Fixes - Fixed: Kerbal Alarm Clock alarms had no ToString() so when you printed them you saw nothing. Now they show the alarm info. @@ -531,6 +535,7 @@ was an important KSM bugfix. it says zero instead). [pull request](https://github.com/KSP-KOS/KOS/pull/2646) + ## v1.2.1 Pathsep fix v1.2'S DDS fix had a backslash path separator that broke it on UNIX @@ -542,18 +547,19 @@ but not do a similar mapping to make UNIX work with the "wrong" separator, so UNIX separators are the only cross-platform path separator to use.) + ## v1.2 Unity Update This update is mostly to make kOS compatible with KSP 1.8.x, which started using a newer version of Unity, and a newer version of .Net, which have some consequent changes in the code and build process. -### BREAKING CHANGES +### Breaking Changes None that are known about, other than the usual reminder that KSM files need a recompile after every version update of kOS. -### NEW FEATURES +### New Features * Now forces both the toolbar window and the telnet welcome menu to list the kOS CPUs in a consistent unchanging sort order. @@ -607,7 +613,7 @@ KSM files need a recompile after every version update of kOS. [issue](https://github.com/KSP-KOS/KOS/issues/2565) [pull request](https://github.com/KSP-KOS/KOS/pull/2630) -### BUG FIXES +### Bug Fixes * Bound variables like SHIP, UP, VELOCITY, etc stopped existing in the KSP 1.8.x update. This was because kOS makes use of @@ -641,13 +647,14 @@ KSM files need a recompile after every version update of kOS. ((No issue - SlimJimDodger contributed PR out of the blue.)) [pull request](https://github.com/KSP-KOS/KOS/pull/2637) + ## v1.1.9.0 Breaking Bounds This update is a mix of new features, mostly -### BREAKING CHANGES +### Breaking Changes -### NEW FEATURES +### New Features - Bounding box information for parts and for the vessel as a whole is now exposed for scripts to read. @@ -672,7 +679,7 @@ This update is a mix of new features, mostly - Added support to read more atmospheric values from KSP. [pull request](https://github.com/KSP-KOS/KOS/pull/2557). -### BUG FIXES +### Bug Fixes - TimeSpan now peeks at the KSP game to learn its notion of how long a day is, and how long a year is, rather than hardcoding @@ -711,6 +718,7 @@ This update is a mix of new features, mostly focus rules for widgets, thus they won't 'steal focus' as much. [pull request](https://github.com/KSP-KOS/KOS/pull/2577). + ## v1.1.8.0 Engines and KSP 1.7 compatibility Mostly this was motivated by a need to get an officially @@ -721,14 +729,14 @@ version worked on KSP 1.7, it wasn't officially compiled for KSP Along the way there were one or two bug fixes and documenation cleanups. -### BREAKING CHANGES +### Breaking Changes - Not that we know of, unless you were unaware that some of the bugs fixed were in fact bugs and had written a script to expect that behaviour as normal. (Read the bug fixes below to be sure.) -### NEW FEATURES +### New Features - Support of multiple-at-the-same-time engines that exist in some mods (but not in stock, as far as we can tell). Stock @@ -748,7 +756,7 @@ cleanups. **Special thanks to first time contributer RCrockford for doing all the legwork on this**. -### BUG FIXES +### Bug Fixes - The behaviour of ``LIST ENGINES`` in regards to multi-mode engines was restored to what it was supposed to have been. Becuase of a @@ -807,6 +815,7 @@ cleanups. addition to claiming to be a ModuleDeployableSolarPanel. [pull request](https://github.com/KSP-KOS/KOS/pull/2504) + ## v1.1.7.0 Lets get Serial Mostly fixes. The motivation for this release is to get fixes @@ -814,12 +823,12 @@ out to the public before KSP 1.7 comes. Built for KSP 1.6.1 -### BREAKING CHANGES +### Breaking Changes - Compatibility for the old Infernal Robotics is officially removed in favor of support for the "IR Next" mod. -### NEW FEATURES +### New Features - Support for the "IR Next" mod. (The only infernal robotics mod was no longer being updated anyway and didn't work on @@ -840,7 +849,7 @@ Built for KSP 1.6.1 names are loaded into Unity for use in user GUIs. [pull request](https://github.com/KSP-KOS/KOS/pull/2481) -### BUG FIXES +### Bug Fixes - Several documentation alterations: [pull request](https://github.com/KSP-KOS/KOS/pull/2442) @@ -884,6 +893,7 @@ Built for KSP 1.6.1 Remote Tech dialog box. [pull request](https://github.com/KSP-KOS/KOS/pull/2480) + ## v1.1.6.3 Folder Path Protection Built for KSP 1.6.1 @@ -892,20 +902,21 @@ This is a patch for protecting against some kinds of file folder access that concerned us for those people using kOS to set up "Twitch Plays kOS" streams. -### BUG FIX: +### Bug Fix: If you currently have a "Twitch Plays kOS" stream, or plan to set up one in the future, PLEASE see this writup: https://github.com/KSP-KOS/KOS/issues/2439 + ## v1.1.6.2 Quickfix (Image Files to DDS) Built for KSP 1.6.1 Nothing but a quick patch to v1.1.6.0. -### BUG FIX +### Bug Fix The v1.1.6.0 update resized a few of the PNG images used in the GUI panels, which exposed a bug that only manifests @@ -919,13 +930,14 @@ DDS ourselves and shipping them that way, we bypass this problem because the user's own graphics drivers aren't responsible for doing the conversion. + ## v1.1.6.1 Quickfix (MAXTHRUST air pressure) Built for KSP 1.6.1 Nothing but a quick patch to v1.1.6.0. -### BUG FIX +### Bug Fix v1.1.6.1 had a flaw in MAXTHRUST, AVAILABLETHRUST, and engine ISP calculations that always calculated them @@ -933,6 +945,7 @@ as if your ship was in vacuum even when it's not. This was deemed an important enough problem to warrant a quick-fix release. + ## v1.1.6.0 It's been too long without a release. Built for KSP 1.6.1 @@ -947,12 +960,12 @@ This release incorporates 50 separate Pull Requests from many individuals. As always, thanks to everyone who contributed over the last year. (Has it really been that long? Almost.) -### BREAKING CHANGES: +### Breaking Changes: (None that we know of, but this is a big update so we could have missed something.) -### BUG FIXES: +### Bug Fixes: - Was reading POSITIONAT() from the wrong orbit patch when getting a prediction for the moment when a patch transition should occur. @@ -1045,7 +1058,7 @@ something.) - Fix: OrbitInfo:TOSTRING now prints the body name properly. [pull request](https://github.com/KSP-KOS/KOS/pull/2408) -### NEW FEATURES: +### New Features: - Made several of the string parameters to GUI widgets optional. [pull request](https://github.com/KSP-KOS/KOS/pull/2293) @@ -1084,6 +1097,7 @@ something.) form a smaller download ZIP). [pull request](https://github.com/KSP-KOS/KOS/pull/2389) + ## v1.1.5.2 Basic Compatibilty for KSP 1.4.1 Built for KSP 1.4.1 @@ -1093,12 +1107,13 @@ KSP 1.4.1, with the few changes that were needed to keep it working, and whatever bug fixes happened to already be implemented when when KSP 1.4.1 came out. -### BUG FIXES: +### Bug Fixes: - Callbacks where the delegate was created using :BIND now work. (Thanks to firda-cze for finding and fixing the problem.) [pull request](https://github.com/KSP-KOS/KOS/pull/2238) + ## v1.1.5.0 HotFix for nested function scope. Built for KSP v1.3.1 @@ -1108,13 +1123,13 @@ that was discovered post-release by the users, during the Christmas-NewYears time. The fix was quick but release was delayed for after the holidays. -### BREAKING CHANGES: +### Breaking Changes: None that we know of. This change shouldn't even require recompiling KSM files, presuming you had them recompiled already for v1.1.4.0. -### BUG FIXES: +### Bug Fixes: - The default scope for ``declare function`` when you say neither ``local`` nor ``global``, was always defaulting to ``global`` @@ -1136,6 +1151,7 @@ already for v1.1.4.0. move had happened.) It is fixed now. [pull request](https://github.com/KSP-KOS/KOS/pull/2205) + ## v1.1.4.0 Does faster compilation break a work flow? Built for KSP v1.3.1 @@ -1147,7 +1163,7 @@ goal was to reduce the burden kOS causes to the physics rate of the game, and consequently also allow tech tree scaled performance by era for the kOS computer parts themselves (slow at first, faster later). -### BREAKING CHANGES: +### Breaking Changes: - If you use the compiled script feature **YOU MUST RECOMPILE ALL KSM FILES, USING KSM FILES COMPILED IN A PREVIOUS VERSION WILL RESULT IN AN ERROR.** @@ -1176,7 +1192,7 @@ for the kOS computer parts themselves (slow at first, faster later). (You probably weren't relying on this buggy behavior before, but if you were, this fix will break your script.) -### NEW FEATURES: +### New Features: - **File scope**: Previously, kerboscript did not wrap program files in their own local scope. (Declaring a ``local`` in a file had @@ -1190,7 +1206,7 @@ for the kOS computer parts themselves (slow at first, faster later). the ``local`` keyword in the function declaration to make that happen. [pull request](https://github.com/KSP-KOS/KOS/pull/2157) -### OPTIMIZATIONS: +### Optimizations: - The regular expression syntax used to compile programs has been heavily modified to speed up file parsing using start string anchors and eliminating @@ -1218,7 +1234,7 @@ for the kOS computer parts themselves (slow at first, faster later). [pull request](https://github.com/KSP-KOS/KOS/pull/2148) [pull request](https://github.com/KSP-KOS/KOS/pull/2150) -### BUG FIXES: +### Bug Fixes: - Functions at the outermost file scope level now have closures that can see the file scope variables properly. Previously they could not (but @@ -1247,27 +1263,29 @@ for the kOS computer parts themselves (slow at first, faster later). - Documentation was added for `part:hasmodule` suffix. [pull request](https://github.com/KSP-KOS/KOS/pull/2202) + ## v1.1.3.2 (for KSP 1.3.1) New KSP version HOTFIX This version is functionally identical to v1.1.3.0, however the binaries are compiled against KSP 1.3.1 to allow it to properly load with the updated version of KSP -### BREAKING CHANGES: +### Breaking Changes: - This build will not work on previous versions of KSP. -### NEW FEATURES: +### New Features: (None) -### BUG FIXES: +### Bug Fixes: (None) + ## v1.1.3.1 (for KSP 1.2.2) Backward compatibility version of v1.1.3.0 -### Only use if you are stuck on KSP 1.2.2. +### Only Use If You Are Stuck On Ksp 1.2.2. If you are on KSP 1.3, use kOS v1.1.3.0 instead of this one. This version *will fail* if you use it on KSP 1.3. @@ -1278,6 +1296,7 @@ was removed, and it was re-compiled against KSP 1.2.2 libraries. (The incentive to make such a release available was mostly because Realism Overhaul typically stays a version behind for quite a while). + ## v1.1.3.0 (for KSP 1.3) Bug Swatting Release For this release we instituted a rule partway through that only bug fixes @@ -1285,11 +1304,11 @@ should be allowed (some of the first few changes were enhancements rather than bug fixes, but after that, its all bug fixes). This was in a vain hope that doing so would get a release out faster than normal. -### BREAKING CHANGES +### Breaking Changes (Can't think of any.) -### NEW FEATURES +### New Features * Terminal input using any Unicode character, not just ASCII. (Technically not a new feature, but a bug fix to a feature @@ -1299,7 +1318,7 @@ hope that doing so would get a release out faster than normal. * New StartTracking suffix for "unknown objects" (asteroids). [pull request](https://github.com/KSP-KOS/KOS/pull/2077) -### BUG FIXES +### Bug Fixes * A large refactor of how the various flight control methods track which vessel they control. This appears to have fixed a lot of @@ -1362,6 +1381,7 @@ hope that doing so would get a release out faster than normal. exist a kOS part loaded into the scene. [pull request](https://github.com/KSP-KOS/KOS/pull/2058) + ## v1.1.2 (for KSP 1.3) No change - just fixing version. There was a version number problem in our CKAN files that @@ -1369,6 +1389,7 @@ required us to issue an update and doing so required a version number increase. There is no other change in this version. + ## v1.1.1 (for KSP 1.3) KSP 1.3 compatibility recompile. No known intentional changes other than editing a few method calls @@ -1377,9 +1398,10 @@ to the KSP API to make it work with KSP 1.3. Also updated the included ModuleManager to version 2.8, which is a necessity for compatibility with KSP 1.3. + ## v1.1.0 (for KSP 1.2.2) Ewww, everything's GUI. -### BREAKING CHANGES +### Breaking Changes * Because of changes to make the terminal use a real font from your OS, we had to obsolete TERMINAL:CHARWIDTH. You can only choose TERMINAL:CHARHEIGHT. @@ -1392,7 +1414,7 @@ is a necessity for compatibility with KSP 1.3. (It was in KiloPascals even though the documentation claimed it was in atmospheres. Now it's in atmospheres to agree with the documentation.) -### NEW FEATURES +### New Features * **GUI-making toolkit**. You are now able to make a GUI window that your kerboscript code can control, including buttons, sliders, toggles, checkboxes, etc. It uses the @@ -1433,7 +1455,7 @@ is a necessity for compatibility with KSP 1.3. * **Get a LATLNG for some other body than the current one.** [pull request](https://github.com/KSP-KOS/KOS/pull/2001), documentation: search for "GEOPOSITIONLATLNG" (http://ksp-kos.github.io/KOS_DOC/structures/celestial_bodies/body.html#method:BODY:GEOPOSITIONLATLNG). -### BUG FIXES +### Bug Fixes * Fix kOS toolbar button sometimes failing to appear in Blizzy Toolbar Mod. [pull request](https://github.com/KSP-KOS/KOS/pull/1902) @@ -1475,6 +1497,7 @@ is a necessity for compatibility with KSP 1.3. or two vessels join together, or a vessel blows up. [pull request](https://github.com/KSP-KOS/KOS/pull/2010) + ## v1.0.3 (for KSP 1.2.2) Make a little noise! (Part Deux) This release is nearly identical to v1.0.2, except that it was compiled against @@ -1483,9 +1506,10 @@ have been advanced. While it appears that kOS v1.0.2 is compatible with KSP v1. we wanted to err on the side of caution and provide an explicitly compatible release. Please review the changelog for v1.0.2 if you are upgrading from an earlier version. + ## v1.0.2 (for KSP 1.2.1) Make a little noise! -### BREAKING CHANGES +### Breaking Changes * As always, if you use the compiler feature to make KSM files, you should recompile the KSM files when using a new release of kOS or results will @@ -1504,7 +1528,7 @@ Please review the changelog for v1.0.2 if you are upgrading from an earlier vers of kOS, but is aligned with the current UI design. Previous versions also aligned with the KSP UI, but the UI mechanic was updated with KSP 1.2.x -### NEW FEATURES +### New Features * Official release for KSP version 1.2.1! * kOS now has a procedural sound system! You can use it to play customized error @@ -1528,7 +1552,7 @@ Please review the changelog for v1.0.2 if you are upgrading from an earlier vers recompile all KSM files. [pull request](https://github.com/KSP-KOS/KOS/pull/1858) -### BUG FIXES +### Bug Fixes * Fix for throwing errors when another mod uses dynamic assembly [pull request](https://github.com/KSP-KOS/KOS/pull/1851) @@ -1552,8 +1576,10 @@ Please review the changelog for v1.0.2 if you are upgrading from an earlier vers unlock functions too [pull request](https://github.com/KSP-KOS/KOS/pull/1889) + ## v1.0.1 (for KSP 1.1.3) Let's take some input! + ## Why 1.1.3 and not 1.2? We wanted to get the last bug fixes and new features into the hands of any users @@ -1719,6 +1745,7 @@ explanations for the new features. (order, etc) doesn't matter. * KSP 1.1 now allows you to lock the gimbals for the three pitch/yaw/roll axes individually on engines, as 3 different settings, rather than just lock the whole gimbal for all directions. kOS now lets you access this ability (https://github.com/KSP-KOS/KOS/pull/1622). + ## v0.20.0 KSP 1.1 Hype! This release is functionally identical to v0.19.3, it is recompiled against the @@ -1787,6 +1814,7 @@ KSP 1.1 release binaries (build 1230) https://github.com/KSP-KOS/KOS/pull/1823, and https://github.com/KSP-KOS/KOS/pull/1834) + ## v1.0.0 (for KSP 1.1.3) Hey let's stop calling it Beta. * In some cases (https://github.com/KSP-KOS/KOS/issues/1661) the program @@ -1819,6 +1847,7 @@ KSP 1.1 release binaries (build 1230) documentation claimed they would. (https://github.com/KSP-KOS/KOS/issues/1623) + ## v0.20.1 KSP 1.1.2 and bug repair The biggest reason for this release is to handle two game-breaking @@ -1842,6 +1871,7 @@ related to that "remit" are not in this release. * [KSP1.1] Removing a node leaves an artifact (https://github.com/KSP-KOS/KOS/issues/1572 https://github.com/KSP-KOS/KOS/issues/1576) * [KSP1.1] Toolbar button doesn't display (https://github.com/KSP-KOS/KOS/issues/1573 https://github.com/KSP-KOS/KOS/issues/1569) + ## v0.19.3 Last (intended) 1.0.5 update. (This is the last planned update to work with KSP 1.0.5 unless @@ -1854,6 +1884,7 @@ it breaks something big that requires an emergency patch.) * You can now use lock objects with the same identifier from within compiled scripts, like `lock throttle...` (https://github.com/KSP-KOS/KOS/issues/691 https://github.com/KSP-KOS/KOS/issues/1253 https://github.com/KSP-KOS/KOS/issues/1557 https://github.com/KSP-KOS/KOS/pull/1561) * The script parsing logic has been updated to improve compile times by roughly 50% (https://github.com/KSP-KOS/KOS/pull/1566) + ## v0.19.2 This release is here primarily to fix a problem that made @@ -1873,6 +1904,7 @@ configuration panel. of a proper error message about it from kOS, kOS got stuck in recursion.) + ## v0.19.1 This release is a patch to v0.19.0, fixing some things @@ -1899,6 +1931,7 @@ ready yet when 0.19.0 was released. * Improve steering when small control magnitudes are required. (https://github.com/KSP-KOS/KOS/issues/1512) + ## v0.19.0 * Numerous additional checks to prevent control of other vessels the kOS CPU isn't attached to. @@ -1960,6 +1993,7 @@ Chris Woerz (erendrake) https://github.com/erendrake (repository owner) (name not public in github profile) (tdw89) https://github.com/TDW89 Philip Kin (pipakin) https://github.com/pipakin + ## v0.18.2 @@ -1988,6 +2022,7 @@ Philip Kin (pipakin) https://github.com/pipakin * kOS can now trigger module events with RemoteTech installed and no KSC connection ( https://github.com/RemoteTechnologiesGroup/RemoteTech/issues/437 ) * Fixed handling of multiple thrust/gimbal transforms and corrected some of their directions ( https://github.com/KSP-KOS/KOS/issues/1259 ) + ## v0.18.1 @@ -2002,6 +2037,7 @@ Philip Kin (pipakin) https://github.com/pipakin * Fixed a issue where the effect of the Kd parameter of PIDLoop was having a reversed effect #1229 * Fixes an issue where NO_FLOW resources ( eg SolidFuel ) were not reporting correctly #1231 + ## v0.18 @@ -2054,6 +2090,7 @@ Philip Kin (pipakin) https://github.com/pipakin * Better detection of arg/param matching. ( https://github.com/KSP-KOS/KOS/issues/1107 ) * Doing PRINT AT that runs offscreen threw an error ( https://github.com/KSP-KOS/KOS/issues/813 ) + ## v0.17.3 @@ -2116,6 +2153,7 @@ Philip Kin (pipakin) https://github.com/pipakin * electricity consumption is better behaved * setting the target to an empty string will always unset target + ## v0.17.2 @@ -2130,6 +2168,7 @@ Philip Kin (pipakin) https://github.com/pipakin * fixes keyword lexxing + ## v0.17.1 @@ -2145,6 +2184,7 @@ Philip Kin (pipakin) https://github.com/pipakin * Fixed bug with setting KAC Alarm action to correct value * Fixed some unneeded log spamming + ## v0.17.0 @@ -2245,6 +2285,7 @@ http://ksp-kos.github.io/KOS_DOC/changes.html has local scope to just that loop, meaning it stops existing after the loop is done and you can't use it outside the loop's body. + ## v0.16.2 ##HOTFIX @@ -2253,12 +2294,14 @@ http://ksp-kos.github.io/KOS_DOC/changes.html * Fixes #610 Print AT draws in the wrong place on telnet after clearscreen. * Fixes #612 doesn't update telnet screen when cur command is longer than prev and you up-arrow + ## v0.16.1 ##HOTFIX this fixes #603 the mess that I made of the Node structure, thanks Tabris from the forums for bringing this to our attention. + ## v0.16.0 ### Breaking @@ -2309,12 +2352,14 @@ this fixes #603 the mess that I made of the Node structure, thanks Tabris from t * Fixes #580 - RT "signal lost. waiting to re-aquire signal" check previously disallowed manned terminal use. Now it only disables the terminal if the vessel is unmanned. * Fixes #344 - KOSArgumentMismatchException reported wrong arg number (i.e. it would claim your 3rd argument is wrong when it's really your 1st argument). Fixed. + ## v0.15.6 * Fixes RemoteTech Integration * Structures can now be correctly ==, <> and concatenated with + * STAGE:RESOURCE[?]:CAPACITY is now spell correctly :P + ## v0.15.5 The KSP 0.90 compatibility release. @@ -2354,6 +2399,7 @@ to make sure everything works.) * Bundling a newer version of ModuleManager * Better use of the "skin" system for the app panel. Should see no obvious effect on the surface. + ## v0.15.4 ###BREAKING CHANGES @@ -2371,6 +2417,7 @@ to make sure everything works.) * Issue #424: additional bootfile suffix protection * Issue #429: files sent to persistence file no longer get truncated + ## v0.15.3 BugFixes: @@ -2380,6 +2427,7 @@ BugFixes: * Issue #405: Equality operator is broken for Wrapped structure objects. * Issue #393: Files on local volume do not persist through save/load. + ## v0.15.2 BugFixes: @@ -2389,6 +2437,7 @@ BugFixes: * Added :PORTFACING to docking ports that should always have the correct facing for the port itself #398 * BREAKING: Partfacing should now come out of the top rather than the side #394 + ## v0.15.1 BugFixes: @@ -2396,6 +2445,7 @@ BugFixes: * All Lists have suffixes again * in the config panel, IPU no longer gets stuck at 50 + ## v0.15 @@ -2495,6 +2545,7 @@ Please follow the links to see the full information on the new features. * KSP AVC Support * Added Body:RotationalPeroid + ## v0.14 ### New Hotness @@ -2527,10 +2578,12 @@ Please follow the links to see the full information on the new features. * SHIP:SENSORS were reading the wrong ship's sensors sometimes in multi-ship scenarios. (GIthub issue #218 ) * Integer and Floating point numbers were not quite properly interchangable like they were meant to be. (Github issue #209) + ## v0.13.1 * Fixed an issue with Dependancies that kept kOS modules from registering + ## v0.13 @@ -2591,6 +2644,7 @@ Please follow the links to see the full information on the new features. * ORBIT:TRANSITION returns a string type that you can actually use. * Comments in code dont cause data loss on load/save + ## v0.12.1 BREAKING: DOCKINGPORT:ORIENTATION is now DOCKINGPORT:FACING @@ -2609,6 +2663,7 @@ BREAKING: DOCKINGPORT:ORIENTATION is now DOCKINGPORT:FACING * Added a new PRESERVE keyword for repeating a trigger. * all active triggers are removed when a script is finished. + ## v0.12.0 * the aforementioned new parser by @marianoapp with all of its speed improvements and other goodies. @@ -2641,6 +2696,7 @@ Bug fixes * ETA:TRANSITION returns the correct time. * Better handling of types. + ## v0.11.1 * BREAKING: Disk Space is now defined by the kOS part, existing missions might have the available space reduced to 500. (whaaw) diff --git a/Resources/GameData/kOS/kOS.version b/Resources/GameData/kOS/kOS.version index 737e3c974..096640568 100644 --- a/Resources/GameData/kOS/kOS.version +++ b/Resources/GameData/kOS/kOS.version @@ -1,28 +1,28 @@ { "NAME": "kOS", "URL": "https://raw.githubusercontent.com/KSP-KOS/KOS/master/Resources/GameData/kOS/kOS.version", - "DOWNLOAD": "TODO - when release...", + "DOWNLOAD": "https://github.com/KSP-KOS/KOS/releases", "CHANGE_LOG_URL": "https://raw.githubusercontent.com/KSP-KOS/KOS/master/CHANGELOG.md", "GITHUB": { - "USERNAME":"KSP-KOS", - "REPOSITORY":"KOS", - "ALLOW_PRE_RELEASE":false + "USERNAME": "KSP-KOS", + "REPOSITORY": "KOS", + "ALLOW_PRE_RELEASE": false }, "VERSION": { "MAJOR": 1, "MINOR": 4, - "PATCH": 0, + "PATCH": 1, "BUILD": 0 }, "KSP_VERSION": { "MAJOR": 1, "MINOR": 12, - "PATCH": 1 + "PATCH": 5 }, "KSP_VERSION_MIN": { "MAJOR": 1, "MINOR": 12, - "PATCH": 0 + "PATCH": 3 }, "KSP_VERSION_MAX": { "MAJOR": 1, From ea493b293a9e19ce69fd94e31287bac16472da19 Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 16:55:05 +0000 Subject: [PATCH 06/11] Removed error handling of type conversion Wasn't needed. We don't check for distance == 0, as someone could purposefully push 0 to do a NOP --- src/kOS.Safe/Compilation/Opcode.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/kOS.Safe/Compilation/Opcode.cs b/src/kOS.Safe/Compilation/Opcode.cs index ea6f71c53..d7a65a8d1 100644 --- a/src/kOS.Safe/Compilation/Opcode.cs +++ b/src/kOS.Safe/Compilation/Opcode.cs @@ -1120,8 +1120,6 @@ public override void Execute(ICpu cpu) { object popval = cpu.PopValueArgument(); int distance = Convert.ToInt32(popval); - if (distance == null) - throw new KOSCastException(popval.GetType(), typeof(ScalarIntValue)); DeltaInstructionPointer = distance; } } From 8ba93f300ce526f8dfa3281a9f7094444043724a Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 17:13:03 +0000 Subject: [PATCH 07/11] refix CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4fd97e1d4..080c2ce7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # kOS Mod Changelog -## 1.4.1.0 - 2025-10-11 +## Unreleased ### New Features @@ -2967,4 +2967,4 @@ Bug fixes - Terminal created - KerboScript designed and implemented - VAB Part created -- Flight stats and bindings created \ No newline at end of file +- Flight stats and bindings created From b9554515a2128bcad5111c2cc3061efddab1f4d8 Mon Sep 17 00:00:00 2001 From: github-actions Date: Sat, 11 Oct 2025 17:14:17 +0000 Subject: [PATCH 08/11] bump version to 1.4.0.1 --- CHANGELOG.md | 4 ++-- Resources/GameData/kOS/kOS.version | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 080c2ce7b..a984afe60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # kOS Mod Changelog -## Unreleased +## 1.4.0.1 - 2025-10-11 ### New Features @@ -2967,4 +2967,4 @@ Bug fixes - Terminal created - KerboScript designed and implemented - VAB Part created -- Flight stats and bindings created +- Flight stats and bindings created \ No newline at end of file diff --git a/Resources/GameData/kOS/kOS.version b/Resources/GameData/kOS/kOS.version index 096640568..cc37127b9 100644 --- a/Resources/GameData/kOS/kOS.version +++ b/Resources/GameData/kOS/kOS.version @@ -11,8 +11,8 @@ "VERSION": { "MAJOR": 1, "MINOR": 4, - "PATCH": 1, - "BUILD": 0 + "PATCH": 0, + "BUILD": 1 }, "KSP_VERSION": { "MAJOR": 1, From e6357949dba994fafcb43556e18026c6a50fbe98 Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 17:17:46 +0000 Subject: [PATCH 09/11] Fix CHANGELOG.md after release --- CHANGELOG.md | 154 ++++++++++++++++----------------------------------- 1 file changed, 49 insertions(+), 105 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a984afe60..4b9450d35 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,8 @@ # kOS Mod Changelog -## 1.4.0.1 - 2025-10-11 +## Unreleased -### New Features +### NEW FEATURES - New crewmember suffixes [commit](https://github.com/KSP-KOS/KOS/commit/8b6246d328f376f431df11f32edadde3d4db7035) - Added `COM` suffix to parts to get the accurate center of mass (thanks SofieBrink) [commit](https://github.com/KSP-KOS/KOS/commit/496bf3fe7e29b4b8917ec214a6d9d8ab3780cd46) @@ -10,12 +10,12 @@ - Integrated KSPBuildTools for easier local setup and automated build process [commit](https://github.com/KSP-KOS/KOS/commit/7bde357c9d23c60f95f1d64b0490724a4b1544a4) - Wheelsteering fixes and improvements (thanks @sug44) [commit](https://github.com/KSP-KOS/KOS/commit/cb3eb98a1cddfcf5255b61200338590c7c92dfaa) -### Performance Improvements +### PERFORMANCE IMPROVEMENTS - KOSNameTag modules no longer update during flight [commit](https://github.com/KSP-KOS/KOS/commit/6e9388fdedefc9f4b1287817036b6d4bbe5243df) - Prevent KOSVesselModule from updating for unloaded vessels [commit](https://github.com/KSP-KOS/KOS/commit/fb88b460117fc4f048c9fb3b451cb8c2862e2316) -### Bug Fixes +### BUG FIXES - Documentation: renamed `gui` to `my_gui` to avoid conflict with global [commit](https://github.com/KSP-KOS/KOS/commit/bc2d2aad469d939b549e73a54b2f6d2f2741f376) - Fixed an issue where probe cores in RP-1 would get incorrect cost and mass [commit 1](https://github.com/KSP-KOS/KOS/commit/96baa4836bf16ab1bf1b67524c497ea7e0b8db87) [commit 2](https://github.com/KSP-KOS/KOS/commit/142a68c0ef511cacafaf9badc083ee735066cc56) @@ -31,7 +31,6 @@ - `stage:number` suffix now works correctly on non-active vessels (thanks @sug44) [commit](https://github.com/KSP-KOS/KOS/commit/c1af606dd7950bc9e37dfe8c591f379598cb6870) - Several functions that return a strongly typed ListValue now return the kos-friendly ListValue (thanks @sug44) [commit](https://github.com/KSP-KOS/KOS/commit/b9aad87ab00036a0cd8dcdc632690709fc85157e) - ## v1.4.0.0 - Catch-up for over a year of little things It's been 3 years since the last kOS release, and a lot of @@ -47,7 +46,7 @@ overriding the complaints of CKAN for trying to use kOS on KSP 1.11.x or KSP 1.12.x. (Which it worked for but CKAN didn't know that. Now it should know that.) -### Breaking Changes +### BREAKING CHANGES - The bugfix to prevent a local variable from clobbering a builtin name could make existing scripts have to rename @@ -63,7 +62,7 @@ but CKAN didn't know that. Now it should know that.) if you really want to let yourself do that. [pull request](https://github.com/KSP-KOS/KOS/pull/3016) -### New Features +### NEW FEATURES - kOS parts are now findable by typing "kos" into the VAB's part search bar. @@ -114,7 +113,7 @@ but CKAN didn't know that. Now it should know that.) per byte). [pull request](https://github.com/KSP-KOS/KOS/pull/2986) -### Bug Fixes +### BUG FIXES - Documentation: Many small one-line documentation fixes that are too numerous to mention all of them one by one. @@ -204,7 +203,6 @@ but CKAN didn't know that. Now it should know that.) - Made the doc generation scripts work on python 3.x [pull request](https://github.com/KSP-KOS/KOS/issues/3069) - ## v1.3.2.0 - Don't Steer Me wronger A quick patch to v1.3.0.0 that fixes issue #2857 that would @@ -222,14 +220,12 @@ Normally one bug fix wouldn't warrant a release, but this bug was caused by changes in v1.3.0.0, and the consumed ignition was unfair. - ## v1.3.1.0 - Don't Steer Me Wrong, this time A quick patch to v1.3.0.0 that fixed issue #2850 where one or two places in the code still used TimeSpan where they were supposed to have been changed to use TimeStamp. - ## v1.3.0.0 - Don't Steer Me Wrong There's a lot of small changes over the last year that have added @@ -247,7 +243,7 @@ is doing. As always, recompile KSM files with this release. Especially as there was an important KSM bugfix. -### Breaking Changes +### BREAKING CHANGES - ``TimeSpan`` used to mean a fixed stamp in time (the name was not really accurate). Now there are two types, ``TimeStamp`` and @@ -291,7 +287,7 @@ was an important KSM bugfix. escaped quote char and is no longer literally a backslash and quote mark. -### New Features +### NEW FEATURES - Maneuver Nodes can now be constructed with either ETA time or with UT time, and you can read their time either as UT (``:TIME``) @@ -409,7 +405,7 @@ was an important KSM bugfix. (Thanks ThunderousEcho) [pull request](https://github.com/KSP-KOS/KOS/pull/2650) -### Bug Fixes +### BUG FIXES - Fixed: Kerbal Alarm Clock alarms had no ToString() so when you printed them you saw nothing. Now they show the alarm info. @@ -535,7 +531,6 @@ was an important KSM bugfix. it says zero instead). [pull request](https://github.com/KSP-KOS/KOS/pull/2646) - ## v1.2.1 Pathsep fix v1.2'S DDS fix had a backslash path separator that broke it on UNIX @@ -547,19 +542,18 @@ but not do a similar mapping to make UNIX work with the "wrong" separator, so UNIX separators are the only cross-platform path separator to use.) - ## v1.2 Unity Update This update is mostly to make kOS compatible with KSP 1.8.x, which started using a newer version of Unity, and a newer version of .Net, which have some consequent changes in the code and build process. -### Breaking Changes +### BREAKING CHANGES None that are known about, other than the usual reminder that KSM files need a recompile after every version update of kOS. -### New Features +### NEW FEATURES * Now forces both the toolbar window and the telnet welcome menu to list the kOS CPUs in a consistent unchanging sort order. @@ -613,7 +607,7 @@ KSM files need a recompile after every version update of kOS. [issue](https://github.com/KSP-KOS/KOS/issues/2565) [pull request](https://github.com/KSP-KOS/KOS/pull/2630) -### Bug Fixes +### BUG FIXES * Bound variables like SHIP, UP, VELOCITY, etc stopped existing in the KSP 1.8.x update. This was because kOS makes use of @@ -647,14 +641,13 @@ KSM files need a recompile after every version update of kOS. ((No issue - SlimJimDodger contributed PR out of the blue.)) [pull request](https://github.com/KSP-KOS/KOS/pull/2637) - ## v1.1.9.0 Breaking Bounds This update is a mix of new features, mostly -### Breaking Changes +### BREAKING CHANGES -### New Features +### NEW FEATURES - Bounding box information for parts and for the vessel as a whole is now exposed for scripts to read. @@ -679,7 +672,7 @@ This update is a mix of new features, mostly - Added support to read more atmospheric values from KSP. [pull request](https://github.com/KSP-KOS/KOS/pull/2557). -### Bug Fixes +### BUG FIXES - TimeSpan now peeks at the KSP game to learn its notion of how long a day is, and how long a year is, rather than hardcoding @@ -718,7 +711,6 @@ This update is a mix of new features, mostly focus rules for widgets, thus they won't 'steal focus' as much. [pull request](https://github.com/KSP-KOS/KOS/pull/2577). - ## v1.1.8.0 Engines and KSP 1.7 compatibility Mostly this was motivated by a need to get an officially @@ -729,14 +721,14 @@ version worked on KSP 1.7, it wasn't officially compiled for KSP Along the way there were one or two bug fixes and documenation cleanups. -### Breaking Changes +### BREAKING CHANGES - Not that we know of, unless you were unaware that some of the bugs fixed were in fact bugs and had written a script to expect that behaviour as normal. (Read the bug fixes below to be sure.) -### New Features +### NEW FEATURES - Support of multiple-at-the-same-time engines that exist in some mods (but not in stock, as far as we can tell). Stock @@ -756,7 +748,7 @@ cleanups. **Special thanks to first time contributer RCrockford for doing all the legwork on this**. -### Bug Fixes +### BUG FIXES - The behaviour of ``LIST ENGINES`` in regards to multi-mode engines was restored to what it was supposed to have been. Becuase of a @@ -815,7 +807,6 @@ cleanups. addition to claiming to be a ModuleDeployableSolarPanel. [pull request](https://github.com/KSP-KOS/KOS/pull/2504) - ## v1.1.7.0 Lets get Serial Mostly fixes. The motivation for this release is to get fixes @@ -823,12 +814,12 @@ out to the public before KSP 1.7 comes. Built for KSP 1.6.1 -### Breaking Changes +### BREAKING CHANGES - Compatibility for the old Infernal Robotics is officially removed in favor of support for the "IR Next" mod. -### New Features +### NEW FEATURES - Support for the "IR Next" mod. (The only infernal robotics mod was no longer being updated anyway and didn't work on @@ -849,7 +840,7 @@ Built for KSP 1.6.1 names are loaded into Unity for use in user GUIs. [pull request](https://github.com/KSP-KOS/KOS/pull/2481) -### Bug Fixes +### BUG FIXES - Several documentation alterations: [pull request](https://github.com/KSP-KOS/KOS/pull/2442) @@ -893,7 +884,6 @@ Built for KSP 1.6.1 Remote Tech dialog box. [pull request](https://github.com/KSP-KOS/KOS/pull/2480) - ## v1.1.6.3 Folder Path Protection Built for KSP 1.6.1 @@ -902,21 +892,20 @@ This is a patch for protecting against some kinds of file folder access that concerned us for those people using kOS to set up "Twitch Plays kOS" streams. -### Bug Fix: +### BUG FIX: If you currently have a "Twitch Plays kOS" stream, or plan to set up one in the future, PLEASE see this writup: https://github.com/KSP-KOS/KOS/issues/2439 - ## v1.1.6.2 Quickfix (Image Files to DDS) Built for KSP 1.6.1 Nothing but a quick patch to v1.1.6.0. -### Bug Fix +### BUG FIX The v1.1.6.0 update resized a few of the PNG images used in the GUI panels, which exposed a bug that only manifests @@ -930,14 +919,13 @@ DDS ourselves and shipping them that way, we bypass this problem because the user's own graphics drivers aren't responsible for doing the conversion. - ## v1.1.6.1 Quickfix (MAXTHRUST air pressure) Built for KSP 1.6.1 Nothing but a quick patch to v1.1.6.0. -### Bug Fix +### BUG FIX v1.1.6.1 had a flaw in MAXTHRUST, AVAILABLETHRUST, and engine ISP calculations that always calculated them @@ -945,7 +933,6 @@ as if your ship was in vacuum even when it's not. This was deemed an important enough problem to warrant a quick-fix release. - ## v1.1.6.0 It's been too long without a release. Built for KSP 1.6.1 @@ -960,12 +947,12 @@ This release incorporates 50 separate Pull Requests from many individuals. As always, thanks to everyone who contributed over the last year. (Has it really been that long? Almost.) -### Breaking Changes: +### BREAKING CHANGES: (None that we know of, but this is a big update so we could have missed something.) -### Bug Fixes: +### BUG FIXES: - Was reading POSITIONAT() from the wrong orbit patch when getting a prediction for the moment when a patch transition should occur. @@ -1058,7 +1045,7 @@ something.) - Fix: OrbitInfo:TOSTRING now prints the body name properly. [pull request](https://github.com/KSP-KOS/KOS/pull/2408) -### New Features: +### NEW FEATURES: - Made several of the string parameters to GUI widgets optional. [pull request](https://github.com/KSP-KOS/KOS/pull/2293) @@ -1097,7 +1084,6 @@ something.) form a smaller download ZIP). [pull request](https://github.com/KSP-KOS/KOS/pull/2389) - ## v1.1.5.2 Basic Compatibilty for KSP 1.4.1 Built for KSP 1.4.1 @@ -1107,13 +1093,12 @@ KSP 1.4.1, with the few changes that were needed to keep it working, and whatever bug fixes happened to already be implemented when when KSP 1.4.1 came out. -### Bug Fixes: +### BUG FIXES: - Callbacks where the delegate was created using :BIND now work. (Thanks to firda-cze for finding and fixing the problem.) [pull request](https://github.com/KSP-KOS/KOS/pull/2238) - ## v1.1.5.0 HotFix for nested function scope. Built for KSP v1.3.1 @@ -1123,13 +1108,13 @@ that was discovered post-release by the users, during the Christmas-NewYears time. The fix was quick but release was delayed for after the holidays. -### Breaking Changes: +### BREAKING CHANGES: None that we know of. This change shouldn't even require recompiling KSM files, presuming you had them recompiled already for v1.1.4.0. -### Bug Fixes: +### BUG FIXES: - The default scope for ``declare function`` when you say neither ``local`` nor ``global``, was always defaulting to ``global`` @@ -1151,7 +1136,6 @@ already for v1.1.4.0. move had happened.) It is fixed now. [pull request](https://github.com/KSP-KOS/KOS/pull/2205) - ## v1.1.4.0 Does faster compilation break a work flow? Built for KSP v1.3.1 @@ -1163,7 +1147,7 @@ goal was to reduce the burden kOS causes to the physics rate of the game, and consequently also allow tech tree scaled performance by era for the kOS computer parts themselves (slow at first, faster later). -### Breaking Changes: +### BREAKING CHANGES: - If you use the compiled script feature **YOU MUST RECOMPILE ALL KSM FILES, USING KSM FILES COMPILED IN A PREVIOUS VERSION WILL RESULT IN AN ERROR.** @@ -1192,7 +1176,7 @@ for the kOS computer parts themselves (slow at first, faster later). (You probably weren't relying on this buggy behavior before, but if you were, this fix will break your script.) -### New Features: +### NEW FEATURES: - **File scope**: Previously, kerboscript did not wrap program files in their own local scope. (Declaring a ``local`` in a file had @@ -1206,7 +1190,7 @@ for the kOS computer parts themselves (slow at first, faster later). the ``local`` keyword in the function declaration to make that happen. [pull request](https://github.com/KSP-KOS/KOS/pull/2157) -### Optimizations: +### OPTIMIZATIONS: - The regular expression syntax used to compile programs has been heavily modified to speed up file parsing using start string anchors and eliminating @@ -1234,7 +1218,7 @@ for the kOS computer parts themselves (slow at first, faster later). [pull request](https://github.com/KSP-KOS/KOS/pull/2148) [pull request](https://github.com/KSP-KOS/KOS/pull/2150) -### Bug Fixes: +### BUG FIXES: - Functions at the outermost file scope level now have closures that can see the file scope variables properly. Previously they could not (but @@ -1263,29 +1247,27 @@ for the kOS computer parts themselves (slow at first, faster later). - Documentation was added for `part:hasmodule` suffix. [pull request](https://github.com/KSP-KOS/KOS/pull/2202) - ## v1.1.3.2 (for KSP 1.3.1) New KSP version HOTFIX This version is functionally identical to v1.1.3.0, however the binaries are compiled against KSP 1.3.1 to allow it to properly load with the updated version of KSP -### Breaking Changes: +### BREAKING CHANGES: - This build will not work on previous versions of KSP. -### New Features: +### NEW FEATURES: (None) -### Bug Fixes: +### BUG FIXES: (None) - ## v1.1.3.1 (for KSP 1.2.2) Backward compatibility version of v1.1.3.0 -### Only Use If You Are Stuck On Ksp 1.2.2. +### Only use if you are stuck on KSP 1.2.2. If you are on KSP 1.3, use kOS v1.1.3.0 instead of this one. This version *will fail* if you use it on KSP 1.3. @@ -1296,7 +1278,6 @@ was removed, and it was re-compiled against KSP 1.2.2 libraries. (The incentive to make such a release available was mostly because Realism Overhaul typically stays a version behind for quite a while). - ## v1.1.3.0 (for KSP 1.3) Bug Swatting Release For this release we instituted a rule partway through that only bug fixes @@ -1304,11 +1285,11 @@ should be allowed (some of the first few changes were enhancements rather than bug fixes, but after that, its all bug fixes). This was in a vain hope that doing so would get a release out faster than normal. -### Breaking Changes +### BREAKING CHANGES (Can't think of any.) -### New Features +### NEW FEATURES * Terminal input using any Unicode character, not just ASCII. (Technically not a new feature, but a bug fix to a feature @@ -1318,7 +1299,7 @@ hope that doing so would get a release out faster than normal. * New StartTracking suffix for "unknown objects" (asteroids). [pull request](https://github.com/KSP-KOS/KOS/pull/2077) -### Bug Fixes +### BUG FIXES * A large refactor of how the various flight control methods track which vessel they control. This appears to have fixed a lot of @@ -1381,7 +1362,6 @@ hope that doing so would get a release out faster than normal. exist a kOS part loaded into the scene. [pull request](https://github.com/KSP-KOS/KOS/pull/2058) - ## v1.1.2 (for KSP 1.3) No change - just fixing version. There was a version number problem in our CKAN files that @@ -1389,7 +1369,6 @@ required us to issue an update and doing so required a version number increase. There is no other change in this version. - ## v1.1.1 (for KSP 1.3) KSP 1.3 compatibility recompile. No known intentional changes other than editing a few method calls @@ -1398,10 +1377,9 @@ to the KSP API to make it work with KSP 1.3. Also updated the included ModuleManager to version 2.8, which is a necessity for compatibility with KSP 1.3. - ## v1.1.0 (for KSP 1.2.2) Ewww, everything's GUI. -### Breaking Changes +### BREAKING CHANGES * Because of changes to make the terminal use a real font from your OS, we had to obsolete TERMINAL:CHARWIDTH. You can only choose TERMINAL:CHARHEIGHT. @@ -1414,7 +1392,7 @@ is a necessity for compatibility with KSP 1.3. (It was in KiloPascals even though the documentation claimed it was in atmospheres. Now it's in atmospheres to agree with the documentation.) -### New Features +### NEW FEATURES * **GUI-making toolkit**. You are now able to make a GUI window that your kerboscript code can control, including buttons, sliders, toggles, checkboxes, etc. It uses the @@ -1455,7 +1433,7 @@ is a necessity for compatibility with KSP 1.3. * **Get a LATLNG for some other body than the current one.** [pull request](https://github.com/KSP-KOS/KOS/pull/2001), documentation: search for "GEOPOSITIONLATLNG" (http://ksp-kos.github.io/KOS_DOC/structures/celestial_bodies/body.html#method:BODY:GEOPOSITIONLATLNG). -### Bug Fixes +### BUG FIXES * Fix kOS toolbar button sometimes failing to appear in Blizzy Toolbar Mod. [pull request](https://github.com/KSP-KOS/KOS/pull/1902) @@ -1497,7 +1475,6 @@ is a necessity for compatibility with KSP 1.3. or two vessels join together, or a vessel blows up. [pull request](https://github.com/KSP-KOS/KOS/pull/2010) - ## v1.0.3 (for KSP 1.2.2) Make a little noise! (Part Deux) This release is nearly identical to v1.0.2, except that it was compiled against @@ -1506,10 +1483,9 @@ have been advanced. While it appears that kOS v1.0.2 is compatible with KSP v1. we wanted to err on the side of caution and provide an explicitly compatible release. Please review the changelog for v1.0.2 if you are upgrading from an earlier version. - ## v1.0.2 (for KSP 1.2.1) Make a little noise! -### Breaking Changes +### BREAKING CHANGES * As always, if you use the compiler feature to make KSM files, you should recompile the KSM files when using a new release of kOS or results will @@ -1528,7 +1504,7 @@ Please review the changelog for v1.0.2 if you are upgrading from an earlier vers of kOS, but is aligned with the current UI design. Previous versions also aligned with the KSP UI, but the UI mechanic was updated with KSP 1.2.x -### New Features +### NEW FEATURES * Official release for KSP version 1.2.1! * kOS now has a procedural sound system! You can use it to play customized error @@ -1552,7 +1528,7 @@ Please review the changelog for v1.0.2 if you are upgrading from an earlier vers recompile all KSM files. [pull request](https://github.com/KSP-KOS/KOS/pull/1858) -### Bug Fixes +### BUG FIXES * Fix for throwing errors when another mod uses dynamic assembly [pull request](https://github.com/KSP-KOS/KOS/pull/1851) @@ -1576,10 +1552,8 @@ Please review the changelog for v1.0.2 if you are upgrading from an earlier vers unlock functions too [pull request](https://github.com/KSP-KOS/KOS/pull/1889) - ## v1.0.1 (for KSP 1.1.3) Let's take some input! - ## Why 1.1.3 and not 1.2? We wanted to get the last bug fixes and new features into the hands of any users @@ -1745,7 +1719,6 @@ explanations for the new features. (order, etc) doesn't matter. * KSP 1.1 now allows you to lock the gimbals for the three pitch/yaw/roll axes individually on engines, as 3 different settings, rather than just lock the whole gimbal for all directions. kOS now lets you access this ability (https://github.com/KSP-KOS/KOS/pull/1622). - ## v0.20.0 KSP 1.1 Hype! This release is functionally identical to v0.19.3, it is recompiled against the @@ -1814,7 +1787,6 @@ KSP 1.1 release binaries (build 1230) https://github.com/KSP-KOS/KOS/pull/1823, and https://github.com/KSP-KOS/KOS/pull/1834) - ## v1.0.0 (for KSP 1.1.3) Hey let's stop calling it Beta. * In some cases (https://github.com/KSP-KOS/KOS/issues/1661) the program @@ -1847,7 +1819,6 @@ KSP 1.1 release binaries (build 1230) documentation claimed they would. (https://github.com/KSP-KOS/KOS/issues/1623) - ## v0.20.1 KSP 1.1.2 and bug repair The biggest reason for this release is to handle two game-breaking @@ -1871,7 +1842,6 @@ related to that "remit" are not in this release. * [KSP1.1] Removing a node leaves an artifact (https://github.com/KSP-KOS/KOS/issues/1572 https://github.com/KSP-KOS/KOS/issues/1576) * [KSP1.1] Toolbar button doesn't display (https://github.com/KSP-KOS/KOS/issues/1573 https://github.com/KSP-KOS/KOS/issues/1569) - ## v0.19.3 Last (intended) 1.0.5 update. (This is the last planned update to work with KSP 1.0.5 unless @@ -1884,7 +1854,6 @@ it breaks something big that requires an emergency patch.) * You can now use lock objects with the same identifier from within compiled scripts, like `lock throttle...` (https://github.com/KSP-KOS/KOS/issues/691 https://github.com/KSP-KOS/KOS/issues/1253 https://github.com/KSP-KOS/KOS/issues/1557 https://github.com/KSP-KOS/KOS/pull/1561) * The script parsing logic has been updated to improve compile times by roughly 50% (https://github.com/KSP-KOS/KOS/pull/1566) - ## v0.19.2 This release is here primarily to fix a problem that made @@ -1904,7 +1873,6 @@ configuration panel. of a proper error message about it from kOS, kOS got stuck in recursion.) - ## v0.19.1 This release is a patch to v0.19.0, fixing some things @@ -1931,7 +1899,6 @@ ready yet when 0.19.0 was released. * Improve steering when small control magnitudes are required. (https://github.com/KSP-KOS/KOS/issues/1512) - ## v0.19.0 * Numerous additional checks to prevent control of other vessels the kOS CPU isn't attached to. @@ -1993,7 +1960,6 @@ Chris Woerz (erendrake) https://github.com/erendrake (repository owner) (name not public in github profile) (tdw89) https://github.com/TDW89 Philip Kin (pipakin) https://github.com/pipakin - ## v0.18.2 @@ -2022,7 +1988,6 @@ Philip Kin (pipakin) https://github.com/pipakin * kOS can now trigger module events with RemoteTech installed and no KSC connection ( https://github.com/RemoteTechnologiesGroup/RemoteTech/issues/437 ) * Fixed handling of multiple thrust/gimbal transforms and corrected some of their directions ( https://github.com/KSP-KOS/KOS/issues/1259 ) - ## v0.18.1 @@ -2037,7 +2002,6 @@ Philip Kin (pipakin) https://github.com/pipakin * Fixed a issue where the effect of the Kd parameter of PIDLoop was having a reversed effect #1229 * Fixes an issue where NO_FLOW resources ( eg SolidFuel ) were not reporting correctly #1231 - ## v0.18 @@ -2090,7 +2054,6 @@ Philip Kin (pipakin) https://github.com/pipakin * Better detection of arg/param matching. ( https://github.com/KSP-KOS/KOS/issues/1107 ) * Doing PRINT AT that runs offscreen threw an error ( https://github.com/KSP-KOS/KOS/issues/813 ) - ## v0.17.3 @@ -2153,7 +2116,6 @@ Philip Kin (pipakin) https://github.com/pipakin * electricity consumption is better behaved * setting the target to an empty string will always unset target - ## v0.17.2 @@ -2168,7 +2130,6 @@ Philip Kin (pipakin) https://github.com/pipakin * fixes keyword lexxing - ## v0.17.1 @@ -2184,7 +2145,6 @@ Philip Kin (pipakin) https://github.com/pipakin * Fixed bug with setting KAC Alarm action to correct value * Fixed some unneeded log spamming - ## v0.17.0 @@ -2285,7 +2245,6 @@ http://ksp-kos.github.io/KOS_DOC/changes.html has local scope to just that loop, meaning it stops existing after the loop is done and you can't use it outside the loop's body. - ## v0.16.2 ##HOTFIX @@ -2294,14 +2253,12 @@ http://ksp-kos.github.io/KOS_DOC/changes.html * Fixes #610 Print AT draws in the wrong place on telnet after clearscreen. * Fixes #612 doesn't update telnet screen when cur command is longer than prev and you up-arrow - ## v0.16.1 ##HOTFIX this fixes #603 the mess that I made of the Node structure, thanks Tabris from the forums for bringing this to our attention. - ## v0.16.0 ### Breaking @@ -2352,14 +2309,12 @@ this fixes #603 the mess that I made of the Node structure, thanks Tabris from t * Fixes #580 - RT "signal lost. waiting to re-aquire signal" check previously disallowed manned terminal use. Now it only disables the terminal if the vessel is unmanned. * Fixes #344 - KOSArgumentMismatchException reported wrong arg number (i.e. it would claim your 3rd argument is wrong when it's really your 1st argument). Fixed. - ## v0.15.6 * Fixes RemoteTech Integration * Structures can now be correctly ==, <> and concatenated with + * STAGE:RESOURCE[?]:CAPACITY is now spell correctly :P - ## v0.15.5 The KSP 0.90 compatibility release. @@ -2399,7 +2354,6 @@ to make sure everything works.) * Bundling a newer version of ModuleManager * Better use of the "skin" system for the app panel. Should see no obvious effect on the surface. - ## v0.15.4 ###BREAKING CHANGES @@ -2417,7 +2371,6 @@ to make sure everything works.) * Issue #424: additional bootfile suffix protection * Issue #429: files sent to persistence file no longer get truncated - ## v0.15.3 BugFixes: @@ -2427,7 +2380,6 @@ BugFixes: * Issue #405: Equality operator is broken for Wrapped structure objects. * Issue #393: Files on local volume do not persist through save/load. - ## v0.15.2 BugFixes: @@ -2437,7 +2389,6 @@ BugFixes: * Added :PORTFACING to docking ports that should always have the correct facing for the port itself #398 * BREAKING: Partfacing should now come out of the top rather than the side #394 - ## v0.15.1 BugFixes: @@ -2445,7 +2396,6 @@ BugFixes: * All Lists have suffixes again * in the config panel, IPU no longer gets stuck at 50 - ## v0.15 @@ -2545,7 +2495,6 @@ Please follow the links to see the full information on the new features. * KSP AVC Support * Added Body:RotationalPeroid - ## v0.14 ### New Hotness @@ -2578,12 +2527,10 @@ Please follow the links to see the full information on the new features. * SHIP:SENSORS were reading the wrong ship's sensors sometimes in multi-ship scenarios. (GIthub issue #218 ) * Integer and Floating point numbers were not quite properly interchangable like they were meant to be. (Github issue #209) - ## v0.13.1 * Fixed an issue with Dependancies that kept kOS modules from registering - ## v0.13 @@ -2644,7 +2591,6 @@ Please follow the links to see the full information on the new features. * ORBIT:TRANSITION returns a string type that you can actually use. * Comments in code dont cause data loss on load/save - ## v0.12.1 BREAKING: DOCKINGPORT:ORIENTATION is now DOCKINGPORT:FACING @@ -2663,7 +2609,6 @@ BREAKING: DOCKINGPORT:ORIENTATION is now DOCKINGPORT:FACING * Added a new PRESERVE keyword for repeating a trigger. * all active triggers are removed when a script is finished. - ## v0.12.0 * the aforementioned new parser by @marianoapp with all of its speed improvements and other goodies. @@ -2696,7 +2641,6 @@ Bug fixes * ETA:TRANSITION returns the correct time. * Better handling of types. - ## v0.11.1 * BREAKING: Disk Space is now defined by the kOS part, existing missions might have the available space reduced to 500. (whaaw) @@ -2967,4 +2911,4 @@ Bug fixes - Terminal created - KerboScript designed and implemented - VAB Part created -- Flight stats and bindings created \ No newline at end of file +- Flight stats and bindings created From 7c34f247c83dcae1d922787e7cf0f8c00dfa4a10 Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 17:19:50 +0000 Subject: [PATCH 10/11] Fix kOS.version after release --- Resources/GameData/kOS/kOS.version | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/GameData/kOS/kOS.version b/Resources/GameData/kOS/kOS.version index cc37127b9..737e3c974 100644 --- a/Resources/GameData/kOS/kOS.version +++ b/Resources/GameData/kOS/kOS.version @@ -1,28 +1,28 @@ { "NAME": "kOS", "URL": "https://raw.githubusercontent.com/KSP-KOS/KOS/master/Resources/GameData/kOS/kOS.version", - "DOWNLOAD": "https://github.com/KSP-KOS/KOS/releases", + "DOWNLOAD": "TODO - when release...", "CHANGE_LOG_URL": "https://raw.githubusercontent.com/KSP-KOS/KOS/master/CHANGELOG.md", "GITHUB": { - "USERNAME": "KSP-KOS", - "REPOSITORY": "KOS", - "ALLOW_PRE_RELEASE": false + "USERNAME":"KSP-KOS", + "REPOSITORY":"KOS", + "ALLOW_PRE_RELEASE":false }, "VERSION": { "MAJOR": 1, "MINOR": 4, "PATCH": 0, - "BUILD": 1 + "BUILD": 0 }, "KSP_VERSION": { "MAJOR": 1, "MINOR": 12, - "PATCH": 5 + "PATCH": 1 }, "KSP_VERSION_MIN": { "MAJOR": 1, "MINOR": 12, - "PATCH": 3 + "PATCH": 0 }, "KSP_VERSION_MAX": { "MAJOR": 1, From 584035d7175e8f3239c70d260c837a5a5fe7f881 Mon Sep 17 00:00:00 2001 From: CoderCatGG Date: Sat, 11 Oct 2025 17:21:01 +0000 Subject: [PATCH 11/11] Fix CHANGELOG.md