What’s New

Factorio

Games

Build and maintain sprawling automated factories on an alien planet.

Latest · by Wube SoftwareWebsite

Changelog

Version 2.0.77 released as stable

Added
  • Added LuaEntityPrototype::quality_affects_supply_area_distance, LuaEntityPrototype::quality_affects_inventory_size, LuaEntityPrototype::quality_affects_capacity, and LuaEntityPrototype::quality_affects_energy_usage reads
  • Added LuaEntityPrototype::crafting_speed_quality_multiplier, LuaEntityPrototype::energy_usage_quality_multiplier, and LuaEntityPrototype::module_slots_quality_bonus reads
  • Added LuaEntityPrototype::drops_full_belt_stacks read
  • Added additional reads to LuaSpaceLocationPrototype
  • Added LuaEntityPrototype::uses_quality_drain_modifier read
  • Added LuaFluidPrototype::visualization_color read
  • API documentation website now has fulltext search
Fixed
  • Fixed a clipping issue on cargo pods attached to rockets
  • Fixed that inserters would deadlock if ammo spoiled while mid-swing towards a turret
  • Fixed that rocket silos could deadlock due to mod changes
  • Fixed a crash when specific entities are killed without a source
  • Fixed that time passed wait condition wasn't reset when manually pressing go-to button to the shattered planet while being stopped at a space location
  • Fixed that scrolling personal library blueprint books in multiplayer latency did not work correctly
  • Fixed a desync related to custom input events and in_gui flag
  • Fixed an issue with script-disabling logistic points connected to orbital logistics
  • Fixed a crash when creating a loader with stack size override
  • Fixed rich text tag being accessible through user input
  • Fixed a crash when loading space-age save files with space-age prototypes removed but space-age flags enabled
Bugfixes
Scripting
  • Added LuaEntityPrototype::quality_affects_supply_area_distance, LuaEntityPrototype::quality_affects_inventory_size, LuaEntityPrototype::quality_affects_capacity, LuaEntityPrototype::quality_affects_energy_usage reads.

  • Added LuaEntityPrototype::crafting_speed_quality_multiplier, LuaEntityPrototype::energy_usage_quality_multiplier, LuaEntityPrototype::module_slots_quality_bonus reads.

  • Added LuaEntityPrototype::drops_full_belt_stacks read.

  • Added additional reads to LuaSpaceLocationPrototype.

  • Added LuaEntityPrototype::uses_quality_drain_modifier read.

  • Added LuaFluidPrototype::visualization_color read.

  • API documentation website now has fulltext search (online version only).

Version 2.0.76 released as stable

Bugfixes
Scripting
  • Added LuaEntityPrototype::inserter_max_belt_stack_size read.

  • Added LuaEntityPrototype::reversing_power_modifier read.

  • Changed LuaEntityPrototype::automated_ammo_count read to also work for artillery wagons.

Version 2.0.73 released as stable

Gui
  • Mods GUI will show an error instead of restarting the game when trying to confirm it while mod dependencies are not met.
Bugfixes
Scripting
  • Added LuaEntity::send_to_orbit_automatically read/write.

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.

Version 2.0.72 released as stable

Changes
  • Decider combinator, arithmetic combinator and selector combinator are now primary energy consumers and have buffer size increased to make them more reliable in case of low power.

  • Reduced selector combinator energy usage from 5kW to 1kW.

  • When using "Entity tooltip delay", the timer is also reset when moving the camera or the character. Fixes blinking entity tooltip when moving.

Bugfixes
Modding

You can get experimental releases by selecting the 'experimental' beta branch under Factorio's properties in Steam.

Version 2.0.69 released as stable

Hello, today we have a nice stable version for you

Bugfixes
Changes
  • Added absorbed pollutant name to tile description in Factoriopedia.

  • Changed manual mining when the inventory is full to not drop the mined result on the ground.

  • Improved the mod API search to find union literals, define leaf nodes, and more.

Graphics
  • Deprecated OpenGL support on Macs. It will still exist for older versions of macOS, but may not receive future updates.

  • Fixed Metal graphics backend throttling the FPS when the display refresh rate isn't a multiple of 60 Hz. https://forums.factorio.com/129946

  • Made Metal the default graphics rendering API for Macs.

  • Removed Graphics backend user setting.

Minor Features
  • Partially fulfilled wait conditions use different background color to indicate progress.

  • Splitters can be connected to circuit network.

Modding
  • Added "scripted" technology trigger.

  • Added FluidWagonPrototype::connection_category.

  • Added FusionGeneratorPrototype::burns_fluid.

  • Added FusionGeneratorPrototype::effectivity.

  • Added LightningPrototype::attractor_hit_effect.

  • Added MiningDrillPrototype::resource_searching_offset.

  • Added RoboportPrototype::render_recharge_icon.

  • Added RobotWithLogisticInterfacePrototype::max_payload_size_after_bonus.

  • Added TECHNOLOGY and RECIPE built-in locale parameters.

  • Added recipe_icon_scale chart utility constant.

  • Added support for heating_energy to FusionGeneratorPrototype and ThrusterPrototype.

  • Changed CargoWagonPrototype to use EntityPrototype::icon_draw_specification when drawing cargo wagon content.

  • Changed DisplayPanelPrototype to use render_layer from icon_draw_specification when drawing icon.

  • Changed Generator and FusionGenenerator tooltips to not show temperatures when in burns_fluid mode.

  • Removed "research-progress" product type from RecipePrototype.

