## 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 included an error in how the steam cloud saves were handled, sorry about that! This should now be fixed on the main release branch (development branch will see a larger update, including this change, later today) HOTFIX Steam cloud saves should work again correctly (@catloversg on GitHub)
## 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)
### 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)
Additional notes: It was reported that 2.5.0 was the most recent release to work on Windows 7 and 8, so a new legacy branch was added for Steam users who are on these older OSes. Newer versions of the game can be played on the web: Release branch: https://bitburner-official.github.io/ Development branch: https://bitburner-official.github.io/bitburner-src/ The Development version (available on the Steam development branch or via the web link above) contains a new IPvGO mechanic and a new BN14 that revolves around this mechanic. This will be officially released in the next game release version 2.6.0. ## 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)
Any special options you have enabled in the File menu will need to be reselected after this update, due to a change in how these settings are stored internally. Also, a new previous_release branch has been added on steam. This will be one version behind the current live release. For instance, with this 2.5.1 release, the previous_release branch has version 2.5.0, but it will update to 2.5.1 when the next version is released. The previous_release branch or the existing development branch can be selected via Properties -> Betas -> Beta Participation. ### 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 (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 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)
2.3.0 release came with a lot of bugs, so we're short-cycling the 2.3.1 release to get a large number of bugfixes out. There are also a few feature changes, see the full changelog below: 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)
Sorry for the rocky launch folks! Hopefully this is the last set of hotfixes needed for the 2.3.0 main branch. Please continue to report any issues, thanks!
- Several important fixes for savegame migration issues from older save versions. (@d0sboots)
- Fix terminal parsing so that alias works with normal syntax again. (@Snarling)
- Find All Valid Math Expressions now accepts empty array again when that is the solution. (@Snarling)
- Initial 2.3.0 release made fileExists case sensitive for all filetypes, including programs (.exe). It's now back to case-insensitive for programs. (@Snarling)
Fixed some save migration issues. Fixed an SF3 issue with "Spring Water" industry. Thanks to everyone who has been submitting bug reports, and thanks everyone for your patience while we've been working through these issues!
* Fixed an error where multi-buying corporation upgrades was not applying a multi-benefit. * Fixed ls clickable script links not opening the code correctly when ls was in a directory other than root * Addressed an issue where a soft reset would not complete successfully due to runningScripts that were loaded onto the wrong server. We're still looking into what allowed for the invalid runningScript server data in the first place. * Fixed the help text for alias to provide a new command format that works for assigning aliases with spaces/semicolons.
Fixes a potential crash when initially migrating the save to 2.3.0. Running scripts will not be loaded on the initial savegame migration - any scripts will need to be relaunched manually after the save migration.
Version 2.3.0 is live on the main branch! Going forward, the development branch will also see more frequent updates. See the 2.3.0 changelog below. Please report any issues on github or on the #bug-report channel on discord. v2.3.0 - SF3 rework and performance improvements (25 May 2023) ---------------------------------------------------------------- BREAKING CHANGES: These changes may require changes to your scripts. * Major changes to the SF3 mechanic. See the related spoiler section below for more detailed info on the changes. * The same script filename can now be ran multiple times with the same args. If running a script from another script (ns.run / ns.exec / etc), this limitation can be re-imposed with the preventDuplicates RunOption (see general section for info on RunOptions). * The same .js script will now be the same js module whether the script was ran directly or used as an import. This means top-level variables (variables defined outside of any function) are shared across all instances of the script. * The js module for a script will also be reused by any script that has the exact same compiled text, even if that script is on another server or has a different filename. This can lead to unexpected results when using top-level variables. * Some properties removed from ns.getPlayer and added to a separate function ns.getResetInfo. These are still accessible from getPlayer but will produce a warning message the first time they are accessed per game session. * hackAnalyzeThreads now returns -1, instead of 0, when no money can be hacked from the targeted server. * ns.iKnowWhatImDoing has been removed, replaced by ns.tprintRaw for printing custom react content to the terminal (limited support). PERFORMANCE: * Minimize impact of unavoidable memory leak when modules are created, by reusing modules as much as possible (@d0sboots) * Internal data structure changes (@d0sboots, @Snarling) * Fix memory leak when initializing large number of netscript ports (@Snarling) * Improve performance while on the Active Scripts page if many scripts are starting/ending. (@d0sboots) NETSCRIPT GENERAL: * Remove requirement for script args to be unique. This was also related to performance improvements. (@d0sboots) * ns.hackAnalyzeThreads no longer indicates infinity any time a single thread would hack less than $1 (@Snarling) * ns.renamePurchasedServer no longer crashes if player is connected to the server being renamed (@Snarling) * ns.hackAnalyzeThreads now return -1 (instead of 0) if no money can be hacked from the targeted server. (@d0sboots) * Fix a possible infinite atExit loop if a script killed itself. (@Snarling) * Static timestamps of last resets can be obtained via ns.getResetInfo, replacing playtimeSinceLastX from ns.getPlayer (@G4mingJon4s) * Improved support for printing react content directly to the terminal (ns.tprintRaw) or to a script log (ns.printRaw). * Added RunOptions, which can optionally replace the "threads" argument for ns.run / ns.exec / ns.spawn. (@d0sboots) * RunOptions.threads: Provide a thread count (since RunOptions can replace the threads argument) * RunOptions.temporary: Prevents the script execution from being included in the save file. * RunOptions.ramOverride: Provide a static ram cost for the script to override what is calculated by the game. Dynamic ram checking is still enforced. * RunOptions.preventDuplicates: Fail to launch the script if the args are identical to a script already running. GENERAL / MISC: * Fixed a bug that could cause the overview skill bars to become desynced (@d0sboots) * There is now an autoexec setting to specify a script on home to automatically run when loading the game. (@d0sboots) * Monaco script editor updated to a newer version and has more config options available now. (@Snarling) * Improve Electron's handling of external links (@Snarling) * Improved support for ANSI color codes (@d0sboots) * Improved consistency of file paths. Correct names for files no longer start with a / even if they are in a directory. (@Snarling) * All Math Expressions contract no longer accepts wrong answers (@Snarling) * Faction invites now trigger immediately when backdooring a server. (@Snarling) * Fixed issue where duplicate programs could be created. (@Minzenkatze) * UI improvements to create program page (@Minzenkatze) * Fix inconsistency in skill xp to skill level conversion (@hydroflame) * Updated blood donation counter to reflect number of confirmed blood donations. (@hydroflame) * Minor improvements to ram calculation process (@Snarling) * Improved terminal arguments detection (@Snarling) * Improved display for ls terminal command. (@Snarling) * Added more internal tests and improved test quality (@d0sboots) * Various codebase improvements (@Snarling, @d0sboots) * Documentation improvements (Many contributors) * Nerf noodle bar SPOILER SECTIONS: SF2: * Corrected the "Next equipment unlock" text for member upgrades. (@LiamGeorge1999) SF3: * Many Corporation API changes, due to functionality changes and due to property name changes. See documentation for correct usage. * Can now have multiple divisions within the same industry. (@Mughur) * Can now sell a division or sell the entire corporation. (@Mughur) * Product quality now depends on material quality (@Mughur) * Product price can be set separately per-city (@Mughur) * Exports can be set relative to inventory or production (@Mughur) * ns.corporation.getProduct is city-specific (@Mughur) * Bulk purchasing is available from the start (@Mughur) * Can buy multiple upgrades at a time, similar to hacknet node upgrades (@Mughur) * Various UI changes (@Mughur) * Removed happiness from employees (@Mughur) * Coffee renamed to tea (@Mughur) * Training position renamed to intern (@Mughur) * More options for SmartSupply (@Mughur) * Advertising nerf (@Mughur) * Nerfed investors and reduced effectiveness of "fraud" (@Mughur) * Fixed React errors, renamed most corp object properties (@Snarling) * Various other changes (@Mughur, @Snarling) SF4: * Faction invites trigger immediately when running ns.singularity.getFactionInvitations (@Snarling) * Added ns.singularity.getCompanyPositionInfo (@jeek) SF6: * Failing a contract or operation now consumes the action (@Zelow79) SF9: * The SF9.3 bonus is also given to the player when inside of BN9. (@Zelow79) * Adjusted the SF1 bonus for hacknet costs (slight nerf), and raised the SF9 bonus to compensate. (@d0sboots) * Added option to purchase company favor using hashes. (@jeek) SF10: * Sleeve shock recovery now scales with intelligence. (@Tyasuh) * Sleeve kills during crimes count towards numPeopleKilled (@Zelow79) * Fix a misspelled moneySourceTracker call for sleeves (@zerbosh) * ns.sleeve.getTask return value now includes cyclesNeeded where applicable (@Snarling) * Internal type refactoring on Sleeve Work. (@Snarling) SF12: * Fix inconsistency in how BN12 multipliers were calculated SF13: * Improve performance of Stanek's gift update cycle, and rework (buff) bonus time handling. (@Snarling)
v2.3.0 - Hydro is back baby! ** Scripting ** - Replaced NS2 with NS3, we're thrilled to move on from Javascript to Rust. Note that this will break existing scripts. - ns.print and tprint now return randomly encrypted values. - Added a ram cost to every JS reserved word to better simulate real world ram usage. ** World ** - Travel restricted due to covid concerns. ** Sleeves ** - Sleeves may now explode at random because of faulty firmware by VitaLife. - Sleeves no longer contribute to karma. - New Sleeve task added: Eat noodles. - The IRS found about your sleeves will you will be taxes 9x more. - Corrected typo: Sleeves now properly named Steves. ** UI ** - Terminal updated to Windows 10. - The default font has been changed to Wingdings. - The script editor has been removes in an effort to reduce the amount of buggy scripts. ** Gang ** - In an effort to reduce jealousy among factions, joining a faction while you have more than 3 factions will result in leaving a random faction. - Due to social distancing, gangs are now known as groups. - New equipment type for gangs: Fly Swatter to help reduce ever growing bug problems. ** BN ** - BN14 now available for our premium subscribers. Starting at $199/y but available for $198/y for a limited time. - The NSA has found out about your sleeves, you can no longer have sleeves and be in BladeBurner at the same time. - Hydroflame is working on BN14 and not his next game. ** Bug fixes ** - Fixed a bug that caused augmentation price to double in price instead of dividing by 2. - Fixed a bug where grow added $1 per thread. - Fixed a bug where the same script could be run more than once at the same time. ** Misc. ** - No animals were harmed in the making of this patch. OK, well, maybe one or two. - Removed jump scare from BN12.433. - Removed all illegal activities (including hacking, get a job or something). - Removed Australia because its a government conspiracy. - Removed keyboard support. Only touch screen is supported now. - Bitburner would like to apologize to the great nation of Agrabah. We understand what we did wrong and we are sorry. - The game is now double-rot13-encrypted to ensure secure transfer. - All damage now reduces max hp instead of current - The dev team has been overtaken by the french, all new content will be written in french - Removed multiplayer - In addition to blood donations youll now be able to donate more organs to Hydroflame. - Bitburner now requires link to bank account and uses players real money. - Due to DNS being broken we're relying on IP addresses only. - Changed the default theme to light mode (other themes currently unavailable while we rework the theme system). - Added Terabyteburner4000 inside Gigabyteburner3000. - Reaching $ 1.8e308 now allows you to gain 1 IP which you can spend on upgrades, wait wrong game. - Inflation has been added, aug prices will now passivelyrise. - Following last year, Joe from Joes guns is now in prison and divorced. - Buffed n00dles. - Pretend I posted this 2023-04-01 your time.
v2.2.1 Hotfixes Hotfix / bugfix: * (@d0sboots) Implemented a new API wrapping solution that prevents the need for binding functions to ns when placing them in a new variable, but maintains and perhaps improves upon the performance gains from the previous v2.2.0 changes. * Fixed some issues with savegames failing to load, or causing the main engine loop to stall after load. * Fixed an issue where .script files were not receiving the correct args when ran * Fixed an issue with sleeve HP calculation * Possible fix for MathJax "Typesetting Failed" errors * There was an issue with Corporations decaying their employees to 0 stats, even though the minimum was supposed to be 5. Moved the variable storing the min decay value to corporation constants, and raised it to 10. * Regenerated documentation at https://github.com/bitburner-official/bitburner-src/blob/dev/markdown/bitburner.ns.md due to corporation changes related to min decay stats. * Faction XP was unintentionally providing 20x the experience gain as it did prior to v2.0. This caused faction work to exceed gym/university as the optimal way to gain experience. Values have been reduced to only about 2x what they were prior to v2.0, and they are no longer better than gym/university. * Fixed an issue where the overview skill bars could be displayed inaccurately based on player multipliers.
v2.2.0 - Jan 2 2023 Development Reboot Dev notes * The previous main developer, hydroflame, is stepping back from this project for the foreseeable future. To facilitate this, we've moved the repo to a new location at https://github.com/bitburner-official/bitburner-src * Sorry for the large number of API breaks in this version. To ease the pain here, attempting to use any of the removed functions will provide an error guiding you to the new replacement function to use instead. BREAKING API CHANGES: * (ns2 only) ns functions use the 'this' value from ns: if you move the function to its own variable off of ns, it needs to be bound to ns. e.g.: const tprint1 = ns.tprint; // This doesn't work and will error out when calling tprint1(); const tprint = ns.tprint.bind(ns); // This works because the 'this' value is preserved. The internal changes that make this necessary led to very large performance gains for running many scripts at once. * ns.getPlayer no longer provides properties tor, inBladeburner, or hasCorporation. This information can be looked up using standlone functions: ns.hasTorRouter(), ns.bladeburner.inBladeburner(), ns.corporation.hasCorporation(). * Removed many functions, with replacement ways to get the same info. getServerRam: use getServerMaxRam and getServerUsedRam instead. corporation.assignJob: use setAutoJobAssignment instead. corporation.getEmployee: No longer available (employees are not individual objects). corporation.getExpandCityCost: use ns.corporation.getConstants().officeInitialCost corporation.getExpandIndustryCost: use getIndustryData instead. corporation.getIndustryTypes: use ns.corporation.getConstants().industryNames corporation.getMaterialNames: use ns.corporation.getConstants().materialNames corporation.getPurchaseWarehouseCost: use ns.corporation.getConstants().warehouseInitialCost corporation.getResearchNames: use ns.corporation.getConstants().researchNames corporation.getUnlockables: use ns.corporation.getConstants().unlockNames corporation.getUpgradeNames: use ns.corporation.getConstants().upgradeNames formulas.work.classGains: split into universityGains and gymGains singularity.getAugmentationCost: use getAugmentationPrice and getAugmentationRepReq instead sleeve.getSleeveStats: use getSleeve instead sleeve.getInformation: use getSleeve instead * An error dialog will inform the player of the above API changes if the player tries to use one of the removed functions above. * enums.toast was renamed ToastVariant to provide consistency with internal code. * codingcontract.attempt always returns a string (empty string for a failed attempt). This may break player code if a direct boolean comparison (e.g. 'attemptResult === true') was being made. The string can be used directly as the conditional, because empty string evaluates to false as a boolean. * corporation.getCorporation().divisions now returns an array of division names, instead of division objects. Use corporation.getDivision(name) to get the division info object. DEVELOPMENT * Development repo moved to https://github.com/bitburner-official/bitburner-src * Dev version available on web at https://bitburner-official.github.io/bitburner-src/ * Development is active again for non-bugfix. * A bunch of fixes and setup related to moving to a new repo (@hydroflame) TUTORIAL * Removed NS1/NS2 selection. Tutorial now only references .js files (NS1 is essentially deprecated) (@Mughur) * Fix Ram Text (by @jaculler) NETSCRIPT * Added ns.pid property to access a script's PID without a function call. (@jeek) * Much faster API wrapping on script launch. (@d0sboots) To support this, ns functions need to keep their "this" value from their parent object. * Expose more enums for player use under ns.enums (@Snarling) * tFormat: Fix display for negative time * ns.getPlayer: removed tor, inBladeburner, and hasCorporation properties * Added ns.hasTorRouter() function. -- CODING CONTRACT * ns.codingcontract.attempt always returns a string. (@Snarling) -- CORPORATION * Removed ns.corporation.getEmployee and ns.corporation.assignJob, due to employees no longer being objects. * Added ns.corporation.hasCorporation(); * Reworked how ram costs are applied for corporation. -- FORMULAS * ns.formulas.work.classGains removed, replaced with ns.formulas.work.universityGains and ns.formulas.work.gymGains (@Snarling) * Add ns.formulas.work.companyGains function (@AlexeyKozhemiakin) -- PORTS * added portHandle.nextWrite() (@LJNeon) * Make ns.writePort synchronous (@Snarling) -- SLEEVE * ns.sleeve.getSleeve added. getPlayer and getSleeve can both be used for formulas. (@Snarling) * getSleeve also includes storedCycles (i.e. bonusTime) (@zerbosh) -- STOCK * ns.stock.getOrganization added for getting org from stock symbol (@SamuraiNinjaGuy) SCRIPTS * Fixed bug where zombie scripts could be created after a soft reset (@Snarling) * Scripts now have a maximum ram cost of 1024GB per thread. SCRIPT LOGS * Add ctrl-a support for selecting all text in tail window (@Snarling) CORPORATION * Remove corp employees as objects (by @Kelenius) * API access is provided automatically if the player is in BN3. (@zerbosh) * Happiness/Energy/Morale trend down even for productive corps (by @Snarling) * Typo fixes in modals to sell materials and products (by @quacksouls) * Reworked MP formula validation to prevent possible save corruption on invalid entry (by @Snarling) * Internal reorganization of Industry data (by @Snarling) * Added check to material buy amount (by @G4mingJon4s) * Check there is room to make a new product before opening popup. (by @G4mingJon4s) * Fix typos in research descriptions (by @quacksouls) SLEEVE * Fixed inconsistencies in how sleeve work rewards are handled. (by @Snarling) * Fix bug that prevented selecting some crimes from UI. (by @Snarling) * Internally shock starts at 100 and lowers to 0. Previously this was backwards. STOCKMARKET * Fix broken initializer when manually buying WSE access (by @Snarling) TERMINAL * Added changelog command to re-display the changelog dialog. * Connect command will connect to player owned servers from anywhere. (by @Snarling) UI * Improve UI performance of sidebar and character overview using memoization (@d0sboots) * Other UI additions / improvements (@Mughur, @d0sboots, probably others) * Fixed spacing of text in Trade for reputation button after Infiltration (by @PyroGenesis) * Fix spacing on ANSI background escape codes (by @Snarling) * Fix several instances where newlines were not being displayed properly (by @quacksouls) * SoftResetButton.tsx Tooltip changed to make more sense (by @rai68) * GANG: Fix Gang UI to correctly report the bonus time multiplier as 25x (by @TheMas3212) * Change formatting for skill levels to use localeStr (@G4mingJon4s) DOC * Fix incorrect examples for grow (by @quacksouls) * Updated limitMaterialProduction() and limitProductProduction() documentation to mention removing limits. (by @PyroGenesis) * Add ns documentation for possible sleeve tasks (by @Snarling) * Update documentation for workForFaction and workForCompany (by @quacksouls) * Improve CCT documentation for HammingCodes (by @quacksouls) * cleanup in doc of Netscript functions (by @quacksouls) * Various other doc fixes (by @quacksouls) * Update documentation for ns.args (by @Snarling) * De-uglify ns.print examples (by @LJNeon) STATS * Fix logic for increasing HP based on defense skill levels (by @mattgarretson) * Fix a bug where HP could be something other than max after a bitnode reset. INFILTRATION * Fix SlashGame scaling. (by @Snarling) GANG * When starting a gang, any in progress work with that faction will end. (@G4mingJon4s) MISC * Remove google analytics (@hydroflame) * Some error handling streamlining (by @Snarling) * fix: check both ts and js source now (by @Tanimodori) * chore: sync version in package-lock.json (by @Tanimodori) * Better safety when loading game for multiple save corruption issues (by @Snarling) * Nerf Noodle bar
v2.0.0 is live. Me and other members of the community will be available on Discord to help if you have any question about specific changes. Make sure you read your V2.0.0_API_BREAK.txt carefully.
Hi everyone, v2 has stabilitzed, however will not be released until after I come back from vacation (3 weeks from now) so I can help with any problems that might occur. However everything is ready, You can see the patch notes here as well as the migration guide here When v2 loads up. The game will give you 10 Neuroflux Governor. It will show you a message to help you migrate, and will drop a file called V2_0_0_API_BREAK.txt on your home computer that will help find all the potential errors. Again, you're free to move to v2 right away by either setting your branch to development or by using the beta web version Cheers,
We are preparing v2.0.0. One part of this release is the new work system which breaks some API. But while were at it we are going to fix a few other pain points in the API. In exchange when it launches everyone gets +10 level of NFG. You can play v2.0.0 by switching over to the development branch. If you want to help join discord or log bugs to github. Thank you <3
I'm so sorry, totally missed it during testing. NS1 scripts should run fine now.
The mechanism has been reworked such that it only crashes when the scripts don't give up context for 2 full seconds. (Instead of 1000 ns function call) The function asleep still doesn't reset the counter and I'm monitoring the situation, trying to figure out if it should or not. Thank you for your patience.
## [draft] v1.7.0 - 2022-04-13 to 2022-05-20 #### Information Modifications included between **2022-04-13** and **2022-05-20** 'b5e4d70' to '0fbe4a1'). _[See Pull Requests on GitHub](https://github.com/search?q=user%3Adanielyxie%20repo%3Abitburner%20is%3Apr%20is%3Amerged%20merged%3A%222022-04-13T16%3A32%3A26.000Z..2022-05-20T06%3A08%3A51.000Z%22)_ #### Merged Pull Requests - [Feature] Monaco Theme Editor (by @nickofolas) #[3438](https://github.com/danielyxie/bitburner/pull/3438) - [Fix] Dummy Stanek grid width (by @nickofolas) #[3442](https://github.com/danielyxie/bitburner/pull/3442) - [Fix] Theme browser assets not loading (by @nickofolas) #[3446](https://github.com/danielyxie/bitburner/pull/3446) - Accept valid JSON arrays in coding contracts (by @Savlik) #[3247](https://github.com/danielyxie/bitburner/pull/3247) - another dark theme? (by @hydroflame) #[3450](https://github.com/danielyxie/bitburner/pull/3450) - API: Add repFromDonation() to the Formula API (by @Hoekstraa) #[3461](https://github.com/danielyxie/bitburner/pull/3461) - API: Add safeguard to ns.killall(), preventing killing itself by default (by @Hoekstraa) #[3607](https://github.com/danielyxie/bitburner/pull/3607) - API: FIX #2993 sleeve.travel with invalid city names (by @TheMas3212) #[3458](https://github.com/danielyxie/bitburner/pull/3458) - API: Fix inconsistent return value in 'ns.grafting.getAugmentationGraftTime' (by @nickofolas) #[3539](https://github.com/danielyxie/bitburner/pull/3539) - API: Fix leak of real Employee object in hireEmployee (by @TheMas3212) #[3483](https://github.com/danielyxie/bitburner/pull/3483) - API: replace a number of references to workerscript.log with \_ctx.log (by @TheMas3212) #[3470](https://github.com/danielyxie/bitburner/pull/3470) - API: Terminal screen can now be cleared from within scripts with ns.ui.clearTerminal() (by @Hoekstraa) #[3618](https://github.com/danielyxie/bitburner/pull/3618) - AUGMENTATIONS: Fix 'isSpecial' filter in helper (Removes NeuroFlux, Stanek's Gift, etc from gangs) (by @nickofolas) #[3565](https://github.com/danielyxie/bitburner/pull/3565) - AUGMENTATIONS: Fix Augmentation rep req not being properly influenced by BitNode multipliers (by @nickofolas) #[3652](https://github.com/danielyxie/bitburner/pull/3652) - AUGMENTATIONS: Fix NeuroFlux being applied improperly and migrate broken saves (by @nickofolas) #[3613](https://github.com/danielyxie/bitburner/pull/3613) - AUGMENTATIONS: Fix reputation check for faction augs (by @nickofolas) #[3609](https://github.com/danielyxie/bitburner/pull/3609) - AUGMENTATIONS: Tweak a couple small UI elements (by @nickofolas) #[3614](https://github.com/danielyxie/bitburner/pull/3614) - basic doc no longer hacker themed (by @hydroflame) #[3449](https://github.com/danielyxie/bitburner/pull/3449) - BITNODE: FIX #3546 BitVerse now shows proper BN level when accessed via flume (by @nickofolas) #[3550](https://github.com/danielyxie/bitburner/pull/3550) - BLADEBURNER: fixes #3648 : Automate console command capitalisation inconsistent (by @Vic1970) #[3647](https://github.com/danielyxie/bitburner/pull/3647) - BLADEBURNER: Fix #3594 Blade's Simulacrum worked without being installed (by @Undeemiss) #[3639](https://github.com/danielyxie/bitburner/pull/3639) - blood (by @hydroflame) #[3495](https://github.com/danielyxie/bitburner/pull/3495) - BUGFIX: getAugmentationCost response backwards (by @phyzical) #[3617](https://github.com/danielyxie/bitburner/pull/3617) - BUGFIX: Handle edge case in LZ compression code and fix docs (by @stalefishies) #[3581](https://github.com/danielyxie/bitburner/pull/3581) - BUGFIX: make bonustime for gang in miliseconds (by @phyzical) #[3578](https://github.com/danielyxie/bitburner/pull/3578) - BUGFIX: sleeve stale object refence during augmentation (by @phyzical) #[3601](https://github.com/danielyxie/bitburner/pull/3601) - Bugfix/corp updates (by @phyzical) #[3321](https://github.com/danielyxie/bitburner/pull/3321) - Bump async from 2.6.3 to 2.6.4 (by @dependabot[bot]) #[3463](https://github.com/danielyxie/bitburner/pull/3463) - CODINGCONTRACT: Fix #3391 Double contract reward exploit (by @Undeemiss) #[3646](https://github.com/danielyxie/bitburner/pull/3646) - CODINGCONTRACT: FIX #3484 BREAKING Fixed capitalization in contract name (by @Undeemiss) #[3537](https://github.com/danielyxie/bitburner/pull/3537) - CODINGCONTRACT: New "Proper 2-Coloring of a Graph" contract (by @Undeemiss) #[3530](https://github.com/danielyxie/bitburner/pull/3530) - CODINGCONTRACT: Three new compression contracts (by @stalefishies) #[3541](https://github.com/danielyxie/bitburner/pull/3541) - CODINGCONTRACT: Typo & clarity fixes to description of Encoded Binary to Integer contract (by @ActuallyCurtis) #[3469](https://github.com/danielyxie/bitburner/pull/3469) - CODINGCONTRACT: Updated description of 2-coloring contract (by @Undeemiss) #[3531](https://github.com/danielyxie/bitburner/pull/3531) - COMPANY: Fix #3551 Applying for a new job will not change active employer if player is performing company work (by @Snarling) #[3552](https://github.com/danielyxie/bitburner/pull/3552) - CORPORATIONS: Expose makeProducts on NSDivision interface (by @DavidGrinberg) #[3570](https://github.com/danielyxie/bitburner/pull/3570) - CORPORATIONS: Expose sales cost on NSMaterial interface (by @DavidGrinberg) #[3574](https://github.com/danielyxie/bitburner/pull/3574) - Corrected example grids found in Stanek help (by @Undeemiss) #[3441](https://github.com/danielyxie/bitburner/pull/3441) - Create program action no longer creates duplicates (by @Undeemiss) #[3436](https://github.com/danielyxie/bitburner/pull/3436) - DOCUMENTATION: Add descriptions for compression contracts (by @stalefishies) #[3559](https://github.com/danielyxie/bitburner/pull/3559) - DOCUMENTATION: Add new coding contract descriptions (by @stalefishies) #[3542](https://github.com/danielyxie/bitburner/pull/3542) - DOCUMENTATION: Clarify definition for installAugmentations() (by @PSEUDOSTAGE) #[3560](https://github.com/danielyxie/bitburner/pull/3560) - DOCUMENTATION: FIX #3516 "cannot" misspelled as "cannnot" (by @Undeemiss) #[3533](https://github.com/danielyxie/bitburner/pull/3533) - EDITOR: FIX #3502 Editor theme migration crash (by @nickofolas) #[3503](https://github.com/danielyxie/bitburner/pull/3503) - FEATURE: added logic to allow quitJob to be called from singularity (by @phyzical) #[3577](https://github.com/danielyxie/bitburner/pull/3577) - fix #3395 donating to special factions possible via singularity (by @TheMas3212) #[3456](https://github.com/danielyxie/bitburner/pull/3456) - fix b1tflum3 and destroyW0r1dD43m0n singularity functions to check for sf4 (by @TheMas3212) #[3443](https://github.com/danielyxie/bitburner/pull/3443) - Fix inconsistancy with trying to work for gang factions while running a gang (by @TheMas3212) #[3454](https://github.com/danielyxie/bitburner/pull/3454) - Fix infiltration rep BN mult calculation (by @trambelus) #[3632](https://github.com/danielyxie/bitburner/pull/3632) - Fix script editor settings. (by @hydroflame) #[3504](https://github.com/danielyxie/bitburner/pull/3504) - Fix test/jest/Netscript/DynamicRamCalculation.test.js (by @TheMas3212) #[3455](https://github.com/danielyxie/bitburner/pull/3455) - GRAFTING: Fix Grafting not being handled in singularity stop work (by @nickofolas) #[3568](https://github.com/danielyxie/bitburner/pull/3568) - GRAFTING: Implement sorting options (by @nickofolas) #[3654](https://github.com/danielyxie/bitburner/pull/3654) - INFILTRATION: Added new faction called infiltrators that provide infiltration specific augs. (by @phyzical) #[3241](https://github.com/danielyxie/bitburner/pull/3241) - INFILTRATION: Fix minigame cycle (by @nickofolas) #[3549](https://github.com/danielyxie/bitburner/pull/3549) - INFILTRATION: Fix phyzical WKS aug effects being applied before aug is installed (by @nickofolas) #[3555](https://github.com/danielyxie/bitburner/pull/3555) - INFILTRATION: Fix rep reward being substantially higher than intended (by @nickofolas) #[3562](https://github.com/danielyxie/bitburner/pull/3562) - INFILTRATION: New faction, Shadows of Anarchy, provides various augs to help infiltrations. (by @hydroflame) #[3543](https://github.com/danielyxie/bitburner/pull/3543) - INFILTRATION: Update gameplay UI (by @nickofolas) #[3587](https://github.com/danielyxie/bitburner/pull/3587) - keeping up to date (by @hydroflame) #[3432](https://github.com/danielyxie/bitburner/pull/3432) - Keeping up to date. (by @hydroflame) #[3561](https://github.com/danielyxie/bitburner/pull/3561) - Make .lit and .msg files clickable (by @Chris380) #[3453](https://github.com/danielyxie/bitburner/pull/3453) - MESSAGES: Added the name of NiteSec's server to their .msg (by @Undeemiss) #[3466](https://github.com/danielyxie/bitburner/pull/3466) - MISC: add better typing to Electron.tsx (by @taralx) #[3540](https://github.com/danielyxie/bitburner/pull/3540) - MISC: Added NS function closeTail to close tail windows (by @Undeemiss) #[3666](https://github.com/danielyxie/bitburner/pull/3666) - MISC: Adjust deps to current usage (by @taralx) #[3519](https://github.com/danielyxie/bitburner/pull/3519) - MISC: Close some GitHub issues that do not need action (by @Undeemiss) #[3640](https://github.com/danielyxie/bitburner/pull/3640) - MISC: Closing more GitHub issues I missed last time (by @Undeemiss) #[3665](https://github.com/danielyxie/bitburner/pull/3665) - MISC: Correct BB Skill point achievement name (by @Undeemiss) #[3571](https://github.com/danielyxie/bitburner/pull/3571) - MISC: Correct typos in getScriptRam docs. (by @nzdjb) #[3590](https://github.com/danielyxie/bitburner/pull/3590) - MISC: Fix #3125 BREAKING Renamed BN mult CorporationSoftCap to CorporationSoftcap (by @Undeemiss) #[3638](https://github.com/danielyxie/bitburner/pull/3638) - MISC: FIX #3593 Float errors can no longer prevent full usage of a server's available ram. (by @Snarling) #[3619](https://github.com/danielyxie/bitburner/pull/3619) - MISC: fix typing conflict between jest and cypress (by @taralx) #[3518](https://github.com/danielyxie/bitburner/pull/3518) - MISC: fix typing conflict between jest and cypress (by @taralx) #[3644](https://github.com/danielyxie/bitburner/pull/3644) - MISC: Fixed typo in exceptionAlert.ts (by @Undeemiss) #[3572](https://github.com/danielyxie/bitburner/pull/3572) - MISC: Fixed typos in game options (by @notacompsciguy) #[3584](https://github.com/danielyxie/bitburner/pull/3584) - MISC: HammingCodingContracts need rework (by @Hedrauta) #[3479](https://github.com/danielyxie/bitburner/pull/3479) - MISC: Implemented infinite loop safety net. (by @hydroflame) #[3624](https://github.com/danielyxie/bitburner/pull/3624) - MISC: make jQuery use explicit (by @taralx) #[3517](https://github.com/danielyxie/bitburner/pull/3517) - MISC: Make tutorial explain ns1 vs ns2 better (by @hydroflame) #[3586](https://github.com/danielyxie/bitburner/pull/3586) - MISC: Remove comments that describe nonexistent augs (by @Undeemiss) #[3569](https://github.com/danielyxie/bitburner/pull/3569) - MISC: update @types/numeral and fix type errors (by @taralx) #[3521](https://github.com/danielyxie/bitburner/pull/3521) - MISC: Update logic for stats page BitNode level (by @nickofolas) #[3512](https://github.com/danielyxie/bitburner/pull/3512) - MISC: upgrade to eslint v8 (by @taralx) #[3523](https://github.com/danielyxie/bitburner/pull/3523) - MISC: Wrap most of the API in the new api wrapper (by @hydroflame) #[3627](https://github.com/danielyxie/bitburner/pull/3627) - OPTIONS: Fix sliders not sliding correctly (by @nickofolas) #[3642](https://github.com/danielyxie/bitburner/pull/3642) - REFACTOR: augmentation cost, rep cost and level to be calculated in place (by @phyzical) #[3544](https://github.com/danielyxie/bitburner/pull/3544) - REFACTOR: augmentation isSpecial adjustments (by @phyzical) #[3564](https://github.com/danielyxie/bitburner/pull/3564) - Reran npm format and lint to fix formatting (by @Undeemiss) #[3434](https://github.com/danielyxie/bitburner/pull/3434) - Revert "MISC: fix typing conflict between jest and cypress" (by @hydroflame) #[3608](https://github.com/danielyxie/bitburner/pull/3608) - Revert "MISC: HammingCodingContracts need rework" (by @hydroflame) #[3500](https://github.com/danielyxie/bitburner/pull/3500) - revert theme (by @hydroflame) #[3451](https://github.com/danielyxie/bitburner/pull/3451) - Singularity: Fix #3489 Disable checkTixApiAccess for purchase4SMarketData (by @DavidGrinberg) #[3490](https://github.com/danielyxie/bitburner/pull/3490) - SLEEVES: Fix issues with Sleeve UI crashing when Sleeve task faction becomes gang faction (by @nickofolas) #[3557](https://github.com/danielyxie/bitburner/pull/3557) - STANEK: Fix #3196 Charging booster fragments throws an error (by @Undeemiss) #[3637](https://github.com/danielyxie/bitburner/pull/3637) - STANEK: FIX #3277 Can no longer overlap rotated fragments (by @Undeemiss) #[3460](https://github.com/danielyxie/bitburner/pull/3460) - STANEK: FIX #3282 Added NS function stanek.acceptGift (by @Undeemiss) #[3513](https://github.com/danielyxie/bitburner/pull/3513) - STANEK: Properly reapply entropy in Stanek's Gift (by @nickofolas) #[3673](https://github.com/danielyxie/bitburner/pull/3673) - STANEK: Stanek NS functions correctly throw errors when stanek not installed (by @Undeemiss) #[3660](https://github.com/danielyxie/bitburner/pull/3660) - Started collecting lore so that additions to it are simpler (by @Undeemiss) #[3465](https://github.com/danielyxie/bitburner/pull/3465) - TERMINAL: FIX #3492 Allow cd .. even when destination directory is empty (by @Snarling) #[3525](https://github.com/danielyxie/bitburner/pull/3525) - TERMINAL: FIX #3651 Make directory name regex more flexible (by @Dane-Horn) #[3653](https://github.com/danielyxie/bitburner/pull/3653) - TOOLING: Add GitHub action to validate PR titles (by @MartinFournier) #[3471](https://github.com/danielyxie/bitburner/pull/3471) - UI FIX #3485 - Allow bulk purchasing when smart supply is enabled (by @phyzical) #[3486](https://github.com/danielyxie/bitburner/pull/3486) - UI: Change text color of Augmentations page backup button (by @nickofolas) #[3511](https://github.com/danielyxie/bitburner/pull/3511) - UI: FIX #1754 Stanek effect summary & slight tweak. (by @borisflagell) #[3622](https://github.com/danielyxie/bitburner/pull/3622) - UI: FIX #2228,#2958 Fix tab highlights and highlight files not on home. (by @phyzical) #[2989](https://github.com/danielyxie/bitburner/pull/2989) - UI: FIX #2256 Hacknet server's upgrade tooltip were not handling RAM (by @borisflagell) #[3532](https://github.com/danielyxie/bitburner/pull/3532) - UI: FIX #2741 Allow using modifier keys inside the typing infiltration (by @Dane-Horn) #[3634](https://github.com/danielyxie/bitburner/pull/3634) - UI: FIX #2829 Remove defeated NPC gangs from territory page (by @Dane-Horn) #[3633](https://github.com/danielyxie/bitburner/pull/3633) - UI: FIX #3313 Streamline the GraftingRoot page by making it rerender. (by @borisflagell) #[3558](https://github.com/danielyxie/bitburner/pull/3558) - UI: FIX #3341 Enable touch-clicks in react-draggable (by @Snarling) #[3488](https://github.com/danielyxie/bitburner/pull/3488) - UI: FIX #3415 Tweak Manage Gang button visibility (by @borisflagell) #[3528](https://github.com/danielyxie/bitburner/pull/3528) - UI: FIX #3457 autocomplete suggestions no longer require hovering terminal input (by @Snarling) #[3493](https://github.com/danielyxie/bitburner/pull/3493) - UI: FIX #3473 'mv' now says destination script is running instead of returning an error (by @Hoekstraa) #[3474](https://github.com/danielyxie/bitburner/pull/3474) - UI: FIX #3522 realigned autocomplete popup (by @Snarling) #[3524](https://github.com/danielyxie/bitburner/pull/3524) - UI: FIX #3592 Sidebar and bash shortcuts now work on MacOS with US-like layouts (by @Hoekstraa) #[3605](https://github.com/danielyxie/bitburner/pull/3605) - UI: Fix Agility BitNode multiplier not appearing in UI (by @nickofolas) #[3662](https://github.com/danielyxie/bitburner/pull/3662) - UI: Fix exclusive augs not always showing as purchasable through gangs when they should (by @nickofolas) #[3676](https://github.com/danielyxie/bitburner/pull/3676) - UI: Fix the achievement covenant icon was not shown (by @Risenafis) #[3510](https://github.com/danielyxie/bitburner/pull/3510) - UI: Fix z-index of modals overriding everything (by @nickofolas) #[3620](https://github.com/danielyxie/bitburner/pull/3620) - UI: lightweight description update on "increase maximum money" hash spending option. (by @borisflagell) #[3547](https://github.com/danielyxie/bitburner/pull/3547) - UI: Minor improvements to log boxes (by @nickofolas) #[3641](https://github.com/danielyxie/bitburner/pull/3641) - UI: Overhaul GameOptions UI (by @nickofolas) #[3505](https://github.com/danielyxie/bitburner/pull/3505) - UI: Positioning improved for tail titlebar buttons, and tail window has minimum size constraints. (by @Snarling) #[3548](https://github.com/danielyxie/bitburner/pull/3548) - UI: Redesign purchasable Augmentations (by @nickofolas) #[3545](https://github.com/danielyxie/bitburner/pull/3545) - UI: Refactor and redesign WorkInProgress interface (by @nickofolas) #[3611](https://github.com/danielyxie/bitburner/pull/3611) - UI: Refactors, redesigns, and new section to stats page (by @nickofolas) #[3626](https://github.com/danielyxie/bitburner/pull/3626) - UI: Sort and color Graft Augmentation list (by @jaype87) #[3616](https://github.com/danielyxie/bitburner/pull/3616) - UI: Update Factions list interface (by @nickofolas) #[3675](https://github.com/danielyxie/bitburner/pull/3675) - WORK: FIX #3435 Quitting the active job now sets first remaining job as active (by @Snarling) #[3507](https://github.com/danielyxie/bitburner/pull/3507) - WORK: Refactor work types to use 'enum's instead of constants (by @nickofolas) #[3612](https://github.com/danielyxie/bitburner/pull/3612) #### Other Changes - increase donation counter (by @hydroflame) - [8456410](https://github.com/danielyxie/bitburner/commit/84564100e90c46ae4b816853c2cdea0bc309af4d) - allbuild commit 7f9e3775 (by @hydroflame) - [791c19c](https://github.com/danielyxie/bitburner/commit/791c19c4fe447c9231bfb423b9fc48114e783b43) - allbuild commit bcbda22a (by @hydroflame) - [032c440](https://github.com/danielyxie/bitburner/commit/032c440eaeb069eecd720ec2f8e069f705a0c1b4) - fix documentation for getDarkwebPrograms (by @hydroflame) - [4056956](https://github.com/danielyxie/bitburner/commit/4056956c2ada37946333bdad44cb0b6eb3909bf8) - support ASNI (by @hydroflame) - [36c7ef1](https://github.com/danielyxie/bitburner/commit/36c7ef1ad7ea8bb69fca23bce5883a3c2e23f1e0) - allbuild commit 22b6d0d5 (by @hydroflame) - [b46718d](https://github.com/danielyxie/bitburner/commit/b46718d188880ecf716ae045861d81d61e00af4b) - allbuild commit 36c7ef1a (by @hydroflame) - [d0ebf5e](https://github.com/danielyxie/bitburner/commit/d0ebf5e14e0498cb063fde35d63c9f59f2c01e35) - Update documentation for employee (by @hydroflame) - [100e81c](https://github.com/danielyxie/bitburner/commit/100e81c8ab4a408f74cc9bd9ffe2b8bad3d03462) - allbuild commit c799b291 (by @hydroflame) - [f5f5879](https://github.com/danielyxie/bitburner/commit/f5f5879fc380678d978e2b0a29ba7b6f0b4c9ec0) - ideas (by @hydroflame) - [0121fee](https://github.com/danielyxie/bitburner/commit/0121fee6e4c690d01650d1e68a80ea363bb48bce) - allbuild commit 0121fee6 (by @hydroflame) - [5c417e9](https://github.com/danielyxie/bitburner/commit/5c417e9b4df236df8bf3e2f8262b7bce87c934df) - Update codebase for stanek (by @hydroflame) - [c2b4a5b](https://github.com/danielyxie/bitburner/commit/c2b4a5b52a2162d2e49c7317b0a60a349984eb47) - fix lint (by @hydroflame) - [4cc518f](https://github.com/danielyxie/bitburner/commit/4cc518f37723aafb3168b64cd689408afdb74877) - Fix (by @hydroflame) - [9af553f](https://github.com/danielyxie/bitburner/commit/9af553f63cb1380795550648b0134b608564fab8) - Fix stanek leaking classes (by @hydroflame) - [fda3f02](https://github.com/danielyxie/bitburner/commit/fda3f02d73dba27034128c9be5e810a51e475e38) - fix conflicts (by @hydroflame) - [ca1a2aa](https://github.com/danielyxie/bitburner/commit/ca1a2aad333fa838b6d0e57f89e1cedba086a4a0) - Nerf noodle bar.
v1.6.3 - 2022-04-01 Few stanek fixes ---------------------------- Stanek Gift * Has a minimum size of 2x3 * Active Fragment property 'avgCharge' renamed to 'highestCharge' * Formula for fragment effect updated to make 561% more sense. Now you can charge to your heart content. * Logs for the 'chargeFragment' function updated. Misc. * Nerf noodle bar.
1.7.0 2022-04-01 - Giant overhaul ** Platform ** * Available on the Atari 2600 and flipphones. ** Hacking ** * Now gated by a real life subscription to Nord-west VPN * Is now considered rude, thus lowers karma. ** PVP ** * Added PVP, you can now hack other players. ** New location ** * Added new location "Outer Space" to the travel agency. Traveling to Outer Space results in the player instantly dying, resetting your save file. ** UI ** * Upgraded to support VR * Removed all whitespace from the UI to make room for added features * Defaults to light theme * UI moved up 3px to accomodate average player height ** Bladeburner ** * Bladeburner now scales off of your INT stat instead of physical stats. Stat requirements remain unchanged. ** API ** * No longer supports javascript, now supports python, befunge, and whitespace. * Added willScriptHalt (collecting my nobel prize soon) ** Stock Market ** * The stock market now has a net worth of $25, allowing players to buy large portions of the market earlier in the game ** Hashnet ** * Hashes can no longer be spent ** Keystrokes ** * Combat stats now tied to keyboard stroke (press hard = more strength, type quickly = more agi) ** Bug Fix ** * Fixed a long-standing bug where installing augs wiped scripts on all servers except home. Now wipes home as well. * Fixed bug where buying aug didn't cost any reputation. ** Misc ** * Updated ToS (Terms of Service): For legal reasons, we must now inform your employer if you are playing Bitburner during business hours. * Faction rep/favour now decreases if you purchase one of their augs from another faction. * Connections to remote servers only last 5 seconds, so you have to hack faster * Added "Hunger" stat, must eat noodles every 8 hours to avoid hospitalization. * Copy-pasting has been disabled to prevent players from cheating * Gain 1 entropy virus every time a script errors. * Can only enter a BN if the current day of the month matches the BN number. (More BNs in progress to make it possible to play in the second half of the month) * Players now start in BN8 * Bathroom breaks will now be timed * Mouse support deprecated * Scripts can be minted and sold on the Steam marketplace. * In-game location can now be purchased by sponsors. * Sponsored by Roids legendary shadows * Added in-app purchases (1$ in game for 1$ IRL) * Removed tutorial and documentation, just read the source Im tired of updating docs. * Sleeves now go rogue when their shock reaches 0 * Added Gigabyteburner3000 inside Megabyteburner2000. * BN12 now gives levels of QLink instead of Neuroflux. * Gang and Corporation now drain money from the player. * Joe from joesguns found a rocket launcher and will now hunt the player. * Boost noodle bar
Fixed issue where tail windows would freeze the game.
** Vitalife secret lab ** * A new mechanic called Augmentation Grafting has been added. Resleeving has been removed. * Credit to @nickofolas for his incredible work. ** Stanek ** * BREAKING: Many functions in the stanek API were renamed in order to avoid name collision with things like Map.prototype.get ** UI ** * Major update to Sleeve, Gang UI, and Create Program (@nickofolas) * re-add pre tags to support slash n in prompt (@jacktose) * Tabelize linked output of 'ls' (@Master-Guy) * Add the ability to filter open scripts (@phyzical) * Add minHeight to editor tabs (@nickofolas) * Properly expand gang equipment cards to fill entire screen (@nickofolas) * Add shortcut to Faction augmentations page from FactionsRoot (@nickofolas) * Fix extra space on editor tabs (@nickofolas) * Present offline message as list (@DSteve595) * add box showing remaining augments per faction (@jjayeon) * Add tab switching support to vim mode (@JParisFerrer) * Show current task on gang management screen (@zeddrak) * Fix for ui of gang members current task when set via api (@phyzical) * Don't hide irrelevant materials if their stock is not empty and hide irrelevant divisions from Export (@SagePtr) * Fix regex to enable alpha transparency hex codes (8 digits) (@surdaft) ** API ** * Added dark web functions to ns api * BREAKING: purchaseTor() should returns true if player already has Tor. (@DavidGrinberg, @waffleattack) * Implement getBonusTime in Corporation API (@t-wolfeadam) * Added functions to purchase TIX and WSI (@incubusnb) * purchaseSleeveAug checks shock value (@incubusnb) * Fix bug with hacknet api * Fix spendHashes bug * Added 0 cost of asleep() (@Master-Guy) * Fix some misleading corporation errors (@TheRealMaxion) * expose the inBladeburner on the player object (@phyzical) * added ram charge for stanek width and height (@phyzical) * Fix sufficient player money check to buy back shares. (@ChrissiQ) * Fix Static Ram Circumventing for some NS functions (@CrafterKolyan) * added CorporationSoftCap to NetscriptDefinitions (@phyzical) * Added definition of autocomplete() 'data' argument. (@tigercat2000) * Adding support for text/select options in Prompt command (@PhilipArmstead) * Added the ability to exportGame via api (@phyzical) ** Arcade ** * Added an arcade to New Tokyo where you can play a 4 year old version of bitburner. ** Misc. ** * Add a warning triggered while auto-saves are off. (@MartinFournier) * Log info for field analysis now displays actual rank gained. (@ApamNapat) * Removed BladeburnerSkillCost from skill point cost description. (@ApamNapat) * Fix handling for UpArrow in bladeburner console. (@dowinter) * Add GitHub action to check PRs for generated files. (@MartinFournier) * Cap Staneks gift at 25x25 to prevent crashes. (@waffleattack) * Remove old & unused files from repository. (@MartinFournier) * Factions on the factions screens are sorted by story progress / type. (@phyzical) * Fix log manager not picking up new runs of scripts. (@phyzical) * Added prettier to cicd. * UI improvements (@phyzical) * Documentation / Typos (@nanogyth, @Master-Guy, @incubusnb, @ApamNapat, @phyzical, @SagePtr) * Give player code a copy of Division.upgrades instead of the live object (@Ornedan) * Fix bug with small town achievement. * Fix bug with purchaseSleeveAug (@phyzical) * Check before unlocking corp upgrade (@gianfun) * General codebase improvements. (@phyzical, @Master-Guy, @ApamNapat) * Waiting on promises in NS1 no longer freezes the script. (@Master-Guy) * Fix bug with missing ramcost for tFormat (@TheMas3212) * Fix crash with new prompt * Quick fix to prevent division by 0 in terminal (@Master-Guy) * removed ip references (@phyzical, @Master-Guy) * Terminal now supports 'ls -l' * Fix negative number formatting (@Master-Guy) * Fix unique ip generation (@InDieTasten) * remove terminal command theme from docs (@phyzical) * Fix 'Augmentations Left' with gang factions (@nickofolas) * Attempt to fix 'bladeburner.process()' early routing issue (@MartinFournier) * work in progress augment fix (@phyzical) * Fixes missing space in Smart Supply (@TheRealMaxion) * Change license to Apache 2 with Commons Clause * updated regex sanitization (@mbrannen) * Sleeve fix for when faction isnt found (@phyzical) * Fix editor "close" naming (@phyzical) * Fix bug with sleeves where some factions would be listed as workable. (@phyzical) * Fix research tree of product industries post-prestige (@pd) * Added a check for exisiting industry type before expanding (@phyzical) * fix hackAnalyzeThreads returning infinity (@chrisrabe) * Make growthAnalyze more accurate (@dwRchyngqxs) * Add 'Zoom -> Reset Zoom' command to Steam (@smolgumball) * Add hasOwnProperty check to GetServer (@SagePtr) * Speed up employee productivity calculation (@pd) * Field Work and Security Work benefit from 'share' (@SagePtr) * Nerf noodle bar.
** Steam Cloud Saving ** * Added (@MartinFournier) ** UI ** * background now matches game primary color (@nickofolas) * page title contains version (@MartinFourier) * Major text editor improvements (@nickofolas) * Display bonus time on sleeve page (@MartinFourier) * Several UI improvements (@nickofolas, @smolgumball, @DrCuriosity, @phyzical) * Fix aug display in alpha (@Dominik Winter) * Fix display of corporation product equation (@SagePtr) * Make Bitverse more accessible (@ChrissiQ) * Make corporation warehouse more accessible (@ChrissiQ) * Make tab style more consistent (@nikfolas) ** Netscript ** * Fix bug with async. * Add 'printf' ns function (@Ninetailed) * Remove blob caching. * Fix formulas access check (@Ornedan) * Fix bug in exp calculation (@qcorradi) * Fix NaN comparison (@qcorradi) * Fix travelToCity with bad argument (@SlyCedix) * Fix bug where augs could not be purchased via sing (@reacocard) * Fix rounding error in donateToFaction (@Risenafis) * Fix bug with weakenAnalyze (@rhobes) * Prevent exploit with atExit (@Ornedan) * Double 'share' power ** Corporations ** * Fix bugs with corp API (@pigalot) * Add smart supply func to corp API (@pd) ** Misc. ** * The file API now allows GET and DELETE (@lordducky) * Force achievement calculation on BN completion (@SagePtr) * Cleanup in repository (@MartinFourier) * Several improvements to the electron version (@MartinFourier) * Fix bug with casino roulette (@jamie-mac) * Terminal history persists in savefile (@MartinFourier) * Fix tests (@jamie-mac) * Fix crash with electron windows tracker (@smolgumball) * Fix BN6/7 passive reputation gain (@BrianLDev) * Fix Sleeve not resetting on install (@waffleattack) * Sort joined factions (@jjayeon) * Update documentation / typo (@lethern, @Meowdoleon, @JohnnyUrosevic, @JosephDavidTalbot, @pd, @lethern, @lordducky, @zeddrak, @fearnlj01, @reasonablytall, @MatthewTh0, @SagePtr, @manniL, @Jedimaster4559, @loganville, @Arrow2thekn33, @wdpk, @fwolfst, @fschoenfeldt, @Waladil, @AdamTReineke, @citrusmunch, @factubsio, @ashtongreen, @ChrissiQ, @DJ-Laser, @waffleattack, @ApamNapat, @CrafterKolyan, @DSteve595) * Nerf noodle bar.
Copycat alert. There is currently an unofficial bitburner app on the play store. Please do not download it. It is not approved and possibly malicious. https://play.google.com/store/apps/details?id=com.akillianstudio.bitburner They also made a youtube channel. https://www.youtube.com/channel/UCrPAVxqG4wZS-TLRRFigpyw
I think we FINALLY nailed that bug. The issue was caused by doing the following 1. Close all browsers (prior to opening the game) 2. Open Bitburner 3. Open a link from inside Bitburner. 4. Close Bitburner At that point Steam considers the browser to be part of bitburner because bitburner opened it. What the game now does it relegates URL opening to the OS instead of directly opening the default browser.
v1.3.0 - 2022-01-04 Cleaning up ------------------------------- ** External IDE integration ** * The Steam version has a webserver that allows integration with external IDEs. A VSCode extension is available on the market place. (The documentation for the ext. isn't written yet) ** Source-Files ** * SF4 has been reworked. * New SF -1. ** UI ** * Fix some edge case with skill bat tooltips (@MartinFournier) * Made some background match theme color (@Kejikus) * Fix problem with script editor height not adjusting correctly (@billyvg) * Fix some formatting issues with Bladeburner (@MartinFournier, @nickofolas) * Fix some functions like 'alert' format messages better (@MageKing17) * Many community themes added. * New script editor theme (@Hedrauta, @Dexalt142) * Improvements to tail windows (@theit8514) * Training is more consise (@mikomyazaki) * Fix Investopedia not displaying properly (@JotaroS) * Remove alpha from theme editor (@MartinFournier) * Fix corporation tooltip not displaying properly (@MartinFournier) * Add tooltip on backdoored location names (@MartinFournier) * Allow toasts to be dismissed by clicking them (@nickofolas) * Darkweb item listing now shows what you own. (@hexnaught) ** Bug fix ** * Fix unit tests (@MartinFournier) * Fixed issue with 'cat' and 'read' not finding foldered files (@Nick-Colclasure) * Buying on the dark web will remove incomplete exe (@hexnaught) * Fix bug that would cause the game to crash trying to go to a job without a job (@hexnaught) * purchaseServer validation (@nickofolas) * Script Editor focuses code when changing tab (@MartinFournier) * Fix script editor for .txt files (@65-7a) * Fix 'buy' command not displaying correctly. (@hexnaught) * Fix hackAnalyzeThread returning NaN (@mikomyazaki) * Electron handles exceptions better (@MageKing17) * Electron will handle 'unresponsive' event and present the opportunity to reload the game with no scripts (@MartinFournier) * Fix 'cp' between folders (@theit8514) * Fix throwing null/undefined errors (@nickofolas) * Allow shortcuts to work when unfocused (@MageKing17) * Fix some dependency issue (@locriacyber) * Fix corporation state returning an object instead of a string (@antonvmironov) * Fix 'mv' overwriting files (@theit8514) * Fix joesguns not being influenced by hack/grow (@dou867, @MartinFournier) * Added warning when opening external links. (@MartinFournier) * Prevent applying for positions that aren't offered (@TheMas3212) * Import has validation (@MartinFournier) ** Misc. ** * Added vim mode to script editor (@billyvg) * Clean up script editor code (@Rez855) * 'cat' works on scripts (@65-7a) * Add wordWrap for Monaco (@MartinFournier) * Include map bundles in electron for easier debugging (@MartinFournier) * Fix importing very large files (@MartinFournier) * Cache program blob, reducing ram usage of the game (@theit8514) * Dev menu can set server to $0 (@mikomyazaki) * 'backdoor' allows direct connect (@mikomyazaki) * Github workflow work (@MartinFournier) * workForFaction / workForCompany have a new parameter (@theit8514) * Alias accept single quotes (@sporkwitch, @FaintSpeaker) * Add grep options to 'ps' (@maxtimum) * Added buy all option to 'buy' (@anthonydroberts) * Added more shortcuts to terminal input (@Frank-py) * Refactor some port code (@ErzengelLichtes) * Settings to control GiB vs GB (@ErzengelLichtes) * Add electron option to export save game (@MartinFournier) * Electron improvements (@MartinFournier) * Expose some notifications functions to electron (@MartinFournier) * Documentation (@MartinFournier, @cyn, @millennIumAMbiguity, @2PacIsAlive, @TheCoderJT, @hexnaught, @sschmidTU, @FOLLGAD, @Hedrauta, @Xynrati, @mikomyazaki, @Icehawk78, @aaronransley, @TheMas3212, @Hedrauta, @alkemann, @ReeseJones, @amclark42, @thadguidry, @jasonhaxstuff, @pan-kuleczka, @jhollowe, @ApatheticsAnonymous, @erplsf, @daanflore, @nickofolas, @Kebap, @smolgumball, @woody-lam-cwl)
Ok the "not properly exiting" issue seems to be somewhat related to having other browsers running, which makes no sense because the app should run in a sandbox. Anyway apparently I'm not the only one to have this issue with electron, see https://github.com/electron/electron/issues/9862 Anyway the real issue is I can't reproduce it on any of my computers and neither can all the long term top players. So it's a scramble to find someone willing to help me debug this. If anyone is still experiencing this let me know!
v1.1.0 - 2021-12-18 You guys are awesome (community because they're god damn awesome) ------------------------------------------------------------------------------------- ** Script Editor ** * The text editor can open several files at once. (@Rez855 / @Shadow72) It's not perfect so keep the feedback coming. ** Steam ** * Windows has a new launch option that lets player start with killing all their scripts This is a safety net in case all the other safety nets fail. * Linux has several launch options that use different flags for different OS. * Debug and Fullscreen are available in the window utility bar. * Tried (and maybe failed) to make the game completely kill itself after closing. This one I still don't know wtf is going. * No longer has background throttling. * Default color should be pitch black when loading * Add BN13: Challenge achievement. ** Tutorial ** * I watched someone play bitburner on youtube and reworked part of the tutorial to try to make some parts of the game clearer. https://www.youtube.com/watch?v=-_JETXff4Zo * Add option to restart tutorial. ** Netscript ** * getGangInformation returns more information. * getAscensionResult added * getMemberInformation returns more info * Formulas API has new functions for gang. * Added documentation for corp API. * exec has clearer error message when you send invalid data. * getServer returns all defined field for hacknet servers. * Fix a bug with scp multiple files (@theit8514) * Stack traces should be smarter at replacing blobs with filenames * Fix a weird error message that would occur when throwing raw strings. * Fix shortcuts not working. * Re-added setFocus and isFocused (@theit8514) * new function getHashUpgrades (@MartinFournier) * enableLog accepts "ALL" like disableLog (@wynro) * toast() doesn't crash on invalid data (@ivanjermakov) * alert() doesn't crash on invalid data (@Siern) * Fixed an issue where scripts don't run where they should. * Sleeve getInformation now returns cha * getServer does work with no argument now * workForFaction returns false when it mistakenly returned null ** Character Overview ** * The character overview now shows the amount of exp needed to next level (@MartinFournier) ** Misc. ** * Add option to supress Game Saved! toasts (@MartinFournier) * Fix bug where ctrl+alt+j was eaten by the wrong process. (@billyvg) * Theme Editor lets you paste colors (@MartinFournier) * ctrl + u/k/w should work on terminal (@billyvg) * Game now shows commit number, this is mostly for me. (@MartinFourier) * running a bad script will give a clearer error message (@TheCoderJT) * Default terminal capacity is maximum (@SayntGarmo) * Fix problems with cp and mv (@theit8514) * Make monaco load fully offline for players behind firewalls. * change beginer guide to use n00dles instead of foodnstuff * BN13 is harder * nerf int gain from manualHack * Fix UI displaying wrong stats (@DJMatch3000) * Fix button not disabling as it should. * New location in Ishima. * Add setting to suppress stock market popups. * Typo fixes (@Hedrauta, @cvr-119, @Ationi, @millennIumAMbiguity @TealKoi, @TheCoderJT, @cblte, @2PacIsAlive, @MageKing17, @Xynrati, @Adraxas, @pobiega) * Fix 100% territory achievement. * Reword message on active scripts page. * Fix terminal not clearing after BN * Remove references to .fconf * Augmentation pages shows BN difficulty with SF5 * Fix scripts saving on wrong server while 'connect'ing * Fix gym discount not working. * Fix scan-analyze not working with timestamps * Hash upgrades remember last choice. * Save files now sort by date * The covenant no longer supports negative memory purchases * Fix corp shares buyback triggering by pressing enter * Staneks gift display avg / num charges * Infiltration rewards no longer decay with better stats * terminal 'true' is parsed as boolean not string * tail and kill use autocomplete() * Fix focus for coding contract * massive boost to noodle bar. ** Special Thanks ** * Special thank you to everyone on Discord who can answer new player questions so I can focus on more important things. ---
So if you minimize the window the game should still run Also I did a thing to try to get the game to die die. Idk electron is weird it should just stop when I close all the windows, right?
A player generously gave me their save file with a reproductible way to trigger a unfreed ram problem and it is now resolved. You may need to click the icon next to save which kills everything. I really hope this works.
After 5 years of development, contributions from hundreds of developers, the critically acclaimed open source programming hacking sim is available on Steam. Inspired by games like Else Heart.break(), Hacknet, Uplink, and Deus Ex, Bitburner is a programming-based incremental RPG where you, the player, take the role of an unknown hacker in a dark, dystopian world. The game provides a variety of mechanics and systems that can be changed through coding and solved or automated in whatever way you find suitable.
I believe I fixed the issue where ram doesn't get freed correctly.
Hi everyone, I've had very few reports of a bug where a script that dies would not release the ram it consumes. Unfortunately I have not been able to reproduce the issue but I have added more safety check to try to make it work as it should. If anyone knows how to reproduce it please let me know. I will fix it as soon as I can.
There was a library that would load at runtime. Now the game should fully work offline. This is specially important for Chinese players who had part of the game blocked by the great firewall of China.
When your script freezes there is an option in the menu bar to killall scripts and reload the game.
Bitburner
Fulcrum Games
Fulcrum Games
1970-01-01
Singleplayer
Game News Posts 41
🎹🖱️Keyboard + Mouse
Overwhelmingly Positive
(6249 reviews)
https://github.com/danielyxie/bitburner
https://store.steampowered.com/app/1812820 
Bitburner linux [206.87 M]
While a very basic programming background is recommended, it is not required to play the game!
- Write scripts in JavaScript to automate your gameplay
- Hack through a network of servers to train your abilities and earn money
- Solve real programming questions to hone your skills and earn rewards
- Improve your character with 100+ Augmentations
- Trade in the stock market and write automated trading scripts
- Interact with various gameplay mechanics to increase your stats and earn money
- Explore the world and discover different companies, locations, and factions
- Mini-games
- Unlock secret perma-upgrades
- Continuing development!
- OS: Linux
- Processor: 1.5 GHzMemory: 512 MB RAM
- Memory: 512 MB RAM
- Graphics: Intel Integrated Graphics
- Storage: 500 MB available space
[ 5952 ]
[ 3223 ]