Skip to content

Releases: bitburner-official/bitburner-src

2.8.1

04 Apr 07:37
d0d7767
Compare
Choose a tag to compare

v2.8.1: 4 April 2025

MAJOR CHANGES

UI

MISC

DOCUMENTATION

SPOILER CHANGES - UI

  • Make SF description in Augmentations tab and BitVerse always be the same (#2013) (@catloversg)
  • Make BN-hint popups harder to be dismissed accidentally (#2021) (@catloversg)
  • Warn player if they enable territory clash when gang power is too low (#2061) (@catloversg)

SPOILER CHANGES - MISC

  • Warn player that they cannot accept Stanek's Gift after joining Bladeburner with SF7.3 (#2005) (@catloversg)
  • Disable effect of SF7.3 and SF10 if player disables them with advanced options (#2019) (@catloversg)
  • Add ns.singularity.cat (#1999) (@NagaOuroboros)

SPOILER CHANGES - DOCUMENTATION

  • Clarify effect of Bladeburner augmentation and Stanek's Gift fragment (#2058) (@catloversg)
  • Clarify conditions of activating Gang, Bladeburner, Stanek's Gift (#2053) (@catloversg)
  • Clarify Market-TA1, Market-TA2, MaxSalesVolume (#2014) (@catloversg)

CODEBASE/REFACTOR

2.8.0

06 Mar 02:42
02c4f9c
Compare
Choose a tag to compare

v2.8.0 Release: 5 March 2025

MAJOR CHANGES

UI

  • Fix: Company name in Job tab is not updated when switching companies in edge cases (#1828) (@Nerdpie)
  • Make minor changes in buttons and error messages of tutorial (#1837) (@catloversg)
  • Infiltration remembers faction choice for reputation reward (#1860) (@catloversg)
  • Add filter tool to list of installed augmentations (#1833) (@catloversg)
  • Disable buttons when player cannot buy things in tech vendor (#1881) (@catloversg)
  • Show warning message for deprecated API Server feature (#1903) (@catloversg)
  • Change "overclock" to "Boosted by bonus time" in Sleeves tab (#1901) (@catloversg)
  • Hide spoiler content in Soft Reset popup (#1898) (@catloversg)
  • Change how hacking level requirement is shown in "Create program" tab (#1900) (@catloversg)
  • Fix: "Import Save Comparison" popup is shown after reloading (#1659) (@catloversg)
  • Fix: Editor shows "+1 overload" with all NS APIs (#1883) (@catloversg)
  • Fix multiple problems with editor (#1893) (@catloversg)
    • Editor becomes laggy and autocomplete may not work when player has too many scripts
    • Edited code disappears in editor after switching tab
    • Editor shows error popup when opening scripts on "." server
  • Add UI to share RAM to boost reputation gain (#1862) (@catloversg)
  • Fix: Sleeves UI shows and sets wrong task (#1807) (@catloversg)
  • Add Grafting tab to sidebar (#1809) (@catloversg)
  • Improve UX of Remote API setting page (#1870) (@catloversg)
  • Add reward info to intro page of infiltration (#1835) (@catloversg)
  • Fix: Wrong plural form in modal of coding contract (#1939) (@catloversg)
  • Show all jobs instead of only one in Job tab (#1945) (@catloversg)
  • Fix: Cursor position in editor is moved undesirably in edge cases (#1952) (@catloversg)
  • Show Save ID in Options tab (#1964) (@catloversg)
  • Warn player if they are editing and saving files on non-home servers (#1968) (@catloversg)
  • Improve performance of April Fools Easter egg (#1977) (@catloversg)
  • Add disambiguation to the confusing "1s / ls" tutorial step (#1972) (@ficocelliguy)

MISC

DOCUMENTATION

SPOILER CHANGES - UI

  • Add visual cues to warn player of dangerous actions and status of population, chaos (#1856) (@catloversg)
  • Allow empty string in amount and price fields in sell modals before confirming (#1847) (@catloversg)
  • Show production multiplier of product in research popup (#1919) (@catloversg)
  • Show operation description in tooltip of completed BlackOps (#1941) (@catloversg)
  • Show exact reasons why player cannot bribe factions (#1967) (@catloversg)

SPOILER CHANGES - MISC

  • Allow passing 0 SkillPoints to ns.formulas.bladeburner.skillMaxUpgradeCount (#1844) (@catloversg)
  • Change description and add tooltip for HackMoney-related multipliers (#1823) (@catloversg)
  • Clarify "Company Favor" hash upgrade (#1861) (@catloversg)
  • Increase number of displayed digits for "Base Size Modifier" of Stanek's Gift (#1871) (@catloversg)
  • Remove mention of passive reputation gain when player is in BN2 (#1859) (@catloversg)
  • Fix: Wrong warning of sellAmt being negative (#1819) (@catloversg)
  • Add ns.singularity.getSaveData API (#1390) (@catloversg)
  • Reword description of "Operation Tyrell" and "Operation Wallace" BlackOps (#1931) (@Hihahahalol)
  • Standardize behavior of "connect" command and ns.singularity.connect API (#1933) (@catloversg)
  • Decrease interval of check for faction invitation (#1943) (@TheAimMan)
  • Change multiplier of defense level in BN14 (#1927) (@ficocelliguy)
  • Fix: Sleeve takes on contracts without checking availability (#1946) (@catloversg)
  • Fix: ns.corporation.bribe can bribe faction that player is not member of (#1966) (@catloversg)
  • Return experience gain rate of gang member in GangMemberInfo.expGain (#1955) (@AdamAndreatta)

SPOILER CHANGES - DOCUMENTATION

CODEBASE/REFACTOR

2.7.0

08 Dec 21:08
a58eace
Compare
Choose a tag to compare

Changelog:

v2.7.0: 8 December 2024

MAJOR ADDITIONS

UI

  • Tweak Hacknet summary (@catloversg)
  • Only show relevant changes in "Purchased Augmentations" table (@catloversg)
  • Fix: Correctly show remaining grafting/programming time left when cycles are skipped. (@tom.prince)
  • Fix: Misleading favor numbers (@catloversg)
  • Always show description of faction price multiplier (@catloversg)
  • Add apostrophe to stanek's gift strings (@Faenre)
  • Notify players about documentation tab after getting SF1.1 (@catloversg)
  • Remove extra "label=" text from SmartSupply interface (@gmcew)
  • Show more information about documentation in last step of tutorial (@catloversg)
  • Change description of Documentation button in Script Editor (@catloversg)
  • Fix: Wrong size of table cell in Import Save Comparison UI (@catloversg)
  • Remove hacknet servers from hash upgrade server dropdowns (@yichizhng)
  • Fix: Import paths cannot be resolved in script editor (@lucebac)
  • Fix: Missing tooltip when doing faction work (@catloversg)
  • Remove unnecessary newlines when augmentation does not have stats (@catloversg)
  • Disable font ligatures by default (@catloversg)
  • Fix: Crash in theme editor modal (@catloversg)
  • Add the ability to change the font size (@G4mingJon4s)
  • Change order of information in stats progress bar (@catloversg)
  • Auto focus hashnet upgrade modal (@catloversg)
  • Show error popup when there are errors instead of only writing to console (@catloversg)

DOCUMENTATION

  • Remove obsolete description of killall (@catloversg)
  • Update description of source files (@catloversg)
  • Add link to NS API documentation (@catloversg)
  • Fix a typo in the hamming code problem statement (@Jazzybones)
  • Fix broken link in README.md (@ngcthao)
  • Remove " "s from .getDescription() result (@gmcew)
  • Typo in ns2 migration doc (@mctylr-gh)
  • Remove unmaintained VS Code extension from docs (@catloversg)
  • Fix link to non-existing page (@BaxoPlenty)
  • Add help text for changelog command (@catloversg)
  • Clarify deprecation warning of ns.getTimeSinceLastAug() (@catloversg)
  • Fix typos in NetscriptDefinitions.d.ts (@catloversg)
  • Add GoAnalysis and GoCheat doc namespaces (@catloversg)
  • Hamming Code parity sentence clarification, "Find All Valid Math Expressions" missing line breaks added, example formatting made consistent (@gmcew)
  • Outdated formula of favor in tooltip (@catloversg)
  • Add scoring rules explanations to how to play page and score modal (@ficocelliguy)
  • Fix wrong description of ns.singularity.applyToCompany (@catloversg)
  • Fix errors and warnings shown by api-extractor (@catloversg)
  • Remove wrong information in ns.weaken (@catloversg)
  • Make small tweaks in TSDoc of Corporation APIs (@catloversg)
  • Add types for parameters of gym-university-bladeburner API (@catloversg)
  • Correct function signature for hashUpgradeCost (@Faenre)
  • Fix wrong description of ns.corporation.createCorporation (@catloversg)
  • Clarify experience gain of sleeves (@bupjae)
  • Make small changes (capitalization) in index page of documentation (@catloversg)
  • Improve ns.enableLog docs (@Fireball5939)
  • Update description of multipliers in BitNodeMultipliers in NetscriptDefinitions.d.ts (@nobody0)
  • Fix mangled NS API TSDoc (@catloversg)
  • Fix incorrect description of "HammingCodes: Integer to Encoded Binary" contract (@zorbathut)
  • Clarify condition of ns.corporation.bribe (@catloversg)
  • Clarify "completion" property of GraftingTask (@catloversg)
  • Clarify cyclesWorked of Task (@catloversg)
  • Clarify ns.hackAnalyzeThreads (@JMack6490)
  • Clarify ns.bladeburner.getSkillUpgradeCost and fix typo in BaseTask (@catloversg)
  • Fix typo in Corporation documentation (@catloversg)
  • Add more information for deprecated nFormat API (@catloversg)
  • Clarify FactionWorkRepGain multiplier (@catloversg)

MISC

  • Fix: Wrong money source when traveling (@catloversg)
  • Use ramOverride() to set compiled script RAM (@d0sboots)
  • Provide type definitions for `React` and `ReactDOM` in in-game editor. (@tom.prince)
  • Fix: "Router called before initialization" race (@d0sboots)
  • Always include stack trace in Recovery Mode (@d0sboots)
  • Don't spin forever if IDB can't be loaded (@d0sboots)
  • Fix: Prevent runtime NotAllowedError on Safari (@robofinch)
  • Enable strict typechecking of typescript, and several other typescript improvements in script editor (@tom.prince)
  • Minor bugfix for minesweeper game: made rounding behavior for height, width and mine count consistent (@mmjr-x)
  • Fix: Crash when accessing nonexistent files with file protocol in Electron app (@catloversg)
  • Stop terminal scp from revealing and copying to unreachable servers (@yichizhng)
  • Fix: Tab completion uses wrong command list (@catloversg)
  • Fix: Prompt does not reset text value (@catloversg)
  • Fix: Duplicated program in edge case (@catloversg)
  • Improve rep calculation accuracy (@d0sboots)
  • Fix: NaN Total Assets caused by bug in bulkPurchase API (@catloversg)
  • Cancel infiltration when player is hospitalized (@catloversg)
  • Fix: Block hacking-related actions on player-owned servers (@catloversg)
  • Rework disableLog for efficiency (@d0sboots)
  • Improve several things relating to PID lookups (@d0sboots)
  • Fix: ns.singularity.donateToFaction being able to donate to SoA (@Fireball5939)
  • Throw error when player passes invalid hostname to some APIs (grow, weaken, singularity.installBackdoor) (@catloversg)
  • Fix: upgradePurchasedServer API prints wrong error message (@Nolshine)
  • Reduced RAM cost for ns.getPurchasedServers (@Faenre)
  • Fix: Autocomplete shows error popup in some cases (missing error handler when calling libarg) (@catloversg)
  • Reduce cost of static information NS APIs to 0 (@Faenre)
  • Add ns.self() as a free info function (@G4mingJon4s)
  • Change generation rate of CCTs for offline bonus (@catloversg)
  • Add new Square Root coding contract (@d0sboots)
  • Remove mention of Hacking Mission (@catloversg)
  • Fix: Scripts are killed too late when prestiging (@catloversg)
  • Fix: Typos in description of augmentations (@egg362)
  • Fix: Typo in field work description (@Pimvgd)
  • Fix: Fix dynamicRamUsage returned by getRunningScript() (@d0sboots)
  • Add warning when installing backdoor on backdoored server (@catloversg)
  • Expose more information of HiveMind augmentation (@catloversg)
  • Improve tutorial, documentation and discoverability of NS API documentation (@catloversg)
  • Improve exception alert (@catloversg)
  • Improve built-in print APIs when printing Promise objects (@catloversg)
  • Improve built-in print APIs when printing objects containing Map or Set (@catloversg)
  • Validate hostname and port of RFA (@catloversg)
  • Update blood donation (@hydroflame, @catloversg)
  • Include React component stack in Recovery Mode report (@catloversg)
  • Always add script's earnings to its parent (@catloversg)
  • nano and vim use wrong template for text files (@catloversg)
  • Add error cause to exception alert and Recovery mode UI (@catloversg)
  • Fix ramOverride check (@jonhartnett)
  • Accept "noscript" as parameter for skipping loading scripts (@catloversg)
  • Fix: Multiple issues with migrating older savegames (@catloversg)

SPOILER CHANGES

  • Change formula of Bladeburner skill cost (@catloversg)
  • Fix: Wrong behavior of ns.bladeburner.getSkillUpgradeCost (@catloversg)
  • Disable rumor of Bladeburners in BN8 (@catloversg)
  • Fix: Stop current work when starting a program with Singularity (@TheAimMan)
  • Fix: Cap Gang recruit member calculation (@TheAimMan)
  • Fix: Allow upgrading Bladeburner skill level over max safe integer (@catloversg)
  • Fix: Wrong countdown of remaining time for Bladeburner action (@catloversg)
  • Fix: Duplicated augmentation when buying after grafting (@catloversg)
  • Fix: Wrong success range of Bladeburner general action (@catloversg)
  • Add buyAmount and importAmount to Corporation Material API (@yichizhng)
  • Add success chance of Bladeburner action to Sleeves UI (@catloversg)
  • Allow filtering graftable augmentations (@catloversg)
  • Fix: Wrong error message when failing to recruit gang member (@catloversg)
  • Add API to calculate max upgrade count of Bladeburner skill (@catloversg)
  • Fix: Bladeburner city chaos reaching Infinity/NaN (@Faenre)
  • Use indirect eval for terminal expr and corporation sell prices/amounts (@yichizhng)
  • Fix: Wrong skill multipliers in Bladeburner (@catloversg)
  • Fix: Crash in b1tflum3 and destroyW0r1dD43m0n API (@catloversg)
  • Bladeburner: Est. pop improvement actions always improve est. pop by at least 1 (@Faenre)
  • Fix: Typo in description of Stanek's Gift (@Tahvohck)
  • Prevent issues caused by resetting the board while the go AI is in flight (@ficocelliguy)
  • Bladeburner: Use "grow" semantics for population estimate (@d0sboots)
  • Fix: Wrong team size when all team members die in Bladeburner's action (@catloversg)
  • Fix: Wrong parameter requirement of ns.bladeburner.setTeamSize (@catloversg)
  • Make condition of ns.singularity.donateToFaction consistent (@catloversg)
  • Fix: Wrong calculation in team casualties of Bladeburner action (@catloversg)
  • Bladeburner UI shows tooltips on action success chance to indicate which stat it scales with (@Alpheus)
  • Improve discoverability of Corporation documentation (@catloversg)
  • Change type of skill name parameter of ns.formulas.bladeburner.skillMaxUpgradeCount API (@catloversg)
  • Uncheck the 'show prior move' feature when a new Go game is started (@ficocelliguy)
  • Add optional board state argument to the go analysis functions (@ficocelliguy)
  • Add ns.go.cheat.getCheatCount (@ballardrog)
  • Fix: Typo in Covenant's shop (@catloversg)
  • Disable "+1" button when Bladeburner skill level reaches max safe integer and refactor some checks (@catloversg)
  • Show confirmation p...
Read more

2.6.2

03 Jul 23:15
633da38
Compare
Choose a tag to compare

v2.6.2 Release: 3 July 2024

CHANGES

  • Hotfix (also backported to 2.6.1): Fixed an issue with invalid format on steam cloud save (@catloversg)
  • Augmentations: Augmentations that affect starting money now add money instead of replacing it (@jjclark1982)
  • API: ns.spawn can be used with 0 delay for a synchronous effect (@d0sboots)
  • API: Added the ns.ramOverride function, which allows altering the ram usage of a script at runtime (@d0sboots)
  • Coding Contracts: Improved the performance of the All Valid Math Expressions contract checker (@yichizhng)
  • Coding Contracts: Simplified the Shortest Path contract checker (@gmcew)
  • Documentation: Various improvements (@mrsimo, @catloversg, @ficocelliguy, @gmcew, @otac0n)
  • Electron: Game can now load correctly when the path includes symbolic links (@catloversg)
  • Faction: Fixed some edge cases around Favor overflow (@catloversg)
  • Faction: All available invites are sent at once (@catloversg)
  • Faction UI: show which skills are relevant for each type of Faction work (@gmcew)
  • Font: Embedded the JetBrains Mono font as "JetBrainsMono" (@catloversg)
  • Go: Can now play manually as white against your own scripts (@ficocelliguy)
  • Go: Save a full game history to prevent repeat moves (@ficocelliguy)
  • Go: Support offline time / bonus cycles to allow less time between AI moved (@ficocelliguy)
  • Hacking: Clamp hack success chance to prevent issues with infinity (@Caldwell-74)
  • Hacknet: Fix an issue that caused inaccurate level base cost (@JamesWilcox-git)
  • Hacknet: UI improvements (@jjclark1982)
  • Hospital: Can now be hospitalized even when busy performing a work task (@catloversg)
  • Infiltration: Automating infiltration is now more difficult (@catloversg)
  • Infiltration: Wire game shows wire colors on wires (@muesli4brekkies)
  • Misc: Changed how negative changes in system time are handled (@catloversg)
  • Programs UI: Now displays time remaining (@TheAimMan)
  • Servers: Existing servers can now have more than 1 core (@TheAimMan)
  • Scripts: Relative imports can now be used (@Caldwell-74)
  • Script Editor: Improved detection of possible infinite loops (@G4mingJon4s)
  • Script Editor: Cursor location is remembered when switching tabs or game pages (@catloversg)
  • Script Editor: Improvements to vim mode (@G4mingJon4s)
  • Script Editor: Individual script tabs can be in separate editor modes (@G4mingJon4s)
  • Skills: Fix an inconsistency in experience needed to level a skill from 1 to 2 (@catloversg)
  • Terminal: Add more options to the rm command (@G4mingJon4s, @d0sboots)
  • Terminal: Added grep command (@muesli4brekkies)
  • Terminal: Improved autocompletion for mixed case strings (@yichizhng)
  • Codebase: Partial migration away from outdated mui/styles (@Caldwell-74)
  • Codebase: Cleanup / refactoring (@catloversg, @Caldwell-74, @Snarling, @ficocelliguy, @tomprince)

SPOILER CHANGES

  • Bladeburner: Added a button to stop the current action (@Kelenius, @catloversg)
  • Bladeburner: Improved logging of information in the Bladeburner console (@Kelenius, @catloversg)
  • Bladeburner: Black Operations show in the expected order again (@catloversg)
  • Bitnode 5: Show bitnode multipliers while in BN5.1 (@catloversg)
  • Bitverse: Spawned scripts will no longer launch from the bitverse screen (@catloversg)
  • Corporation: Refactor markup multiplier (@catloversg)
  • Corporation: Allow mass discarding products by selling for 0 (@gmcew)
  • Corporation: Allow access to constants even when API access is not available (@ilkecan)
  • Gang: Show equipment even when it cannot be purchased yet (@catloversg)
  • Gang: Fix an issue with wanted gain rate (@catloversg)
  • Gang: Show effective gain rates when bonus time in effect (@G4mingJon4s)
  • Grafting: Fixed a spacing issue (@Sphyxis)
  • Grafting: Fixed an issue that could cause hacknet node production to be inaccurrate when combined with Grafting (@catloversg)
  • Grafting: Fixed an issue that could cause inaccurate HP after Grafting (@catloversg)
  • Grafting: Added ns.grafting.waitForOngoingGrafting (@catloversg)
  • Intelligence: Changed scaling for intelligence gain from manual hacking (@catloversg)
  • Sleeve: Sleeve travel can no longer be performed if the player has insufficient funds (@gmcew)
  • Sleeve: It's no longer possible to install an unavailable augmentation on a sleeve (@yichizhng)
  • Sleeve: No longer show a dialog message if a sleeve is working at a job while quitting that company (@Kelenius)
  • Sleeve: ns.sleeve.setToBladeburnerAction works again for setting sleeves to Bladeburner contract work (@Sphyxis)
  • Singularity: Add ns.singularity.getFactionWorkTypes (@catloversg)
  • Singularity: Fix an edge case issue with ns.singularity.getAugmentationFactions (@catloversg)

OTHER

  • Nerf noodle bar

2.6.1

22 May 05:16
d2c7b25
Compare
Choose a tag to compare

v2.6.1 - 21 May 2024

MAJOR CHANGES

  • Exported savegames are now compressed. This means that savegames from 2.6.1dev will need to be manually converted before backloading into 2.6.0 (@catloversg)
  • There was a small API change related to Bladeburner. If your save file is affected by the API change, a file APIBreakInfo-2.6.1.txt will be created on your home computer, which should assist in updating your scripts.
  • Some Go scripts may also require updates, please reference the current documentation to troubleshoot any issues.

API

  • (Bladeburner) !API Break! ns.bladeburner.getCurrentAction now returns null when not performing an action (@Snarling)
  • (Corporation) Add a missing check on exportMaterial (@catloversg)
  • (Corporation) Add ns.corporation.sellDivision (@catloversg)
  • (Formulas) Add ns.formulas.hacking.growAmount (@d0sboots)
  • (Go) Some changes to the Go API, including some minor breaking changes. Please refer to the API documentation in the script editor or at https://github.com/bitburner-official/bitburner-src/blob/stable/markdown/bitburner.go.md (@ficocelliguy)
  • (Go) Added ns.go.analysis.getStats (@ficocelliguy)
  • (Go) Fix a bug that allowed facing secret opponent early or with wrong board size (@ficoccelliguy)
  • (Infiltration) More information is provided on ns.infiltration.getInfiltration (@catloversg)
  • (Singularity) Added ns.singularity.getFactionEnemies function (@jaguardeer)
  • (Sleeve) SleeveInfiltrationWork now has a nextCompletion promise (@Caldwell-74)
  • ns.getRunningScipt().tailProperties now updates x/y positions while the tail window is being moved (@catloversg)
  • Fixed an issue that caused ns.disableLog to work incorrectly for some functions (@ficocelliguy)

UI

  • (Bladeburner) Console now uses the timestamp formatting from Settings if it is set (@gmcew)
  • (Corporation) More granular control of office size increases (@adeilt)
  • (Corporation) Adjustments on storage space tooltips (@catlovers)
  • (Electron) Fixed an issue where the zoom level would not be updated correctly (@catloversg
  • (Gang) Fix inaccurate display of wanted reduction rate when performing "justice" tasks (@LJNeon)
  • (Go) Fix an incorrect displayed max favor on Go history page (@ficocelliguy)
  • (Hashnet) Show more digits when hashrate is very low (@catloversg)
  • (Infiltration) Intro screen now shows how much damage will be taken for each failure (@catloversg)
  • (Tutorial) Change display of the buttons in the Tutorial (@catloversg)
  • Fixed an issue that could cause wrong RAM value displayed in script editor (@gmcew)
  • Tweak display of very large multipliers on the Augmentations screen (@catloversg)
  • Active scripts screen will now wrap text when there is a very long list of arguments with no spaces (@catloversg)
  • Text files (.txt and .json) posted to the terminal from the ls command are now clickable (@catloversg)
  • Fixed a display issue on the bitverse page (@LJNeon)
  • Fixed a display issue on the stats page (@catloversg)
  • Fixed a display issue with CorruptableText (@catloversg)
  • Add "arguments" to list for special highlighting in script editor (@catloversg)

MISC

  • (Bladeburner) Internal code refactoring (@Snarling)
  • (Corporation) Fix an issue that could cause incorrect average material prices via bulk purchases (@catloversg)\
  • (Corporation) Refactored bribery
  • (Docs) Various doc fixes (@adeilt, @User670, @catloversg, @gmcew, @jeek, @pontsuyo, @ficocelliguy, @d0sboot, @Vilsol)
  • (Electron) Fixed an issue that could cause ghost processes on the Steam version (@catloversg
  • (Go) "No AI" white player can now pass (@ficocelliguy)
  • (Go) Reimplement superko rule, adjust save data (@ficocelliguy)
  • (Go) Balance tweaks and other bugfixes (@ficocelliguy)
  • (Go) Fix an issue that could cause the AI to try taking two turns simultaneously (@Snarling)
  • (Go) Bonus from Tetrads now applies to all combat stats (@gmcew)
  • (Go) Internally streamlined some Go code (@d0sboots, @Snarling)
  • (Hacknet) Fixed an issue in the engine loop that could cause offline earnings with hacknet to be inaccurate (@d0sboots)
  • (Inflitration) Rework and tuning for Slash game (@catloversg)
  • (Inflitration) Fix an "invalid location" crash (@catloversg)
  • (Sleeve) Fix incorrect starting shock values while in BN10
  • New internal implementation for getRandomInt (@catloversg)
  • Improved the description text for the Hamming Code contract (@gmcew)
  • Fixed a bug in the useRerender hook, which could occasionally cause UI bugs (@catloversg)
  • Added error handling in cases where a savegame cannot be loaded (@catloversg)
  • 'buy -a' command will now partially buy programs even if not all can be bought (@TheAimMan)
  • Tweaked the interaction between backdoored servers and reputation requirements (@catloversg)
  • Update Credits page to show @d0sboots as an active maintainer (@Snarling)
  • Changed the name of an augmentation at the request of the original author (@hydroflame)
  • Allow .json files (@shyguy1412)
  • Remove jquery dependency (@catloversg)
  • Disable text translation, which commonly causes crashes (@catloversg)
  • Fix an incorrect unit in ns.spawn logs (@FoGsesipod)
  • Servers that don't exist yet will not show up in autocomplete data (@catloversg)
  • Add optional file for ignoring some specific commits with git blame (@adeilt)
  • Remove some unnecessary data from save file (@Snarling)
  • Added general API break utilities for future use (@Snarling)
  • Remove an internal dependency and streamline code for downloading files (@catloversg)
  • Remove some unused internal constants (@catloversg)
  • Ensure lastNodeReset property is initialized correctly on the player object (@catloversg)
  • The value of "this" within the main function will no longer be the script module itself (@d0sboots)
  • Fixed an incorrect file mode (@mctylr-gh)
  • Nerf noodle bar (various contributors)

v2.6.0 - IPvGO (5 Mar 2024)

06 Mar 01:50
0bf01aa
Compare
Choose a tag to compare

v2.6.0 - IPvGO: 5 Mar 2024

MAJOR ADDITIONS

  • A new minigame IPvGO, based on the game Go. Visit DefComm in New Tokyo or the CIA in Sector-12 for access. Documentation for the mechanic is available ingame under "How to Play" once the mechanic is available. (@ficocelliguy)
  • A new BitNode has been added which focuses on the IPvGO mechanic (@ficocelliguy)

API

  • (Bladeburner) ns.bladeburner.getSkillUpgradeCost now returns infinity if requesting a cost above the maximum skill level (@Semanual)
  • (CodingContract) Fixed an issue where ns.codingcontract.getData was leaking internal arrays when contract data was a 2-d array (@LJNeon)
  • (CodingContract) ns.codingcontract.createDummyContract now returns the filename of the created contract (@Spartelfant)
  • (Gang) Added ns.gang.getInstallResult for determining the effect an augmentation install will have on gang member ascension multipliers (@LJNeon)
  • (Go) Added the ns.go API, which allows interaction with the new IPvGO mechanic. While this is in development, the API may undergo changes (@ficocelliguy)
  • (Hashnet) Fixed a bug that allowed spending negative hashes (@yichizhng)
  • (Ports) Added ns.nextPortWrite, which allows waiting for the next write to a port without creating a port handle object (@LJNeon)
  • (Ports) Ports now support all clonable data (@LJNeon)
  • (Singularity) Add type information for ns.singularity.getCurrentWork return value (@Semanual)
  • (Stanek) Fix ns.stanek.acceptGift which was not working in 2.5.2 (@jjclark1982)
  • ns.getPlayer now also provides the player's karma. ns.heart.break is no longer a hidden function (@LJNeon)
  • ns.atExit can be provided a string id as a second parameter, to set multiple atExit callbacks for the same script (@shyguy1412)
  • Improved the efficiency and accuracy of growth formulas (@d0sboots)
  • ns.formatNumber now throws an error if specifying a suffixStart less than 1000 (@TheAimMan)
  • HGWOptions now accepts a non-integer number of threads (@Caldwell-74)
  • Fixed outdated docs for ns.spawn() (@adeilt)
  • Fixed ns.serverExists returning incorrect value for an endgame server (@cigarmemr)
  • Refactored weaken effect calculation (@Caldwell-74)

UI

  • (Augmentations) Fixed some missing description text for Hacknet multipliers (@jjclark1982)
  • (Corporation) Align columns correctly in warehouse breakdown table (@jjclark1982)
  • (Corporation) Several typo fixes in Corporation modals (@cigarmemr)
  • (Documentation) Ingame documentation now displays line breaks inside tables correctly (@Snarling)
  • (Documentation) Added a documentation page for converting .script to .js (@LJNeon, @jjclark1982, @Snarling)
  • (Documentation) Script editor doc button points to correct docs (@LJNeon)
  • (Hashnet) Hash upgrade descriptions use proper number formatting options (@Snarling)
  • (Hacknet) Hacknet display shows a dynamic amount of columns based on screen width (@shyguy1412)
  • (Infiltration) Changed how the CheatCodeGame is displayed (@alutman, @Snarling)
  • (Infiltration) If currently performing faction work, UI defaults to trading info for rep with that faction (@LJNeon)
  • (Sleeve) If intelligence is unlocked, sleeve intelligence is shown in the UI (@Caldwell-74)
  • (Stockmarket) Changed color of stocks increasing in value (@Semanual)
  • (Terminal) Improved scroll behavior on the Terminal (@Snarling)
  • (Theme) Added 3 new theme elements to properly support light themes (@adeilt)
  • Added a tail render interval setting, changing how frequently tail windows redraw their contents (@Caldwell-74)
  • Reorganization of some content and sorting of scripts on the Active Scripts page (@Snarling, @TheAimMan)
  • "Disable Text Effects" option also disables the corrupted text display (@draughtnyan)
  • fl1ght.exe now displays the related requirements in a more readable way (@TheAimMan, @LJNeon)
  • Miscellaneous wording fixes (@cigarmemr)

MISC

  • (CodingContract) Improve parsing of player input for arrays in coding contracts (@rocket3989)
  • (Corporation) Fix an incorrect demand range for Minerals (@catloversg)
  • (Corporation) Added ingame documentation (@catloversg)
  • (Corporation) Divisions impact on corporation valuation is now based on number of offices and warehouses (@catloversg)
  • (Corporation) Improve performance of calculations (@catloversg)
  • (Bladeburner) Band-aid fix Blops count and action stopping (@Caldwell-74)
  • (Gang) Add separate money tracking for gang expenses (@deansvendsen)
  • (Ports) Port objects no longer track a separate promise for every use of nextWrite (@Snarling)
  • (Ports) Fixed a crashing bug related to the changes above (@Jman420)
  • (RemoteAPI) Remote API can be targeted to a remote device instead of the default of localhost (@Specker)
  • (RemoteAPI) Added a getAllServers method (@shyguy1412)
  • (ScriptEditor) When importing from other files that are also open in the editor, type information is now available in the IDE (@shyguy1412)
  • (ScriptEditor) Links from "ls" are now tied to that host, instead of your connected machine (@LJNeon)
  • (ScriptEditor) Script "models" in the script editor are now properly disposed (@Caldwell-74)
  • (Terminal) Add --ram-override flag to the run command (@LJNeon)
  • (Terminal) Fix incorrect help text for rm command (@LJNeon)
  • Add a helper for clamping numbers to an allowable range, and use this for player skill formulas (@Caldwell-74)
  • Protect against renaming servers to invalid names (@LJNeon)
  • All running scripts are killed upon entering the BitVerse (@LJNeon)
  • Scripts with the "temporary" flag set do not populate the Recently Killed script list on script death (@TheAimMan)
  • Fix an issue with offline income for scripts (@Caldwell-74)
  • Various "nextUpdate" promises are not tracked internally as a single promise instead of an array of promises (@Caldwell-74, @LJNeon)
  • Fix inconsistent importing of the arg library (@catloversg)
  • Clarify some information in the CONTRIBUTING.md file (@deansvendsen)
  • Internal changes to method used for cloning objects (@LJNeon)
  • Rearrange some internal constants (@Caldwell-74)
  • b1t_flum3.exe can be ran in "quick" mode (@TheAimMan)
  • Nerf noodle bar (various)
  • Nerf noodle bar moar (@Caldwell-74)

v2.5.2

26 Dec 16:00
c6141f2
Compare
Choose a tag to compare

v2.5.2 - 26 December 2023

API

  • Added limit of 1e9 for additionalMsec property of HGWOptions (@d0sboots)
  • ns.share effect is now boosted by host server core count (@TheAimMan)
  • Fix a bug with HGWOptions that caused the default value to be 1 thread even for scripts running multiple threads (@DJMatch3000)
  • (Singularity) ns.singularity.applyToCompany now returns the JobName if a job was obtained, or null otherwise - previously was boolean (@jjclark1982)
  • (Singularity) ns.singularity.getCurrentWork now requires access to the singularity API (@TheAimMan)
  • (Singularity) Added ns.singularity.getFactionInviteRequirements (@jjclark1982)
  • (Stanek) ns.stanek.chargeFragment is now boosted by host server core count (@TheAimMan)

BUGFIX

  • (Bladeburner) Operation team size modal now handles keyboard submission correctly (@Snarling)
  • (Corporation) Fixed an issue with Warehouse size being out of sync following prduct sale (@Kelenius)
  • (Factions) Fixed some display order issues, and possible multiple entries for a faction (@jjclark1982)
  • (Factions) Fixed an issue with certain factions not becoming "known" when joining them (@jjclark1982)
  • (Grafting) Entropy now has the correct negative effect on hacknet multipliers (@TheAimMan)
  • (Hashnet) Fixed an issue where the SF9.3 reward server had an incorrect number of cores (@cigarmemr)
  • (Terminal) Fixed a bug with script autocompletion when the script is inside a subdirectory (@draughtnyan)

MISC

  • Added basic protection for certain global values that could cause a recovery screen if reassigned (@Snarling)
  • Fixed conditions for an easter egg message (@cigarmemr)
  • (Bitverse) Changed listed difficulty for BN3 to "hard"
  • (CodingContract) Reduce incidence of $0 coding contract rewards in circumstances where the reward would be $0 (@trambelus)
  • (Corporation) Added better accounting of funds transactions (@jjclark1982)
  • (Corporation) Remove cooldown on starting over corporation, but maintain remaining cooldown for selling shares (@jjclark1982)
  • (Corporation) Removed some legacy code that was not doing anything (@catloversg)
  • (DevMenu) Added the ability to add/remove sleeves from the dev menu (@Sphyxis, @Snarling)
  • (Docs) Fixed various typos in documentation (@tdpeuter)
  • (Factions) Added a documentation page for faction join requirements (@jjclark1982)
  • (Formulas) Added clarification for the unit of time returned by hackTime, growTime, and weakenTime functions (@d0sboots)
  • (Ports) Promises from port.nextWrite resolve in the same order they were created, instead of reverse order (@LJNeon)
  • (Sleeve) Add task counters for Crime and Bladeburner tasks (@TheAimMan)
  • (Stock) Add some randomization to timing for stockmarket forecast change events (@Caldwell-74)
  • (Terminal) Added the --all option for unalias, to allow removing all aliases (@Sphyxis)
  • Nerf noodle bar (various contributors)

UI

  • Message for buying TOR router no longer implies the need to connect to darkweb (@Kelenius)
  • (Company) Rework of the job location details (@jjclark1982)
  • (Company) Added previous/next buttons for job location if the player has multiple jobs (@Kelenius)
  • (Factions) Only show warning about enemy factions for factions with enemies (@jjclark1982)
  • (Stanek) Improved the display of the Stanek grid (@Kelenius)

v2.5.1

30 Nov 22:06
Compare
Choose a tag to compare

v2.5.1 - 30 November 2023 Update

NOTES

For the Steam version, any special options you have enabled in the File menu may need to be reselected after this update, due to a change in how these settings are stored.

MAJOR ADDITIONS

  • Added a faction rumors system, to learn the requirements for joining factions ingame (@jjclark1982)

API

  • (Bladeburner) Added ns.bladeburner.nextUpdate, which allows waiting for the next update of the bladeburner mechanic (@jjclark1982)
  • (Bladeburner) Added ns.bladeburner.getNextBlackOp, which provides name and rank info for the next Black Operation that can be completed (@myCatsName)
  • (Corporation) Added ns.corporation.nextUpdate, which allows waiting for the next update of the corporation mechanic (@jjclark1982)
  • (Corporation) Added a size property to the return value of getProduct (@Caldwell-74)
  • (Corporation) ns.corporation.getCorporation return value: 'state' property is deprecated. Added 'prevState' and 'nextState' properties. (@Caldwell-74)
  • (Gang) Added ns.gang.nextUpdate, which allows waiting for the next update of the gang mechanic (@jjclark1982)
  • (Singularity) Added a JobField enum, and used this for the ns.singularity.applyToCompany function (@alutman)
  • (Singularity) ns.singularity.purchaseProgram now returns true for programs that are already owned even if the player doesn't have enough money to re-buy the program (@ncharris93)
  • (Sleeve) Added nextCompletion promise as a property of sleeve bladeburner work tasks (@Snarling)
  • (Stanek) Added an effect property to getFragment (@TheAimMan)
  • (Stock) Added ns.stock.nextUpdate, which allows waiting for the next update of the stock mechanic (@jjclark1982)

BUGFIX

  • (Bladeburner) Fixed a bug that could allow reaching -1 contracts available (@TheAimMan)
  • (Corporation) Fix an incorrect calculation when adding more employees to an office (@Caldwell-74)
  • (Corporation) Bulk purchase can no longer be used to exceed maximum warehouse capacity (@TheAimMan)
  • (Corporation) Fixed a bug that allowed out-of-order research (@TheAimMan)
  • (Corporation) Product production cost is stored separately for each city (@Caldwell-74)
  • (Sleeve) Sleeve crime work can no longer cause an overflow of %completion when performing quick crimes during bonus time (@TheAimMan)
  • (Stanek) Multipliers from Stanek are now calculated correctly even if the player has Entropy (@yichizhng)
  • (Stanek) Fix a bug where Stanek bonuses were not being removed correctly after a reset (@TheAimMan)
  • Fix an error that would occur in some cases when using gymGains or universityGains (@cigarmemr)
  • Fix tab autocompletion when running a sceript without the run command (@mytskine)
  • Fix a bug that could cause the wrong coding contract to be deleted when using rm (@TheAimMan)
  • Scripts no longer show $0 for offline money income (@alutman)
  • Faction invitations are now cleared properly when performing a reset (@alutman)
  • API functions that work on a hostname no longer work on servers that have not been added to the network. (@TheAimMan)
  • Fix an issue where the "True Recursion" achievement could be granted incorrectly (@jjclark1982)

MISC

  • (Sleeve) Added ability to set a sleeve to idle through the UI (@Sphyxis)
  • Updated lots of dependencies (@Caldwell-74)
  • Updated electron to the latest version (Steam version only) (@Snarling)
  • Various spelling / grammar / wording fixes (@ficocelliguy, @Squirlll, @Warrobot10)
  • Minor reorganization and streamlining in Script Editor code (@Snarling)
  • Tweaked the .lit file referencing Illuminati to give a better idea about joining requirements (@d0sboots)
  • (Steam version) Replaced outdated electron-config with electron-store (@tiziodcaio)

UI

  • (Corporation) Improved the display of corporation state. (@Caldwell-74)
  • (Corporation) Improved various Corporation UIs (@jjclark1982)
  • (Gang) Removed the territory warfare toggle from the main Gang screen (@Tyasuh)
  • Added number of exploits to import savegame comparison (@myCatsName)
  • Dev menu improvements (@myCatsName, @Snarling)
  • Added a credits button on the options page (@myCatsName)

v2.5.0

02 Oct 23:44
Compare
Choose a tag to compare

v2.5.0 (10/2/2023)

NOTES

(Corporation) Bugfixes in Corporation may cause a large balance shift for this mechanic.

API CHANGES:

  • ns.print and ns.tprint now handle printing Set and Map objects directly (@ficocelliguy)
  • ns.spawn can now use a configurable delay instead of always 10 seconds (@muesli4brekkies)
  • (Corporation) Added CorporationDivisions property to BitNodeMultipliers interface (@Caldwell-74)
  • (Corporation) Added makesMaterials and makesProducts properties to CorpIndustryData interface (@Caldwell-74)
  • (Corporation) Added issueNewSharesCooldown property to the CorporationInfo interface (@Caldwell-74)
  • (Corporation) Significantly lowered ram cost of all corporation functions (@jjclark1982)
  • (Gang) Added ns.gang.getRecruitsAvailable: Gets the number of additional gang members that can currently be recruited (@myCatsName)
  • (Gang) Added ns.gang.respectForNextRecruit: Gets the respect threshold for recruiting the next gang member (@myCatsName)
  • (Gang) Added ns.gang.renameMember: Renames a gang member (@myCatsName)

BUGFIX

  • Taking a university class no longer gives the player an achievement for working out in a gym (@myCatsName)
  • Bash keybind ctrl-C clears an ongoing terminal history search (@ncharris93)
  • (Corporation): Fix bug in valuation calculation (@yichizhng)
  • (Corporation): Fix bug in share price calculation (@jjclark1982)
  • (Corporation) "Same sell amount in all cities" works with Products again (@Caldwell-74)
  • (Hashnet) Buying multiple company favor upgrades at the same time will actually apply them all instead of just one (@aschmider)

OTHER CHANGES

  • MISC: Improved handling of aliases in the Terminal (@ficocelliguy)
  • MISC: Improved error messages for ns.getPurchasedServer (@ficocelliguy)
  • MISC: ns.sleep and ns.asleep now show a formatted time in the script log. (@ficocelliguy)
  • MISC: Fix an exploit that allowed over 100% utilization of a server's ram (@d0sboots)
  • MISC: (Bladeburner / Sleeve) Bladeburner training action is available for sleeves (@Zelow79)
  • MISC: (Gang) Renamed the Territory Warfare mechanic (now referred to as Territory Clashes) to deconflict with the Territory Warfare gang member task (@ficocelliguy)
  • UI: Infiltration now hides tail windows instead of temporarily removing them from the page. This means position/size will remain as they were before the infiltration, and any React content will remain active instead of being unmounted/remounted (@ficocelliguy)
  • UI: Faction augmentation page updates more reliably (@zerbosh)
  • UI: Added a text filter on the Faction Augmentations page (@ficocelliguy)
  • UI: Improved pagination of Active Scripts page (@Ookamiko, @ficocelliguy)
  • UI: Icarus message no longer shows repeatedly for players that are in the endgame (@ficocelliguy)
  • UI: Remove work completion dialogs when performing an augmentation install (@ficocelliguy)
  • UI: Improve soft reset dialog, and always show dialog when soft resetting (@myCatsName)
  • UI: While closing, modals no longer update displayed info and become inert (@Snarling)
  • UI: (Bladeburner) Fix a possible NaN display value in Bladeburner (@zerbosh)
  • UI: (Corporation) Multiple UI improvements for Corporation (@jjclark1982)
  • UI: (Corporation) Tweaked some number formatting to look better in Corp and Stats page (@zerbosh)
  • UI: (Corporation) Market TA no longer has its own dialog box, it's set in the normal sell dialog (@Caldwell-74)
  • UI: (Corporation) Fix an incorrect value in the party dialog box (@aschmider)
  • UI: (Corporation) Improved the descriptions for Corporation states (@Caldwell-74)
  • UI: (Gang) Various UI improvements for Gang (@myCatsName)
  • DOCS: Improve documentation for ports (@muesli4brekkies)
  • DOCS: Updated documentation for ns.tail and ns.getScriptLogs to make it clear a PID can be used (@myCatsName)
  • DOCS: Improve documentation for FilenameOrPID functions (@VictorS)
  • DOCS: Improved various existing ingame documentation pages (@myCatsName)
  • DOCS: (Bladeburner / Gang) Added initial ingame documentation for Bladeburner and Gang (@myCatsName)
  • DOCS: (Bladeburner / Gang) Improve API documentation for Bladeburner and Gang functions (@myCatsName)

v2.4.1

26 Aug 22:09
de5ebc9
Compare
Choose a tag to compare

v2.4.1 Update (8/26/23)

FEATURE ADDITIONS:

  • Added "Enable terminal history search with arrow keys" option in Misc options category, inspired by similar functionality in shells like zsh. (@ficocelliguy)

BUGFIX:

  • Fixed a bug where buying NeuroFlux Governor would buy one less level than expected (@zerbosh)
  • Fixed an issue that could cause the Coding Contract UI to become unreachable (@myCatsName)
  • Infiltration: Knowledge of Apollo aug no longer highlights the incorrect wires (@Snarling)

CODEBASE / DOCS / MISC:

  • Added a new theme "zerenity" (@Zelow79)
  • Reorganize game constants (@zerbosh)
  • Reorganize ingame documentation folder structure, simplify documentation bundling (@Snarling)
  • IP Address coding contract accepts single-quoted entries (@myCatsName)
  • Updated an outdated message on ns.killall logs (@myCatsName)
  • Updated documentation for ns.share and ns.getSharePower (@myCatsName)
  • Removed functions (like ns.getServerRam) are no longer shown when enumerating ns entries. (@Snarling)
  • Removed more references to ReadTheDocs that remained after 2.4.0 (@hydroflame)
  • Fixed some typos/spacing (@myCatsName)
  • Fixed an issue with incorrect React keys in active scripts page (@zornlemma)

API CHANGES (NON-SPOILER)

  • Added ns.stock.getConstants (@Snarling)
  • Added ownedAugs and ownedSF properties to return data of ns.getResetInfo (@Snarling)

API CHANGES (SPOILERS):

  • Added ns.singularity.getAugmentationFactions to provide a list of factions that have a given augmentation (@myCatsName)
  • ns.corporation.getConstants now has a ram cost of 0 (@Snarling)

OTHER CHANGES (SPOILERS):

  • Successes for next level is now accurate in the UI for Bladeburner operations (@myCatsName)
  • ns.sleeve.setToFactionWork no longer allows working for factions the player has not joined (@Snarling)