Scripting
  • Added LuaCustomChartTag::position and surface write.

  • Added LuaEntity::get_movement() and set_movement().

  • Added LuaEntity::mining_area read.

  • Added LuaEntity::rail_length read.

  • Added LuaEntity::transitional_request_target read.

  • Added LuaEntityPrototype::fluid_buffer_size, activation_buffer_ratio and fluid_buffer_input_flow read.

  • Added LuaEntityPrototype::get_attraction_range_elongation() and get_energy_distribution_efficiency().

  • Added LuaEntityPrototype::range_from_player, combat_robot_friction, destroy_action and follows_player read.

  • Added LuaEntityPrototype::spider_engine read.

  • Added LuaEntityPrototype::strike_effect, attractor_hit_effect, damage and energy read.

  • Added LuaEntityPrototype::support_range read.

  • Added LuaFluidBox::get_fluid_segment_extent_bounding_box().

  • Added LuaForce::script_trigger_research().

  • Added LuaGuiElement::icon_selector read.

  • Added LuaHelpers::multilingual_to_lower().

  • Added LuaInventory::get_item_count_filtered().

  • Added LuaInventory::get_item_quality_counts().

  • Added LuaItemCommon::entity_driver_is_gunner, entity_auto_target_without_gunner and entity_auto_target_with_gunner read/write.

  • Added LuaItemCommon::entity_logistic_sections and entity_request_from_buffers read/write.

  • Added LuaItemCommon::entity_logistics_enabled and entity_enable_logistics_while_moving read/write.

  • Added LuaItemPrototype::get_module_effects().

  • Added LuaLogisticNetwork::custom_name read/write.

  • Added LuaPlayer::get_recipe_notifications().

  • Added LuaPlayer::swap_characters().

  • Added LuaRecord::export_record().

  • Added LuaRecord::get_selected_record().

  • Added LuaSplitterControlBehavior.

  • Added custom_tooltip_fields reads to all LuaPrototypes that support it.

  • Added flip_horizontal and flip_vertical parameters to LuaPlayer::build_from_cursor().

  • Added in_gui to custom input events.

  • Added maximum_quality_jump utility constant.

  • Added on_cargo_pod_started_ascending event.

  • Added on_player_dropped_item_into_entity event.

  • Added previous_target and previous_quality to on_marked_for_upgrade event.

  • Added skip_fog_of_war to LuaPlayer::can_build_from_cursor().

  • Added surface_index to all UndoRedoActions.

  • Changed LuaEntity::color read/write to also work for character corpses.

  • Changed LuaSpacePlatform::destroy_asteroid_chunks() to return the number of destroyed chunks.

Version 2.0.66 released as stable

Bugfixes
Changes
Graphics
  • Changed "Render in native screen resolution" graphics setting to no longer require a game restart.

  • Fixed that playing in fullscreen with the Metal graphics backend could look blurry if "Render in native screen resolution" was off.

Minor Features
  • Heat interface can now heat entities and tiles.

  • Windows executables now undergo code signing.

Modding
  • Added EntityPrototype::draw_stateless_visualisations_in_ghost.

  • Added LoaderPrototype::respect_insert_limits.

  • Added LuaPlayer::set_zoom_limits() to set zoom limits for any controller type. https://forums.factorio.com/128887

  • Added RecipePrototype::hide_from_bonus_gui.

  • Added SpaceLocationPrototype::starmap_icon_orientation.

  • Added ability for SpiderVehicles to rotate their legs like pentapods when provided with a base sprite that has rotation frames. https://forums.factorio.com/128638

  • Added color mod setting "forced_value".

  • Added demolisher and territory API.

  • Changed pentapods to prioritize using the torso base sprite to control rotations, or if no base sprite is defined, the head sprite is used.

  • Heat energy sources support pollution.

  • InserterPrototype::pickup_position and insert_position are no longer checked for being too close to tile edge.

  • Moved LuaPlayer::can_place_entity to LuaControl::can_place_entity so that it can be called on character entities. https://forums.factorio.com/129225

  • Omitting required_tiles in a tile_buildability_rules's item now default to "all" (instead of "none" which was making the entities unbuildable) https://forums.factorio.com/130230

Scripting
  • Added LuaControl::flight_height read.

  • Added LuaControl::is_flying read.

  • Added LuaControl::render_position read.

  • Added LuaEntity::apply_upgrade().

  • Added LuaEntity::created_by_corpse read.

  • Added LuaEntity::heat_neighbours read.

  • Added LuaEntity::priority_targets read.

  • Added LuaEntity::pumped_last_tick read.

  • Added LuaEntity::register_tree().

  • Added LuaEntityPrototype::icons_positioning and icon_draw_specification read.

  • Added LuaEntityPrototype::tile_buildability_rules read.

  • Added LuaForce::get_chunk_chart(surface, position).

  • Added LuaGameScript::allow_debug_settings read/write.

  • Added LuaItemCommon::blueprint_description read/write.

  • Added LuaPlanet::get_space_platforms().

  • Added LuaRecord::blueprint_description read/write.

  • Added LuaRecord::is_preview read.

  • Added LuaRenderObject::dash_offset read/write.

  • 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 pipe to LuaEntity::neighbours read.

  • Added register_plant to LuaSurface::create_entity.

  • Added tile_condition to LuaItemPrototype::place_as_tile_result.

  • Changed LuaAchievementPrototype::to_kill and module to returns arrays of LuaPrototypes instead of arrays of strings.

  • Changed LuaEntity::copy_color_from_train_stop and vehicle_automatic_targeting_parameters to work on ghosts.

  • Changed LuaParticlePrototype::render_layer, render_layer_when_on_ground and LuaTrivialSmokePrototype::render_layer to be strings instead of integers.

Version 2.0.60 released as stable

Bugfixes
Changes
Graphics
  • Improved frame rate stability of Metal graphics backend

  • Improved rendering performance of busy scenes of Metal graphics backend

