Changelog update 2.3

This commit is contained in:
omuretsu 2023-05-15 18:39:01 -04:00
parent 2ae3ac52f1
commit 48396bf8cb
2 changed files with 19 additions and 7 deletions

@ -3,12 +3,12 @@
Changelog Changelog
========= =========
v2.3 Dev - SF3 rework and performance improvements (28 Apr 2023) v2.3 Dev - SF3 rework and performance improvements (15 May 2023)
---------------------------------------------------------------- ----------------------------------------------------------------
BREAKING CHANGES: These changes may require changes to your scripts. BREAKING CHANGES: These changes may require changes to your scripts.
* Major changes to the SF3 mechanic. See the related section below for the full (spoiler) changes. * Major changes to the SF3 mechanic. See the related section below for more detailed info on the changes.
* The same script filename can now be ran multiple times with the same args. If running a script from another script (ns.run/ns.exec/etc), this limitation can be re-imposed with the preventDuplicates RunOption (see general section for info on RunOptions). * The same script filename can now be ran multiple times with the same args. If running a script from another script (ns.run/ns.exec/etc), this limitation can be re-imposed with the preventDuplicates RunOption (see general section for info on RunOptions).
* The same .js script will now be the same js module whether the script was ran directly or used as an import. This means top-level variables (variables defined outside of any function) are shared across all instances of the script. * The same .js script will now be the same js module whether the script was ran directly or used as an import. This means top-level variables (variables defined outside of any function) are shared across all instances of the script.
* The js module for a script will also be reused by any script that has the exact same compiled text, even if that script is on another server or has a different filename. This can lead to unexpected results when using top-level variables. * The js module for a script will also be reused by any script that has the exact same compiled text, even if that script is on another server or has a different filename. This can lead to unexpected results when using top-level variables.
@ -21,6 +21,7 @@ PERFORMANCE:
* Minimize impact of unavoidable memory leak when modules are created, by reusing modules as much as possible (@d0sboots) * Minimize impact of unavoidable memory leak when modules are created, by reusing modules as much as possible (@d0sboots)
* Internal data structure changes (@d0sboots, @Snarling) * Internal data structure changes (@d0sboots, @Snarling)
* Fix memory leak when initializing large number of netscript ports (@Snarling) * Fix memory leak when initializing large number of netscript ports (@Snarling)
* Improve performance while on the Active Scripts page if many scripts are starting/ending. (@d0sboots)
NETSCRIPT GENERAL: NETSCRIPT GENERAL:
@ -30,14 +31,14 @@ NETSCRIPT GENERAL:
* Fix a possible infinite atExit loop if a script killed itself. (@Snarling) * Fix a possible infinite atExit loop if a script killed itself. (@Snarling)
* Static timestamps of last resets can be obtained via ns.getResetInfo, replacing playtimeSinceLastX from ns.getPlayer (@G4mingJon4s) * Static timestamps of last resets can be obtained via ns.getResetInfo, replacing playtimeSinceLastX from ns.getPlayer (@G4mingJon4s)
* Added RunOptions, which can optionally replace the "threads" argument for ns.run/ns.exec/ns.spawn. (@d0sboots) * Added RunOptions, which can optionally replace the "threads" argument for ns.run/ns.exec/ns.spawn. (@d0sboots)
* RunOptions.threads: Provide a thread count (since RunOptions can replace the threads argument) * RunOptions.threads: Provide a thread count (since RunOptions can replace the threads argument)
* RunOptions.temporary: Prevents the script execution from being included in the save file. * RunOptions.temporary: Prevents the script execution from being included in the save file.
* RunOptions.ramOverride: Provide a static ram cost for the script to override what is calculated by the game. Dynamic ram checking is still enforced. * RunOptions.ramOverride: Provide a static ram cost for the script to override what is calculated by the game. Dynamic ram checking is still enforced.
* RunOptions.preventDuplicates: If set to true, fail to launch the script if the args are identical to a script already running. * RunOptions.preventDuplicates: Fail to launch the script if the args are identical to a script already running.
GENERAL / MISC: GENERAL / MISC:
* There is now an autoexec setting to specify a script on home to automatically run when loading the game. (@d0sboots)
* Monaco script editor updated to a newer version and has more config options available now. (@Snarling) * Monaco script editor updated to a newer version and has more config options available now. (@Snarling)
* Improve Electron's handling of external links (@Snarling) * Improve Electron's handling of external links (@Snarling)
* Improved support for ANSI color codes (@d0sboots) * Improved support for ANSI color codes (@d0sboots)
@ -64,6 +65,9 @@ SF2:
SF3: SF3:
* Many Corporation API changes, due to functionality changes and due to property name changes. See documentation for correct usage.
* Can now have multiple divisions within the same industry. (@Mughur)
* Can now sell a division or sell the entire corporation. (@Mughur)
* Product quality now depends on material quality (@Mughur) * Product quality now depends on material quality (@Mughur)
* Product price can be set separately per-city (@Mughur) * Product price can be set separately per-city (@Mughur)
* Exports can be set relative to inventory or production (@Mughur) * Exports can be set relative to inventory or production (@Mughur)
@ -77,7 +81,8 @@ SF3:
* More options for SmartSupply (@Mughur) * More options for SmartSupply (@Mughur)
* Advertising nerf (@Mughur) * Advertising nerf (@Mughur)
* Nerfed investors and reduced effectiveness of "fraud" (@Mughur) * Nerfed investors and reduced effectiveness of "fraud" (@Mughur)
* Various other changes (@Mughur) * Fixed React errors, renamed most corp object properties (@Snarling)
* Various other changes (@Mughur, @Snarling)
SF4: SF4:

