Releases: KSP-KOS/KOS
Backward port to KSP 1.2.2. NOT FOR KSP 1.3!
If you have KSP 1.3, then this release will fail. Use version v1.1.3.0 (below) instead.
Only use this release if you are stuck on KSP 1.2.2.
v1.1.3.1 (for KSP 1.2.2) Backward compatibility version of v1.1.3.0
This is identical to kOS v1.1.3.0 except that code specific to KSP 1.3
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).
Bug Swatting Release
v1.1.3.0 (for KSP 1.3) Bug Swatting Release
For this release we instituted a rule partway through that only bug fixes
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
(Can't think of any.)
NEW FEATURES
- Terminal input using any Unicode character, not just ASCII.
(Technically not a new feature, but a bug fix to a feature
from the previous version, but since the bug made the feature
never work at all in the past, it feels like a new feature).
pull request - New StartTracking suffix for "unknown objects" (asteroids).
pull request
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
bugs where kOS lost the ability to control the ship unless
you reloaded the scene. (After a docking, undocking, staging,
vessel switch, or scene switch, this would sometimes happen,
but not consistently enough to be easy to debug).
pull request
pull request - Program aborts caused by external events such as poweroff,
shutdown, or control-C no longer leave garbage behind in
memory still hooked into parts of kOS.
pull request - Documentation now more explicitly mentions how SAS and lock steering
fight with each other.
pull request - Documentation for GUIskin:add() was wrong. Fixed.
pull request - The waypoint() constructor used to fail on waypoints which
were not part of a cluster yet were named as if they
were part of a cluster anyway ("my waypoint Alpha",
"my waypoint Beta", "my waypoint Gamma", etc). This doesn't
happen in stock, but does happen with several mods that use
ContractConfigurator. kOS will now deal with such waypoints.
pull request - Documentation that claimed obsoleted TERMVELOCITY still
exists has been removed or edited.
pull request - Trying to examine the NoDelegate object no longer causes
nullref error.
pull request - Equality operator ( == ) when comparing a Path to a Path now
fires off correctly.
pull request - GUI's ONRADIOCHANGE callback hook now no longer depends
on the existence of an ONTOGGLE hook to fire off.
pull request - Compiler no longer creates incorrect opcodes for indexed
collections used as arguments to a function call that's
on the lefthand side of an assignment statement.
pull request - Font resizing in scripts no longer causes the terminal to mangle
its size and width/height character count
pull request - Signal delay progress bar (when using Remote Tech) will now resize
properly when you have a nonstandard sized terminal window.
pull request - Compile command now works properly when run from the interpreter.
pull request - Vessel:isDead working properly now
pull request - Stretching the terminal to a large size no longer causes
the rounded corner to obscure text in the window.
pull request - Full unicode keyboard and file save support was getting
mangled by wiping out the high byte leaving only the 8-bit
ASCII part left. Fixed.
pull request - Toolbar Panel setting changes no longer require there to
exist a kOS part loaded into the scene.
pull request
CKAN-corrected 1.1.1
KSP 1.3 compatibility
v1.1.1 (for KSP 1.3) KSP 1.3 compatibility recompile.
No known intentional changes other than editing a few method calls to the KSP API to make it work with KSP 1.3.
Also updated the included ModuleManager to version 2.8, whichis a necessity for compatibility with KSP 1.3.
Thanks to @pipakin for getting the 1.3 changes ready for us while we worked on getting the previous release, v1.1.0, out.
v1.0.90 (pre-release for v1.1.0) Ewww, everything's GUI.
TO PEOPLE VIEWING THIS FOR THE PRE-RELEASE:
This v1.1.0 changelog has several TODO's in it because some URLS and links
are not final and will change when we go to full release. Rather than
include the links that will soon become wrong, they're just marked as TODO
for now, and you'll have to use the documentation search function to
find the relevant part of the docs on the temporary pre-rlease docs server.)
(TODO: Remove These paragraph when going from pre-release to public release:
Although this changelog is marked as v1.1.0, remember that v1.1.0 is
technically not out yet. What you are seeing is a "pre-release" of v1.1.0,
and things are subject to change.)
For temporary viewing of updated documentation, visit http://hvacengi.github.io/KOS
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.
Each font has its own hardcoded notion of how wide a letter will be at a
given height, which you can't override. - CONFIG:BRIGHTNESS was moved back to the global config section, and is no longer
set on the "difficulty" options screen, because it's not supposed to be a
per-saved-game setting, but a user-interface preference that spans all saved games. - ATM:SEALEVELPRESSURE now gives the answer in different units than it used to.
(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
- 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
KSP game's default skin (kind of big letters) but the skin can be customized by the
script a bit to change things.
pull request
pull request
documentation: search for "GUI" (TODO: replace with URL). - Background compilation. Now the game continues its simulation normally and physical
events keep happening, while kOS is taking a few seconds to compile a script.
(Gets rid of that familiar frozen game effect when you first issue aRUN
command.)
pull request - Terminal Font. Now the kOS in-game terminal window uses a real font from your OS itself
to render the text terminal. (This allows the display of any Unicode character the font can
render, and it allows nicer looking font size changes.) Previously kOS painted images for
letters from a hardcoded texture image file.
pull request 1
pull request 2 - Allow any unicode. The kerboscript parser now allows identifiers and literal strings to
contain letters outside the limited ASCII-only range it used to accept. The in-game terminal now
allows you to type any letter your keyboard can type. (But it does not implement the ALT-numpad
technique of entering characters. You have to have a keyboard that types the character directly.
However, the ALT-numpad technique will work through the telnet terminal, if your telnet client's
window can do it.)
pull request - Regular expression part searches for part/tag names.
pull request, documenation: search for "PARTSTAGGEDPATTERN" (TODO: replace with URL). - Choose the IP address of the telnet server, from the ones your computer has available, instead
of kOS picking one arbitrarily.
pull request - Pressure at a given altitude is now something you can query from an atmosphere.
pull request, documentation: search for "ALTITUDEPRESSURE" (TODO: replace with URL). - Get a LATLNG for some other body than the current one.
pull request, documentation: search for "GEOPOSITIONLATLNG" (TODO: replace with URL).
BUG FIXES
- Fix kOS toolbar button sometimes failing to appear in Blizzy Toolbar Mod.
pull request - Fix SKID Chip emulator's sync lag when physics is slow.
pull request - Fix SKID Chip emulator unable to use voices 6 through 9 because of how they were initialized.
pull request - Forgot to document GETMODULEBYINDEX.
pull request - Fix inability of a script to SET TARGET when KSP game is not the focused window.
pull request - Fix iterator that lets you walk the characters in a string with "for" loop.
pull request - Removed some Unity hooks that despite being empty and doing nothing,
nonetheless still ate up a bit of time to pointlessly call and return from.
pull request - Fix use of the min()/max() function on string comparisons
pull request - Fix science data transmissions
pull request - Fix unnessary duplicated of clones of vessel objects (was causing large garbage collection hangs).
pull request - Fixed several small documentation errors:
pull request
pull request
pull request - Fixed float->boolean mapping error. The values no longer round to integer before becoming boolean.
(i.e. 0.01 should be True, not get rounded to False (0) like it used to.)
pull request - Fixed ATM:SEALEVELPRESSURE units to agree with the documentation.
pull request - Fixed bug that had made the sounds fail to emit for beep and keyclick.
pull request - Fixed vessel:TOSTRING to return "Vessel(blarg)" instead of "Ship(blarg").
pull request - Fixed null-ref errors when using NEXTPATCH when there is no next patch.
pull request - Fixed a few bugs related to kOS cleaning up after itself when the vessel splits into two
or two vessels join together, or a vessel blows up.
pull request
v1.0.3 Make a little noise! (Part Deux)
v1.0.3 (for KSP 1.2.2) Make a little noise! (Part Deux)
Downloads
Summary
This release is nearly identical to v1.0.2, except that it was compiled against
binaries from KSP v1.2.2 (released just before we published) and the version numbers
have been advanced. While it appears that kOS v1.0.2 is compatible with KSP v1.2.2,
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 Make A Little Noise
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
be unpredictable. - Most in game settings are now integrated with KSP's difficulty settings window.
You will be prompted to migrate existing settings when you load your save game.
Telnet settings are still stored in the old config file, but everything else is
now stored within the save file.
pull request | documentation - Calls to resource suffixes on the
stage
bound variable are no longer rounded to 2 decimal places.
Previously they were rounded to assist in detecting "zero" fuel, but they cause inequality issues
when comparing to the newerstage:resources
list orstage:resourceslex
values. - The behavior of the resource suffixes on the
stage
bound variable has changed with regard
to asparagus staging. If you have smaller tanks that can be staged,stage:liquidfuel
will return0
even if you still have an engine firing. This is a break from previous versions
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
- Official release for KSP version 1.2.1!
- kOS now has a procedural sound system! You can use it to play customized error
tones or make your own musical notes.
pull request | documentation - Support for CommNet and modifications to make RemoteTech and CommNet use similar systems.
pull request | documentation - Trajectories integration enabled via new
ADDONS:TR
pull request | documentation - Added new setting for default terminal brightnes, and updated default value to 70%
pull request | documentation - Added
VELOCITY
andALTITUDEVELOCITY
suffixes to `geocoordinates
pull request | documentation - Added
TONUMBER
andTOSCALAR
suffixes tostring
values for parsing numerical values
pull request | documentation - New
steeringmanager
suffixROLLCONTROLANGLERANGE
to dictate the maximum value
ofANGLEERROR
for which the manager will attempt to control roll
commit | documentation - KSM files are now gzip compressed internally, dramatically reducing the file size.
Existing KSM files should still load, but see above for the recommendation to
recompile all KSM files.
pull request
BUG FIXES
- Fix for throwing errors when another mod uses dynamic assembly
pull request - Update Blizzy toolbar wrapper to the most recent version
pull request - Fix for local kOS hard disks breaking when loading with 4 byte long files
pull request - kOS no longer uses a write-only lock when writing to the archive, preventing
an error when accessing a file opened for reading by another program
pull request - Fix for duplicate functions/locks breaking ksm files
pull request - Fix for null ref error when editing node suffixes on KSP 1.2.1
pull request - Fix for issue where a body with the same name as one of our bound variables would block
access to said variable (specifically Eta in Galileo's Planet Pack blocked theeta
bound variable)
pull request - Fix for getting the science value and transmit value in sandbox mode
pull request - Fix error where
unlock all
inside a trigger will try to
unlock functions too
pull request
v1.0.2-pre-2 Pre-release
Pre-release version of the build with KSP 1.2.1 compatibility.
WARNING - May contain multiple bugs. Please report any issues you find!
Sub-warning: this update attempts to include unified support for CommNet and RemoteTech, but we need your help in thuroughly testing these features. Please try to test (break) these features so we can ensure that we squash as many bugs as possible before full release.
Update to the previous pre-release including:
- Fix Sphinx doc builds on Python 3 and new versions of Sphinx
- Settings are now stored in the KSP difficulty settings window documentation
- Fix issue when mods are installed that use dynamic modules (like ContractConfigurator)
- Added Trajectories API documentation
- Fix issue reading from 4 byte files stored on the local hard drive which would erase the entire hard drive
- KSM files are now stored using GZIP compression to reduce file size (while this change should be backwards compatibile, the kOS team always recommends recompiling ksm files whenever updating versions)
- Support for CommNet and RemoteTech documentation
v1.0.2-pre
Pre-release version of the build with KSP 1.2.0 compatibility.
WARNING - May contain multiple bugs. Please report any issues you find!
Notes
- There is no CommNet integration, range and connections will not be enforced.
- Some suffixes may not actually be right. We have a few To Do notes in the code (see #1835 for a list).
- RemoteTech support has not been tested.
- If you select "Require Signal For Control" in dificulty settings (see below) kOS will not be able to fully control the ship when out of signal. Controls should still be manipulated properly if you support partial probe control instead.
v1.0.1 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 who might not update KSP to 1.2 right away. Traditionally there are some mods that take a while to update when KSP releases a new version, and many users choose to wait for all of their favorite mods to update before upgrading KSP. By releasing in conjunction with the update, we can ensure that as many users as possible have access to these latest updates. We will be releasing a version of kOS that is compatible with KSP 1.2 as soon as possible after the final build is released to the public.
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
be unpredictable. - The
stage
command/function now implements the yield behavior, waiting until
the next frame to return. This ensures that all vessel stats are updated
together. (#1807)
NEW FEATURES
- Functions and opcodes can now tell the CPU to yield (wait) based on their own
arbitrary logic. This allows future functions to be "blocking" (preventing
further execution) without blocking KSP itself.
(#1805,
#1807, and
#1820) - New
timewarp
structure, available on thekuniverse
bound variable. This
structure provides additional information and control over time warp. The old
warp bound variables remain in place.
(#1790 and
#1820) - Introducing a new
terminalinput
structure for keyboard interaction from
within scripts! Currently support is only provided for getting single
characters.
(#1830)
Please check http://ksp-kos.github.io/KOS_DOC/changes.html for more detailed
explanations for the new features.
BUG FIXES
- Fix for formatting of
time:clock
to pad zeros
(#1771 and
#1772) - Fix for not being able to construct a
vessel("foo")
if "foo" is the name of
the current vessel (#1565 and
#1802) - RemoteTech steering should be fixed. At worst you may see a 1sec gap with
the controls, as we now refresh the steering callback about once per second.
(#1806 and
#1809) - Named functions defined within anonymous functions will no longer throw an
error (#1801 and
#1811) lock steering
no longer throws an exception inside of an anonymous functions
(#1784 and
#1811)- Compiled programs that include a large number of named functions should no
longer throw an error (#1796 and
#1812) - Fixed the first call to
wait
after the cpu boots
(#1785) - Various documentation fixes (#1810,
#1823, and
#1834)