Minor Features
Modding
  • Added BeaconPrototype::quality_affects_supply_area_distance.

  • Added CharacterPrototype::crafting_speed.

  • Added CraftingMachinePrototype::crafting_speed_quality_multiplier, module_slots_quality_bonus and energy_usage_quality_multiplier.

  • Added CraftingMachinePrototype::quality_affects_energy_usage.

  • Added CraftingMachinePrototype::quality_affects_module_slots, LabPrototype::quality_affects_module_slots, MiningDrillPrototype::quality_affects_module_slots and BeaconPrototype::quality_affects_module_slots.

  • Added InserterPrototype::uses_inserter_stack_size_bonus.

  • Added LoaderPrototype::wait_for_full_stack.

  • Added MiningDrillPrototype::quality_affects_mining_radius.

  • Added Prototype::custom_tooltip_fields.

  • Added QualityPrototype::default_multiplier, inserter_speed_multiplier, fluid_wagon_capacity_multiplier, inventory_size_multiplier, lab_research_speed_multiplier, crafting_machine_speed_multiplier, crafting_machine_energy_usage_multiplier, logistic_cell_charging_energy_multiplier, tool_durability_multiplier, accumulator_capacity_multiplier, flying_robot_max_energy_multiplier, range_multiplier, asteroid_collector_collection_radius_bonus, equipment_grid_width_bonus, equipment_grid_height_bonus, electric_pole_wire_reach_bonus, electric_pole_supply_area_distance_bonus, beacon_supply_area_distance_bonus, logistic_cell_charging_station_count_bonus, beacon_module_slots_bonus, crafting_machine_module_slots_bonus, mining_drill_module_slots_bonus, mining_drill_mining_radius_bonus and lab_module_slots_bonus.

  • Added helpers to settings and prototype stages.

  • Added quality_selector_dropdown_threshold utility constant.

  • Added with_filters, with_weight_limit and with_custom_stack_size options to ContainerPrototype::inventory_type and LinkedContainerPrototype::inventory_type.

  • Added the "mod-data" prototype type.

Optimizations
  • Improved performance when holding blueprints.
Scripting
  • Added "blink_interval" and "render_mode" parameters to LuaRendering functions.

  • Added "item-open", "item-close", "item-pick", "item-drop" and "item-move" SoundPath types. https://forums.factorio.com/129710

  • Added ConfigurationChangedData::migrations.

  • Added CustomInputEvent::element to get the LuaGuiElement under the cursor when the custom input was activated.

  • Added LuaAsteroidChunkPrototype::dying_trigger_effect read.

  • Added LuaEntity::display_panel_text, display_panel_icon, display_panel_always_show and display_panel_show_in_chart read/write.

  • Added LuaEntity::inventory_supports_bar(), get_inventory_bar(), set_inventory_bar(), inventory_supports_filters(), is_inventory_filtered(), can_set_inventory_filter(), get_inventory_filter(), and set_inventory_filter().

  • Added LuaEntity::pickup_from_left_lane and pickup_from_right_lane read/write for inserters.

  • Added LuaEntityPrototype::captured_spawner_entity read.

  • Added LuaEntityPrototype::get_fluid_capacity().

  • Added LuaEntityPrototype::max_performance read.

  • Added LuaEntityPrototype::min_performance read.

  • Added LuaEntityPrototype::neighbour_connectable read.

  • Added LuaEquipmentGrid::itemstack_owner read.

  • Added LuaForce::get_logistic_groups(), get_logistic_group(), create_logistic_group(), and delete_logistic_group().

  • Added LuaHelpers::compare_versions().

  • Added LuaHelpers::game_version read.

  • Added LuaHelpers::send_udp and recv_udp. Added on_udp_packet_received.

  • Added LuaInventory::weight and max_weight read.

  • Added LuaItemPrototype::send_to_orbit_mode read.

  • Added LuaPlayer::exit_remote_view().

  • Added LuaPlayer::pipette. LuaPlayer::pipette_entity is deprecated and should not be used.

  • Added LuaPrototypes::utility_constants read.

  • Added LuaRenderObject::blink_interval and render_mode read/write.

  • Added LuaSpacePlatform::hidden read/write.

  • Added LuaSurface get_default_cover_tile() and set_default_cover_tile().

  • Added force to LuaEntityDiedEventFilter.

  • Added fusion reactor properties to LuaEntityPrototype.

  • Added ghost_mode to LuaGuiElement::anchor.

  • Added on_research_queued.

  • Added player to on_research_moved and on on_research_cancelled.

  • Added several LuaEntityPrototype reads for asteroid collector prototypes and entity with health prototypes.

  • Added several LuaItemPrototype reads for starter pack prototypes.

  • Added target_filter to ammo type read.

  • Changed LuaInventory::set_bar to allow passing nil as well.

  • LuaGuiElement::locked can be set during add().

  • Removed LuaTilePrototype::placeable_by. Use LuaTilePrototype::items_to_place_this instead.

Version 2.0.55 released as stable

Balancing
  • Fuel acceleration bonus and equipment speed bonuses now apply quarter of compound bonus rate to turning rate of tank-driving cars (e.g. tank)
Bugfixes
Minor Features
  • Added --run-replay command line option.

  • Show existing turrets' radius when holding a turret to be built. https://forums.factorio.com/116572

  • Smart underground belt building now considers splitter to be an obstacle if there was something connected to the lane already.

  • Spidertron remote tooltips show a camera view of the selected spiders.

Modding
  • Added AgriculturalTowerPrototype::accepted_seeds.

  • Added AgriculturalTowerPrototype::randomize_planting_tile.

  • Added ItemPrototype::moved_to_hub_when_building.

  • Added LandMinePrototype::trigger_interval.

  • Added LightningProperties::lightning_multiplier_at_day, lightning_multiplier_at_night, multiplier_surface_property and lightning_warning_icon.

  • Added RecipePrototype::additional_categories.

  • Added SolarPanelEquipmentPrototype::performance_at_day, performance_at_night and solar_coefficient_property.

  • Added SolarPanelPrototype::performance_at_day, performance_at_night and solar_coefficient_property.

  • Added helpers to settings and prototype stages.

  • Added the "valve" entity type.

  • Added utility constants logistic_slots_per_row, crafting_queue_slots_per_row, blueprint_big_slots_per_row, blueprint_small_slots_per_row, and trash_inventory_width.

Scripting
  • Added LuaControl::get_inventory_name.

  • Added LuaEntity::cargo_bay_connection_owner read.

  • Added LuaEntity::crane_end_position_3d read for getting current ending position of agricultural crane. https://forums.factorio.com/128752

  • Added LuaEntity::get_fluid_source_tile() and get_fluid_source_fluid().

  • Added LuaEntity::owned_plants read.

  • Added LuaEntity::set_inventory_size_override/get_inventory_size_override methods with support for container and cargo-wagon.

  • Added LuaEntity::use_transitiona

Version 2.0.47 released as stable