@ -227,13 +227,14 @@ export const CONSTANTS: {
Donations: 79, Donations: 79,
// Also update doc/src/changelog.rst
LatestUpdate: ` LatestUpdate: `
v2.3 Dev - SF3 rework and performance improvements (28 Apr 2023) v2.3 Dev - SF3 rework and performance improvements (28 Apr 2023)
---------------------------------------------------------------- ----------------------------------------------------------------
BREAKING CHANGES: These changes may require changes to your scripts. BREAKING CHANGES: These changes may require changes to your scripts.
* Major changes to the SF3 mechanic. See the related section below for the full (spoiler) changes. * Major changes to the SF3 mechanic. See the related section below for more detailed info on the changes.
* The same script filename can now be ran multiple times with the same args. If running a script from another script (ns.run/ns.exec/etc), this limitation can be re-imposed with the preventDuplicates RunOption (see general section for info on RunOptions). * The same script filename can now be ran multiple times with the same args. If running a script from another script (ns.run/ns.exec/etc), this limitation can be re-imposed with the preventDuplicates RunOption (see general section for info on RunOptions).
* The same .js script will now be the same js module whether the script was ran directly or used as an import. This means top-level variables (variables defined outside of any function) are shared across all instances of the script. * The same .js script will now be the same js module whether the script was ran directly or used as an import. This means top-level variables (variables defined outside of any function) are shared across all instances of the script.
* The js module for a script will also be reused by any script that has the exact same compiled text, even if that script is on another server or has a different filename. This can lead to unexpected results when using top-level variables. * The js module for a script will also be reused by any script that has the exact same compiled text, even if that script is on another server or has a different filename. This can lead to unexpected results when using top-level variables.
@ -246,6 +247,7 @@ PERFORMANCE:
* Minimize impact of unavoidable memory leak when modules are created, by reusing modules as much as possible (@d0sboots) * Minimize impact of unavoidable memory leak when modules are created, by reusing modules as much as possible (@d0sboots)
* Internal data structure changes (@d0sboots, @Snarling) * Internal data structure changes (@d0sboots, @Snarling)
* Fix memory leak when initializing large number of netscript ports (@Snarling) * Fix memory leak when initializing large number of netscript ports (@Snarling)
* Improve performance while on the Active Scripts page if many scripts are launching/starting. (@d0sboots)
NETSCRIPT GENERAL: NETSCRIPT GENERAL:
@ -262,6 +264,7 @@ NETSCRIPT GENERAL:
GENERAL / MISC: GENERAL / MISC:
* There is now an autoexec setting to specify a script on home to automatically run when loading the game. (@d0sboots)
* Monaco script editor updated to a newer version and has more config options available now. (@Snarling) * Monaco script editor updated to a newer version and has more config options available now. (@Snarling)
* Improve Electron's handling of external links (@Snarling) * Improve Electron's handling of external links (@Snarling)
* Improved support for ANSI color codes (@d0sboots) * Improved support for ANSI color codes (@d0sboots)
@ -288,6 +291,9 @@ SF2:
SF3: SF3:
* Many Corporation API changes, due to functionality changes and due to property name changes. See documentation for correct usage.
* Can now have multiple divisions within the same industry. (@Mughur)
* Can now sell a division or sell the entire corporation. (@Mughur)
* Product quality now depends on material quality (@Mughur) * Product quality now depends on material quality (@Mughur)
* Product price can be set separately per-city (@Mughur) * Product price can be set separately per-city (@Mughur)
* Exports can be set relative to inventory or production (@Mughur) * Exports can be set relative to inventory or production (@Mughur)
@ -301,7 +307,8 @@ SF3:
* More options for SmartSupply (@Mughur) * More options for SmartSupply (@Mughur)
* Advertising nerf (@Mughur) * Advertising nerf (@Mughur)
* Nerfed investors and reduced effectiveness of "fraud" (@Mughur) * Nerfed investors and reduced effectiveness of "fraud" (@Mughur)
* Various other changes (@Mughur) * Fixed React errors, renamed most corp object properties (@Snarling)
* Various other changes (@Mughur, @Snarling)
SF4: SF4: