The physics-based action roguelite Noita gets more updates in April, which break save games for previous versions. Fortunately a beta branch on Steam allows players to wrap things up with a bow on top, before embarking on a fresh run.
This is a compilation of all the rather extensive patch notes detailing new features, bug fixes, and added modding capabilities, in descending order, from latest to oldest:
UPDATED April 30
BUGFIXES – APR 30 2024
Hauskaa vappua! Here's some bug fixes and small balance tweaks to the Epilogue 2 update.

GENERAL
UPDATE: Tapion vasalli is a little tamer now
BUG FIXES
-
BUGFIX: UI - Lengthy item names (i.e. complex potions) would leak outside the info box -
BUGFIX: Performance - melted plastic in huge quantaties caused performance problems -
BUGFIX: Fungal Shift - fungal shifting into a rare material caused the game to crash -
BUGFIX: Rare crash caused by tracking biomes (Thank you Dexter Castor Döpping) -
BUGFIX: Game could crash when killing a Kummitus with a lot of HP -
BUGFIX: Henkevä potu is no longer a homing target when held in hand -
BUGFIX: Player could be deleted when traveling back and forth extreme distances instantly -
BUGFIX: Unkilled Kivi caused stain problems -
BUGFIX: Soft lock could occur when ending the game underground with a large number of orbs -
BUGFIX: Fixed several enemy perks being broken in Nightmare Mode (huge thanks to pudy248 for the fixed code!) -
BUGFIX: Extra Life perk now changes the icon to indicate when it has been spent -
BUGFIX: Deadly heal should behave more nicely now
MODDING
-
MODDING: Lua - added CellFactory_HasTag -
MODDING: GameEffectComponent - mIsExtension being false could crash the game -
MODDING: BossHealthBarComponent added - the new healthbar behavior is moved to here -
MODDING: MagicNumber BUGFIX_NEVER_DEFAULT_SERIALIZE_PLAYER added to control how player entity is serialized -
MODDING: -enable_unsafe_paths command argument added, it allows the game to access all files on your hard drives -
MODDING: -enable_recording_stuff command argument added, allows debug recording tools to be used
Noita Epilogue 2 Update April 8
Noita Epilogue 2 Update is now available. To celebrate the update, Noita is 60% off at Steam!