Balancing
  • Changed piercing ammo recipe to be cheaper.

  • Gleba wetlands, lowlands, and water tiles now absorb 3 times as many spores as other tiles.

  • Trees no longer take damage from spores nor absorb spores as a result of taking pollution damage.

Bugfixes

Version 2.0.43 released as stable

Minor Features
  • Added support for volume and speed activity matching for persistent working sounds.

  • The swap-players command can now handle basic remote view and players in space platform hubs.

Graphics
Balancing
  • Trees no longer take damage from spores nor absorb spores as a result of taking pollution damage.

  • Gleba wetlands, lowlands, and water tiles now absorb 3 times as many spores as other tiles.

Bugfixes
Modding
  • Added AirbornePollutantPrototype::damages_trees.

Version 2.0.42 released as stable

Minor Features
Graphics
  • Added more variations to small explosion to improve the visuals when many small entities explode at the same time (happens a lot when a space platform is hit by a larger asteroid).
Bugfixes
Modding
  • Changed working_visualisations to enforce that the provided array is contiguous.

  • Added FluidBoxPrototype::volume_reservation_fraction.

  • Added ExplosionPrototype::delay and ExplosionPrototype::delay_deviation for adding an artificial delay to an explosion effect.

  • Added ExplosionPrototype::explosion_effect which triggers after the delay has passed instead of when the explosion entity is created as with EntityPrototype::created_effect.

  • Added TechnologyPrototype::show_levels_info.

Scripting
  • LuaEntity::infinity_inventory_filters and remove_unfiltered_items now support infinity-cargo-wagon.

  • LuaControl::walking_state now reads and writes spider-vehicle walking state if the player is driving one.

  • Added LuaEntity::cargo_pod_origin which stores which station entity the pod departed from. (Migrated existing pods from before this version do NOT retroactively gain this information)

  • Added 'spoil-result' and 'plant-result' filter to ItemPrototypeFilters.

Version 2.0.41 marked as stable

Bugfixes
Modding
  • Added ElectricPolePrototype::rewire_neighbours_when_destroying.

  • Moved the agricultural tower growth area radius to the prototype as growth_area_radius. https://forums.factorio.com/127340

Version 2.0.39 released as stable

Balancing
Bugfixes

Version 2.0.32 released as stable

