Skip to content

Releases: bitburner-official/bitburner-src

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)

v2.4.0

31 Jul 02:09
f5cdb48
Compare
Choose a tag to compare

v2.4.0 - Death to readthedocs

NETSCRIPT:

  • Added ns.getFunctionRamCost
  • Added run and install identifier

CORP:

  • Add product investment info to API
  • Prevent issues with invalid materials in warehouse
  • Update exportMaterial amount to number | string
  • Validate city with office for starting product development

DOCUMENTATION:

  • readthedoc.bitburner.whatever has been fully deprecated.
    That documentation is now available in-game. This will make
    documentation easier to maintain and easier to keep locked
    with the specific version of the game you're playing.
    It's also in .md, which is more common than .rst
  • Add printRaw and tprintRaw docs
  • Better docs for ascension result
  • Complete the spec for hamming codes enhancement
  • Fix example code for scp

MISC.

  • Fixed a bug where RAM calculation would be innacurate for near copy of scripts on different servers
  • Fix mislead error message about ram miscalculation when script contains syntax errors.
  • Fix bug in calculating faction donation amount
  • Fix bug where Sleeve would have difficulty doing certain University activities.
  • Fix regression for crime in progress
  • Prevent log scrolling on Active Script window drag
  • show all skills in import save comparison tool
  • Fix extremely minor calculation error where money drained after hack was being floor()
  • Fix ram evaluation to include more edge-cases
  • Fix potential double-free in atExit()

CODEBASE:

  • Work on Enum Helper + Reorganise
  • enforce eslint react checks
  • corp code style improvement
  • Added a lot of typesafety

v2.3.1

07 Jun 18:47
Compare
Choose a tag to compare

Release for 2.3.1. Downloadable non-steam version is attached.

Changelog:

v2.3.1 - Bugfixes 7 June 2023

NETSCRIPT:

  • Added ns.setTitle, which sets the titlebar of a script's tail window (@d0sboots)
  • Added ns.getFunctionRamCost, which gets the ramcost of a netscript function (@G4mingJon4s)
  • ns.ls results will filter as if the filenames have a leading slash (@Snarling)

GENERAL / MISC:

  • Changed tail window buttons into icon buttons, allow setting custom title, and tail window bugfixes. (@d0sboots)
  • Terminal no longer scrolls to the bottom constantly while an action is being performed (@bezrodnov)
  • Added a close button to modals (@bezrodnov)
  • Fixed several issues with script editor tabs (@bezrodnov)
  • scp terminal command can copy multiple files at once, like help text indicates (@Snarling)
  • Root directory is no longer displayed as ~ in the terminal prompt, it is displayed as / (@Snarling)
  • cd with no arguments will change to the root directory (@Snarling)
  • Documentation updates (various)
  • Nerf noodle bar

HOTFIXES (these were already backported to 2.3.0 before 2.3.1 release):

  • Several important fixes for savegame migration issues from older version (@d0sboots)
  • Prevent scripts from loading during intial migration to 2.3.0 save format, to prevent a crash that could occur. (@Snarling)
  • Fix scp logging (hostname was being logged incorrectly in multiple places and showing as [Object object]) (@Snarling)
  • Update terminal parsing logic so that the old syntax for alias works again. (@Snarling)
  • Fix clickable script links from ls command not working outside root directory (@Snarling)
  • Fix an issue with Find All Valid Math Expressions not accepting empty array when that was the solution. (@Snarling)
  • Fix an issue with scan-analyze display when the player had AutoLink.exe (@Snarling)
  • Reverted undocumented change that program filenames were case sensitive for ns.fileExists. They are case insensitive again. (@Snarling)
  • An issue from pre-2.3 could cause scripts to have the wrong "server" property. This caused issues in 2.3, and a fix now repairs any scripts with a mismatched server property. (@Snarling)
  • More fixes to help old savegames load correctly (@Snarling)
  • Servers can no longer have infinite time-to-hack. (@Snarling)

SPOILER SECTIONS:

SF2:

  • Overall gang respect gain rate now reads accurately, instead of showing ~10x. (@Snarling)

SF3:

  • Added "maxProducts" property to ns.corporation.getDivision return value (@kateract)
  • Fixed an issue with sell price parsing for materials (@zerbosh)
  • Fixed display of market price for materials and products (@zerbosh)
  • Fixes for Corp import/export issues, such as -IPROD and Smart Supply not working right (@d0sboots)
  • Improvements to the max-affordable-upgrades calculation (@bezrodnov)
  • Perform additional validation when setting up an export. Exports are now unique per targeted division+city. (@Snarling)
  • ns.corporation.cancelExport no longer requires the exported amount (@Snarling)
  • Fix NaN bug that could impact Robot material in Robotics division (@Snarling, @kateract)
  • Can no longer commence product development in a city with no office (which would immediately error out the game loop) (@Snarling)
  • (Hotfix) Fix issue that could lead to SF3 research desync. (@Snarling)
  • (Hotfix) Fix SF3 "Spring Water" industry (@Snarling)

SF4:

  • Fixed an issue that could cause singularity run-after-reset callback scripts to not launch correctly (@Snarling)