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.