Changes
  • Disabled achievements "It stinks and they don't like it", "It stinks and they do like it", and "Get off my lawn" in peaceful mode and no enemies mode. (https://forums.factorio.com/125581)

  • Adding more effect info to yumako, mash, jellynut, jelly, bioflux and slowdown capsule tooltips.

Optimizations
Graphics
Bugfixes
Scripting
  • ItemPrototype::spoil_result and spoil_to_trigger_result can now be used at the same time.

  • Added connection_category to LuaFluidboxPrototype::pipe_connections.

Modding
  • Added FluidStream::target_initial_position_only. It's used by worm acid spit.

Factorio version 2.0.30 released as stable

Changes from 2.0.29 and 2.0.30

Minor Features
  • Added smart pipette for items on the ground.
Graphics
  • Improved graphics of Recyclers.

  • Added corpse graphics for Asteroid Collectors.

Changes
Bugfixes
Scripting
  • Added LuaEntity::inserter_spoil_priority read/write.

  • Added LuaRecord::get_active_index.

  • Added LuaEntityPrototype::science_pack_drain_rate_percent read.

  • Added LuaEntityPrototype::get_fluid_usage_per_tick. LuaEntityPrototype::fluid_usage_per_tick is deprecated and should not be used.

  • Added LuaEntityPrototype::get_max_power_output. LuaEntityPrototype::max_power_output is deprecated and should not be used.

  • LuaEntity::combinator_description supports ghosts of combinators.

  • Added LuaDefines::car_trash read. (https://forums.factorio.com/124950)

  • Added asteroid collector support to LuaEntity::get_filter, set_filter, and filter_slot_count.

  • Added LuaPlayer::clear_recipe_notification().

  • Changed LuaEntity::get_passenger() to give the character in cargo pods. (https://forums.factorio.com/121766)

  • Added LuaControl::hub read.

  • Changed LuaEntity::cargo_pod read into LuaControl::cargo_pod read and made it work for players in cargo pods.

  • Changed LuaEntity::get_logistic_point() and LuaEntity::get_logistic_sections() to work with ghosts.

Modding
  • Added CargoWagonPrototype::quality_affects_inventory_size.

  • Added FluidWagonPrototype::quality_affects_capacity.

Factorio version 2.0.28 released as stable

Minor Features
  • Added radar minimap visualization for roboports and cargo landing pads. https://forums.factorio.com/117994

  • Cargo pod scheduling reworked to send larger and more spaced out deliveries. This should improve the frequency of trickling space science and material drops.

  • Dragging and dropping a blueprint file into the game window will import the file contents as a blueprint string.

  • Dragging and dropping text into the game window on X11 will import the text as a blueprint string.

  • Factoriopedia now shows recycling recipes for each item.

  • Re-added the sandbox scenario questionnaire.

  • [space-age] Added "Nauvis Bus" and "Nauvis Power Up" menu simulations.

  • [space-age] Added camera views to Space platform tooltips.

Balancing
  • [space-age] Changed rocket fuel from ammonia recipe to require the same amount of solid fuel as the main rocket fuel recipes to prevent a recycling loop. https://forums.factorio.com/122574

  • [space-age] Land mines on space platforms now damage the space platform tiles in a radius.

Changes
  • Attack groups containing stompers or strafers will now contain fewer units.

  • Changed selector combinator circuit wire reach to be the same as wire reach of other combinators.

  • Inserters (especially ghost long handed ones) spawn in stretched to an appropriate distance.

  • Large egg rafts will try to have at least one stomper or strafer spawned at a time.

  • Removed default secondary keybinding for redo action on AZERTY keyboards as it collided with super force building while moving up. https://forums.factorio.com/124377

  • Reverted fix for god controller being able to zoom out to map view. https://forums.factorio.com/123675

  • Small egg rafts no longer absorb pollution because they will never produce stompers or strafers.

  • Space age mods no longer count as "has mods" in the server browser. https://forums.factorio.com/117812

  • Tweaked how entities are selected in remote view when using a gamepad. The entity directly under the crosshair is much more likely to be selected.

  • Wrigglers will no longer proactively attack pollen emitters. However, they will still respond to artillery.

Graphics
  • Aquilo icebergs have longer shadows to integrate with the world better.

  • Asteroid collector tentacles have less colourful rainbow effect on them.

  • Changed the Rocket part icon to look more like a part of the rocket.

  • [space-age] Changed the Space crafting category icon to look like a cargo pod instead of rocket silo.

Optimizations
  • Improved GUI performance when logistics status diode is part of the structure. https://forums.factorio.com/124660

  • Improved asteroid collector performance - we estimate it should be 5x - 15x faster when there are thousands of asteroid chunks on the map. https://forums.factorio.com/118736

  • Improved asteroid update performance by up to 20%.

Bugfixes
Modding

[li

Version 2.0.23 released as stable

Minor Features
  • Assemblers circuit allows to choose if items in crafting should be included by read contents.

  • Asteroid collector circuit allow to choose if items held by hands should be included by read contents.

Changes
  • Jelly is no longer mined from Slipstack trees so it is less confusing where to get jelly from.

  • Nightvision is less orange.

  • Moved the "Any quality" option into the comparison dropdown.

  • Disabled spoiling for items created in an infinity chest until the first time they are removed from said chest.

  • Removed "Select previous technology" control which didn't work (replaced with the generic back/forward navigation in 2.0). (https://forums.factorio.com/117255)

  • Added an error message when manually trying to launch a rocket to a full space platform.

  • Changed space platforms to not delete items on the ground when deconstructing them. (https://forums.factorio.com/122383)

  • Added back a simple version of the Sandbox scenario. Improved the behavior of god controller.

Optimizations
  • Improved asteroid chunk creation and movement performance.

  • Improved chart overlay performance in several cases.

Bugfixes
Modding
  • Corpses used by entities with health automatically use the collision box of the parent entity. (https://forums.factorio.com/118718)

  • Added LuaEntityPrototype::auto_setup_collision_box which defaults to true.

Scripting
  • Added LuaEntityPrototype::auto_setup_collision_box read.

  • Events::on_cargo_pod_finished_ascending Lua event added.

  • 'rocket-launched' achievement condition now triggered by cargo pod ascending instead of rocket.

  • removed property 'player_index' from Events::on_rocket_launched data.

  • Changed LuaLogisticPoint::targeted_items_deliver and targeted_items_pickup to include quality.

  • Changed all instances of get_item_count to support quality.

  • Changed LuaPlayer::get_quick_bar_slot to include quality.

  • Changed LuaEquipmentGrid::get_contents() to include quality.

  • Changed LuaEquipmentGrid::count() to support quality.

  • Changed LuaEntity::storage_filter read to include quality.

  • Added quality to selected_prototype during custom input events.

  • Added GameViewSettings::show_surface_list property to control its vibility in the Remote View.

Version 2.0.21 released as stable

Minor Features
  • Added drag-to-reorder to the research queue.

  • Added "Occlude light sprites" graphics option to allow disabling 2.0 light rendering to improve performance. As a side effect, it disables also lava glow. (https://forums.factorio.com/119530)

  • [space-age] Added "Additional terrain effects" graphics option to disable puddles and global terrain tint as alternative to increase performance on Gleba to disabling fog, clouds and animated water.

Changes
  • Replaced the "move forward" and "move backward" buttons on technologies in the research queue with a draggable handle.

  • Allowed to set blueprint parameter to be ingredient of other parameter even when it doesn't exist in an assembling machine. (https://forums.factorio.com/117979)

  • Added a hidden sound setting to base the music selection on the character's physical location. (https://forums.factorio.com/119140)

  • Agriculutral Tower now respects allied ghosts blocking planting spots. (https://forums.factorio.com/120729)

  • volcanic-cracks-hot no longer coverable by foundation. (https://forums.factorio.com/120745)

  • Added consistency check for overlapping blueprint tiles not being both (non)-foundations. Any inconsistent tiles will be removed on load (analogous already happens when importing blueprint via string or setting blueprint tiles via lua).

  • The slider and input field for the minimum payload in orbital logistic requests now enforce a minimum of 1 instead of 0. (https://forums.factorio.com/120811)

  • Added a delay before music switches when switching surfaces. (https://forums.factorio.com/119871)

  • Added hidden sound setting for controlling music transition stage durations.

  • Improved performance of superforced blueprint preview that is autofilling-in tiles.

Bugfixes
Modding
  • Added distance_from_nearest_point_x and distance_from_nearest_point_y noise expressions.

  • Moved SpiderVehiclePrototype::chunk_exploration_radius to VehiclePrototype.

  • Removed limit of 64 unique PipeConnectionDefinitions's connection categories.

  • Removed music_transition_* utility constants.

  • Changed CraftItemTechnologyTrigger::item into ItemIDFilter. Removed item_quality.

  • Changed ProduceAchievementPrototype::item_product into ItemIDFilter. Removed quality.

  • Changed ProducePerHourAchievementPrototype::item_product into ItemIDFilter.

Scripting

Version 2.0.20 released as stable

Minor Features
  • Search is now case and accent insensitive for all official languages.

  • Added debug option 'always-show-lightning-protection'.

  • Added gamepad stick sensitivity setting for map movement.

  • Selecting a spidertron remote selection in the quickbar which is for a different planet than the current one will center on the planet.

Changes
  • [space-age] Changed tree seed default import location to Nauvis. (https://forums.factorio.com/119272)

  • Fluid mixing will prefer the fluid with more volume and discard the other.

  • Updated SDL to version 2.30.9.

  • [space-age] Gleba evolution is smoother and more gradual.

  • [space-age] Small stomper pentapod moves more slowly (also decreases stomp DPS).

  • [space-age] Stomper pentapod vision range is reduced from 40 to 30.

  • [space-age] Medium and big wriggler pentapod health is increased.

  • [space-age] Streamlined quality selector to use separate buttons for each quality instead of a drop-down.

  • [space-age] Changed crafting machines to reset quality of the in-progress result when module effects change. (https://forums.factorio.com/120270)

  • Added inserter stack size override to be parametrised by blueprint. (https://forums.factorio.com/118635)

  • Added Vulcanus 8 music track.

  • Allowed negative multiplier of logistic (and constant combinator) groups. (https://forums.factorio.com/118684)

  • Updated shortcut icons and increased their size to 56px.

  • [space-age] Container sizes increase with quality.

  • Reviving container ghosts no longer puts colliding items on the ground into the resulting container.

  • Loading game for hosting now automatically offers the dialog whether the mods should be synced before continuing (as with normal game load).

  • [space-age] Bulk inserter doesn't default upgrade to Stack inserter as they are not functionally interchangeable. (https://forums.factorio.com/121011)

  • [space-age] Demolisher health bars will always be visible for at least 1 tick after they take any damage, even if they fully regenerate the damage in the same tick.

  • [space-age] Default quality cycling shortcut simplified to alt+scroll.

  • [space-age] Changed captive biter spawner to inherit quality from the wild spawner instead of the capture robot. (https://forums.factorio.com/121358)

  • Spidertron selections saved into the quickbar will be darkened with a planet icon in the top when the selection leads to a different planet than the current one.

Bugfixes

Version 2.0.15 released as stable

Minor Features
Changes
  • Increased spidertron walking sound volume.

  • Using the "craft all" hotkey on free recipes queues 1 stack of the results. (https://forums.factorio.com/118319)

  • Changed the simulated mouse cursor appearance to match the system default on macOS.

  • [space-age] Added pollution value to heating tower.

  • [space-age] Show recycler output arrow in "Alt-mode". (https://forums.factorio.com/119176)

  • Display panels set to "Show in chart" with no icon now hide the default icon until hovered. (https://forums.factorio.com/116844)

  • Removed support for 8 bit audio depth.

  • Added tooltip to "Spoiled priority" inserter setting to clarify behavior and limitations.

Bugfixes
Modding
  • [space-age] Changed territory noise expressions coordinate system from chunk-based to tile-based.

  • Added option to surface.pollute() for recording the pollution change in statistics.

  • Fixed on_entity_damaged.source not behaving according to the 2.0 specification.

Scripting
  • Added connection_type and linked_connection_id to LuaFluidboxPrototype::pipe_connections.

Version 2.0.14 released as stable

Changes
  • [space-age] Changed self-recycling recipe statistics to be ignored in production graph.

  • Changed sprites with scale between 0.5 and 1 (exclusive) to apply downscaling to low resolution (affects base game biter sprites).

  • Changed cargo landing pad mining time to 1.

  • Moved the mods GUI search to be with the content it is searching.

  • Added linear interpolation method (used by default now) for audio resampling when playback speed is changed. (https://forums.factorio.com/116936)

  • Added an option to disable animated ghosts to aid performance on integrated GPUs. (https://forums.factorio.com/116304)

  • [space-age] Added a confirmation box when deleting space platforms.

Bugfixes
Modding
  • Combined four ghost tint definitions in UtilityConstants into UtilityConstants::ghost_shader_tint and added UtilityConstants::ghost_shaderless_tint.

  • Added LoaderPrototype::per_lane_filters.

Scripting
  • Added LuaEntity::loader_filter_mode (read/write).

Version 2.0.13 released as stable

Minor Features
  • [space-age] Offshore pump speed increases with quality.
Changes
  • Curved rails cost 3 rail items to build.
Bugfixes
Scripting
  • Added LuaSpacePlatform::name write.

  • Added player_won to the on_pre_scenario_finished event.

  • LuaControl uses physical controller for item manipulations (LuaControl::insert, has_items_inside, get_item_count, remove_item, clear_items_inside)

  • Added LuaPlayer::physical_controller_type read.

  • Added LuaQualityPrototype::color read.

Sounds
  • Fulgora lightning sound remixed lower with volume variations.

  • Fixed some explosions that were using the wrong size of explosion sound.

  • Numerous sound mixes including new plant mining sounds mixed lower.

  • Various menu simulation mixes improved.

Version 2.0.12 released as stable

Bugfixes
Modding
  • Added LoaderPrototype::frozen_patch_in and frozen_patch_out.

Version 2.0.11 released as stable

Features
  • [space-age] Asteroid collector filters can be modified by blueprint parametrisation.

  • Programmable speaker can be modified by blueprint parametrisation.

  • When imported blueprint is placed, assembling machines will be configured with the recipe even when recipe is not yet researched.

Changes
  • [space-age] Fulgora ruins now also drop iron sticks when mined so electric poles could be crafted without recyclers at the start.

  • [space-age] The "Custom minimum payload" slider for orbital logistics now offers more sensible values.

  • [space-age] Orbital logistics "Custom minimum payload" is now checked against largest possible payload before setting the filter.

  • [space-age] Cargo bays will show a warning icon when they are not connected to a Hub or Landing Pad.

Optimizations
Bugfixes
Modding
  • Added AssemblingMachinePrototype::disabled_when_recipe_not_researched.
Scripting
  • Added LuaEntity::insert_plan and LuaEntity::removal_plan read/write.

  • Added removal_plan parameter to LuaSurface::create_entity for item request proxies.

Version 2.0.10 released as stable

Features
Changes
  • Non-blocking saving setting is no longer synced over the Steam cloud.
Minor Features
  • Added flying text for more cases of unsuccessful resource mining.
Bugfixes

Factorio Version 2.0.9 now stable

Changes
  • Achievement logistic-network-embargo updated with different condition for base game and space age.
Bugfixes

Version 2.0.7 released

Major Features
Features
  • Rail planner is usable in the map (remote view). (https://factorio.com/blog/post/fff-403)

  • Added smart dragging of underground belts and pipes.

  • Added a toggle to show pipelines on the map.

  • Added the option to pin positions, entities, alerts or search results, and keep track of their location. (https://factorio.com/blog/post/fff-400)

  • Entity ghosts are now buildable on water if the landfill ghosts are already there.

  • Added a third graph to the electric network overview to track the charges of accumulators over time. (https://factorio.com/blog/post/fff-408)

  • Added a new alert for construction and logistic robots that can't find free space in a roboport.

  • Added a new alert for trains failing to pathfind to their target. (https://factorio.com/blog/post/fff-395)

  • Added a new alert for turrets running out of ammunition. It only sounds once right when the ammo is used up.

  • Added fuel condition to the train schedule.

  • Added condition to the train schedule to check whether a specific station is full or not.

  • Added an option for a locomotive to update its color automatically based on the color of the target train stop. (https://factorio.com/blog/post/fff-389)

  • Smarter worker robot scheduling. Worker robots have task queue now which allows the planner to choose the robot that will be able to get to the destination fastest, even if it is doing something else at the moment.

  • Robot requests in roboports.

  • Added Flipping as a primary action to flip entities horizontally or vertically. Works on items in hand placed on the surface or ghosts. AssemblingMachines can now be mirrored by flipping them, allowing additional fluid box configurations. Bound to F (Horizontal) & V (Vertical) by default.

  • Upgrade planner can install new modules into machines, this is done by leaving the source slot empty and setting up only the destination slot.

  • Upgrade planner module upgrade/install can have machine filter and maximum count per machine specified.

  • Upgrade planner now has dynamic size, similar to the blueprint library. The size is capped at 250 rows now.

  • Added a way to create module/fuel requests in entities remotely by clicking with ghost item in hand. (https://factorio.com/blog/post/fff-380)

  • All turrets (except for artillery) can now be configured individually to prioritize certain types of enemies when looking for targets. (https://factorio.com/blog/post/fff-410) The priority settings can be copy-pasted between the different turret types and can be configured through the circuit network.

  • Added latency hiding for cars (and tanks).

  • Rocket silos continue producing parts for the next rocket while the current rocket is being launched. Completing another rocket soon enough skips closing and reopening the doors. (https://factorio.com/blog/post/fff-405)

  • Improved the way spidertrons are remotely controlled. Instead of spidertron remote being linked to single spidertron, it can be used to group select and command spidertrons like in your typical RTS game.

  • Spidertrons can be entered remotely, so you can control them as if you were inside physically, so switching the map on/off doesn't distrubt the mode.

  • Allowed opening and configuring entities through remote view. (https://factorio.com/blog/post/fff-380)

Ease of use
Circuit Network
  • Added selector combinator. It allows to select one of the signals, or the signal count from an input.

  • Added editable description to combinator entities.

  • Decider Combinators are now allowed to check multiple conditions and send multiple outputs per combinator.

  • Arithmetic combinator now allows to select red and green networks for input signals and perform Each-Each operations.

  • Signal pipetting.

  • Added display panel. 1X1 entity which can show specified icon and/or text, possibly also on the map. It can be also controlled by the circuit network. (https://factorio.com/blog/post/fff-419)

  • Transport belt connected to a circuit network can now read contents of the whole segment instead of just the one tile. (https://factorio.com/blog/post/fff-405)

  • Roboports can read logistic network contents and requests. (https://factorio.com/blog/post/fff-428)

  • Roboports can output the number of roboports in the logistic network to the circuit network. (https://factorio.com/blog/post/fff-428)

  • Logistic Chests have an optional circuit condition to enable / disable their connection to the network. (https://factorio.com/blog/post/fff-428)

  • Rocket silo is connectable to circuit network, and allows to read its contents.

  • Rocket silo circuit connection can read orbital requests.

  • All turrets (including artillery) can now be connected to the circuit network to read their current ammo count and/or deactivate them. (https://factorio.com/blog/post/fff-410)

  • Assembling machines, chemical plants, oil refineries and centrifuges can now send the ingredient list of their recipes to the circuit network.

  • Drag building electric poles will also drag circuit wires when starting from electric pole with already connected circuit wires.

  • When electric pole is removed, it will rewire circuit wires similar to copper wires.

  • Cut/copy pasting blueprint with external circuit wire connections will preserve these connections when the blueprint is built (if possible). (https://factorio.com/blog/post/fff-402)

  • Radar can now be connected to circuit network, allowing to wirelessly transmit a single channel of red and green signals on each planet/surface. (https://factorio.com/blog/post/fff-402)

  • Added a way to read nuclear reactor temperature through the circuit network. (https://factorio.com/blog/post/fff-428)

Minor Features
  • Added "No enemies" setting that disables enemy unit spawning from enemy spawners, map gen, and items. Does not disable enemy spawners.

  • Upgrade planner can upgrade fuel in blueprints (yet to be implemented for existing entities).

  • Added cargo pods that move items from platforms to landing pads.

  • Added a warning when a save game is too large to sync via the Steam cloud.

  • Added PipeWire audio driver.

  • Added a setting to select the preferred audio driver on Windows and Linux.

  • Undo improvements. Undo actions older than 1 minute require confirmation +flying text notification of what was undone.

  • Added redo.

  • Allow undoing of module changes done via upgrade planner.

  • Allow undoing of copy-pasting entity settings like assembler recipes or inserter filters. (https://factorio.com/blog/post/fff-412)

  • Allowed lamps color to be configured manually.

  • Manual building in latency state now tracks used items.

  • Manual building previews will now highlight ghosts that would be removed.

  • Blueprints with entities and landfill are now one-click buildable over water.

  • Added icons for tileable blueprints, like "Curve, Corner, T junction, X junction" and similar, in Virtual signals category.

  • Evolution factors are now tracked individually for each surface.

  • Pumps now can have a fluid filter. If present, only the specified fluid is taken from the pump's source.

  • Electric poles are no longer limited to 5 copper connections to other electric poles.

  • Removed some of the abstract items (red wire, green wire, discharge defense, artillery remote, spidertron remote) and replaced them with shortcut bar tools which can be used anytime for free. (https://factorio.com/blog/post/fff-379) These tools can still be placed into the quickbar if desired.

  • The smart pipette can also pick terrain and using it on fluid select the offshore pump.

  • The smart pipette can also pick items from crafting, logistic, select list, inventory and quickbar.

  • Disabling train stop no longer sends ongoing trains away. Disabled train stop is now considered full and trains will not skip schedule records.

  • Map tags can be moved. (https://factorio.com/blog/post/fff-388)

  • Map tags can be quickly copied using pipette. (https://forums.factorio.com/47822)

  • Map tags and pings can be placed while zoomed in to game view.

  • Spidertrons can be damaged by cars and tanks, can be damaged by walking on fire, and can be slowed with slowdown capsules.

  • Switching to the map editor using /editor now places the player at the position they were looking at in remote view. Switching out of the map editor returns the character to the position it was when entering. Added editor options to individually revert these changes to their previous behavior.

  • Numerical textfields accepts values with postfix formats (10k instead of 10000 etc), simple math expressions, like 3*7+7k are also possible.

  • Added logic to hide previews for buildable items if fast-transfer modifiers (default: Ctrl) are pressed. Doesn't apply to blueprints or when rail planner is active.

  • Improved the AI of the worker flying robots when it comes to choosing roboport to recharge. It prefers roboports closer to its destination, so (for example) it won't get stuck over lakes forever.

  • When you retrieve your corpse, the logistic requests will re-enable if they were enabled before death. (Related to the already existing behaviour, where the requests are disabled upon death, to avoid unwanted supply)

  • Dedicated servers will stay paused until the first player is fully connected (if auto-pause is enabled).

  • Added an option to auto-pause servers while any player is connecting (defaults to false).

  • Added several new achievements both to the base game and space age.

  • When renaming a train stop, it will try to copy its color from an existing stop with that name.

  • Added control inputs (Ctrl/Shift + Arrow keys) to adjust blueprint grid alignment.

  • Train stop can be given a priority, trains will prefer going to the train stop with higher priority and it will be easier for them to depart from such train stop. (https://factorio.com/blog/post/fff-395)

  • Allow copy-pasting of setting for trains and train stops while in chart view. (https://factorio.com/blog/post/fff-403)

  • Crafting machines can craft more than 1 recipe per tick if their speeds are fast enough.

  • Improved the ultra-wide monitor experience by greatly increasing the maximum view distance based on the game window's dimensions.

  • Added "sync-mods" command line option to sync mods with a given save file.

  • Trains with non-empty schedule are automatically switched into automated mode upon completition.

  • The spidertron inventory is automatically sorted.

  • Added a browse history feature. Pressing ALT + arrow keys (or the arrow button on the right top of the window), can go back and forth through what was opened. (https://factorio.com/blog/post/fff-397)

  • Added 8 directional arrows to virtual signals. Also added red cross signal next to the checkmark.

  • Added a super forced mode for deconstruction planner: when selecting area while holding Ctrl + Shift (by default) deconstructs everything (deconstructible and not filtered out), i.e. entities, tiles and hidden tiles

  • Added a reverse mode for deconstruction planner: when selecting an area using right-click, the white-/blacklist setting for entity and tile filters will be reversed for this selection.

  • Added a nondefault tile cover cache - last used cover tile is being saved per surface per force per tile id being covered. For most intents and purposes, those values act the same as default covers defined by covered tile prototype (for tiles without default cover defined).

  • The storage filter of logistic storage chests can now be copy-pasted.

Optimizations
  • Added automatic splitting of repeated noise expressions into separate procedures which increased map generation speed.

  • Improved C++ structure of noise expressions which reduced game start-up time and MapGenSettings compilation time.

  • Improved worker robot performance, they are not updated every tick when moving or stationary anymore. (https://factorio.com/blog/post/fff-421)

  • Improved performance of idle roboports. (https://factorio.com/blog/post/fff-421)

  • Improved radar charting speed. (https://factorio.com/blog/post/fff-421)

  • Improved circuit network logic by making it fully multithreaded.

  • Changed Spidertron walking strategy to deliberately alternate legs and be overall more efficient and performant.

  • Changed train wait condition evaluation order to check 'cheap' conditions (e.g. wait time) before 'expensive' conditions (e.g. inventory) within a set of "and"-connected conditions.

Graphics
  • Changed night vision effect from grayscale to a more contrasty one.

  • Added decay stages for enemies. (Biters, Spitters, Worms, Spawners)

  • Reworked die animations, now they have more gore to transition into the decay stages better.

  • Reworked fire animations, improved quality and increased resolution.

  • Reworked rocket projectile animations

  • Fixed copper and circuit wires appearing to sag below the perceived ground level.

  • Fixed copper and circuit wire shadows projecting onto the ground incorrectly.

Sounds
  • Improved sounds of dying enemies.

  • Added different sounds for manipulating different items in the inventory and opening different entities. (https://factorio.com/blog/post/fff-396)

  • Added different sounds for shooting different kind of targets.

  • Added ambient sounds. (https://factorio.com/blog/post/fff-396)

  • Added semi-persistent ambient sounds.

  • Added support for sound accents for entities' working_sound. These are short sounds which play at a specific moment in the entity's animation.

  • Added support for multiple main sounds for entities' working_sound.

  • Extended support for aggregation to most sounds.

  • Added controls to skip current music track, go back to previous one and to pause/resume music.

  • Added new music. (https://factorio.com/blog/post/fff-406)

  • Added variable music. (https://factorio.com/blog/post/fff-407)

Balancing
  • Diminishing return of beacons effect (https://factorio.com/blog/post/fff-409)

  • Lowered Fluid pumping speed from 12 000 to 1 200.

  • Altered the mining drill bounding box, so you can walk between mining drill and substation and such.

  • Lowered stack size of ammo from 200 to 100.

  • Increased fluid wagon capacity from 25000 to 50000 to make fluid wagons more compelling compared to the new pipe mechanics.

  • Increased low density structure stack size from 10 to 50.

  • Increased beacon stack size from 10 to 20.

  • Rocket part takes 10 times less ingredients than before.

  • Rocket silo requires 50 rocket parts to craft a rocket instead of 100.

  • Biter spawner health grows with evolution, up to 10 times with maximum evolution.

  • Increased health of bigger worms, and added a laser resistance to them.

  • Removed the 15% explosion damage resistance from biter spawners.

  • Doubled the damage of artillery.

  • Nerfed personal laser defense damage output to 1/3 its previous output.

  • Changed all module-3 recipe to require only 4 (instead of 5) module-2 ingredients.

  • Greatly increased default tile pollution absorption.

  • Increased rock