Version history/0.17.0: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
(0.17.79)
(43 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__NOTOC__
== 0.17.79 ==
Date: 19.11.2019


== 0.17.36 ==
=== Bugfixes ===
Date: 03.05.19
 
* Fixed that the infinity pipe mode could sometimes reset when changing other infinity pipe settings. ([https://forums.factorio.com/78047 more])
* Fixed that electric energy interfaces didn't consume power correctly. ([https://forums.factorio.com/77998 more])
* Fixed market GUI not showing price in the tooltips of modifiers. ([https://forums.factorio.com/78042 more])
* Fixed market GUI showing empty price property in the tooltips when no price is set.
* Fixed lights render quality slider in graphics settings missing tooltip. ([https://forums.factorio.com/78005 more])
== 0.17.78 ==
Date: 15.11.2019
 
=== Bugfixes ===
 
* Fixed a desync related to biter pathfinding. ([https://forums.factorio.com/77997 more])
== 0.17.77 ==
Date: 14.11.2019


=== Graphics ===
=== Changes ===


* Added new specific remnants for various entities. (Work in progress beginning with 0.17.36)
* When a team loses in PvP, all their characters will die.
* Technology GUI shows saved progress of partially-researched technologies.


=== Bugfixes ===
=== Bugfixes ===
* Fixed that ghosts could be built in fog of war.
* Fixed a stack overflow when merging large electric networks (149'000+ electric poles). ([https://forums.factorio.com/70244 more])
* Fixed some achievements not counting their requirements properly. ([https://forums.factorio.com/70276 more])
* Changed worm and spitter acid attack so they do not create acid splashes on water. ([https://forums.factorio.com/70069 more])
* Changed fonts for Asian languages (Chinese, Japanese, Korean).
* Fixed that power switch connections weren't restored by undo. ([https://forums.factorio.com/70240 more])


=== Modding ===
* Fixed a crash when when loading modded saves that had construction robots working on modded entities.
* Fixed that 'corpses' and 'dying_explosion' wouldn't be created on the correct force. ([https://forums.factorio.com/77685 more])
* Fixed that LuaEntity::get_fuel_inventory() didn't work on burner pumps. ([https://forums.factorio.com/77535 more])
* Fixed ammo turret tooltip not showing the damage bonus correctly. ([https://forums.factorio.com/77556 more])
* Fixed fluid name and amount not being shown when the tooltip is on the side. ([https://forums.factorio.com/77722 more])
* Show how module energy consumption is applied more clearly in the tooltips. ([https://forums.factorio.com/77703 more])
* Fixed several issues related to modded reactors set to use electric energy. ([https://forums.factorio.com/77244 more])
* Fixed spitters were not able to destroy trees and rocks. ([https://forums.factorio.com/77715 more])
* Fixed that shift+click recipes in cheat mode wasn't able to handle recipes that included fluids but still only produced 1 item result. ([https://forums.factorio.com/77752 more])
* Fixed a difference in map editor paused vs unpaused game ticking related to enabled/disabled train stops. ([https://forums.factorio.com/77762 more])
* Fixed that produce item per hour achievements could not be progressed. ([https://forums.factorio.com/77661 more])
* Fixed an issue with reading localised strings in Lua. ([https://forums.factorio.com/77769 more])
* Fixed that right clicking to add 1 item to assembling machines had no limit. ([https://forums.factorio.com/73698 more])
* Fixed that teleporting players/cars between surfaces would invalidate lua references to them.
* Fixed a crash with trains that had wheels.direction_count = 0. ([https://forums.factorio.com/77655 more])
* Fixed statistics not counting items correctly on large intervals when a large number of items are produced/consumed. ([https://forums.factorio.com/77355 more])
* Fixed Beacon ghost tooltip missing some information. ([https://forums.factorio.com/77780 more])
* Fixed ghost tooltips not showing correct max energy consumption.
* Fixed tooltips for tile creating items showing wrong title. ([https://forums.factorio.com/77920 more])
* Fixed blueprint strings not saving empty values for some circuit network settings.  ([https://forums.factorio.com/77303 more])
* Fixed PvP config import would always append the default item and equipment lists. ([https://forums.factorio.com/77925 more])
* Fixed that creating infinity chests with logistic_mode set would ignore request filters. ([https://forums.factorio.com/77957 more])
 
=== Scripting ===


* Added "check_buildability" to "create-fire" trigger effect definition.
* Added LuaEntity::command, LuaEntity::distraction_command, LuaUnitGroup::command, and LuaUnitGroup::distraction_command reads.
* Added "tile_collision_mask" to "create-entity" and "create-fire" trigger effect definitions as faster alternative to full buildability check.
* Added LuaUnitGroup::is_script_driven read.
* Added "trigger_created_entity" to "create-fire" and "create-sticker" trigger effect definitions.


=== Scripting ===
=== Modding ===
* Added "item" to the on_built_entity event.


== 0.17.35 ==
* Changed RollingStockPrototype::wheels to be optional.
Date: 02.05.19
== 0.17.76 ==
Date: 07.11.2019


=== Changes ===
=== Changes ===


* Increased the maximal length of station name to 1024, mainly to allow wider usage of multiple tags in the name. ([https://forums.factorio.com/68219 more])
* Energy consumption is no longer shown in the tooltip for void energy sources.


=== Bugfixes ===
=== Bugfixes ===


* Fixed that making blueprints of locomotive ghosts wouldn't include the schedules. ([https://forums.factorio.com/69856 more])
* Fixed a bug in NPE where Compilatron would sometimes loop around smashing things. ([https://forums.factorio.com/76072 more])
* Fixed that worms and spitters didn't show attack parameters in description.
* Fixed possibility of dying just before a cutscene in NPE, which would lead to a crash. ([https://forums.factorio.com/77179 more])
* Fixed that the game would crash if it was closed when Sound Settings was opened. ([https://forums.factorio.com/69977 more])
* Fixed game crashing in NPE if it can't find anywhere to spawn a biter. ([https://forums.factorio.com/77486 more])
* Limited the manual rail building distance to 3 times the normal building distance.
* Fixed using dark coal icon on dark speech bubble background. ([https://forums.factorio.com/75916 more])
* Fixed dangling tooltip bug related to widget reorganization in map generator GUI and possibly other places. ([https://forums.factorio.com/69471 more])
* Fixed a crash when loading modded saves without the mod when you had entities marked to be upgraded to the now removed modded items but the entity is still valid.
* Fixed that the train time condition label wasn't properly set to squashable resulting in wrong layouting in certain languages. ([https://forums.factorio.com/69583 more])
* Fixed incorrect string for "Fuel Pollution" in tooltip. ([https://forums.factorio.com/77555 more])
* Fixed truncation of labels containing rich text. ([https://forums.factorio.com/69917 more])
* Fixed tooltip not showing max consumption correctly when using modules. ([https://forums.factorio.com/77570 more])
* Fixed PvP and Wave defense starting base entities wouldn't spawn if a mod added a tile with a certain collision mask and a name which sorted alphabetically above dirt.
* Fixed battery equipment and accumulator tooltips showing wrong input flow limit when it's unlimited. ([https://forums.factorio.com/77570 more])
* Fixed PvP production score error when a mod or script adds another force during a round.
* Fixed item tooltips not showing custom_description. ([https://forums.factorio.com/77569 more])
* Fixed PvP error when using DEFCON mode.
* Fixed some item tooltips having incorrect title or description.
* Fixed that the shortcut bar selection list wasn't scrollable until the window was resized. ([https://forums.factorio.com/68804 more])
* Fixed that hovering over a logistic request didn't highlight inventory items. ([https://forums.factorio.com/77565 more])
* Making disabling of features in map generator more clear by adding checkboxes for it. ([https://forums.factorio.com/65841 more])
* Fixed pump tooltip not showing pumped amount when pumping from a fluid wagon. ([https://forums.factorio.com/77656 more])
* The wagon door opening animation (that is only available for horizontal/vertical direction) is now chosen based on the drawing sprite of the wagon selected instead of the orientation of the wagon. This means, that orientations really close to horizontal/vertical still use the animation. ([https://forums.factorio.com/68768 more])
* Show the products of a recipe more clearly when the product has a probability and/or an interval defined. ([https://forums.factorio.com/77468 more])
* Fixed that changing map size didn't mark the map preset as modified. ([https://forums.factorio.com/67261 more])
* Fixed a crash when restarting the game after it failed to load modded fluidboxes. ([https://forums.factorio.com/77617 more])
* Fixed label text not updating correctly when cleared and had non-zero minimal width and height. ([https://forums.factorio.com/69763 more])
* Fixed tech tree quantity icon being shown incorrectly. ([https://forums.factorio.com/77674 more])
* Improved handling of whitespace characters in technology count formula parsing.
* Fixed an exploit related to upgrading ghosts while a robot is trying to work on them. ([https://forums.factorio.com/77665 more])
* Checking that only the l (or L) variable used in the technology formula on startup, to avoid errors later on. ([https://forums.factorio.com/69870 more])
* Fixed target leading logic would cause turret to shoot outside of its range sometimes. ([https://forums.factorio.com/77071 more])
* Fixed NPE error at startup that could occur when using mods. ([https://forums.factorio.com/69439 more])
 
* Fixed GUI window of an entity not updating when pasting settings to that entity. ([https://forums.factorio.com/69102 more])
=== Modding ===
* Fixed error in consistency check of ghost connections related to multiple connections to entities only in the undo queue. ([https://forums.factorio.com/70126 more])
* Fixed train condition fulfilling indication for artillery wagon. ([https://forums.factorio.com/69677 more])
* IDXGIOutput::FindClosestMatchingMode returning an error is not treated as critical failure anymore. ([https://forums.factorio.com/70152 more])
* Fixed that the Mods GUI go-to-dependency buttons wouldn't work in some scenarios. ([https://forums.factorio.com/69545 more])
* Fixed that ghost building mode works the same as ghost building (with shift) when it comes to rail building. ([https://forums.factorio.com/69761 more])
* Fixed that upgrading entities in would leave invalid module requests. ([https://forums.factorio.com/70040 more])
* Fixed, that sorting changes were moving the scrolled position in the browse game gui. It is now consistent with the mods gui. ([https://forums.factorio.com/70128 more])
* Fixed some achievements being given to players while the save game is loading, not respecting player online time. ([https://forums.factorio.com/64214 more])
* Fixed LuaTransportLine::output_line read for right-hand output lines of a lonely splitter. ([https://forums.factorio.com/70207 more])
* Fixes to make tabbed pane work properly when it comes to squashing in different situations. ([https://forums.factorio.com/69488 more])
* Tweaked the algorithm that is putting trains on rails to work properly in junctions when constrained by the direction caused by blueprint/ghost train building. ([https://forums.factorio.com/69457 more])


=== Modding ===
* Added AmmoTurretPrototype::entity_info_icon_shift.
== 0.17.75 ==
Date: 04.11.2019


* Renamed the character entity type and name from "player" to "character" to make it consistent with how we call/access it in all other places.
=== Features ===
* Renamed the technology personal-roboport-equipment-2 to personal-roboport-mk2-equipment and gave it corresponding icon to be consistent with other technologies of this kind.
* Renamed the technology power-armor-2 to power-armor-mk2 to be consistent with other technologies of this kind.
* Added optional storage tank prototype property "scale_info_icons".
* Added "manual_rail_building_reach_modifier" to the utility-constants.
* MapGenPresets' advanced_settings.difficulty_settings.research_queue_setting now works. ([https://forums.factorio.com/69546 more])


=== Scripting ===
* Construction robots will attempt to batch build tiles.
 
* Mod GUI root elements (top/left/center/goal) are now contained in scroll panes, so when there is not enough space, it will become scrollable instead of being cut off. With enough space, it looks the same as before, the only change is, that the mod GUI contents can now not expect to be squashed by the screen, as it will just make a scroll bar instead.
* Added LuaCircuitNetwork::connected_circuit_count read.
* Added LuaEntity::time_to_live read/write for highlight box entities.
* Added LuaEntity::allow_dispatching_robots read/write.
* Added LuaEntity::toggle_equipment_movement_bonus().
* Added LuaEquipmentGrid::inhibit_movement_bonus read/write.
* Added optional 'radius' to LuaSurface 'find_xyz' functions.
* Added defines.inventory.editor_main, editor_guns, editor_ammo, editor_armor.
* AutoplaceSpecification::control is always included in property tree, even for non-peak-based autoplace specifications. ([https://forums.factorio.com/69286 more])
* Fixed a save corruption problem when using LuaSurface::clone_area(). ([https://forums.factorio.com/67207 more])
* Renamed defines.inventory.player_main, player_guns, player_ammo, player_armor, player_vehicle and player_trash to defines.inventory.character_main, character_guns, character_ammo, character_armor, character_vehicle and character_trash.
* Removed LuaStyle::title_top_padding, title_right_padding, title_bottom_padding and title_left_padding.
 
== 0.17.34 ==
Date: 26.04.19


=== Changes ===
=== Changes ===


* Improved fluid simulation threading. Decreases CPU usage. Threading available on all operating systems. Simulation performance should remain unchanged.
* Tooltips reworked. They now have a new structure and look.
* Properties in tooltips have been reorganized and reworked. Common properties have been added to categories.
* Added more information to tooltips, for example to be able to calculate steam power and nuclear ratios.
* Recipe and item tooltips are now separate. Item tooltips will be shown for each product in the recipe, if relevant.
* Descriptions and Total Raw can be hidden using the interface setting.
* Reorganized the interface settings menu.


=== Bugfixes ===
=== Bugfixes ===


* Fixed a crash when importing blueprint strings with power switch wires.
* Fixed a crash when switching between the map editor and the ghost controller type. ([https://forums.factorio.com/77253 more])
* Fixed fluid mixing for fixed recipe assemblers. ([https://forums.factorio.com/69676 more])
* Fixed car movement animation played forwards when reversing. ([https://forums.factorio.com/77158 more])
* Fixed "Not enough rails" message after successful track placement. ([https://forums.factorio.com/69930 more])
* Fixed a crash related to using LuaCustomTables incorrectly. ([https://forums.factorio.com/77374 more])
* Fixed a crash when destroying entities during the on_pre_ghost_deconstructed event. ([https://forums.factorio.com/69965 more])
* Fixed that accumulators wouldn't copy circuit signals correctly in some cases. ([https://forums.factorio.com/77384 more])
* Fixed that trains with "logistics while moving" disabled would not deploy robots when switched into automatic mode while waiting at a station ([https://forums.factorio.com/69914 more])
* Fixed a crash related to removing all collision masks from rails. ([https://forums.factorio.com/77479 more])
 
=== Modding ===
 
* Added ProductPrototype::show_details_in_recipe_tooltip. It determines if a product tooltip should be shown when hovering a recipe.
 
=== Scripting ===
 
* Added filtering support for several common Lua events.
* Added LuaEntity::logistic_network write for construction and logistic robots.
* Added "lifetime" optional entity creation parameter for speech-bubble entities.
* Added LuaEntityPrototype::max_distance_of_sector_revealed and max_distance_of_nearby_sector_revealed read.
* Changed RecipePrototype so it calculates catalyst from ingredients and products automatically if not manually defined.
== 0.17.74 ==
Date: 25.10.2019
 
=== Bugfixes ===


== 0.17.33 ==
* Fixed crafter would not reconnect heat energy source after rotate in some cases. ([https://forums.factorio.com/67803 more])
Date: 24.04.19
* Fixed a crash when adding science pack types to labs. ([https://forums.factorio.com/77173 more])
* Fixed a crash related to text boxes and clearing them with selected text. ([https://forums.factorio.com/77200 more])
== 0.17.73 ==
Date: 24.10.2019


=== Changes ===
=== Graphics ===


* Added out of fuel alert icon to flamethrower turrets.
* Extended transport belt sprites a little bit to avoid rendering glitches at some zoom levels.
* UI scale won't be synchronised over Steam Cloud anymore. ([https://forums.factorio.com/67085 more])
* Syncing startup settings with a server will automatically join the server on game restart. ([https://forums.factorio.com/69064 more])


=== Bugfixes ===
=== Bugfixes ===


* Fixed yet another consistency bug related to ghost connections. ([https://forums.factorio.com/69694 more])
* Added missing max_work_done_per_tick in map-settings.example.json. ([https://forums.factorio.com/76870 more])
* Fixed crash related to changing force of entity marked for deconstruction/upgrade/in undo queue. ([https://forums.factorio.com/69493 more])
* Fixed that accumulator settings could not be copy-pasted. ([https://forums.factorio.com/76993 more])
* Fixed a crash resulting from overlapping underground pipes. ([https://forums.factorio.com/69548 more])
* Fixed that generators could rotate and render incorrectly. ([https://forums.factorio.com/77028 more])
* Fixed power grid overlay not showing correctly on map when changing surfaces. ([https://forums.factorio.com/69104 more])
* Fixed bad quest GUI in NPE. ([https://forums.factorio.com/76439 more])
* Fixed another instance of furnaces with fluid outputs not working correctly. ([https://forums.factorio.com/69674 more])
* Fixed a crash related to the map editor "recipe locked" setting for assembling machines. ([https://forums.factorio.com/76574 more])
* Fixed multiplayer paused notification not being cleared when the client is dropped. ([https://forums.factorio.com/67326 more])
* Fixed that Military science pack was sorted after Chemical science pack in the Lab GUI.
* Fixed accumulators showing discharge animation and empty icon at the same time. ([https://forums.factorio.com/67929 more])
* Fixed low quality texture compression would create major artifacts on some sprites. ([https://forums.factorio.com/77123 more])
* Fixed that the game would desync when changing forces of beams, fluid streams, projectiles, stickers, and fire flames.
* Fixed a crash when reading storage_filter on infinity chests. ([https://forums.factorio.com/77128 more])
* Fixed player inventory income flying text would sometimes show incorrect total item count. ([https://forums.factorio.com/66542 more])
* Fixed a crash when reading LuaEntity::tree_stage_index_max in some cases. ([https://forums.factorio.com/77132 more])
* Fixed switched technology levels in the console message when changing research. ([https://forums.factorio.com/69681 more])
* Changed blueprinting selection previews to include both tile ghosts and tiles when only tile ghost entities are being selected. ([https://forums.factorio.com/75925 more])
* Fixed that the keyboard shortcuts for new blueprint/upgrade planner/deconstruction planner wouldn't work when the cut or copy tool was selected. ([https://forums.factorio.com/68904 more])
* Fixed a crash that could happen when path_resolution_modifier was set to very low values. ([https://forums.factorio.com/77001 more])
* Changed render layer of belts marked for deconstruction so they don't clip with other belts. ([https://forums.factorio.com/65931 more])
 
* Fixed attempt to rotate ore patches that are out of reach would create "Can't Reach" floating message. ([https://forums.factorio.com/66647 more])
=== Modding ===
* Fixed that generators would produce infinite pollution in some cases. ([https://forums.factorio.com/69450 more]) ([https://forums.factorio.com/69879 more])
 
* Fixed that generator tooltips did not show pollution. ([https://forums.factorio.com/69494 more])
* Changed input_flow_limit and output_flow_limit so 0 means 0 instead of unlimited (no value still means unlimited).
* Fixed that LuaGameScript::tick_paused read was not of type boolean. ([https://forums.factorio.com/69892 more])
 
* Fixed that the map editor convert-save-to-scenario didn't work correctly in some cases. ([https://forums.factorio.com/68913 more])
=== Scripting ===
* Fixed that the map editor intensity slider number fields wouldn't accept numbers outside the slider range. ([https://forums.factorio.com/69165 more])
* Fixed that the deconstruction planner "tiles only" mode would ignore tile ghosts. ([https://forums.factorio.com/68360 more])
* Fixed that exporting blueprint strings wouldn't include pending icon changes. ([https://forums.factorio.com/67180 more])
* Fixed that cloning rocket silos with rockets waiting to launch wouldn't auto-launch correctly. ([https://forums.factorio.com/69781 more])
* Fixed that cloning single entities with wire connections to themselves didn't work correctly. ([https://forums.factorio.com/69770 more])
* Fixed a desync related to rail item names. ([https://forums.factorio.com/69807 more])
* Map generator GUI now remembers the last preset used.
* Fixed an older bug with pull-placement of power poles. ([https://forums.factorio.com/69659 more])
* Fixed copying files to temp folder would preserve read only permissions, which could cause errors. ([https://forums.factorio.com/61763 more])
* Fixed rich text issue with sometimes removing font/color tags when it shouldn't. ([https://forums.factorio.com/69848 more])


=== Modding ===
* Added LuaEntity::driver_is_gunner read/write.


* Fixed that trivial smoke wouldn't work correctly if it moved > 8 chunks from its origin. ([https://forums.factorio.com/69383 more])
=== Balancing ===
* Renamed gate prototype collision_mask to opened_collision_mask so that it can be different from the entity collision mask.


=== Scripting ===
* Changed: Amount of copper-cable in Introduction scenario crash site.
* Changed: Increased minimum size of a resource deposit to 100 in the Introduction scenario.
== 0.17.72 ==
Date: 18.10.2019


* Changed creation of tile ghosts to use "ghost_name" to match the rest of the API.
=== Bugfixes ===
* Added LuaSurface::entity_prototype_collides() and LuaSurface::decorative_prototype_collides().
* Added LuaRecipePrototype::allow_decomposition read.
* Added LuaSpriteButton::number allows nil value, which signals/specifies no number to be drawn, which now allows showing of 0.
* Added LuaTrain::signal read.


== 0.17.32 ==
* Fixed another biter-related crash. ([https://forums.factorio.com/76909 more])
Date: 18.04.19
== 0.17.71 ==
Date: 16.10.2019
 
=== Bugfixes ===
 
* Fixed a crash that would happen on loading certain saves made in previous versions. ([https://forums.factorio.com/76817 more])
* Fixed entity selection could desync from mouse cursor when switching to cutscene controller in multiplayer. ([https://forums.factorio.com/76398 more])
== 0.17.70 ==
Date: 15.10.2019
 
=== Features ===
 
* Added interface option to adjust the number of shortcut bar rows that are visible on the screen.
* Added ability to shift click a research in the technology screen to start that research.
* Allowed setting filters with the ghost cursor.


=== Changes ===
=== Changes ===


* Admins ignore multiplayer map upload slot limit.
* Biters and Spitters will no longer collide with other biters/spitters. (https://factorio.com/blog/post/fff-316)
* "Player is being dropped"/"Server not responding" messages will only show after 2 seconds, to avoid irrelevant short pop-ups.
 
=== Graphics ===
 
* Added new remnants for several entities. They are still work-in-progress and subject to further change.


=== Bugfixes ===
=== Bugfixes ===


* Fixed that the server-settings.example.json had an additional comma at the end of the file. ([https://forums.factorio.com/69451 more])
* Excluding runtime fluid mixing check from assembler migration that caused some crashes when loading a save with mixing in it.
* Filled in a missing fluid mixing check for miner. ([https://forums.factorio.com/69381 more])
* Fixed landfill map color on old saves. ([https://forums.factorio.com/75870 more])
* Fixed that create-blueprint-item shortcut prototypes could have no item_to_create set. ([https://forums.factorio.com/69500 more])
* Added migration to recalculate tile transitions when tile layer definition changes in tile prototype. ([https://forums.factorio.com/75871 more])
* Fixed upload slot queue blocking players from joining even if not all slots were filled.
* Fixed that artillery remote failure sounds could be duplicated in some cases. ([https://forums.factorio.com/75639 more])
* Fixed a desync from rotation of an assembler with fluid energy source. ([https://forums.factorio.com/69395 more])
* Fixed that the game would still process mod dependencies for disabled mods. ([https://forums.factorio.com/75873 more])
* Fixed connection consistency problems of wire/circuit connections ghosts and undo. ([https://forums.factorio.com/69452 more])
* Fixed that underground pipes with different length could sometimes connect one tile further.
* Added a no-crop requirement to the wire sprite definitions to avoid mods removing it, which can confuse the drawing logic. ([https://forums.factorio.com/69325 more])
* Fixed that the cursor would appear in the wrong position after textbox alignment was changed by scripting. ([https://forums.factorio.com/74971 more])
* Fixed text boxes that would not respect keyboard layout for shortcuts like copy or paste. ([https://forums.factorio.com/68380 more])
* Fixed placement of scrollbars around textboxes. ([https://forums.factorio.com/74969 more])
* Fixed blocking of game shortcuts when a text box has focus did not take into account keyboard layout settings. ([https://forums.factorio.com/67021 more])
* Fixed a crash related to teleporting biters during the ai-completed events. ([https://forums.factorio.com/75962 more])
* Fixed the game would not respect remapping of modifier keys (Ctrl, Shift, Alt) in operating system. ([https://forums.factorio.com/65093 more])
* Fixed that non-square crafting machines without fluid boxes didn't rotate correctly. ([https://forums.factorio.com/75944 more])
* Fixed it wasn't possible to bind mouse buttons 6 to 9. ([https://forums.factorio.com/69588 more])
* Fixed that the game would freeze when trying to find automatic artillery targets with very high levels of artillery range. ([https://forums.factorio.com/76056 more])
* It is no longer possible to teleport an entity into fluid mixing. ([https://forums.factorio.com/69316 more])
* Fixed tile ghosts sometimes overlapped on edges which created visible lines. ([https://forums.factorio.com/76189 more])
* Fixed a crash when defining a programmable speaker with no instruments. ([https://forums.factorio.com/69632 more])
* Fixed that the on_gui_switch_state_changed event would fire twice in some cases. ([https://forums.factorio.com/76211 more])
* Sync-mods-with-save will no longer offer to load-save when attempting to sync while hosting a multiplayer game. ([https://forums.factorio.com/67756 more])
* Fixed wrong damage bonus values in tooltips of combat robots and units in a different force. ([https://forums.factorio.com/76182 more])
* Fixed when negative health regeneration wouldn't work when the entity had full health. ([https://forums.factorio.com/69605 more])
* Fixed that the research screen would show a technology as "available" when it was queued. ([https://forums.factorio.com/75960 more])
* Fixed a crash related to migrating game versions while having gates marked for deconstruction with ghost walls built over them. ([https://forums.factorio.com/69473 more])
* Fixed that LuaEntity::last_user didn't support writing `nil`. ([https://forums.factorio.com/76360 more])
* Fixed that mod GUIs could show on top of the technology screen after loading a save. ([https://forums.factorio.com/75979 more])
* Fixed a crash when using the /screenshot command. ([https://forums.factorio.com/76418 more])
* Fixed that the --disable-migration-window command line option didn't always work. ([https://forums.factorio.com/76542 more])
* Fixed that pumps had a drain when using a non-electric energy source. ([https://forums.factorio.com/76355 more])
* Fixed a bug in fluid system splitting.
* Changed order of pipe connections to avoid previous cases of fluid mixing. A.k.a Boskid's deferred pipes.
* Offshore pumps now set fluid filter automatically based on produced fluid. ([https://forums.factorio.com/76286 more])
* Fixed crash when closing shortcut selection list while dragging. ([https://forums.factorio.com/76718 more])
* Fixed that biters could get overloaded by artillery and stop moving. ([https://forums.factorio.com/64334 more])
* Fixed that biters could get stuck during attacks. ([https://forums.factorio.com/74740 more])
* Fixed that biter pathfinding could cause unreasonably large save files. ([https://forums.factorio.com/74058 more])
* Fixed that biters would attack in a single file due to their colliding with each other. ([https://forums.factorio.com/66977 more])
* Fixed that personal roboports would function with literally no power.
* Fixed migrating pre-0.17 maps with detached characters that had a grid armor in quick bar would corrupt game state. ([https://forums.factorio.com/76466 more])


=== Modding ===
=== Modding ===


* For performance reasons inserter pickup/dropoff vectors are now limited to half a chunk or less.
* Added optional flying robot prototype property "max_speed".
* Added light_renderer_search_distance_limit to utility constants.


=== Scripting ===
=== Scripting ===


* Added LuaEntityPrototype::lab_inputs read.
* Changed LuaEntity::color to also work for cars.
* Added LuaEntityPrototype::researching_speed read.
* Changed LuaStyle::padding, margin to also accept arrays of padding values.
* Added LuaGameScript::pollution_statistics read.
* Added optional "unit_number" to on_post_entity_died event.
* Added support to teleport car entity types between surfaces.
* Added LuaEntityPrototype::call_for_help_radius, max_count_of_owned_units, max_friends_around_to_spawn, spawning_radius and spawning_spacing read.
* Added LuaForce::research_enabled read.
== 0.17.69 ==
Date: 19.09.2019


== 0.17.31 ==
=== Changes ===
Date: 12.04.19


=== Bugfixes ===
* Allow closing rich text tags with . as well as /, to allow color tags in save names. ([https://forums.factorio.com/75081 more])
* Using wires in the map editor no longer consumes the wires.


Fixed a crash when hosting multiplayer games in some scenarios.
=== Features ===


== 0.17.30 ==
* Added a setting to the map editor to show/hide the infinity filters.
Date: 12.04.19


=== Minor Features ===
=== Bugfixes ===


* Added ability to set a maximum number of map upload slots for multiplayer servers. Setting this is recommended to prevent the server from being flooded with map fragment requests from clients.
* Fixed splitter input flipping mechanism. ([https://forums.factorio.com/74273 more])
* Fixed pressing Backspace when text box caret was at the start of the text, in front of rich text icon, would delete the icon. ([https://forums.factorio.com/75306 more])
* Fixed it was possible to paste non-numeric values to numeric text fields. ([https://forums.factorio.com/75303 more])
* Fixed tooltips appearing in the top-left corner during autosaves. ([https://forums.factorio.com/75156 more])
* Changed render-layer of smoke used as activity indicator on chemical plant. ([https://forums.factorio.com/75335 more])
* Fixed that escape didn't work in the "new scenario for map editor" GUI. ([https://forums.factorio.com/75375 more])
* Fixed that prototype-defined locale didn't work nicely related to items that built things. ([https://forums.factorio.com/75419 more])
* Fixed a consistency issue with rotation of a modded assembler. ([https://forums.factorio.com/74746 more])
* Train will cancel reservation of signals in front of it when it runs out of fuel. ([https://forums.factorio.com/74647 more])
* Fixed manipulating with inventory of other character could cause an armor to be deleted leading to save file corruption. ([https://forums.factorio.com/75446 more])
* Fixed achievement sound stacking loudly when multiple achievements are unlocked. ([https://forums.factorio.com/75498 more])
* Fixed underground pipe connections of a large entity ghost. ([https://forums.factorio.com/75492 more])
* Fixed oil refinery was missing shadow on some configurations. ([https://forums.factorio.com/75563 more])
* Fixed an issue with loading some saves with modded lengths of underground pipes, such as Py mods. ([https://forums.factorio.com/75552 more])
* Fixed that the Lua API allowed setting direction on entity ghosts which would crash in most cases. ([https://forums.factorio.com/75600 more])
* Fixed train stations penalty when there are two stations attached to same rail segment. ([https://forums.factorio.com/75555 more])
* Fixed rotating underground pipe into mixing and blocked connection. ([https://forums.factorio.com/75494 more])
* Fixed that the player cursor stack would be empty during the 'cut' part of cut-paste. ([https://forums.factorio.com/75522 more])
* Fixed train stop rich text tags would show as trains. ([https://forums.factorio.com/75611 more])
* Added automated fix for another case of fluid mixing. ([https://forums.factorio.com/75484 more])
* Changed runtime fluid mixing fix so that it can't be abused in PvP. ([https://forums.factorio.com/75495 more])
* Changed the map editor so it can place blueprints with recipes that haven't been researched yet. ([https://forums.factorio.com/75745 more])
* Fixed rotation of modded boiler with regard to blocked connections. ([https://forums.factorio.com/75666 more])
* Fixed that a pipe block would not get fixed when a rotation removed the reason for the pipe block. ([https://forums.factorio.com/75695 more])
* Fixed a crash in the map editor related to 0-count infinity filters and items in the cursor. ([https://forums.factorio.com/75759 more])
* Fixed crash when attempting to use LuaRendering to render icon of an entity that doesn't have icon defined. ([https://forums.factorio.com/75797 more])
* Fixed fluid mixing from removing a modded boiler in a special setup. ([https://forums.factorio.com/75675 more])


=== Optimizations ===
=== Modding ===


* Optimized alt-mode icon background rendering. ([https://forums.factorio.com/67280 more])
* Added 'allow_burner_leech' to inserter prototypes. If set to true, burner inserters will look in the pickup targets fuel inventory when refueling.


=== Bugfixes ===
=== Scripting ===
 
* Fixed that cut tool marked trees/rocks/cliffs for deconstruction when there was other valid entity in the selection. ([https://forums.factorio.com/69002 more]) ([https://forums.factorio.com/69199 more])
* Fixed that movement by keys or clicking on an alert didn't unsnap the currently followed train in the map. ([https://forums.factorio.com/69199 more]) ([https://forums.factorio.com/69002 more])
* Fixed that the game would crash when showing blueprint library tooltips. ([https://forums.factorio.com/69398 more])
* Fixed that the game would crash when showing a blueprint library tooltip in multiplayer when the blueprint/book was removed by another player.
* Fixed alt-mode icon background for narrow icons was be very subtle. ([https://forums.factorio.com/65338 more])


== 0.17.29 ==
* Added LuaEntityPrototype::collision_mask_with_flags read.
Date: 12.04.19
* Added LuaTilePrototype::collision_mask_with_flags read.
* Added LuaDecorativePrototype::collision_mask and collision_mask_with_flags read.
* Added LuaStyle::rich_text_setting read/write for labels, text boxes, and text fields.
* Added LuaEntityPrototype::allow_burner_leech read.
* Added LuaPlayer::request_translation().
* Added "on_string_translated" event.
* Added LuaEntity::get_merged_signal().
* Added to_be_upgraded to LuaSurface::count/find_entities_filtered. ([https://forums.factorio.com/75132 more])
* Added a blueprint entity index to source entity mapping to the on_player_setup_blueprint event.
* Changed entity, tile, and decorative prototype collision_mask filters to support filtering by 'collides' or 'layers-equals'.
* Added allow_in_replay flag into LuaGameScript::take_screenshot. ([https://forums.factorio.com/75272 more])
== 0.17.68 ==
Date: 04.09.2019


=== Changes ===
=== Changes ===


* Simplified rail building. Holding shift while rail building always activates the combination of ghost-rail-building + remove-obstacles, releasing shift returns back to normal manual mode. It doesn't matter anymore, whether the rail building started with shift or not. This removed the possibility to do ghost-rail-building without the remove-obstacles, but since it seems to be almost useless, we consider it to be worth the simplification.
* Pressing ESC while catching up to a multiplayer game will open the menu with most options disabled. ([https://forums.factorio.com/74735 more])
font/color rich text tags now have to be properly terminated. This means eg: "[color=red]Red circuits" will now need to be "[color=red]Red circuits[/color]". This fixes a number of issues with handling start/end tags. ([https://forums.factorio.com/66263 more]) ([https://forums.factorio.com/66256 more])
* Enter key will be shown as "ENTER" instead of "RETURN" on Windows and Linux. ([https://forums.factorio.com/69329 more])
* Minor Features
* Added a shortcut for increasing/decreasing/resetting UI scale, mainly for debugging of proper automatic adjustment of UI, but people might find it useful for something as well.


=== Bugfixes ===
=== Bugfixes ===


* After a realization of a big misleading mistake, the pollution per second had to be renamed to pollution per minute, because it is what it actually is. ([https://forums.factorio.com/68269 more])
* Fixed migration bug that doubles up to one sample worth of statistics when a save is loaded from before 0.17.44.
* Fixed that tree pollution absorption was recorded as pollution emission in the statistics.
* Fixed production statistics not calculating the totals correctly. ([https://forums.factorio.com/69068 more])
* Fixed that equipment electric network priority migration wasn't present. ([https://forums.factorio.com/69389 more])
* Fixed that on_built_entity wouldn't be fired for built blueprint entities. ([https://forums.factorio.com/75244 more])
* Crafting group selection by typing exact recipe match will now preserve the same way as selecting the crafting group manually. ([https://forums.factorio.com/67165 more])
* Fixed a crash when right clicking with the map editor tile area tool. ([https://forums.factorio.com/75248 more])
* Fixed few layouting issues in the mods GUI. ([https://forums.factorio.com/68788 more])
* Fluid mixing does not crash the game anymore and is fixed the same way as on migration.
* Fixed that sticker duration could be 0. ([https://forums.factorio.com/69042 more])
* Fixed some Lua tables would be incorrectly interpreted as Lua arrays. ([https://forums.factorio.com/75179 more])
* Restored previous behavior where normal (not only underground) pipe connections reconnected when a fluidbox got removed. ([https://forums.factorio.com/68343 more])
 
* Fixed crash when robots try to revive locomotive that has both front and back wheels on rails, but no rail in-between. ([https://forums.factorio.com/68623 more])
=== Modding ===
* Fixed that repair packs could be lost if they didn't fit in your inventory when using personal robots. ([https://forums.factorio.com/69110 more])
* Added missing pipe connection arrows to flamethrower turret. ([https://forums.factorio.com/69272 more])
* Fixed that custom GUI style values specified directly on the elements weren't updated after UI scale change. ([https://forums.factorio.com/68007 more])
* Fixed that the electric network GUI would sometimes be opened when starting deconstruction planner selection on an electric pole in the map view. ([https://forums.factorio.com/68960 more])
* Fixed that Textfield and Sliders didn't update its size properly on UI change.
* Fixed UI change update in ModSettingsGui and MapGeneratorGui with preview open.
* Fixed quickbar selection disappearing when cursor stack is refreshed with a new stack. ([https://forums.factorio.com/68243 more])
* Fixed that nested frame styles (horizontal flow, vertical flow, header filler flow, filler) weren't initialized/updated correctly in the GUI created by script.
* Fixed that the loading indicator in the browse games GUI was left of the "Back" button. ([https://forums.factorio.com/66513 more])
* Fixed turret prototype definition allowed ammo_type of attack_parameters to be optional resulting in crash when the turret started to shoot.
* Don't consider recipes with 0 minimum amount (and possible randomised result) when resolving automatic crafting of ingredients when crafting manually. ([https://forums.factorio.com/68836 more])


=== Scripting ===
* Changed pipe_covers to be drawn with secondary sprite draw order 64 resp. -64 to prevent "z-fighting" issues. ([https://forums.factorio.com/75243 more])
== 0.17.67 ==
Date: 03.09.2019


* Changed the LabelStyle::want_ellipsis default value to true and it is never changed to be something else now. We are considering to even remove this style property completely, as we basically want the ellipsis always when the label is squashed.
=== Graphics ===
* Added tile parameter to on_player_built_tile and on_robot_built_tile.
* Removed unused on_player_tool_inventory_changed event.


=== Modding ===
* New chemical plant graphics.
* Heat pipes (also in reactors and heat exchangers) glow with high temperatures.


* Added emissions_per_minute property in the energy source, that is supposed to replace the emissions_per_second_per_watt which was basically wrong and hard to work with, both emissions_per_second_per_watt emissions definition will work for some time (at least in 0.17) so mods don't get broken.
=== Changes ===


== 0.17.28 ==
* Pressing ESC while catching up to a multiplayer game will disconnect instead of opening the menu.  ([https://forums.factorio.com/74735 more])
Date: 09.04.19
* An entity can't be teleported into a position where pipe connections would overlap. ([https://forums.factorio.com/74652 more])
* The camera will zoom to center instead of zooming to cursor in God controller, Ghost controller and Spectator controller.
 
=== Features ===
 
* Added an area tool to the map editor tile editor.
* Added highlighting of the source entities when selecting areas to clone in the map editor.
* Added a setting in the map editor to hide entity health bars.
* Added a setting in the map editor surface editor to generate new chunks using lab tiles.
* Added support to manipulate items on the stored character while in the map editor.
* Added infinity settings for automatically controlling items in the map editor.
* Changed the infinity chest so it can also spawn hidden items.
 
=== Gui ===
 
* Rearranged key-bindings in Control Settings to different categories. Improved and added more descriptions of key-bindings.


=== Bugfixes ===
=== Bugfixes ===


* Fixed a crash when hovering over some inventory-like GUI elements.
* Fixed cloning ghost entities with rotation didn't work correctly. ([https://forums.factorio.com/74635 more])
* Fixed that the lab GUI wouldn't update when the technology being researched changed. ([https://forums.factorio.com/74605 more])
* Fixed loader front patch and back patch were not sorted correctly when drawing. ([https://forums.factorio.com/74680 more])
* Fixed wire connection distance sometimes being inconsistent. ([https://forums.factorio.com/74666 more])
* Fixed a rotation of modded pump with regard to blocked pipe connections. ([https://forums.factorio.com/74629 more])
* Prevented a crash resulting from teleporting a pipe to a fluid system with blocked connection. ([https://forums.factorio.com/74702 more])
* Fixed that the filter GUI tooltip would flicker when changing tabs. ([https://forums.factorio.com/74623 more])
* Fixed fluid mixing from creating an underground pipe by script into a blocked fluid system. ([https://forums.factorio.com/74614 more])
* Fixed fluid mixing from copy/pasting an infinite pipe next to a different fluid. ([https://forums.factorio.com/74702 more])
* Prevented playing Jesus and changing water into other fluids. ([https://forums.factorio.com/74624 more])
* Fixed assembler ghost fluid filters disappearing through loading. ([https://forums.factorio.com/74723 more])
* Cliffs sections which are fully marked as indestructible can't be exploded. ([https://forums.factorio.com/73939 more])
* Fixed interaction of underground pipes with modded length. ([https://forums.factorio.com/74610 more])
* Fixed fluid mixing caused by fluid producing furnace. ([https://forums.factorio.com/74648 more])
* Fixed that opening the technology GUI in the same tick as the entity tooltip being shown didn't work correctly. ([https://forums.factorio.com/74710 more])
* Prevented rotation of a modded assembler with a blocked pipe connection that results in fluid mixing. ([https://forums.factorio.com/74657 more])
* Fixed train condition button indentation not being properly updated under special circumstances. ([https://forums.factorio.com/74527 more])
* Fixed that train schedule waypoint was considered to be passed when train departed the related rail rather when it entered it. ([https://forums.factorio.com/74678 more])
* Fixed that storage tank entities ignored pipe_picture property in their fluid box definition. ([https://forums.factorio.com/74878 more])
* Fixed improper action selection for UI actions for key bindings differentiated by modifiers only. ([https://forums.factorio.com/74631 more])
* Fixed a crash related to a modded assembler and fluid mixing. ([https://forums.factorio.com/74746 more])
* Applied the cannon shadow to the artillery wagon, fixing some unintended highlights. ([https://forums.factorio.com/57931 more])
* Fixed crash when removing electric pole. ([https://forums.factorio.com/73458 more])
* Fixed event handler could try to register events twice in some cases. ([https://forums.factorio.com/74665 more])
* Fixed blueprinted locomotives would preview as snapped to train stop. ([https://forums.factorio.com/74540 more])
* Fixed items spilling on the ground when using fast entity transfer while robots are trying to insert into the player. ([https://forums.factorio.com/74819 more])
* Fixed hand reserving a non-empty slot in some situations when player inventory auto-sorting is disabled.
* Fixed custom lua slider sometimes initializing with the marker in the wrong position. ([https://forums.factorio.com/75052 more])
* Fixed "list-box" and "drop-down" custom GUI elements would not update selected index when changing its items programmatically. ([https://forums.factorio.com/75044 more])
* Fixed that the map editor 'instant blueprint building' would fail to place trains correctly.
* Rail signal that is to be reserved by circuit network doesn't allow train to go through even when the block is already occupied by the given train. ([https://forums.factorio.com/74506 more])
* Rail signal will change from reserved by circuit network state to closed state when train is manually placed into the block it guards. ([https://forums.factorio.com/74862 more])
* Fixed train stop name in map not being positioned properly. ([https://forums.factorio.com/75099 more])
 
=== Modding ===
 
* Changed default value of LoaderPrototype::structure_render_layer from "lower-object" to "transport-belt-circuit-connector", in order to be consistent with other on-belt structure sprites.
* Different wall types will connect visually by default. If this behavior is not desired for a wall prototype, set it unique "visual_merge_group". ([https://forums.factorio.com/74695 more])
* Added optional random_variation_on_create to all simple entity prototypes.
* Pump was changed to not expand its bounding box when connected to pipe. Collision box for vanilla pump was adjusted to reflect this change.
 
=== Scripting ===
 
* Added additional filtering to LuaGameScript::get_filtered_..._prototypes() functions.
* Added optional "tags" to entities in blueprints and entity ghosts.
* Added optional "tags" to script_raised_revive, on_built_entity and on_robot_built_entity events when reviving ghosts.
* Added LuaEntity::tags read/write for entity ghosts.
* Added LuaItemStack::get_blueprint_entity_count(), get_blueprint_entity_tags(), set_blueprint_entity_tags(), get_blueprint_entity_tag(), and set_blueprint_entity_tag().
* Added on_force_friends_changed and on_force_cease_fire_changed events.
* Added "area" to on_chunk_charted and on_sector_scanned events.
* Added "position" to on_chunk_generated event.
* Added area to the LuaChunkIterator operator() return value.
* Added LuaPlayer::toggle_map_editor().
* The script_destroyed_entity event is raised for map editor instant deconstruction.
* Added LuaEntity::tick_of_last_attack and LuaEntity::tick_of_last_damage write.
== 0.17.66 ==
Date: 16.08.2019
 
=== Changes ===
 
* Blocked underground pipe connections (see e.g. https://forums.factorio.com/73840) are always highlighted.


=== Includes version 0.17.27 ===
=== Bugfixes ===
=== Bugfixes ===


* Fixed that pollution statistic values from entities were reversed and didn't increase evolution. more
* Fixed crash when using the close button while the client is saving the map for desync report. ([https://forums.factorio.com/74508 more])
* Fixed a crash when mods would set special_signal = true for virtual-signal prototypes.
* Fixed a crash related to settings copy/paste of some modded assemblers. ([https://forums.factorio.com/74025 more])
* Fixed a crash when a mining drill is destroyed during the resource-depleted event.
* Correctly highlighting blocked connections of modded underground pipes. ([https://forums.factorio.com/74116 more])
* Fixed a crash when loading modded saves related to recipe migrations and fluidboxes.
* Fixed a case of disappearing fluid in a special fluid furnace configuration. ([https://forums.factorio.com/74373 more])
* Fixed a desync related to the blueprint library and keeping outdated blueprints between versions.
* Fixed programmable speaker caused crash when using --disable-audio command line option. ([https://forums.factorio.com/74551 more])
* Fixed crash when undoing manual removal of entity marked for deconstruction. more
* Fixed that an underground pipe ghost did not split fluid systems. ([https://forums.factorio.com/74252 more])
* Fixed that the technology GUI would show 100% researched for near-100% values. more
* Fixed that an underground pipe ghost did not split blocked connection. ([https://forums.factorio.com/74269 more])
* Fixed crash when calling LuaGameScript::take_technology_screenshot for force that doesn't have any technologies enabled.
* Fixed that fluids in assembling machines and furnaces would get voided any time mods changed. ([https://forums.factorio.com/74284 more])
* Fixed that action bar link to blueprint in the inventory had tooltip size limited too much. more
* Prevented construction of underground pipe that could crash the game due to blocked pipe connection. ([https://forums.factorio.com/74116 more])
* Fixed that blueprint cost table width wasn't correct for UI scale different than 100%.


=== Scripting ===
=== Scripting ===


Added surface_index to the on_robot_mined_tile event.
* Added LuaEntityPrototype::terrain_friction_modifier read.
 
== 0.17.65 ==
== 0.17.26 ==
Date: 14.08.2019
Date: 08.04.19


=== Changes ===
=== Changes ===


* Reverted fonts used for Chinese, Japanese, Korean and Russian localizations to pre-0.17.24 versions.
* Modded achievements and their progress are now stored even when the mods adding extra achievements are temporarily removed. Up to 5000 modded achievements are stored indefinitely. ([https://forums.factorio.com/64884 more])
* Programmable Speaker sounds now change volume accordingly as player moves. ([https://forums.factorio.com/60468 more])
* Rocket Silo sounds now change volume accordingly as player moves.


=== Bugfixes ===
=== Bugfixes ===


* Fixed that circuit connection from ghost to entity wasn't preserved when it was upgraded or undone. ([https://forums.factorio.com/67692 more])
* Fixed tightspot level 5 expecting old chemical science recipe. ([https://forums.factorio.com/74351 more])
* Fixed that it was possible to rotate entities whilst the technology GUI was open. ([https://forums.factorio.com/66320 more])
* Fixed Transport belt madness inserter exploit. ([https://forums.factorio.com/74354 more])
* Fixed that the updates-available counter in the update-mods tab didn't update as mods would be updated. ([https://forums.factorio.com/69050 more])
* Fixed that filling energy of entities in map editor didn't work for accumulators in electric network.
* Fixed that LuaSurface::get_closest() did not check the type of the second parameter. ([https://forums.factorio.com/69105 more])
* Fixed a crash or desync that could happen after assigning a build_base command to a single unit. ([https://forums.factorio.com/74430 more])
* Fixed that LuaEntity::revive() raise_revive parameter sometimes did not work. ([https://forums.factorio.com/69166 more])
* Fixed that mining drill covering more than 1 infinite resource showed the mining speed as sum instead of average. ([https://forums.factorio.com/74443 more])
* Fixed that script render objects sometimes did not render in screenshots.
* Fixed that infinite item based resources with yield of more then 100% didn't actually mine more. So yield of 260% for example means that it mines 2 resources and 60% probability of 1 extra.
* Fixed a crash when rendering inserter interactions for modded furnace recipes without item ingredients.
* Fixed cloning of accumulators in the map editor not setting available energy correctly.
* Fixed research queue and technology tooltip for long technology names. ([https://forums.factorio.com/68862 more])
* Fixed a desync related to cloning accumulators. ([https://forums.factorio.com/74363 more])
* Fixed sprites would render as corrupted on some GPUs with texture streaming enabled. ([https://forums.factorio.com/65466 more])
* Fixed 2 crashes related to custom-switch. ([https://forums.factorio.com/74459 more])
* Fixed layouting of filters of deconstruction planner in a tooltip. ([https://forums.factorio.com/69107 more])
* Fixed that train could consider itself being parked in station when in fact being misaligned. ([https://forums.factorio.com/73653 more])
* Fixed that the rocket silo alt-info module icons didn't render in the correct location due to the size changes. ([https://forums.factorio.com/69041 more])
* Fixed that activating deconstruction planner/blueprint/blueprint tool from the shortcut by pressing the buttons didn't clear the cursor if it wasn't empty. ([https://forums.factorio.com/69976 more])
* Fixed several inconsistencies with the map editor paused state in multiplayer. ([https://forums.factorio.com/66189 more])
* Fixed condition operator button visibility when dragging conditions in the train schedule GUI. ([https://forums.factorio.com/73959 more])
* Fixed schedule merging when more than one step of connecting train is done and part with the empty schedule is connected first. ([https://forums.factorio.com/69043 more])
* Fixed few layouting issues with scroll panes.
* Fixed pollution reporting of machines with negative pollution when there is not enough pollution to absorb. ([https://forums.factorio.com/69164 more])
* Fixed that biters could get stuck in narrow passages between water tiles. ([https://forums.factorio.com/73857 more])
* Fixed that building a new rail through robots changed all rail-bound train stops to that station. ([https://forums.factorio.com/69170 more])
* Fixed that members of unit groups could sometimes get far ahead of the group. ([https://forums.factorio.com/74458 more])
* Fixed a crash when departing from temporary stations while all other stations in the schedule are invalid. ([https://forums.factorio.com/69114 more])
 
* Fixed that setting a character controller for an offline player would crash the game. ([https://forums.factorio.com/69106 more])
=== Modding ===
* Fixed trains overview GUI updating and performance problems. ([https://forums.factorio.com/68953 more])
 
* Fixed that long server names were overflowing in the Browse games GUI. ([https://forums.factorio.com/66113 more])
* Added CraftingMachinePrototype::match_animation_speed_to_activity.
* Added LoaderPrototype::structure.back_patch and front_patch.


=== Scripting ===
=== Scripting ===


* Added LuaAutoplaceControlPrototype::category read.
* Added ability to clear a sprite or sprite-button by writing nil or empty string to LuaGuiElement::sprite. ([https://forums.factorio.com/74491 more])
* Added LuaEntityPrototype::alert_icon_shift read.
== 0.17.64 ==
* Added LuaForce::research_queue read/write.
Date: 09.08.2019
* Added LuaForce::add_research() and cancel_current_research().
* Removed LuaForce::current_research write.
* Changed cutscene waypoints to allow all entities as targets.
 
== 0.17.25 ==
Date: 04.04.19


=== Changes ===
=== Changes ===


The Mods GUI will now always include a link to the mod portal for the selected mod.
* Range modifier and shooting speed modifier are now shown in ammo tooltip and ammo turret tooltip.
* Allow pressing ESC to cancel saving or downloading the map while desynced. ([https://forums.factorio.com/74198 more])
* Added copy paste from assemblers to infinity chests, similar to requester chests.


=== Bugfixes ===
=== Bugfixes ===


* Fixed roboport area rendering for players. ([https://forums.factorio.com/68925 more])
* Fixed crash when loading a save containing modded crafting machines with fluid boxes, with mods disabled. ([https://forums.factorio.com/74178 more])
* Fixed a crash when trying to print invalid values through the Lua API. ([https://forums.factorio.com/68924 more])
* Fixed turret range drawing not accounting for ammo range modifier in world and in map view. Fixed turret unfolding and animation not accounting for ammo range modifier. ([https://forums.factorio.com/65043 more])
* Fixed that the rail world preset didn't allow to get some achievements due to smaller base size. ([https://forums.factorio.com/65215 more])
* Fixed case of swapping left and right lane of underground belts. ([https://forums.factorio.com/74114 more])
* Fixed that the technology GUI technology cost wouldn't show numbers > 2^32 correctly. ([https://forums.factorio.com/68937 more])
* Fixed desync related to marking and then un-marking combinators for deconstruction. ([https://forums.factorio.com/73868 more])
* Fixed that custom checkboxes didn't render correctly in some cases. ([https://forums.factorio.com/67986 more])
* Fixed Infinity Chest GUI showing wrong label when modded as a storage chest. ([https://forums.factorio.com/74235 more])
* Fixed opening nested items in items so the same item isn't opened multiple times. ([https://forums.factorio.com/68005 more])
* Fixed when target of combat robot changed force to an allied force, the combat robot wouldn't stop attacking it. ([https://forums.factorio.com/74270 more])
* Fixed a crash when trying to filter standalone character ammo slots. ([https://forums.factorio.com/68933 more])
* Fixed silo script error using generic on_event function. ([https://forums.factorio.com/74276 more])
* Disallowed building train stops in intersections.
* Fixed a desync related to using multiple custom fluid indexes in a recipe. ([https://forums.factorio.com/74009 more])
* Fixed that cloning fluid turrets with fluid would crash the game.
* Fixed some labels getting cut of in the statistics GUI, on some translations. ([https://forums.factorio.com/59084 more])
* Fixed that cloning transport belts could crash when cloning fails.
* Fixed a crash that could sometimes happen when fighting large groups of biters. ([https://forums.factorio.com/74072 more])
* Fixed personal roboport would render its construction area even when toggled off. ([https://forums.factorio.com/68911 more])
* Fixed a special corner case of signal internal state consistency. ([https://forums.factorio.com/73560 more])
* Fixed train stop names were rendered without rotation. ([https://forums.factorio.com/68922 more])
* Fixed that the circuit and logistic network buttons in the train stop GUI were swapped. ([https://forums.factorio.com/74308 more])
* Fixed Russian and several other localizations would not show symbols ≠, ≤, ≥ in train conditions and decider combinators. ([https://forums.factorio.com/68921 more])
* Fixed Chinese and Japanese text was too small to read. ([https://forums.factorio.com/68919)
* Fixed that deleting mods would follow symlinks instead of just removing the symlink. ([https://forums.factorio.com/68975 more])
* Fixed that mining drill can't-build messages would be wrong in some cases. ([https://forums.factorio.com/69014 more])
* Fixed that the game finished GUI would not show the time played if there were no kills.
* Fixed building underground pipes over ghosts could crash/corrupt the game. ([https://forums.factorio.com/68907 more])
* Fixed that the shortcut selection list wouldn't use a scroll bar if the shortcuts didn't fit on the screen. ([https://forums.factorio.com/68350 more])


=== Modding ===
=== Scripting ===


* Recipes with duplicate ingredients or products will now error at startup instead breaking crafting runtime. ([https://forums.factorio.com/67857 more])
* Combinators can now be activated or deactivated through LuaEntity::active.
* Scripting
* Added LuaEntity::upgrade_target read.
* Added surface_index to the on_robot_built_tile event.
* Removed the ability to convert a table address into a string.
== 0.17.63 ==
Date: 06.08.2019


== 0.17.24 ==
=== Changes ===
Date: 02.04.19


=== Balancing ===
* Inventory filters tooltip now shows they are inventory filters to avoid confusion. ([https://forums.factorio.com/62775 more])
 
* The quickbar tooltip now shows what shortcut to use in order to clear it.
Changed god controller inventory size to be the same as the character inventory size.
* Quickbar filters can now be set from the ghost cursor.
* In Introduction, changed some places Compilatron stands at to be less in the way. ([https://forums.factorio.com/74138 more], [https://forums.factorio.com/74018 more])


=== Bugfixes ===
=== Bugfixes ===


* Fixed rendering of targeting range visualization for turrets with limited turn range. ([https://forums.factorio.com/68707 more])
* Fixed some combination of graphics options could cause infinite loop at 95% of sprite loading in the demo. ([https://forums.factorio.com/74037 more])
* Fixed parameters passed to LuaPlayer::zoom_to_world didn't have any effect. ([https://forums.factorio.com/68730 more])
* Fixed assigning empty table to sprite definition would not cause loading error but crash in-game instead. ([https://forums.factorio.com/74089 more])
* Fixed that power poles would sometimes build automatically when they shouldn't. ([https://forums.factorio.com/68725 more])
* Fixed a desync related to accumulators in multiple networks. ([https://forums.factorio.com/73974 more])
* Fixed that editing map gen settings for the non-default surface using the map editor didn't work. ([https://forums.factorio.com/68793 more])
* Fixed transitions on tiles where landfill, grass and water meet. ([https://forums.factorio.com/74117 more])
* Fixed that LuaSurface::spill_item_stack would ignore belts by default. ([https://forums.factorio.com/68796 more])
* Fixed logistic network technology description did not mention buffer chests. ([https://forums.factorio.com/74064 more])
* Fixed that LuaEntity::set_request_slot() wouldn't allow filters with a count of 0. ([https://forums.factorio.com/68731 more])
* Fixed "use-version-filter-in-browse-games-gui" config option didn't work. ([https://forums.factorio.com/73838 more])
* Fixed that copying assembler settings would copy direction as well. ([https://forums.factorio.com/68771 more])
* Fixed possible crash in introduction scenario if player builds turrets too far to either side. ([https://forums.factorio.com/74133 more], [https://forums.factorio.com/74060 more])
* Fixed that automation and logistics technologies were marked as upgrades.
* Fixed electric coverage visualization was not shown when hovering mouse over invisible widgets. ([https://forums.factorio.com/74120 more])
* Fixed that non-upgrade technologies didn't show the level properly. ([https://forums.factorio.com/68755 more])
* Fixed a crash when using a path_resolution_modifier of 8. ([https://forums.factorio.com/73785 more])
* Fixed default key bindings for in-game copy, paste and undo shortcuts on Russian keyboard layout. ([https://forums.factorio.com/68809 more])
* Fixed introduction leftover invisible entity after cutscene. ([https://forums.factorio.com/74127 more])
* Fixed that remote.call() with small strings didn't work correctly. ([https://forums.factorio.com/68801 more])
* Fixed introduction bug where sometimes Compilatron wouldn't build things properly. ([https://forums.factorio.com/74087 more])
* Fixed lamp lighting up for 1 tick without any electricity. ([https://forums.factorio.com/68826 more])
* Fixed "toggle filter" control setting would not work if bound to modifier key and left or right click. ([https://forums.factorio.com/73656 more])
* Fixed that the next infinite research level wouldn't appear in the technology list after the previous level was queued. ([https://forums.factorio.com/68578 more])
* Fixed introduction bug where poles could still connect to the generator after it was destroyed. ([https://forums.factorio.com/74057 more])
* Fixed a crash when changing modded recipes that used fluid inputs or outputs. ([https://forums.factorio.com/68830 more])
* Fixed introduction possible crash when removing power consumers. ([https://forums.factorio.com/74041 more])
* Fixed lamp showing full electricity bar without any electricity. ([https://forums.factorio.com/67527 more])
* Fixed missing laser-beam entity from demo. ([https://forums.factorio.com/74049 more])
* Fixed that large sequential lua tables wouldn't be saved and loaded correctly. ([https://forums.factorio.com/68657 more])
* Fixed issue with walls in hidden smelter section in introduction. ([https://forums.factorio.com/73335 more])
* Fixed poor performance when rendering logistic network overlays. ([https://forums.factorio.com/68873 more])
* Fixed that biters could form too many attack groups when aggroed by artillery. ([https://forums.factorio.com/72732 more])
* Fixed that the shortcut for opening the console could be also entered into it (does not fix dead keys).
* Fixed that clicking and dragging electric poles in multiplayer latency didn't work correctly.
* Fixed Scroll Lock would trigger an event on both key down and key up. ([https://forums.factorio.com/65180 more])
* Fixed that fast-replacing assembling machines with fixed recipes didn't work correctly. ([https://forums.factorio.com/73976 more])
* Fixed trains stop names with icons in them would look wrong when pinging a train station in chat. ([https://forums.factorio.com/65876 more])
* Fixed a crash when deleting surfaces during the same tick as auto-save running. ([https://forums.factorio.com/74159 more])
* Fixed that crafting machines could not be rotated if they used a heat energy source and didn't have fluid boxes. ([https://forums.factorio.com/67803 more])
* Moved integration patches of crash site entities to decals render layer. ([https://forums.factorio.com/74017 more])
* Fixed inventory hand sometimes pushing items out of the inventory and spilling them on the ground. ([https://forums.factorio.com/66392 more])
* Fixed that inserters would pick up from the left lane of a loader even when positioned closer to the right side.
* Fixed that some languages had no name, and that some used their English name, and some the name in the language itself. ([https://forums.factorio.com/68696 more])
* Fixed incorrect scaling of cyrillic characters when viewing them with your language set to English.
* Fixed two crashes from migration of modded fluid using entities. ([https://forums.factorio.com/68823 more])
* Fixed that clicking a technology in the research queue would select the next available level instead of the queued level. ([https://forums.factorio.com/68491 more])


=== Scripting ===
=== Scripting ===


* Added LuaEntity::get_max_transport_line_index().
* Added LuaEntity::request_from_buffers read/write.
* Added LuaPlayer::last_online read.
== 0.17.62 ==
* Added allow_belt parameter to LuaSurface::spill_item_stack.
Date: 02.08.2019
* Added corpses parameter to on_post_entity_died.
 
=== Bugfixes ===
 
* Fixed a script error in the NPE while using demo. ([https://forums.factorio.com/73993 more])
* Fixed that reading LuaGuiElement::elem_type would always error. ([https://forums.factorio.com/73996 more])
* Fixed a crash related to modded fluid energy sources. ([https://forums.factorio.com/73980 more])
* Fixed corrupted alt-mode icons on low zoom levels on macOS. ([https://forums.factorio.com/73982 more])
== 0.17.61 ==
Date: 02.08.2019
 
=== Changes ===


== 0.17.23 ==
* Combat robotics 2 technology now require Laser. ([https://forums.factorio.com/73856 more])
Date: 29.03.19


=== Bugfixes ===
=== Bugfixes ===


* Fixed that merging two electric networks didn't merge the statistics which was introduced by the power switch addition in 0.13. ([https://forums.factorio.com/68246 more])
* Fixed fluid mixing checks for some setups when setting an assembler recipe. ([https://forums.factorio.com/73793 more])
* Fixed light not turning off properly when using fluid energy source on an entity. ([https://forums.factorio.com/67674 more])
* Fixed flying notifications showing player's inventory updates were visible to all forces. ([https://forums.factorio.com/73761 more])
* Fixed a crash when building large electric poles. ([https://forums.factorio.com/68695 more])
* Fixed error during PNG decompression would cause crash on Linux. ([https://forums.factorio.com/71058 more])
* Fixed that save files could become very large. ([https://forums.factorio.com/73749 more])
* Fixed that cloning furnaces wouldn't preserve the crafting progress. ([https://forums.factorio.com/73850 more])
* Fixed inserters being slower and rotationally asymmetrical after the previous version.
* Fixed that wandering units could be activated for longer than necessary. ([https://forums.factorio.com/73672 more])
* Fixed a crash when trying to check if 'game' is equal to anything using the Lua API. ([https://forums.factorio.com/73904 more])
* Added a check for overlapping crafter fluidboxes to detect wrong mod configuration. ([https://forums.factorio.com/73488 more])
* Fixed desync related to inserter ghosts and belts. ([https://forums.factorio.com/73788 more])
* Fixed setting health of item stack of item-with-entity-data to 1 would do nothing. ([https://forums.factorio.com/73920 more])
* Fixed a desync with the map editor resource editor. ([https://forums.factorio.com/73914 more])
* Fixed a desync with the map editor decorative editor. ([https://forums.factorio.com/73954 more])
* Prevented some rare cases of fluid mixing tied to underground connections. ([https://forums.factorio.com/73884 more])
* Fixed placing entities that consume type of energy other than electric would still show electric coverage visualization. ([https://forums.factorio.com/73774 more])


=== Modding ===
=== Modding ===


The game now checks that technology levels are contiguous.
* Added InserterPrototype::draw_inserter_arrow.
Non-upgrade technologies are now considered to be level 1; previously they were level 0.
 
Renamed "electric-energy-accumulators-1" to "electric-energy-accumulators".
=== Scripting ===


== 0.17.22 ==
* Added LuaGuiElement::choose-elem-button elem_types "decorative", "item-group", "achievement", "equipment", and "technology".
Date: 29.03.19
== 0.17.60 ==
Date: 30.07.2019
 
=== Balancing ===
 
* Basic oil processing produces only Petroleum gas, for more streamlined oil setup in the beginning.
* Basic oil processing keeps some of the refinery input/output slots unused, so it is more clear which ones will be used by Advanced oil processing.
* Chemical science pack requires Sulfur instead of Solid fuel.
* Flamethrower ammo requires crude oil instead of heavy and Light oil.
* Rocket fuel requires light oil.
* Laser Turrets, Lubricant, and Worker robots technologies need Chemical science pack.
* Deathworld marathon preset was made a little bit easier.


=== Bugfixes ===
=== Bugfixes ===


* Fixed vertical squashing of listbox. ([https://forums.factorio.com/68520 more])
* Fixed a crash when trying to show invalid thumbnails for mods. ([https://forums.factorio.com/73670 more])
* Fixed in-game updater would not work on Windows if Factorio path or write data path would contain non-ASCII characters. ([https://forums.factorio.com/68516 more])
* Fixed that up/down keyboard navigation of the load/save game GUIs and manage mods GUI didn't work in some cases. ([https://forums.factorio.com/73671 more])
* Undoing action of building entity that removed ghosts also restores the ghosts. The same with removal of ghosts by cancelling deconstruction. ([https://forums.factorio.com/67827 more])
* Fixed that cloning belts with items didn't preserve the item positions correctly. ([https://forums.factorio.com/73662 more])
* Fixed that building power poles when moving very fast did not have consistent spacing. ([https://forums.factorio.com/67383 more])
* Fixed a script error in train stations mini-tutorial. ([https://forums.factorio.com/73663 more])
* Fixed undo of train deconstruction. ([https://forums.factorio.com/68102 more])
* Fixed a script error in the NPE. ([https://forums.factorio.com/73705 more])
* Fixed undo of circuit conditions of entities in the ghost state. ([https://forums.factorio.com/68191 more])
* Fixed car turret shadow would rotate in opposite direction to the turret. ([https://forums.factorio.com/73692 more])
* Fixed train pathing inconsistency between normal station departure and waypoint. ([https://forums.factorio.com/68111 more])
* Fixed that changing sound settings didn't persist through game restart. ([https://forums.factorio.com/73734 more])
* Fixed problems related to rail path waypoints and station removal.
* Fixed that the migrated-content GUI wouldn't show in some cases. ([https://forums.factorio.com/73721 more])
* Fixed logarithmic sliders not showing value of 1. ([https://forums.factorio.com/68392 more])
* Fixed that right-click-and-drag didn't work in the blueprint GUI to remove things. ([https://forums.factorio.com/73704 more])
* Fixed logarithmic sliders showing the same value for some positions.
* Fixed that unit groups would use paths going through cliffs. ([https://forums.factorio.com/73740 more])
* Fixed logarithmic sliders not showing correct initial position.
* Fixed some cases of entity rotation with blocked underground pipes. ([https://forums.factorio.com/73600 more])
* Fixed Rich text icons not working in rotated text. ([https://forums.factorio.com/65780 more])
* Fixed inserters sometimes getting stuck when picking up from a non-backed-up underground belt. ([https://forums.factorio.com/72253 more])
* Fixed a crash when loading saves converted to scenarios in the map editor after changing mods. ([https://forums.factorio.com/68420 more])
* Added workaround for a driver crash when calling D3D11CreateDeviceAndSwapChain. ([https://forums.factorio.com/73780 more])
* Fixed that the inventory hand was not activated when the cursor was auto-refilled when entity building, tile building, fast transferring, repairing, using capsules or dropping items. ([https://forums.factorio.com/67584 more])
 
* Fixed that fast-replacing ghosts would not transfer settings.
=== Modding ===
* Fixed that double clicking on a list box scroll bar would trigger the confirm action. ([https://forums.factorio.com/66224 more])
 
* Fixed train GUI preview not centering on locomotive when opening the color picker. ([https://forums.factorio.com/66115 more])
* Added CraftingMachinePrototype::default_recipe_tint.
* Fixed gui clipping for scrollpane inside a scrollpane. ([https://forums.factorio.com/66925 more])
 
* Fixed biters ignoring the player when building a new base. ([https://forums.factorio.com/68492 more])
=== Scripting ===
* Fixed that copying settings with a blueprint would not show returned materials. ([https://forums.factorio.com/67227 more])
 
* Fixed turret ranges with huge radius would not render correctly when zooming into a map. ([https://forums.factorio.com/68461 more])
* Added LuaEntityPrototype::supports_direction read.
* Fixed that the reset queue would reset if the the game window is resized whilst the technology GUI is open. ([https://forums.factorio.com/68607 more])
* Fixed that LuaGuiElement::force_auto_center() didn't work. ([https://forums.factorio.com/73647 more])
* Fixed that resizing the game window would clear the search filter in the technology GUI. ([https://forums.factorio.com/66685 more])
* Added LuaGameScript::get_filtered_entity_prototypes(), get_filtered_item_prototypes(), get_filtered_equipment_prototypes(), get_filtered_mod_setting_prototypes(), and get_filtered_achievement_prototypes().
* Fixed that crafting machines with an empty fluid_boxes key could be rotated. ([https://forums.factorio.com/68642 more])
 
* Fixed train state not updating properly in some specific cases. ([https://forums.factorio.com/68145 more])
== 0.17.59 ==
* Fixed mining drill showing misleading message when building on top of invalid resources. ([https://forums.factorio.com/65814 more])
Date: 25.07.2019
* Fixed a crash related to assemblers that sometimes occurred during loading 0.16 modded games.
* Fixed a crash when opening map too fast after creating a new game or new surface. ([https://forums.factorio.com/65827 more])
* Fixed LuaPlayer::open_map, close_map, zoom_to_world would mutate rendering state while render thread was possibly using it causing crash. ([https://forums.factorio.com/68327 more])
* Changed the custom scale slider in interface settings to be disabled when automatic scale is selected.
* Fixed train path finding in a special case of a loop with no signals and exactly one intersection. ([https://forums.factorio.com/67357 more])
* Fixed clipping when the preset description in the map generator is scrollable. ([https://forums.factorio.com/67216 more])
* Better path selection within one segment that is in a loop. ([https://forums.factorio.com/68225 more])


=== Scripting ===
=== Balancing ===


* Added LuaEntityPrototype::secondary_collision_box read.e])
* Changed expensive variant of electronic circuit to require 8 copper cables instead of 10.


== 0.17.21 ==
=== Changes ===
Date: 26.03.19
 
* User verification must be enabled for public multiplayer games. LAN games, direct-connect, and Steam still don't require user verification.
* Network message segment size can be configured in server-settings.json, for server providers with large enough upload bandwidth.
* Added "Build with obstacle avoidance" into controls settings with CONTROL + Left mouse click as default. It re-introduces the possibility to build rails in ghost mode that avoid trees rocks and cliffs.
* Decreased base damage of Personal laser defense from 40 to 30.
* Decreased base shooting speed of Laser turret and Personal laser defense equipment from 3 shots per second to 1.5 shots per second.
* Reverted combat latency behavior to do latency hiding while in combat. ([https://forums.factorio.com/73126 more])


=== Bugfixes ===
=== Bugfixes ===


* Fixed gates sometimes not closing when next to cliffs. ([https://forums.factorio.com/68365 more])
* Fixed that extra fast (modded) splitters didn't work properly. ([https://forums.factorio.com/73059 more])
* Fixed crashes related to GUI tables. ([https://forums.factorio.com/68526 more])
* Fixed an inconsistency between area selection and logistic network highlight. ([https://forums.factorio.com/72969 more])
* Fixed that probabilistic recipe result that is also a catalyst didn't put itself into consumed statistics when the probability check failed and the item wasn't produced. ([https://forums.factorio.com/71211 more])
* Fixed visual errors when dragging train schedule conditions. ([https://forums.factorio.com/73275 more])
* Fixed that locale settings didn't save when changed. ([https://forums.factorio.com/73332 more])
* Solved that pressing ALT while walking right (D being pressed) stopped the character as it interfered with ALT + D. ([https://forums.factorio.com/67585 more])
* Fixed connection preview of underground belt in blueprint in a specific case. ([https://forums.factorio.com/73342 more])
* Changed accumulator/wall/underground belt map color to be more contrast against certain tiles. ([https://forums.factorio.com/44597 more])
* Fixed laser turrets were shooting beams that would last until target was destroyed even if it got out of range and turret stopped shooting. ([https://forums.factorio.com/73474 more])
* Fixed Laser turret shooting speed research didn't increase damage of laser turret. ([https://forums.factorio.com/72360 more])
* Fixed Laser turret shooting speed research didn't increase damage of Personal laser defense equipment. ([https://forums.factorio.com/71003 more])
* Fixed that biters sometimes couldn't get past other biters. ([https://forums.factorio.com/73208 more])
* Fixed that migration scripts couldn't use "require". ([https://forums.factorio.com/73373 more])
* Fixed a crash related to fast-replacing modded generator entities without fluidboxes.
* Fixed loaders would not wake up sometimes after picking up items from them manually. ([https://forums.factorio.com/73398 more])
* Fixed that space science pack technology did not have accumulators and solar panels in prerequisites. ([https://forums.factorio.com/72675 more])
* Fixed that switching to another window while dragging a widget (slider) with a tooltip didn't clear the tooltip. ([https://forums.factorio.com/65433 more])
* Fixed that rails would report bounding box sizes of zero when read through the LuaEntityPrototype API. ([https://forums.factorio.com/73438 more])
* Fixed that unit groups could get stuck at the end of their assigned path. ([https://forums.factorio.com/72961 more])
* Fixed a desync related to changing forces in the map editor. ([https://forums.factorio.com/73492 more])
* Fixed a crash related to fluid connection changes in mods. ([https://forums.factorio.com/73509 more])
* Fixed that creating character corpses using player_index was off by 1. ([https://forums.factorio.com/73519 more])
* Added extra check to prevent infinite cycle in fast belt building. ([https://forums.factorio.com/73368 more])
* Fixed a crash when building train stations when the backers.json file is empty. ([https://forums.factorio.com/73532 more])
* Fixed that entities could have their light rendered twice. ([https://forums.factorio.com/73451 more])
* Fixed that biters had difficulty pathfinding around crescent-shaped lakes. ([https://forums.factorio.com/72985 more])
* Fixed that the "not enough rails" error didn't work correctly in the map editor. ([https://forums.factorio.com/73427 more])
* Fixed train would not stop exactly in the station preventing pumps to connect to fluid wagons when a mod was changing speed of breaking train. ([https://forums.factorio.com/73466 more])
* Fixed that trains would try to path to train stops on different surfaces. ([https://forums.factorio.com/73551 more])
* Fixed pump would not disconnect from fluid wagon when rail besides pump was mined or destroyed. ([https://forums.factorio.com/73449 more])
* Fixed a crash related to the rail planner. ([https://forums.factorio.com/73584 more])
* Fixed that the mod info label in the technology tooltip didn't line wrap. ([https://forums.factorio.com/73598 more])
* Fixed a crash near the start of the NPE. ([https://forums.factorio.com/73481 more])
 
=== Modding ===


== 0.17.20 ==
* Changed how beams are drawn to improve seamless tiling of beam segments. Head and tail segments are now stretched to fill space from source/target position to next segment.
Date: 26.03.19
* Changed how beams apply damage. By default, they no longer trigger their action every damage_interval, instead the action is triggered when its owner triggers shooting. The old behavior can be turned on by setting BeamPrototype::action_triggered_automatically to true.
* It is possible to specify fluid product or ingredient with a fluidbox_index so they use exactly one slot corresponding to the specified fluidbox of the machine.
* Changed the "market" entity from entity-with-health to entity-with-owner so it now has a force and unit_number.
* Changed fluid energy source prototypes to error when no consumption limits are set instead of logging a warning.
* Added util.parse_energy().


=== Changes ===
=== Scripting ===


* Removed RTL language translations (Hebrew, Arabic). ([https://forums.factorio.com/68507 more])
* Added LuaGui::screen.
* Added on_gui_location_changed, on_gui_selected_tab_changed, and on_gui_switch_state_changed events.
* Added LuaGuiElement type "empty-widget", "tabbed-pane", "tab", and "switch".
* Added LuaGuiElement::add_tab(), remove_tab(), and force_auto_center().
* Added LuaGuiElement::location, auto_center, drag_target, selected_tab_index, tabs read/write.
* Added LuaGuiElement::switch_state, allow_none_state, left_label_caption, left_label_tooltip, right_label_caption, right_label_tooltip read/write.
* Added LuaStyle::badge_font, badge_horizontal_spacing, default_badge_font_color, selected_badge_font_color, disabled_badge_font_color, selected_font_color, selected_hovered_font_color, selected_clicked_font_color, strikethrough_color read/write.
* Added clear_and_focus_on_right_click to LuaGuiElement text-box.
* Added LuaGuiElement::get_slider_value_step(), get_slider_discrete_slider(), get_slider_discrete_values(), set_slider_value_step(), set_slider_discrete_slider(), set_slider_discrete_values().
* Added LuaGuiElement::get_mod().
* Added LuaEntity::loader_container read.
* Added LuaEntity::belt_neighbours read.
== 0.17.58 ==
Date: 15.07.2019


=== Bugfixes ===
=== Bugfixes ===


* Fixed crash when opening technology tree.
* Fixed a crash related to researching technologies through script.
* Fixed blueprint loading related to trains and temporary stations. ([https://forums.factorio.com/67998 more])
* Fixed a crash when opening other settings on the steam version of the game. ([https://forums.factorio.com/73306 more])
* Fixed that the quick bar and shortcut bar weren't aligned on UI scales other than 100% and 200%, making the game literally unplayable. ([https://forums.factorio.com/66827 more])
== 0.17.57 ==
* Fixed fuzzy search in the select-a-filter GUI could show empty groups. ([https://forums.factorio.com/63241 more])
Date: 15.07.2019


== 0.17.19 ==
=== Changes ===
Date: 25.03.19


=== Bugfixes ===
* Restored ore placement to match that of 0.17.50 ([https://forums.factorio.com/72487 more])


* Fixed various layouting problems related to tables.
=== Optimisations ===
* Fixed upgrading underground belt ghosts would not recalculate underground connections resulting in desyncs. ([https://forums.factorio.com/67510 more])
* Fixed construction robot tutorial when spamming ghost radars. ([https://forums.factorio.com/68436 more])
* Fixed that some entities didn't show the not enough power icon. ([https://forums.factorio.com/68470 more])
* Fixed possible crash when editing font names in rich text. ([https://forums.factorio.com/68390 more])
* Fix of previous fix of certain situations of assembler settings copy/paste. ([https://forums.factorio.com/68487 more])
* Fixed that toolbar buttons stayed pressed down. ([https://forums.factorio.com/68459 more])
* Fixed crash when an inventory gui was shown with 0 slots. ([https://forums.factorio.com/68467 more])


=== Scripting ===
* Optimized synchronization time of blueprint library to a new game map. ([https://forums.factorio.com/73166 more])


* Added LuaGuiElement::scroll_to_top(), scroll_to_bottom(), scroll_to_left() and scroll_to_right().
=== Bugfixes ===
* Added LuaGuiElement::scroll_to_element().
 
* Added LuaEntityPrototype::has_belt_immunity, pollution_to_join_attack, min_pursue_time, max_pursue_distance, radar_range, move_while_shooting, can_open_gates, affected_by_tiles, distraction_cooldown and spawning_time_modifier read.
* Fixed glitch in pollution cloud overlay rendering. ([https://forums.factorio.com/73151 more])
* Added LuaEntityPrototype::inserter_extension_speed and inserter_rotation_speed read.
* Fixed joining multiplayer through Steam Friends would not work sometimes. ([https://forums.factorio.com/70481 more])
* Added LuaTransportLine::input_lines read.
* Fixed rail signal consistency for a very special corner case. ([https://forums.factorio.com/73162 more])
* Fixed that the Linux server's standard input could get closed under some circumstances. ([https://forums.factorio.com/73106 more])
* Fixed crash when enabling blueprint library cloud sync when local blueprint library did not exist. ([https://forums.factorio.com/73197 more])
* Fixed that trains couldn't be rotated while in the map editor. ([https://forums.factorio.com/73215 more])
* Fixed that LuaGameScript::ban_player() only worked with real players. ([https://forums.factorio.com/73223 more])
* Fixed that the changelog GUI could have unnecessary scroll bars. ([https://forums.factorio.com/73249 more])
* Fixed that hiding the search bar didn't unfocus it, so it was still possible to write to the invisible search bar. ([https://forums.factorio.com/73251 more])
* Fixed wrong signal placeability in some specific cases. ([https://forums.factorio.com/73245 more])
* Fixed that the entity tooltip would flicker in some cases related to the tooltip delay. ([https://forums.factorio.com/72942 more])
* Fixed a crash when opening assembling machines with fixed_recipe set in the latency state. ([https://forums.factorio.com/73297 more])
 
=== Modding ===
 
* Added a prototype property for hiding recipes from the player crafting GUI.
* Renamed spot noise argument 'minimum_candidate_point_spacing' to 'suggested_minimum_candidate_point_spacing'
* Added base_productivity to assembling machines, mining drill, and lab prototypes.
* Added LuaEntityPrototype::base_productivity read.
 
=== Scripting ===
 
* Added optional "ignore_characters" to LuaSurface::clear().
* Added on_gui_confirmed event.
* Added LuaGuiElement::numeric, allow_decimal, allow_negative, is_password, lose_focus_on_confirm, clear_and_focus_on_right_click read/write.
== 0.17.56 ==
Date: 11.07.2019
 
=== Minor Features ===
 
* Added option to enable Steam Cloud Sync for blueprint library to Other Settings GUI. Please backup your blueprint-storage.dat if you chose to enable it. The option is available in Steam version of the game and Cloud Sync needs to be enabled in Steam for the library to be actually synchronized.
 
=== Bugfixes ===
 
* Fixed that the blueprint library GUI sometimes wouldn't update until the mouse was moved. ([https://forums.factorio.com/72624 more])
* Fixed that deconstructing tiles in the map editors instant-deconstruction mode didn't work. ([https://forums.factorio.com/73060 more])
* Fixed setting FireFlamePrototype::spread_delay_deviation to 0 or 1 would crash the game. ([https://forums.factorio.com/73053 more])
* Fixed logistics system tutorial after game script migration. ([https://forums.factorio.com/73066 more])
* Fixed that the game would freeze when using LuaLogisticNetwork::remove_item() if the item was only in the players cursor. ([https://forums.factorio.com/72988 more])
* Fixed yet another case of rails not merging blocks as expected. ([https://forums.factorio.com/73016 more])
* Fixed occasional crash when dragging train wait conditions with brackets. ([https://forums.factorio.com/72899 more])
* Removed the focusability of buttons, as we don't support it graphically and the functionality was just half-functional. ([https://forums.factorio.com/72932 more])
* Fixed that copy-paste for assembling machines would ignore fixed_recipe. ([https://forums.factorio.com/73115 more])
* Fixed that failing to join multiplayer games through --join-game-by-id would fail to show the error and show an empty background. ([https://forums.factorio.com/72991 more])
* Fixed inserting items into underground belts with inserters could put items onto the belt leading into the underground belt. ([https://forums.factorio.com/70749 more])
* Fixed rail signal internal consistency for some cases of rail cycle with one signal. ([https://forums.factorio.com/72916 more])
* Fixed that electric energy interface stopped accumulators from working. ([https://forums.factorio.com/73078 more])
* Fixed high CRC time related to large amounts of electric networks in multiplayer games. ([https://forums.factorio.com/73100 more])
* Fixed that multiple map settings prototypes could be defined.
 
=== Modding ===
 
* Removed label style want_ellipsis as it will be used automatically everywhere as with button.
* All rail bounding boxes are now hardcoded/not moddable. This is to avoid unexpected collision/rail block merging behaviour.
== 0.17.55 ==
Date: 09.07.2019
 
=== Bugfixes ===
 
* Fixed that some of the textboxes didn't allow to write characters bound for different actions when focused. ([https://forums.factorio.com/72666 more])
* Fixed a desync related to removing rail signal that merges two rail blocks reserved by different trains into one.
* Fixed that the belt-gap-fill logic could replace splitters/underground belts in some cases. ([https://forums.factorio.com/73023 more])
 
=== Modding ===


== 0.17.18 ==
* Added LuaPlayer::connect_to_server().
Date: 23.03.19
== 0.17.54 ==
Date: 04.07.2019


=== Changes ===
=== Changes ===


* Dragging power poles over ghosts of the same type will revive them. ([https://forums.factorio.com/68244 more])
* Removed the message of "<X> is in the way" when building over the exact same entity with same direction and position as in cursor. ([https://forums.factorio.com/65436 more])
* Replaced the hand graphic in the quickbar with a selected graphic, so blueprint books are visible.
* Rails under trains can be marked for deconstruction. ([https://forums.factorio.com/72579 more])
* Better latency hiding in multiplayer when experiencing connection issues. Less issues with rubber-banding or character teleporting.
* Latency hiding is no longer completely disabled when the character is shooting. Character position and animation are still not latency-hidden while the character is in combat (10 seconds after shooting or taking damage). This should make combat smoother in multiplayer.
* The Linux version of the game now depends on PulseAudio.


=== Bugfixes ===
=== Bugfixes ===


* Solved train positioning when being built by robots. ([https://forums.factorio.com/68147)
* Fixed adding conditions to a train station after it was dragged. ([https://forums.factorio.com/72655 more])
* Fixed that playing Factorio in full-screen mode on macOS would hide all notifications. ([https://forums.factorio.com/66415 more])
* Improved drawing of a wall preview in some special cases. ([https://forums.factorio.com/72650 more])
* Allow commas with spaces after in color tags. ([https://forums.factorio.com/68261 more])
* Fixed that the sync-mods-with-save could in some cases leave mods enabled. ([https://forums.factorio.com/72772 more])
* Fixed the mechanic of saving a scenario locally when joining a multiplayer game that uses a scenario you don't have didn't work correctly. ([https://forums.factorio.com/68181)
* Added Right Control as secondary binding for "Temporary station modifier" controls. ([https://forums.factorio.com/72795 more])
* Fixed that the burner light would still glow even when the entity is sleeping. ([https://forums.factorio.com/65712 more])
* Fixed that migrating saves could in some cases mess up damage bonuses. ([https://forums.factorio.com/72779 more])
* Assembler copy/paste now works correctly when pasting both recipe and direction with fluid mixing around. ([https://forums.factorio.com/68174 more])
* Added a migration for unloadable saves because of invalid train paths caused by bugs in previous versions. ([https://forums.factorio.com/72773 more])
* Tool shortcut bar selection list can be closed with ESC. ([https://forums.factorio.com/65621 more])
* Fixed that rails wouldn't build correctly if they had a fast_replaceable_group defined. ([https://forums.factorio.com/72699 more])
* Fixed that some technologies wouldn't show in the technology list if they were fully researched. ([https://forums.factorio.com/68239 more])
* Fixed flamethrower turret tooltip was missing info about created fire. ([https://forums.factorio.com/71053 more])
* Fixed incorrect zooming speeds when using keyboard to zoom. ([https://forums.factorio.com/65679 more])
* Fixed that modded units with minimal attack range wouldn't try to get away from a target if they were too close. ([https://forums.factorio.com/68875 more])
* Blank property expression names in map gen settings JSON are ignored. ([https://forums.factorio.com/68125 more])
* Fixed that train built from blueprint could miss a connection occasionally due the rail building order. ([https://forums.factorio.com/72295 more])
* Seed1 arguments above 255 to noise functions no longer crash the game, warning about the upper bits being ignored, instead. ([https://forums.factorio.com/67497)
* Fixed that electric-energy-interface and heat-interface entity types didn't export properly in blueprint string format. ([https://forums.factorio.com/72808 more])
* Fixed broken supply challenge. ([https://forums.factorio.com/68242 more])
* Fixed Compilatron speech bubble hologram effect would cause entire screen to flicker when "Full color depth" graphics option was disabled. ([https://forums.factorio.com/72820 more])
* Fixed slow horizontal trackpad scrolling in the tech tree view. ([https://forums.factorio.com/66874 more])
* Fixed a map corruption issue related to building blueprints outside of the map through script. ([https://forums.factorio.com/72580 more])
* Fixing one situation of underground pipe connection over a ghost. ([https://forums.factorio.com/68265 more])
* Fixed that too long description of shortcut tool could make the selection frame to be too big and unclosable. ([https://forums.factorio.com/72836 more])
* Fixed blueprint icons not disappearing when using set_quick_bar_slot ([https://forums.factorio.com/68374 more])
* Fixed that undo doesn't work for trains. ([https://forums.factorio.com/72827 more])
* Fixed PvP force modifiers were being overwritten. ([https://forums.factorio.com/68397 more])
* Fixed that reading 'disabled' from train stop control behaviors from Lua would report bad values in some cases. ([https://forums.factorio.com/72821 more])
* Fixed "graphics_variation" was read-only on entities of type "corpse". ([https://forums.factorio.com/68391 more])
* Fixed that rich text tooltips would flicker in multiplayer. ([https://forums.factorio.com/72637 more])
* Fixed buildability check of some fluid entities in blueprints. ([https://forums.factorio.com/65389 more])
* Fixed possible crash in NPE when Compilatron builds an iron mining setup. ([https://forums.factorio.com/72785 more])
* Fixed gui layouting related to having more squashable elements with different minimal sizes in one row/column.
* Fixed multiplayer issue where a client and server would sometimes send a large amount of data, causing players with slower connection to disconnect (https://factorio.com/blog/post/fff-302)
* Fixed possible crash when hovering the statistics graphs.
* Fixed that the wind sound would cut off abruptly when the technology screen was opened. ([https://forums.factorio.com/69184 more])
* Fixed a crash when using LuaGameScript::show_message_dialog during on_init.
* Fixed that inserter tooltips would list pollution despite inserters being unable to produce pollution. ([https://forums.factorio.com/72855 more])
* Fixed headless server would hang when shutting down on Windows. ([https://forums.factorio.com/68422 more])
* Fixed that the bar of train wagon in blueprint was lost when the game was saved and loaded. ([https://forums.factorio.com/72863 more])
* Fixed interaction of pipe underground connections of different reach. ([https://forums.factorio.com/68258 more])
* Fixed that textfield selection wasn't removed when the focus was lost. ([https://forums.factorio.com/72860 more])
 
=== Modding ===


== 0.17.17 ==
* Equipment with the "manual" shape now renders backgrounds/outlines automatically like equipment with the "full" shape.
Date: 21.03.2019
== 0.17.53 ==
Date: 01.07.2019


=== Changes ===
=== Changes ===


* Fast replacing power poles will keep existing connections but also try to connect to further away power poles if possible. ([https://forums.factorio.com/67967 more])
* Updated version of introduction campaign.
* 0-255 numbers are now allowed in [color] tags. The game will detect if you want to use floats or 0-255, just like the /color command. ([https://forums.factorio.com/67726 more])
* Added a new system for better handling of mouse button locales. See [[Tutorial:Localisation#Localising_alternate_input_names]] for more information.
* Limited chart tags to a maximum of 1024 characters.


=== Bugfixes ===
=== Bugfixes ===


* Solved transport line compression related to splitters for various corner cases. ([https://forums.factorio.com/67815 more])
* Fixed that curved rail bounding box wasn't rotationally symmetric.
* Fixed texture-compression config values that were valid in 0.17.15 but are not valid since 0.17.16 would cause error on startup. ([https://forums.factorio.com/68133 more])
* Fixed window would flicker when dragging window from left to right, from normal DPI display to higher DPI display. ([https://forums.factorio.com/72474 more])
* Fixed that reverse/forward speed limits of the train movements were mixed up. ([https://forums.factorio.com/68047 more])
* Fixed that modded pollution modifiers wouldn't show in some cases. ([https://forums.factorio.com/70545 more])
* Fixed that reverse locomotive power was the same as forward.
* Fixed that trying to repair inoperable entities would show the "can't mine" message. ([https://forums.factorio.com/71638 more])
* Fixed item transfers tutorial giving combinators instead of wood. ([https://forums.factorio.com/68046 more])
* Fixed that checking for mod updates could fail when old versions of a mod had bad data. ([https://forums.factorio.com/72558 more])
* Fixed tutorials showing migrations dialog.
* Fixed graphical artifacts in curved rail sprites when zoomed out (OpenGL). ([https://forums.factorio.com/71332 more])
* Fixed slow inserters on transport belt madness level 3. ([https://forums.factorio.com/68149 more])
* Fixed a crash of some modded entities with fluid energy source. ([https://forums.factorio.com/72529 more])
* Fixed massive biter clumps in Wave defense. ([https://forums.factorio.com/66136 more])
* Fixed that sending long commands through RCON could cause some players to drop from the game. ([https://forums.factorio.com/72495 more])
* Fixed a crash when importing save files into saves with different technology levels researched.
* Fixed drawing speech bubbles on top of other gui elements, and on top of the map view.
* Fixed that swapping Command and Option keys on macOS caused neither one to work in Factorio. ([https://forums.factorio.com/65671 more])
* Fixed NPE crash when building ghosts. ([https://forums.factorio.com/71991 more])
* Fixed that the technology GUI would list all technology levels if the technology was fully researched. ([https://forums.factorio.com/68037 more])
* Fixed rotated text not working with certain fonts. ([https://forums.factorio.com/65780#p438232 more])
* Fixed a crash when using /swap-players. ([https://forums.factorio.com/66381 more])
* Fixed that the drag-map action wasn't allowed when the cursor had specific items even if the drag map control didn't conflict with building. ([https://forums.factorio.com/71069 more])
* Fixed a crash when rotating some modded underground pipes. ([https://forums.factorio.com/67710 more])
* Fixed that restarting scenario levels would leave the generate-map GUI in a strange state. ([https://forums.factorio.com/71671 more])
* Fixed poor performance when large chat messages are rendered. ([https://forums.factorio.com/68040 more])
* Fixed that RCON commands would not be processed if a player had paused the game. ([https://forums.factorio.com/70930 more])
* Fixed a crash when a train traveling to a temporary stop has its schedule copy-pasted. ([https://forums.factorio.com/68130 more])
* Fixed that the "include modules" checkbox would always show if the blueprint had a train with fuel in it. ([https://forums.factorio.com/72627 more])
* Fixed a crash when using "Join server after sync" for server hosted over Steam Networking. ([https://forums.factorio.com/67963 more])
* Fixed that infinite technologies wouldn't display the level in the technology screen if their prototype name didn't include a level. ([https://forums.factorio.com/69296 more])
* Fixed hand missing from quickbar when selecting shortcuts to the blueprint library. ([https://forums.factorio.com/68141 more])
* Fixed that clicking alerts from multiple modded surfaces wouldn't work correctly. ([https://forums.factorio.com/72632 more])
* Fixed that unit groups wouldn't be able to pathfind if their centre was colliding with another entity of the same force. ([https://forums.factorio.com/63832 more])
* Fixed a crash related to train crashing while passing a reserved signal. ([https://forums.factorio.com/72320 more])
* Fixed a crash related to teleporting reserved signal. ([https://forums.factorio.com/72292 more])
* Fixed that errors from the asynchronous saving process sometimes wouldn't be communicated back to the parent. ([https://forums.factorio.com/64794 more])
* Fixed that dying and respawning wouldn't preserve the toggle-personal-roboport setting. ([https://forums.factorio.com/72602 more])
* Fixed that train waiting time was reset when adding temporary station. ([https://forums.factorio.com/72403 more])
* Fixed that entity-to-be-built tooltips didn't work correctly with tooltip delay. ([https://forums.factorio.com/65663 more])
* Fixed that train without a schedule didn't try to stop. ([https://forums.factorio.com/72355 more])
 
=== Modding ===
 
* Fixed that the game would allow entities with different sized bounding boxes or collision masks to be upgraded. ([https://forums.factorio.com/72698 more])
* Fixed excessive memory usage and long time to exit related large amounts of sprite definitions. ([https://forums.factorio.com/72200 more])
* Fixed that GUI graphical_sets wouldn't render corners correctly in some cases. ([https://forums.factorio.com/69468 more])
* Fixed that technologies marked as "visible_when_disabled" would still be researchable when the research queue was enabled. ([https://forums.factorio.com/72423 more])
* Moved the entity_renderer_search_box_limits values into utility constants.
* Secondary bounding box of rail is not moddable anymore.
* Changed module prototype property "tier" to unsigned int from float.


=== Scripting ===
=== Scripting ===


* Added LuaControl::open_technology_gui(technology) which will open the technology GUI and select the given technology.
* Fixed that get_blueprint_entities() didn't include train schedules. ([https://forums.factorio.com/71614 more])
* Added LuaSurface::calculate_tile_properties().
* Added LuaEntity::storage_filter read/write.
== 0.17.52 ==
Date: 24.06.2019


== 0.17.16 ==
=== Bugfixes ===
Date: 19.03.2019
 
=== Changes ===


* Disabled vanilla pollution attacks in the NPE until after the final wave.
* Fixed a crash related to equipment rendering.
* Changing teams in PvP will try to preserve the current character. ([https://forums.factorio.com/68018 more])
* Fixed a crash related to tile building. ([https://forums.factorio.com/72448 more])
== 0.17.51 ==
Date: 24.06.2019


=== Bugfixes ===
=== Bugfixes ===


* Fixed alerts showing for trees and rocks in the NPE ([https://forums.factorio.com/65370 more])
* Fixed crashes related to creating tile-ghost entities through the Lua API. ([https://forums.factorio.com/72162 more])
* Fixed solid fuel not triggering "fuel furnace" quest item ([https://forums.factorio.com/67941 more])
* Fixed that configuring blueprints and then directly exporting to a string didn't work correctly. ([https://forums.factorio.com/71977 more])([https://forums.factorio.com/71267 more])
* Potentially fixed scrap metal crash bug again ([https://forums.factorio.com/67821 more])
* Fixed that the Lua API would allow the same non-infinite technology to be queued multiple times. ([https://forums.factorio.com/71795 more])
* Fixed that a fluid furnace revived from a ghost would not work. ([https://forums.factorio.com/67372 more])
* Fixed a crash when queuing things to be crafting during the crafting finished event. ([https://forums.factorio.com/72145 more])
* Fixed that launching tutorials could leave the running game in a broken state. ([https://forums.factorio.com/68046 more])
* Fixed train pathfinding bug related to two different station connected to the same rail from different sides when one after another is in the schedule. ([https://forums.factorio.com/72008 more])
* Fixed that clearing the ghost cursor did not clear the hand in the quickbar. ([https://forums.factorio.com/68062 more])
* Fixed rail signal consistency when rail is removed from reserved signal. ([https://forums.factorio.com/72148 more])
* Fixed Compilatron blocking placement of burner inserter in NPE ([https://forums.factorio.com/68063 more])
* Added "buffer-rename-workaround" config setting as a possible workaround for rendering glitches on some Sandy Bridge and Ivy Bridge GPUs. ([https://forums.factorio.com/70991 more])
* Fixing a bug from last version that allowed fluid mixing by setting a recipe in assembler. ([https://forums.factorio.com/68074 more])
* Fixed an issue that made unit group pathfinding fail often, resulting in very few biter attacks. ([https://forums.factorio.com/72056 more])
* Different alert when unable to revive ghost due to fluid mixing by hand vs. by robot. ([https://forums.factorio.com/68074 more])
* Fixed that the hovering entity tooltip would still follow the cursor while in the menu. ([https://forums.factorio.com/68531 more])
* Fixed spitters would not properly target construction robots that are blocked from fulfilling their task. ([https://forums.factorio.com/67886 more])
* Fixed a crash when exiting the campaign during the same tick as a script-triggered autosave.
* Fixed a crash when joining Steam game invites while a multiplayer connection is in progress.
* Fixed that incompatible dependencies would effect mod sort order.
* Fixed that the "research finished" indicator would display the wrong technology level. ([https://forums.factorio.com/67864 more])
* Fixed missing fluid icons on new ghosts. ([https://forums.factorio.com/71825 more])
* Fixed a crash when removing the end rail of a temporary train order. ([https://forums.factorio.com/67926 more])
* Replay button in new game GUI is now remembered after confirm. ([https://forums.factorio.com/72007 more])
* Fixed that cargo wagon filters wouldn't get preserved in blueprint strings. ([https://forums.factorio.com/67641 more])
* Changed rendering of belts to use linear interpolation for minification to reduce flickering effect on some zoom levels. ([https://forums.factorio.com/72138 more])
* Fixed that units could sometimes get stuck forever. ([https://forums.factorio.com/70922 more])
* Fixed that multiplayer replay would crash the game if it contained a blueprint transferred using the blueprint library. ([https://forums.factorio.com/62193 more])
* Fixed that LuaEntity::destroy({raise_destroy=false}) would still raise the destroy event. ([https://forums.factorio.com/72297 more])
* Fixed that the style debug tooltips could in some cases show multiple at once. ([https://forums.factorio.com/71249 more])
* Fixed that robots could get stuck if the chest they're trying to put items into was blocked. ([https://forums.factorio.com/60580 more])
* Fixed that the update mods GUI would incorrectly disable the "Update selected" button in some cases. ([https://forums.factorio.com/72317 more])
* Fixed that building concrete/stone paths wouldn't use all tile variations in some cases. ([https://forums.factorio.com/72279 more])
* Fixed a performance problem related to large amounts of incredibly fast robots and storage chests. ([https://forums.factorio.com/72309 more])
* Fixed turret range overlay in map was not rendering correctly. ([https://forums.factorio.com/67259 more])
* Fixed that turret tooltips could show damage modifiers from the wrong force. ([https://forums.factorio.com/72357 more])
* Prevented possible number overflow in train condition gui. ([https://forums.factorio.com/72171 more])
 
=== Modding ===
 
* Added uses_stack to the thrown capsule item action.
* Removed the rail-category prototype type.
* resource_autoplace_settings has been made public (require('resource-autoplace').resource_autoplace_settings) and the API improved. It will automatically allocate a unique resource index for each patch_set_name. 'patch_set_name' and 'autoplace_control_name' can be independently specified. 'seed1' can be specified as a parameter. The global function 'get_next_resource_index' is obsolete and has been deleted.
* Equipment shapes can be defined as "manual" (a set of points).
* Added optional lamp prototype property "always_on".


=== Scripting ===
=== Scripting ===


* Fixed that printing the output of LuaProfiler anywhere except log(...) would cause a desync. Note: this means if the results are shown in things like player.print() they won't persist through save/load (but won't cause desyncs).
* Added "entity_to_ignore" to LuaSurface::request_path.
* Fixed Electric Pole smart coverage placement not building over other pole ghosts. ([https://forums.factorio.com/68083 more])
* Added target, orientation, and orientation_target to LuaRendering::draw_polygon().
 
* Added LuaGameScript::item_subgroup_prototypes, item_group_prototypes, fuel_category_prototypes, resource_category_prototypes, achievement_prototypes, module_category_prototypes, equipment_category_prototypes, trivial_smoke_prototypes, shortcut_prototypes, and recipe_category_prototypes read.
== 0.17.15 ==
* Added LuaControl::character_mining_progress read.
Date: 18.03.2019
* Added LuaEntity::can_shoot().
* Added LuaEntityPrototype::always_on read.
* Added LuaGuiElement type "line".
== 0.17.50 ==
Date: 17.06.2019


=== Changes ===
=== Changes ===


* Fixed that trains wouldn't depart for temporary stops when waiting at a station. ([https://forums.factorio.com/67811 more])
* Inserters are slightly faster when picking up from belts as they can now select an item and pick it up in the same tick.
* Fixed that two headed train running out of fuel didn't trigger the out of fuel alert in one of the directions. ([https://forums.factorio.com/67820 more])
* Improved Compilatron's ability to select a free space when indicating structures by a factor of 16.6.
* The player must now wait for Compilatron to follow before being allowed to evacuate the first area of the NPE.
* The player must collect at least some of their structures before evacuating the first area of the NPE.
* Updated the player spawn after big biter attack in case the player wants to check how aggressive the biters are.
* Compilatron now has its own icon.
* Biters and worms in the NPE will now be aggressive except in special situations.


=== GUI ===
=== Bugfixes ===


* It is now possible to scroll horizontally with a touch pad in the tech tree view. ([https://forums.factorio.com/66874 more])
* Fixed a special case of assembler pipe connection bug. ([https://forums.factorio.com/71776 more])
* Fixed a crash when trying to check for mod updates with mods that have dependencies not on the mod portal.
* Fixed that multiple modded inserters aiming for the same belt would compete for the same item.  ([https://forums.factorio.com/58613 more])
* Fixed that opening signal by circuit network could let train to go to a reserved/occupied block. ([https://forums.factorio.com/72000 more])
* Fixed that it was possible to build a special rail crossing that didn't merge the blocks and allowed trains to cross without collisions. ([https://forums.factorio.com/71990 more])
* Fixed a crash related to pathfinding toward a moving target, such as when the player was fighting biters. ([https://forums.factorio.com/71989 more]) ([https://forums.factorio.com/72011 more])
* Fixed turret ranges would not render properly on some models of Apple computers with Intel integrated GPU. ([https://forums.factorio.com/67259 more])
* Fixed most of the Map Editor GUI would still work when doing replays. ([https://forums.factorio.com/72031 more])
* Fixed that "the hand" didn't work correctly in the Map Editor when the inventory was full. ([https://forums.factorio.com/72016 more])
* Fixed that cut ignored the not-minable and not-deconstructable flags in some cases. ([https://forums.factorio.com/72010 more])
* Fixed rail signal to block binding that occurred in special cases. ([https://forums.factorio.com/71986 more])
* Fixed shooting would refresh only the first beam if multiple beams were active. ([https://forums.factorio.com/71868 more])
* Fixed that cloning rails with locomotive on top in the map editor made the copied rails not minable even when the locomotive was removed. ([https://forums.factorio.com/72085 more])
* Fixed another train pathfinding issue related to re-pathing while in chain signal sequence. ([https://forums.factorio.com/72032 more])
 
=== Scripting ===
 
* Added LuaEntity::energy_generated_last_tick read.
* Added LuaGameScript::parse_map_exchange_string().
== 0.17.49 ==
Date: 13.06.2019


=== Bugfixes ===
=== Bugfixes ===


* Fixed bugged Compilatron speech in NPE when showing blocked miner.
* Fixed sprite batching issue when drawing many inserters with circuit connectors. ([https://forums.factorio.com/61861 more])
* Turrets placed in the starting area will now be detected during the entrench step of the NPE. ([https://forums.factorio.com/67772 more])
* Fixed construction robot working shadow. ([https://forums.factorio.com/71909 more])
* Fixed flamethrower turret range visualization was rendered in wrong layer. ([https://forums.factorio.com/67903 more])
* Fixed using repeat_count in RotatedAnimation definition would cause crash. ([https://forums.factorio.com/71939 more])
* Fixed editing map gen settings in the map editor would crash the game. ([https://forums.factorio.com/67839 more])
* Fixed rail signal consistency in case of reserved signal being invalidated by building a rail that puts both sides into same block.
* Fixed that robots would still try to deconstruct trains that left their network. ([https://forums.factorio.com/67916 more])
* Fixed rail crash related to marking reserved signal for deconstruction.
* Reduced screen tearing on Windows 7 when Aero is disabled. ([https://forums.factorio.com/67158 more])
* Fixed that programmatically set locale for autoplace controls didn't work. ([https://forums.factorio.com/71933 more])
* Fixed that converting games to scenarios and back could corrupt script global data. ([https://forums.factorio.com/66812 more])
* Fixed that scrollpane consumed the mouse wheel events even when not activated, which blocked the other (parent) scrollpane. ([https://forums.factorio.com/69766 more])
* Fixed that disabling friendly fire prevented fish from healing. ([https://forums.factorio.com/67953 more])
* Fixed that re-pathing in chain signal sequence didn't respect the need for green exit when the re-pathing was based on manual change of target station. ([https://forums.factorio.com/71371 more])
* Fixed that LuaEntity::destroy({do_cliff_correction=true}) was ignored. ([https://forums.factorio.com/67837 more])
* Fixed that changing state of rail signal by circuit network didn't properly update state of parent circuit signals. ([https://forums.factorio.com/71731 more])
* Fixed toggle state of item selection buttons when clicked with item to fast-select. ([https://forums.factorio.com/67465 more])
* Fixed that rail signal disabled by circuit network didn't prevent train passing by it if it guards a block that is already reserved/occupied by the same train. ([https://forums.factorio.com/71839 more])
* Fixed that the Q that cancels wire dragging also removed the hand from the quickbar. ([https://forums.factorio.com/67192 more])
* Limited of usage of tab/shift-tab to move between textboxes as other objects didn't support it and it seems like it isn't worth to try to support it for everything. ([https://forums.factorio.com/69656 more])([https://forums.factorio.com/71556 more])
* Fixed that selecting quickbar slot while dragging wire only cancelled the dragging, but had to be pressed again to select the slot. ([https://forums.factorio.com/67192 more])
* Reduced the UPS impact of a large number of biters trying to pathfind. ([https://forums.factorio.com/71865 more])
* Fixed that modded fluid streams could crash the game in some situations. ([https://forums.factorio.com/67999 more])
* Fixed that tabbing could move to invisible or disabled widgets.
* Fixed that keys blocked by textfield didn't include CONTROL + A (to select all), the same way as it is doing for (CONTROL + C/V/X). ([https://forums.factorio.com/67047 more])
== 0.17.48 ==
* Fixed the double-click to clear functionality of number text field. ([https://forums.factorio.com/67949 more])
Date: 11.06.2019
* Fixed a crash when migrating mods related to assembling machines and fluids. ([https://forums.factorio.com/67118 more])
* Fixed that exporting a blueprint to the library could crash the game. ([https://forums.factorio.com/67987 more])
* Fixed a crash when a modded assembler is built over a ghost of assembler with different rotation. ([https://forums.factorio.com/67732 more])
* Fixed damage technology migrations not migrating infinite technologies properly. ([https://forums.factorio.com/67731 more])
* Potentially fixed a Linux-specific bug where the game would react to key presses not intended for it. ([https://forums.factorio.com/66402 more])


=== Scripting ===
=== Changes ===


* Added LuaGameScript::create_profiler() which can be used to measure script performance.
* Improved manual building of character corpses through the map editor. ([https://forums.factorio.com/71686 more])
 
* Textures that are being streamed are compressed now to reduce RAM usage and increase rendering performance.
== 0.17.14 ==
Date: 15.03.2019


=== Bugfixes ===
=== Bugfixes ===


* Fixed that research queue setting in the New Map GUI wouldn't remember its value. ([https://forums.factorio.com/67370 more])
* Fixed production statistics were not cleared before starting the Introduction scenario ([https://forums.factorio.com/71802 more])
* Fixed a crash when hand replacing an assembler ghost with fluid mixing. ([https://forums.factorio.com/67732 more])
* Fixed Compilatron getting stuck in a loop between two help nodes. ([https://forums.factorio.com/71617 more])
* Fixed migration of fluid-using modded mining drill.
* Fixed various bugs uncovered (mainly) by more rigid rail signal handling.
* Fixed ten_minutes modifier bug in NPE.
* Fixed that when starting a server with --start-server-load-scenario, --map-settings would have no effect. ([https://forums.factorio.com/67813 more])
* Fixed broken resetting of scenario context.
* Fixed that the minimap radar coverage preview would show radars on different surfaces. ([https://forums.factorio.com/71705 more])
* Fixed that turrets would show the glow animation in some cases when dead. ([https://forums.factorio.com/71707 more])
* Fixed that checking for mod updates would work correctly if the mod author had previously uploaded a broken version of the mod. ([https://forums.factorio.com/71709 more])
* Fixed that crafting machine lights wouldn't render correctly when off-screen partially. ([https://forums.factorio.com/71729 more])
* Fixed that the map editor extra-settings GUI didn't resize correctly. ([https://forums.factorio.com/71741 more])
* Fixed that the bonus GUI had transparent edges when the vertical scroll bar was visible. ([https://forums.factorio.com/71643 more])
* Added workaround for issue with missing icons on macOS with Intel GPUs. ([https://forums.factorio.com/71649 more])
* Fixed framerate issues caused by overloading GPU. ([https://forums.factorio.com/71682 more])
* Fixed a crash when using some hotkeys while in cutscenes. ([https://forums.factorio.com/71807 more])
* Fixed that re-mapping "stack split" didn't work correctly. ([https://forums.factorio.com/71824 more])
* Fixed speech bubbles jittering when their target moved across a chunk boundary.
* Fixed that tank could not drive backwards. ([https://forums.factorio.com/71804 more])
* Fixed that rendering.draw_line() sometimes did not render lines. ([https://forums.factorio.com/71859 more])
* Fixed that the map wouldn't update during a non-blocking save. ([https://forums.factorio.com/65826 more])
* Fixed that LuaPlayer::set_controller() would crash if set to another players character. ([https://forums.factorio.com/71822 more])
* Fixed bug where NPE could get stuck in a cutscene. ([https://forums.factorio.com/71772 more])
 
=== Modding ===
 
* Limited maximum number of picture variations that will be loaded from item prototype definition to 16.
* Added y_offset property to speech_bubble prototype.
 
=== Scripting ===
 
* Added a sanity check to LuaForce::chart() that errors on large sizes instead of trying to use 71,000 gigabytes of RAM.
* Added LuaFlowStatistics::clear().
== 0.17.47 ==
Date: 07.06.2019
 
=== Bugfixes ===
 
* Fixed that the game crashed when passing train signal while driving train in manual mode.
* Fixed that 'station name' and 'player name' map toggles would seemingly randomly toggle on when turning on some options. ([https://forums.factorio.com/71620 more])
* Disabled check that prevented loading of some mods. ([https://forums.factorio.com/71664 more])
* Fixed crash when saving speech bubbles that had been migrated from old saves. ([https://forums.factorio.com/71660 more])
* Fixed NPE crash when Compilatron is boxed while building. ([https://forums.factorio.com/71665 more])
 
== 0.17.46 ==
Date: 07.06.2019
 
=== Minor Features ===


== 0.17.13 ==
* Added an option to filter by has-players in the browse games GUI.
Date: 15.03.2019


=== Changes ===
=== Changes ===


* Modified NPE quest structure to give the player more notice of impending attacks
* Tank no longer takes damage from hitting rocks.
* Added missing Steel plate recipe to NPE tech tree ([https://forums.factorio.com/67504 more])
* Increased tank acid resistance from 50% to 70%.
* Removed unneeded Iron stick recipe from NPE
* Defender robots no longer require flying robot frames in their recipe.
* Fast replacing between rail signal and rail chain signal will preserve circuit wire connection and relevant settings. ([https://forums.factorio.com/67682 more])
* Defender robotics technology only has Military science pack technology as a pre-requisite.
* Defender robot damage increased from 5 to 8.
* The Map Editor - resources - paint and spray options will show the non-infinite ore count next to the cursor.
 
=== Graphics ===
 
* Added new higher resolution icons for resource ores with randomized variations when drawn on belts.


=== Bugfixes ===
=== Bugfixes ===


* Fixed that the evolution pollution factor wasn't migrated properly. (pollution was increasing evolution 16.6 times faster than it should for existing saves).
* Fixed that global programmable speaker volume depended on the zoom level. ([https://forums.factorio.com/68119 more])
* Fixed a crash when trying to assign invalid things to LuaPlayer::game_view_settings. ([https://forums.factorio.com/67682 more])
* Fixed a crash related to changing biter forces. ([https://forums.factorio.com/71494 more])
* Fixed that replays could trigger autosaves and take screenshots. ([https://forums.factorio.com/65901 more])
* Fixed that 'signal-check', 'signal-info' and 'signal-dot' were in the 'virtual-signal-color' item subgroup.
* Fixed that changing mod settings through Lua commands wouldn't trigger the settings-changed event. ([https://forums.factorio.com/66395 more])
* Fixed a new case of inserters behaving differently when rotated.
* Fixed that /config didn't support name, description, or tags. ([https://forums.factorio.com/67463 more])
* Fixed unexpected behaviour when it comes to dividing rail segments in some special cases. ([https://forums.factorio.com/70981 more])
* Fixed a crash when using temporary stations. ([https://forums.factorio.com/67700 more])
* Extended straight rail collision box, so there is not an empty space between individual rail entities.
* Fixed that drop-item into vehicles didn't work. ([https://forums.factorio.com/65948 more])
* Fixed Arithmetic Combinator sometimes outputting wrong number when setting a constant in the first field. ([https://forums.factorio.com/71492 more])
* Fixed that resizing the window while loading on 4k screens would cause the progress bar to not render. ([https://forums.factorio.com/65987 more])
* Fixed wording on the Lua Product documentation + fixed reading probability/amount_min/amount_max from Products. ([https://forums.factorio.com/71529 more])
* Fixed that the crafting queue GUI wouldn't show correctly when loading a save with crafting in progress. ([https://forums.factorio.com/66220 more])
* Fixed that modded tiles in blueprints stored in the blueprint library wouldn't persist through mod enable/disable. ([https://forums.factorio.com/67917 more])
* Fixed text box line wrapping didn't work correctly in most cases. ([https://forums.factorio.com/65437 more])
* Fixed that quickbar pick item shortcut would sometimes select the wrong item when rotating quickbars in multiplayer. ([https://forums.factorio.com/71547 more])
* Fixed a crash when re-joining a multiplayer game while the tips-and-tricks window is visible.
* Fixed that widget under the point of (0,0) got always hovered when mouse left the window. ([https://forums.factorio.com/71296 more])
* Fixed a crash when opening the set-filter GUI on the ammo inventory of other player using the /open command.
* Fixed that leaving the window while entity is selected didn't de-select the entity.
* Fixed that the pollution generation of steel furnace wasn't what it was supposed compared to 0.16.
* Fixed that a fresh stack of wires was not added back to cursor when the cursor stack was depleted. ([https://forums.factorio.com/71457 more])
* Fixed that you could die during a cutscene and become a ghost when it ended. ([https://forums.factorio.com/67651 more])
* Fixed that train stopped moving without a schedule. ([https://forums.factorio.com/71466 more])
* Fixed that you could die with required items in your inventory and make the NPE unwinnable. ([https://forums.factorio.com/65829 more])
* Possibly worked around the game extremely flickering on some computers when rendering scenes with lot of draw calls. ([https://forums.factorio.com/69022 more])
* Fixed that some turrets wouldn't be detected by the quest objectives in the NPE. ([https://forums.factorio.com/66013 more])
* Possibly worked around "Unknown D3D Error (0x8876017c)" preventing the game to start on some computers. ([https://forums.factorio.com/71521 more])
* Fixed issue with detecting Steam engine on network in NPE ([https://forums.factorio.com/66717 more])
* Fixed crash when dragging station while temporary stop being removed. ([https://forums.factorio.com/71262 more])
* Fixed biters getting stuck in massive clumps in NPE ([https://forums.factorio.com/66226 more])
* Fixed that train entering block that is reserved more than once by it cancelled all the reservations and opened the block for other trains after leaving (and still having another invalid reservation to it) it which could lead to train collisions and desyncs. ([https://forums.factorio.com/71409 more])
* Fixed biters becoming frozen after arriving at target destination in NPE ([https://forums.factorio.com/66494 more])
* Laser turret and robot beams now render properly in the dark. ([https://forums.factorio.com/65114 more])
* Fixed crash when mining scrap metal in NPE ([https://forums.factorio.com/65512 more])
* Fixed that in certain translations, there would be a gap between the shortcut bar and alerts if the shortcut selector was open. ([https://forums.factorio.com/71392 more])
* Fixed biters losing aggression after save/load during NPE ([https://forums.factorio.com/66410 more])
* Fixed that failed mod downloads would be incorrectly marked as successful. ([https://forums.factorio.com/71451 more])
* Fixed some windows in the NPE having inconsistent header draggable textures ([https://forums.factorio.com/66295 more])
* Fixed that modded choose-elem-buttons would behave strangely when locked. ([https://forums.factorio.com/70550 more])
* Fixed build order for Compilatron in NPE so it is more successful ([https://forums.factorio.com/66703 more])
* Fixed that the candidate_spot_count argument to the spot-noise function was ignored.
* Fixed set_active_quick_bar_page not updating the GUI. ([https://forums.factorio.com/66142 more])
* Fixed spitter and worm acid splashes would deal continuous damage to closed gates and trains. ([https://forums.factorio.com/71177 more])
* Fixed that waiting on temporary stop was reset every time other station was added. ([https://forums.factorio.com/6034 more])
* Fixed that you could set some invalid signal combinations in combinators using lua. ([https://forums.factorio.com/71613 more])
* Fixed that blueprints with trains and rails still could snap the trains to different rails. ([https://forums.factorio.com/67384 more])
* Fixed a desync related to how Lua formatted negative zero. ([https://forums.factorio.com/67983 more])
* Fixed LuaGameScript::take_screenshot with anti_alias = true would produce bad screenshots ([https://forums.factorio.com/67685 more])
 
* Fixed that snapping to position while building ghost didn't update the ghost position properly, leading to invisible entities in rare cases. ([https://forums.factorio.com/66908 more])
=== Modding ===
* Fixed a crash when destroying trains while in the paused map editor state. ([https://forums.factorio.com/67734 more])
 
* Fixed that recipes could be setup to produce > 1 count of items that are never meant to be stacked. ([https://forums.factorio.com/67736 more])
* Moved the train wait condition default times into utility-constants.
* Fixed that creating a new blueprint and pressing Q after it was setup removes it instead of putting it into inventory. ([https://forums.factorio.com/67737 more])
* Fixed that it was possible to specify max_level of technology to be lower then level and crash the game by it. ([https://forums.factorio.com/71431 more])
* Fixed LuaGameScript::take_screenshot with anti_alias = true would produce bad screenshots. ([https://forums.factorio.com/67685 more])
* Fixed that the game would allow invalid heat-pipe connections that would end up crashing the game. ([https://forums.factorio.com/69267 more])
* Fixed Artillery targeting remote not showing the correct ability count in the quickbar. ([https://forums.factorio.com/65310 more])
* The update mods GUI will now attempt to install new required dependencies. ([https://forums.factorio.com/70993 more])
* Fixed scrolling through blueprint book with Shift+mouse wheel on macOS. ([https://forums.factorio.com/67225 more])
* Added "trigger_target_mask" to entity prototype definition and triggers as more flexible system for filtering entities in triggers.
* Fixed Artillery targeting remote not showing the correct ability count in the qickbar. ([https://forums.factorio.com/65310 more])
* Added "trigger-target-type" prototype type to define custom values for use in "trigger_target_mask". Current limit for total count of trigger-target-types is 56.
* Fixed that blueprint shortcuts in quickbar linked to the library wouldn't remember their orientation. ([https://forums.factorio.com/65716 more])
 
=== Scripting ===
 
* Added LuaGameScript::evaluate_expression(), which can be used to calculate the technology unit cost formula at any level.
* Added LuaProfiler::divide() to allow printing average duration.
* Added optional snap_to_train_stop parameter to LuaGameScript::create_entity.
* Added LuaEntity::ghost_unit_number read.
* Added "source_index" to on_forces_merged event.
* Added LuaStyle::padding, margin write.
* Added LuaEntity::selected_gun_index read/write for cars.
* Fixed that LuaForce::index was 1 larger than it was supposed to be.
* LuaGameScript::forces can now be indexed with the name and the LuaForce::index.
 
== 0.17.45 ==
Date: 31.05.2019
 
=== Bugfixes ===
 
* Changed the go-to-mod buttons in the manage and update tabs of the Mods GUI to switch to the install tab if needed. ([https://forums.factorio.com/65902 more])
* Fixed that it was possible to open the command console while inside the technology GUI. ([https://forums.factorio.com/66458 more])
* Fixed that it was not possible to build ghosts in normally visible area which is in fog of war in map view. ([https://forums.factorio.com/71411 more])
* Fixed a crash when removing modded recipes while hand-crafting those recipes. ([https://forums.factorio.com/70247 more])
* Fixed that nested CustomGuiStyle changes didn't work correctly. ([https://forums.factorio.com/71419 more])
* Fixed that inserter would sometimes put items on the wrong side of the belt.
 
=== Scripting ===
 
* Added only_in_alt_mode to LuaRendering draw functions.
* Changed LuaEntity::copy_settings() to also copy settings from ghosts.
 
== 0.17.44 ==
Date: 30.05.2019
 
=== Changes ===
 
* The resource frequency slider in the map generator settings has a smaller influence over the amount of ore in the starting area patches. ([https://forums.factorio.com/70520 more])
* Inserters with stack bonus are now smarter when picking up items, and thus slightly faster. ([https://forums.factorio.com/66973 more])


== 0.17.12 ==
=== Bugfixes ===
Date: 14.03.2019


=== Features ===
* Fixed that researching the appropriate technology would re-add shortcut buttons to the shortcut toolbar even if the player explicitly removed them earlier. ([https://forums.factorio.com/71152 more])
* Fixed that some saves that contained multiple surfaces would cause the game to crash on load. ([https://forums.factorio.com/71199 more])
* Fixed that auto-barreling opt-out didn't work if the fluid has icons defined. ([https://forums.factorio.com/71202 more])
* Fixed that auto-barreling recipes would use the wrong fluid name if the fluid had a custom localised name defined. ([https://forums.factorio.com/71193 more])
* Fixed that the entity damaged event original_damage value wouldn't be accurate if the entity had shields or resistances. ([https://forums.factorio.com/71218 more])
* Fixed a performance problem related to the undo logic and large blueprints. ([https://forums.factorio.com/70855 more])
* Fixed that trying to join Steam networking enabled games with Steam networking disabled didn't work correctly. ([https://forums.factorio.com/71250 more])
* Fixed that trains built part of a blueprint was snapping to train stop which could prevent some specific blueprints from being built.
* Fixed smoke for generators without animation. ([https://forums.factorio.com/68757 more])
* Fixed train circuit conditions not working properly sometimes when arriving at disabled station. ([https://forums.factorio.com/70867 more])
* Fixed transparency of tables. ([https://forums.factorio.com/70093 more])
* Fixed reintroduction of blueprint train building problems. ([https://forums.factorio.com/71215 more])
* Fixed that the game could freeze on exit on Linux after clicking a link. ([https://forums.factorio.com/70110 more])
* Fixed statistics windows showing strange totals in some situations.  ([https://forums.factorio.com/71170 more])
* Fixed statistics windows not showing the first few values (e.g. when an items is produced for the first time). ([https://forums.factorio.com/71353 more])
* Fixed that belt immunity equipment would drain energy in armor when not equipped. ([https://forums.factorio.com/70090 more])
* Using the NO_SCHEDULE train state more consistently (for train in automatic mode with empty schedule. ([https://forums.factorio.com/71312 more])
* Fixed inserters behaving differently when rotated. ([https://forums.factorio.com/69592 more])
* Fixed that the control key would be ignored by Factorio on Linux if the "Press Ctrl to highlight the pointer" (or equivalent) option was enabled. ([https://forums.factorio.com/69319 more])
* Fixed that cloning tiles in the map editor wouldn't always clone transitions correctly. ([https://forums.factorio.com/70956 more])
* Fixed that the supply mission finished game GUI was too small. ([https://forums.factorio.com/71333 more])


* Added pollution tab to the production statistics.
=== Modding ===


=== Minor Features ===
* Added optional assembling machine gui_title_key property.
* Changed belt immunity equipment to consume energy through "energy_consumption" instead of "energy_source.drain".


* Spawner tooltip (including the pollution statistics), shows distribution of biters spawn for the current evolution factor with the pollution costs.
=== Scripting ===
* Added attack modifier setting into the pollution section in the map generator. This modifies how much pollution is consumed by biters attacking. (default is 50% for deathworld presets)
 
* Added LuaGuiElement::vertical_centering read/write.
* Added LuaEntity::auto_launch read/write.
* Added LuaTransportLine::line_equals().
 
== 0.17.43 ==
Date: 24.05.2019


=== Changes ===
=== Changes ===


* Pollution generation is now shown in the x/s format both on the entity and in the item/crafting slot.
* The argument to --generate-map-preview is treated as a directory only if it ends with a '/' or '\'.
* All statistics graphs apart from electricity use smoothing now.
* Car/tank color keeps the color of the last user.
* The Install Mods GUI will now automatically install required dependencies.
* Added graphics option "Render in native screen resolution" on macOS to workaround performance issues due to rendering on Retina displays. ([https://forums.factorio.com/66870 more])


=== Bugfixes ===
=== Bugfixes ===


* Added another fixing migration of consistency related to undo.
* Fixed that the technology GUI could freeze on certain technologies. ([https://forums.factorio.com/70997 more])
* Fixed that inserters wouldn't copy the white list/black list setting during fast-replace. ([https://forums.factorio.com/67501 more])
* Fixed a crash when trying to build train ghosts not on rails. ([https://forums.factorio.com/71118 more])
* Fixed that building/removing signals forced train in disabled station to move from it. ([https://forums.factorio.com/67365 more])
* Fixed a crash related to changing the logistic mode on an infinity-chest type entity through mods. ([https://forums.factorio.com/70911 more])
* Fixed that the name of the "Undo" shortcut wouldn't show up in the shortcut selection list. ([https://forums.factorio.com/67464 more])
* Fixed low readability tag color highlighting in textboxes. ([https://forums.factorio.com/67469 more])
* Fixed that the blueprint book shortcut's tooltip wouldn't show the assigned key combination. ([https://forums.factorio.com/67447 more])
* Fixed Korean IME still did not work (Windows only). ([https://forums.factorio.com/71123 more])
* Fixed search bar focus being lost when binding it to extra mouse buttons. ([https://forums.factorio.com/67517 more])
* Fixed statistics graphs X axis labels showing wrong values for 250h and 1000h time frames. ([https://forums.factorio.com/71091 more])
* Fixed that shortcut bar keyboard shortcuts would appear twice in the control settings if certain mods were installed. ([https://forums.factorio.com/67433 more])
* Fixed that the wrong entry could be highlighted in the electric network graph. ([https://forums.factorio.com/67361 more])
* Fixed that backspacing text covered by unclosed rich text tags could leave them at the end of the string. ([https://forums.factorio.com/67376 more])
* Fixed that picking up an item from quickbar wouldn't reserve the slot with an inventory hand when the inventory was full. ([https://forums.factorio.com/70974 more])
* Fixed that technology tooltip would show "unknown key" for technologies with no description. ([https://forums.factorio.com/67489 more])
* Fixed robot energy consumption when using very high speed bonuses. ([https://forums.factorio.com/70951 more])
* Fixed unable to close the menu when rebinding toggle menu from ESC. ([https://forums.factorio.com/67535 more])
* Fixed a false-positive changed message in the mods GUI under specific situations. ([https://forums.factorio.com/69772 more])
* Fixed that modded GUI window frames always contained header filler. ([https://forums.factorio.com/66295 more])
* Fixed icons inside blueprint book items not being scaled properly.
* Fixed save file would contain two preview screenshots. ([https://forums.factorio.com/67543 more])
* Fixed that delimit-procedure noise expressions at the root of an expression tree would crash the compiler.
* Fixed typo in decoratives.lua. ([https://forums.factorio.com/67594 more])
 
* Fixed that cloning assembling machines wouldn't preserve the direction for some recipes. ([https://forums.factorio.com/67583 more])
=== Modding ===
* Fixed bug with typing certain characters on alternative keyboard layouts on windows. ([https://forums.factorio.com/67552 more])
 
* Fixed a crash of generators whose prototype changes to not use fluid anymore. ([https://forums.factorio.com/66595 more])
* Added util.combine_icons(icons1, icons2, inputs) function to aid in combining icons tables.
* Fixed some crashes related to changes of modded fluid recipes. ([https://forums.factorio.com/67277 more])
* Changed the auto_barrel recipe icon generation to account for fluids with an icon_size not set to 32, or fluids with an icons table. ([https://forums.factorio.com/71158 more])
* Fixed NPE bug when Compilatron walks over the iron patch when he's about to build miners. ([https://forums.factorio.com/67553 more])
 
* Fixed switching to map view when holding placeable item in cursor would make the item icon invisible. ([https://forums.factorio.com/66180 more])
=== Scripting ===
* Fixed cloning rocket silos with rockets wouldn't work correctly. ([https://forums.factorio.com/67635 more])
 
* Fixed broken and missing support of modded underground pipe connections. ([https://forums.factorio.com/65824 more])
* Added LuaNamedNoiseExpression and LuaGameScript::named_noise_expressions read.
* Fixed not being able to use the same key for some actions. ([https://forums.factorio.com/65128 more])
* Added LuaEntity::tree_stage_index read/write.
* Fixed that releasing Alt before D when pressing Alt+D would cause the character to walk.
* Added LuaEntity::tree_stage_index_max and tree_color_index_max read.
* Fixed that order of items in the circuit network did not respect group and subgroups. ([https://forums.factorio.com/67548 more])
* Added "player_index" to the on_rocket_launch_ordered and on_rocket_launched events.
 
== 0.17.42 ==
Date: 21.05.2019
 
=== Changes ===
 
* Tweaked default graphics settings. The game should choose better default graphics settings for computers with integrated GPUs or less than 6 GB of RAM.
 
=== Bugfixes ===
 
* Fixed that GUI element size wasn't updated in inactive tabs when ui scaled changed. ([https://forums.factorio.com/70649 more])
* Fixed "Confirm Message" conflicting with some key-bindings. "Confirm Message" can no longer be bound to mouse input. ([https://forums.factorio.com/70910 more])
* Fixed possible crash when rendering GUI element with dynamically loaded sprite. ([https://forums.factorio.com/66507 more])
* Fixed recipe window showing wrong item count or not enough ingredients in some situations. ([https://forums.factorio.com/67592 more])
* Fixed a crash when deleting the force of a car with an active logistic network through vehicle equipment grid. ([https://forums.factorio.com/70734 more])
* Mod names are no longer allowed to contain rich text. ([https://forums.factorio.com/70895 more])
* Fixed IME (Input Method Editors) did not work (Windows only). ([https://forums.factorio.com/65358 more])
* Fixed placement of oil and uranium patches back to that of 0.17.40. ([https://forums.factorio.com/70967 more])
* Fixed that roboports with a request_to_open_door_timeout of 0 wouldn't work correctly. ([https://forums.factorio.com/70973 more])
* Fixed that products wouldn't allow amount_min of 0 for items. ([https://forums.factorio.com/71014 more])
* Fixed that migrated/removed fuel items could leave the game in an invalid state. ([https://forums.factorio.com/71029 more])
* Fixed a crash when building combat robots after resetting the achievements in-game. ([https://forums.factorio.com/71041 more])
* Fixed that assembler ghosts would carry over the unresearched blueprint bug from 0.17.38. ([https://forums.factorio.com/708990 more])
* Fixed crash related to clearing a blueprint book from the cursor. ([https://forums.factorio.com/70955 more])
* Fixed that the rotation of blueprint was not saved to the blueprint library in some situations.
* Fixed bad icon in pollution statistics. ([https://forums.factorio.com/71011 more])
* Fixed hand icon not disappearing when you grab a blueprint from chat. ([https://forums.factorio.com/70971 more])
* Fixed that reviving modded tile ghost entities could destroy other entities in some situations. ([https://forums.factorio.com/70606 more])
* Fixed car tooltip showing it's moving when it's not actually moving.
* Fixed car rotating in place when the speed is very low. ([https://forums.factorio.com/71076 more])
* Fixed that fluid wagons could not carry fluids with sub-zero temperatures. ([https://forums.factorio.com/71013 more])
* Fixed that rolling stock "must be build on rails" error was not using the name of the rolling stock. ([https://forums.factorio.com/71087 more])
* Possibly handled fullscreen window being moved to screen of different size on Windows. ([https://forums.factorio.com/63292 more])
* Fixed a crash when using table_size() without any argument. ([https://forums.factorio.com/71090 more])
* Fixed players getting a new player character when they connect after disconnecting, connecting and disconnecting again from a paused game. ([https://forums.factorio.com/71017 more])


=== Modding ===
=== Modding ===


* Internal pollution values have been normalized, and they are now roughly 60 times less compared to what they were.
* Added map-gen-seed-max command line parameter.
* Added generate-map-preview-random command line parameter.
* Changed generate-map-preview command line parameter to need PATH instead of PNGFILE, the file name is now always the seed.
* Made "apply_recipe_tint" be applied also to "light" working visualization effects of crafting machines.
* Added "use_fuel_glow_color" property to reactor prototype.


=== Scripting ===
== 0.17.41 ==
Date: 17.05.2019


* LuaPlayer::get_active_quick_bar_page now returns 1 based index.
=== Bugfixes ===


== 0.17.11 ==
* Fixed that some noise expression types used by some mods (literal map positions, offset-points, and distance-from-nearest-point) were unimplemented.
Date: 11. 03. 2019
* Fixed that blueprint rotation was not saved for blueprint books in the blueprint library.  ([https://forums.factorio.com/68382 more])
* Fixed that the focus-search shortcut could be used to bring up the search field when it was disabled. ([https://forums.factorio.com/70903 more])
* Fixed that game.reload_script() could break LuaRecipe/LuaPrototype references.
* Fixed a PvP script error on configuration changed. ([https://forums.factorio.com/70914 more])


=== Bugfixes ===
=== Scripting ===


* Fixed that the process name was set to "Main" on Linux. ([https://forums.factorio.com/67355 more])
* Added LuaEntityPrototype::item_slot_count read.
* Fixed a crash when closing GUIs with escape in some cases. ([https://forums.factorio.com/67428 more])
* Added LuaEntity::get_stopped_train().
* Fixed a crash when mods set repair pack speeds or entity repair speed modifiers to negative values.
* Added "surface_index" to the on_post_entity_died event.
* Fixed that focus-search wouldn't work in the Recipe GUI or Map Editor. ([https://forums.factorio.com/67437 more])


== 0.17.10 ==
== 0.17.40 ==
Date: 11. 03. 2019
Date: 16.05.2019


=== Changes ===
=== Changes ===


* Terrain generator options are preserved by the map generator GUI unless explicitly changed.
* Improved efficiency of noise program compilation and quality of error messages.
* Changed landfilling result to be tile called "landfill" instead of tile called "grass-1". It looks the same for now, but it solves some unexpected behaviour. We might give it a custom graphics later on. ([https://forums.factorio.com/67282 more]) Existing blueprints containing "grass-1" will be migrated to the "landfill" tile.
 
* The game will load without an error when non-essential shaders fail to compile. ([https://forums.factorio.com/65107 more])
=== Bugfixes ===
* When a player dies in the Wave defense, the free equipment will be removed from the corpse.


=== Minor Features ===
* Fixed a crash that would sometimes happen after deleting a blueprint from the library. ([https://forums.factorio.com/70158 more])
* Fixed crash related to train schedule containing only temporary stations. ([https://forums.factorio.com/69576 more])
* Fixed GUI inspector vertical align value inconsistency (middle instead of center). ([https://forums.factorio.com/70677 more])
* Fixed LuaInventory::sort_and_merge when used on cargo wagons with inventory limits set. ([https://forums.factorio.com/68307 more])
* Fixed that distractor robots would show in the bonus GUI under the follower robots section. ([https://forums.factorio.com/69532 more])
* Fixed that reading invalid chain signals wouldn't work correctly. ([https://forums.factorio.com/67496 more])
* Fixed yet another ghost connection error related to consistency checks. ([https://forums.factorio.com/70275 more])
* Fixed some cases of multi-layered icons not being scaled correctly. ([https://forums.factorio.com/67210 more])
* Fixed power switch connection consistency problem. ([https://forums.factorio.com/70856 more])
* Fixed "Confirm Message" key-binding not working when bound to some mouse buttons. ([https://forums.factorio.com/67182 more])
* Fixed backwards/forwards max speed fuel modifier related to two-headed trains. ([https://forums.factorio.com/70758 more])
* Fixed interactions of assemblers and underground pipe connections blocked by induced fluid mixing. ([https://forums.factorio.com/70596 more])
* Fixed setting entity ghosts to minable=false didn't work. ([https://forums.factorio.com/69306 more])
* Fixed that the statistics GUI would show count values < 0.5 as "no count". ([https://forums.factorio.com/70865 more])
* Fixed a performance problem with high speed idling trains on circular rail networks. ([https://forums.factorio.com/70797 more])
* Fixed signal placement visualisation for special cases related to straight diagonal rail. ([https://forums.factorio.com/69591 more])
* Fixed that items supposed to be removed on clearing cursor (copy, cut, paste, blueprints from blueprint library etc.) were put into character corpse. ([https://forums.factorio.com/70850 more])
* Fixed uranium cannon shells shooting backwards when aimed closed to the tank.([https://forums.factorio.com/70877 more])
* Fixed Programmable Speaker alert textbox not losing focus when pressing ENTER. ([https://forums.factorio.com/70891 more])
* Fixed desync caused by setting font colors on buttons. ([https://forums.factorio.com/70893 more])


* "Make Blueprint", "Make Blueprint Book", "Make Deconstruction Planner", "Make Upgrade Planner", "Toggle Personal Roboport", and "Toggle Exoskeleton" functions are now accessible via keyboard shortcuts.
== 0.17.39 ==
Date: 14.05.2019


=== Bugfixes ===
=== Bugfixes ===


* Fixed references to nonexistent noise expressions in map gen settings would crash the game.
* Fixed that hand crafting wouldn't respect the hide_from_flow_statistics property. ([https://forums.factorio.com/70655 more])
* Fixed a crash when trying to read Lua drop-down font style names. ([https://forums.factorio.com/67379 more])
* Fixed that modded GUI tables did not display borders that were set in their style.
* Fixed a crash when trying to join a Steam game fails in some cases. ([https://forums.factorio.com/67366 more])
* Fixed the game would fail on startup if control settings were reset during migration of 0.16 config file. ([https://forums.factorio.com/70769 more])
* Fixed crash related to latency hiding and undo.
* Fixed that train stop "must be build next to rails" error was not using the name of the train stop. ([https://forums.factorio.com/70710 more])
* Fixed that map generation wouldn't always update to reflect modded noise expressions.
* Fixed that beam damage interval was sometimes not respected properly.
* Fixed a crash when the open GUI target would become invalidated during the same tick as autosave starting.
* Fixed that beams would be immediately created and destroyed when standing very close to max range.
* Fixed that the repaired lab showed in the bonus GUI. ([https://forums.factorio.com/67320 more])
* Fixed that beams would not show any animation if the target was killed in one hit. ([https://forums.factorio.com/67020 more])
* Fixed NPE crash when Compilatron tried to place his chest. ([https://forums.factorio.com/67153 more])
* Fixed that laser beams would always aim at player character's feet.
* Fixed that Control+F didn't work in the trains GUI. ([https://forums.factorio.com/66253 more])
* Fixed entity hit_visualization_box not working properly.
* Probably fixed GUI not responding to user input in some situations. ([https://forums.factorio.com/66210 more])
* Fixed running out of memory during sprite loading was not handled gracefully. ([https://forums.factorio.com/70667 more])
* Fixed scaling of some of the debug info text overlay. ([https://forums.factorio.com/67172 more])
* Fixed a map corruption problem when creating games from scenarios that used difficulties per-entity. ([https://forums.factorio.com/69838 more])
* Fixed headless server would be stuck in reset loop when trying to apply an update. ([https://forums.factorio.com/67231 more])
* Fixed that some Lua errors wouldn't show proper lua stack traces. ([https://forums.factorio.com/70653 more])
* Fixed a crash related to reading pollution statistic values through Lua. ([https://forums.factorio.com/70801 more])
* Fixed a crash resulting from building a blueprint of an assembler with a fluid recipe that is not researched yet. ([https://forums.factorio.com/70765 more])
* Fixed that temporary blueprints (e.g. from the copy tool) would sometimes go to inventory instead of being destroyed. ([https://forums.factorio.com/70806 more])
* Added fluid mixing check to infinity pipe. ([https://forums.factorio.com/70737 more])
* Fixed that you could build rail ghosts in the basic rail tutorial. ([https://forums.factorio.com/69503 more])
* Fixed special case of dragging station/condition order in the train configure GUI. ([https://forums.factorio.com/68544 more])
* Fixed tightspot script error starting the round with flying text on the map. ([https://forums.factorio.com/70162 more])


=== Scripting ===
=== Changes ===


* Added LuaGuiElement::select_all and select methods that work for textfield and textbox.
* Changed the mods GUI so it lists mod settings by mod alphabetically using natural ordering.


== 0.17.9 ==
== 0.17.38 ==
Date: 08. 03. 2019
Date: 10.05.2019


=== Changes ===
=== Changes ===


* Disabling station with train waiting in it doesn't force the train to departure anymore so it works as it worked in 0.16. It looked like a useful change for 0.17, but we can control train conditions by circuit network and there are some nice and simple use cases were ruined by trains being forced to departure when the stop is disabled. ([https://forums.factorio.com/65109 more])
* When a train performs path finding while in a chain signal sequence, the pathfinding will have a constraint to not go through reserved block before exiting the chain sequence.
* Changed expensive version of assembling machine 2 recipe to match the normal version better. ([https://forums.factorio.com/65570 more])
** This solves a problem of train intersections being possible to be deadlocked even with proper chain signals usage in cases of using temporary stops or when path is changed because of station is being enabled/disabled by a circuit network. ([https://forums.factorio.com/68681 more])
** This also allowed us to to let train recalculate path spontaneously even in chain signal sequence, as it shouldn't break anything now.
* When a temporary blueprint(e.g. blueprint from copy) is placed in the quickbar, the blueprint won't be destroyed when clearing the cursor and instead moved to the inventory. ([https://forums.factorio.com/65332 more])
* Separated incompatible mods from dependencies in browse mods GUI.


=== Minor Features ===
=== Bugfixes ===


* Added map editor support to delete items.
* Fixed a crash when trying to build locomotives near water/edges of the map. ([https://forums.factorio.com/66407 more])
* Fixed players getting a new player character when they connect twice to a paused game. ([https://forums.factorio.com/62555 more])
* Fixed that entity tooltips did not show negative emissions. ([https://forums.factorio.com/68016 more])
* Fluid assembler ghosts now show correct pipe connections.
* Fixed a crash when trying to write auto trash filters with not-a-table.
* Fixed possible fluid mixing from reviving fluid assembler ghost by higher version. ([https://forums.factorio.com/70266 more])
* Disabled areas of new map GUI are set correctly on exchange string import. ([https://forums.factorio.com/70355 more])
* Fixed that script rendering sprites loaded from files would disappear on save/load. ([https://forums.factorio.com/70318 more])
* Fixed that LuaForce::reset_technology_effects() wouldn't preserve things in the research queue. ([https://forums.factorio.com/70543 more])
* Fixed that using an upgrade planner on a blueprint wouldn't upgrade configured modules. ([https://forums.factorio.com/70565 more])
* Fixed cross-platform issues related to the Lua bit library. ([https://forums.factorio.com/70571 more])
* Fixed crash when changing controller in multiplayer and changing your selection at the same time.
* Fixed that blueprint shortcuts in action bar would become magically available when they are destroyed, if they originated from the blueprint library. ([https://forums.factorio.com/66002 more])
* Fixed that technology tooltips could sometimes end up behind the technology screen. ([https://forums.factorio.com/66413 more])
* Fixed that target leading would not take into account any slowdown modifiers on units. ([https://forums.factorio.com/70584 more])
* Fixed that the favorite button for servers wouldn't work correctly if the server was already selected. ([https://forums.factorio.com/70616 more])
* Fixed that rocket silos would show an unhelpful status in the tooltip. ([https://forums.factorio.com/68251 more])
* Fixed PvP crash when loading save games before "player" -> "character" rename. ([https://forums.factorio.com/70633 more])
* Fixed PvP crash when importing old configs. ([https://forums.factorio.com/70633 more])
* Fixed that only some parts of the current research info panel would open the technology tree when clicked. ([https://forums.factorio.com/67092 more])


=== Bugfixes ===
=== Scripting ===
 
* Added LuaTechnology::visible_when_disabled read/write.
 
== 0.17.37 ==
Date: 07.05.2019
 
=== Bugfixes ===
 
* Fixed acid splashes were blocking placement of buildings. ([https://forums.factorio.com/70317 more])
* Fixed that acid splashes would have a burning sound effect.
* Fixed typo in font name that would cause crash in Cyrillic locales on Linux. ([https://forums.factorio.com/70337 more])
* Fixed that script changing train path as a reaction to train created event could break the rolling-stock connection process. ([https://forums.factorio.com/69749 more])
* Fixed that scroll panes empty areas of the mod GUI was blocking the mouse interaction with the map. ([https://forums.factorio.com/70383 more])
* Fixed that ghost rail building didn't avoid ghost buildings properly. ([https://forums.factorio.com/70349 more])
* All unused control inputs are saved in the config file, to preserve mod key bindings even when the mod is disabled and enabled again. ([https://forums.factorio.com/70332 more])
* Fixed that zooming in the train preview window didn't respect the zooming key binding settings. ([https://forums.factorio.com/69338 more])
* Fixed that train with no path changed from NO_PATH to PATH_LOST and back to NO_PATH every few seconds. ([https://forums.factorio.com/69722 more])
* Fixed that train waiting at the signal changed from WAIT_SIGNAL to ARRIVE_SIGNAL and back to WAIT_SIGNAL every few seconds. ([https://forums.factorio.com/67576 more])
* Fixed a crash that would sometimes happen when two players were connecting to a server at the same time and one of them quit before the map finished saving. ([https://forums.factorio.com/69783 more])
* Fixed a crash related to modded deconstruction item filters. ([https://forums.factorio.com/70470 more])
* Fixed performance issues in mipmap generation routines causing the game to freeze or crash at 95% of sprite loading. ([https://forums.factorio.com/67723 more])
* Fixed traditional Chinese font being used for simplified Chinese. ([https://forums.factorio.com/70429 more])
* Fixed that pollution would not be shown in entity tooltip when using a void energy source. ([https://forums.factorio.com/70498 more])
* Fixed PvP re-roll round button not generating a different map with only a single team.
* Fixed PvP state when playing Last silo standing with only a single team.
* Fixed PvP DEFCON mode interaction with research queue.
* Fixed screenshot rendering could crash when using LuaScriptRendering API to draw a sprite from file. ([https://forums.factorio.com/70322 more])
 
=== Modding ===


* Fixed pipette making error sound in latency state even though you have enough items. ([https://forums.factorio.com/67002 more])
* Added CraftingMachinePrototype::entity_info_icon_shift.
* Fixed that technologies would sometimes disappear from the technology list when added to the research queue. ([https://forums.factorio.com/65879 more])
* Added CraftingMachinePrototype::draw_entity_info_icon_background.
* Fixed problems related to circuit network connection inconsistency related to undo. ([https://forums.factorio.com/67071 more])
 
* Fixed NPE issue where Compilatron could destroy essential buildings. ([https://forums.factorio.com/67031 more])
=== Scripting ===
* Fixed NPE crash when Compilatron tells you to pick up scrap. ([https://forums.factorio.com/66241 more])
 
* Fixed that he bonus GUI wouldn't show personal equipment. ([https://forums.factorio.com/65618 more])
* Included "item" in on_built_entity event when ghost cursor building.
* Fixed using special-item tags would cause desyncs. ([https://forums.factorio.com/66311 more])
 
* Fixed NPE crash when Compilatron tries to point at an object that doesn't exist any more. ([https://forums.factorio.com/65162 more])
== 0.17.36 ==
* Fixed Local errors in scenarios would crash the game when viewing scenarios in the GUI. ([https://forums.factorio.com/66716 more])
Date: 03.05.2019
* Fixed that reviving and underground belt could sometimes change it's direction. ([https://forums.factorio.com/67026 more])
 
* Fixed a crash when using modded recipes in furnaces with fluids. ([https://forums.factorio.com/66271 more])
=== Graphics ===
* Fixed that the active-version selector in the mods GUI didn't work. ([https://forums.factorio.com/66941 more])
* Fixed that randomizing map seed didn't have any effect after an exchange string was loaded. ([https://forums.factorio.com/65555 more])
* Fixed that resources wouldn't be rendered correctly in the map preview. ([https://forums.factorio.com/66525 more])
* Fixed miscalculation of peak influence in autoplace specifications with more than 2 peaks. ([https://forums.factorio.com/67040 more])
* Layout fix related to technology gui. ([https://forums.factorio.com/66868 more])
* Fixed crash when running out of space in physical texture used for streaming. High detail textures will be evicted instead. ([https://forums.factorio.com/66563 more])
* Fixed that mod settings could get scrambled/reset when adding removing or changing mods. ([https://forums.factorio.com/66669 more])
* Fixed that you could open blueprint books/armor multiple times. ([https://forums.factorio.com/67096 more])
* Fixed that the train inactivity wait condition time was limited to 120 seconds. ([https://forums.factorio.com/66974 more])
* Fixed a crash when exiting the game through the "X" button from a tutorial. ([https://forums.factorio.com/65270 more])
* Fixed the shadows of some GUIs when circuit network window is shown. ([https://forums.factorio.com/67119 more])
* Fixed menu background image would be scaled with poor quality. ([https://forums.factorio.com/67109 more])
* Fixed crash related to beam creation when the source or target is removed in the process. ([https://forums.factorio.com/67110 more])
* Fixed a hand logic related to loading a save with different mod settings which results in to the cursor being item removed.
* Fixed being unable to clear "X"(missing blueprint) icon from the quickbar. ([https://forums.factorio.com/67114 more])
* Fixed that train two stations of the same name in the train schedule could crash the game. ([https://forums.factorio.com/67066 more])
* Fixed consistency check for signal state of train on the way. ([https://forums.factorio.com/67052 more])
* Fixed issues with pipes disconnected w/o reason. Added stricter checks for new occurrences. ([https://forums.factorio.com/67057 more])


=== Scripting ===
* Added new specific remnants for various entities. (Work in progress beginning with 0.17.36)


* Added LuaSurface::min_brightness read/write.
=== Bugfixes ===
* Added LuaEntity::get_connected_rails(), get_rail_segment_entity(), get_rail_segment_end(), get_rail_segment_length(), and get_rail_segment_overlaps().
* Fixed that ghosts could be built in fog of war.
* Fixed a stack overflow when merging large electric networks (149'000+ electric poles). ([https://forums.factorio.com/70244 more])
* Fixed some achievements not counting their requirements properly. ([https://forums.factorio.com/70276 more])
* Changed worm and spitter acid attack so they do not create acid splashes on water. ([https://forums.factorio.com/70069 more])
* Changed fonts for Asian languages (Chinese, Japanese, Korean).
* Fixed that power switch connections weren't restored by undo. ([https://forums.factorio.com/70240 more])


== 0.17.8 ==
=== Modding ===
Date: 07. 03. 2019


=== Bugfixes ===
* Added "check_buildability" to "create-fire" trigger effect definition.
* Added "tile_collision_mask" to "create-entity" and "create-fire" trigger effect definitions as faster alternative to full buildability check.
* Added "trigger_created_entity" to "create-fire" and "create-sticker" trigger effect definitions.
 
=== Scripting ===
 
* Added "item" to the on_built_entity event.


* Fixed modded multiplayer games would incorrectly show a mod-mismatch error (again). ([https://forums.factorio.com/66957 more])
== 0.17.35 ==
* Fixed queued GUIs didn't work correctly. ([https://forums.factorio.com/66963 more])
Date: 02.05.2019
* Fixed that terrain selectors other than 'elevation' messed with the water/island controls ([https://forums.factorio.com/66932 more])
 
* Fixed PvP running on_init when it was already initialised. ([https://forums.factorio.com/66970 more])
=== Changes ===
* Fixed that replacing an underground pipe by a pipe could cause fluid mixing in a special situation. ([https://forums.factorio.com/66888 more])
* Fixed that upgrading entities with the upgrade planner would erase the last-user. ([https://forums.factorio.com/67019 more])
* Fixed a crash in the update mods GUI.
* Fixed incorrect styling in the update mods GUI in some cases.
* Fixed crash when loading a save during a cutscene when following a unit. ([https://forums.factorio.com/67022 more])


== 0.17.7 ==
* Increased the maximal length of station name to 1024, mainly to allow wider usage of multiple tags in the name. ([https://forums.factorio.com/68219 more])
Date: 06. 03. 2019


=== Bugfixes ===
=== Bugfixes ===


* Fixed game.players[#] would be treated as game.players[tostring(#)].
* Fixed that making blueprints of locomotive ghosts wouldn't include the schedules. ([https://forums.factorio.com/69856 more])
* Fixed inserter/mining drill interaction indications would still render for mined-in-latency-state entities.
* Fixed that worms and spitters didn't show attack parameters in description.
* Fixed inserter/mining drill interaction indications wouldn't render in some cases and would ignore ghosts in some but not all cases.
* Fixed that the game would crash if it was closed when Sound Settings was opened. ([https://forums.factorio.com/69977 more])
* Fixed that the game would incorrectly think some mods wouldn't be required when joining multiplayer games even though they are.
* Limited the manual rail building distance to 3 times the normal building distance.
* Fixed some key bindings not working correctly until game restart. ([https://forums.factorio.com/66631 more])
* Fixed dangling tooltip bug related to widget reorganization in map generator GUI and possibly other places. ([https://forums.factorio.com/69471 more])
* Fixed a crash when changing entity ghosts with wire connections through the upgrade planner. ([https://forums.factorio.com/66861 more])
* Fixed that the train time condition label wasn't properly set to squashable resulting in wrong layouting in certain languages. ([https://forums.factorio.com/69583 more])
* Fixed that the prevent-robots-from-working-because-i-am-driving-too-fast logic still wouldn't work in some cases. ([https://forums.factorio.com/66190 more])
* Fixed truncation of labels containing rich text. ([https://forums.factorio.com/69917 more])
* Fixed that highly nested recipes would freeze the game. ([https://forums.factorio.com/66626 more])
* Fixed PvP and Wave defense starting base entities wouldn't spawn if a mod added a tile with a certain collision mask and a name which sorted alphabetically above dirt.
* Fixed a crash when loading saves that contain connected cliffs that will be removed due to mod migrations/removals. ([https://forums.factorio.com/66637 more])
* Fixed PvP production score error when a mod or script adds another force during a round.
* Fixed statistics graphs crashing when releasing shift with a tooltip active. ([https://forums.factorio.com/66910 more])
* Fixed PvP error when using DEFCON mode.
* Fixed rendering of tile transitions on Sandy Bridge iGPUs for real this time. ([https://forums.factorio.com/65628 more])
* Fixed that the shortcut bar selection list wasn't scrollable until the window was resized. ([https://forums.factorio.com/68804 more])
* Fixed that it was possible to add a blueprint to other player's shared blueprints. ([https://forums.factorio.com/66438 more])
* Making disabling of features in map generator more clear by adding checkboxes for it. ([https://forums.factorio.com/65841 more])
* Fixed that undo was not preserving ghost entity module requests. ([https://forums.factorio.com/66638 more])
* The wagon door opening animation (that is only available for horizontal/vertical direction) is now chosen based on the drawing sprite of the wagon selected instead of the orientation of the wagon. This means, that orientations really close to horizontal/vertical still use the animation. ([https://forums.factorio.com/68768 more])
* Fixed that undo was not preserving circuit connections. ([https://forums.factorio.com/66419 more])
* Fixed that changing map size didn't mark the map preset as modified. ([https://forums.factorio.com/67261 more])
* Fixed that un-researching technology wouldn't update GUIs correctly. ([https://forums.factorio.com/66522 more])
* Fixed label text not updating correctly when cleared and had non-zero minimal width and height. ([https://forums.factorio.com/69763 more])
* Fixed PvP scenarios created in 0.16 and loaded in 0.17. ([https://forums.factorio.com/66420 more])
* Improved handling of whitespace characters in technology count formula parsing.
* Fixed PvP script error from bad migration data checking. ([https://forums.factorio.com/66876 more])
* Checking that only the l (or L) variable used in the technology formula on startup, to avoid errors later on. ([https://forums.factorio.com/69870 more])
* Fixed that blueprint that was meant to disappear on Q did not after selecting and cancelling selection. ([https://forums.factorio.com/66004 more])
* Fixed NPE error at startup that could occur when using mods. ([https://forums.factorio.com/69439 more])
* Fixed persisting tooltips in the technology gui. ([https://forums.factorio.com/66176 more])
* Fixed GUI window of an entity not updating when pasting settings to that entity. ([https://forums.factorio.com/69102 more])
* Fixed set_quick_bar_slot not refreshing item counts in the quickbar. ([https://forums.factorio.com/66150 more])
* Fixed error in consistency check of ghost connections related to multiple connections to entities only in the undo queue. ([https://forums.factorio.com/70126 more])
* Fixed layouting in train configure gui with very long station names. ([https://forums.factorio.com/66841 more])
* Fixed train condition fulfilling indication for artillery wagon. ([https://forums.factorio.com/69677 more])
* Fixed layouting in train configure gui with too long condition translations. ([https://forums.factorio.com/66654 more])
* IDXGIOutput::FindClosestMatchingMode returning an error is not treated as critical failure anymore. ([https://forums.factorio.com/70152 more])
* Squashed labels get a tooltip with the full text in a similar fashion as buttons.
* Fixed that the Mods GUI go-to-dependency buttons wouldn't work in some scenarios. ([https://forums.factorio.com/69545 more])
* Fixed that research queue setting wouldn't export to map exchange string properly. ([https://forums.factorio.com/65417 more])
* Fixed that ghost building mode works the same as ghost building (with shift) when it comes to rail building. ([https://forums.factorio.com/69761 more])
* Fixed incorrect primary screen index in graphics options GUI.
* Fixed that upgrading entities in would leave invalid module requests. ([https://forums.factorio.com/70040 more])
* Fixed some cases of fluid mixing related to underground pipes.
* Fixed, that sorting changes were moving the scrolled position in the browse game gui. It is now consistent with the mods gui. ([https://forums.factorio.com/70128 more])
* Fixed crash related to productivity bonus and a catalyst. (When the catalyst count covers all the ingredient count). ([https://forums.factorio.com/66882 more])
* Fixed some achievements being given to players while the save game is loading, not respecting player online time. ([https://forums.factorio.com/64214 more])
* Fixed that the reset button wouldn't update after importing a map exchange string. ([https://forums.factorio.com/66608 more])
* Fixed LuaTransportLine::output_line read for right-hand output lines of a lonely splitter. ([https://forums.factorio.com/70207 more])
* Fixed messed up research in the NPE ([https://forums.factorio.com/66871 more])
* Fixes to make tabbed pane work properly when it comes to squashing in different situations. ([https://forums.factorio.com/69488 more])
* Tweaked the algorithm that is putting trains on rails to work properly in junctions when constrained by the direction caused by blueprint/ghost train building. ([https://forums.factorio.com/69457 more])


=== Scripting ===
=== Modding ===


* Added LuaControl::ghost_cursor read/write.
* Renamed the character entity type and name from "player" to "character" to make it consistent with how we call/access it in all other places.
 
* Renamed the technology personal-roboport-equipment-2 to personal-roboport-mk2-equipment and gave it corresponding icon to be consistent with other technologies of this kind.
== 0.17.6 ==
* Renamed the technology power-armor-2 to power-armor-mk2 to be consistent with other technologies of this kind.
Date: 05. 03. 2019
* Added optional storage tank prototype property "scale_info_icons".
* Added "manual_rail_building_reach_modifier" to the utility-constants.
* MapGenPresets' advanced_settings.difficulty_settings.research_queue_setting now works. ([https://forums.factorio.com/69546 more])
 
=== Scripting ===
 
* Mod GUI root elements (top/left/center/goal) are now contained in scroll panes, so when there is not enough space, it will become scrollable instead of being cut off. With enough space, it looks the same as before, the only change is, that the mod GUI contents can now not expect to be squashed by the screen, as it will just make a scroll bar instead.
* Added LuaCircuitNetwork::connected_circuit_count read.
* Added LuaEntity::time_to_live read/write for highlight box entities.
* Added LuaEntity::allow_dispatching_robots read/write.
* Added LuaEntity::toggle_equipment_movement_bonus().
* Added LuaEquipmentGrid::inhibit_movement_bonus read/write.
* Added optional 'radius' to LuaSurface 'find_xyz' functions.
* Added defines.inventory.editor_main, editor_guns, editor_ammo, editor_armor.
* AutoplaceSpecification::control is always included in property tree, even for non-peak-based autoplace specifications. ([https://forums.factorio.com/69286 more])
* Fixed a save corruption problem when using LuaSurface::clone_area(). ([https://forums.factorio.com/67207 more])
* Renamed defines.inventory.player_main, player_guns, player_ammo, player_armor, player_vehicle and player_trash to defines.inventory.character_main, character_guns, character_ammo, character_armor, character_vehicle and character_trash.
* Removed LuaStyle::title_top_padding, title_right_padding, title_bottom_padding and title_left_padding.
 
== 0.17.34 ==
Date: 26.04.2019


=== Changes ===
=== Changes ===


* Updated map-gen-settings.example.json to use numeric multipliers, include cliff richness, and demonstrate expression overrides. ([https://forums.factorio.com/66694 more])
* Improved fluid simulation threading. Decreases CPU usage. Threading available on all operating systems. Simulation performance should remain unchanged.
* It is not possible to fast-replace pipe to ground by another that is in an orthogonal direction.
* Changed mining productivity cost to 2500 increase per level to fix that the last change was actually making it 5 times less expensive towards infinity. Lower levels are cheaper on the other hand.


=== Bugfixes ===
=== Bugfixes ===


* Fixed of loading of saves before 0.17.
* Fixed a crash when importing blueprint strings with power switch wires.
* Fixed crash related to conflicting undo in multiplayer. ([https://forums.factorio.com/65656 more])
* Fixed fluid mixing for fixed recipe assemblers. ([https://forums.factorio.com/69676 more])
* Fixed crash related to temporary stops and destroyed rails on the path that were already passed by the train. ([https://forums.factorio.com/65540 more])
* Fixed "Not enough rails" message after successful track placement. ([https://forums.factorio.com/69930 more])
* Fixed yet another train pathing crash. ([https://forums.factorio.com/65545 more])
* Fixed a crash when destroying entities during the on_pre_ghost_deconstructed event. ([https://forums.factorio.com/69965 more])
* Fixed the hand logic for god-mode controller. ([https://forums.factorio.com/66619 more])
* Fixed that trains with "logistics while moving" disabled would not deploy robots when switched into automatic mode while waiting at a station ([https://forums.factorio.com/69914 more])
* Fixed, that the hand logic could force an item to filtered slot that doesn't match it. ([https://forums.factorio.com/66610 more])
 
* Fixed, that filtered inventory could ignore the hand when sorting or transferring in some cases. ([https://forums.factorio.com/65612 more])
== 0.17.33 ==
* Fixed overly generous migration of mining productivity research. ([https://forums.factorio.com/66708 more])
Date: 24.04.2019
* Right panel sizing fixes.
 
* starting_area (size multiplier) in map gen settings JSON can be represented by a number.
=== Changes ===
* Fixed crash related to removing technology from the research queue. ([https://forums.factorio.com/66790 more])
 
* Fixed that driving backwards in vehicles wouldn't trigger the prevent-robots-from-working-because-i-am-driving-too-fast logic. ([https://forums.factorio.com/66777 more])
* Added out of fuel alert icon to flamethrower turrets.
* Fixed crash during startup on macOS 10.12 or older with GeForce GPU. ([https://forums.factorio.com/65145 more])
* UI scale won't be synchronised over Steam Cloud anymore. ([https://forums.factorio.com/67085 more])
* Attempt to fix tile transition rendering on Sandy Bridge iGPUs. ([https://forums.factorio.com/66035 more])
* Syncing startup settings with a server will automatically join the server on game restart. ([https://forums.factorio.com/69064 more])
* Fixed a performance problem related to undo in multiplayer. ([https://forums.factorio.com/66235 more])
 
* Fixed upgrading ghost splitters wouldn't copy the splitter settings. ([https://forums.factorio.com/65346 more])
=== Bugfixes ===
* Fixed a couple of situations where fast replacing underground pipe could cause fluid mixing. ([https://forums.factorio.com/66085 more])
 
* Fixed align in the blueprint library. ([https://forums.factorio.com/66789 more])
* Fixed yet another consistency bug related to ghost connections. ([https://forums.factorio.com/69694 more])
* Fixed a crash when loading modded saves related to fluidbox removal in assembling machines.
* Fixed crash related to changing force of entity marked for deconstruction/upgrade/in undo queue. ([https://forums.factorio.com/69493 more])
* Fixed blueprint preview would be drawn out of its bounds. ([https://forums.factorio.com/66050 more])
* Fixed a crash resulting from overlapping underground pipes. ([https://forums.factorio.com/69548 more])
* Fixed the featured technology cost for upgrade technologies when the research queue is not enabled. ([https://forums.factorio.com/66713 more]).
* Fixed power grid overlay not showing correctly on map when changing surfaces. ([https://forums.factorio.com/69104 more])
* Fixed that search in the technology GUI would be cancelled by selecting a new research. ([https://forums.factorio.com/66775 more])
* Fixed another instance of furnaces with fluid outputs not working correctly. ([https://forums.factorio.com/69674 more])
* Fixed a crash on destroying an entity with fluid energy source. ([https://forums.factorio.com/66517 more])
* Fixed multiplayer paused notification not being cleared when the client is dropped. ([https://forums.factorio.com/67326 more])
* Fixed a crash when deconstructing trains with inserters trying to put into them. ([https://forums.factorio.com/66614 more])
* Fixed accumulators showing discharge animation and empty icon at the same time. ([https://forums.factorio.com/67929 more])
* Fixed layout of circuit and logistic control windows. ([https://forums.factorio.com/66531 more])
* Fixed that the game would desync when changing forces of beams, fluid streams, projectiles, stickers, and fire flames.
* Fixed that trying to join a multiplayer game too quickly would lead to a mods-mismatch error. ([https://forums.factorio.com66834 more])
* Fixed player inventory income flying text would sometimes show incorrect total item count. ([https://forums.factorio.com/66542 more])
* Fixed that behemoth biters didn't have resistance to acid (as all other biters have).
* Fixed switched technology levels in the console message when changing research. ([https://forums.factorio.com/69681 more])
* Fixed NPE saves technologies were messed up by a migration in 0.17.5. ([https://forums.factorio.com/66714 more])
* Fixed that the keyboard shortcuts for new blueprint/upgrade planner/deconstruction planner wouldn't work when the cut or copy tool was selected. ([https://forums.factorio.com/68904 more])
* Fixed NPE issue where compi smashing a building would lead to a crash in migrated saves. ([https://forums.factorio.com/66767 more])
* Changed render layer of belts marked for deconstruction so they don't clip with other belts. ([https://forums.factorio.com/65931 more])
* Fixed that it wasn't possible to access the game menu when the game was paused in multiplayer with the technology screen open. ([https://forums.factorio.com/65223 more])
* Fixed attempt to rotate ore patches that are out of reach would create "Can't Reach" floating message. ([https://forums.factorio.com/66647 more])
* Fixed that generators would produce infinite pollution in some cases. ([https://forums.factorio.com/69450 more]) ([https://forums.factorio.com/69879 more])
* Fixed that generator tooltips did not show pollution. ([https://forums.factorio.com/69494 more])
* Fixed that LuaGameScript::tick_paused read was not of type boolean. ([https://forums.factorio.com/69892 more])
* Fixed that the map editor convert-save-to-scenario didn't work correctly in some cases. ([https://forums.factorio.com/68913 more])
* Fixed that the map editor intensity slider number fields wouldn't accept numbers outside the slider range. ([https://forums.factorio.com/69165 more])
* Fixed that the deconstruction planner "tiles only" mode would ignore tile ghosts. ([https://forums.factorio.com/68360 more])
* Fixed that exporting blueprint strings wouldn't include pending icon changes. ([https://forums.factorio.com/67180 more])
* Fixed that cloning rocket silos with rockets waiting to launch wouldn't auto-launch correctly. ([https://forums.factorio.com/69781 more])
* Fixed that cloning single entities with wire connections to themselves didn't work correctly. ([https://forums.factorio.com/69770 more])
* Fixed a desync related to rail item names. ([https://forums.factorio.com/69807 more])
* Map generator GUI now remembers the last preset used.
* Fixed an older bug with pull-placement of power poles. ([https://forums.factorio.com/69659 more])
* Fixed copying files to temp folder would preserve read only permissions, which could cause errors. ([https://forums.factorio.com/61763 more])
* Fixed rich text issue with sometimes removing font/color tags when it shouldn't. ([https://forums.factorio.com/69848 more])
 
=== Modding ===
 
* Fixed that trivial smoke wouldn't work correctly if it moved > 8 chunks from its origin. ([https://forums.factorio.com/69383 more])
* Renamed gate prototype collision_mask to opened_collision_mask so that it can be different from the entity collision mask.


=== Scripting ===
=== Scripting ===


* Added LuaItemPrototype::mapper_count read.
* Changed creation of tile ghosts to use "ghost_name" to match the rest of the API.
* Added LuaSurface::entity_prototype_collides() and LuaSurface::decorative_prototype_collides().
* Added LuaRecipePrototype::allow_decomposition read.
* Added LuaSpriteButton::number allows nil value, which signals/specifies no number to be drawn, which now allows showing of 0.
* Added LuaTrain::signal read.
 
== 0.17.32 ==
Date: 18.04.2019
 
=== Changes ===


== 0.17.5 ==
* Admins ignore multiplayer map upload slot limit.
Date: 04. 03. 2019
* "Player is being dropped"/"Server not responding" messages will only show after 2 seconds, to avoid irrelevant short pop-ups.


=== Bugfixes ===
=== Bugfixes ===


* Fixed crash related to train waypoints and very short train paths. ([https://forums.factorio.com/66095 more])
* Fixed that the server-settings.example.json had an additional comma at the end of the file. ([https://forums.factorio.com/69451 more])
* Fixed wrong entity info positioning when all other things in the right container are disabled. ([https://forums.factorio.com/65088 more])
* Filled in a missing fluid mixing check for miner. ([https://forums.factorio.com/69381 more])
* Fixed Wave defense victory not being triggered in some cases.
* Fixed that create-blueprint-item shortcut prototypes could have no item_to_create set. ([https://forums.factorio.com/69500 more])
* Fixed Wave defense victory message being printed on every rocket launch.
* Fixed upload slot queue blocking players from joining even if not all slots were filled.
* Fixed restarting the game after sync-mods-with-save would fail to auto-load some saves on Windows. ([https://forums.factorio.com/66338 more])
* Fixed a desync from rotation of an assembler with fluid energy source. ([https://forums.factorio.com/69395 more])
* Fixed PvP error when loading 0.16 versions of the scenario. ([https://forums.factorio.com/66108 more])
* Fixed connection consistency problems of wire/circuit connections ghosts and undo. ([https://forums.factorio.com/69452 more])
* Fixed selection in blueprint preview would have an offset if UI scale was not 100%. ([https://forums.factorio.com/65557 more])
* Added a no-crop requirement to the wire sprite definitions to avoid mods removing it, which can confuse the drawing logic. ([https://forums.factorio.com/69325 more])
* Fixed pie slice used as progress indicator in crafting queue wasn't rendering for small angles. ([https://forums.factorio.com/66079 more])
* Fixed text boxes that would not respect keyboard layout for shortcuts like copy or paste. ([https://forums.factorio.com/68380 more])
* Fixed that the /time command would give back the wrong time played.
* Fixed blocking of game shortcuts when a text box has focus did not take into account keyboard layout settings. ([https://forums.factorio.com/67021 more])
* Fixed rendered terrain would increasingly get corrupted during movement when using 16bit rendering mode on some OpenGL drivers. ([https://forums.factorio.com/65691 more])
* Fixed the game would not respect remapping of modifier keys (Ctrl, Shift, Alt) in operating system. ([https://forums.factorio.com/65093 more])
* Fixed player.get_quick_bar_slot causing a crash for some values. ([https://forums.factorio.com/65917 more])
* Fixed it wasn't possible to bind mouse buttons 6 to 9. ([https://forums.factorio.com/69588 more])
* Fixed controls were lagging when application window was receiving lot of events it didn't recognize on macOS or Linux. ([https://forums.factorio.com/65179 more])
* It is no longer possible to teleport an entity into fluid mixing. ([https://forums.factorio.com/69316 more])
* Fixed "Wait for V-Sync" graphics option was not working on macOS 10.14 Mojave.
* Fixed a crash when defining a programmable speaker with no instruments. ([https://forums.factorio.com/69632 more])
* Fixed crash logs were missing stack traces on macOS.
* Sync-mods-with-save will no longer offer to load-save when attempting to sync while hosting a multiplayer game. ([https://forums.factorio.com/67756 more])
* Adjusted the Supply Challenge requirements to make sense. ([https://forums.factorio.com/66291 more])
* Fixed when negative health regeneration wouldn't work when the entity had full health. ([https://forums.factorio.com/69605 more])
* Fixed a crash when reviving entities through the Lua API.
* Fixed a crash related to migrating game versions while having gates marked for deconstruction with ghost walls built over them. ([https://forums.factorio.com/69473 more])
* Fixed NPE crash on biter commands during rebuild quest. ([https://forums.factorio.com/66586 more])
* Fixed NPE crash during cutscene if player left entity ghosts in the starting area. ([https://forums.factorio.com/66424 more])
* Fixed NPE crash on sending biters if you plaster half the map with furnaces (yes, seriously). ([https://forums.factorio.com/66369 more])
* Fixed NPE bug where Compilatron would sometimes not continue after players put the required items in his chest. ([https://forums.factorio.com/66528 more])
* Fixed that technology slot tooltip didn't reflect the cost of the selected technology in the queue.
* Fixed NPE confusing flying text at startup. ([https://forums.factorio.com/66317 more])
* Fixed that the train passed wait condition time was limited to 120 seconds. ([https://forums.factorio.com/66043 more])
* Fixed hand not disappearing from the quickbar in some situations. ([https://forums.factorio.com/66019 more])
* Fixed a crash related to the research queue. ([https://forums.factorio.com/66172 more])
* Fixed that the research queue could show incorrect research levels. ([https://forums.factorio.com/66144 more])
* Horizontal layouting fix of the mods gui. ([https://forums.factorio.com/66217 more])
* Fixed that the island related changes in the terrain settings in map generator gui weren't updated if the island preset was preselected. ([https://forums.factorio.com/65722 more])
* Fixed that custom Lua-defined shortcuts would desync the game. ([https://forums.factorio.com/66556 more])
* Fixed a crash when player is not given when using surface.deconstruct_area(). ([https://forums.factorio.com/66426 more])
* Fixed loading of blueprints containing rail temporary stations.


=== Modding ===
=== Modding ===


* Added SelectionToolPrototype flag "nothing".
* For performance reasons inserter pickup/dropoff vectors are now limited to half a chunk or less.
* Made resource autoplace helper functions usable from mods. ([https://forums.factorio.com/66584 more])
* Added LogisticContainerPrototype::landing_location_offset.


=== Balancing ===
=== Scripting ===


* Changed mining productivity technology to add 10% in one level instead of 2%, increased the formula from 100 * level to 500 * level and removed some of the low level intermediate levels.
* Added LuaEntityPrototype::lab_inputs read.
* Added LuaEntityPrototype::researching_speed read.
* Added LuaGameScript::pollution_statistics read.


=== Changes ===
== 0.17.31 ==
Date: 12.04.2019


* Blueprinting tools are no longer shown in the quickbar filter selection. ([https://forums.factorio.com/66088 more])
=== Bugfixes ===


== 0.17.4 ==
* Fixed a crash when hosting multiplayer games in some scenarios.
Date: 01. 03. 2019


=== Bugfixes ===
== 0.17.30 ==
* Fixed crashes related to Lua errors. ([https://forums.factorio.com/66007 more])
Date: 12.04.2019
* Fixed a crash when opening the fluid wagon GUI in the map editor. ([https://forums.factorio.com/66067 more])
* Fixed that pressing "back" on the login prompt in the other settings GUI would exit the other settings GUI. ([https://forums.factorio.com/65643 more])
* Fixed that robots could get stuck when trying to upgrade in some cases. ([https://forums.factorio.com/65816 more])
* Fixed that the tooltips for tooltip times where backwards. ([https://forums.factorio.com/65085 more])
* Fixed Lua commands wouldn't work show help correctly. ([https://forums.factorio.com/66022 more])
* Fixed portable fusion reactor and rocketry tech pre-requisites - added military science pack. ([https://forums.factorio.com/66080 more])
* Fixed uranium processing tech pre-requisites - added sulfur processing. ([https://forums.factorio.com/66060 more])
* Removed ghost buildability consistency check until we properly integrate building of ghosts into the fluid mixing prevention logic.
* Fixed crash related to train pathfinding. ([https://forums.factorio.com/65950 more])
* Fixed layouting of Map Generator gui when the preview is shown. ([https://forums.factorio.com/65959 more])
* Fixed issues with rich text tags referencing entities that have no icon.
* Fixed crash related to moving blueprints from game blueprints to player blueprints. ([https://forums.factorio.com/66091 more])
* Fixed crash related listing all players while while processing event of player being removed.
* Fixed a crash related to research that would continue even though the research queue is empty. ([https://forums.factorio.com/66057 more])
* Fixed Compilatron placing a chest on top of things. ([https://forums.factorio.com/65924 more])
* Fixed crash during quest to reactivate assembler in NPE. ([https://forums.factorio.com/66122 more])
* Fixed that script render text would scale with GUI scale. ([https://forums.factorio.com/65982 more])


=== Modding ===
=== Minor Features ===
* Made MiningDrillPrototype::radius_visualisation_picture tintable.


== 0.17.3 ==
* Added ability to set a maximum number of map upload slots for multiplayer servers. Setting this is recommended to prevent the server from being flooded with map fragment requests from clients.
Date: 28. 02. 2019
 
=== Optimizations ===
 
* Optimized alt-mode icon background rendering. ([https://forums.factorio.com/67280 more])
 
=== Bugfixes ===
 
* Fixed that cut tool marked trees/rocks/cliffs for deconstruction when there was other valid entity in the selection. ([https://forums.factorio.com/69002 more]) ([https://forums.factorio.com/69199 more])
* Fixed that movement by keys or clicking on an alert didn't unsnap the currently followed train in the map. ([https://forums.factorio.com/69199 more]) ([https://forums.factorio.com/69002 more])
* Fixed that the game would crash when showing blueprint library tooltips. ([https://forums.factorio.com/69398 more])
* Fixed that the game would crash when showing a blueprint library tooltip in multiplayer when the blueprint/book was removed by another player.
* Fixed alt-mode icon background for narrow icons was be very subtle. ([https://forums.factorio.com/65338 more])
 
== 0.17.29 ==
Date: 12.04.2019


=== Changes ===
=== Changes ===
* Disabled target leading for flamethrower turrets until it can be made better. ([https://forums.factorio.com/65152 more])
 
* Changed train pathfinding in a way, that it can find path that ends in the same segment where it started. This worked only for the trivial case of all path of one segment before.
* Simplified rail building. Holding shift while rail building always activates the combination of ghost-rail-building + remove-obstacles, releasing shift returns back to normal manual mode. It doesn't matter anymore, whether the rail building started with shift or not. This removed the possibility to do ghost-rail-building without the remove-obstacles, but since it seems to be almost useless, we consider it to be worth the simplification.
font/color rich text tags now have to be properly terminated. This means eg: "[color=red]Red circuits" will now need to be "[color=red]Red circuits[/color]". This fixes a number of issues with handling start/end tags. ([https://forums.factorio.com/66263 more]) ([https://forums.factorio.com/66256 more])
* Enter key will be shown as "ENTER" instead of "RETURN" on Windows and Linux. ([https://forums.factorio.com/69329 more])
* Minor Features
* Added a shortcut for increasing/decreasing/resetting UI scale, mainly for debugging of proper automatic adjustment of UI, but people might find it useful for something as well.


=== Bugfixes ===
=== Bugfixes ===
* Fixed possible crash related to browsing in the mods gui.
 
* Fixed that turning off exoskeletons didn't work correctly in multiplayer.
* After a realization of a big misleading mistake, the pollution per second had to be renamed to pollution per minute, because it is what it actually is. ([https://forums.factorio.com/68269 more])
* Fixed shaking of blueprint preview in blueprint book tooltip. ([https://forums.factorio.com/65594 more])
* Fixed that tree pollution absorption was recorded as pollution emission in the statistics.
* Fixed the wrong detection of changed autosave interval in other settings. ([https://forums.factorio.com/65626 more])
* Fixed that equipment electric network priority migration wasn't present. ([https://forums.factorio.com/69389 more])
* Fixed /help *command* would print a number instead of the help message. ([https://forums.factorio.com/65695 more])
* Crafting group selection by typing exact recipe match will now preserve the same way as selecting the crafting group manually. ([https://forums.factorio.com/67165 more])
* Fixed a crash when dying with the locomotive GUI open. ([https://forums.factorio.com/65705 more])
* Fixed few layouting issues in the mods GUI. ([https://forums.factorio.com/68788 more])
* Fixed a crash when using sprite variation sheets with mismatched frame counts. ([https://forums.factorio.com/65634 more])
* Fixed that sticker duration could be 0. ([https://forums.factorio.com/69042 more])
* Fixed that the admin-only portions of the whitelist command where not localised correctly. ([https://forums.factorio.com/65792 more])
* Restored previous behavior where normal (not only underground) pipe connections reconnected when a fluidbox got removed. ([https://forums.factorio.com/68343 more])
* Fixed building underground pipe between pipes with different fluids. ([https://forums.factorio.com/65607 more])
* Fixed crash when robots try to revive locomotive that has both front and back wheels on rails, but no rail in-between. ([https://forums.factorio.com/68623 more])
* Fixed visual direction of fluid flow. ([https://forums.factorio.com/65486 more])
* Fixed that repair packs could be lost if they didn't fit in your inventory when using personal robots. ([https://forums.factorio.com/69110 more])
* Fixed dead-dry-hairy-tree and dry-hairy sprite shifting in normal resolution. ([https://forums.factorio.com/65593 more])
* Added missing pipe connection arrows to flamethrower turret. ([https://forums.factorio.com/69272 more])
* Fixed PvP error when changing enabled mods. ([https://forums.factorio.com/65652 more])
* Fixed that custom GUI style values specified directly on the elements weren't updated after UI scale change. ([https://forums.factorio.com/68007 more])
* Fixed number pad Enter key-bindings would be converted to normal Enter when restarting the game. ([https://forums.factorio.com/65568 more])
* Fixed that the electric network GUI would sometimes be opened when starting deconstruction planner selection on an electric pole in the map view. ([https://forums.factorio.com/68960 more])
* Fixed small worms having fluid consumption. ([https://forums.factorio.com/65870 more])
* Fixed that Textfield and Sliders didn't update its size properly on UI change.
* Fixed that copy-paste of fluid recipes would sometimes not reset fluid box contents. ([https://forums.factorio.com/65609 more])
* Fixed UI change update in ModSettingsGui and MapGeneratorGui with preview open.
* Fixed that double-clicking a technology in the tree view wouldn't start research. ([https://forums.factorio.com/65335 more])
* Fixed quickbar selection disappearing when cursor stack is refreshed with a new stack. ([https://forums.factorio.com/68243 more])
* Fixed pipes that would sometimes be too noisy. ([https://forums.factorio.com/65670 more])
* Fixed that nested frame styles (horizontal flow, vertical flow, header filler flow, filler) weren't initialized/updated correctly in the GUI created by script.
* Fixed that you could build multiple underground belts on top of each-other. ([https://forums.factorio.com/65828 more])
* Fixed that the loading indicator in the browse games GUI was left of the "Back" button. ([https://forums.factorio.com/66513 more])
* Fixed tightspot level 5 was unbeatable. ([https://forums.factorio.com/65629 more])
* Fixed turret prototype definition allowed ammo_type of attack_parameters to be optional resulting in crash when the turret started to shoot.
* Added workaround for GPU accelerated texture compression producing corrupted textures. ([https://forums.factorio.com/65336 more])
* Don't consider recipes with 0 minimum amount (and possible randomised result) when resolving automatic crafting of ingredients when crafting manually. ([https://forums.factorio.com/68836 more])
* Fixed that the technology window scroll position would keep getting reset. ([https://forums.factorio.com/65160 more])
 
* Fixed that the current research panel would not update in multiplayer if some other player changed the research. ([https://forums.factorio.com/65185 more])
=== Scripting ===
* Fixed terrain not being rendered when using OpenGL and any game overlay was enabled. ([https://forums.factorio.com/65096 more])
 
* Changed the LabelStyle::want_ellipsis default value to true and it is never changed to be something else now. We are considering to even remove this style property completely, as we basically want the ellipsis always when the label is squashed.
* Added tile parameter to on_player_built_tile and on_robot_built_tile.
* Removed unused on_player_tool_inventory_changed event.


=== Modding ===
=== Modding ===
* Added LoaderPrototype::structure_render_layer with default value "lower-object". ([https://forums.factorio.com/65627 more])


== 0.17.2 ==
* Added emissions_per_minute property in the energy source, that is supposed to replace the emissions_per_second_per_watt which was basically wrong and hard to work with, both emissions_per_second_per_watt emissions definition will work for some time (at least in 0.17) so mods don't get broken.
Date: 27. 02. 2019


=== Changes ===
== 0.17.28 ==
* Reverted default renderer on Windows to Direct3D on all configurations.
Date: 09.04.2019
* All infinite technologies have Space science pack as a pre-requisite.
* Added textual error message when player tries to clean cursor but it isn't possible as inventory is full.
* Added /unlock-shortcut-bar console command to unlock all shortcuts at once. This command does not disable achievements.
* Keyboard shortcut for in-game undo feature will default to Ctrl+W on AZERTY keyboard layouts. ([https://forums.factorio.com/65083 more])
* Control settings will revert to defaults when starting the game with pre-0.17.2 config with AZERTY keyboard layout.


=== Bugfixes ===
=== Bugfixes ===


* Fixed Join Game through Steam Friend would fail to connect to a game with an error saying Steam Networking is disabled.
* Fixed a crash when hovering over some inventory-like GUI elements.
* Fixed LuaGameScript::take_technology_screenshot() would crash the game.
 
* Fixed a crash when trying to use async-saving when hosting multiplayer games on Windows. ([https://forums.factorio.com/65146 more])
== 0.17.27 ==
* Fixed electric mining drill coverage area visualization was not drawn correctly. ([https://forums.factorio.com/65249 more])
Date: 09.04.2019
* Fixed missing sprites on DirectX on GPUs supporting only feature level 10.0. ([https://forums.factorio.com/65263 more])
 
* Fixed that the GUI would be hidden if the game was saved and loaded while the technology GUI was open. ([https://forums.factorio.com/65274 more])
=== Bugfixes ===
* Fixed a crash related to non gun/weapon items getting into the gun/weapon inventories. ([https://forums.factorio.com/65339 more])
 
* Fixed a crash when bringing up the escape menu in multiplayer while in the middle of using blueprints/deconstruction. ([https://forums.factorio.com/65256 more])
* Fixed that pollution statistic values from entities were reversed and didn't increase evolution. more
* Fixed a crash when mining ghosts built in the latency state. ([https://forums.factorio.com/65361 more])
* Fixed a crash when mods would set special_signal = true for virtual-signal prototypes.
* Fixed every incremental change of sound volume would save the full config file. ([https://forums.factorio.com/65318 more])
* Fixed a crash when a mining drill is destroyed during the resource-depleted event.
* Fixed that the category dropdown in the install mods GUI would only work the first time it was used. ([https://forums.factorio.com/65398 more])
* Fixed a crash when loading modded saves related to recipe migrations and fluidboxes.
* Fixed that mod thumbnails in zipped mods wouldn't show in the mods GUI. ([https://forums.factorio.com/65419 more])
* Fixed a desync related to the blueprint library and keeping outdated blueprints between versions.
* Fixed pre-requisites for the first tier of all upgrade technologies so that the required science packs are unlocked first. ([https://forums.factorio.com/65379 more])
* Fixed crash when undoing manual removal of entity marked for deconstruction. more
* Fixed electric inserter technology description in the tutorial. ([https://forums.factorio.com/65229 more])
* Fixed that the technology GUI would show 100% researched for near-100% values. more
* Fixed that the undo shortcut tooltip didn't reflect latency hiding values and invalid entries filtering.
* Fixed crash when calling LuaGameScript::take_technology_screenshot for force that doesn't have any technologies enabled.
* Fixed a desync when deconstructing item request proxies in the latency state. ([https://forums.factorio.com/65420 more])
* Fixed that action bar link to blueprint in the inventory had tooltip size limited too much. more
* Fixed crash related to the hand logic and switching controllers. ([https://forums.factorio.com/65330 more])
* Fixed that blueprint cost table width wasn't correct for UI scale different than 100%.
* Fixed a crash when lamp with non-electrical energy source (modded) is viewed in the blueprint preview/tooltip.
 
* Fixed that read-only multi-line text boxes wouldn't wrap text. ([https://forums.factorio.com/65413 more])
=== Scripting ===
* Fixed that the fast and express loader entity icons had the wrong colors. ([https://forums.factorio.com/65347 more])
 
* Fixed that the autosave interval setting was off by one. ([https://forums.factorio.com/65373 more])
* Added surface_index to the on_robot_mined_tile event.
* Fixed map preview would not be cleared to black before preview is generated on some PCs. ([https://forums.factorio.com/65423 more])
 
* Fixed that active blueprint in a book was not preserved when using the book directly from the blueprint library. ([https://forums.factorio.com/65258 more])
== 0.17.26 ==
* Fixed that the tutorial specific assembler was shown in the "made in in" row in the crafting queue tooltip. ([https://forums.factorio.com/65447 more])
Date: 08.04.2019
* Fixed that the map type selection changed done by reset or changing the preset didn't update the sliders properly. ([https://forums.factorio.com/65077 more])
 
* Fixed a rare issue with migration of fluid mixing in a modded save. ([https://forums.factorio.com/65137 more])
=== Changes ===
* Fixed that the provided map-gen-settings.example.json contained invalid settings. ([https://forums.factorio.com/65311 more])
* Fixed that checking for updates could crash the game. ([https://forums.factorio.com/65264 more])
* Solved, that blueprint library link from quickbar appeared as an empty slot when the target blueprint wasn't available anymore and it wasn't possible to assign a new item to it.
* Fixed PvP scenario error when updating space race frame with no silos present. ([https://forums.factorio.com/65492 more])
* Fixed drawing of some wires and wire shadows ([https://forums.factorio.com/65469 more])
* Fixed a possibility to mix fluid through fast replacing / upgrading a pipe with underground pipe. ([https://forums.factorio.com/65298 more])
* Fixed drawing of some wires and wire shadows. ([https://forums.factorio.com/65469 more])
* Fixed crash when opening the map generator preview for the first time with invalid settings. ([https://forums.factorio.com/65434 more])


=== Modding ===
* Reverted fonts used for Chinese, Japanese, Korean and Russian localizations to pre-0.17.24 versions.
* Renamed EntityPrototypeFlag "hide-from-bonus-gui" to "hidden" and made it also hide entities from the made in property of recipe tooltips.


== 0.17.1 ==
=== Bugfixes ===
Date: 26. 02. 2019
 
=== Modding ===
* Fixed that circuit connection from ghost to entity wasn't preserved when it was upgraded or undone. ([https://forums.factorio.com/67692 more])
* Added shortcut bar shortcut type that fires Lua events, for use in mods
* Fixed that it was possible to rotate entities whilst the technology GUI was open. ([https://forums.factorio.com/66320 more])
=== Scripting ===
* Fixed that the updates-available counter in the update-mods tab didn't update as mods would be updated. ([https://forums.factorio.com/69050 more])
* Added LuaPlayer::is_shortcut_toggled, LuaPlayer::is_shortcut_available, LuaPlayer::set_shortcut_toggled, LuaPlayer::set_shortcut_available
* Fixed that LuaSurface::get_closest() did not check the type of the second parameter. ([https://forums.factorio.com/69105 more])
* Added on_lua_shortcut event.
* Fixed that LuaEntity::revive() raise_revive parameter sometimes did not work. ([https://forums.factorio.com/69166 more])
=== Bugfixes ===
* Fixed that script render objects sometimes did not render in screenshots.
* Missing description.json in the campaign folder results into the folder being ignored instead of a crash.
* Fixed a crash when rendering inserter interactions for modded furnace recipes without item ingredients.
* Fixed crash when trying to rotate quickbars with a controller that doesn't have it.
* Fixed research queue and technology tooltip for long technology names. ([https://forums.factorio.com/68862 more])
* Fixed crash when trying to open surface map generation settings.
* Fixed sprites would render as corrupted on some GPUs with texture streaming enabled. ([https://forums.factorio.com/65466 more])
* Fixed possible crash related to copy paste and multiplayer.
* Fixed layouting of filters of deconstruction planner in a tooltip. ([https://forums.factorio.com/69107 more])
* Fixed it wasn't possible to use capital 'Z' in save name. ([https://forums.factorio.com/65075 more])
* Fixed that the rocket silo alt-info module icons didn't render in the correct location due to the size changes. ([https://forums.factorio.com/69041 more])
* Fixed the infinity chest graphics.
* Fixed several inconsistencies with the map editor paused state in multiplayer. ([https://forums.factorio.com/66189 more])
* Fixed that the boiler didn't rotate in blueprints.
* Fixed schedule merging when more than one step of connecting train is done and part with the empty schedule is connected first. ([https://forums.factorio.com/69043 more])
* Fixed that the bait chest showed in the upgrade planner.
* Fixed pollution reporting of machines with negative pollution when there is not enough pollution to absorb. ([https://forums.factorio.com/69164 more])
* Fixed high CPU usage when using steam networking.
* Fixed that building a new rail through robots changed all rail-bound train stops to that station. ([https://forums.factorio.com/69170 more])
* Fixed a crash when departing from temporary stations while all other stations in the schedule are invalid. ([https://forums.factorio.com/69114 more])
* Fixed that setting a character controller for an offline player would crash the game. ([https://forums.factorio.com/69106 more])
* Fixed trains overview GUI updating and performance problems. ([https://forums.factorio.com/68953 more])
* Fixed that long server names were overflowing in the Browse games GUI. ([https://forums.factorio.com/66113 more])
 
=== Scripting ===
 
* Added LuaAutoplaceControlPrototype::category read.
* Added LuaEntityPrototype::alert_icon_shift read.
* Added LuaForce::research_queue read/write.
* Added LuaForce::add_research() and cancel_current_research().
* Removed LuaForce::current_research write.
* Changed cutscene waypoints to allow all entities as targets.
 
== 0.17.25 ==
Date: 04.04.2019
 
=== Changes ===
 
* The Mods GUI will now always include a link to the mod portal for the selected mod.
 
=== Bugfixes ===
 
* Fixed roboport area rendering for players. ([https://forums.factorio.com/68925 more])
* Fixed a crash when trying to print invalid values through the Lua API. ([https://forums.factorio.com/68924 more])
* Fixed that the rail world preset didn't allow to get some achievements due to smaller base size. ([https://forums.factorio.com/65215 more])
* Fixed that the technology GUI technology cost wouldn't show numbers > 2^32 correctly. ([https://forums.factorio.com/68937 more])
* Fixed that custom checkboxes didn't render correctly in some cases. ([https://forums.factorio.com/67986 more])
* Fixed opening nested items in items so the same item isn't opened multiple times. ([https://forums.factorio.com/68005 more])
* Fixed a crash when trying to filter standalone character ammo slots. ([https://forums.factorio.com/68933 more])
* Disallowed building train stops in intersections.
* Fixed that cloning fluid turrets with fluid would crash the game.
* Fixed that cloning transport belts could crash when cloning fails.
* Fixed personal roboport would render its construction area even when toggled off. ([https://forums.factorio.com/68911 more])
* Fixed train stop names were rendered without rotation. ([https://forums.factorio.com/68922 more])
* Fixed Russian and several other localizations would not show symbols ≠, ≤, ≥ in train conditions and decider combinators. ([https://forums.factorio.com/68921 more])
* Fixed Chinese and Japanese text was too small to read. ([https://forums.factorio.com/68919)
* Fixed that deleting mods would follow symlinks instead of just removing the symlink. ([https://forums.factorio.com/68975 more])
* Fixed that mining drill can't-build messages would be wrong in some cases. ([https://forums.factorio.com/69014 more])
* Fixed that the game finished GUI would not show the time played if there were no kills.
* Fixed building underground pipes over ghosts could crash/corrupt the game. ([https://forums.factorio.com/68907 more])
* Fixed that the shortcut selection list wouldn't use a scroll bar if the shortcuts didn't fit on the screen. ([https://forums.factorio.com/68350 more])
 
=== Modding ===
 
* Recipes with duplicate ingredients or products will now error at startup instead breaking crafting runtime. ([https://forums.factorio.com/67857 more])
* Scripting
* Added surface_index to the on_robot_built_tile event.
 
== 0.17.24 ==
Date: 02.04.2019
 
=== Balancing ===
 
* Changed god controller inventory size to be the same as the character inventory size.
 
=== Bugfixes ===
 
* Fixed rendering of targeting range visualization for turrets with limited turn range. ([https://forums.factorio.com/68707 more])
* Fixed parameters passed to LuaPlayer::zoom_to_world didn't have any effect. ([https://forums.factorio.com/68730 more])
* Fixed that power poles would sometimes build automatically when they shouldn't. ([https://forums.factorio.com/68725 more])
* Fixed that editing map gen settings for the non-default surface using the map editor didn't work. ([https://forums.factorio.com/68793 more])
* Fixed that LuaSurface::spill_item_stack would ignore belts by default. ([https://forums.factorio.com/68796 more])
* Fixed that LuaEntity::set_request_slot() wouldn't allow filters with a count of 0. ([https://forums.factorio.com/68731 more])
* Fixed that copying assembler settings would copy direction as well. ([https://forums.factorio.com/68771 more])
* Fixed that automation and logistics technologies were marked as upgrades.
* Fixed that non-upgrade technologies didn't show the level properly. ([https://forums.factorio.com/68755 more])
* Fixed default key bindings for in-game copy, paste and undo shortcuts on Russian keyboard layout. ([https://forums.factorio.com/68809 more])
* Fixed that remote.call() with small strings didn't work correctly. ([https://forums.factorio.com/68801 more])
* Fixed lamp lighting up for 1 tick without any electricity. ([https://forums.factorio.com/68826 more])
* Fixed that the next infinite research level wouldn't appear in the technology list after the previous level was queued. ([https://forums.factorio.com/68578 more])
* Fixed a crash when changing modded recipes that used fluid inputs or outputs. ([https://forums.factorio.com/68830 more])
* Fixed lamp showing full electricity bar without any electricity. ([https://forums.factorio.com/67527 more])
* Fixed that large sequential lua tables wouldn't be saved and loaded correctly. ([https://forums.factorio.com/68657 more])
* Fixed poor performance when rendering logistic network overlays. ([https://forums.factorio.com/68873 more])
* Fixed that the shortcut for opening the console could be also entered into it (does not fix dead keys).
* Fixed Scroll Lock would trigger an event on both key down and key up. ([https://forums.factorio.com/65180 more])
* Fixed trains stop names with icons in them would look wrong when pinging a train station in chat. ([https://forums.factorio.com/65876 more])
* Fixed that crafting machines could not be rotated if they used a heat energy source and didn't have fluid boxes. ([https://forums.factorio.com/67803 more])
* Fixed inventory hand sometimes pushing items out of the inventory and spilling them on the ground. ([https://forums.factorio.com/66392 more])
* Fixed that some languages had no name, and that some used their English name, and some the name in the language itself. ([https://forums.factorio.com/68696 more])
* Fixed incorrect scaling of cyrillic characters when viewing them with your language set to English.
* Fixed two crashes from migration of modded fluid using entities. ([https://forums.factorio.com/68823 more])
* Fixed that clicking a technology in the research queue would select the next available level instead of the queued level. ([https://forums.factorio.com/68491 more])
 
=== Scripting ===
 
* Added LuaEntity::get_max_transport_line_index().
* Added LuaPlayer::last_online read.
* Added allow_belt parameter to LuaSurface::spill_item_stack.
* Added corpses parameter to on_post_entity_died.
 
== 0.17.23 ==
Date: 29.03.2019
 
=== Bugfixes ===
 
* Fixed that merging two electric networks didn't merge the statistics which was introduced by the power switch addition in 0.13. ([https://forums.factorio.com/68246 more])
* Fixed light not turning off properly when using fluid energy source on an entity. ([https://forums.factorio.com/67674 more])
* Fixed a crash when building large electric poles. ([https://forums.factorio.com/68695 more])
 
=== Modding ===
 
* The game now checks that technology levels are contiguous.
* Non-upgrade technologies are now considered to be level 1; previously they were level 0.
* Renamed "electric-energy-accumulators-1" to "electric-energy-accumulators".
 
== 0.17.22 ==
Date: 29.03.2019
 
=== Bugfixes ===
 
* Fixed vertical squashing of listbox. ([https://forums.factorio.com/68520 more])
* Fixed in-game updater would not work on Windows if Factorio path or write data path would contain non-ASCII characters. ([https://forums.factorio.com/68516 more])
* Undoing action of building entity that removed ghosts also restores the ghosts. The same with removal of ghosts by cancelling deconstruction. ([https://forums.factorio.com/67827 more])
* Fixed that building power poles when moving very fast did not have consistent spacing. ([https://forums.factorio.com/67383 more])
* Fixed undo of train deconstruction. ([https://forums.factorio.com/68102 more])
* Fixed undo of circuit conditions of entities in the ghost state. ([https://forums.factorio.com/68191 more])
* Fixed train pathing inconsistency between normal station departure and waypoint. ([https://forums.factorio.com/68111 more])
* Fixed problems related to rail path waypoints and station removal.
* Fixed logarithmic sliders not showing value of 1. ([https://forums.factorio.com/68392 more])
* Fixed logarithmic sliders showing the same value for some positions.
* Fixed logarithmic sliders not showing correct initial position.
* Fixed Rich text icons not working in rotated text. ([https://forums.factorio.com/65780 more])
* Fixed a crash when loading saves converted to scenarios in the map editor after changing mods. ([https://forums.factorio.com/68420 more])
* Fixed that the inventory hand was not activated when the cursor was auto-refilled when entity building, tile building, fast transferring, repairing, using capsules or dropping items. ([https://forums.factorio.com/67584 more])
* Fixed that fast-replacing ghosts would not transfer settings.
* Fixed that double clicking on a list box scroll bar would trigger the confirm action. ([https://forums.factorio.com/66224 more])
* Fixed train GUI preview not centering on locomotive when opening the color picker. ([https://forums.factorio.com/66115 more])
* Fixed gui clipping for scrollpane inside a scrollpane. ([https://forums.factorio.com/66925 more])
* Fixed biters ignoring the player when building a new base. ([https://forums.factorio.com/68492 more])
* Fixed that copying settings with a blueprint would not show returned materials. ([https://forums.factorio.com/67227 more])
* Fixed turret ranges with huge radius would not render correctly when zooming into a map. ([https://forums.factorio.com/68461 more])
* Fixed that the reset queue would reset if the the game window is resized whilst the technology GUI is open. ([https://forums.factorio.com/68607 more])
* Fixed that resizing the game window would clear the search filter in the technology GUI. ([https://forums.factorio.com/66685 more])
* Fixed that crafting machines with an empty fluid_boxes key could be rotated. ([https://forums.factorio.com/68642 more])
* Fixed train state not updating properly in some specific cases. ([https://forums.factorio.com/68145 more])
* Fixed mining drill showing misleading message when building on top of invalid resources. ([https://forums.factorio.com/65814 more])
* Fixed a crash related to assemblers that sometimes occurred during loading 0.16 modded games.
* Fixed a crash when opening map too fast after creating a new game or new surface. ([https://forums.factorio.com/65827 more])
* Fixed LuaPlayer::open_map, close_map, zoom_to_world would mutate rendering state while render thread was possibly using it causing crash. ([https://forums.factorio.com/68327 more])
* Changed the custom scale slider in interface settings to be disabled when automatic scale is selected.
* Fixed train path finding in a special case of a loop with no signals and exactly one intersection. ([https://forums.factorio.com/67357 more])
* Fixed clipping when the preset description in the map generator is scrollable. ([https://forums.factorio.com/67216 more])
* Better path selection within one segment that is in a loop. ([https://forums.factorio.com/68225 more])
 
=== Scripting ===
 
* Added LuaEntityPrototype::secondary_collision_box read.
 
== 0.17.21 ==
Date: 26.03.2019
 
=== Bugfixes ===
 
* Fixed gates sometimes not closing when next to cliffs. ([https://forums.factorio.com/68365 more])
* Fixed crashes related to GUI tables. ([https://forums.factorio.com/68526 more])
 
== 0.17.20 ==
Date: 26.03.2019
 
=== Changes ===
 
* Removed RTL language translations (Hebrew, Arabic). ([https://forums.factorio.com/68507 more])
 
=== Bugfixes ===
 
* Fixed crash when opening technology tree.
* Fixed blueprint loading related to trains and temporary stations. ([https://forums.factorio.com/67998 more])
* Fixed that the quick bar and shortcut bar weren't aligned on UI scales other than 100% and 200%, making the game literally unplayable. ([https://forums.factorio.com/66827 more])
* Fixed fuzzy search in the select-a-filter GUI could show empty groups. ([https://forums.factorio.com/63241 more])
 
== 0.17.19 ==
Date: 25.03.2019
 
=== Bugfixes ===
 
* Fixed various layouting problems related to tables.
* Fixed upgrading underground belt ghosts would not recalculate underground connections resulting in desyncs. ([https://forums.factorio.com/67510 more])
* Fixed construction robot tutorial when spamming ghost radars. ([https://forums.factorio.com/68436 more])
* Fixed that some entities didn't show the not enough power icon. ([https://forums.factorio.com/68470 more])
* Fixed possible crash when editing font names in rich text. ([https://forums.factorio.com/68390 more])
* Fix of previous fix of certain situations of assembler settings copy/paste. ([https://forums.factorio.com/68487 more])
* Fixed that toolbar buttons stayed pressed down. ([https://forums.factorio.com/68459 more])
* Fixed crash when an inventory gui was shown with 0 slots. ([https://forums.factorio.com/68467 more])
 
=== Scripting ===
 
* Added LuaGuiElement::scroll_to_top(), scroll_to_bottom(), scroll_to_left() and scroll_to_right().
* Added LuaGuiElement::scroll_to_element().
* Added LuaEntityPrototype::has_belt_immunity, pollution_to_join_attack, min_pursue_time, max_pursue_distance, radar_range, move_while_shooting, can_open_gates, affected_by_tiles, distraction_cooldown and spawning_time_modifier read.
* Added LuaEntityPrototype::inserter_extension_speed and inserter_rotation_speed read.
* Added LuaTransportLine::input_lines read.
 
== 0.17.18 ==
Date: 23.03.2019
 
=== Changes ===
 
* Dragging power poles over ghosts of the same type will revive them. ([https://forums.factorio.com/68244 more])
* Replaced the hand graphic in the quickbar with a selected graphic, so blueprint books are visible.
 
=== Bugfixes ===
 
* Solved train positioning when being built by robots. ([https://forums.factorio.com/68147 more])
* Fixed that playing Factorio in full-screen mode on macOS would hide all notifications. ([https://forums.factorio.com/66415 more])
* Allow commas with spaces after in color tags. ([https://forums.factorio.com/68261 more])
* Fixed the mechanic of saving a scenario locally when joining a multiplayer game that uses a scenario you don't have didn't work correctly. ([https://forums.factorio.com/68181 more])
* Fixed that the burner light would still glow even when the entity is sleeping. ([https://forums.factorio.com/65712 more])
* Assembler copy/paste now works correctly when pasting both recipe and direction with fluid mixing around. ([https://forums.factorio.com/68174 more])
* Tool shortcut bar selection list can be closed with ESC. ([https://forums.factorio.com/65621 more])
* Fixed that some technologies wouldn't show in the technology list if they were fully researched. ([https://forums.factorio.com/68239 more])
* Fixed incorrect zooming speeds when using keyboard to zoom. ([https://forums.factorio.com/65679 more])
* Blank property expression names in map gen settings JSON are ignored. ([https://forums.factorio.com/68125 more])
* Seed1 arguments above 255 to noise functions no longer crash the game, warning about the upper bits being ignored, instead. ([https://forums.factorio.com/67497 more])
* Fixed broken supply challenge. ([https://forums.factorio.com/68242 more])
* Fixed slow horizontal trackpad scrolling in the tech tree view. ([https://forums.factorio.com/66874 more])
* Fixing one situation of underground pipe connection over a ghost. ([https://forums.factorio.com/68265 more])
* Fixed blueprint icons not disappearing when using set_quick_bar_slot ([https://forums.factorio.com/68374 more])
* Fixed PvP force modifiers were being overwritten. ([https://forums.factorio.com/68397 more])
* Fixed "graphics_variation" was read-only on entities of type "corpse". ([https://forums.factorio.com/68391 more])
* Fixed buildability check of some fluid entities in blueprints. ([https://forums.factorio.com/65389 more])
* Fixed gui layouting related to having more squashable elements with different minimal sizes in one row/column.
* Fixed possible crash when hovering the statistics graphs.
* Fixed a crash when using LuaGameScript::show_message_dialog during on_init.
* Fixed headless server would hang when shutting down on Windows. ([https://forums.factorio.com/68422 more])
* Fixed interaction of pipe underground connections of different reach. ([https://forums.factorio.com/68258 more])
 
== 0.17.17 ==
Date: 21.03.2019
 
=== Changes ===
 
* Fast replacing power poles will keep existing connections but also try to connect to further away power poles if possible. ([https://forums.factorio.com/67967 more])
* 0-255 numbers are now allowed in [color] tags. The game will detect if you want to use floats or 0-255, just like the /color command. ([https://forums.factorio.com/67726 more])
 
=== Bugfixes ===
 
* Solved transport line compression related to splitters for various corner cases. ([https://forums.factorio.com/67815 more])
* Fixed texture-compression config values that were valid in 0.17.15 but are not valid since 0.17.16 would cause error on startup. ([https://forums.factorio.com/68133 more])
* Fixed that reverse/forward speed limits of the train movements were mixed up. ([https://forums.factorio.com/68047 more])
* Fixed that reverse locomotive power was the same as forward.
* Fixed item transfers tutorial giving combinators instead of wood. ([https://forums.factorio.com/68046 more])
* Fixed tutorials showing migrations dialog.
* Fixed slow inserters on transport belt madness level 3. ([https://forums.factorio.com/68149 more])
* Fixed massive biter clumps in Wave defense. ([https://forums.factorio.com/66136 more])
* Fixed a crash when importing save files into saves with different technology levels researched.
* Fixed that swapping Command and Option keys on macOS caused neither one to work in Factorio. ([https://forums.factorio.com/65671 more])
* Fixed that the technology GUI would list all technology levels if the technology was fully researched. ([https://forums.factorio.com/68037 more])
* Fixed a crash when using /swap-players. ([https://forums.factorio.com/66381 more])
* Fixed a crash when rotating some modded underground pipes. ([https://forums.factorio.com/67710 more])
* Fixed poor performance when large chat messages are rendered. ([https://forums.factorio.com/68040 more])
* Fixed a crash when a train traveling to a temporary stop has its schedule copy-pasted. ([https://forums.factorio.com/68130 more])
* Fixed a crash when using "Join server after sync" for server hosted over Steam Networking. ([https://forums.factorio.com/67963 more])
* Fixed hand missing from quickbar when selecting shortcuts to the blueprint library. ([https://forums.factorio.com/68141 more])
 
=== Scripting ===
 
* Added LuaControl::open_technology_gui(technology) which will open the technology GUI and select the given technology.
 
== 0.17.16 ==
Date: 19.03.2019
 
=== Changes ===
 
* Disabled vanilla pollution attacks in the NPE until after the final wave.
* Changing teams in PvP will try to preserve the current character. ([https://forums.factorio.com/68018 more])
 
=== Bugfixes ===
 
* Fixed alerts showing for trees and rocks in the NPE ([https://forums.factorio.com/65370 more])
* Fixed solid fuel not triggering "fuel furnace" quest item ([https://forums.factorio.com/67941 more])
* Potentially fixed scrap metal crash bug again ([https://forums.factorio.com/67821 more])
* Fixed that a fluid furnace revived from a ghost would not work. ([https://forums.factorio.com/67372 more])
* Fixed that launching tutorials could leave the running game in a broken state. ([https://forums.factorio.com/68046 more])
* Fixed that clearing the ghost cursor did not clear the hand in the quickbar. ([https://forums.factorio.com/68062 more])
* Fixed Compilatron blocking placement of burner inserter in NPE ([https://forums.factorio.com/68063 more])
* Fixing a bug from last version that allowed fluid mixing by setting a recipe in assembler. ([https://forums.factorio.com/68074 more])
* Different alert when unable to revive ghost due to fluid mixing by hand vs. by robot. ([https://forums.factorio.com/68074 more])
* Fixed spitters would not properly target construction robots that are blocked from fulfilling their task. ([https://forums.factorio.com/67886 more])
* Fixed a crash when joining Steam game invites while a multiplayer connection is in progress.
* Fixed that the "research finished" indicator would display the wrong technology level. ([https://forums.factorio.com/67864 more])
* Fixed a crash when removing the end rail of a temporary train order. ([https://forums.factorio.com/67926 more])
* Fixed that cargo wagon filters wouldn't get preserved in blueprint strings. ([https://forums.factorio.com/67641 more])
 
=== Scripting ===
 
* Fixed that printing the output of LuaProfiler anywhere except log(...) would cause a desync. Note: this means if the results are shown in things like player.print() they won't persist through save/load (but won't cause desyncs).
* Fixed Electric Pole smart coverage placement not building over other pole ghosts. ([https://forums.factorio.com/68083 more])
 
== 0.17.15 ==
Date: 18.03.2019
 
=== Changes ===
 
* Fixed that trains wouldn't depart for temporary stops when waiting at a station. ([https://forums.factorio.com/67811 more])
* Fixed that two headed train running out of fuel didn't trigger the out of fuel alert in one of the directions. ([https://forums.factorio.com/67820 more])
* Improved Compilatron's ability to select a free space when indicating structures by a factor of 16.6.
* The player must now wait for Compilatron to follow before being allowed to evacuate the first area of the NPE.
* The player must collect at least some of their structures before evacuating the first area of the NPE.
* Updated the player spawn after big biter attack in case the player wants to check how aggressive the biters are.
* Compilatron now has its own icon.
* Biters and worms in the NPE will now be aggressive except in special situations.
 
=== GUI ===
 
* It is now possible to scroll horizontally with a touch pad in the tech tree view. ([https://forums.factorio.com/66874 more])
 
=== Bugfixes ===
 
* Fixed bugged Compilatron speech in NPE when showing blocked miner.
* Turrets placed in the starting area will now be detected during the entrench step of the NPE. ([https://forums.factorio.com/67772 more])
* Fixed flamethrower turret range visualization was rendered in wrong layer. ([https://forums.factorio.com/67903 more])
* Fixed editing map gen settings in the map editor would crash the game. ([https://forums.factorio.com/67839 more])
* Fixed that robots would still try to deconstruct trains that left their network. ([https://forums.factorio.com/67916 more])
* Reduced screen tearing on Windows 7 when Aero is disabled. ([https://forums.factorio.com/67158 more])
* Fixed that converting games to scenarios and back could corrupt script global data. ([https://forums.factorio.com/66812 more])
* Fixed that disabling friendly fire prevented fish from healing. ([https://forums.factorio.com/67953 more])
* Fixed that LuaEntity::destroy({do_cliff_correction=true}) was ignored. ([https://forums.factorio.com/67837 more])
* Fixed toggle state of item selection buttons when clicked with item to fast-select. ([https://forums.factorio.com/67465 more])
* Fixed that the Q that cancels wire dragging also removed the hand from the quickbar. ([https://forums.factorio.com/67192 more])
* Fixed that selecting quickbar slot while dragging wire only cancelled the dragging, but had to be pressed again to select the slot. ([https://forums.factorio.com/67192 more])
* Fixed that modded fluid streams could crash the game in some situations. ([https://forums.factorio.com/67999 more])
* Fixed that keys blocked by textfield didn't include CONTROL + A (to select all), the same way as it is doing for (CONTROL + C/V/X). ([https://forums.factorio.com/67047 more])
* Fixed the double-click to clear functionality of number text field. ([https://forums.factorio.com/67949 more])
* Fixed a crash when migrating mods related to assembling machines and fluids. ([https://forums.factorio.com/67118 more])
* Fixed that exporting a blueprint to the library could crash the game. ([https://forums.factorio.com/67987 more])
* Fixed a crash when a modded assembler is built over a ghost of assembler with different rotation. ([https://forums.factorio.com/67732 more])
* Fixed damage technology migrations not migrating infinite technologies properly. ([https://forums.factorio.com/67731 more])
* Potentially fixed a Linux-specific bug where the game would react to key presses not intended for it. ([https://forums.factorio.com/66402 more])
 
=== Scripting ===
 
* Added LuaGameScript::create_profiler() which can be used to measure script performance.
 
== 0.17.14 ==
Date: 15.03.2019
 
=== Bugfixes ===
 
* Fixed that research queue setting in the New Map GUI wouldn't remember its value. ([https://forums.factorio.com/67370 more])
* Fixed a crash when hand replacing an assembler ghost with fluid mixing. ([https://forums.factorio.com/67732 more])
* Fixed migration of fluid-using modded mining drill.
* Fixed ten_minutes modifier bug in NPE.
* Fixed broken resetting of scenario context.
 
== 0.17.13 ==
Date: 15.03.2019
 
=== Changes ===
 
* Modified NPE quest structure to give the player more notice of impending attacks
* Added missing Steel plate recipe to NPE tech tree ([https://forums.factorio.com/67504 more])
* Removed unneeded Iron stick recipe from NPE
* Fast replacing between rail signal and rail chain signal will preserve circuit wire connection and relevant settings. ([https://forums.factorio.com/67682 more])
 
=== Bugfixes ===
 
* Fixed that the evolution pollution factor wasn't migrated properly. (pollution was increasing evolution 16.6 times faster than it should for existing saves).
* Fixed a crash when trying to assign invalid things to LuaPlayer::game_view_settings. ([https://forums.factorio.com/67682 more])
* Fixed that replays could trigger autosaves and take screenshots. ([https://forums.factorio.com/65901 more])
* Fixed that changing mod settings through Lua commands wouldn't trigger the settings-changed event. ([https://forums.factorio.com/66395 more])
* Fixed that /config didn't support name, description, or tags. ([https://forums.factorio.com/67463 more])
* Fixed a crash when using temporary stations. ([https://forums.factorio.com/67700 more])
* Fixed that drop-item into vehicles didn't work. ([https://forums.factorio.com/65948 more])
* Fixed that resizing the window while loading on 4k screens would cause the progress bar to not render. ([https://forums.factorio.com/65987 more])
* Fixed that the crafting queue GUI wouldn't show correctly when loading a save with crafting in progress. ([https://forums.factorio.com/66220 more])
* Fixed text box line wrapping didn't work correctly in most cases. ([https://forums.factorio.com/65437 more])
* Fixed a crash when re-joining a multiplayer game while the tips-and-tricks window is visible.
* Fixed a crash when opening the set-filter GUI on the ammo inventory of other player using the /open command.
* Fixed that the pollution generation of steel furnace wasn't what it was supposed compared to 0.16.
* Fixed that you could die during a cutscene and become a ghost when it ended. ([https://forums.factorio.com/67651 more])
* Fixed that you could die with required items in your inventory and make the NPE unwinnable. ([https://forums.factorio.com/65829 more])
* Fixed that some turrets wouldn't be detected by the quest objectives in the NPE. ([https://forums.factorio.com/66013 more])
* Fixed issue with detecting Steam engine on network in NPE ([https://forums.factorio.com/66717 more])
* Fixed biters getting stuck in massive clumps in NPE ([https://forums.factorio.com/66226 more])
* Fixed biters becoming frozen after arriving at target destination in NPE ([https://forums.factorio.com/66494 more])
* Fixed crash when mining scrap metal in NPE ([https://forums.factorio.com/65512 more])
* Fixed biters losing aggression after save/load during NPE ([https://forums.factorio.com/66410 more])
* Fixed some windows in the NPE having inconsistent header draggable textures ([https://forums.factorio.com/66295 more])
* Fixed build order for Compilatron in NPE so it is more successful ([https://forums.factorio.com/66703 more])
* Fixed set_active_quick_bar_page not updating the GUI. ([https://forums.factorio.com/66142 more])
* Fixed that waiting on temporary stop was reset every time other station was added. ([https://forums.factorio.com/6034 more])
* Fixed that blueprints with trains and rails still could snap the trains to different rails. ([https://forums.factorio.com/67384 more])
* Fixed LuaGameScript::take_screenshot with anti_alias = true would produce bad screenshots ([https://forums.factorio.com/67685 more])
* Fixed that snapping to position while building ghost didn't update the ghost position properly, leading to invisible entities in rare cases. ([https://forums.factorio.com/66908 more])
* Fixed a crash when destroying trains while in the paused map editor state. ([https://forums.factorio.com/67734 more])
* Fixed that recipes could be setup to produce > 1 count of items that are never meant to be stacked. ([https://forums.factorio.com/67736 more])
* Fixed that creating a new blueprint and pressing Q after it was setup removes it instead of putting it into inventory. ([https://forums.factorio.com/67737 more])
* Fixed LuaGameScript::take_screenshot with anti_alias = true would produce bad screenshots. ([https://forums.factorio.com/67685 more])
* Fixed Artillery targeting remote not showing the correct ability count in the quickbar. ([https://forums.factorio.com/65310 more])
* Fixed scrolling through blueprint book with Shift+mouse wheel on macOS. ([https://forums.factorio.com/67225 more])
* Fixed Artillery targeting remote not showing the correct ability count in the qickbar. ([https://forums.factorio.com/65310 more])
* Fixed that blueprint shortcuts in quickbar linked to the library wouldn't remember their orientation. ([https://forums.factorio.com/65716 more])
 
== 0.17.12 ==
Date: 14.03.2019
 
=== Features ===
 
* Added pollution tab to the production statistics.
 
=== Minor Features ===
 
* Spawner tooltip (including the pollution statistics), shows distribution of biters spawn for the current evolution factor with the pollution costs.
* Added attack modifier setting into the pollution section in the map generator. This modifies how much pollution is consumed by biters attacking. (default is 50% for deathworld presets)
 
=== Changes ===
 
* Pollution generation is now shown in the x/s format both on the entity and in the item/crafting slot.
* All statistics graphs apart from electricity use smoothing now.
* The Install Mods GUI will now automatically install required dependencies.
* Added graphics option "Render in native screen resolution" on macOS to workaround performance issues due to rendering on Retina displays. ([https://forums.factorio.com/66870 more])
 
=== Bugfixes ===
 
* Added another fixing migration of consistency related to undo.
* Fixed that inserters wouldn't copy the white list/black list setting during fast-replace. ([https://forums.factorio.com/67501 more])
* Fixed that building/removing signals forced train in disabled station to move from it. ([https://forums.factorio.com/67365 more])
* Fixed that the name of the "Undo" shortcut wouldn't show up in the shortcut selection list. ([https://forums.factorio.com/67464 more])
* Fixed that the blueprint book shortcut's tooltip wouldn't show the assigned key combination. ([https://forums.factorio.com/67447 more])
* Fixed search bar focus being lost when binding it to extra mouse buttons. ([https://forums.factorio.com/67517 more])
* Fixed that shortcut bar keyboard shortcuts would appear twice in the control settings if certain mods were installed. ([https://forums.factorio.com/67433 more])
* Fixed that backspacing text covered by unclosed rich text tags could leave them at the end of the string. ([https://forums.factorio.com/67376 more])
* Fixed that technology tooltip would show "unknown key" for technologies with no description. ([https://forums.factorio.com/67489 more])
* Fixed unable to close the menu when rebinding toggle menu from ESC. ([https://forums.factorio.com/67535 more])
* Fixed that modded GUI window frames always contained header filler. ([https://forums.factorio.com/66295 more])
* Fixed save file would contain two preview screenshots. ([https://forums.factorio.com/67543 more])
* Fixed typo in decoratives.lua. ([https://forums.factorio.com/67594 more])
* Fixed that cloning assembling machines wouldn't preserve the direction for some recipes. ([https://forums.factorio.com/67583 more])
* Fixed bug with typing certain characters on alternative keyboard layouts on windows. ([https://forums.factorio.com/67552 more])
* Fixed a crash of generators whose prototype changes to not use fluid anymore. ([https://forums.factorio.com/66595 more])
* Fixed some crashes related to changes of modded fluid recipes. ([https://forums.factorio.com/67277 more])
* Fixed NPE bug when Compilatron walks over the iron patch when he's about to build miners. ([https://forums.factorio.com/67553 more])
* Fixed switching to map view when holding placeable item in cursor would make the item icon invisible. ([https://forums.factorio.com/66180 more])
* Fixed cloning rocket silos with rockets wouldn't work correctly. ([https://forums.factorio.com/67635 more])
* Fixed broken and missing support of modded underground pipe connections. ([https://forums.factorio.com/65824 more])
* Fixed not being able to use the same key for some actions. ([https://forums.factorio.com/65128 more])
* Fixed that releasing Alt before D when pressing Alt+D would cause the character to walk.
* Fixed that order of items in the circuit network did not respect group and subgroups. ([https://forums.factorio.com/67548 more])
 
=== Modding ===
 
* Internal pollution values have been normalized, and they are now roughly 60 times less compared to what they were.
 
=== Scripting ===
 
* LuaPlayer::get_active_quick_bar_page now returns 1 based index.
 
== 0.17.11 ==
Date: 11.03.2019
 
=== Bugfixes ===
 
* Fixed that the process name was set to "Main" on Linux. ([https://forums.factorio.com/67355 more])
* Fixed a crash when closing GUIs with escape in some cases. ([https://forums.factorio.com/67428 more])
* Fixed a crash when mods set repair pack speeds or entity repair speed modifiers to negative values.
* Fixed that focus-search wouldn't work in the Recipe GUI or Map Editor. ([https://forums.factorio.com/67437 more])
 
== 0.17.10 ==
Date: 11.03.2019
 
=== Changes ===
 
* Terrain generator options are preserved by the map generator GUI unless explicitly changed.
* Changed landfilling result to be tile called "landfill" instead of tile called "grass-1". It looks the same for now, but it solves some unexpected behaviour. We might give it a custom graphics later on. ([https://forums.factorio.com/67282 more]) Existing blueprints containing "grass-1" will be migrated to the "landfill" tile.
* The game will load without an error when non-essential shaders fail to compile. ([https://forums.factorio.com/65107 more])
* When a player dies in the Wave defense, the free equipment will be removed from the corpse.
 
=== Minor Features ===
 
* "Make Blueprint", "Make Blueprint Book", "Make Deconstruction Planner", "Make Upgrade Planner", "Toggle Personal Roboport", and "Toggle Exoskeleton" functions are now accessible via keyboard shortcuts.
 
=== Bugfixes ===
 
* Fixed references to nonexistent noise expressions in map gen settings would crash the game.
* Fixed a crash when trying to read Lua drop-down font style names. ([https://forums.factorio.com/67379 more])
* Fixed a crash when trying to join a Steam game fails in some cases. ([https://forums.factorio.com/67366 more])
* Fixed crash related to latency hiding and undo.
* Fixed that map generation wouldn't always update to reflect modded noise expressions.
* Fixed a crash when the open GUI target would become invalidated during the same tick as autosave starting.
* Fixed that the repaired lab showed in the bonus GUI. ([https://forums.factorio.com/67320 more])
* Fixed NPE crash when Compilatron tried to place his chest. ([https://forums.factorio.com/67153 more])
* Fixed that Control+F didn't work in the trains GUI. ([https://forums.factorio.com/66253 more])
* Probably fixed GUI not responding to user input in some situations. ([https://forums.factorio.com/66210 more])
* Fixed scaling of some of the debug info text overlay. ([https://forums.factorio.com/67172 more])
* Fixed headless server would be stuck in reset loop when trying to apply an update. ([https://forums.factorio.com/67231 more])
 
=== Scripting ===
 
* Added LuaGuiElement::select_all and select methods that work for textfield and textbox.
 
== 0.17.9 ==
Date: 08.03.2019
 
=== Changes ===
 
* Disabling station with train waiting in it doesn't force the train to departure anymore so it works as it worked in 0.16. It looked like a useful change for 0.17, but we can control train conditions by circuit network and there are some nice and simple use cases were ruined by trains being forced to departure when the stop is disabled. ([https://forums.factorio.com/65109 more])
* Changed expensive version of assembling machine 2 recipe to match the normal version better. ([https://forums.factorio.com/65570 more])
 
=== Minor Features ===
 
* Added map editor support to delete items.
 
=== Bugfixes ===
 
* Fixed pipette making error sound in latency state even though you have enough items. ([https://forums.factorio.com/67002 more])
* Fixed that technologies would sometimes disappear from the technology list when added to the research queue. ([https://forums.factorio.com/65879 more])
* Fixed problems related to circuit network connection inconsistency related to undo. ([https://forums.factorio.com/67071 more])
* Fixed NPE issue where Compilatron could destroy essential buildings. ([https://forums.factorio.com/67031 more])
* Fixed NPE crash when Compilatron tells you to pick up scrap. ([https://forums.factorio.com/66241 more])
* Fixed that he bonus GUI wouldn't show personal equipment. ([https://forums.factorio.com/65618 more])
* Fixed using special-item tags would cause desyncs. ([https://forums.factorio.com/66311 more])
* Fixed NPE crash when Compilatron tries to point at an object that doesn't exist any more. ([https://forums.factorio.com/65162 more])
* Fixed Local errors in scenarios would crash the game when viewing scenarios in the GUI. ([https://forums.factorio.com/66716 more])
* Fixed that reviving and underground belt could sometimes change it's direction. ([https://forums.factorio.com/67026 more])
* Fixed a crash when using modded recipes in furnaces with fluids. ([https://forums.factorio.com/66271 more])
* Fixed that the active-version selector in the mods GUI didn't work. ([https://forums.factorio.com/66941 more])
* Fixed that randomizing map seed didn't have any effect after an exchange string was loaded. ([https://forums.factorio.com/65555 more])
* Fixed that resources wouldn't be rendered correctly in the map preview. ([https://forums.factorio.com/66525 more])
* Fixed miscalculation of peak influence in autoplace specifications with more than 2 peaks. ([https://forums.factorio.com/67040 more])
* Layout fix related to technology gui. ([https://forums.factorio.com/66868 more])
* Fixed crash when running out of space in physical texture used for streaming. High detail textures will be evicted instead. ([https://forums.factorio.com/66563 more])
* Fixed that mod settings could get scrambled/reset when adding removing or changing mods. ([https://forums.factorio.com/66669 more])
* Fixed that you could open blueprint books/armor multiple times. ([https://forums.factorio.com/67096 more])
* Fixed that the train inactivity wait condition time was limited to 120 seconds. ([https://forums.factorio.com/66974 more])
* Fixed a crash when exiting the game through the "X" button from a tutorial. ([https://forums.factorio.com/65270 more])
* Fixed the shadows of some GUIs when circuit network window is shown. ([https://forums.factorio.com/67119 more])
* Fixed menu background image would be scaled with poor quality. ([https://forums.factorio.com/67109 more])
* Fixed crash related to beam creation when the source or target is removed in the process. ([https://forums.factorio.com/67110 more])
* Fixed a hand logic related to loading a save with different mod settings which results in to the cursor being item removed.
* Fixed being unable to clear "X"(missing blueprint) icon from the quickbar. ([https://forums.factorio.com/67114 more])
* Fixed that train two stations of the same name in the train schedule could crash the game. ([https://forums.factorio.com/67066 more])
* Fixed consistency check for signal state of train on the way. ([https://forums.factorio.com/67052 more])
* Fixed issues with pipes disconnected w/o reason. Added stricter checks for new occurrences. ([https://forums.factorio.com/67057 more])
 
=== Scripting ===
 
* Added LuaSurface::min_brightness read/write.
* Added LuaEntity::get_connected_rails(), get_rail_segment_entity(), get_rail_segment_end(), get_rail_segment_length(), and get_rail_segment_overlaps().
 
== 0.17.8 ==
Date: 07.03.2019
 
=== Bugfixes ===
 
* Fixed modded multiplayer games would incorrectly show a mod-mismatch error (again). ([https://forums.factorio.com/66957 more])
* Fixed queued GUIs didn't work correctly. ([https://forums.factorio.com/66963 more])
* Fixed that terrain selectors other than 'elevation' messed with the water/island controls ([https://forums.factorio.com/66932 more])
* Fixed PvP running on_init when it was already initialised. ([https://forums.factorio.com/66970 more])
* Fixed that replacing an underground pipe by a pipe could cause fluid mixing in a special situation. ([https://forums.factorio.com/66888 more])
* Fixed that upgrading entities with the upgrade planner would erase the last-user. ([https://forums.factorio.com/67019 more])
* Fixed a crash in the update mods GUI.
* Fixed incorrect styling in the update mods GUI in some cases.
* Fixed crash when loading a save during a cutscene when following a unit. ([https://forums.factorio.com/67022 more])
 
== 0.17.7 ==
Date: 06.03.2019
 
=== Bugfixes ===
 
* Fixed game.players[#] would be treated as game.players[tostring(#)].
* Fixed inserter/mining drill interaction indications would still render for mined-in-latency-state entities.
* Fixed inserter/mining drill interaction indications wouldn't render in some cases and would ignore ghosts in some but not all cases.
* Fixed that the game would incorrectly think some mods wouldn't be required when joining multiplayer games even though they are.
* Fixed some key bindings not working correctly until game restart. ([https://forums.factorio.com/66631 more])
* Fixed a crash when changing entity ghosts with wire connections through the upgrade planner. ([https://forums.factorio.com/66861 more])
* Fixed that the prevent-robots-from-working-because-i-am-driving-too-fast logic still wouldn't work in some cases. ([https://forums.factorio.com/66190 more])
* Fixed that highly nested recipes would freeze the game. ([https://forums.factorio.com/66626 more])
* Fixed a crash when loading saves that contain connected cliffs that will be removed due to mod migrations/removals. ([https://forums.factorio.com/66637 more])
* Fixed statistics graphs crashing when releasing shift with a tooltip active. ([https://forums.factorio.com/66910 more])
* Fixed rendering of tile transitions on Sandy Bridge iGPUs for real this time. ([https://forums.factorio.com/65628 more])
* Fixed that it was possible to add a blueprint to other player's shared blueprints. ([https://forums.factorio.com/66438 more])
* Fixed that undo was not preserving ghost entity module requests. ([https://forums.factorio.com/66638 more])
* Fixed that undo was not preserving circuit connections. ([https://forums.factorio.com/66419 more])
* Fixed that un-researching technology wouldn't update GUIs correctly. ([https://forums.factorio.com/66522 more])
* Fixed PvP scenarios created in 0.16 and loaded in 0.17. ([https://forums.factorio.com/66420 more])
* Fixed PvP script error from bad migration data checking. ([https://forums.factorio.com/66876 more])
* Fixed that blueprint that was meant to disappear on Q did not after selecting and cancelling selection. ([https://forums.factorio.com/66004 more])
* Fixed persisting tooltips in the technology gui. ([https://forums.factorio.com/66176 more])
* Fixed set_quick_bar_slot not refreshing item counts in the quickbar. ([https://forums.factorio.com/66150 more])
* Fixed layouting in train configure gui with very long station names. ([https://forums.factorio.com/66841 more])
* Fixed layouting in train configure gui with too long condition translations. ([https://forums.factorio.com/66654 more])
* Squashed labels get a tooltip with the full text in a similar fashion as buttons.
* Fixed that research queue setting wouldn't export to map exchange string properly. ([https://forums.factorio.com/65417 more])
* Fixed incorrect primary screen index in graphics options GUI.
* Fixed some cases of fluid mixing related to underground pipes.
* Fixed crash related to productivity bonus and a catalyst. (When the catalyst count covers all the ingredient count). ([https://forums.factorio.com/66882 more])
* Fixed that the reset button wouldn't update after importing a map exchange string. ([https://forums.factorio.com/66608 more])
* Fixed messed up research in the NPE ([https://forums.factorio.com/66871 more])
 
=== Scripting ===
 
* Added LuaControl::ghost_cursor read/write.
 
== 0.17.6 ==
Date: 05.03.2019
 
=== Changes ===
 
* Updated map-gen-settings.example.json to use numeric multipliers, include cliff richness, and demonstrate expression overrides. ([https://forums.factorio.com/66694 more])
* It is not possible to fast-replace pipe to ground by another that is in an orthogonal direction.
* Changed mining productivity cost to 2500 increase per level to fix that the last change was actually making it 5 times less expensive towards infinity. Lower levels are cheaper on the other hand.
 
=== Bugfixes ===
 
* Fixed of loading of saves before 0.17.
* Fixed crash related to conflicting undo in multiplayer. ([https://forums.factorio.com/65656 more])
* Fixed crash related to temporary stops and destroyed rails on the path that were already passed by the train. ([https://forums.factorio.com/65540 more])
* Fixed yet another train pathing crash. ([https://forums.factorio.com/65545 more])
* Fixed the hand logic for god-mode controller. ([https://forums.factorio.com/66619 more])
* Fixed, that the hand logic could force an item to filtered slot that doesn't match it. ([https://forums.factorio.com/66610 more])
* Fixed, that filtered inventory could ignore the hand when sorting or transferring in some cases. ([https://forums.factorio.com/65612 more])
* Fixed overly generous migration of mining productivity research. ([https://forums.factorio.com/66708 more])
* Right panel sizing fixes.
* starting_area (size multiplier) in map gen settings JSON can be represented by a number.
* Fixed crash related to removing technology from the research queue. ([https://forums.factorio.com/66790 more])
* Fixed that driving backwards in vehicles wouldn't trigger the prevent-robots-from-working-because-i-am-driving-too-fast logic. ([https://forums.factorio.com/66777 more])
* Fixed crash during startup on macOS 10.12 or older with GeForce GPU. ([https://forums.factorio.com/65145 more])
* Attempt to fix tile transition rendering on Sandy Bridge iGPUs. ([https://forums.factorio.com/66035 more])
* Fixed a performance problem related to undo in multiplayer. ([https://forums.factorio.com/66235 more])
* Fixed upgrading ghost splitters wouldn't copy the splitter settings. ([https://forums.factorio.com/65346 more])
* Fixed a couple of situations where fast replacing underground pipe could cause fluid mixing. ([https://forums.factorio.com/66085 more])
* Fixed align in the blueprint library. ([https://forums.factorio.com/66789 more])
* Fixed a crash when loading modded saves related to fluidbox removal in assembling machines.
* Fixed blueprint preview would be drawn out of its bounds. ([https://forums.factorio.com/66050 more])
* Fixed the featured technology cost for upgrade technologies when the research queue is not enabled. ([https://forums.factorio.com/66713 more]).
* Fixed that search in the technology GUI would be cancelled by selecting a new research. ([https://forums.factorio.com/66775 more])
* Fixed a crash on destroying an entity with fluid energy source. ([https://forums.factorio.com/66517 more])
* Fixed a crash when deconstructing trains with inserters trying to put into them. ([https://forums.factorio.com/66614 more])
* Fixed layout of circuit and logistic control windows. ([https://forums.factorio.com/66531 more])
* Fixed that trying to join a multiplayer game too quickly would lead to a mods-mismatch error. ([https://forums.factorio.com66834 more])
* Fixed that behemoth biters didn't have resistance to acid (as all other biters have).
* Fixed NPE saves technologies were messed up by a migration in 0.17.5. ([https://forums.factorio.com/66714 more])
* Fixed NPE issue where compi smashing a building would lead to a crash in migrated saves. ([https://forums.factorio.com/66767 more])
* Fixed that it wasn't possible to access the game menu when the game was paused in multiplayer with the technology screen open. ([https://forums.factorio.com/65223 more])
 
=== Scripting ===
 
* Added LuaItemPrototype::mapper_count read.
 
== 0.17.5 ==
Date: 04.03.2019
 
=== Bugfixes ===
 
* Fixed crash related to train waypoints and very short train paths. ([https://forums.factorio.com/66095 more])
* Fixed wrong entity info positioning when all other things in the right container are disabled. ([https://forums.factorio.com/65088 more])
* Fixed Wave defense victory not being triggered in some cases.
* Fixed Wave defense victory message being printed on every rocket launch.
* Fixed restarting the game after sync-mods-with-save would fail to auto-load some saves on Windows. ([https://forums.factorio.com/66338 more])
* Fixed PvP error when loading 0.16 versions of the scenario. ([https://forums.factorio.com/66108 more])
* Fixed selection in blueprint preview would have an offset if UI scale was not 100%. ([https://forums.factorio.com/65557 more])
* Fixed pie slice used as progress indicator in crafting queue wasn't rendering for small angles. ([https://forums.factorio.com/66079 more])
* Fixed that the /time command would give back the wrong time played.
* Fixed rendered terrain would increasingly get corrupted during movement when using 16bit rendering mode on some OpenGL drivers. ([https://forums.factorio.com/65691 more])
* Fixed player.get_quick_bar_slot causing a crash for some values. ([https://forums.factorio.com/65917 more])
* Fixed controls were lagging when application window was receiving lot of events it didn't recognize on macOS or Linux. ([https://forums.factorio.com/65179 more])
* Fixed "Wait for V-Sync" graphics option was not working on macOS 10.14 Mojave.
* Fixed crash logs were missing stack traces on macOS.
* Adjusted the Supply Challenge requirements to make sense. ([https://forums.factorio.com/66291 more])
* Fixed a crash when reviving entities through the Lua API.
* Fixed NPE crash on biter commands during rebuild quest. ([https://forums.factorio.com/66586 more])
* Fixed NPE crash during cutscene if player left entity ghosts in the starting area. ([https://forums.factorio.com/66424 more])
* Fixed NPE crash on sending biters if you plaster half the map with furnaces (yes, seriously). ([https://forums.factorio.com/66369 more])
* Fixed NPE bug where Compilatron would sometimes not continue after players put the required items in his chest. ([https://forums.factorio.com/66528 more])
* Fixed that technology slot tooltip didn't reflect the cost of the selected technology in the queue.
* Fixed NPE confusing flying text at startup. ([https://forums.factorio.com/66317 more])
* Fixed that the train passed wait condition time was limited to 120 seconds. ([https://forums.factorio.com/66043 more])
* Fixed hand not disappearing from the quickbar in some situations. ([https://forums.factorio.com/66019 more])
* Fixed a crash related to the research queue. ([https://forums.factorio.com/66172 more])
* Fixed that the research queue could show incorrect research levels. ([https://forums.factorio.com/66144 more])
* Horizontal layouting fix of the mods gui. ([https://forums.factorio.com/66217 more])
* Fixed that the island related changes in the terrain settings in map generator gui weren't updated if the island preset was preselected. ([https://forums.factorio.com/65722 more])
* Fixed that custom Lua-defined shortcuts would desync the game. ([https://forums.factorio.com/66556 more])
* Fixed a crash when player is not given when using surface.deconstruct_area(). ([https://forums.factorio.com/66426 more])
* Fixed loading of blueprints containing rail temporary stations.
 
=== Modding ===
 
* Added SelectionToolPrototype flag "nothing".
* Made resource autoplace helper functions usable from mods. ([https://forums.factorio.com/66584 more])
* Added LogisticContainerPrototype::landing_location_offset.
 
=== Balancing ===
 
* Changed mining productivity technology to add 10% in one level instead of 2%, increased the formula from 100 * level to 500 * level and removed some of the low level intermediate levels.
 
=== Changes ===
 
* Blueprinting tools are no longer shown in the quickbar filter selection. ([https://forums.factorio.com/66088 more])
 
== 0.17.4 ==
Date: 01.03.2019
 
=== Bugfixes ===
 
* Fixed crashes related to Lua errors. ([https://forums.factorio.com/66007 more])
* Fixed a crash when opening the fluid wagon GUI in the map editor. ([https://forums.factorio.com/66067 more])
* Fixed that pressing "back" on the login prompt in the other settings GUI would exit the other settings GUI. ([https://forums.factorio.com/65643 more])
* Fixed that robots could get stuck when trying to upgrade in some cases. ([https://forums.factorio.com/65816 more])
* Fixed that the tooltips for tooltip times where backwards. ([https://forums.factorio.com/65085 more])
* Fixed Lua commands wouldn't work show help correctly. ([https://forums.factorio.com/66022 more])
* Fixed portable fusion reactor and rocketry tech pre-requisites - added military science pack. ([https://forums.factorio.com/66080 more])
* Fixed uranium processing tech pre-requisites - added sulfur processing. ([https://forums.factorio.com/66060 more])
* Removed ghost buildability consistency check until we properly integrate building of ghosts into the fluid mixing prevention logic.
* Fixed crash related to train pathfinding. ([https://forums.factorio.com/65950 more])
* Fixed layouting of Map Generator gui when the preview is shown. ([https://forums.factorio.com/65959 more])
* Fixed issues with rich text tags referencing entities that have no icon.
* Fixed crash related to moving blueprints from game blueprints to player blueprints. ([https://forums.factorio.com/66091 more])
* Fixed crash related listing all players while while processing event of player being removed.
* Fixed a crash related to research that would continue even though the research queue is empty. ([https://forums.factorio.com/66057 more])
* Fixed Compilatron placing a chest on top of things. ([https://forums.factorio.com/65924 more])
* Fixed crash during quest to reactivate assembler in NPE. ([https://forums.factorio.com/66122 more])
* Fixed that script render text would scale with GUI scale. ([https://forums.factorio.com/65982 more])
 
=== Modding ===
 
* Made MiningDrillPrototype::radius_visualisation_picture tintable.
 
== 0.17.3 ==
Date: 28.02.2019
 
=== Changes ===
 
* Disabled target leading for flamethrower turrets until it can be made better. ([https://forums.factorio.com/65152 more])
* Changed train pathfinding in a way, that it can find path that ends in the same segment where it started. This worked only for the trivial case of all path of one segment before.
 
=== Bugfixes ===
 
* Fixed possible crash related to browsing in the mods gui.
* Fixed that turning off exoskeletons didn't work correctly in multiplayer.
* Fixed shaking of blueprint preview in blueprint book tooltip. ([https://forums.factorio.com/65594 more])
* Fixed the wrong detection of changed autosave interval in other settings. ([https://forums.factorio.com/65626 more])
* Fixed /help *command* would print a number instead of the help message. ([https://forums.factorio.com/65695 more])
* Fixed a crash when dying with the locomotive GUI open. ([https://forums.factorio.com/65705 more])
* Fixed a crash when using sprite variation sheets with mismatched frame counts. ([https://forums.factorio.com/65634 more])
* Fixed that the admin-only portions of the whitelist command where not localised correctly. ([https://forums.factorio.com/65792 more])
* Fixed building underground pipe between pipes with different fluids. ([https://forums.factorio.com/65607 more])
* Fixed visual direction of fluid flow. ([https://forums.factorio.com/65486 more])
* Fixed dead-dry-hairy-tree and dry-hairy sprite shifting in normal resolution. ([https://forums.factorio.com/65593 more])
* Fixed PvP error when changing enabled mods. ([https://forums.factorio.com/65652 more])
* Fixed number pad Enter key-bindings would be converted to normal Enter when restarting the game. ([https://forums.factorio.com/65568 more])
* Fixed small worms having fluid consumption. ([https://forums.factorio.com/65870 more])
* Fixed that copy-paste of fluid recipes would sometimes not reset fluid box contents. ([https://forums.factorio.com/65609 more])
* Fixed that double-clicking a technology in the tree view wouldn't start research. ([https://forums.factorio.com/65335 more])
* Fixed pipes that would sometimes be too noisy. ([https://forums.factorio.com/65670 more])
* Fixed that you could build multiple underground belts on top of each-other. ([https://forums.factorio.com/65828 more])
* Fixed tightspot level 5 was unbeatable. ([https://forums.factorio.com/65629 more])
* Added workaround for GPU accelerated texture compression producing corrupted textures. ([https://forums.factorio.com/65336 more])
* Fixed that the technology window scroll position would keep getting reset. ([https://forums.factorio.com/65160 more])
* Fixed that the current research panel would not update in multiplayer if some other player changed the research. ([https://forums.factorio.com/65185 more])
* Fixed terrain not being rendered when using OpenGL and any game overlay was enabled. ([https://forums.factorio.com/65096 more])
 
=== Modding ===
 
* Added LoaderPrototype::structure_render_layer with default value "lower-object". ([https://forums.factorio.com/65627 more])
 
== 0.17.2 ==
Date: 27.02.2019
 
=== Changes ===
 
* Reverted default renderer on Windows to Direct3D on all configurations.
* All infinite technologies have Space science pack as a pre-requisite.
* Added textual error message when player tries to clean cursor but it isn't possible as inventory is full.
* Added /unlock-shortcut-bar console command to unlock all shortcuts at once. This command does not disable achievements.
* Keyboard shortcut for in-game undo feature will default to Ctrl+W on AZERTY keyboard layouts. ([https://forums.factorio.com/65083 more])
* Control settings will revert to defaults when starting the game with pre-0.17.2 config with AZERTY keyboard layout.
 
=== Bugfixes ===
 
* Fixed Join Game through Steam Friend would fail to connect to a game with an error saying Steam Networking is disabled.
* Fixed LuaGameScript::take_technology_screenshot() would crash the game.
* Fixed a crash when trying to use async-saving when hosting multiplayer games on Windows. ([https://forums.factorio.com/65146 more])
* Fixed electric mining drill coverage area visualization was not drawn correctly. ([https://forums.factorio.com/65249 more])
* Fixed missing sprites on DirectX on GPUs supporting only feature level 10.0. ([https://forums.factorio.com/65263 more])
* Fixed that the GUI would be hidden if the game was saved and loaded while the technology GUI was open. ([https://forums.factorio.com/65274 more])
* Fixed a crash related to non gun/weapon items getting into the gun/weapon inventories. ([https://forums.factorio.com/65339 more])
* Fixed a crash when bringing up the escape menu in multiplayer while in the middle of using blueprints/deconstruction. ([https://forums.factorio.com/65256 more])
* Fixed a crash when mining ghosts built in the latency state. ([https://forums.factorio.com/65361 more])
* Fixed every incremental change of sound volume would save the full config file. ([https://forums.factorio.com/65318 more])
* Fixed that the category dropdown in the install mods GUI would only work the first time it was used. ([https://forums.factorio.com/65398 more])
* Fixed that mod thumbnails in zipped mods wouldn't show in the mods GUI. ([https://forums.factorio.com/65419 more])
* Fixed pre-requisites for the first tier of all upgrade technologies so that the required science packs are unlocked first. ([https://forums.factorio.com/65379 more])
* Fixed electric inserter technology description in the tutorial. ([https://forums.factorio.com/65229 more])
* Fixed that the undo shortcut tooltip didn't reflect latency hiding values and invalid entries filtering.
* Fixed a desync when deconstructing item request proxies in the latency state. ([https://forums.factorio.com/65420 more])
* Fixed crash related to the hand logic and switching controllers. ([https://forums.factorio.com/65330 more])
* Fixed a crash when lamp with non-electrical energy source (modded) is viewed in the blueprint preview/tooltip.
* Fixed that read-only multi-line text boxes wouldn't wrap text. ([https://forums.factorio.com/65413 more])
* Fixed that the fast and express loader entity icons had the wrong colors. ([https://forums.factorio.com/65347 more])
* Fixed that the autosave interval setting was off by one. ([https://forums.factorio.com/65373 more])
* Fixed map preview would not be cleared to black before preview is generated on some PCs. ([https://forums.factorio.com/65423 more])
* Fixed that active blueprint in a book was not preserved when using the book directly from the blueprint library. ([https://forums.factorio.com/65258 more])
* Fixed that the tutorial specific assembler was shown in the "made in in" row in the crafting queue tooltip. ([https://forums.factorio.com/65447 more])
* Fixed that the map type selection changed done by reset or changing the preset didn't update the sliders properly. ([https://forums.factorio.com/65077 more])
* Fixed a rare issue with migration of fluid mixing in a modded save. ([https://forums.factorio.com/65137 more])
* Fixed that the provided map-gen-settings.example.json contained invalid settings. ([https://forums.factorio.com/65311 more])
* Fixed that checking for updates could crash the game. ([https://forums.factorio.com/65264 more])
* Solved, that blueprint library link from quickbar appeared as an empty slot when the target blueprint wasn't available anymore and it wasn't possible to assign a new item to it.
* Fixed PvP scenario error when updating space race frame with no silos present. ([https://forums.factorio.com/65492 more])
* Fixed drawing of some wires and wire shadows ([https://forums.factorio.com/65469 more])
* Fixed a possibility to mix fluid through fast replacing / upgrading a pipe with underground pipe. ([https://forums.factorio.com/65298 more])
* Fixed drawing of some wires and wire shadows. ([https://forums.factorio.com/65469 more])
* Fixed crash when opening the map generator preview for the first time with invalid settings. ([https://forums.factorio.com/65434 more])
 
=== Modding ===
 
* Renamed EntityPrototypeFlag "hide-from-bonus-gui" to "hidden" and made it also hide entities from the made in property of recipe tooltips.
 
== 0.17.1 ==
Date: 26.02.2019
 
=== Modding ===
 
* Added shortcut bar shortcut type that fires Lua events, for use in mods
 
=== Scripting ===
 
* Added LuaPlayer::is_shortcut_toggled, LuaPlayer::is_shortcut_available, LuaPlayer::set_shortcut_toggled, LuaPlayer::set_shortcut_available
* Added on_lua_shortcut event.
 
=== Bugfixes ===
 
* Missing description.json in the campaign folder results into the folder being ignored instead of a crash.
* Fixed crash when trying to rotate quickbars with a controller that doesn't have it.
* Fixed crash when trying to open surface map generation settings.
* Fixed possible crash related to copy paste and multiplayer.
* Fixed it wasn't possible to use capital 'Z' in save name. ([https://forums.factorio.com/65075 more])
* Fixed the infinity chest graphics.
* Fixed that the boiler didn't rotate in blueprints.
* Fixed that the bait chest showed in the upgrade planner.
* Fixed high CPU usage when using steam networking.
 
== 0.17.0 ==
Date: 26. 02. 2019
 
=== Major Features ===
 
* New quickbar (more in Gui section)
* Added shortcut bar that allows quick access to certain game features, such as toggling alt mode, creating blueprints, or turning off personal roboport
* New gui style with final version of some parts of the GUI (More in Gui section)
* Added clipboard functionality. (Control + C, Control + X, Control + V activate appropriate tools) Shift + mouse wheel allows to cycle the clipboard history.
* Added undo functionality (Control + Z). Supports manual entity building and by blueprints and manual mining and usage of deconstruction planner.
* Reworked the Map Editor so it's now part of the standard game and can be toggled at will using the '/editor' command.
* Support for mod synchronisation when joining multiplayer game. Works as long as the used mods are on the mod portal.
* Fight changes. Enemy projectiles are dodgeable and slowdown/damage the target over time. They also leave splashes on ground that have the same effect.
* Rich text tags. These tags can be used almost anywhere: Chat, station names, save names, custom ui and probably a few places we didn't think of.
** They allow changing color, font, images and location/blueprint/armor/station/locomotive linking through chat. (More in features)
* Fluid mixing prevention. Actions that fail as they would lead to fluid mixing (like building a pipe, changing recipe, rotating etc.) produce an error message as flying text.
* Replaced First steps campaign with Introduction campaign, available from the Start campaign menu.
=== Features ===
* Trains can be blueprinted and deconstructed.
* Trains can be given temporary stations (by Control+clicking the map). Temporary station is automatically removed once the train departures from it.
* Train stops without conditions work as waypoints. (the train doesn't stop at those)
* Added Passenger present and Passenger not present wait condition to the train conditions.
* If building of entity/blueprint fails, the reason of it is pinged as flying text.
* Map pings. Ctrl+Alt+click on the map to show a ping in all players maps at that location.
* Basic image tags format is [img=<image path>] where image path can use item, entity, technology, recipe, item-group, fluid tile, virtual signal achievement or utility icon.
** For example [img=item/iron-plate] or [img=item.iron-plate]. The "." instead of "/" usage is to make it usable in save names.
** Additionally, items/entities/technologies/recipe/item-group/fluid/tile/virtual signal or achievement can be linked directly by [item=iron-plate], [recipe=iron-plate], or [entity=small-biter] to provide tooltip for the appropriate object.
* Blueprint/special item tags.
** Shift clicking the icon in chat will create an item and place it in the cursor.
** Format is [special-item=blueprint string], eg: [special-item=0eNp1jtEKwjAMRX9l5rnCxkShvyIi3YxboU1Lm4lj9N9N54sv5iFwL/eeZIPBLRiTJQa9gR0DZdDXDbKdyLjq8RoRNFhGDwrI+Ko4GcoxJD4O6BiKAksPfIPuyk0BElu2+CXtYr3T4gdMEvjHUBBDllqgelVQrYJVdqnE/br+eVaBM1ITb0bnQvNMwTc8YzPOhiZ0YTpI5oUp78BL33YnmbY/l/IBb4pSQQ==].
** These tags also work with deconstruction and upgrade planners.
* Map ping tags: Created by shift-clicking the ground/map when the chat is open. Format is [gps=x,y], eg [gps=10,30] will show a map ping in all players maps at location 10,30.
** Clicking the icon in chat will open the map on the specified location.
* Font tags: Format is [font=debug-mono]mono text[/font].
* Color tags: Format is [color=1,0,0]red text[/font]
* Fast replacing pipes by pipes to ground similar to underground belts.
* When multiple versions of the same mod are installed you can select which version you want to use.
* The sync mods with save/multiplayer game feature can now sync mod startup settings as well as mods.
* Added support to import and export permissions.
* Closing opened items (blueprint books/armor) now remembers what GUI you previously had open.
* Filter inserters can be set to whitelist or blacklist filters.
* Added belt immunity equipment.
* Added upgrade planner.
* Added steam networking support for steam users.
* Added RGB support for Logitech hardware.
* Robots can blow up cliffs.
* Wave defense scenario has been reworked to support multiple rounds and a procedurally generated map.
* Added a research queue that becomes available after the player has finished the game by launching a rocket with satellite.
 
=== Minor Features ===
 
* Warning icon for automated trains that are out of fuel.
* Added 250 and 1000 hours precision intervals into statistics.
* Using deconstruction planner is incorporated in the latency hiding.
* Changed personal roboports so they won't send construction robots if you're driving in a vehicle that they can't keep up with or if in a train in automatic mode.
* Added an option to ignore mouse events when using accessibility zoom feature on macOS.
* Added support to change multiplayer config settings runtime.
* Added support to edit the whitelist, banlist, and admin list when hosting a multiplayer game.
* Added the Admin GUI (openable through /admin in the console) to manage multiplayer players.
* Landfill can be built by robots and be included in blueprints.
* Blueprint items taken from blueprint library will not move to player inventory when Q is pressed, but can be moved to any slot explicitly. (Same as with clipboard items)
* When selecting any item to the cursor from some of the player inventories. As long as the item is being held, hand icon is shown on the slot it was taken from. The hand prevents any other item to be inserted into the slot as long as the player cursor isn't cleared.
* When holding radar in cursor, area covered by existing radars is also highlighted on minimap.
* Configurable (in gui), the count of rolling stocks shown in the train visualization.
* Added two levels of shallow water tiles (only placed by map editor, not generated). Enemies and vehicles can travel over shallow water.
 
=== Graphics ===
 
* New graphics for:
** accumulator
** biters, spitters, worms, spawners
** chests
** electric poles and substation
** map edge transitions
** rocket silo
** transport belts, underground belts, splitters and transport belt circuit connector
** trees
** turrets (gun, flamethrower and laser)
** walls and gates
* laser turrets, personal laser defense and distractor robots now use new laser beams.
* Highlighting inserters that would interact with selected/previewed entity.
* Showing shield bars above health bar for relevant entities.
* Single vertical pipe is shorter.
 
=== Gui ===
 
* New final versions of several important GUI screens (Quick bar, Train Schedule, Load/Save Game, Settings, Map Generator, Research, Mods)
** Other screens than the mentioned ones (more than 100) have inconsistencies and will be updated in future minor updates.
* The quickbar is no longer an inventory, instead it can only hold shortcuts it items in inventory or blueprint library.
** The quickbar now has 10 pages of shortcuts.
** Player inventory increased by 20 slots to compensate. Toolbelt research further increases the player inventory.
* In the map, station and tag selection is now visualized by the standard Factorio selection box graphics instead of highlighting.
* Added interface option: When selecting a buildable item from the quickbar or when using the pipette tool, if you have no items of that type, a ghost will be placed in the cursor instead.
* When something is not buildable (manual or blueprint building), the reason of why it isn't buildable is shown as flying text over the cursor when the build is attempted.
* Only compatible results of a furnace are manually placeable in the result slot. (Mainly to avoid confusion of new players)
 
=== Optimisations ===


== 0.17.0 ==
Date: 26. 02. 2019
=== Major Features ===
* New quickbar (more in Gui section)
* Added shortcut bar that allows quick access to certain game features, such as toggling alt mode, creating blueprints, or turning off personal roboport
* New gui style with final version of some parts of the GUI (More in Gui section)
* Added clipboard functionality. (Control + C, Control + X, Control + V activate appropriate tools) Shift + mouse wheel allows to cycle the clipboard history.
* Added undo functionality (Control + Z). Supports manual entity building and by blueprints and manual mining and usage of deconstruction planner.
* Reworked the Map Editor so it's now part of the standard game and can be toggled at will using the '/editor' command.
* Support for mod synchronisation when joining multiplayer game. Works as long as the used mods are on the mod portal.
* Fight changes. Enemy projectiles are dodgeable and slowdown/damage the target over time. They also leave splashes on ground that have the same effect.
* Rich text tags. These tags can be used almost anywhere: Chat, station names, save names, custom ui and probably a few places we didn't think of.
** They allow changing color, font, images and location/blueprint/armor/station/locomotive linking through chat. (More in features)
* Fluid mixing prevention. Actions that fail as they would lead to fluid mixing (like building a pipe, changing recipe, rotating etc.) produce an error message as flying text.
* Replaced First steps campaign with Introduction campaign, available from the Start campaign menu.
=== Features ===
* Trains can be blueprinted and deconstructed.
* Trains can be given temporary stations (by Control+clicking the map). Temporary station is automatically removed once the train departures from it.
* Train stops without conditions work as waypoints. (the train doesn't stop at those)
* Added Passenger present and Passenger not present wait condition to the train conditions.
* If building of entity/blueprint fails, the reason of it is pinged as flying text.
* Map pings. Ctrl+Alt+click on the map to show a ping in all players maps at that location.
* Basic image tags format is [img=<image path>] where image path can use item, entity, technology, recipe, item-group, fluid tile, virtual signal achievement or utility icon.
** For example [img=item/iron-plate] or [img=item.iron-plate]. The "." instead of "/" usage is to make it usable in save names.
** Additionally, items/entities/technologies/recipe/item-group/fluid/tile/virtual signal or achievement can be linked directly by [item=iron-plate], [recipe=iron-plate], or [entity=small-biter] to provide tooltip for the appropriate object.
* Blueprint/special item tags.
** Shift clicking the icon in chat will create an item and place it in the cursor.
** Format is [special-item=blueprint string], eg: [special-item=0eNp1jtEKwjAMRX9l5rnCxkShvyIi3YxboU1Lm4lj9N9N54sv5iFwL/eeZIPBLRiTJQa9gR0DZdDXDbKdyLjq8RoRNFhGDwrI+Ko4GcoxJD4O6BiKAksPfIPuyk0BElu2+CXtYr3T4gdMEvjHUBBDllqgelVQrYJVdqnE/br+eVaBM1ITb0bnQvNMwTc8YzPOhiZ0YTpI5oUp78BL33YnmbY/l/IBb4pSQQ==].
** These tags also work with deconstruction and upgrade planners.
* Map ping tags: Created by shift-clicking the ground/map when the chat is open. Format is [gps=x,y], eg [gps=10,30] will show a map ping in all players maps at location 10,30.
** Clicking the icon in chat will open the map on the specified location.
* Font tags: Format is [font=debug-mono]mono text[/font].
* Color tags: Format is [color=1,0,0]red text[/font]
* Fast replacing pipes by pipes to ground similar to underground belts.
* When multiple versions of the same mod are installed you can select which version you want to use.
* The sync mods with save/multiplayer game feature can now sync mod startup settings as well as mods.
* Added support to import and export permissions.
* Closing opened items (blueprint books/armor) now remembers what GUI you previously had open.
* Filter inserters can be set to whitelist or blacklist filters.
* Added belt immunity equipment.
* Added upgrade planner.
* Added steam networking support for steam users.
* Added RGB support for Logitech hardware.
* Robots can blow up cliffs.
* Wave defense scenario has been reworked to support multiple rounds and a procedurally generated map.
* Added a research queue that becomes available after the player has finished the game by launching a rocket with satellite.
=== Minor Features ===
* Warning icon for automated trains that are out of fuel.
* Added 250 and 1000 hours precision intervals into statistics.
* Using deconstruction planner is incorporated in the latency hiding.
* Changed personal roboports so they won't send construction robots if you're driving in a vehicle that they can't keep up with or if in a train in automatic mode.
* Added an option to ignore mouse events when using accessibility zoom feature on macOS.
* Added support to change multiplayer config settings runtime.
* Added support to edit the whitelist, banlist, and admin list when hosting a multiplayer game.
* Added the Admin GUI (openable through /admin in the console) to manage multiplayer players.
* Landfill can be built by robots and be included in blueprints.
* Blueprint items taken from blueprint library will not move to player inventory when Q is pressed, but can be moved to any slot explicitly. (Same as with clipboard items)
* When selecting any item to the cursor from some of the player inventories. As long as the item is being held, hand icon is shown on the slot it was taken from. The hand prevents any other item to be inserted into the slot as long as the player cursor isn't cleared.
* When holding radar in cursor, area covered by existing radars is also highlighted on minimap.
* Configurable (in gui), the count of rolling stocks shown in the train visualization.
* Added two levels of shallow water tiles (only placed by map editor, not generated). Enemies and vehicles can travel over shallow water.
=== Graphics ===
* New graphics for:
** accumulator
** biters, spitters, worms, spawners
** chests
** electric poles and substation
** map edge transitions
** rocket silo
** transport belts, underground belts, splitters and transport belt circuit connector
** trees
** turrets (gun, flamethrower and laser)
** walls and gates
* laser turrets, personal laser defense and distractor robots now use new laser beams.
* Highlighting inserters that would interact with selected/previewed entity.
* Showing shield bars above health bar for relevant entities.
* Single vertical pipe is shorter.
=== Gui ===
* New final versions of several important GUI screens (Quick bar, Train Schedule, Load/Save Game, Settings, Map Generator, Research, Mods)
** Other screens than the mentioned ones (more than 100) have inconsistencies and will be updated in future minor updates.
* The quickbar is no longer an inventory, instead it can only hold shortcuts it items in inventory or blueprint library.
** The quickbar now has 10 pages of shortcuts.
** Player inventory increased by 20 slots to compensate. Toolbelt research further increases the player inventory.
* In the map, station and tag selection is now visualized by the standard Factorio selection box graphics instead of highlighting.
* Added interface option: When selecting a buildable item from the quickbar or when using the pipette tool, if you have no items of that type, a ghost will be placed in the cursor instead.
* When something is not buildable (manual or blueprint building), the reason of why it isn't buildable is shown as flying text over the cursor when the build is attempted.
* Only compatible results of a furnace are manually placeable in the result slot. (Mainly to avoid confusion of new players)
=== Optimisations ===
* Modernized and optimized rendering backend. The game now uses DirectX 11 or OpenGL 3.3 Core and requires DirectX 10 class graphics card.
* Modernized and optimized rendering backend. The game now uses DirectX 11 or OpenGL 3.3 Core and requires DirectX 10 class graphics card.
* DirectX backend doesn't keep backup of all sprites in RAM anymore.
* DirectX backend doesn't keep backup of all sprites in RAM anymore.
Line 1,228: Line 2,620:
* Optimized rendering of logistic overlay when zoomed in to map. ([https://forums.factorio.com/60659 more])
* Optimized rendering of logistic overlay when zoomed in to map. ([https://forums.factorio.com/60659 more])
* Optimized rendering of turret ranges when zoomed in to map. ([https://forums.factorio.com/58991 more])
* Optimized rendering of turret ranges when zoomed in to map. ([https://forums.factorio.com/58991 more])
=== Changes ===
=== Changes ===
* Resource generation changed significantly:
* Resource generation changed significantly:
** The starting area contains only iron, copper, coal and stone, in very predictable amounts. Uranium and oil are excluded from the starting area.
** The starting area contains only iron, copper, coal and stone, in very predictable amounts. Uranium and oil are excluded from the starting area.
Line 1,287: Line 2,681:
* Placing entities or paths removes tree stumps and biter corpses.
* Placing entities or paths removes tree stumps and biter corpses.
* Removed New Hope campaign.
* Removed New Hope campaign.
=== Balancing ===
=== Balancing ===
* Technology pre-requisites tweaked so the unlocked item(s) always have all the ingredients already unlocked as well. This means many small changes.
* Technology pre-requisites tweaked so the unlocked item(s) always have all the ingredients already unlocked as well. This means many small changes.
* Science pack names changed:
* Science pack names changed:
Line 1,350: Line 2,746:
* Relative fuel value of nuclear fuel doubled.
* Relative fuel value of nuclear fuel doubled.
* Relative fuel value of rocket fuel decreased by 10.6%, relative value of solid fuel decreased by 4%.
* Relative fuel value of rocket fuel decreased by 10.6%, relative value of solid fuel decreased by 4%.
=== Combat Balancing ===
=== Combat Balancing ===
* All military damage/shooting speed upgrade technologies merged into 7 technologies:
* All military damage/shooting speed upgrade technologies merged into 7 technologies:
** Physical projectile damage 1-6 + infinite
** Physical projectile damage 1-6 + infinite
Line 1,388: Line 2,786:
* Changed spawner pollution absorption logic so that all the pollution on a chunk doesn't build up un-spent in a single spawner.
* Changed spawner pollution absorption logic so that all the pollution on a chunk doesn't build up un-spent in a single spawner.
* Removed damage bonus of tank machine gun.
* Removed damage bonus of tank machine gun.
=== Bugfixes ===
=== Bugfixes ===
* Fixed that canceling production in assembling machine did return the products in progress.
* Fixed that canceling production in assembling machine did return the products in progress.
* Fixed biters were unable to run against movement of belts.
* Fixed biters were unable to run against movement of belts.
Line 1,467: Line 2,867:
* Force space between spawners and worms in biter bases so they don't get stuck so much.
* Force space between spawners and worms in biter bases so they don't get stuck so much.
* Fixed trivial-smoke would be rendered for some time after its lifetime ended.
* Fixed trivial-smoke would be rendered for some time after its lifetime ended.
=== Modding ===
=== Modding ===
* Added a new entity type "infinity-pipe" that automatically adds/removes fluid from itself; similar to the infinity-chest.
* Added a new entity type "infinity-pipe" that automatically adds/removes fluid from itself; similar to the infinity-chest.
* Added a new entity type "heat-interface" that automatically sets its own temperature.
* Added a new entity type "heat-interface" that automatically sets its own temperature.
Line 1,531: Line 2,933:
* Removed the "default-" prefix from core NamedNoiseExpressions; property_expression_names in MapGenSettings simply override the expression named by the key.
* Removed the "default-" prefix from core NamedNoiseExpressions; property_expression_names in MapGenSettings simply override the expression named by the key.
* Removed ItemPrototypeFlags "goes-to-main-inventory" and "goes-to-quickbar".
* Removed ItemPrototypeFlags "goes-to-main-inventory" and "goes-to-quickbar".
=== Scripting ===
=== Scripting ===
* Added LuaRendering accessed via the lua global "rendering".
* Added LuaRendering accessed via the lua global "rendering".
* Added LuaEntity::get_infinity_pipe_filter() and set_infinity_pipe_filter().
* Added LuaEntity::get_infinity_pipe_filter() and set_infinity_pipe_filter().
Line 1,701: Line 3,105:
* Removed LuaFluidPrototype::pressure_to_speed_ratio and flow_to_energy_ratio.
* Removed LuaFluidPrototype::pressure_to_speed_ratio and flow_to_energy_ratio.


{{VersionNav}}
{{VersionNav}}__NOTOC__

Revision as of 14:28, 19 November 2019

0.17.79

Date: 19.11.2019

Bugfixes

  • Fixed that the infinity pipe mode could sometimes reset when changing other infinity pipe settings. (more)
  • Fixed that electric energy interfaces didn't consume power correctly. (more)
  • Fixed market GUI not showing price in the tooltips of modifiers. (more)
  • Fixed market GUI showing empty price property in the tooltips when no price is set.
  • Fixed lights render quality slider in graphics settings missing tooltip. (more)

0.17.78

Date: 15.11.2019

Bugfixes

  • Fixed a desync related to biter pathfinding. (more)

0.17.77

Date: 14.11.2019

Changes

  • When a team loses in PvP, all their characters will die.
  • Technology GUI shows saved progress of partially-researched technologies.

Bugfixes

  • Fixed a crash when when loading modded saves that had construction robots working on modded entities.
  • Fixed that 'corpses' and 'dying_explosion' wouldn't be created on the correct force. (more)
  • Fixed that LuaEntity::get_fuel_inventory() didn't work on burner pumps. (more)
  • Fixed ammo turret tooltip not showing the damage bonus correctly. (more)
  • Fixed fluid name and amount not being shown when the tooltip is on the side. (more)
  • Show how module energy consumption is applied more clearly in the tooltips. (more)
  • Fixed several issues related to modded reactors set to use electric energy. (more)
  • Fixed spitters were not able to destroy trees and rocks. (more)
  • Fixed that shift+click recipes in cheat mode wasn't able to handle recipes that included fluids but still only produced 1 item result. (more)
  • Fixed a difference in map editor paused vs unpaused game ticking related to enabled/disabled train stops. (more)
  • Fixed that produce item per hour achievements could not be progressed. (more)
  • Fixed an issue with reading localised strings in Lua. (more)
  • Fixed that right clicking to add 1 item to assembling machines had no limit. (more)
  • Fixed that teleporting players/cars between surfaces would invalidate lua references to them.
  • Fixed a crash with trains that had wheels.direction_count = 0. (more)
  • Fixed statistics not counting items correctly on large intervals when a large number of items are produced/consumed. (more)
  • Fixed Beacon ghost tooltip missing some information. (more)
  • Fixed ghost tooltips not showing correct max energy consumption.
  • Fixed tooltips for tile creating items showing wrong title. (more)
  • Fixed blueprint strings not saving empty values for some circuit network settings. (more)
  • Fixed PvP config import would always append the default item and equipment lists. (more)
  • Fixed that creating infinity chests with logistic_mode set would ignore request filters. (more)

Scripting

  • Added LuaEntity::command, LuaEntity::distraction_command, LuaUnitGroup::command, and LuaUnitGroup::distraction_command reads.
  • Added LuaUnitGroup::is_script_driven read.

Modding

  • Changed RollingStockPrototype::wheels to be optional.

0.17.76

Date: 07.11.2019

Changes

  • Energy consumption is no longer shown in the tooltip for void energy sources.

Bugfixes

  • Fixed a bug in NPE where Compilatron would sometimes loop around smashing things. (more)
  • Fixed possibility of dying just before a cutscene in NPE, which would lead to a crash. (more)
  • Fixed game crashing in NPE if it can't find anywhere to spawn a biter. (more)
  • Fixed using dark coal icon on dark speech bubble background. (more)
  • Fixed a crash when loading modded saves without the mod when you had entities marked to be upgraded to the now removed modded items but the entity is still valid.
  • Fixed incorrect string for "Fuel Pollution" in tooltip. (more)
  • Fixed tooltip not showing max consumption correctly when using modules. (more)
  • Fixed battery equipment and accumulator tooltips showing wrong input flow limit when it's unlimited. (more)
  • Fixed item tooltips not showing custom_description. (more)
  • Fixed some item tooltips having incorrect title or description.
  • Fixed that hovering over a logistic request didn't highlight inventory items. (more)
  • Fixed pump tooltip not showing pumped amount when pumping from a fluid wagon. (more)
  • Show the products of a recipe more clearly when the product has a probability and/or an interval defined. (more)
  • Fixed a crash when restarting the game after it failed to load modded fluidboxes. (more)
  • Fixed tech tree quantity icon being shown incorrectly. (more)
  • Fixed an exploit related to upgrading ghosts while a robot is trying to work on them. (more)
  • Fixed target leading logic would cause turret to shoot outside of its range sometimes. (more)

Modding

  • Added AmmoTurretPrototype::entity_info_icon_shift.

0.17.75

Date: 04.11.2019

Features

  • Construction robots will attempt to batch build tiles.

Changes

  • Tooltips reworked. They now have a new structure and look.
  • Properties in tooltips have been reorganized and reworked. Common properties have been added to categories.
  • Added more information to tooltips, for example to be able to calculate steam power and nuclear ratios.
  • Recipe and item tooltips are now separate. Item tooltips will be shown for each product in the recipe, if relevant.
  • Descriptions and Total Raw can be hidden using the interface setting.
  • Reorganized the interface settings menu.

Bugfixes

  • Fixed a crash when switching between the map editor and the ghost controller type. (more)
  • Fixed car movement animation played forwards when reversing. (more)
  • Fixed a crash related to using LuaCustomTables incorrectly. (more)
  • Fixed that accumulators wouldn't copy circuit signals correctly in some cases. (more)
  • Fixed a crash related to removing all collision masks from rails. (more)

Modding

  • Added ProductPrototype::show_details_in_recipe_tooltip. It determines if a product tooltip should be shown when hovering a recipe.

Scripting

  • Added filtering support for several common Lua events.
  • Added LuaEntity::logistic_network write for construction and logistic robots.
  • Added "lifetime" optional entity creation parameter for speech-bubble entities.
  • Added LuaEntityPrototype::max_distance_of_sector_revealed and max_distance_of_nearby_sector_revealed read.
  • Changed RecipePrototype so it calculates catalyst from ingredients and products automatically if not manually defined.

0.17.74

Date: 25.10.2019

Bugfixes

  • Fixed crafter would not reconnect heat energy source after rotate in some cases. (more)
  • Fixed a crash when adding science pack types to labs. (more)
  • Fixed a crash related to text boxes and clearing them with selected text. (more)

0.17.73

Date: 24.10.2019

Graphics

  • Extended transport belt sprites a little bit to avoid rendering glitches at some zoom levels.

Bugfixes

  • Added missing max_work_done_per_tick in map-settings.example.json. (more)
  • Fixed that accumulator settings could not be copy-pasted. (more)
  • Fixed that generators could rotate and render incorrectly. (more)
  • Fixed bad quest GUI in NPE. (more)
  • Fixed a crash related to the map editor "recipe locked" setting for assembling machines. (more)
  • Fixed that Military science pack was sorted after Chemical science pack in the Lab GUI.
  • Fixed low quality texture compression would create major artifacts on some sprites. (more)
  • Fixed a crash when reading storage_filter on infinity chests. (more)
  • Fixed a crash when reading LuaEntity::tree_stage_index_max in some cases. (more)
  • Changed blueprinting selection previews to include both tile ghosts and tiles when only tile ghost entities are being selected. (more)
  • Fixed a crash that could happen when path_resolution_modifier was set to very low values. (more)

Modding

  • Changed input_flow_limit and output_flow_limit so 0 means 0 instead of unlimited (no value still means unlimited).

Scripting

  • Added LuaEntity::driver_is_gunner read/write.

Balancing

  • Changed: Amount of copper-cable in Introduction scenario crash site.
  • Changed: Increased minimum size of a resource deposit to 100 in the Introduction scenario.

0.17.72

Date: 18.10.2019

Bugfixes

  • Fixed another biter-related crash. (more)

0.17.71

Date: 16.10.2019

Bugfixes

  • Fixed a crash that would happen on loading certain saves made in previous versions. (more)
  • Fixed entity selection could desync from mouse cursor when switching to cutscene controller in multiplayer. (more)

0.17.70

Date: 15.10.2019

Features

  • Added interface option to adjust the number of shortcut bar rows that are visible on the screen.
  • Added ability to shift click a research in the technology screen to start that research.
  • Allowed setting filters with the ghost cursor.

Changes

Graphics

  • Added new remnants for several entities. They are still work-in-progress and subject to further change.

Bugfixes

  • Excluding runtime fluid mixing check from assembler migration that caused some crashes when loading a save with mixing in it.
  • Fixed landfill map color on old saves. (more)
  • Added migration to recalculate tile transitions when tile layer definition changes in tile prototype. (more)
  • Fixed that artillery remote failure sounds could be duplicated in some cases. (more)
  • Fixed that the game would still process mod dependencies for disabled mods. (more)
  • Fixed that underground pipes with different length could sometimes connect one tile further.
  • Fixed that the cursor would appear in the wrong position after textbox alignment was changed by scripting. (more)
  • Fixed placement of scrollbars around textboxes. (more)
  • Fixed a crash related to teleporting biters during the ai-completed events. (more)
  • Fixed that non-square crafting machines without fluid boxes didn't rotate correctly. (more)
  • Fixed that the game would freeze when trying to find automatic artillery targets with very high levels of artillery range. (more)
  • Fixed tile ghosts sometimes overlapped on edges which created visible lines. (more)
  • Fixed that the on_gui_switch_state_changed event would fire twice in some cases. (more)
  • Fixed wrong damage bonus values in tooltips of combat robots and units in a different force. (more)
  • Fixed that the research screen would show a technology as "available" when it was queued. (more)
  • Fixed that LuaEntity::last_user didn't support writing `nil`. (more)
  • Fixed that mod GUIs could show on top of the technology screen after loading a save. (more)
  • Fixed a crash when using the /screenshot command. (more)
  • Fixed that the --disable-migration-window command line option didn't always work. (more)
  • Fixed that pumps had a drain when using a non-electric energy source. (more)
  • Fixed a bug in fluid system splitting.
  • Changed order of pipe connections to avoid previous cases of fluid mixing. A.k.a Boskid's deferred pipes.
  • Offshore pumps now set fluid filter automatically based on produced fluid. (more)
  • Fixed crash when closing shortcut selection list while dragging. (more)
  • Fixed that biters could get overloaded by artillery and stop moving. (more)
  • Fixed that biters could get stuck during attacks. (more)
  • Fixed that biter pathfinding could cause unreasonably large save files. (more)
  • Fixed that biters would attack in a single file due to their colliding with each other. (more)
  • Fixed that personal roboports would function with literally no power.
  • Fixed migrating pre-0.17 maps with detached characters that had a grid armor in quick bar would corrupt game state. (more)

Modding

  • Added optional flying robot prototype property "max_speed".
  • Added light_renderer_search_distance_limit to utility constants.

Scripting

  • Changed LuaEntity::color to also work for cars.
  • Changed LuaStyle::padding, margin to also accept arrays of padding values.
  • Added optional "unit_number" to on_post_entity_died event.
  • Added support to teleport car entity types between surfaces.
  • Added LuaEntityPrototype::call_for_help_radius, max_count_of_owned_units, max_friends_around_to_spawn, spawning_radius and spawning_spacing read.
  • Added LuaForce::research_enabled read.

0.17.69

Date: 19.09.2019

Changes

  • Allow closing rich text tags with . as well as /, to allow color tags in save names. (more)
  • Using wires in the map editor no longer consumes the wires.

Features

  • Added a setting to the map editor to show/hide the infinity filters.

Bugfixes

  • Fixed splitter input flipping mechanism. (more)
  • Fixed pressing Backspace when text box caret was at the start of the text, in front of rich text icon, would delete the icon. (more)
  • Fixed it was possible to paste non-numeric values to numeric text fields. (more)
  • Fixed tooltips appearing in the top-left corner during autosaves. (more)
  • Changed render-layer of smoke used as activity indicator on chemical plant. (more)
  • Fixed that escape didn't work in the "new scenario for map editor" GUI. (more)
  • Fixed that prototype-defined locale didn't work nicely related to items that built things. (more)
  • Fixed a consistency issue with rotation of a modded assembler. (more)
  • Train will cancel reservation of signals in front of it when it runs out of fuel. (more)
  • Fixed manipulating with inventory of other character could cause an armor to be deleted leading to save file corruption. (more)
  • Fixed achievement sound stacking loudly when multiple achievements are unlocked. (more)
  • Fixed underground pipe connections of a large entity ghost. (more)
  • Fixed oil refinery was missing shadow on some configurations. (more)
  • Fixed an issue with loading some saves with modded lengths of underground pipes, such as Py mods. (more)
  • Fixed that the Lua API allowed setting direction on entity ghosts which would crash in most cases. (more)
  • Fixed train stations penalty when there are two stations attached to same rail segment. (more)
  • Fixed rotating underground pipe into mixing and blocked connection. (more)
  • Fixed that the player cursor stack would be empty during the 'cut' part of cut-paste. (more)
  • Fixed train stop rich text tags would show as trains. (more)
  • Added automated fix for another case of fluid mixing. (more)
  • Changed runtime fluid mixing fix so that it can't be abused in PvP. (more)
  • Changed the map editor so it can place blueprints with recipes that haven't been researched yet. (more)
  • Fixed rotation of modded boiler with regard to blocked connections. (more)
  • Fixed that a pipe block would not get fixed when a rotation removed the reason for the pipe block. (more)
  • Fixed a crash in the map editor related to 0-count infinity filters and items in the cursor. (more)
  • Fixed crash when attempting to use LuaRendering to render icon of an entity that doesn't have icon defined. (more)
  • Fixed fluid mixing from removing a modded boiler in a special setup. (more)

Modding

  • Added 'allow_burner_leech' to inserter prototypes. If set to true, burner inserters will look in the pickup targets fuel inventory when refueling.

Scripting

  • Added LuaEntityPrototype::collision_mask_with_flags read.
  • Added LuaTilePrototype::collision_mask_with_flags read.
  • Added LuaDecorativePrototype::collision_mask and collision_mask_with_flags read.
  • Added LuaStyle::rich_text_setting read/write for labels, text boxes, and text fields.
  • Added LuaEntityPrototype::allow_burner_leech read.
  • Added LuaPlayer::request_translation().
  • Added "on_string_translated" event.
  • Added LuaEntity::get_merged_signal().
  • Added to_be_upgraded to LuaSurface::count/find_entities_filtered. (more)
  • Added a blueprint entity index to source entity mapping to the on_player_setup_blueprint event.
  • Changed entity, tile, and decorative prototype collision_mask filters to support filtering by 'collides' or 'layers-equals'.
  • Added allow_in_replay flag into LuaGameScript::take_screenshot. (more)

0.17.68

Date: 04.09.2019

Changes

  • Pressing ESC while catching up to a multiplayer game will open the menu with most options disabled. (more)

Bugfixes

  • Fixed migration bug that doubles up to one sample worth of statistics when a save is loaded from before 0.17.44.
  • Fixed production statistics not calculating the totals correctly. (more)
  • Fixed that on_built_entity wouldn't be fired for built blueprint entities. (more)
  • Fixed a crash when right clicking with the map editor tile area tool. (more)
  • Fluid mixing does not crash the game anymore and is fixed the same way as on migration.
  • Fixed some Lua tables would be incorrectly interpreted as Lua arrays. (more)

Modding

  • Changed pipe_covers to be drawn with secondary sprite draw order 64 resp. -64 to prevent "z-fighting" issues. (more)

0.17.67

Date: 03.09.2019

Graphics

  • New chemical plant graphics.
  • Heat pipes (also in reactors and heat exchangers) glow with high temperatures.

Changes

  • Pressing ESC while catching up to a multiplayer game will disconnect instead of opening the menu. (more)
  • An entity can't be teleported into a position where pipe connections would overlap. (more)
  • The camera will zoom to center instead of zooming to cursor in God controller, Ghost controller and Spectator controller.

Features

  • Added an area tool to the map editor tile editor.
  • Added highlighting of the source entities when selecting areas to clone in the map editor.
  • Added a setting in the map editor to hide entity health bars.
  • Added a setting in the map editor surface editor to generate new chunks using lab tiles.
  • Added support to manipulate items on the stored character while in the map editor.
  • Added infinity settings for automatically controlling items in the map editor.
  • Changed the infinity chest so it can also spawn hidden items.

Gui

  • Rearranged key-bindings in Control Settings to different categories. Improved and added more descriptions of key-bindings.

Bugfixes

  • Fixed cloning ghost entities with rotation didn't work correctly. (more)
  • Fixed that the lab GUI wouldn't update when the technology being researched changed. (more)
  • Fixed loader front patch and back patch were not sorted correctly when drawing. (more)
  • Fixed wire connection distance sometimes being inconsistent. (more)
  • Fixed a rotation of modded pump with regard to blocked pipe connections. (more)
  • Prevented a crash resulting from teleporting a pipe to a fluid system with blocked connection. (more)
  • Fixed that the filter GUI tooltip would flicker when changing tabs. (more)
  • Fixed fluid mixing from creating an underground pipe by script into a blocked fluid system. (more)
  • Fixed fluid mixing from copy/pasting an infinite pipe next to a different fluid. (more)
  • Prevented playing Jesus and changing water into other fluids. (more)
  • Fixed assembler ghost fluid filters disappearing through loading. (more)
  • Cliffs sections which are fully marked as indestructible can't be exploded. (more)
  • Fixed interaction of underground pipes with modded length. (more)
  • Fixed fluid mixing caused by fluid producing furnace. (more)
  • Fixed that opening the technology GUI in the same tick as the entity tooltip being shown didn't work correctly. (more)
  • Prevented rotation of a modded assembler with a blocked pipe connection that results in fluid mixing. (more)
  • Fixed train condition button indentation not being properly updated under special circumstances. (more)
  • Fixed that train schedule waypoint was considered to be passed when train departed the related rail rather when it entered it. (more)
  • Fixed that storage tank entities ignored pipe_picture property in their fluid box definition. (more)
  • Fixed improper action selection for UI actions for key bindings differentiated by modifiers only. (more)
  • Fixed a crash related to a modded assembler and fluid mixing. (more)
  • Applied the cannon shadow to the artillery wagon, fixing some unintended highlights. (more)
  • Fixed crash when removing electric pole. (more)
  • Fixed event handler could try to register events twice in some cases. (more)
  • Fixed blueprinted locomotives would preview as snapped to train stop. (more)
  • Fixed items spilling on the ground when using fast entity transfer while robots are trying to insert into the player. (more)
  • Fixed hand reserving a non-empty slot in some situations when player inventory auto-sorting is disabled.
  • Fixed custom lua slider sometimes initializing with the marker in the wrong position. (more)
  • Fixed "list-box" and "drop-down" custom GUI elements would not update selected index when changing its items programmatically. (more)
  • Fixed that the map editor 'instant blueprint building' would fail to place trains correctly.
  • Rail signal that is to be reserved by circuit network doesn't allow train to go through even when the block is already occupied by the given train. (more)
  • Rail signal will change from reserved by circuit network state to closed state when train is manually placed into the block it guards. (more)
  • Fixed train stop name in map not being positioned properly. (more)

Modding

  • Changed default value of LoaderPrototype::structure_render_layer from "lower-object" to "transport-belt-circuit-connector", in order to be consistent with other on-belt structure sprites.
  • Different wall types will connect visually by default. If this behavior is not desired for a wall prototype, set it unique "visual_merge_group". (more)
  • Added optional random_variation_on_create to all simple entity prototypes.
  • Pump was changed to not expand its bounding box when connected to pipe. Collision box for vanilla pump was adjusted to reflect this change.

Scripting

  • Added additional filtering to LuaGameScript::get_filtered_..._prototypes() functions.
  • Added optional "tags" to entities in blueprints and entity ghosts.
  • Added optional "tags" to script_raised_revive, on_built_entity and on_robot_built_entity events when reviving ghosts.
  • Added LuaEntity::tags read/write for entity ghosts.
  • Added LuaItemStack::get_blueprint_entity_count(), get_blueprint_entity_tags(), set_blueprint_entity_tags(), get_blueprint_entity_tag(), and set_blueprint_entity_tag().
  • Added on_force_friends_changed and on_force_cease_fire_changed events.
  • Added "area" to on_chunk_charted and on_sector_scanned events.
  • Added "position" to on_chunk_generated event.
  • Added area to the LuaChunkIterator operator() return value.
  • Added LuaPlayer::toggle_map_editor().
  • The script_destroyed_entity event is raised for map editor instant deconstruction.
  • Added LuaEntity::tick_of_last_attack and LuaEntity::tick_of_last_damage write.

0.17.66

Date: 16.08.2019

Changes

Bugfixes

  • Fixed crash when using the close button while the client is saving the map for desync report. (more)
  • Fixed a crash related to settings copy/paste of some modded assemblers. (more)
  • Correctly highlighting blocked connections of modded underground pipes. (more)
  • Fixed a case of disappearing fluid in a special fluid furnace configuration. (more)
  • Fixed programmable speaker caused crash when using --disable-audio command line option. (more)
  • Fixed that an underground pipe ghost did not split fluid systems. (more)
  • Fixed that an underground pipe ghost did not split blocked connection. (more)
  • Fixed that fluids in assembling machines and furnaces would get voided any time mods changed. (more)
  • Prevented construction of underground pipe that could crash the game due to blocked pipe connection. (more)

Scripting

  • Added LuaEntityPrototype::terrain_friction_modifier read.

0.17.65

Date: 14.08.2019

Changes

  • Modded achievements and their progress are now stored even when the mods adding extra achievements are temporarily removed. Up to 5000 modded achievements are stored indefinitely. (more)
  • Programmable Speaker sounds now change volume accordingly as player moves. (more)
  • Rocket Silo sounds now change volume accordingly as player moves.

Bugfixes

  • Fixed tightspot level 5 expecting old chemical science recipe. (more)
  • Fixed Transport belt madness inserter exploit. (more)
  • Fixed that filling energy of entities in map editor didn't work for accumulators in electric network.
  • Fixed a crash or desync that could happen after assigning a build_base command to a single unit. (more)
  • Fixed that mining drill covering more than 1 infinite resource showed the mining speed as sum instead of average. (more)
  • Fixed that infinite item based resources with yield of more then 100% didn't actually mine more. So yield of 260% for example means that it mines 2 resources and 60% probability of 1 extra.
  • Fixed cloning of accumulators in the map editor not setting available energy correctly.
  • Fixed a desync related to cloning accumulators. (more)
  • Fixed 2 crashes related to custom-switch. (more)
  • Fixed that train could consider itself being parked in station when in fact being misaligned. (more)
  • Fixed that activating deconstruction planner/blueprint/blueprint tool from the shortcut by pressing the buttons didn't clear the cursor if it wasn't empty. (more)
  • Fixed condition operator button visibility when dragging conditions in the train schedule GUI. (more)
  • Fixed few layouting issues with scroll panes.
  • Fixed that biters could get stuck in narrow passages between water tiles. (more)
  • Fixed that members of unit groups could sometimes get far ahead of the group. (more)

Modding

  • Added CraftingMachinePrototype::match_animation_speed_to_activity.
  • Added LoaderPrototype::structure.back_patch and front_patch.

Scripting

  • Added ability to clear a sprite or sprite-button by writing nil or empty string to LuaGuiElement::sprite. (more)

0.17.64

Date: 09.08.2019

Changes

  • Range modifier and shooting speed modifier are now shown in ammo tooltip and ammo turret tooltip.
  • Allow pressing ESC to cancel saving or downloading the map while desynced. (more)
  • Added copy paste from assemblers to infinity chests, similar to requester chests.

Bugfixes

  • Fixed crash when loading a save containing modded crafting machines with fluid boxes, with mods disabled. (more)
  • Fixed turret range drawing not accounting for ammo range modifier in world and in map view. Fixed turret unfolding and animation not accounting for ammo range modifier. (more)
  • Fixed case of swapping left and right lane of underground belts. (more)
  • Fixed desync related to marking and then un-marking combinators for deconstruction. (more)
  • Fixed Infinity Chest GUI showing wrong label when modded as a storage chest. (more)
  • Fixed when target of combat robot changed force to an allied force, the combat robot wouldn't stop attacking it. (more)
  • Fixed silo script error using generic on_event function. (more)
  • Fixed a desync related to using multiple custom fluid indexes in a recipe. (more)
  • Fixed some labels getting cut of in the statistics GUI, on some translations. (more)
  • Fixed a crash that could sometimes happen when fighting large groups of biters. (more)
  • Fixed a special corner case of signal internal state consistency. (more)
  • Fixed that the circuit and logistic network buttons in the train stop GUI were swapped. (more)

Scripting

  • Combinators can now be activated or deactivated through LuaEntity::active.
  • Added LuaEntity::upgrade_target read.
  • Removed the ability to convert a table address into a string.

0.17.63

Date: 06.08.2019

Changes

  • Inventory filters tooltip now shows they are inventory filters to avoid confusion. (more)
  • The quickbar tooltip now shows what shortcut to use in order to clear it.
  • Quickbar filters can now be set from the ghost cursor.
  • In Introduction, changed some places Compilatron stands at to be less in the way. (more, more)

Bugfixes

  • Fixed some combination of graphics options could cause infinite loop at 95% of sprite loading in the demo. (more)
  • Fixed assigning empty table to sprite definition would not cause loading error but crash in-game instead. (more)
  • Fixed a desync related to accumulators in multiple networks. (more)
  • Fixed transitions on tiles where landfill, grass and water meet. (more)
  • Fixed logistic network technology description did not mention buffer chests. (more)
  • Fixed "use-version-filter-in-browse-games-gui" config option didn't work. (more)
  • Fixed possible crash in introduction scenario if player builds turrets too far to either side. (more, more)
  • Fixed electric coverage visualization was not shown when hovering mouse over invisible widgets. (more)
  • Fixed a crash when using a path_resolution_modifier of 8. (more)
  • Fixed introduction leftover invisible entity after cutscene. (more)
  • Fixed introduction bug where sometimes Compilatron wouldn't build things properly. (more)
  • Fixed "toggle filter" control setting would not work if bound to modifier key and left or right click. (more)
  • Fixed introduction bug where poles could still connect to the generator after it was destroyed. (more)
  • Fixed introduction possible crash when removing power consumers. (more)
  • Fixed missing laser-beam entity from demo. (more)
  • Fixed issue with walls in hidden smelter section in introduction. (more)
  • Fixed that biters could form too many attack groups when aggroed by artillery. (more)
  • Fixed that clicking and dragging electric poles in multiplayer latency didn't work correctly.
  • Fixed that fast-replacing assembling machines with fixed recipes didn't work correctly. (more)
  • Fixed a crash when deleting surfaces during the same tick as auto-save running. (more)
  • Moved integration patches of crash site entities to decals render layer. (more)
  • Fixed that inserters would pick up from the left lane of a loader even when positioned closer to the right side.

Scripting

  • Added LuaEntity::request_from_buffers read/write.

0.17.62

Date: 02.08.2019

Bugfixes

  • Fixed a script error in the NPE while using demo. (more)
  • Fixed that reading LuaGuiElement::elem_type would always error. (more)
  • Fixed a crash related to modded fluid energy sources. (more)
  • Fixed corrupted alt-mode icons on low zoom levels on macOS. (more)

0.17.61

Date: 02.08.2019

Changes

  • Combat robotics 2 technology now require Laser. (more)

Bugfixes

  • Fixed fluid mixing checks for some setups when setting an assembler recipe. (more)
  • Fixed flying notifications showing player's inventory updates were visible to all forces. (more)
  • Fixed error during PNG decompression would cause crash on Linux. (more)
  • Fixed that save files could become very large. (more)
  • Fixed that cloning furnaces wouldn't preserve the crafting progress. (more)
  • Fixed inserters being slower and rotationally asymmetrical after the previous version.
  • Fixed that wandering units could be activated for longer than necessary. (more)
  • Fixed a crash when trying to check if 'game' is equal to anything using the Lua API. (more)
  • Added a check for overlapping crafter fluidboxes to detect wrong mod configuration. (more)
  • Fixed desync related to inserter ghosts and belts. (more)
  • Fixed setting health of item stack of item-with-entity-data to 1 would do nothing. (more)
  • Fixed a desync with the map editor resource editor. (more)
  • Fixed a desync with the map editor decorative editor. (more)
  • Prevented some rare cases of fluid mixing tied to underground connections. (more)
  • Fixed placing entities that consume type of energy other than electric would still show electric coverage visualization. (more)

Modding

  • Added InserterPrototype::draw_inserter_arrow.

Scripting

  • Added LuaGuiElement::choose-elem-button elem_types "decorative", "item-group", "achievement", "equipment", and "technology".

0.17.60

Date: 30.07.2019

Balancing

  • Basic oil processing produces only Petroleum gas, for more streamlined oil setup in the beginning.
  • Basic oil processing keeps some of the refinery input/output slots unused, so it is more clear which ones will be used by Advanced oil processing.
  • Chemical science pack requires Sulfur instead of Solid fuel.
  • Flamethrower ammo requires crude oil instead of heavy and Light oil.
  • Rocket fuel requires light oil.
  • Laser Turrets, Lubricant, and Worker robots technologies need Chemical science pack.
  • Deathworld marathon preset was made a little bit easier.

Bugfixes

  • Fixed a crash when trying to show invalid thumbnails for mods. (more)
  • Fixed that up/down keyboard navigation of the load/save game GUIs and manage mods GUI didn't work in some cases. (more)
  • Fixed that cloning belts with items didn't preserve the item positions correctly. (more)
  • Fixed a script error in train stations mini-tutorial. (more)
  • Fixed a script error in the NPE. (more)
  • Fixed car turret shadow would rotate in opposite direction to the turret. (more)
  • Fixed that changing sound settings didn't persist through game restart. (more)
  • Fixed that the migrated-content GUI wouldn't show in some cases. (more)
  • Fixed that right-click-and-drag didn't work in the blueprint GUI to remove things. (more)
  • Fixed that unit groups would use paths going through cliffs. (more)
  • Fixed some cases of entity rotation with blocked underground pipes. (more)
  • Fixed inserters sometimes getting stuck when picking up from a non-backed-up underground belt. (more)
  • Added workaround for a driver crash when calling D3D11CreateDeviceAndSwapChain. (more)

Modding

  • Added CraftingMachinePrototype::default_recipe_tint.

Scripting

  • Added LuaEntityPrototype::supports_direction read.
  • Fixed that LuaGuiElement::force_auto_center() didn't work. (more)
  • Added LuaGameScript::get_filtered_entity_prototypes(), get_filtered_item_prototypes(), get_filtered_equipment_prototypes(), get_filtered_mod_setting_prototypes(), and get_filtered_achievement_prototypes().

0.17.59

Date: 25.07.2019

Balancing

  • Changed expensive variant of electronic circuit to require 8 copper cables instead of 10.

Changes

  • User verification must be enabled for public multiplayer games. LAN games, direct-connect, and Steam still don't require user verification.
  • Network message segment size can be configured in server-settings.json, for server providers with large enough upload bandwidth.
  • Added "Build with obstacle avoidance" into controls settings with CONTROL + Left mouse click as default. It re-introduces the possibility to build rails in ghost mode that avoid trees rocks and cliffs.
  • Decreased base damage of Personal laser defense from 40 to 30.
  • Decreased base shooting speed of Laser turret and Personal laser defense equipment from 3 shots per second to 1.5 shots per second.
  • Reverted combat latency behavior to do latency hiding while in combat. (more)

Bugfixes

  • Fixed that extra fast (modded) splitters didn't work properly. (more)
  • Fixed an inconsistency between area selection and logistic network highlight. (more)
  • Fixed that probabilistic recipe result that is also a catalyst didn't put itself into consumed statistics when the probability check failed and the item wasn't produced. (more)
  • Fixed visual errors when dragging train schedule conditions. (more)
  • Fixed that locale settings didn't save when changed. (more)
  • Solved that pressing ALT while walking right (D being pressed) stopped the character as it interfered with ALT + D. (more)
  • Fixed connection preview of underground belt in blueprint in a specific case. (more)
  • Changed accumulator/wall/underground belt map color to be more contrast against certain tiles. (more)
  • Fixed laser turrets were shooting beams that would last until target was destroyed even if it got out of range and turret stopped shooting. (more)
  • Fixed Laser turret shooting speed research didn't increase damage of laser turret. (more)
  • Fixed Laser turret shooting speed research didn't increase damage of Personal laser defense equipment. (more)
  • Fixed that biters sometimes couldn't get past other biters. (more)
  • Fixed that migration scripts couldn't use "require". (more)
  • Fixed a crash related to fast-replacing modded generator entities without fluidboxes.
  • Fixed loaders would not wake up sometimes after picking up items from them manually. (more)
  • Fixed that space science pack technology did not have accumulators and solar panels in prerequisites. (more)
  • Fixed that switching to another window while dragging a widget (slider) with a tooltip didn't clear the tooltip. (more)
  • Fixed that rails would report bounding box sizes of zero when read through the LuaEntityPrototype API. (more)
  • Fixed that unit groups could get stuck at the end of their assigned path. (more)
  • Fixed a desync related to changing forces in the map editor. (more)
  • Fixed a crash related to fluid connection changes in mods. (more)
  • Fixed that creating character corpses using player_index was off by 1. (more)
  • Added extra check to prevent infinite cycle in fast belt building. (more)
  • Fixed a crash when building train stations when the backers.json file is empty. (more)
  • Fixed that entities could have their light rendered twice. (more)
  • Fixed that biters had difficulty pathfinding around crescent-shaped lakes. (more)
  • Fixed that the "not enough rails" error didn't work correctly in the map editor. (more)
  • Fixed train would not stop exactly in the station preventing pumps to connect to fluid wagons when a mod was changing speed of breaking train. (more)
  • Fixed that trains would try to path to train stops on different surfaces. (more)
  • Fixed pump would not disconnect from fluid wagon when rail besides pump was mined or destroyed. (more)
  • Fixed a crash related to the rail planner. (more)
  • Fixed that the mod info label in the technology tooltip didn't line wrap. (more)
  • Fixed a crash near the start of the NPE. (more)

Modding

  • Changed how beams are drawn to improve seamless tiling of beam segments. Head and tail segments are now stretched to fill space from source/target position to next segment.
  • Changed how beams apply damage. By default, they no longer trigger their action every damage_interval, instead the action is triggered when its owner triggers shooting. The old behavior can be turned on by setting BeamPrototype::action_triggered_automatically to true.
  • It is possible to specify fluid product or ingredient with a fluidbox_index so they use exactly one slot corresponding to the specified fluidbox of the machine.
  • Changed the "market" entity from entity-with-health to entity-with-owner so it now has a force and unit_number.
  • Changed fluid energy source prototypes to error when no consumption limits are set instead of logging a warning.
  • Added util.parse_energy().

Scripting

  • Added LuaGui::screen.
  • Added on_gui_location_changed, on_gui_selected_tab_changed, and on_gui_switch_state_changed events.
  • Added LuaGuiElement type "empty-widget", "tabbed-pane", "tab", and "switch".
  • Added LuaGuiElement::add_tab(), remove_tab(), and force_auto_center().
  • Added LuaGuiElement::location, auto_center, drag_target, selected_tab_index, tabs read/write.
  • Added LuaGuiElement::switch_state, allow_none_state, left_label_caption, left_label_tooltip, right_label_caption, right_label_tooltip read/write.
  • Added LuaStyle::badge_font, badge_horizontal_spacing, default_badge_font_color, selected_badge_font_color, disabled_badge_font_color, selected_font_color, selected_hovered_font_color, selected_clicked_font_color, strikethrough_color read/write.
  • Added clear_and_focus_on_right_click to LuaGuiElement text-box.
  • Added LuaGuiElement::get_slider_value_step(), get_slider_discrete_slider(), get_slider_discrete_values(), set_slider_value_step(), set_slider_discrete_slider(), set_slider_discrete_values().
  • Added LuaGuiElement::get_mod().
  • Added LuaEntity::loader_container read.
  • Added LuaEntity::belt_neighbours read.

0.17.58

Date: 15.07.2019

Bugfixes

  • Fixed a crash related to researching technologies through script.
  • Fixed a crash when opening other settings on the steam version of the game. (more)

0.17.57

Date: 15.07.2019

Changes

  • Restored ore placement to match that of 0.17.50 (more)

Optimisations

  • Optimized synchronization time of blueprint library to a new game map. (more)

Bugfixes

  • Fixed glitch in pollution cloud overlay rendering. (more)
  • Fixed joining multiplayer through Steam Friends would not work sometimes. (more)
  • Fixed rail signal consistency for a very special corner case. (more)
  • Fixed that the Linux server's standard input could get closed under some circumstances. (more)
  • Fixed crash when enabling blueprint library cloud sync when local blueprint library did not exist. (more)
  • Fixed that trains couldn't be rotated while in the map editor. (more)
  • Fixed that LuaGameScript::ban_player() only worked with real players. (more)
  • Fixed that the changelog GUI could have unnecessary scroll bars. (more)
  • Fixed that hiding the search bar didn't unfocus it, so it was still possible to write to the invisible search bar. (more)
  • Fixed wrong signal placeability in some specific cases. (more)
  • Fixed that the entity tooltip would flicker in some cases related to the tooltip delay. (more)
  • Fixed a crash when opening assembling machines with fixed_recipe set in the latency state. (more)

Modding

  • Added a prototype property for hiding recipes from the player crafting GUI.
  • Renamed spot noise argument 'minimum_candidate_point_spacing' to 'suggested_minimum_candidate_point_spacing'
  • Added base_productivity to assembling machines, mining drill, and lab prototypes.
  • Added LuaEntityPrototype::base_productivity read.

Scripting

  • Added optional "ignore_characters" to LuaSurface::clear().
  • Added on_gui_confirmed event.
  • Added LuaGuiElement::numeric, allow_decimal, allow_negative, is_password, lose_focus_on_confirm, clear_and_focus_on_right_click read/write.

0.17.56

Date: 11.07.2019

Minor Features

  • Added option to enable Steam Cloud Sync for blueprint library to Other Settings GUI. Please backup your blueprint-storage.dat if you chose to enable it. The option is available in Steam version of the game and Cloud Sync needs to be enabled in Steam for the library to be actually synchronized.

Bugfixes

  • Fixed that the blueprint library GUI sometimes wouldn't update until the mouse was moved. (more)
  • Fixed that deconstructing tiles in the map editors instant-deconstruction mode didn't work. (more)
  • Fixed setting FireFlamePrototype::spread_delay_deviation to 0 or 1 would crash the game. (more)
  • Fixed logistics system tutorial after game script migration. (more)
  • Fixed that the game would freeze when using LuaLogisticNetwork::remove_item() if the item was only in the players cursor. (more)
  • Fixed yet another case of rails not merging blocks as expected. (more)
  • Fixed occasional crash when dragging train wait conditions with brackets. (more)
  • Removed the focusability of buttons, as we don't support it graphically and the functionality was just half-functional. (more)
  • Fixed that copy-paste for assembling machines would ignore fixed_recipe. (more)
  • Fixed that failing to join multiplayer games through --join-game-by-id would fail to show the error and show an empty background. (more)
  • Fixed inserting items into underground belts with inserters could put items onto the belt leading into the underground belt. (more)
  • Fixed rail signal internal consistency for some cases of rail cycle with one signal. (more)
  • Fixed that electric energy interface stopped accumulators from working. (more)
  • Fixed high CRC time related to large amounts of electric networks in multiplayer games. (more)
  • Fixed that multiple map settings prototypes could be defined.

Modding

  • Removed label style want_ellipsis as it will be used automatically everywhere as with button.
  • All rail bounding boxes are now hardcoded/not moddable. This is to avoid unexpected collision/rail block merging behaviour.

0.17.55

Date: 09.07.2019

Bugfixes

  • Fixed that some of the textboxes didn't allow to write characters bound for different actions when focused. (more)
  • Fixed a desync related to removing rail signal that merges two rail blocks reserved by different trains into one.
  • Fixed that the belt-gap-fill logic could replace splitters/underground belts in some cases. (more)

Modding

  • Added LuaPlayer::connect_to_server().

0.17.54

Date: 04.07.2019

Changes

  • Removed the message of "<X> is in the way" when building over the exact same entity with same direction and position as in cursor. (more)
  • Rails under trains can be marked for deconstruction. (more)
  • Better latency hiding in multiplayer when experiencing connection issues. Less issues with rubber-banding or character teleporting.
  • Latency hiding is no longer completely disabled when the character is shooting. Character position and animation are still not latency-hidden while the character is in combat (10 seconds after shooting or taking damage). This should make combat smoother in multiplayer.
  • The Linux version of the game now depends on PulseAudio.

Bugfixes

  • Fixed adding conditions to a train station after it was dragged. (more)
  • Improved drawing of a wall preview in some special cases. (more)
  • Fixed that the sync-mods-with-save could in some cases leave mods enabled. (more)
  • Added Right Control as secondary binding for "Temporary station modifier" controls. (more)
  • Fixed that migrating saves could in some cases mess up damage bonuses. (more)
  • Added a migration for unloadable saves because of invalid train paths caused by bugs in previous versions. (more)
  • Fixed that rails wouldn't build correctly if they had a fast_replaceable_group defined. (more)
  • Fixed flamethrower turret tooltip was missing info about created fire. (more)
  • Fixed that modded units with minimal attack range wouldn't try to get away from a target if they were too close. (more)
  • Fixed that train built from blueprint could miss a connection occasionally due the rail building order. (more)
  • Fixed that electric-energy-interface and heat-interface entity types didn't export properly in blueprint string format. (more)
  • Fixed Compilatron speech bubble hologram effect would cause entire screen to flicker when "Full color depth" graphics option was disabled. (more)
  • Fixed a map corruption issue related to building blueprints outside of the map through script. (more)
  • Fixed that too long description of shortcut tool could make the selection frame to be too big and unclosable. (more)
  • Fixed that undo doesn't work for trains. (more)
  • Fixed that reading 'disabled' from train stop control behaviors from Lua would report bad values in some cases. (more)
  • Fixed that rich text tooltips would flicker in multiplayer. (more)
  • Fixed possible crash in NPE when Compilatron builds an iron mining setup. (more)
  • Fixed multiplayer issue where a client and server would sometimes send a large amount of data, causing players with slower connection to disconnect (https://factorio.com/blog/post/fff-302)
  • Fixed that the wind sound would cut off abruptly when the technology screen was opened. (more)
  • Fixed that inserter tooltips would list pollution despite inserters being unable to produce pollution. (more)
  • Fixed that the bar of train wagon in blueprint was lost when the game was saved and loaded. (more)
  • Fixed that textfield selection wasn't removed when the focus was lost. (more)

Modding

  • Equipment with the "manual" shape now renders backgrounds/outlines automatically like equipment with the "full" shape.

0.17.53

Date: 01.07.2019

Changes

Bugfixes

  • Fixed that curved rail bounding box wasn't rotationally symmetric.
  • Fixed window would flicker when dragging window from left to right, from normal DPI display to higher DPI display. (more)
  • Fixed that modded pollution modifiers wouldn't show in some cases. (more)
  • Fixed that trying to repair inoperable entities would show the "can't mine" message. (more)
  • Fixed that checking for mod updates could fail when old versions of a mod had bad data. (more)
  • Fixed graphical artifacts in curved rail sprites when zoomed out (OpenGL). (more)
  • Fixed a crash of some modded entities with fluid energy source. (more)
  • Fixed that sending long commands through RCON could cause some players to drop from the game. (more)
  • Fixed drawing speech bubbles on top of other gui elements, and on top of the map view.
  • Fixed NPE crash when building ghosts. (more)
  • Fixed rotated text not working with certain fonts. (more)
  • Fixed that the drag-map action wasn't allowed when the cursor had specific items even if the drag map control didn't conflict with building. (more)
  • Fixed that restarting scenario levels would leave the generate-map GUI in a strange state. (more)
  • Fixed that RCON commands would not be processed if a player had paused the game. (more)
  • Fixed that the "include modules" checkbox would always show if the blueprint had a train with fuel in it. (more)
  • Fixed that infinite technologies wouldn't display the level in the technology screen if their prototype name didn't include a level. (more)
  • Fixed that clicking alerts from multiple modded surfaces wouldn't work correctly. (more)
  • Fixed that unit groups wouldn't be able to pathfind if their centre was colliding with another entity of the same force. (more)
  • Fixed a crash related to train crashing while passing a reserved signal. (more)
  • Fixed a crash related to teleporting reserved signal. (more)
  • Fixed that errors from the asynchronous saving process sometimes wouldn't be communicated back to the parent. (more)
  • Fixed that dying and respawning wouldn't preserve the toggle-personal-roboport setting. (more)
  • Fixed that train waiting time was reset when adding temporary station. (more)
  • Fixed that entity-to-be-built tooltips didn't work correctly with tooltip delay. (more)
  • Fixed that train without a schedule didn't try to stop. (more)

Modding

  • Fixed that the game would allow entities with different sized bounding boxes or collision masks to be upgraded. (more)
  • Fixed excessive memory usage and long time to exit related large amounts of sprite definitions. (more)
  • Fixed that GUI graphical_sets wouldn't render corners correctly in some cases. (more)
  • Fixed that technologies marked as "visible_when_disabled" would still be researchable when the research queue was enabled. (more)
  • Moved the entity_renderer_search_box_limits values into utility constants.
  • Secondary bounding box of rail is not moddable anymore.
  • Changed module prototype property "tier" to unsigned int from float.

Scripting

  • Fixed that get_blueprint_entities() didn't include train schedules. (more)
  • Added LuaSurface::calculate_tile_properties().
  • Added LuaEntity::storage_filter read/write.

0.17.52

Date: 24.06.2019

Bugfixes

  • Fixed a crash related to equipment rendering.
  • Fixed a crash related to tile building. (more)

0.17.51

Date: 24.06.2019

Bugfixes

  • Fixed crashes related to creating tile-ghost entities through the Lua API. (more)
  • Fixed that configuring blueprints and then directly exporting to a string didn't work correctly. (more)(more)
  • Fixed that the Lua API would allow the same non-infinite technology to be queued multiple times. (more)
  • Fixed a crash when queuing things to be crafting during the crafting finished event. (more)
  • Fixed train pathfinding bug related to two different station connected to the same rail from different sides when one after another is in the schedule. (more)
  • Fixed rail signal consistency when rail is removed from reserved signal. (more)
  • Added "buffer-rename-workaround" config setting as a possible workaround for rendering glitches on some Sandy Bridge and Ivy Bridge GPUs. (more)
  • Fixed an issue that made unit group pathfinding fail often, resulting in very few biter attacks. (more)
  • Fixed that the hovering entity tooltip would still follow the cursor while in the menu. (more)
  • Fixed a crash when exiting the campaign during the same tick as a script-triggered autosave.
  • Fixed that incompatible dependencies would effect mod sort order.
  • Fixed missing fluid icons on new ghosts. (more)
  • Replay button in new game GUI is now remembered after confirm. (more)
  • Changed rendering of belts to use linear interpolation for minification to reduce flickering effect on some zoom levels. (more)
  • Fixed that units could sometimes get stuck forever. (more)
  • Fixed that multiplayer replay would crash the game if it contained a blueprint transferred using the blueprint library. (more)
  • Fixed that LuaEntity::destroy({raise_destroy=false}) would still raise the destroy event. (more)
  • Fixed that the style debug tooltips could in some cases show multiple at once. (more)
  • Fixed that robots could get stuck if the chest they're trying to put items into was blocked. (more)
  • Fixed that the update mods GUI would incorrectly disable the "Update selected" button in some cases. (more)
  • Fixed that building concrete/stone paths wouldn't use all tile variations in some cases. (more)
  • Fixed a performance problem related to large amounts of incredibly fast robots and storage chests. (more)
  • Fixed turret range overlay in map was not rendering correctly. (more)
  • Fixed that turret tooltips could show damage modifiers from the wrong force. (more)
  • Prevented possible number overflow in train condition gui. (more)

Modding

  • Added uses_stack to the thrown capsule item action.
  • Removed the rail-category prototype type.
  • resource_autoplace_settings has been made public (require('resource-autoplace').resource_autoplace_settings) and the API improved. It will automatically allocate a unique resource index for each patch_set_name. 'patch_set_name' and 'autoplace_control_name' can be independently specified. 'seed1' can be specified as a parameter. The global function 'get_next_resource_index' is obsolete and has been deleted.
  • Equipment shapes can be defined as "manual" (a set of points).
  • Added optional lamp prototype property "always_on".

Scripting

  • Added "entity_to_ignore" to LuaSurface::request_path.
  • Added target, orientation, and orientation_target to LuaRendering::draw_polygon().
  • Added LuaGameScript::item_subgroup_prototypes, item_group_prototypes, fuel_category_prototypes, resource_category_prototypes, achievement_prototypes, module_category_prototypes, equipment_category_prototypes, trivial_smoke_prototypes, shortcut_prototypes, and recipe_category_prototypes read.
  • Added LuaControl::character_mining_progress read.
  • Added LuaEntity::can_shoot().
  • Added LuaEntityPrototype::always_on read.
  • Added LuaGuiElement type "line".

0.17.50

Date: 17.06.2019

Changes

  • Inserters are slightly faster when picking up from belts as they can now select an item and pick it up in the same tick.

Bugfixes

  • Fixed a special case of assembler pipe connection bug. (more)
  • Fixed a crash when trying to check for mod updates with mods that have dependencies not on the mod portal.
  • Fixed that multiple modded inserters aiming for the same belt would compete for the same item. (more)
  • Fixed that opening signal by circuit network could let train to go to a reserved/occupied block. (more)
  • Fixed that it was possible to build a special rail crossing that didn't merge the blocks and allowed trains to cross without collisions. (more)
  • Fixed a crash related to pathfinding toward a moving target, such as when the player was fighting biters. (more) (more)
  • Fixed turret ranges would not render properly on some models of Apple computers with Intel integrated GPU. (more)
  • Fixed most of the Map Editor GUI would still work when doing replays. (more)
  • Fixed that "the hand" didn't work correctly in the Map Editor when the inventory was full. (more)
  • Fixed that cut ignored the not-minable and not-deconstructable flags in some cases. (more)
  • Fixed rail signal to block binding that occurred in special cases. (more)
  • Fixed shooting would refresh only the first beam if multiple beams were active. (more)
  • Fixed that cloning rails with locomotive on top in the map editor made the copied rails not minable even when the locomotive was removed. (more)
  • Fixed another train pathfinding issue related to re-pathing while in chain signal sequence. (more)

Scripting

  • Added LuaEntity::energy_generated_last_tick read.
  • Added LuaGameScript::parse_map_exchange_string().

0.17.49

Date: 13.06.2019

Bugfixes

  • Fixed sprite batching issue when drawing many inserters with circuit connectors. (more)
  • Fixed construction robot working shadow. (more)
  • Fixed using repeat_count in RotatedAnimation definition would cause crash. (more)
  • Fixed rail signal consistency in case of reserved signal being invalidated by building a rail that puts both sides into same block.
  • Fixed rail crash related to marking reserved signal for deconstruction.
  • Fixed that programmatically set locale for autoplace controls didn't work. (more)
  • Fixed that scrollpane consumed the mouse wheel events even when not activated, which blocked the other (parent) scrollpane. (more)
  • Fixed that re-pathing in chain signal sequence didn't respect the need for green exit when the re-pathing was based on manual change of target station. (more)
  • Fixed that changing state of rail signal by circuit network didn't properly update state of parent circuit signals. (more)
  • Fixed that rail signal disabled by circuit network didn't prevent train passing by it if it guards a block that is already reserved/occupied by the same train. (more)
  • Limited of usage of tab/shift-tab to move between textboxes as other objects didn't support it and it seems like it isn't worth to try to support it for everything. (more)(more)
  • Reduced the UPS impact of a large number of biters trying to pathfind. (more)
  • Fixed that tabbing could move to invisible or disabled widgets.

0.17.48

Date: 11.06.2019

Changes

  • Improved manual building of character corpses through the map editor. (more)
  • Textures that are being streamed are compressed now to reduce RAM usage and increase rendering performance.

Bugfixes

  • Fixed production statistics were not cleared before starting the Introduction scenario (more)
  • Fixed Compilatron getting stuck in a loop between two help nodes. (more)
  • Fixed various bugs uncovered (mainly) by more rigid rail signal handling.
  • Fixed that when starting a server with --start-server-load-scenario, --map-settings would have no effect. (more)
  • Fixed that the minimap radar coverage preview would show radars on different surfaces. (more)
  • Fixed that turrets would show the glow animation in some cases when dead. (more)
  • Fixed that checking for mod updates would work correctly if the mod author had previously uploaded a broken version of the mod. (more)
  • Fixed that crafting machine lights wouldn't render correctly when off-screen partially. (more)
  • Fixed that the map editor extra-settings GUI didn't resize correctly. (more)
  • Fixed that the bonus GUI had transparent edges when the vertical scroll bar was visible. (more)
  • Added workaround for issue with missing icons on macOS with Intel GPUs. (more)
  • Fixed framerate issues caused by overloading GPU. (more)
  • Fixed a crash when using some hotkeys while in cutscenes. (more)
  • Fixed that re-mapping "stack split" didn't work correctly. (more)
  • Fixed speech bubbles jittering when their target moved across a chunk boundary.
  • Fixed that tank could not drive backwards. (more)
  • Fixed that rendering.draw_line() sometimes did not render lines. (more)
  • Fixed that the map wouldn't update during a non-blocking save. (more)
  • Fixed that LuaPlayer::set_controller() would crash if set to another players character. (more)
  • Fixed bug where NPE could get stuck in a cutscene. (more)

Modding

  • Limited maximum number of picture variations that will be loaded from item prototype definition to 16.
  • Added y_offset property to speech_bubble prototype.

Scripting

  • Added a sanity check to LuaForce::chart() that errors on large sizes instead of trying to use 71,000 gigabytes of RAM.
  • Added LuaFlowStatistics::clear().

0.17.47

Date: 07.06.2019

Bugfixes

  • Fixed that the game crashed when passing train signal while driving train in manual mode.
  • Fixed that 'station name' and 'player name' map toggles would seemingly randomly toggle on when turning on some options. (more)
  • Disabled check that prevented loading of some mods. (more)
  • Fixed crash when saving speech bubbles that had been migrated from old saves. (more)
  • Fixed NPE crash when Compilatron is boxed while building. (more)

0.17.46

Date: 07.06.2019

Minor Features

  • Added an option to filter by has-players in the browse games GUI.

Changes

  • Tank no longer takes damage from hitting rocks.
  • Increased tank acid resistance from 50% to 70%.
  • Defender robots no longer require flying robot frames in their recipe.
  • Defender robotics technology only has Military science pack technology as a pre-requisite.
  • Defender robot damage increased from 5 to 8.
  • The Map Editor - resources - paint and spray options will show the non-infinite ore count next to the cursor.

Graphics

  • Added new higher resolution icons for resource ores with randomized variations when drawn on belts.

Bugfixes

  • Fixed that global programmable speaker volume depended on the zoom level. (more)
  • Fixed a crash related to changing biter forces. (more)
  • Fixed that 'signal-check', 'signal-info' and 'signal-dot' were in the 'virtual-signal-color' item subgroup.
  • Fixed a new case of inserters behaving differently when rotated.
  • Fixed unexpected behaviour when it comes to dividing rail segments in some special cases. (more)
  • Extended straight rail collision box, so there is not an empty space between individual rail entities.
  • Fixed Arithmetic Combinator sometimes outputting wrong number when setting a constant in the first field. (more)
  • Fixed wording on the Lua Product documentation + fixed reading probability/amount_min/amount_max from Products. (more)
  • Fixed that modded tiles in blueprints stored in the blueprint library wouldn't persist through mod enable/disable. (more)
  • Fixed that quickbar pick item shortcut would sometimes select the wrong item when rotating quickbars in multiplayer. (more)
  • Fixed that widget under the point of (0,0) got always hovered when mouse left the window. (more)
  • Fixed that leaving the window while entity is selected didn't de-select the entity.
  • Fixed that a fresh stack of wires was not added back to cursor when the cursor stack was depleted. (more)
  • Fixed that train stopped moving without a schedule. (more)
  • Possibly worked around the game extremely flickering on some computers when rendering scenes with lot of draw calls. (more)
  • Possibly worked around "Unknown D3D Error (0x8876017c)" preventing the game to start on some computers. (more)
  • Fixed crash when dragging station while temporary stop being removed. (more)
  • Fixed that train entering block that is reserved more than once by it cancelled all the reservations and opened the block for other trains after leaving (and still having another invalid reservation to it) it which could lead to train collisions and desyncs. (more)
  • Laser turret and robot beams now render properly in the dark. (more)
  • Fixed that in certain translations, there would be a gap between the shortcut bar and alerts if the shortcut selector was open. (more)
  • Fixed that failed mod downloads would be incorrectly marked as successful. (more)
  • Fixed that modded choose-elem-buttons would behave strangely when locked. (more)
  • Fixed that the candidate_spot_count argument to the spot-noise function was ignored.
  • Fixed spitter and worm acid splashes would deal continuous damage to closed gates and trains. (more)
  • Fixed that you could set some invalid signal combinations in combinators using lua. (more)
  • Fixed a desync related to how Lua formatted negative zero. (more)

Modding

  • Moved the train wait condition default times into utility-constants.
  • Fixed that it was possible to specify max_level of technology to be lower then level and crash the game by it. (more)
  • Fixed that the game would allow invalid heat-pipe connections that would end up crashing the game. (more)
  • The update mods GUI will now attempt to install new required dependencies. (more)
  • Added "trigger_target_mask" to entity prototype definition and triggers as more flexible system for filtering entities in triggers.
  • Added "trigger-target-type" prototype type to define custom values for use in "trigger_target_mask". Current limit for total count of trigger-target-types is 56.

Scripting

  • Added LuaGameScript::evaluate_expression(), which can be used to calculate the technology unit cost formula at any level.
  • Added LuaProfiler::divide() to allow printing average duration.
  • Added optional snap_to_train_stop parameter to LuaGameScript::create_entity.
  • Added LuaEntity::ghost_unit_number read.
  • Added "source_index" to on_forces_merged event.
  • Added LuaStyle::padding, margin write.
  • Added LuaEntity::selected_gun_index read/write for cars.
  • Fixed that LuaForce::index was 1 larger than it was supposed to be.
  • LuaGameScript::forces can now be indexed with the name and the LuaForce::index.

0.17.45

Date: 31.05.2019

Bugfixes

  • Changed the go-to-mod buttons in the manage and update tabs of the Mods GUI to switch to the install tab if needed. (more)
  • Fixed that it was possible to open the command console while inside the technology GUI. (more)
  • Fixed that it was not possible to build ghosts in normally visible area which is in fog of war in map view. (more)
  • Fixed a crash when removing modded recipes while hand-crafting those recipes. (more)
  • Fixed that nested CustomGuiStyle changes didn't work correctly. (more)
  • Fixed that inserter would sometimes put items on the wrong side of the belt.

Scripting

  • Added only_in_alt_mode to LuaRendering draw functions.
  • Changed LuaEntity::copy_settings() to also copy settings from ghosts.

0.17.44

Date: 30.05.2019

Changes

  • The resource frequency slider in the map generator settings has a smaller influence over the amount of ore in the starting area patches. (more)
  • Inserters with stack bonus are now smarter when picking up items, and thus slightly faster. (more)

Bugfixes

  • Fixed that researching the appropriate technology would re-add shortcut buttons to the shortcut toolbar even if the player explicitly removed them earlier. (more)
  • Fixed that some saves that contained multiple surfaces would cause the game to crash on load. (more)
  • Fixed that auto-barreling opt-out didn't work if the fluid has icons defined. (more)
  • Fixed that auto-barreling recipes would use the wrong fluid name if the fluid had a custom localised name defined. (more)
  • Fixed that the entity damaged event original_damage value wouldn't be accurate if the entity had shields or resistances. (more)
  • Fixed a performance problem related to the undo logic and large blueprints. (more)
  • Fixed that trying to join Steam networking enabled games with Steam networking disabled didn't work correctly. (more)
  • Fixed that trains built part of a blueprint was snapping to train stop which could prevent some specific blueprints from being built.
  • Fixed smoke for generators without animation. (more)
  • Fixed train circuit conditions not working properly sometimes when arriving at disabled station. (more)
  • Fixed transparency of tables. (more)
  • Fixed reintroduction of blueprint train building problems. (more)
  • Fixed that the game could freeze on exit on Linux after clicking a link. (more)
  • Fixed statistics windows showing strange totals in some situations. (more)
  • Fixed statistics windows not showing the first few values (e.g. when an items is produced for the first time). (more)
  • Fixed that belt immunity equipment would drain energy in armor when not equipped. (more)
  • Using the NO_SCHEDULE train state more consistently (for train in automatic mode with empty schedule. (more)
  • Fixed inserters behaving differently when rotated. (more)
  • Fixed that the control key would be ignored by Factorio on Linux if the "Press Ctrl to highlight the pointer" (or equivalent) option was enabled. (more)
  • Fixed that cloning tiles in the map editor wouldn't always clone transitions correctly. (more)
  • Fixed that the supply mission finished game GUI was too small. (more)

Modding

  • Added optional assembling machine gui_title_key property.
  • Changed belt immunity equipment to consume energy through "energy_consumption" instead of "energy_source.drain".

Scripting

  • Added LuaGuiElement::vertical_centering read/write.
  • Added LuaEntity::auto_launch read/write.
  • Added LuaTransportLine::line_equals().

0.17.43

Date: 24.05.2019

Changes

  • The argument to --generate-map-preview is treated as a directory only if it ends with a '/' or '\'.
  • Car/tank color keeps the color of the last user.

Bugfixes

  • Fixed that the technology GUI could freeze on certain technologies. (more)
  • Fixed a crash when trying to build train ghosts not on rails. (more)
  • Fixed a crash related to changing the logistic mode on an infinity-chest type entity through mods. (more)
  • Fixed low readability tag color highlighting in textboxes. (more)
  • Fixed Korean IME still did not work (Windows only). (more)
  • Fixed statistics graphs X axis labels showing wrong values for 250h and 1000h time frames. (more)
  • Fixed that the wrong entry could be highlighted in the electric network graph. (more)
  • Fixed that picking up an item from quickbar wouldn't reserve the slot with an inventory hand when the inventory was full. (more)
  • Fixed robot energy consumption when using very high speed bonuses. (more)
  • Fixed a false-positive changed message in the mods GUI under specific situations. (more)
  • Fixed icons inside blueprint book items not being scaled properly.
  • Fixed that delimit-procedure noise expressions at the root of an expression tree would crash the compiler.

Modding

  • Added util.combine_icons(icons1, icons2, inputs) function to aid in combining icons tables.
  • Changed the auto_barrel recipe icon generation to account for fluids with an icon_size not set to 32, or fluids with an icons table. (more)

Scripting

  • Added LuaNamedNoiseExpression and LuaGameScript::named_noise_expressions read.
  • Added LuaEntity::tree_stage_index read/write.
  • Added LuaEntity::tree_stage_index_max and tree_color_index_max read.
  • Added "player_index" to the on_rocket_launch_ordered and on_rocket_launched events.

0.17.42

Date: 21.05.2019

Changes

  • Tweaked default graphics settings. The game should choose better default graphics settings for computers with integrated GPUs or less than 6 GB of RAM.

Bugfixes

  • Fixed that GUI element size wasn't updated in inactive tabs when ui scaled changed. (more)
  • Fixed "Confirm Message" conflicting with some key-bindings. "Confirm Message" can no longer be bound to mouse input. (more)
  • Fixed possible crash when rendering GUI element with dynamically loaded sprite. (more)
  • Fixed recipe window showing wrong item count or not enough ingredients in some situations. (more)
  • Fixed a crash when deleting the force of a car with an active logistic network through vehicle equipment grid. (more)
  • Mod names are no longer allowed to contain rich text. (more)
  • Fixed IME (Input Method Editors) did not work (Windows only). (more)
  • Fixed placement of oil and uranium patches back to that of 0.17.40. (more)
  • Fixed that roboports with a request_to_open_door_timeout of 0 wouldn't work correctly. (more)
  • Fixed that products wouldn't allow amount_min of 0 for items. (more)
  • Fixed that migrated/removed fuel items could leave the game in an invalid state. (more)
  • Fixed a crash when building combat robots after resetting the achievements in-game. (more)
  • Fixed that assembler ghosts would carry over the unresearched blueprint bug from 0.17.38. (more)
  • Fixed crash related to clearing a blueprint book from the cursor. (more)
  • Fixed that the rotation of blueprint was not saved to the blueprint library in some situations.
  • Fixed bad icon in pollution statistics. (more)
  • Fixed hand icon not disappearing when you grab a blueprint from chat. (more)
  • Fixed that reviving modded tile ghost entities could destroy other entities in some situations. (more)
  • Fixed car tooltip showing it's moving when it's not actually moving.
  • Fixed car rotating in place when the speed is very low. (more)
  • Fixed that fluid wagons could not carry fluids with sub-zero temperatures. (more)
  • Fixed that rolling stock "must be build on rails" error was not using the name of the rolling stock. (more)
  • Possibly handled fullscreen window being moved to screen of different size on Windows. (more)
  • Fixed a crash when using table_size() without any argument. (more)
  • Fixed players getting a new player character when they connect after disconnecting, connecting and disconnecting again from a paused game. (more)

Modding

  • Added map-gen-seed-max command line parameter.
  • Added generate-map-preview-random command line parameter.
  • Changed generate-map-preview command line parameter to need PATH instead of PNGFILE, the file name is now always the seed.
  • Made "apply_recipe_tint" be applied also to "light" working visualization effects of crafting machines.
  • Added "use_fuel_glow_color" property to reactor prototype.

0.17.41

Date: 17.05.2019

Bugfixes

  • Fixed that some noise expression types used by some mods (literal map positions, offset-points, and distance-from-nearest-point) were unimplemented.
  • Fixed that blueprint rotation was not saved for blueprint books in the blueprint library. (more)
  • Fixed that the focus-search shortcut could be used to bring up the search field when it was disabled. (more)
  • Fixed that game.reload_script() could break LuaRecipe/LuaPrototype references.
  • Fixed a PvP script error on configuration changed. (more)

Scripting

  • Added LuaEntityPrototype::item_slot_count read.
  • Added LuaEntity::get_stopped_train().
  • Added "surface_index" to the on_post_entity_died event.

0.17.40

Date: 16.05.2019

Changes

  • Improved efficiency of noise program compilation and quality of error messages.

Bugfixes

  • Fixed a crash that would sometimes happen after deleting a blueprint from the library. (more)
  • Fixed crash related to train schedule containing only temporary stations. (more)
  • Fixed GUI inspector vertical align value inconsistency (middle instead of center). (more)
  • Fixed LuaInventory::sort_and_merge when used on cargo wagons with inventory limits set. (more)
  • Fixed that distractor robots would show in the bonus GUI under the follower robots section. (more)
  • Fixed that reading invalid chain signals wouldn't work correctly. (more)
  • Fixed yet another ghost connection error related to consistency checks. (more)
  • Fixed some cases of multi-layered icons not being scaled correctly. (more)
  • Fixed power switch connection consistency problem. (more)
  • Fixed "Confirm Message" key-binding not working when bound to some mouse buttons. (more)
  • Fixed backwards/forwards max speed fuel modifier related to two-headed trains. (more)
  • Fixed interactions of assemblers and underground pipe connections blocked by induced fluid mixing. (more)
  • Fixed setting entity ghosts to minable=false didn't work. (more)
  • Fixed that the statistics GUI would show count values < 0.5 as "no count". (more)
  • Fixed a performance problem with high speed idling trains on circular rail networks. (more)
  • Fixed signal placement visualisation for special cases related to straight diagonal rail. (more)
  • Fixed that items supposed to be removed on clearing cursor (copy, cut, paste, blueprints from blueprint library etc.) were put into character corpse. (more)
  • Fixed uranium cannon shells shooting backwards when aimed closed to the tank.(more)
  • Fixed Programmable Speaker alert textbox not losing focus when pressing ENTER. (more)
  • Fixed desync caused by setting font colors on buttons. (more)

0.17.39

Date: 14.05.2019

Bugfixes

  • Fixed that hand crafting wouldn't respect the hide_from_flow_statistics property. (more)
  • Fixed that modded GUI tables did not display borders that were set in their style.
  • Fixed the game would fail on startup if control settings were reset during migration of 0.16 config file. (more)
  • Fixed that train stop "must be build next to rails" error was not using the name of the train stop. (more)
  • Fixed that beam damage interval was sometimes not respected properly.
  • Fixed that beams would be immediately created and destroyed when standing very close to max range.
  • Fixed that beams would not show any animation if the target was killed in one hit. (more)
  • Fixed that laser beams would always aim at player character's feet.
  • Fixed entity hit_visualization_box not working properly.
  • Fixed running out of memory during sprite loading was not handled gracefully. (more)
  • Fixed a map corruption problem when creating games from scenarios that used difficulties per-entity. (more)
  • Fixed that some Lua errors wouldn't show proper lua stack traces. (more)
  • Fixed a crash related to reading pollution statistic values through Lua. (more)
  • Fixed a crash resulting from building a blueprint of an assembler with a fluid recipe that is not researched yet. (more)
  • Fixed that temporary blueprints (e.g. from the copy tool) would sometimes go to inventory instead of being destroyed. (more)
  • Added fluid mixing check to infinity pipe. (more)
  • Fixed that you could build rail ghosts in the basic rail tutorial. (more)
  • Fixed special case of dragging station/condition order in the train configure GUI. (more)
  • Fixed tightspot script error starting the round with flying text on the map. (more)

Changes

  • Changed the mods GUI so it lists mod settings by mod alphabetically using natural ordering.

0.17.38

Date: 10.05.2019

Changes

  • When a train performs path finding while in a chain signal sequence, the pathfinding will have a constraint to not go through reserved block before exiting the chain sequence.
    • This solves a problem of train intersections being possible to be deadlocked even with proper chain signals usage in cases of using temporary stops or when path is changed because of station is being enabled/disabled by a circuit network. (more)
    • This also allowed us to to let train recalculate path spontaneously even in chain signal sequence, as it shouldn't break anything now.
  • When a temporary blueprint(e.g. blueprint from copy) is placed in the quickbar, the blueprint won't be destroyed when clearing the cursor and instead moved to the inventory. (more)
  • Separated incompatible mods from dependencies in browse mods GUI.

Bugfixes

  • Fixed a crash when trying to build locomotives near water/edges of the map. (more)
  • Fixed players getting a new player character when they connect twice to a paused game. (more)
  • Fixed that entity tooltips did not show negative emissions. (more)
  • Fluid assembler ghosts now show correct pipe connections.
  • Fixed a crash when trying to write auto trash filters with not-a-table.
  • Fixed possible fluid mixing from reviving fluid assembler ghost by higher version. (more)
  • Disabled areas of new map GUI are set correctly on exchange string import. (more)
  • Fixed that script rendering sprites loaded from files would disappear on save/load. (more)
  • Fixed that LuaForce::reset_technology_effects() wouldn't preserve things in the research queue. (more)
  • Fixed that using an upgrade planner on a blueprint wouldn't upgrade configured modules. (more)
  • Fixed cross-platform issues related to the Lua bit library. (more)
  • Fixed crash when changing controller in multiplayer and changing your selection at the same time.
  • Fixed that blueprint shortcuts in action bar would become magically available when they are destroyed, if they originated from the blueprint library. (more)
  • Fixed that technology tooltips could sometimes end up behind the technology screen. (more)
  • Fixed that target leading would not take into account any slowdown modifiers on units. (more)
  • Fixed that the favorite button for servers wouldn't work correctly if the server was already selected. (more)
  • Fixed that rocket silos would show an unhelpful status in the tooltip. (more)
  • Fixed PvP crash when loading save games before "player" -> "character" rename. (more)
  • Fixed PvP crash when importing old configs. (more)
  • Fixed that only some parts of the current research info panel would open the technology tree when clicked. (more)

Scripting

  • Added LuaTechnology::visible_when_disabled read/write.

0.17.37

Date: 07.05.2019

Bugfixes

  • Fixed acid splashes were blocking placement of buildings. (more)
  • Fixed that acid splashes would have a burning sound effect.
  • Fixed typo in font name that would cause crash in Cyrillic locales on Linux. (more)
  • Fixed that script changing train path as a reaction to train created event could break the rolling-stock connection process. (more)
  • Fixed that scroll panes empty areas of the mod GUI was blocking the mouse interaction with the map. (more)
  • Fixed that ghost rail building didn't avoid ghost buildings properly. (more)
  • All unused control inputs are saved in the config file, to preserve mod key bindings even when the mod is disabled and enabled again. (more)
  • Fixed that zooming in the train preview window didn't respect the zooming key binding settings. (more)
  • Fixed that train with no path changed from NO_PATH to PATH_LOST and back to NO_PATH every few seconds. (more)
  • Fixed that train waiting at the signal changed from WAIT_SIGNAL to ARRIVE_SIGNAL and back to WAIT_SIGNAL every few seconds. (more)
  • Fixed a crash that would sometimes happen when two players were connecting to a server at the same time and one of them quit before the map finished saving. (more)
  • Fixed a crash related to modded deconstruction item filters. (more)
  • Fixed performance issues in mipmap generation routines causing the game to freeze or crash at 95% of sprite loading. (more)
  • Fixed traditional Chinese font being used for simplified Chinese. (more)
  • Fixed that pollution would not be shown in entity tooltip when using a void energy source. (more)
  • Fixed PvP re-roll round button not generating a different map with only a single team.
  • Fixed PvP state when playing Last silo standing with only a single team.
  • Fixed PvP DEFCON mode interaction with research queue.
  • Fixed screenshot rendering could crash when using LuaScriptRendering API to draw a sprite from file. (more)

Modding

  • Added CraftingMachinePrototype::entity_info_icon_shift.
  • Added CraftingMachinePrototype::draw_entity_info_icon_background.

Scripting

  • Included "item" in on_built_entity event when ghost cursor building.

0.17.36

Date: 03.05.2019

Graphics

  • Added new specific remnants for various entities. (Work in progress beginning with 0.17.36)

Bugfixes

  • Fixed that ghosts could be built in fog of war.
  • Fixed a stack overflow when merging large electric networks (149'000+ electric poles). (more)
  • Fixed some achievements not counting their requirements properly. (more)
  • Changed worm and spitter acid attack so they do not create acid splashes on water. (more)
  • Changed fonts for Asian languages (Chinese, Japanese, Korean).
  • Fixed that power switch connections weren't restored by undo. (more)

Modding

  • Added "check_buildability" to "create-fire" trigger effect definition.
  • Added "tile_collision_mask" to "create-entity" and "create-fire" trigger effect definitions as faster alternative to full buildability check.
  • Added "trigger_created_entity" to "create-fire" and "create-sticker" trigger effect definitions.

Scripting

  • Added "item" to the on_built_entity event.

0.17.35

Date: 02.05.2019

Changes

  • Increased the maximal length of station name to 1024, mainly to allow wider usage of multiple tags in the name. (more)

Bugfixes

  • Fixed that making blueprints of locomotive ghosts wouldn't include the schedules. (more)
  • Fixed that worms and spitters didn't show attack parameters in description.
  • Fixed that the game would crash if it was closed when Sound Settings was opened. (more)
  • Limited the manual rail building distance to 3 times the normal building distance.
  • Fixed dangling tooltip bug related to widget reorganization in map generator GUI and possibly other places. (more)
  • Fixed that the train time condition label wasn't properly set to squashable resulting in wrong layouting in certain languages. (more)
  • Fixed truncation of labels containing rich text. (more)
  • Fixed PvP and Wave defense starting base entities wouldn't spawn if a mod added a tile with a certain collision mask and a name which sorted alphabetically above dirt.
  • Fixed PvP production score error when a mod or script adds another force during a round.
  • Fixed PvP error when using DEFCON mode.
  • Fixed that the shortcut bar selection list wasn't scrollable until the window was resized. (more)
  • Making disabling of features in map generator more clear by adding checkboxes for it. (more)
  • The wagon door opening animation (that is only available for horizontal/vertical direction) is now chosen based on the drawing sprite of the wagon selected instead of the orientation of the wagon. This means, that orientations really close to horizontal/vertical still use the animation. (more)
  • Fixed that changing map size didn't mark the map preset as modified. (more)
  • Fixed label text not updating correctly when cleared and had non-zero minimal width and height. (more)
  • Improved handling of whitespace characters in technology count formula parsing.
  • Checking that only the l (or L) variable used in the technology formula on startup, to avoid errors later on. (more)
  • Fixed NPE error at startup that could occur when using mods. (more)
  • Fixed GUI window of an entity not updating when pasting settings to that entity. (more)
  • Fixed error in consistency check of ghost connections related to multiple connections to entities only in the undo queue. (more)
  • Fixed train condition fulfilling indication for artillery wagon. (more)
  • IDXGIOutput::FindClosestMatchingMode returning an error is not treated as critical failure anymore. (more)
  • Fixed that the Mods GUI go-to-dependency buttons wouldn't work in some scenarios. (more)
  • Fixed that ghost building mode works the same as ghost building (with shift) when it comes to rail building. (more)
  • Fixed that upgrading entities in would leave invalid module requests. (more)
  • Fixed, that sorting changes were moving the scrolled position in the browse game gui. It is now consistent with the mods gui. (more)
  • Fixed some achievements being given to players while the save game is loading, not respecting player online time. (more)
  • Fixed LuaTransportLine::output_line read for right-hand output lines of a lonely splitter. (more)
  • Fixes to make tabbed pane work properly when it comes to squashing in different situations. (more)
  • Tweaked the algorithm that is putting trains on rails to work properly in junctions when constrained by the direction caused by blueprint/ghost train building. (more)

Modding

  • Renamed the character entity type and name from "player" to "character" to make it consistent with how we call/access it in all other places.
  • Renamed the technology personal-roboport-equipment-2 to personal-roboport-mk2-equipment and gave it corresponding icon to be consistent with other technologies of this kind.
  • Renamed the technology power-armor-2 to power-armor-mk2 to be consistent with other technologies of this kind.
  • Added optional storage tank prototype property "scale_info_icons".
  • Added "manual_rail_building_reach_modifier" to the utility-constants.
  • MapGenPresets' advanced_settings.difficulty_settings.research_queue_setting now works. (more)

Scripting

  • Mod GUI root elements (top/left/center/goal) are now contained in scroll panes, so when there is not enough space, it will become scrollable instead of being cut off. With enough space, it looks the same as before, the only change is, that the mod GUI contents can now not expect to be squashed by the screen, as it will just make a scroll bar instead.
  • Added LuaCircuitNetwork::connected_circuit_count read.
  • Added LuaEntity::time_to_live read/write for highlight box entities.
  • Added LuaEntity::allow_dispatching_robots read/write.
  • Added LuaEntity::toggle_equipment_movement_bonus().
  • Added LuaEquipmentGrid::inhibit_movement_bonus read/write.
  • Added optional 'radius' to LuaSurface 'find_xyz' functions.
  • Added defines.inventory.editor_main, editor_guns, editor_ammo, editor_armor.
  • AutoplaceSpecification::control is always included in property tree, even for non-peak-based autoplace specifications. (more)
  • Fixed a save corruption problem when using LuaSurface::clone_area(). (more)
  • Renamed defines.inventory.player_main, player_guns, player_ammo, player_armor, player_vehicle and player_trash to defines.inventory.character_main, character_guns, character_ammo, character_armor, character_vehicle and character_trash.
  • Removed LuaStyle::title_top_padding, title_right_padding, title_bottom_padding and title_left_padding.

0.17.34

Date: 26.04.2019

Changes

  • Improved fluid simulation threading. Decreases CPU usage. Threading available on all operating systems. Simulation performance should remain unchanged.

Bugfixes

  • Fixed a crash when importing blueprint strings with power switch wires.
  • Fixed fluid mixing for fixed recipe assemblers. (more)
  • Fixed "Not enough rails" message after successful track placement. (more)
  • Fixed a crash when destroying entities during the on_pre_ghost_deconstructed event. (more)
  • Fixed that trains with "logistics while moving" disabled would not deploy robots when switched into automatic mode while waiting at a station (more)

0.17.33

Date: 24.04.2019

Changes

  • Added out of fuel alert icon to flamethrower turrets.
  • UI scale won't be synchronised over Steam Cloud anymore. (more)
  • Syncing startup settings with a server will automatically join the server on game restart. (more)

Bugfixes

  • Fixed yet another consistency bug related to ghost connections. (more)
  • Fixed crash related to changing force of entity marked for deconstruction/upgrade/in undo queue. (more)
  • Fixed a crash resulting from overlapping underground pipes. (more)
  • Fixed power grid overlay not showing correctly on map when changing surfaces. (more)
  • Fixed another instance of furnaces with fluid outputs not working correctly. (more)
  • Fixed multiplayer paused notification not being cleared when the client is dropped. (more)
  • Fixed accumulators showing discharge animation and empty icon at the same time. (more)
  • Fixed that the game would desync when changing forces of beams, fluid streams, projectiles, stickers, and fire flames.
  • Fixed player inventory income flying text would sometimes show incorrect total item count. (more)
  • Fixed switched technology levels in the console message when changing research. (more)
  • Fixed that the keyboard shortcuts for new blueprint/upgrade planner/deconstruction planner wouldn't work when the cut or copy tool was selected. (more)
  • Changed render layer of belts marked for deconstruction so they don't clip with other belts. (more)
  • Fixed attempt to rotate ore patches that are out of reach would create "Can't Reach" floating message. (more)
  • Fixed that generators would produce infinite pollution in some cases. (more) (more)
  • Fixed that generator tooltips did not show pollution. (more)
  • Fixed that LuaGameScript::tick_paused read was not of type boolean. (more)
  • Fixed that the map editor convert-save-to-scenario didn't work correctly in some cases. (more)
  • Fixed that the map editor intensity slider number fields wouldn't accept numbers outside the slider range. (more)
  • Fixed that the deconstruction planner "tiles only" mode would ignore tile ghosts. (more)
  • Fixed that exporting blueprint strings wouldn't include pending icon changes. (more)
  • Fixed that cloning rocket silos with rockets waiting to launch wouldn't auto-launch correctly. (more)
  • Fixed that cloning single entities with wire connections to themselves didn't work correctly. (more)
  • Fixed a desync related to rail item names. (more)
  • Map generator GUI now remembers the last preset used.
  • Fixed an older bug with pull-placement of power poles. (more)
  • Fixed copying files to temp folder would preserve read only permissions, which could cause errors. (more)
  • Fixed rich text issue with sometimes removing font/color tags when it shouldn't. (more)

Modding

  • Fixed that trivial smoke wouldn't work correctly if it moved > 8 chunks from its origin. (more)
  • Renamed gate prototype collision_mask to opened_collision_mask so that it can be different from the entity collision mask.

Scripting

  • Changed creation of tile ghosts to use "ghost_name" to match the rest of the API.
  • Added LuaSurface::entity_prototype_collides() and LuaSurface::decorative_prototype_collides().
  • Added LuaRecipePrototype::allow_decomposition read.
  • Added LuaSpriteButton::number allows nil value, which signals/specifies no number to be drawn, which now allows showing of 0.
  • Added LuaTrain::signal read.

0.17.32

Date: 18.04.2019

Changes

  • Admins ignore multiplayer map upload slot limit.
  • "Player is being dropped"/"Server not responding" messages will only show after 2 seconds, to avoid irrelevant short pop-ups.

Bugfixes

  • Fixed that the server-settings.example.json had an additional comma at the end of the file. (more)
  • Filled in a missing fluid mixing check for miner. (more)
  • Fixed that create-blueprint-item shortcut prototypes could have no item_to_create set. (more)
  • Fixed upload slot queue blocking players from joining even if not all slots were filled.
  • Fixed a desync from rotation of an assembler with fluid energy source. (more)
  • Fixed connection consistency problems of wire/circuit connections ghosts and undo. (more)
  • Added a no-crop requirement to the wire sprite definitions to avoid mods removing it, which can confuse the drawing logic. (more)
  • Fixed text boxes that would not respect keyboard layout for shortcuts like copy or paste. (more)
  • Fixed blocking of game shortcuts when a text box has focus did not take into account keyboard layout settings. (more)
  • Fixed the game would not respect remapping of modifier keys (Ctrl, Shift, Alt) in operating system. (more)
  • Fixed it wasn't possible to bind mouse buttons 6 to 9. (more)
  • It is no longer possible to teleport an entity into fluid mixing. (more)
  • Fixed a crash when defining a programmable speaker with no instruments. (more)
  • Sync-mods-with-save will no longer offer to load-save when attempting to sync while hosting a multiplayer game. (more)
  • Fixed when negative health regeneration wouldn't work when the entity had full health. (more)
  • Fixed a crash related to migrating game versions while having gates marked for deconstruction with ghost walls built over them. (more)

Modding

  • For performance reasons inserter pickup/dropoff vectors are now limited to half a chunk or less.

Scripting

  • Added LuaEntityPrototype::lab_inputs read.
  • Added LuaEntityPrototype::researching_speed read.
  • Added LuaGameScript::pollution_statistics read.

0.17.31

Date: 12.04.2019

Bugfixes

  • Fixed a crash when hosting multiplayer games in some scenarios.

0.17.30

Date: 12.04.2019

Minor Features

  • Added ability to set a maximum number of map upload slots for multiplayer servers. Setting this is recommended to prevent the server from being flooded with map fragment requests from clients.

Optimizations

  • Optimized alt-mode icon background rendering. (more)

Bugfixes

  • Fixed that cut tool marked trees/rocks/cliffs for deconstruction when there was other valid entity in the selection. (more) (more)
  • Fixed that movement by keys or clicking on an alert didn't unsnap the currently followed train in the map. (more) (more)
  • Fixed that the game would crash when showing blueprint library tooltips. (more)
  • Fixed that the game would crash when showing a blueprint library tooltip in multiplayer when the blueprint/book was removed by another player.
  • Fixed alt-mode icon background for narrow icons was be very subtle. (more)

0.17.29

Date: 12.04.2019

Changes

  • Simplified rail building. Holding shift while rail building always activates the combination of ghost-rail-building + remove-obstacles, releasing shift returns back to normal manual mode. It doesn't matter anymore, whether the rail building started with shift or not. This removed the possibility to do ghost-rail-building without the remove-obstacles, but since it seems to be almost useless, we consider it to be worth the simplification.

font/color rich text tags now have to be properly terminated. This means eg: "[color=red]Red circuits" will now need to be "[color=red]Red circuits[/color]". This fixes a number of issues with handling start/end tags. (more) (more)

  • Enter key will be shown as "ENTER" instead of "RETURN" on Windows and Linux. (more)
  • Minor Features
  • Added a shortcut for increasing/decreasing/resetting UI scale, mainly for debugging of proper automatic adjustment of UI, but people might find it useful for something as well.

Bugfixes

  • After a realization of a big misleading mistake, the pollution per second had to be renamed to pollution per minute, because it is what it actually is. (more)
  • Fixed that tree pollution absorption was recorded as pollution emission in the statistics.
  • Fixed that equipment electric network priority migration wasn't present. (more)
  • Crafting group selection by typing exact recipe match will now preserve the same way as selecting the crafting group manually. (more)
  • Fixed few layouting issues in the mods GUI. (more)
  • Fixed that sticker duration could be 0. (more)
  • Restored previous behavior where normal (not only underground) pipe connections reconnected when a fluidbox got removed. (more)
  • Fixed crash when robots try to revive locomotive that has both front and back wheels on rails, but no rail in-between. (more)
  • Fixed that repair packs could be lost if they didn't fit in your inventory when using personal robots. (more)
  • Added missing pipe connection arrows to flamethrower turret. (more)
  • Fixed that custom GUI style values specified directly on the elements weren't updated after UI scale change. (more)
  • Fixed that the electric network GUI would sometimes be opened when starting deconstruction planner selection on an electric pole in the map view. (more)
  • Fixed that Textfield and Sliders didn't update its size properly on UI change.
  • Fixed UI change update in ModSettingsGui and MapGeneratorGui with preview open.
  • Fixed quickbar selection disappearing when cursor stack is refreshed with a new stack. (more)
  • Fixed that nested frame styles (horizontal flow, vertical flow, header filler flow, filler) weren't initialized/updated correctly in the GUI created by script.
  • Fixed that the loading indicator in the browse games GUI was left of the "Back" button. (more)
  • Fixed turret prototype definition allowed ammo_type of attack_parameters to be optional resulting in crash when the turret started to shoot.
  • Don't consider recipes with 0 minimum amount (and possible randomised result) when resolving automatic crafting of ingredients when crafting manually. (more)

Scripting

  • Changed the LabelStyle::want_ellipsis default value to true and it is never changed to be something else now. We are considering to even remove this style property completely, as we basically want the ellipsis always when the label is squashed.
  • Added tile parameter to on_player_built_tile and on_robot_built_tile.
  • Removed unused on_player_tool_inventory_changed event.

Modding

  • Added emissions_per_minute property in the energy source, that is supposed to replace the emissions_per_second_per_watt which was basically wrong and hard to work with, both emissions_per_second_per_watt emissions definition will work for some time (at least in 0.17) so mods don't get broken.

0.17.28

Date: 09.04.2019

Bugfixes

  • Fixed a crash when hovering over some inventory-like GUI elements.

0.17.27

Date: 09.04.2019

Bugfixes

  • Fixed that pollution statistic values from entities were reversed and didn't increase evolution. more
  • Fixed a crash when mods would set special_signal = true for virtual-signal prototypes.
  • Fixed a crash when a mining drill is destroyed during the resource-depleted event.
  • Fixed a crash when loading modded saves related to recipe migrations and fluidboxes.
  • Fixed a desync related to the blueprint library and keeping outdated blueprints between versions.
  • Fixed crash when undoing manual removal of entity marked for deconstruction. more
  • Fixed that the technology GUI would show 100% researched for near-100% values. more
  • Fixed crash when calling LuaGameScript::take_technology_screenshot for force that doesn't have any technologies enabled.
  • Fixed that action bar link to blueprint in the inventory had tooltip size limited too much. more
  • Fixed that blueprint cost table width wasn't correct for UI scale different than 100%.

Scripting

  • Added surface_index to the on_robot_mined_tile event.

0.17.26

Date: 08.04.2019

Changes

  • Reverted fonts used for Chinese, Japanese, Korean and Russian localizations to pre-0.17.24 versions.

Bugfixes

  • Fixed that circuit connection from ghost to entity wasn't preserved when it was upgraded or undone. (more)
  • Fixed that it was possible to rotate entities whilst the technology GUI was open. (more)
  • Fixed that the updates-available counter in the update-mods tab didn't update as mods would be updated. (more)
  • Fixed that LuaSurface::get_closest() did not check the type of the second parameter. (more)
  • Fixed that LuaEntity::revive() raise_revive parameter sometimes did not work. (more)
  • Fixed that script render objects sometimes did not render in screenshots.
  • Fixed a crash when rendering inserter interactions for modded furnace recipes without item ingredients.
  • Fixed research queue and technology tooltip for long technology names. (more)
  • Fixed sprites would render as corrupted on some GPUs with texture streaming enabled. (more)
  • Fixed layouting of filters of deconstruction planner in a tooltip. (more)
  • Fixed that the rocket silo alt-info module icons didn't render in the correct location due to the size changes. (more)
  • Fixed several inconsistencies with the map editor paused state in multiplayer. (more)
  • Fixed schedule merging when more than one step of connecting train is done and part with the empty schedule is connected first. (more)
  • Fixed pollution reporting of machines with negative pollution when there is not enough pollution to absorb. (more)
  • Fixed that building a new rail through robots changed all rail-bound train stops to that station. (more)
  • Fixed a crash when departing from temporary stations while all other stations in the schedule are invalid. (more)
  • Fixed that setting a character controller for an offline player would crash the game. (more)
  • Fixed trains overview GUI updating and performance problems. (more)
  • Fixed that long server names were overflowing in the Browse games GUI. (more)

Scripting

  • Added LuaAutoplaceControlPrototype::category read.
  • Added LuaEntityPrototype::alert_icon_shift read.
  • Added LuaForce::research_queue read/write.
  • Added LuaForce::add_research() and cancel_current_research().
  • Removed LuaForce::current_research write.
  • Changed cutscene waypoints to allow all entities as targets.

0.17.25

Date: 04.04.2019

Changes

  • The Mods GUI will now always include a link to the mod portal for the selected mod.

Bugfixes

  • Fixed roboport area rendering for players. (more)
  • Fixed a crash when trying to print invalid values through the Lua API. (more)
  • Fixed that the rail world preset didn't allow to get some achievements due to smaller base size. (more)
  • Fixed that the technology GUI technology cost wouldn't show numbers > 2^32 correctly. (more)
  • Fixed that custom checkboxes didn't render correctly in some cases. (more)
  • Fixed opening nested items in items so the same item isn't opened multiple times. (more)
  • Fixed a crash when trying to filter standalone character ammo slots. (more)
  • Disallowed building train stops in intersections.
  • Fixed that cloning fluid turrets with fluid would crash the game.
  • Fixed that cloning transport belts could crash when cloning fails.
  • Fixed personal roboport would render its construction area even when toggled off. (more)
  • Fixed train stop names were rendered without rotation. (more)
  • Fixed Russian and several other localizations would not show symbols ≠, ≤, ≥ in train conditions and decider combinators. (more)
  • Fixed Chinese and Japanese text was too small to read. ([https://forums.factorio.com/68919)
  • Fixed that deleting mods would follow symlinks instead of just removing the symlink. (more)
  • Fixed that mining drill can't-build messages would be wrong in some cases. (more)
  • Fixed that the game finished GUI would not show the time played if there were no kills.
  • Fixed building underground pipes over ghosts could crash/corrupt the game. (more)
  • Fixed that the shortcut selection list wouldn't use a scroll bar if the shortcuts didn't fit on the screen. (more)

Modding

  • Recipes with duplicate ingredients or products will now error at startup instead breaking crafting runtime. (more)
  • Scripting
  • Added surface_index to the on_robot_built_tile event.

0.17.24

Date: 02.04.2019

Balancing

  • Changed god controller inventory size to be the same as the character inventory size.

Bugfixes

  • Fixed rendering of targeting range visualization for turrets with limited turn range. (more)
  • Fixed parameters passed to LuaPlayer::zoom_to_world didn't have any effect. (more)
  • Fixed that power poles would sometimes build automatically when they shouldn't. (more)
  • Fixed that editing map gen settings for the non-default surface using the map editor didn't work. (more)
  • Fixed that LuaSurface::spill_item_stack would ignore belts by default. (more)
  • Fixed that LuaEntity::set_request_slot() wouldn't allow filters with a count of 0. (more)
  • Fixed that copying assembler settings would copy direction as well. (more)
  • Fixed that automation and logistics technologies were marked as upgrades.
  • Fixed that non-upgrade technologies didn't show the level properly. (more)
  • Fixed default key bindings for in-game copy, paste and undo shortcuts on Russian keyboard layout. (more)
  • Fixed that remote.call() with small strings didn't work correctly. (more)
  • Fixed lamp lighting up for 1 tick without any electricity. (more)
  • Fixed that the next infinite research level wouldn't appear in the technology list after the previous level was queued. (more)
  • Fixed a crash when changing modded recipes that used fluid inputs or outputs. (more)
  • Fixed lamp showing full electricity bar without any electricity. (more)
  • Fixed that large sequential lua tables wouldn't be saved and loaded correctly. (more)
  • Fixed poor performance when rendering logistic network overlays. (more)
  • Fixed that the shortcut for opening the console could be also entered into it (does not fix dead keys).
  • Fixed Scroll Lock would trigger an event on both key down and key up. (more)
  • Fixed trains stop names with icons in them would look wrong when pinging a train station in chat. (more)
  • Fixed that crafting machines could not be rotated if they used a heat energy source and didn't have fluid boxes. (more)
  • Fixed inventory hand sometimes pushing items out of the inventory and spilling them on the ground. (more)
  • Fixed that some languages had no name, and that some used their English name, and some the name in the language itself. (more)
  • Fixed incorrect scaling of cyrillic characters when viewing them with your language set to English.
  • Fixed two crashes from migration of modded fluid using entities. (more)
  • Fixed that clicking a technology in the research queue would select the next available level instead of the queued level. (more)

Scripting

  • Added LuaEntity::get_max_transport_line_index().
  • Added LuaPlayer::last_online read.
  • Added allow_belt parameter to LuaSurface::spill_item_stack.
  • Added corpses parameter to on_post_entity_died.

0.17.23

Date: 29.03.2019

Bugfixes

  • Fixed that merging two electric networks didn't merge the statistics which was introduced by the power switch addition in 0.13. (more)
  • Fixed light not turning off properly when using fluid energy source on an entity. (more)
  • Fixed a crash when building large electric poles. (more)

Modding

  • The game now checks that technology levels are contiguous.
  • Non-upgrade technologies are now considered to be level 1; previously they were level 0.
  • Renamed "electric-energy-accumulators-1" to "electric-energy-accumulators".

0.17.22

Date: 29.03.2019

Bugfixes

  • Fixed vertical squashing of listbox. (more)
  • Fixed in-game updater would not work on Windows if Factorio path or write data path would contain non-ASCII characters. (more)
  • Undoing action of building entity that removed ghosts also restores the ghosts. The same with removal of ghosts by cancelling deconstruction. (more)
  • Fixed that building power poles when moving very fast did not have consistent spacing. (more)
  • Fixed undo of train deconstruction. (more)
  • Fixed undo of circuit conditions of entities in the ghost state. (more)
  • Fixed train pathing inconsistency between normal station departure and waypoint. (more)
  • Fixed problems related to rail path waypoints and station removal.
  • Fixed logarithmic sliders not showing value of 1. (more)
  • Fixed logarithmic sliders showing the same value for some positions.
  • Fixed logarithmic sliders not showing correct initial position.
  • Fixed Rich text icons not working in rotated text. (more)
  • Fixed a crash when loading saves converted to scenarios in the map editor after changing mods. (more)
  • Fixed that the inventory hand was not activated when the cursor was auto-refilled when entity building, tile building, fast transferring, repairing, using capsules or dropping items. (more)
  • Fixed that fast-replacing ghosts would not transfer settings.
  • Fixed that double clicking on a list box scroll bar would trigger the confirm action. (more)
  • Fixed train GUI preview not centering on locomotive when opening the color picker. (more)
  • Fixed gui clipping for scrollpane inside a scrollpane. (more)
  • Fixed biters ignoring the player when building a new base. (more)
  • Fixed that copying settings with a blueprint would not show returned materials. (more)
  • Fixed turret ranges with huge radius would not render correctly when zooming into a map. (more)
  • Fixed that the reset queue would reset if the the game window is resized whilst the technology GUI is open. (more)
  • Fixed that resizing the game window would clear the search filter in the technology GUI. (more)
  • Fixed that crafting machines with an empty fluid_boxes key could be rotated. (more)
  • Fixed train state not updating properly in some specific cases. (more)
  • Fixed mining drill showing misleading message when building on top of invalid resources. (more)
  • Fixed a crash related to assemblers that sometimes occurred during loading 0.16 modded games.
  • Fixed a crash when opening map too fast after creating a new game or new surface. (more)
  • Fixed LuaPlayer::open_map, close_map, zoom_to_world would mutate rendering state while render thread was possibly using it causing crash. (more)
  • Changed the custom scale slider in interface settings to be disabled when automatic scale is selected.
  • Fixed train path finding in a special case of a loop with no signals and exactly one intersection. (more)
  • Fixed clipping when the preset description in the map generator is scrollable. (more)
  • Better path selection within one segment that is in a loop. (more)

Scripting

  • Added LuaEntityPrototype::secondary_collision_box read.

0.17.21

Date: 26.03.2019

Bugfixes

  • Fixed gates sometimes not closing when next to cliffs. (more)
  • Fixed crashes related to GUI tables. (more)

0.17.20

Date: 26.03.2019

Changes

  • Removed RTL language translations (Hebrew, Arabic). (more)

Bugfixes

  • Fixed crash when opening technology tree.
  • Fixed blueprint loading related to trains and temporary stations. (more)
  • Fixed that the quick bar and shortcut bar weren't aligned on UI scales other than 100% and 200%, making the game literally unplayable. (more)
  • Fixed fuzzy search in the select-a-filter GUI could show empty groups. (more)

0.17.19

Date: 25.03.2019

Bugfixes

  • Fixed various layouting problems related to tables.
  • Fixed upgrading underground belt ghosts would not recalculate underground connections resulting in desyncs. (more)
  • Fixed construction robot tutorial when spamming ghost radars. (more)
  • Fixed that some entities didn't show the not enough power icon. (more)
  • Fixed possible crash when editing font names in rich text. (more)
  • Fix of previous fix of certain situations of assembler settings copy/paste. (more)
  • Fixed that toolbar buttons stayed pressed down. (more)
  • Fixed crash when an inventory gui was shown with 0 slots. (more)

Scripting

  • Added LuaGuiElement::scroll_to_top(), scroll_to_bottom(), scroll_to_left() and scroll_to_right().
  • Added LuaGuiElement::scroll_to_element().
  • Added LuaEntityPrototype::has_belt_immunity, pollution_to_join_attack, min_pursue_time, max_pursue_distance, radar_range, move_while_shooting, can_open_gates, affected_by_tiles, distraction_cooldown and spawning_time_modifier read.
  • Added LuaEntityPrototype::inserter_extension_speed and inserter_rotation_speed read.
  • Added LuaTransportLine::input_lines read.

0.17.18

Date: 23.03.2019

Changes

  • Dragging power poles over ghosts of the same type will revive them. (more)
  • Replaced the hand graphic in the quickbar with a selected graphic, so blueprint books are visible.

Bugfixes

  • Solved train positioning when being built by robots. (more)
  • Fixed that playing Factorio in full-screen mode on macOS would hide all notifications. (more)
  • Allow commas with spaces after in color tags. (more)
  • Fixed the mechanic of saving a scenario locally when joining a multiplayer game that uses a scenario you don't have didn't work correctly. (more)
  • Fixed that the burner light would still glow even when the entity is sleeping. (more)
  • Assembler copy/paste now works correctly when pasting both recipe and direction with fluid mixing around. (more)
  • Tool shortcut bar selection list can be closed with ESC. (more)
  • Fixed that some technologies wouldn't show in the technology list if they were fully researched. (more)
  • Fixed incorrect zooming speeds when using keyboard to zoom. (more)
  • Blank property expression names in map gen settings JSON are ignored. (more)
  • Seed1 arguments above 255 to noise functions no longer crash the game, warning about the upper bits being ignored, instead. (more)
  • Fixed broken supply challenge. (more)
  • Fixed slow horizontal trackpad scrolling in the tech tree view. (more)
  • Fixing one situation of underground pipe connection over a ghost. (more)
  • Fixed blueprint icons not disappearing when using set_quick_bar_slot (more)
  • Fixed PvP force modifiers were being overwritten. (more)
  • Fixed "graphics_variation" was read-only on entities of type "corpse". (more)
  • Fixed buildability check of some fluid entities in blueprints. (more)
  • Fixed gui layouting related to having more squashable elements with different minimal sizes in one row/column.
  • Fixed possible crash when hovering the statistics graphs.
  • Fixed a crash when using LuaGameScript::show_message_dialog during on_init.
  • Fixed headless server would hang when shutting down on Windows. (more)
  • Fixed interaction of pipe underground connections of different reach. (more)

0.17.17

Date: 21.03.2019

Changes

  • Fast replacing power poles will keep existing connections but also try to connect to further away power poles if possible. (more)
  • 0-255 numbers are now allowed in [color] tags. The game will detect if you want to use floats or 0-255, just like the /color command. (more)

Bugfixes

  • Solved transport line compression related to splitters for various corner cases. (more)
  • Fixed texture-compression config values that were valid in 0.17.15 but are not valid since 0.17.16 would cause error on startup. (more)
  • Fixed that reverse/forward speed limits of the train movements were mixed up. (more)
  • Fixed that reverse locomotive power was the same as forward.
  • Fixed item transfers tutorial giving combinators instead of wood. (more)
  • Fixed tutorials showing migrations dialog.
  • Fixed slow inserters on transport belt madness level 3. (more)
  • Fixed massive biter clumps in Wave defense. (more)
  • Fixed a crash when importing save files into saves with different technology levels researched.
  • Fixed that swapping Command and Option keys on macOS caused neither one to work in Factorio. (more)
  • Fixed that the technology GUI would list all technology levels if the technology was fully researched. (more)
  • Fixed a crash when using /swap-players. (more)
  • Fixed a crash when rotating some modded underground pipes. (more)
  • Fixed poor performance when large chat messages are rendered. (more)
  • Fixed a crash when a train traveling to a temporary stop has its schedule copy-pasted. (more)
  • Fixed a crash when using "Join server after sync" for server hosted over Steam Networking. (more)
  • Fixed hand missing from quickbar when selecting shortcuts to the blueprint library. (more)

Scripting

  • Added LuaControl::open_technology_gui(technology) which will open the technology GUI and select the given technology.

0.17.16

Date: 19.03.2019

Changes

  • Disabled vanilla pollution attacks in the NPE until after the final wave.
  • Changing teams in PvP will try to preserve the current character. (more)

Bugfixes

  • Fixed alerts showing for trees and rocks in the NPE (more)
  • Fixed solid fuel not triggering "fuel furnace" quest item (more)
  • Potentially fixed scrap metal crash bug again (more)
  • Fixed that a fluid furnace revived from a ghost would not work. (more)
  • Fixed that launching tutorials could leave the running game in a broken state. (more)
  • Fixed that clearing the ghost cursor did not clear the hand in the quickbar. (more)
  • Fixed Compilatron blocking placement of burner inserter in NPE (more)
  • Fixing a bug from last version that allowed fluid mixing by setting a recipe in assembler. (more)
  • Different alert when unable to revive ghost due to fluid mixing by hand vs. by robot. (more)
  • Fixed spitters would not properly target construction robots that are blocked from fulfilling their task. (more)
  • Fixed a crash when joining Steam game invites while a multiplayer connection is in progress.
  • Fixed that the "research finished" indicator would display the wrong technology level. (more)
  • Fixed a crash when removing the end rail of a temporary train order. (more)
  • Fixed that cargo wagon filters wouldn't get preserved in blueprint strings. (more)

Scripting

  • Fixed that printing the output of LuaProfiler anywhere except log(...) would cause a desync. Note: this means if the results are shown in things like player.print() they won't persist through save/load (but won't cause desyncs).
  • Fixed Electric Pole smart coverage placement not building over other pole ghosts. (more)

0.17.15

Date: 18.03.2019

Changes

  • Fixed that trains wouldn't depart for temporary stops when waiting at a station. (more)
  • Fixed that two headed train running out of fuel didn't trigger the out of fuel alert in one of the directions. (more)
  • Improved Compilatron's ability to select a free space when indicating structures by a factor of 16.6.
  • The player must now wait for Compilatron to follow before being allowed to evacuate the first area of the NPE.
  • The player must collect at least some of their structures before evacuating the first area of the NPE.
  • Updated the player spawn after big biter attack in case the player wants to check how aggressive the biters are.
  • Compilatron now has its own icon.
  • Biters and worms in the NPE will now be aggressive except in special situations.

GUI

  • It is now possible to scroll horizontally with a touch pad in the tech tree view. (more)

Bugfixes

  • Fixed bugged Compilatron speech in NPE when showing blocked miner.
  • Turrets placed in the starting area will now be detected during the entrench step of the NPE. (more)
  • Fixed flamethrower turret range visualization was rendered in wrong layer. (more)
  • Fixed editing map gen settings in the map editor would crash the game. (more)
  • Fixed that robots would still try to deconstruct trains that left their network. (more)
  • Reduced screen tearing on Windows 7 when Aero is disabled. (more)
  • Fixed that converting games to scenarios and back could corrupt script global data. (more)
  • Fixed that disabling friendly fire prevented fish from healing. (more)
  • Fixed that LuaEntity::destroy({do_cliff_correction=true}) was ignored. (more)
  • Fixed toggle state of item selection buttons when clicked with item to fast-select. (more)
  • Fixed that the Q that cancels wire dragging also removed the hand from the quickbar. (more)
  • Fixed that selecting quickbar slot while dragging wire only cancelled the dragging, but had to be pressed again to select the slot. (more)
  • Fixed that modded fluid streams could crash the game in some situations. (more)
  • Fixed that keys blocked by textfield didn't include CONTROL + A (to select all), the same way as it is doing for (CONTROL + C/V/X). (more)
  • Fixed the double-click to clear functionality of number text field. (more)
  • Fixed a crash when migrating mods related to assembling machines and fluids. (more)
  • Fixed that exporting a blueprint to the library could crash the game. (more)
  • Fixed a crash when a modded assembler is built over a ghost of assembler with different rotation. (more)
  • Fixed damage technology migrations not migrating infinite technologies properly. (more)
  • Potentially fixed a Linux-specific bug where the game would react to key presses not intended for it. (more)

Scripting

  • Added LuaGameScript::create_profiler() which can be used to measure script performance.

0.17.14

Date: 15.03.2019

Bugfixes

  • Fixed that research queue setting in the New Map GUI wouldn't remember its value. (more)
  • Fixed a crash when hand replacing an assembler ghost with fluid mixing. (more)
  • Fixed migration of fluid-using modded mining drill.
  • Fixed ten_minutes modifier bug in NPE.
  • Fixed broken resetting of scenario context.

0.17.13

Date: 15.03.2019

Changes

  • Modified NPE quest structure to give the player more notice of impending attacks
  • Added missing Steel plate recipe to NPE tech tree (more)
  • Removed unneeded Iron stick recipe from NPE
  • Fast replacing between rail signal and rail chain signal will preserve circuit wire connection and relevant settings. (more)

Bugfixes

  • Fixed that the evolution pollution factor wasn't migrated properly. (pollution was increasing evolution 16.6 times faster than it should for existing saves).
  • Fixed a crash when trying to assign invalid things to LuaPlayer::game_view_settings. (more)
  • Fixed that replays could trigger autosaves and take screenshots. (more)
  • Fixed that changing mod settings through Lua commands wouldn't trigger the settings-changed event. (more)
  • Fixed that /config didn't support name, description, or tags. (more)
  • Fixed a crash when using temporary stations. (more)
  • Fixed that drop-item into vehicles didn't work. (more)
  • Fixed that resizing the window while loading on 4k screens would cause the progress bar to not render. (more)
  • Fixed that the crafting queue GUI wouldn't show correctly when loading a save with crafting in progress. (more)
  • Fixed text box line wrapping didn't work correctly in most cases. (more)
  • Fixed a crash when re-joining a multiplayer game while the tips-and-tricks window is visible.
  • Fixed a crash when opening the set-filter GUI on the ammo inventory of other player using the /open command.
  • Fixed that the pollution generation of steel furnace wasn't what it was supposed compared to 0.16.
  • Fixed that you could die during a cutscene and become a ghost when it ended. (more)
  • Fixed that you could die with required items in your inventory and make the NPE unwinnable. (more)
  • Fixed that some turrets wouldn't be detected by the quest objectives in the NPE. (more)
  • Fixed issue with detecting Steam engine on network in NPE (more)
  • Fixed biters getting stuck in massive clumps in NPE (more)
  • Fixed biters becoming frozen after arriving at target destination in NPE (more)
  • Fixed crash when mining scrap metal in NPE (more)
  • Fixed biters losing aggression after save/load during NPE (more)
  • Fixed some windows in the NPE having inconsistent header draggable textures (more)
  • Fixed build order for Compilatron in NPE so it is more successful (more)
  • Fixed set_active_quick_bar_page not updating the GUI. (more)
  • Fixed that waiting on temporary stop was reset every time other station was added. (more)
  • Fixed that blueprints with trains and rails still could snap the trains to different rails. (more)
  • Fixed LuaGameScript::take_screenshot with anti_alias = true would produce bad screenshots (more)
  • Fixed that snapping to position while building ghost didn't update the ghost position properly, leading to invisible entities in rare cases. (more)
  • Fixed a crash when destroying trains while in the paused map editor state. (more)
  • Fixed that recipes could be setup to produce > 1 count of items that are never meant to be stacked. (more)
  • Fixed that creating a new blueprint and pressing Q after it was setup removes it instead of putting it into inventory. (more)
  • Fixed LuaGameScript::take_screenshot with anti_alias = true would produce bad screenshots. (more)
  • Fixed Artillery targeting remote not showing the correct ability count in the quickbar. (more)
  • Fixed scrolling through blueprint book with Shift+mouse wheel on macOS. (more)
  • Fixed Artillery targeting remote not showing the correct ability count in the qickbar. (more)
  • Fixed that blueprint shortcuts in quickbar linked to the library wouldn't remember their orientation. (more)

0.17.12

Date: 14.03.2019

Features

  • Added pollution tab to the production statistics.

Minor Features

  • Spawner tooltip (including the pollution statistics), shows distribution of biters spawn for the current evolution factor with the pollution costs.
  • Added attack modifier setting into the pollution section in the map generator. This modifies how much pollution is consumed by biters attacking. (default is 50% for deathworld presets)

Changes

  • Pollution generation is now shown in the x/s format both on the entity and in the item/crafting slot.
  • All statistics graphs apart from electricity use smoothing now.
  • The Install Mods GUI will now automatically install required dependencies.
  • Added graphics option "Render in native screen resolution" on macOS to workaround performance issues due to rendering on Retina displays. (more)

Bugfixes

  • Added another fixing migration of consistency related to undo.
  • Fixed that inserters wouldn't copy the white list/black list setting during fast-replace. (more)
  • Fixed that building/removing signals forced train in disabled station to move from it. (more)
  • Fixed that the name of the "Undo" shortcut wouldn't show up in the shortcut selection list. (more)
  • Fixed that the blueprint book shortcut's tooltip wouldn't show the assigned key combination. (more)
  • Fixed search bar focus being lost when binding it to extra mouse buttons. (more)
  • Fixed that shortcut bar keyboard shortcuts would appear twice in the control settings if certain mods were installed. (more)
  • Fixed that backspacing text covered by unclosed rich text tags could leave them at the end of the string. (more)
  • Fixed that technology tooltip would show "unknown key" for technologies with no description. (more)
  • Fixed unable to close the menu when rebinding toggle menu from ESC. (more)
  • Fixed that modded GUI window frames always contained header filler. (more)
  • Fixed save file would contain two preview screenshots. (more)
  • Fixed typo in decoratives.lua. (more)
  • Fixed that cloning assembling machines wouldn't preserve the direction for some recipes. (more)
  • Fixed bug with typing certain characters on alternative keyboard layouts on windows. (more)
  • Fixed a crash of generators whose prototype changes to not use fluid anymore. (more)
  • Fixed some crashes related to changes of modded fluid recipes. (more)
  • Fixed NPE bug when Compilatron walks over the iron patch when he's about to build miners. (more)
  • Fixed switching to map view when holding placeable item in cursor would make the item icon invisible. (more)
  • Fixed cloning rocket silos with rockets wouldn't work correctly. (more)
  • Fixed broken and missing support of modded underground pipe connections. (more)
  • Fixed not being able to use the same key for some actions. (more)
  • Fixed that releasing Alt before D when pressing Alt+D would cause the character to walk.
  • Fixed that order of items in the circuit network did not respect group and subgroups. (more)

Modding

  • Internal pollution values have been normalized, and they are now roughly 60 times less compared to what they were.

Scripting

  • LuaPlayer::get_active_quick_bar_page now returns 1 based index.

0.17.11

Date: 11.03.2019

Bugfixes

  • Fixed that the process name was set to "Main" on Linux. (more)
  • Fixed a crash when closing GUIs with escape in some cases. (more)
  • Fixed a crash when mods set repair pack speeds or entity repair speed modifiers to negative values.
  • Fixed that focus-search wouldn't work in the Recipe GUI or Map Editor. (more)

0.17.10

Date: 11.03.2019

Changes

  • Terrain generator options are preserved by the map generator GUI unless explicitly changed.
  • Changed landfilling result to be tile called "landfill" instead of tile called "grass-1". It looks the same for now, but it solves some unexpected behaviour. We might give it a custom graphics later on. (more) Existing blueprints containing "grass-1" will be migrated to the "landfill" tile.
  • The game will load without an error when non-essential shaders fail to compile. (more)
  • When a player dies in the Wave defense, the free equipment will be removed from the corpse.

Minor Features

  • "Make Blueprint", "Make Blueprint Book", "Make Deconstruction Planner", "Make Upgrade Planner", "Toggle Personal Roboport", and "Toggle Exoskeleton" functions are now accessible via keyboard shortcuts.

Bugfixes

  • Fixed references to nonexistent noise expressions in map gen settings would crash the game.
  • Fixed a crash when trying to read Lua drop-down font style names. (more)
  • Fixed a crash when trying to join a Steam game fails in some cases. (more)
  • Fixed crash related to latency hiding and undo.
  • Fixed that map generation wouldn't always update to reflect modded noise expressions.
  • Fixed a crash when the open GUI target would become invalidated during the same tick as autosave starting.
  • Fixed that the repaired lab showed in the bonus GUI. (more)
  • Fixed NPE crash when Compilatron tried to place his chest. (more)
  • Fixed that Control+F didn't work in the trains GUI. (more)
  • Probably fixed GUI not responding to user input in some situations. (more)
  • Fixed scaling of some of the debug info text overlay. (more)
  • Fixed headless server would be stuck in reset loop when trying to apply an update. (more)

Scripting

  • Added LuaGuiElement::select_all and select methods that work for textfield and textbox.

0.17.9

Date: 08.03.2019

Changes

  • Disabling station with train waiting in it doesn't force the train to departure anymore so it works as it worked in 0.16. It looked like a useful change for 0.17, but we can control train conditions by circuit network and there are some nice and simple use cases were ruined by trains being forced to departure when the stop is disabled. (more)
  • Changed expensive version of assembling machine 2 recipe to match the normal version better. (more)

Minor Features

  • Added map editor support to delete items.

Bugfixes

  • Fixed pipette making error sound in latency state even though you have enough items. (more)
  • Fixed that technologies would sometimes disappear from the technology list when added to the research queue. (more)
  • Fixed problems related to circuit network connection inconsistency related to undo. (more)
  • Fixed NPE issue where Compilatron could destroy essential buildings. (more)
  • Fixed NPE crash when Compilatron tells you to pick up scrap. (more)
  • Fixed that he bonus GUI wouldn't show personal equipment. (more)
  • Fixed using special-item tags would cause desyncs. (more)
  • Fixed NPE crash when Compilatron tries to point at an object that doesn't exist any more. (more)
  • Fixed Local errors in scenarios would crash the game when viewing scenarios in the GUI. (more)
  • Fixed that reviving and underground belt could sometimes change it's direction. (more)
  • Fixed a crash when using modded recipes in furnaces with fluids. (more)
  • Fixed that the active-version selector in the mods GUI didn't work. (more)
  • Fixed that randomizing map seed didn't have any effect after an exchange string was loaded. (more)
  • Fixed that resources wouldn't be rendered correctly in the map preview. (more)
  • Fixed miscalculation of peak influence in autoplace specifications with more than 2 peaks. (more)
  • Layout fix related to technology gui. (more)
  • Fixed crash when running out of space in physical texture used for streaming. High detail textures will be evicted instead. (more)
  • Fixed that mod settings could get scrambled/reset when adding removing or changing mods. (more)
  • Fixed that you could open blueprint books/armor multiple times. (more)
  • Fixed that the train inactivity wait condition time was limited to 120 seconds. (more)
  • Fixed a crash when exiting the game through the "X" button from a tutorial. (more)
  • Fixed the shadows of some GUIs when circuit network window is shown. (more)
  • Fixed menu background image would be scaled with poor quality. (more)
  • Fixed crash related to beam creation when the source or target is removed in the process. (more)
  • Fixed a hand logic related to loading a save with different mod settings which results in to the cursor being item removed.
  • Fixed being unable to clear "X"(missing blueprint) icon from the quickbar. (more)
  • Fixed that train two stations of the same name in the train schedule could crash the game. (more)
  • Fixed consistency check for signal state of train on the way. (more)
  • Fixed issues with pipes disconnected w/o reason. Added stricter checks for new occurrences. (more)

Scripting

  • Added LuaSurface::min_brightness read/write.
  • Added LuaEntity::get_connected_rails(), get_rail_segment_entity(), get_rail_segment_end(), get_rail_segment_length(), and get_rail_segment_overlaps().

0.17.8

Date: 07.03.2019

Bugfixes

  • Fixed modded multiplayer games would incorrectly show a mod-mismatch error (again). (more)
  • Fixed queued GUIs didn't work correctly. (more)
  • Fixed that terrain selectors other than 'elevation' messed with the water/island controls (more)
  • Fixed PvP running on_init when it was already initialised. (more)
  • Fixed that replacing an underground pipe by a pipe could cause fluid mixing in a special situation. (more)
  • Fixed that upgrading entities with the upgrade planner would erase the last-user. (more)
  • Fixed a crash in the update mods GUI.
  • Fixed incorrect styling in the update mods GUI in some cases.
  • Fixed crash when loading a save during a cutscene when following a unit. (more)

0.17.7

Date: 06.03.2019

Bugfixes

  • Fixed game.players[#] would be treated as game.players[tostring(#)].
  • Fixed inserter/mining drill interaction indications would still render for mined-in-latency-state entities.
  • Fixed inserter/mining drill interaction indications wouldn't render in some cases and would ignore ghosts in some but not all cases.
  • Fixed that the game would incorrectly think some mods wouldn't be required when joining multiplayer games even though they are.
  • Fixed some key bindings not working correctly until game restart. (more)
  • Fixed a crash when changing entity ghosts with wire connections through the upgrade planner. (more)
  • Fixed that the prevent-robots-from-working-because-i-am-driving-too-fast logic still wouldn't work in some cases. (more)
  • Fixed that highly nested recipes would freeze the game. (more)
  • Fixed a crash when loading saves that contain connected cliffs that will be removed due to mod migrations/removals. (more)
  • Fixed statistics graphs crashing when releasing shift with a tooltip active. (more)
  • Fixed rendering of tile transitions on Sandy Bridge iGPUs for real this time. (more)
  • Fixed that it was possible to add a blueprint to other player's shared blueprints. (more)
  • Fixed that undo was not preserving ghost entity module requests. (more)
  • Fixed that undo was not preserving circuit connections. (more)
  • Fixed that un-researching technology wouldn't update GUIs correctly. (more)
  • Fixed PvP scenarios created in 0.16 and loaded in 0.17. (more)
  • Fixed PvP script error from bad migration data checking. (more)
  • Fixed that blueprint that was meant to disappear on Q did not after selecting and cancelling selection. (more)
  • Fixed persisting tooltips in the technology gui. (more)
  • Fixed set_quick_bar_slot not refreshing item counts in the quickbar. (more)
  • Fixed layouting in train configure gui with very long station names. (more)
  • Fixed layouting in train configure gui with too long condition translations. (more)
  • Squashed labels get a tooltip with the full text in a similar fashion as buttons.
  • Fixed that research queue setting wouldn't export to map exchange string properly. (more)
  • Fixed incorrect primary screen index in graphics options GUI.
  • Fixed some cases of fluid mixing related to underground pipes.
  • Fixed crash related to productivity bonus and a catalyst. (When the catalyst count covers all the ingredient count). (more)
  • Fixed that the reset button wouldn't update after importing a map exchange string. (more)
  • Fixed messed up research in the NPE (more)

Scripting

  • Added LuaControl::ghost_cursor read/write.

0.17.6

Date: 05.03.2019

Changes

  • Updated map-gen-settings.example.json to use numeric multipliers, include cliff richness, and demonstrate expression overrides. (more)
  • It is not possible to fast-replace pipe to ground by another that is in an orthogonal direction.
  • Changed mining productivity cost to 2500 increase per level to fix that the last change was actually making it 5 times less expensive towards infinity. Lower levels are cheaper on the other hand.

Bugfixes

  • Fixed of loading of saves before 0.17.
  • Fixed crash related to conflicting undo in multiplayer. (more)
  • Fixed crash related to temporary stops and destroyed rails on the path that were already passed by the train. (more)
  • Fixed yet another train pathing crash. (more)
  • Fixed the hand logic for god-mode controller. (more)
  • Fixed, that the hand logic could force an item to filtered slot that doesn't match it. (more)
  • Fixed, that filtered inventory could ignore the hand when sorting or transferring in some cases. (more)
  • Fixed overly generous migration of mining productivity research. (more)
  • Right panel sizing fixes.
  • starting_area (size multiplier) in map gen settings JSON can be represented by a number.
  • Fixed crash related to removing technology from the research queue. (more)
  • Fixed that driving backwards in vehicles wouldn't trigger the prevent-robots-from-working-because-i-am-driving-too-fast logic. (more)
  • Fixed crash during startup on macOS 10.12 or older with GeForce GPU. (more)
  • Attempt to fix tile transition rendering on Sandy Bridge iGPUs. (more)
  • Fixed a performance problem related to undo in multiplayer. (more)
  • Fixed upgrading ghost splitters wouldn't copy the splitter settings. (more)
  • Fixed a couple of situations where fast replacing underground pipe could cause fluid mixing. (more)
  • Fixed align in the blueprint library. (more)
  • Fixed a crash when loading modded saves related to fluidbox removal in assembling machines.
  • Fixed blueprint preview would be drawn out of its bounds. (more)
  • Fixed the featured technology cost for upgrade technologies when the research queue is not enabled. (more).
  • Fixed that search in the technology GUI would be cancelled by selecting a new research. (more)
  • Fixed a crash on destroying an entity with fluid energy source. (more)
  • Fixed a crash when deconstructing trains with inserters trying to put into them. (more)
  • Fixed layout of circuit and logistic control windows. (more)
  • Fixed that trying to join a multiplayer game too quickly would lead to a mods-mismatch error. (more)
  • Fixed that behemoth biters didn't have resistance to acid (as all other biters have).
  • Fixed NPE saves technologies were messed up by a migration in 0.17.5. (more)
  • Fixed NPE issue where compi smashing a building would lead to a crash in migrated saves. (more)
  • Fixed that it wasn't possible to access the game menu when the game was paused in multiplayer with the technology screen open. (more)

Scripting

  • Added LuaItemPrototype::mapper_count read.

0.17.5

Date: 04.03.2019

Bugfixes

  • Fixed crash related to train waypoints and very short train paths. (more)
  • Fixed wrong entity info positioning when all other things in the right container are disabled. (more)
  • Fixed Wave defense victory not being triggered in some cases.
  • Fixed Wave defense victory message being printed on every rocket launch.
  • Fixed restarting the game after sync-mods-with-save would fail to auto-load some saves on Windows. (more)
  • Fixed PvP error when loading 0.16 versions of the scenario. (more)
  • Fixed selection in blueprint preview would have an offset if UI scale was not 100%. (more)
  • Fixed pie slice used as progress indicator in crafting queue wasn't rendering for small angles. (more)
  • Fixed that the /time command would give back the wrong time played.
  • Fixed rendered terrain would increasingly get corrupted during movement when using 16bit rendering mode on some OpenGL drivers. (more)
  • Fixed player.get_quick_bar_slot causing a crash for some values. (more)
  • Fixed controls were lagging when application window was receiving lot of events it didn't recognize on macOS or Linux. (more)
  • Fixed "Wait for V-Sync" graphics option was not working on macOS 10.14 Mojave.
  • Fixed crash logs were missing stack traces on macOS.
  • Adjusted the Supply Challenge requirements to make sense. (more)
  • Fixed a crash when reviving entities through the Lua API.
  • Fixed NPE crash on biter commands during rebuild quest. (more)
  • Fixed NPE crash during cutscene if player left entity ghosts in the starting area. (more)
  • Fixed NPE crash on sending biters if you plaster half the map with furnaces (yes, seriously). (more)
  • Fixed NPE bug where Compilatron would sometimes not continue after players put the required items in his chest. (more)
  • Fixed that technology slot tooltip didn't reflect the cost of the selected technology in the queue.
  • Fixed NPE confusing flying text at startup. (more)
  • Fixed that the train passed wait condition time was limited to 120 seconds. (more)
  • Fixed hand not disappearing from the quickbar in some situations. (more)
  • Fixed a crash related to the research queue. (more)
  • Fixed that the research queue could show incorrect research levels. (more)
  • Horizontal layouting fix of the mods gui. (more)
  • Fixed that the island related changes in the terrain settings in map generator gui weren't updated if the island preset was preselected. (more)
  • Fixed that custom Lua-defined shortcuts would desync the game. (more)
  • Fixed a crash when player is not given when using surface.deconstruct_area(). (more)
  • Fixed loading of blueprints containing rail temporary stations.

Modding

  • Added SelectionToolPrototype flag "nothing".
  • Made resource autoplace helper functions usable from mods. (more)
  • Added LogisticContainerPrototype::landing_location_offset.

Balancing

  • Changed mining productivity technology to add 10% in one level instead of 2%, increased the formula from 100 * level to 500 * level and removed some of the low level intermediate levels.

Changes

  • Blueprinting tools are no longer shown in the quickbar filter selection. (more)

0.17.4

Date: 01.03.2019

Bugfixes

  • Fixed crashes related to Lua errors. (more)
  • Fixed a crash when opening the fluid wagon GUI in the map editor. (more)
  • Fixed that pressing "back" on the login prompt in the other settings GUI would exit the other settings GUI. (more)
  • Fixed that robots could get stuck when trying to upgrade in some cases. (more)
  • Fixed that the tooltips for tooltip times where backwards. (more)
  • Fixed Lua commands wouldn't work show help correctly. (more)
  • Fixed portable fusion reactor and rocketry tech pre-requisites - added military science pack. (more)
  • Fixed uranium processing tech pre-requisites - added sulfur processing. (more)
  • Removed ghost buildability consistency check until we properly integrate building of ghosts into the fluid mixing prevention logic.
  • Fixed crash related to train pathfinding. (more)
  • Fixed layouting of Map Generator gui when the preview is shown. (more)
  • Fixed issues with rich text tags referencing entities that have no icon.
  • Fixed crash related to moving blueprints from game blueprints to player blueprints. (more)
  • Fixed crash related listing all players while while processing event of player being removed.
  • Fixed a crash related to research that would continue even though the research queue is empty. (more)
  • Fixed Compilatron placing a chest on top of things. (more)
  • Fixed crash during quest to reactivate assembler in NPE. (more)
  • Fixed that script render text would scale with GUI scale. (more)

Modding

  • Made MiningDrillPrototype::radius_visualisation_picture tintable.

0.17.3

Date: 28.02.2019

Changes

  • Disabled target leading for flamethrower turrets until it can be made better. (more)
  • Changed train pathfinding in a way, that it can find path that ends in the same segment where it started. This worked only for the trivial case of all path of one segment before.

Bugfixes

  • Fixed possible crash related to browsing in the mods gui.
  • Fixed that turning off exoskeletons didn't work correctly in multiplayer.
  • Fixed shaking of blueprint preview in blueprint book tooltip. (more)
  • Fixed the wrong detection of changed autosave interval in other settings. (more)
  • Fixed /help *command* would print a number instead of the help message. (more)
  • Fixed a crash when dying with the locomotive GUI open. (more)
  • Fixed a crash when using sprite variation sheets with mismatched frame counts. (more)
  • Fixed that the admin-only portions of the whitelist command where not localised correctly. (more)
  • Fixed building underground pipe between pipes with different fluids. (more)
  • Fixed visual direction of fluid flow. (more)
  • Fixed dead-dry-hairy-tree and dry-hairy sprite shifting in normal resolution. (more)
  • Fixed PvP error when changing enabled mods. (more)
  • Fixed number pad Enter key-bindings would be converted to normal Enter when restarting the game. (more)
  • Fixed small worms having fluid consumption. (more)
  • Fixed that copy-paste of fluid recipes would sometimes not reset fluid box contents. (more)
  • Fixed that double-clicking a technology in the tree view wouldn't start research. (more)
  • Fixed pipes that would sometimes be too noisy. (more)
  • Fixed that you could build multiple underground belts on top of each-other. (more)
  • Fixed tightspot level 5 was unbeatable. (more)
  • Added workaround for GPU accelerated texture compression producing corrupted textures. (more)
  • Fixed that the technology window scroll position would keep getting reset. (more)
  • Fixed that the current research panel would not update in multiplayer if some other player changed the research. (more)
  • Fixed terrain not being rendered when using OpenGL and any game overlay was enabled. (more)

Modding

  • Added LoaderPrototype::structure_render_layer with default value "lower-object". (more)

0.17.2

Date: 27.02.2019

Changes

  • Reverted default renderer on Windows to Direct3D on all configurations.
  • All infinite technologies have Space science pack as a pre-requisite.
  • Added textual error message when player tries to clean cursor but it isn't possible as inventory is full.
  • Added /unlock-shortcut-bar console command to unlock all shortcuts at once. This command does not disable achievements.
  • Keyboard shortcut for in-game undo feature will default to Ctrl+W on AZERTY keyboard layouts. (more)
  • Control settings will revert to defaults when starting the game with pre-0.17.2 config with AZERTY keyboard layout.

Bugfixes

  • Fixed Join Game through Steam Friend would fail to connect to a game with an error saying Steam Networking is disabled.
  • Fixed LuaGameScript::take_technology_screenshot() would crash the game.
  • Fixed a crash when trying to use async-saving when hosting multiplayer games on Windows. (more)
  • Fixed electric mining drill coverage area visualization was not drawn correctly. (more)
  • Fixed missing sprites on DirectX on GPUs supporting only feature level 10.0. (more)
  • Fixed that the GUI would be hidden if the game was saved and loaded while the technology GUI was open. (more)
  • Fixed a crash related to non gun/weapon items getting into the gun/weapon inventories. (more)
  • Fixed a crash when bringing up the escape menu in multiplayer while in the middle of using blueprints/deconstruction. (more)
  • Fixed a crash when mining ghosts built in the latency state. (more)
  • Fixed every incremental change of sound volume would save the full config file. (more)
  • Fixed that the category dropdown in the install mods GUI would only work the first time it was used. (more)
  • Fixed that mod thumbnails in zipped mods wouldn't show in the mods GUI. (more)
  • Fixed pre-requisites for the first tier of all upgrade technologies so that the required science packs are unlocked first. (more)
  • Fixed electric inserter technology description in the tutorial. (more)
  • Fixed that the undo shortcut tooltip didn't reflect latency hiding values and invalid entries filtering.
  • Fixed a desync when deconstructing item request proxies in the latency state. (more)
  • Fixed crash related to the hand logic and switching controllers. (more)
  • Fixed a crash when lamp with non-electrical energy source (modded) is viewed in the blueprint preview/tooltip.
  • Fixed that read-only multi-line text boxes wouldn't wrap text. (more)
  • Fixed that the fast and express loader entity icons had the wrong colors. (more)
  • Fixed that the autosave interval setting was off by one. (more)
  • Fixed map preview would not be cleared to black before preview is generated on some PCs. (more)
  • Fixed that active blueprint in a book was not preserved when using the book directly from the blueprint library. (more)
  • Fixed that the tutorial specific assembler was shown in the "made in in" row in the crafting queue tooltip. (more)
  • Fixed that the map type selection changed done by reset or changing the preset didn't update the sliders properly. (more)
  • Fixed a rare issue with migration of fluid mixing in a modded save. (more)
  • Fixed that the provided map-gen-settings.example.json contained invalid settings. (more)
  • Fixed that checking for updates could crash the game. (more)
  • Solved, that blueprint library link from quickbar appeared as an empty slot when the target blueprint wasn't available anymore and it wasn't possible to assign a new item to it.
  • Fixed PvP scenario error when updating space race frame with no silos present. (more)
  • Fixed drawing of some wires and wire shadows (more)
  • Fixed a possibility to mix fluid through fast replacing / upgrading a pipe with underground pipe. (more)
  • Fixed drawing of some wires and wire shadows. (more)
  • Fixed crash when opening the map generator preview for the first time with invalid settings. (more)

Modding

  • Renamed EntityPrototypeFlag "hide-from-bonus-gui" to "hidden" and made it also hide entities from the made in property of recipe tooltips.

0.17.1

Date: 26.02.2019

Modding

  • Added shortcut bar shortcut type that fires Lua events, for use in mods

Scripting

  • Added LuaPlayer::is_shortcut_toggled, LuaPlayer::is_shortcut_available, LuaPlayer::set_shortcut_toggled, LuaPlayer::set_shortcut_available
  • Added on_lua_shortcut event.

Bugfixes

  • Missing description.json in the campaign folder results into the folder being ignored instead of a crash.
  • Fixed crash when trying to rotate quickbars with a controller that doesn't have it.
  • Fixed crash when trying to open surface map generation settings.
  • Fixed possible crash related to copy paste and multiplayer.
  • Fixed it wasn't possible to use capital 'Z' in save name. (more)
  • Fixed the infinity chest graphics.
  • Fixed that the boiler didn't rotate in blueprints.
  • Fixed that the bait chest showed in the upgrade planner.
  • Fixed high CPU usage when using steam networking.

0.17.0

Date: 26. 02. 2019

Major Features

  • New quickbar (more in Gui section)
  • Added shortcut bar that allows quick access to certain game features, such as toggling alt mode, creating blueprints, or turning off personal roboport
  • New gui style with final version of some parts of the GUI (More in Gui section)
  • Added clipboard functionality. (Control + C, Control + X, Control + V activate appropriate tools) Shift + mouse wheel allows to cycle the clipboard history.
  • Added undo functionality (Control + Z). Supports manual entity building and by blueprints and manual mining and usage of deconstruction planner.
  • Reworked the Map Editor so it's now part of the standard game and can be toggled at will using the '/editor' command.
  • Support for mod synchronisation when joining multiplayer game. Works as long as the used mods are on the mod portal.
  • Fight changes. Enemy projectiles are dodgeable and slowdown/damage the target over time. They also leave splashes on ground that have the same effect.
  • Rich text tags. These tags can be used almost anywhere: Chat, station names, save names, custom ui and probably a few places we didn't think of.
    • They allow changing color, font, images and location/blueprint/armor/station/locomotive linking through chat. (More in features)
  • Fluid mixing prevention. Actions that fail as they would lead to fluid mixing (like building a pipe, changing recipe, rotating etc.) produce an error message as flying text.
  • Replaced First steps campaign with Introduction campaign, available from the Start campaign menu.

Features

  • Trains can be blueprinted and deconstructed.
  • Trains can be given temporary stations (by Control+clicking the map). Temporary station is automatically removed once the train departures from it.
  • Train stops without conditions work as waypoints. (the train doesn't stop at those)
  • Added Passenger present and Passenger not present wait condition to the train conditions.
  • If building of entity/blueprint fails, the reason of it is pinged as flying text.
  • Map pings. Ctrl+Alt+click on the map to show a ping in all players maps at that location.
  • Basic image tags format is [img=<image path>] where image path can use item, entity, technology, recipe, item-group, fluid tile, virtual signal achievement or utility icon.
    • For example [img=item/iron-plate] or [img=item.iron-plate]. The "." instead of "/" usage is to make it usable in save names.
    • Additionally, items/entities/technologies/recipe/item-group/fluid/tile/virtual signal or achievement can be linked directly by [item=iron-plate], [recipe=iron-plate], or [entity=small-biter] to provide tooltip for the appropriate object.
  • Blueprint/special item tags.
    • Shift clicking the icon in chat will create an item and place it in the cursor.
    • Format is [special-item=blueprint string], eg: [special-item=0eNp1jtEKwjAMRX9l5rnCxkShvyIi3YxboU1Lm4lj9N9N54sv5iFwL/eeZIPBLRiTJQa9gR0DZdDXDbKdyLjq8RoRNFhGDwrI+Ko4GcoxJD4O6BiKAksPfIPuyk0BElu2+CXtYr3T4gdMEvjHUBBDllqgelVQrYJVdqnE/br+eVaBM1ITb0bnQvNMwTc8YzPOhiZ0YTpI5oUp78BL33YnmbY/l/IBb4pSQQ==].
    • These tags also work with deconstruction and upgrade planners.
  • Map ping tags: Created by shift-clicking the ground/map when the chat is open. Format is [gps=x,y], eg [gps=10,30] will show a map ping in all players maps at location 10,30.
    • Clicking the icon in chat will open the map on the specified location.
  • Font tags: Format is [font=debug-mono]mono text[/font].
  • Color tags: Format is [color=1,0,0]red text[/font]
  • Fast replacing pipes by pipes to ground similar to underground belts.
  • When multiple versions of the same mod are installed you can select which version you want to use.
  • The sync mods with save/multiplayer game feature can now sync mod startup settings as well as mods.
  • Added support to import and export permissions.
  • Closing opened items (blueprint books/armor) now remembers what GUI you previously had open.
  • Filter inserters can be set to whitelist or blacklist filters.
  • Added belt immunity equipment.
  • Added upgrade planner.
  • Added steam networking support for steam users.
  • Added RGB support for Logitech hardware.
  • Robots can blow up cliffs.
  • Wave defense scenario has been reworked to support multiple rounds and a procedurally generated map.
  • Added a research queue that becomes available after the player has finished the game by launching a rocket with satellite.

Minor Features

  • Warning icon for automated trains that are out of fuel.
  • Added 250 and 1000 hours precision intervals into statistics.
  • Using deconstruction planner is incorporated in the latency hiding.
  • Changed personal roboports so they won't send construction robots if you're driving in a vehicle that they can't keep up with or if in a train in automatic mode.
  • Added an option to ignore mouse events when using accessibility zoom feature on macOS.
  • Added support to change multiplayer config settings runtime.
  • Added support to edit the whitelist, banlist, and admin list when hosting a multiplayer game.
  • Added the Admin GUI (openable through /admin in the console) to manage multiplayer players.
  • Landfill can be built by robots and be included in blueprints.
  • Blueprint items taken from blueprint library will not move to player inventory when Q is pressed, but can be moved to any slot explicitly. (Same as with clipboard items)
  • When selecting any item to the cursor from some of the player inventories. As long as the item is being held, hand icon is shown on the slot it was taken from. The hand prevents any other item to be inserted into the slot as long as the player cursor isn't cleared.
  • When holding radar in cursor, area covered by existing radars is also highlighted on minimap.
  • Configurable (in gui), the count of rolling stocks shown in the train visualization.
  • Added two levels of shallow water tiles (only placed by map editor, not generated). Enemies and vehicles can travel over shallow water.

Graphics

  • New graphics for:
    • accumulator
    • biters, spitters, worms, spawners
    • chests
    • electric poles and substation
    • map edge transitions
    • rocket silo
    • transport belts, underground belts, splitters and transport belt circuit connector
    • trees
    • turrets (gun, flamethrower and laser)
    • walls and gates
  • laser turrets, personal laser defense and distractor robots now use new laser beams.
  • Highlighting inserters that would interact with selected/previewed entity.
  • Showing shield bars above health bar for relevant entities.
  • Single vertical pipe is shorter.

Gui

  • New final versions of several important GUI screens (Quick bar, Train Schedule, Load/Save Game, Settings, Map Generator, Research, Mods)
    • Other screens than the mentioned ones (more than 100) have inconsistencies and will be updated in future minor updates.
  • The quickbar is no longer an inventory, instead it can only hold shortcuts it items in inventory or blueprint library.
    • The quickbar now has 10 pages of shortcuts.
    • Player inventory increased by 20 slots to compensate. Toolbelt research further increases the player inventory.
  • In the map, station and tag selection is now visualized by the standard Factorio selection box graphics instead of highlighting.
  • Added interface option: When selecting a buildable item from the quickbar or when using the pipette tool, if you have no items of that type, a ghost will be placed in the cursor instead.
  • When something is not buildable (manual or blueprint building), the reason of why it isn't buildable is shown as flying text over the cursor when the build is attempted.
  • Only compatible results of a furnace are manually placeable in the result slot. (Mainly to avoid confusion of new players)

Optimisations

  • Modernized and optimized rendering backend. The game now uses DirectX 11 or OpenGL 3.3 Core and requires DirectX 10 class graphics card.
  • DirectX backend doesn't keep backup of all sprites in RAM anymore.
  • Added high quality texture compression to reduce amount of video memory consumed by the game and increase overall rendering performance.
  • Added texture streaming so that adding more sprites does not necessarily increase GPU requirements.
  • Improved game startup performance when using a large amount of technologies with deep dependency trees (it's now 67,000 times faster).
  • Optimized rendering of logistic overlay when zoomed in to map. (more)
  • Optimized rendering of turret ranges when zoomed in to map. (more)

Changes

  • Resource generation changed significantly:
    • The starting area contains only iron, copper, coal and stone, in very predictable amounts. Uranium and oil are excluded from the starting area.
    • Resource generation settings now have a much more dramatic effect. Increased the number of steps for each setting.
    • Ore patches are slightly less frequent but richer.
    • There will be a more balanced amount of resources within a large enough region.
    • Many other small tweaks.
  • Biter generation changed significantly:
    • Biter richness slider removed, biter placement is only configured by size and frequency settings.
    • Biter generation settings now have a much more dramatic effect. Increased the number of steps for each setting.
    • Biter bases will increase in size, frequency and number of worms depending on the distance from player spawn.
    • Worm size increases depending on the distance from player spawn.
    • Small biter bases are now closer to the player spawn.
    • At large distances from player spawn, biter base frequency is lower than before but biter bases are larger.
    • Other small tweaks.
  • Terrain generation changed significantly:
    • Water is generated as large lakes instead of swamps.
    • Tile generation improved. Tile placement respects biomes better.
    • More predictable cliff placement.
    • Better controls in the map generator GUI for water, tiles and cliffs.
  • New map terrain type selectable: Island. Launch the rocket with only a limited amount of resources available on the map.
  • Default resolution of the game is now 1920x1080.
  • Increased player reach from 6 to 10.
  • Inserters are putting science packs to the lab even when there is no research in progress or when the research doesn't need that particular pack.
  • Default_request_amount removed in all places where it was used. Default logistic request is 1 stack, unless changed by the setting "Default request is 1".
  • All personal equipment stack sizes changed to 20.
  • Placing a tile will now clear any tile ghosts at that position. (more)
  • It is allowed to use unicode characters in save names.
  • Recipes that have more ingredients than the assembling machine allows are now shown as red instead of not present when selecting the recipe.
  • When the "Made in" row is shown in the recipe tooltip, player icon is added to the list when it is craftable by player.
  • Increased ghost time to live of ghosts from 1 hour to 1 week.
  • Since the catalysts have been tweaked, the kovarex enrichment process can now be used together with productivity module.
  • Tile construction jobs are being handled by robots separately from entity building jobs, to prevent entity ghosts not being built due to large number of tile ghosts.
  • Switched key bindings from key codes to scan codes. This solves an issue with bad default key bindings on layouts that are not similar to US QWERTY (ie. AZERTY).
  • Armor no longer uses durability and all armor now has a stack size of 1.
  • Manually putting modules into machines that are requesting modules from the logistic network will reduce the modules requested.
  • Increased maximum train stop length from 50 to 100 characters so it can fit at least 3 tags in most cases.
  • Items consumed by hand crafting are counted in item production statistics.
  • Added --disable-migration-window command-line option to disable the "migrated content" gui.
  • Removed tile properties debug overlay.
  • Command-line map preview generator now shows biter nests.
  • Items sent in a rocket are counted in item production statistics. (more)
  • Removed pickaxes and replaced them with research effects.
  • Removed Wood from the game (And raw wood renamed to Wood).
  • Added rotation smoothing to biters.
  • Chests and wooden power poles are no longer usable as fuel.
  • Burner efficiency is set to 100% for all entities and fuel value is halved to simplify calculations. This should not change game balance.
  • Removed the hardness/mining power mechanics, we just have a mining speed and mining time now.
  • Manual mining speed times of various entities will differ a bit, but probably not in a noticeable way.
  • Stone and other ore mining speed has been unified to be 1 (apart uranium ore, which is 2 and shown as 200% mining time)
  • Mining drill speed is now shown in the form of <x>/s (0.25/s for burner mining drill, 0.5/s for electric mining drill), the relative mining speeds of the mining machines have been decreased a little so the numbers are rounded nicely (0.28 -> 0.25 and 0.525 -> 0.5).
  • Renamed the whitelist and banlist to server-whitelist and server-banlist.
  • Added server-adminlist that's used to determine which people are admins when hosting any multiplayer game. This is synced both ways when hosting any game.
  • Removed "admins" from the multiplayer server-settings file - they're now handled through server-adminlist.
  • "Z" (drop item) will drop single items into what ever entity is selected instead of only dropping on the ground.
  • Stickers can by applied onto cars and tanks now.
  • Changed the chat gray-out mechanism. It always greyed-out after 5 seconds to 70% alpha, and then stayed depending on the setting. Now it stays 100% and only greys out away in the last 2 seconds.
  • Placing entities or paths removes tree stumps and biter corpses.
  • Removed New Hope campaign.

Balancing

  • Technology pre-requisites tweaked so the unlocked item(s) always have all the ingredients already unlocked as well. This means many small changes.
  • Science pack names changed:
    • Science pack -> Automation science pack
    • Science pack 2 -> Logistic science pack
    • Science pack 3 -> Chemical science pack
    • High-tech science pack -> Utility science pack
    • Military, Production and Space science pack names remain the same.
  • Science pack recipes changed:
    • Military science pack now requires 1x Piercing rounds magazine, 1x Grenade, 2x Wall.
    • Chemical science pack now requires 3x Advanced circuit, 2x Engine unit, 1x Solid fuel.
    • Chemical science pack now crafts in pairs.
    • Production science pack now requires 1x Electric furnace, 1x Productivity module, 30x Rail.
    • Production science pack now produces in groups of 3. Crafting time rescaled to match.
    • Utility science pack now requires 2x Processing unit, 1x Flying robot frame, 3x Low density structure.
    • Utility science pack now produces in groups of 3. Crafting time rescaled to match.
  • Some technologies more clearly split between Production and Utility science packs:
    • Production science pack:
      • Effect transmission
      • All level 3 modules
      • Kovarex enrichment process & Nuclear fuel reprocessing
      • Worker robot capacity 2
    • Utility science pack:
      • Logistic system
      • Worker robot speed 3
      • Military 4 and weapon unlocks/upgrades
      • Power armor mk2 and Portable fusion reactor
    • Both Production and Utility science packs are required only for Rocket silo, Atomic bomb and some high-tier upgrades.
  • Every science pack now has a technology to unlock it. Some technology prerequisites changed slightly. Space science pack technology unlocks the Satellite.
  • Rocket fuel, Low density structure and Rocket control unit are unlocked by their own technologies.
  • The game is won by launching a rocket, the Satellite is only for getting Space science packs.
  • Swapped sorting order of Military science pack and Chemical science packs because Military science pack does not need oil.
  • Nuclear power technology split to Uranium processing and Nuclear power.
  • Nuclear fuel reprocessing technology cost reduced from 1500 to 50.
  • Lubricant technology added (pre-requisite for Electric engine and Logistics 3)
  • Fast and Filter inserters are unlocked by their own technology with a pre-requisite of Electronics.
  • Automation 2 is a pre-requisite for Fluid handling. (Assembling machine 1 can't handle fluids)
  • Engine is a pre-requisite for Fluid handling. (Pump needs Engines to craft it)
  • Pump is now unlocked by Fluid handling. (was Engine)
  • Fluid handling is a pre-requisite for Oil processing.
  • Item spacing on transport belts changed from 0.28 tiles to 0.25 tiles, giving a transport belts throughput of 15/30/45 (basic/fast/express) items per second.
  • Iron plate, copper plate and stone brick crafting time reduced from 3.5 to 3.2, steel plate crafting time reduced from 17.5 to 16.
  • Coal liquefaction now produces 90 Heavy oil, 20 Light oil and 10 Petroleum gas, consuming 25 Heavy oil, 10 Coal and 50 Steam. (Gaining much more Heavy oil, less Light oil and Petroleum gas)
  • Low density structure now requires 2x Steel plate, 20x Copper plate, 5x Plastic bar.
  • Low density structure crafting time reduced from 30 to 20.
  • Medium and Big power pole recipes now use iron sticks.
  • Train stop recipe now uses iron sticks.
  • Programmable speaker recipe now uses iron sticks.
  • Lamp recipe iron sticks ingredient changed to copper cables.
  • Defender capsule recipe now requires flying robot frames.
  • Rebalanced assembling machine 1,2 and 3 power consumption and pollution - higher tiers eat more power, but produce less pollution.
  • Assembling machine 2 recipe changed to require 2x Steel plate instead of 9x Iron plate.
  • Automation 2 now requires Automation and Logistic science packs.
  • Chemical plant crafting speed has been changed to 1. Some chemical plant recipes now take less time.
  • Centrifuge crafting speed changed to 1.
  • Portable solar panels have Modular armor as pre-requisite.
  • Portable solar panel power output changed from 10kW to 30kW, recipe tweaked to require less Solar panels but more Advanced circuits.
  • Low-tier personal equipment has Portable solar panels as a pre-requisite so you could possibly utilize the equipment when it is unlocked.
  • Some high tier personal equipment (Energy shield mk2, Battery mk2, Personal laser defense and Discharge defense) have Power armor technology as pre-requisite.
  • Some high tier equipment recipes now require Low Density Structures. (Energy shield mk2, Battery mk2, Roboport mk2, Portable fusion reactor, Power armor mk2, Personal laser defense)
  • Locomotive fuel consumption doubled.
  • Relative fuel value of nuclear fuel doubled.
  • Relative fuel value of rocket fuel decreased by 10.6%, relative value of solid fuel decreased by 4%.

Combat Balancing

  • All military damage/shooting speed upgrade technologies merged into 7 technologies:
    • Physical projectile damage 1-6 + infinite
      • level 1-4: bullets, gun turrets, shotgun shells
      • level 5+: previous levels and cannon shells
    • Refined flammables 1-6 + infinite
      • flamethrower turret, handheld flamethrower
    • Stronger explosives 1-6 + infinite
      • level 1: grenades
      • level 2: previous level and land mines
      • level 3: previous levels and rockets
    • Energy weapons damage 1-6 + infinite
      • level 1-3: laser turrets, personal laser defense
      • level 4: previous level and distractor robots
      • level 5+: previous levels and destroyer robots
    • Weapon shooting speed 1-7
      • affecting: bullets, gun turrets, shotgun shells, tank cannon shells, rockets
    • Laser turret shooting speed
    • Artillery shell shooting speed
    • Artillery shell range
  • Personal laser defense damage reduced, power consumption reduced and it is now influenced by Laser and electric beam intensity upgrades.
  • Modular Armor technology pre-requisite changed from Modules to Advanced Electronics.
  • Power Armor Mk2 technology pre-requisite changed from modules to Military 4.
  • Power Armor Mk2 recipe changed from 5x level 3 to 25x level 2 modules (to avoid requiring Production science pack) and added electric engine units.
  • From the start maximum follower count is 5 instead of 1. Level 3 of maximum follower count gives +5 instead of +10 to compensate.
  • Atomic bomb recipe now requires Rocket control units instead of Processing units.
  • Behemoth worm added.
  • Worms and spitters use new "stream" attack now.
    • Attacks predict target position and shoot there.
    • Flamethrower turret now predicts target position as well.
    • Acid splashes are created on the ground, dealing damage and slowing.
    • Slow effect received from different spitter/worm tiers stacks.
    • Worm shooting range is generally longer.
    • Rocket launcher range increased from 22 to 36 to outrange medium worms.
    • Worm and behemoth spitter attacks are large enough to damage neighbouring buildings.
    • All enemies have 100% acid resistance.
  • Changed spawner pollution absorption logic so that all the pollution on a chunk doesn't build up un-spent in a single spawner.
  • Removed damage bonus of tank machine gun.

Bugfixes

  • Fixed that canceling production in assembling machine did return the products in progress.
  • Fixed biters were unable to run against movement of belts.
  • Tutorial GUI updates correctly after finishing a tutorial. (more)
  • Chest GUI updates correctly when changed indirectly. (more)
  • Changing train mode by a script updates the train GUI. (more)
  • Fixed that tertiary was spelled "terciary" in the usage_priority. (more)
  • Fixed construction robots would not give up module delivery when they didn't manage to get any modules. (more)
  • Fixed issues with syncing mods to saves, when you don't already have the mod downloaded. (more)
  • Entities affected by beacons now only show effect sources/receivers that have an effect. (more)
  • Fixed furnaces wouldn't respect recipe module limitations correctly. (more)
  • Fixed a crash when migrating blueprint book inventory sizes while they're in assembling machines that are being removed due to migration. (more)
  • Fixed character.direction read didn't work correctly. (more)
  • Fixed a crash when removing mods that add/change rolling stock entities. (more)
  • Fixed script error in construction bot tutorial when deconstructing area. (more)
  • Fixed Lua API methods to insert items didn't work correctly for entities that can hold items above the stack limit. (more)
  • Fixed that the closing sound of other GUIs was too loud when the technology GUI popped up when a research finished. (more)
  • Fixed that layered icons using shift wouldn't render correctly. (more)
  • Fixed that running out of disk space could crash the game in some cases. (more)
  • Fixed burner energy sources wouldn't always be able to output the full energy amount. (more)
  • Fixed that transport belt circuit conditions wouldn't copy correctly in blueprints sometimes. (more)
  • Fixed that limited/limiting upload speed could lead to an exponential soft lock in the upload process. (more)
  • Fixed a desync related to cars on belts. (more)
  • Fixed that crafting machines could be rotated diagonally using scripts. (more)
  • Fixed that tooltips of unlocked recipes in technology preview didn't have the "made in" info even if it is not craftable by the player.
  • Fixed recipes that consumed or produced > stack size of some item didn't work correctly.
  • Fixed that game.reload_script() could cause desyncs when used in multiplayer.
  • Fixed LuaScript::get_event_handler() didn't handle large numbers correctly. (more)
  • Fixed AutoplaceSettings map_gen_settings didn't always work when defined through script. (more)
  • Fixed a crash when using LuaEntity::get_train_stop_trains(). (more)
  • Fixed a crash when using LuaGameScript::create_entity() related to making ghosts of ghosts. (more)
  • Fixed setting entity healing_per_tick negative resulted in invincible entities. (more)
  • Fixed that shadows wouldn't always render in the train camera. (more)
  • Fixed health bars on large entities wouldn't render correctly. (more)
  • Fixed trains would collide with item-requester-proxy. (more)
  • Fixed train GUI buttons would lose too much quality graphics quality was set to Extra low. (more)
  • Fixed a bug related to mining drills with > 100% productivity. (more)
  • Fixed invalid optional dependencies wouldn't be highlighted correctly. (more)
  • Fixed a crash when reading player.vehicle during the driving driving changed state event when triggered by the vehicle dying. (more)
  • Fixed that beams would render 1 tile above their location when using a position source. (more)
  • Fixed furnaces with input items and output fluids could get deadlocked. (more)
  • Fixed when player teleported, renderer would draw all tiles between old and new position. (more)
  • Fixed that frame count limits weren't enforced and would lead to a crash in several places. (more)
  • Fixed a crash when the player port respawned a character without a connected player (more)
  • Fixed that the market did not show the prices for some offers (more)
  • Fixed that the "save replay" button would always show on the game finished screen even when it wouldn't work. (more)
  • Fixed that filters would get copied between storage chests and requester chests. (more)
  • Fixed error message given when loader entity prototype was defined with too many filters. (more)
  • Fixed that fast replacing a train stop did not copy the name or color. (more)
  • Ghost rails are now also considered when auto-selecting rail signal direction. (more)
  • Fixed that the high-resolution car animation would shake. (more)
  • Fixed errors in the mod settings stage wouldn't prompt to disable the erroring mod(s). (more)
  • Fixed that crafting machines didn't work correctly with non-square bounding boxes. (more)
  • Fixed that pasting train schedules did not dispatch trains waiting at a station that is not part of the new schedule. (more)
  • Fixed possible crash when rendering a fish due to bad migration on fish prototype change. (more)
  • Fixed that LuaGuiElement::zoom on minimaps would be rendered as zoom * 32.
  • Fixed crash when detecting VRAM size on macOS. (more)
  • Fixed LuaEntity::infinity_filters write didn't work. (more)
  • Fixed that setting active on combinators would lead to desyncs. (more)
  • Fixed that shift+click building blueprints didn't work correctly regarding tiles. (more)
  • Fixed that construction robots could get stuck trying to repair things. (more)
  • Fixed inventory highlights didn't work correctly when the game was paused while active. (more)
  • Fixed a crash related to trains being forced to re-path when a stop is disabled. (more)
  • Fixed that wire distance was ignored in some cases when connecting non-electric-pole entities. (more)
  • Fixed that equipment grids wouldn't fit on screen if too large. (more)
  • Fixed that the SelectSignal GUI wouldn't sort mixed-type signals correctly. (more)
  • Fixed map generator would align entities to grid differently than manual building. (more)
  • Fixed sprites in 16-bit depth per channel PNG would load as empty images on macOS. (more)
  • Fixed that furnaces with mixed input could get stuck. (more)
  • Fixed text duplication on research completion in the bonus GUI. (more)
  • Fixed that LuaSurface::find_entities_filtered{position} wouldn't find entities with zero-sized bounding boxes. (more)
  • Fixed that mod console commands would treat every command with the same help key as aliasing each other. (more)
  • Fixed LuaGameScript::remove_path would log an error if path didn't exist. (more)
  • Fixed cars and tanks had a slightly smaller collision box when not facing north. (more)
  • Fixed inserter interaction with cars depended on rotation and on distance from map origin. (more)
  • Fixed "InRangePredicate only accepts direction without diagonals" error. (more)
  • Fixed when teleporting all tiles between old and new position would be rendered, causing performance problems. (more)
  • Force space between spawners and worms in biter bases so they don't get stuck so much.
  • Fixed trivial-smoke would be rendered for some time after its lifetime ended.

Modding

  • Added a new entity type "infinity-pipe" that automatically adds/removes fluid from itself; similar to the infinity-chest.
  • Added a new entity type "heat-interface" that automatically sets its own temperature.
  • Added "void" energy_source type which makes any entity using the type not require power.
  • Added CraftingMachinePrototype::show_recipe_icon which changes if the recipe icon is shown in alt-mode.
  • Added "stop" AI command, which tells the unit to just stop moving where it is. Takes a "ticks_to_wait" parameter, after which it returns to normal.
  • Added LuaGuiElement type "list-box".
  • Added Entity prototype flags "no-automated-item-removal" and "no-automated-item-insertion".
  • Added support for hidden optional dependencies via '(?) mod-name'.
  • Added SelectionToolPrototype flags "not-same-force", "friend", and "enemy".
  • Added SelectionToolPrototype optional filters: entity_filters, entity_type_filters, tile_filters, entity_filter_mode, and tile_filter_mode.
  • Added SelectionToolPrototype optional filters: alt_entity_filters, alt_entity_type_filters, alt_tile_filters, alt_entity_filter_mode, and alt_tile_filter_mode.
  • Added support to set wire_count on wires to define how many items are needed to connect 2 entities.
  • Added UnitPrototype::ai_settings, which allows overriding default biter behavior.
  • Added a spectator controller type that can view anything but can't change anything.
  • Added GeneratorPrototype::burner to allow making an entity that burns fuel and produces power.
  • Added ticks_to_wait parameter to wander ai command.
  • Added Entity prototype property "next_upgrade".
  • Added support to set draw_copper_wires and draw_circuit_wires for any entity that uses wires.
  • Added optional "min_working_temperature" and "default_temperature" to heat buffer prototype.
  • Added optional technology prototype property "hidden".
  • Added optional fluid prototype property "hidden".
  • Added "fluid" energy_source type can be used for both fuel-value based fluids, and heat capacity based fluids configured the same was as the generator entity.
  • Added ReactorPrototype::scale_energy_usage to allow making a heat source that stops consuming fuel when max temperature is reached.
  • Added EnemySpawnerPrototype::min_darkness_to_spawn and max_darkness_to_spawn.
  • Added optional beam prototype properties random_end_animation_rotation and transparent_start_end_animations.
  • Added rotation_speed value to Unit prototype.
  • Added support for arbitrary non-circular references to named noise expressions.
  • Added "spot-noise" noise function.
  • Added "if-else-chain" and "literal-boolean" noise expression types.
  • Added "cutscene" controller.
  • Added "speech-bubble" entity.
  • Added ResourceEntityPrototype::randomize_visual_position.
  • Added EquipmentGridPrototype::locked.
  • Added DamageType::hidden.
  • Added optional draw_cargo property to construction robot and logistic robot prototypes.
  • Added optional fluid_product to production achievement prototypes.
  • Added UnitPrototype::affected_by_tiles.
  • Added LuaStyle::stretch_image_to_widget_size, only applies to "sprite" widget styles.
  • Added optional EntityPrototype::map_generator_bounding_box.
  • Added EntityPrototypeFlag "not-upgradable".
  • Added EntityPrototypeFlags "no-copy-paste" and "not-selectable-in-game".
  • Added ItemPrototypeFlags "only-in-cursor", "not-stackable", "can-extend-inventory", "primary-place-result" and "mod-openable".
  • Added BeamPrototype::target_offset and random_target_offset.
  • Added TilePrototype::tint. Tile tint is packed to RGB 565 without alpha.
  • Added "mouse-cursor" definitions for overriding system mouse cursor in selection tools.
  • Changed radars so they support dynamic energy source types.
  • Changed ItemWithInventoryPrototype flag "when_manually_filtered" to "when-manually-filtered".
  • Changed SelectionToolPrototype flag "matches-force" to "same-force".
  • Changed the maximum number of surfaces from 255 to 4,294,967,295.
  • Changed migration scripts so they run in the context of the mod that created them.
  • Changed TilePrototype::decorative_removal_probability default value to 0 (it was 1).
  • Changed ReactorPrototype::burner to ReactorPrototype::energy_source to allow heat sources with alternate energy types.
  • Changed ElectricEnergyInterfacePrototype::enable_gui to gui_mode.
  • Changed EnemySpawnerPrototype::result_units to support any type of entity.
  • Changed recipes to support having no results by setting results = {}.
  • Lua scripts can now use require("__mod-name__.file") syntax.
  • AutoplaceSpecifications can now be defined in terms of probability_expression and richness_expression as an alternative to peaks.
  • property_expression_name values can be numeric constants.
  • All autoplace controls are now available as noise expression variables.
  • energy_per_movement and energy_per_rotation of inserter is now specified in energy format (aka "5KJ") instead of just a number.
  • Increased limit for size of spritesheet to 8196px (regardless of sprite resolution settings). Maximal size of single sprite is 2048px in normal resolution and 4096px in high resolution. Smaller spritesheets can utilize parallel decompression better.
  • Removed the "default-" prefix from core NamedNoiseExpressions; property_expression_names in MapGenSettings simply override the expression named by the key.
  • Removed ItemPrototypeFlags "goes-to-main-inventory" and "goes-to-quickbar".

Scripting

  • Added LuaRendering accessed via the lua global "rendering".
  • Added LuaEntity::get_infinity_pipe_filter() and set_infinity_pipe_filter().
  • Added LuaEntity::recipe_locked read/write for assembling machines.
  • Added LuaRailPath.
  • Added LuaTrain::path read.
  • Added LuaEntity::connected_rail read.
  • Added previous_direction to the on_player_rotated_entity event.
  • Added LuaItemStack::deconstruct_area() and cancel_deconstruct_area().
  • Added LuaSurface::deconstruct/cancel_deconstruct optional parameters skip_fog_of_war and item.
  • Added LuaEntity::clone().
  • Added LuaSurface::clone_area().
  • Added LuaSurface::clone_entities().
  • Added LuaGameScript::auto_save().
  • Added LuaEntity::neighbours support for power switches, wall-connectable entities, and reactors.
  • Added LuaFluidBoxPrototype.
  • Added LuaEntityPrototype::fluidbox_prototypes read.
  • Added LuaGameScript::take_technology_screenshot().
  • Added LuaSurface::clear().
  • Added LuaSurface::solar_power_multiplier read/write.
  • Added on_pre_surface_cleared and on_surface_cleared events.
  • Added on_pre_chunk_deleted and on_chunk_deleted events.
  • Added on_chart_tag_added, on_chart_tag_modified, and on_chart_tag_removed events.
  • Added LuaGameScript::styles read.
  • Added LuaEntity::crafting_speed read.
  • Added LuaTrain::max_forward_speed and max_backward_speed read.
  • Added on_train_schedule_changed event.
  • Added LuaForce::previous_research read/write.
  • Added LuaSurface::find_decoratives_filtered().
  • Added LuaEntity::inserter_filter_mode read/write.
  • Added LuaEntity::neighbour_bonus read.
  • Added LuaEntityPrototype::neighbour_bonus and neighbour_collision_increase read.
  • Added LuaEntityPrototype::container_distance, belt_distance and belt_length read.
  • Added LuaGameScript::table_to_json() and LuaGameScript::json_to_table().
  • Added events on_player_banned, on_player_kicked, and on_player_unbanned.
  • Added event on_rocket_launch_ordered.
  • Added LuaItemPrototype::wire_count read.
  • Added LuaRecipePrototype::main_product read.
  • Added LuaEntity::get_fluid_count(), get_fluid_contents(), remove_fluid(), insert_fluid(), and clear_fluid_inside().
  • Added LuaEntity::silent_revive().
  • Added LuaFluidBox::get_prototype().
  • Added LuaSurface::request_path().
  • Added LuaGameScript::reload_mods().
  • Added on_player_toggled_alt_mode, on_player_repaired_entity, and on_player_fast_transferred events.
  • Added on_game_created_from_scenario event.
  • Added on_surface_renamed event.
  • Added on_ai_command_completed event, which can be used to detect command completion and failure/success.
  • Added "pathfind_flags" parameter to "go_to_location" AI command.
  • Added "radius" and "wander_in_group" parameters to "wander" AI command.
  • Added "radius" parameter to "go_to_location" AI command.
  • Added support for mods to change their own mod settings runtime.
  • Added LuaEntityPrototype::next_upgrade read.
  • Added optional parameters to LuaSurface::create_entity, LuaEntity::destroy and LuaEntity::revive to raise the associated script events.
  • Added support to run console commands in a specific mod context via: /c __mod-name__ *command*.
  • Added LuaTechnologyPrototype::hidden read.
  • Added LuaFluidPrototype::hidden read.
  • Added LuaSurface::get_map_exchange_string().
  • Added LuaGameScript::get_map_exchange_string().
  • Added LuaFlowStatistics::get_flow_count().
  • Added LuaEntity::trains_in_block read.
  • Added LuaGameScript::get_player().
  • Added LuaGameScript::get_surface().
  • Added LuaGameScript::set_wait_for_screenshots_to_finish().
  • Added LuaGuiElement::resize_to_sprite (read/write).
  • Added LuaGroup::localised_name read.
  • Added SpritePath::equipment.
  • Added LuaEquipmentGridPrototype::background_color read.
  • Added LuaItemPrototype::reload_time read.
  • Added highlight-box entity that can be passed a "bounding_box" or "source" entity parameter to display a highlight box around an area or entity.
  • Added LuaEntityPrototype::is_building read.
  • Added LuaEntityPrototype::automated_ammo_count read.
  • Added LuaEntity::get_beam_source(), set_beam_source(), get_beam_target() and set_beam_target().
  • Added LuaSurface::get_closest().
  • Added LuaSurface::get_total_pollution().
  • Added LuaPlayer::create_local_flying_text().
  • Added LuaEntityPrototype::darkness_for_all_lamps_on and darkness_for_all_lamps_off read.
  • Added LuaEntity::status read.
  • Added LuaLogisticNetwork::robots, construction_robots, logistic_robots read.
  • Added LuaGameScript::get_train_stops(), LuaSurface::get_train_stops(), and LuaForce::get_train_stops().
  • Added LuaEntityPrototype::min_darkness_to_spawn and max_darkness_to_spawn read.
  • Added "loot" to the on_entity_died event.
  • Added LuaTrain::go_to_station().
  • Added support to set quality when using LuaGameScript::take_screenshot.
  • Added LuaForce::evolution_factor_by_pollution, evolution_factor_by_time, and evolution_factor_by_killing_spawners read/write.
  • Added optional create_build_effect_smoke parameter to LuaSurface::create_entity.
  • Added LuaEntity::drop_target/pickup_target write.
  • Added LuaEntity::ghost_has_flag().
  • Added runtime editable speed attribute to Unit.
  • Added LuaSurface::get_starting_area_radius().
  • Added LuaItemPrototype::robot_action read.
  • Added LuaEntity::enable_logistics_while_moving read/write.
  • Added optional render_player_index parameter for flying-text and simple-entities to LuaSurface::create_entity.
  • Added LuaEntity::render_player read/write.
  • Added LuaEntity::render_to_forces read/write.
  • Added LuaGameScript::disable_tutorial_triggers().
  • Added LuaEntity::get_radius() and LuaEntityPrototype::radius read.
  • Added LuaEntity::get_health_ratio().
  • Added LuaSurface::find_units().
  • Added LuaTransportLine::output_lines read.
  • Added LuaEntity::pump_rail_target read.
  • Added LuaTrain::get_rails().
  • Added LuaEquipmentGridPrototype::locked read.
  • Added LuaForce::index read.
  • Added direction to LuaSurface::count/find_entities_filtered.
  • Added collision_mask to LuaSurface::count/find_entities_filtered.
  • Added LuaEntity::clear_market_items().
  • Added LuaEntityPrototype::cliff_explosive_prototype read.
  • Added LuaDamagePrototype::hidden read.
  • Added LuaControl::character_running_speed read.
  • Added LuaEntityPrototype::draw_cargo read.
  • Added LuaPlayer::use_from_cursor().
  • Added LuaGameScript::autosave_enabled variable, that can be used to disable autosaving.
  • Added LuaEntity::ai_settings read.
  • Added LuaAISettings::destroy_when_commands_fail. When true, units will be destroyed when repeatedly failing to execute commands.
  • Added LuaAISettings::allow_try_return_to_spawner. When true, units will try to return to a spawner when they are idle.
  • Added LuaAISettings::do_separation. When true, units will try to separate themselves from nearby friendly units.
  • Added LuaEntity::moving. Returns true if the unit is moving.
  • Added on_unit_group_created, on_unit_added_to_group, and on_unit_removed_from_group events.
  • Added LuaEntity::create_build_effect_smoke.
  • Added LuaEntityPrototype::vision_distance read.
  • Added LuaPlayer::open_map(), zoom_to_world() and close_map().
  • Added LuaPlayer::render_mode read.
  • Added LuaPlayer::map_view_settings write.
  • Added LuaStyle::top_margin, right_margin, bottom_margin and left_margin read/write.
  • Added LuaStyle::use_header_filler, natural_width and natural_height read/write.
  • Added LuaStyle::extra_padding_when_activated read/write.
  • Added LuaStyle::extra_top_margin_when_activated, extra_bottom_margin_when_activated, extra_left_margin_when_activated and extra_right_margin_when_activated read/write.
  • Added LuaEntity::electric_network_id read.
  • Added LuaControl::character_additional_mining_categories read/write.
  • Added LuaGameScript::draw_resource_selection read/write.
  • Added LuaForce::get_hand_crafting_disabled_for_recipe() and set_hand_crafting_disabled_for_recipe().
  • Added LuaEntityPrototype::map_generator_bounding_box read.
  • Added LuaEntity::release_from_spawner().
  • Added on_cutscene_waypoint_reached, on_entity_cloned, on_area_cloned, on_marked_for_upgrade, on_cancelled_upgrade, on_post_entity_died, on_pre_player_removed, on_pre_robot_exploded_cliff, on_robot_exploded_cliff, on_script_path_request_finished, on_surface_imported, on_player_toggled_map_editor events.
  • Added LuaEntity::timeout read/write.
  • Added LuaEntity::highlight_box_type and highlight_box_blink_interval read/write.
  • Added LuaEntity::order_upgrade(), cancel_upgrade() and to_be_upgraded().
  • Added LuaEntity::research_queue_enabled read/write.
  • Added LuaGameScript::get_active_entities_count().
  • Added LuaGameScript::ticks_played read.
  • Added LuaGameScript::tick_paused and ticks_to_run read/write.
  • Added LuaItemPrototype::infinite read.
  • Added LuaItemStack::clear_upgrade_item(), get_mapper(), set_mapper().
  • Added LuaItemStack::is_upgrade_item read.
  • Added LuaLogisticCell::logistics_connection_distance read.
  • Added LuaLogisticNetwork::select_pickup_point() and select_drop_point().
  • Added LuaPlayer::jump_to_cutscene_waypoint().
  • Added LuaUnitGroup::group_number read.
  • Changed LuaEntity::destroy() to accept a table of arguments.
  • Changed LuaEntity::revive() to accept a table of arguments.
  • Changed the player_used_capsule event so it's fired after the capsule item is consumed from the cursor.
  • Changed LuaEntity::splitter_filter, splitter_input_priority, and splitter_output_priority so they also work on ghosts.
  • Changed LuaSurface::destroy_decoratives() to take filters similar to find_entities_filtered.
  • Changed LuaEntityPrototype::items_to_place_this and LuaTilePrototype::items_to_place_this to return an array of SimpleItemStack.
  • Changed most LuaEntity properties/functions to also work on ghosts.
  • Changed on_player_crafted_item item_stack to allow editing the stack before it's put into the player inventory.
  • Changed LuaSurface::regenerate_entity()/regenerate_decorative() to treat "nil" as "all" for the autoplace list.
  • Changed LuaEquipmentPrototype::energy_source to return a LuaElectricEnergySourcePrototype.
  • Changed sound definition, so it can contain "aggregation" even when it doesn't contain "variations".
  • Renamed LuaEntity::get_infinity_filter(), set_infinity_filter(), and infinity_filters to get_infinity_container_filter(), set_infinity_container_filter(), and infinity_container_filters.
  • Renamed on_canceled_deconstruction event to on_cancelled_deconstruction.
  • Fixed the spelling of LuaForce::max_successful_attempts_per_tick_per_construction_queue.
  • LuaSurface::find_entities/filtered now accepts a zero sized bounding box as "find everything that collides with this point".
  • CustomSprite now scales to the size of the sprite if a manual size isn't defined.
  • It's possible to specify "frame_sequence" in animation definition as array of frame numbers that should be played in given order.
  • Removed LuaStyle::visible, LuaGuiElement::visible is used instead.
  • Removed LuaSurface::get_tile_properties().
  • Removed LuaCustomChartTag::orientation and target.
  • Removed LuaFluidPrototype::pressure_to_speed_ratio and flow_to_energy_ratio.