Status
SteamPeaks
ChartsSalesUpcomingPatchesNewsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
NewsSteam's own announcements and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesNewsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
BitburnerNewsv2.2.0
Game update

v2.2.0

Bitburner · published 2 Jan 2023, 19:13 UTC · build 10244464

All newsPlayers around this dateRead on Steam

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

More from Bitburner

Other announcements

All news
Game update17 May 20263.0.1 ReleaseVersion 3.0.1 has been released, please report any issues on Github or the #bug-report channel on Discord ## v3.0.1: 17 May 2026 ### BREAKING CHANGES - Change getServer return type; rename getServerAuthDetails and add missing dnet properties (#2746) (@ficocelliguy) ### MISC - Cache reward fixes (#2731) (@ficocelliguy) - Fix typo in darknet authentication response message (#2734) (@catloversg) -…Game update2 May 2026Linux Launching Issues/Workaround on 3.0.0We are aware of issues launching the game directly from Steam for some Linux users. By all reports we currently have, launching the game directly from the executable (instead of through Steam) is a workaround for the time being. We are looking into the issue and hope to resolve it soon.Major update2 May 2026Major Update: 3.0.0After a long development cycle, version 3.0.0 has been released! This version does include many breaking changes, which may require your attention. These breaking changes are listed in the changelog. When loading into 3.0.0 for the first time, you will be prompted to save a backup of your pre-3.0.0 savegame. Please keep this savegame in case you need to revert to the previous version. Under Pro…