Bugfixes
- Fixed LuaEntity::display_panel_icon failing to handle nil values. Forum discussion
- Corrected inconsistent behavior when rotated entities were transported by belts. Forum discussion
- Prevented a crash that occurred when an editor-mode player equipped equipment containing a burner component.
- Fixed a crash involving underground belts triggered by super force building. Forum discussion
- Resolved a crash that could happen if a beam attack destroyed the turret firing it. Forum discussion
- Fixed a crash caused by mods placing item request proxies into the player’s undo queue. Forum discussion
- Eliminated a crash when attempting to render a linked fluidbox connection.
- Fixed a crash triggered by changing research state during the configuration-changed event. Forum discussion
- Fixed crashes that could occur while cloning trains that were in motion in specific circumstances. Forum discussion
- Resolved a crash when cloning a furnace that was actively crafting.
- Fixed a crash when an inserter tried to place an item into a furnace crafting a recipe with no item ingredients. Forum discussion
- Fixed a crash when loading saves containing furnaces crafting recipes that had custom fluidbox indices. Forum discussion
- Prevented a crash when pressing End, Home, Page Up or Page Down while the alerts GUI had focus. Forum discussion
- Fixed a crash related to rendering high-latency players in certain cases. Forum discussion
- Resolved a save-time crash caused by blueprint parametrization that could merge filters. Forum discussion
- Fixed a crash that occurred when send_udp failed. Forum discussion
- Prevented crashes when running replays headlessly if the game attempted to show notifications. Forum discussion
- Fixed boilers that were consuming hot input fluid but not producing sufficient steam. Forum discussion
- Corrected captive biter spawners not taking damage while inactive when friendly fire was disabled. Forum discussion
- Fixed a crash that could occur when a simulation was paused.
- Fixed frozen pumpjack sprite mismatch with its frozen state. Forum discussion
- Resolved an issue on macOS where graphics rendering could unpause while the window remained minimized in special cases. Forum discussion
- Fixed loaders that could block when taking from asteroid collectors if one belt lane was jammed. Forum discussion
- Removed inadvertent minimap bobbing while the character is piloting mech armor.
- Fixed modded mining drills with filters not preserving their filters upon upgrade. Forum discussion
- Prevented the on-screen keyboard from opening over the search field in the technology GUI.
- Corrected pentapod leg mount positions when the body is rotated.
- Fixed incorrect pentapod orientation warping.
- Preserved remembered zoom levels when navigating back and forth in browse history.
- Fixed research-completed sound playing for every force instead of only the relevant force.
- Corrected selector combinator connector shadow placement. Forum discussion
- Fixed spider unit layers with apply_runtime_tint not using the force color. Forum discussion
- Corrected stomper corpse graphics. Forum discussion
- Fixed an issue where super-forcing gates and walls could sometimes create deconstruction ghosts for adjacent curved rails. Forum discussion
- Fixed an off-by-one pixel shift for icons produced with
--dump-icon-sprites. Forum discussion - Allowed players in editor mode to activate electric discharge and other manually activated equipment.
- Fixed belt animations not playing inside the blueprint GUI. Forum discussion
- Included blueprints created from ghosts in the on_player_setup_blueprint event. Forum discussion
- Fixed invalid cliff bounding box definitions. Forum discussion
- Corrected cloning behavior for rockets with attached cargo pods. Forum discussion
- Fixed cloning issues for entities containing spoilage that could cause clones to become stuck. Forum discussion
- Corrected deconstruction planner behavior so it respects item quality on the ground. Forum discussion
- Fixed cases where drag-building with smart-belt building disabled would unintentionally remove belts. Forum discussion
- Stopped items from shifting slightly when freezing and thawing underground belts. Forum discussion
- Fixed furnaces that continued using recipes they should no longer be able to use after a migration.
- Ensured furnaces treat recipes with no ingredients as not craftable.
- Prevented inserters from getting stuck while inserting into rogue spawners when picking from belts. Forum discussion
- Fixed inventory filters being ignored in the train fuel GUI. Forum discussion
- Preserved item quality when migrating entities that carry quality data. Forum discussion
- Prevented clicks from being forwarded to open GUIs when opening rich text in the map view. Forum discussion
- Fixed overlapping tile ghost icons not rendering on the map. Forum discussion
- Stopped rail ramp ghosts from blocking the construction of ground rail ghosts. Forum discussion
- Fixed reading roboport requests in networks that include buffer chests. Forum discussion
- Made saves that used removed territory noise expressions loadable again.
- Ensured resetting control settings also updates control tooltips. Forum discussion
- Fixed several entity types failing to account for drain in their energy buffers. Forum discussion
- Corrected missing fluid box connection pipes on some entities. Forum discussion
- Fixed space platform construction requests that stopped requesting repair packs after supplies ran out. Forum discussion
- Made spidertrons created by script default to request-from-buffers. Forum discussion
- Prevented the blueprint setup GUI from closing when switching between normal and remote view. Forum discussion
- Stopped the game from attempting to load Mac-specific filesystem files on non-Mac systems. Forum discussion
- Fixed the Home key not functioning in the Manage Mods GUI. Forum discussion
- Corrected the player index name pushed by on_research events. Forum discussion
- Fixed remote view minimap focusing on the physical player position instead of the remote camera. Forum discussion
- Fixed the “Multiplayer UPS” time-usage entry so it reports correctly. Forum discussion
- Ensured the undo item is present in the player queue during the entity-built event. Forum discussion
- Fixed train route highlighting when riding in non-locomotive carriages. Forum discussion
- Prevented train-stop priorities above 90 from being clamped to 90 when saved inside a blueprint. Forum discussion
- Fixed util.mul_shift rejecting struct arguments. Forum discussion
Changes
- Updated the blueprint setup interface so the description field now includes the icon picker. Forum discussion
- Prevented gamepad selection center from shifting when the character begins flying in mech armor. Forum discussion
- Improved responsiveness of the display panel GUI for smoother interaction. Forum discussion
Graphics
- Changed the “Render in native screen resolution” graphics option so it no longer requires restarting the game to take effect.
- Fixed blurriness that could appear in fullscreen when using the Metal graphics backend with native resolution rendering off.
Minor Features
- The heat interface now supports heating both entities and tiles.
- Windows executables are now code-signed.
Modding
- Added EntityPrototype::draw_stateless_visualisations_in_ghost to control ghost visualizations.
- Added LoaderPrototype::respect_insert_limits to allow loaders to honor insert limits.
- Added LuaPlayer::set_zoom_limits() to set zoom bounds for any controller type. Forum discussion
- Added RecipePrototype::hide_from_bonus_gui.
- Added SpaceLocationPrototype::starmap_icon_orientation.
- SpiderVehicles can now rotate legs like pentapods when supplied with a base sprite containing rotation frames. Forum discussion
- Added a color mod setting type: forced_value.
- Introduced the demolisher and territory API.
- Pentapods now prefer using the torso base sprite to control rotations; if absent, the head sprite is used.
- Heat energy sources now support pollution emission.
- InserterPrototype pickup and insert positions are no longer rejected for being near tile edges.
- Moved LuaPlayer::can_place_entity to LuaControl::can_place_entity so it can be invoked on character entities. Forum discussion
- Omitting required_tiles in a tile_buildability_rules item now defaults to “all” (previously defaulted to “none”, which made entities unbuildable). Forum discussion
Scripting
- Added read access to LuaControl::flight_height.
- Added read access to LuaControl::is_flying.
- Added read access to LuaControl::render_position.
- Added LuaEntity::apply_upgrade().
- Added read access to LuaEntity::created_by_corpse.
- Added read access to LuaEntity::heat_neighbours.
- Added read access to LuaEntity::priority_targets.
- Added read access to LuaEntity::pumped_last_tick.
- Added LuaEntity::register_tree().
- Added read access to LuaEntityPrototype::icons_positioning and icon_draw_specification.
- Added read access to LuaEntityPrototype::tile_buildability_rules.
- Added LuaForce::get_chunk_chart(surface, position).
- Added read/write access to LuaGameScript::allow_debug_settings.
- Added read/write access to LuaItemCommon::blueprint_description.
- Added LuaPlanet::get_space_platforms().
- Added read/write access to LuaRecord::blueprint_description.
- Added read access to LuaRecord::is_preview.
- Added read/write access to LuaRenderObject::dash_offset.
- Added agricultural tower events: on_tower_planted_seed, on_tower_pre_mined_plant, and on_tower_mined_plant.
- Added an “overflow” inventory option to LuaEntity::revive and silent_revive.
- Added heat pipes to LuaEntity::neighbours read list.
- Added register_plant to LuaSurface::create_entity.
- Added tile_condition to LuaItemPrototype::place_as_tile_result.
- Changed LuaAchievementPrototype::to_kill and module fields to return arrays of LuaPrototypes instead of arrays of strings.
- Changed LuaEntity::copy_color_from_train_stop and vehicle_automatic_targeting_parameters to support ghosts.
- Changed rendering layer properties LuaParticlePrototype::render_layer, render_layer_when_on_ground, and LuaTrivialSmokePrototype::render_layer to use strings rather than integers.