https://store.steampowered.com/app/881100/Noita
This update includes a ton of new things, like new spells, new enemies, new bosses, a new area and new secrets. There's also a bunch of tweaks, updates and bug fixes.
Unfortunately your old save games won't survive the update. But there is now a new Steam beta branch called "update_20240214". It will allow you to finish your run with the old version of Noita.
GENERAL
-
FEATURE: Spell - Sparkly bounce -
FEATURE: Spell - Lightning bounce -
FEATURE: Spell - Vacuum bounce -
FEATURE: Spell - Null shot -
FEATURE: Spell - Inner spell -
FEATURE: Spell - Giga white hole -
FEATURE: Spell - True orbit -
FEATURE: Spell - Hookbolt -
FEATURE: Spell - Anti homing -
FEATURE: Spell - Holy lance -
FEATURE: Added 8 modifier spells -
FEATURE: Added 6 new enemies -
FEATURE: Added 6 new spells -
FEATURE: Added 3 new secret spells -
FEATURE: Added new rare materials -
FEATURE: Added chemical reactions -
FEATURE: Added new small biome -
FEATURE: Item - Utility box -
FEATURE: Potion reactions -
FEATURE: Audio is muted when unfocusing the game if "Pause the game when unfocused" is On -
FEATURE: Amazing golden spell -
FEATURE: 3 new bossfights -
FEATURE: Added a new creature -
FEATURE: New materials and reactions -
FEATURE: New secret quest -
FEATURE: Added a new easter egg
-
UPDATE: Dupe around and find out -
UPDATE: Better interaction with No Wand Tinkering and Tinker With Wands Everywhere perks -
UPDATE: Lukki Minion is slightly more powerful -
UPDATE: Spells can now be dropped from inventory at all times -
UPDATE: Spell drop rates rebalanced -
UPDATE: Explosive bounce's radius increased -
UPDATE: Shiny Orb is now more lucrative -
UPDATE: Moved a boss into a slightly more accessible spot -
UPDATE: Adjusted various spell mana costs and prices -
UPDATE: Adjusted weakness modifiers -
UPDATE: Updated the look of the Hiisi Alchemist's potions -
UPDATE: Potion content percentages are displayed now (Thank you Evaisa) -
UPDATE: Vomiting now requires eating a bit more nasty materials -
UPDATE: Buffed Vampirism -
UPDATE: A little surprise for the turophiles -
UPDATE: Audio - new sounds for [REDACTED], glue, eldritch portal, freezing gaze, barrier & wall spells -
UPDATE: Audio - bzzzt -
UPDATE: Audio - new sound for [REDACTED] -
UPDATE: Audio - new music for a few side areas -
UPDATE: Powder pouches have a new functionality -
UPDATE: New enemies show their statuses in the UI -
UPDATE: Visual, audio and other fx when moving very fast -
UPDATE: Tele bolt resets caster's vertical velocity -
UPDATE: Less harsh sound for tele bolt for more pleasant tele spamming experience -
UPDATE: Improved camera tracking when moving fast -
UPDATE: Lukki Minion should no longer be killable to make it more useful -
UPDATE: Optimized file system performance when using mods -
UPDATE: Optimized performance of some game effect queries in various systems -
UPDATE: All bosses use final boss style health bars -
UPDATE: Added up to date localizations
BUG FIXES
-
BUGFIX: Nightmare mode - the boss arena and orb rooms could be overwritten -
BUGFIX: Nightmare mode - Orbs should now drop hearts even if the spell is unlocked -
BUGFIX: Nightmare mode - enemies no longer spawn with Attract Gold perk -
BUGFIX: Permanent polymorph is permanent -
BUGFIX: Carrying 5th wand by frame perfect swapping is fixed -
BUGFIX: Rare crash when enemy was converted to a ragdoll (text sprite) (Thank you Dexter Castor Döpping) -
BUGFIX: Fixed another inventory exploit, that allowed carrying of extra wands -
BUGFIX: Fixed Lukki Minion sometimes escaping and disappearing -
BUGFIX: Vaihdosmestari can no longer move cursed rock -
BUGFIX: Closing inventory while starting to drag items is fixed -
BUGFIX: Alt tab silliness is should now be fixed -
BUGFIX: Optimized particle effects -
BUGFIX: Player can no longer polymorph to Olematon -
BUGFIX: Runestone of edges could cause Puska to shoot forever -
BUGFIX: Mouse cursor displays the material even in the far lands -
BUGFIX: Optimized Circle of stillness and Freezing gaze -
BUGFIX: Fixed Null shot breaking modifiers cast after it -
BUGFIX: Cosmetic fix to the alchemist's background -
BUGFIX: More optimizations, including Freeze Field perk and Iceball spell -
BUGFIX: Fixed a rare crash that could happen with too many materials -
BUGFIX: Rare wand generation bug (the default green wand should be now fixed) -
BUGFIX: Minor - a perk icon was missing a pixel -
BUGFIX: Fixed a security vulnerability in the modding API (Thank you Dexter Castor Döpping) -
BUGFIX: Fixed Hookbolt having a buggy sprite -
BUGFIX: Fixed Giga White Hole not repelling projectiles -
BUGFIX: Fixed certain spell unlocks happening in an unintended way -
BUGFIX: Physics objects are less likely to fall through the bottom of the world -
BUGFIX: Fixed Explosive Detonator being bugged in certain circumstances -
BUGFIX: Fixed a boss not dropping all the spells it was meant to -
BUGFIX: Fixed a secret dropping spells that it shouldn't -
BUGFIX: Fixed multiple spells have some erroneous/missing data -
BUGFIX: Fixed a rare case of sky being black -
BUGFIX: Nullifying Altar did not remove the perk icons (Thank you Priskip) -
BUGFIX: Related perks should now be removed from the perk pool -
BUGFIX: Surprise puddles behind potions fixed -
BUGFIX: Certain endgame item can now be dragged in the inventory without TWWE -
BUGFIX: Saving and loading while stained caused extra status effects -
BUGFIX: Vomit based status effect glitch is fixed -
BUGFIX: Longer runs should be more stable and largely address aware thanks to Dexter Castor Döpping -
BUGFIX: Game mode selection UI has been optimized -
BUGFIX: Improved overall security of modding API -
BUGFIX: Audio - rewrote audio event stealing logic - should fix issues with audio sometimes "wrapping up" in a janky manner -
BUGFIX: Audio - ambience events no longer trigger lots of silent audio instances - reduces ambience CPU use -
BUGFIX: Audio - droplet sounds would rarely end up repeating without a cause -
BUGFIX: Audio - liquid flow sound was sometimes left playing -
BUGFIX: Fixed a potential issue in regards to file paths -
BUGFIX: Fixed an xml parsing issue -
BUGFIX: A fix caused more issues than it solved -
BUGFIX: A fix broke some translation mods that used custom fonts -
BUGFIX: Possible fix for "Game will restart due to mod changes" without changes -
BUGFIX: Fungal shifts rarely didn't occur -
BUGFIX: Fungal shifts that didn't fully realise still counted towards the maximum limit -
BUGFIX: Certain spells weren't keeping the ID of their caster around like they should've -
BUGFIX: These release notes were so long that the UI had performance issues -
BUGFIX: Some surface areas had no sky light after above areas had been visited, and were not counted as surface by audio etc -
BUGFIX: Final boss hanging around very far from the player could block mini-boss music -
BUGFIX: Wands retain cast delay, recharge etc over a game restart -
BUGFIX: A settings menu item was using a missing translation key when hovered -
BUGFIX: Infinite rain exploit -
BUGFIX: Some localization strings were incorrectly escaped -
BUGFIX: Text in tablets and books didn't display correctly in all languages -
BUGFIX: Fixed issues with UI in some languages -
BUGFIX: More robust mod check when saving bones files
MODDING
-
MODDING: Lua - added PolymorphTableAddEntity -
MODDING: Lua - added PolymorphTableRemoveEntity -
MODDING: Lua - added PolymorphTableGet -
MODDING: Lua - added LoadRagdoll -
MODDING: Lua - GameCreateCosmeticParticle - now with gravity_x and gravity_y -
MODDING: Lua - LoadPixelScene - now with allow_duplicate param -
MODDING: Lua - added PolymorphTableSet -
MODDING: Lua - added ComponentGetTags -
MODDING: Lua - added InputIsKeyDown -
MODDING: Lua - added InputIsKeyJustDown -
MODDING: Lua - added InputIsKeyJustUp -
MODDING: Lua - added InputGetMousePosOnScreen -
MODDING: Lua - added InputIsMouseButtonDown -
MODDING: Lua - added InputIsMouseButtonJustDown -
MODDING: Lua - added InputIsMouseButtonJustUp -
MODDING: Lua - added InputIsJoystickButtonDown -
MODDING: Lua - added InputIsJoystickButtonJustDown -
MODDING: Lua - added InputGetJoystickAnalogButton -
MODDING: Lua - added InputIsJoystickConnected -
MODDING: Lua - added InputGetJoystickAnalogStick -
MODDING: Lua - added PhysicsComponentGetTransform, PhysicsComponentSetTransform -
MODDING: Lua - added PhysicsPosToGamePos, GamePosToPhysicsPos -
MODDING: Lua - added PhysicsBodyIDGetFromEntity, PhysicsBodyIDQueryBodies -
MODDING: Lua - added PhysicsBodyIDGetTransform, PhysicsBodyIDSetTransform -
MODDING: Lua - added PhysicsBodyIDApplyForce, PhysicsBodyIDApplyTorque -
MODDING: Lua - added PhysicsBodyIDGetWorldCenter -
MODDING: Lua - added PhysicsBodyIDGetDamping, PhysicsBodyIDSetDamping -
MODDING: Lua - added PhysicsBodyIDGetGravityScale, PhysicsBodyIDSetGravityScale -
MODDING: Lua - added PhysicsBodyIDGetBodyAABB -
MODDING: Lua - added ModDoesFileExist -
MODDING: Lua - added RemovePixelSceneBackgroundSprite and RemovePixelSceneBackgroundSprites -
MODDING: Lua - added EntitiesGetMaxID -
MODDING: Lua - added ModMaterialFilesGet -
MODDING: Lua - added ModRegisterMusicBank (init.lua) and example in mods/example -
MODDING: Lua - added GameGetSkyVisibility, GameGetFogOfWar, GameGetFogOfWarBilinear, GameSetFogOfWar -
MODDING: Lua - added DEBUG_LUA_DONT_REPEAT_ERRORS magic number to log recurring, consecutive errors only once (defaults to 1) -
MODDING: Lua - lua error stack traces -
MODDING: Lua - added ModImageMakeEditable, ModImageIdFromFilename, ModImageSetPixel, ModImageGetPixel -
MODDING: Lua - added ModImageWhoSetContent, ModImageDoesExist -
MODDING: Lua - added ModLuaFileGetAppends, ModLuaFileSetAppends -
MODDING: Lua - added ComponentGetEntity -
MODDING: Lua - added optional 'tag' parameter to EntityGetAllChildren -
MODDING: Lua - exposed ModTextFileGetContent and ModTextFileWhoSetContent to all lua scripts -
MODDING: Lua - made ComponentGet/SetValue2 up to 300% faster. Old ComponentGet/SetValue API is also a bit faster -
MODDING: Lua - added GameSetPostFxTextureParameter, GameUnsetPostFxTextureParameter -
MODDING: Lua - added PhysicsBodyIDApplyLinearImpulse, EntityGetHotspot, EntityRemoveStainStatusEffect -
MODDING: Lua - added use_material_colors & replace_existing_cells parameters to EntityConvertToMaterial -
MODDING: Lua - added font and scale options to GuiText, GuiButton and GuiGetTextDimensions -
MODDING: Lua API documentation - improved documentation of some functions -
MODDING: MagicNumber UI_WAND_TAG_OVERWRITES_NAME has been added -
MODDING: MagicNumber DESIGN_ALLOW_INVENTORY_CLOSING_AND_DRAGGING_GLITCH has been added -
MODDING: MagicNumber DESIGN_ALLOW_FULL_INVENTORY_SPELLS_DRAG has been added -
MODDING: MagicNumber DESIGN_TELEKINESIS_GLITCH_FOR_TABLETS has been added -
MODDING: MagicNumber DESIGN_TELEKINESIS_GLITCH_FOR_ITEM_PHYSICS has been added -
MODDING: MagicNumber GLITCH_ALLOW_5TH_WAND_CARRY has been added -
MODDING: MagicNumber GLITCH_ALLOW_ALT_TAB_SILLINESS has been added -
MODDING: MagicNumber GLITCH_ALLOW_STAIN_DUPLICATION_GLITCH has been added -
MODDING: MagicNumber GLITCH_ALLOW_VOMIT_BASED_STATUS_EFFECT_GLITCH has been added -
MODDING: MagicNumber DEBUG_DISPLAY_INTERNAL_ID_IN_PROGRESS_MENU has been added -
MODDING: Components - GameEffectComponent - polymorph_target should now work -
MODDING: Components - LaserEmitterComponent - ConfigLaser - added damage_apply_hitbox_dmg_multiplier -
MODDING: Components - PhysicsKeepInWorldComponent - added -
MODDING: Components - AttachToEntityComponent - added -
MODDING: Components - BiomeTrackerComponent - added -
MODDING: ComponentGetValue2() and ComponentSetValue2() now work with types::iaabb -
MODDING: Components - LuaComponent - added limit_all_callbacks to allow limiting of all callbacks -
MODDING: Fixed DEBUG_DISPLAY_INTERNAL_ID_IN_PROGRESS_MENU -
MODDING: Updated debug_keys.txt -
MODDING: Added support for static_tile biomes, that are like wang biomes without randomization, consisting of one large tile -
MODDING: Added support for static_tile_bg_mask, that are repeating backgrounds with a rough mask that defines the visibility -
MODDING: Added audio_music_trigger_without_danger to Biome. Used in watercave. Also added other new audio-related properties -
MODDING: Added intensity2 parameter to GameEntityPlaySoundLoop -
MODDING: IKLimbWalker, IKLimbsAnimator - exposed ray_skip_material -
MODDING: CharacterPlatforming - added audio_liquid_splash_intensity -
MODDING: PhysicsAI works better with non-levitating creatures -
MODDING: Added auto-generated any_liquid any any_powder Material tags -
MODDING: Audio - reports filename on bank load error -
MODDING: Improved init.lua API documentation -
MODDING: Fixed a possible rare crash when using the mod API in not recommended ways -
MODDING: CharacterData/CharacterCollision - added dont_update_velocity_and_xform -
MODDING: Exposed some path finding debug rendering features in F7 menu -
MODDING: Materials.xml loading - doesn't log error if a material would have reaction to itself because of a reaction with duplicate material from tags -
MODDING: Entity xml - added _remove_from_base (on Base components) to exclude components from base entities -
MODDING: Added 'json' to accepted file types of ModTextFileGet/SetContent and workshop uploader -
MODDING: Default biome map loads via 'data/scripts/biome_map.lua' (makes biome map multi-mod editing less of a hassle) -
MODDING: fungal_shift.lua doesn't call CellFactory_GetType on file scope, so mods can use the file before that function is ok to call -
MODDING: Added AUDIO_PLAY_GAME_OVER_SOUND and AUDIO_FADE_MUSIC_ON_DEATH magic numbers -
MODDING: Biome - added parameters to control parallax bg look -
MODDING: MaterialAreaCheckerComponent - added always_check_fullness & count_min -
MODDING: IKLimbsAnimatorComponent - added is_limp, -
MODDING: GameStatsComponent - dont_do_logplayerkill -
MODDING: PhysicsShapeComponent - added material -
MODDING: AnimalAIComponent - added keep_state_alive_when_enabled (without this AnimalAI can get stuck in no state when Disabled & Enabled) -
MODDING: VegetationComponent - added random_flip_x_scale -
MODDING: CellData - added vegetation_random_flip_x_scale -
MODDING: CellData - added is_grass_hashed (for more natural look when grass grows on a long, flat horizontal surface) -
MODDING: PotionComponent - added custom_color_material -
MODDING/BUGFIX: Removing a game mode mod while there was an active run with it could make the game crash or behave weirdly -
MODDING/BUGFIX: Pressing "Install mods..." in mods menu would take one back to the main menu -
MODDING/BUGFIX: EntitySerializer couldn't always update entities on hot load changes -
MODDING/BUGFIX: Fixed a warning on game start if MaterialAreaChecker.material2 is not set -
MODDING/BUGFIX: ModSettingGetNextValue returned setting key if no next value is set for the setting (now returns nil)
Those are all the patch notes through April 30 for Noita Epilogue 2.
