Version history/0.16.0

From Official Factorio Wiki
Revision as of 21:23, 8 January 2018 by Gangsir (talk | contribs) (Surround code references in code tags)
Jump to navigation Jump to search


0.16.15

Date: 05. 01. 2018

Bugfixes

  • Fixed that underground belts built by a blueprint would not respect the type of an existing belt. (more)
  • Fixed pump ghosts would always highlight attached rail, not just when selected.
  • Fixed that logistic network requests would get into invalid state when migrated from save where player had more requests due mods. (more)
  • Improved number formating in electricity overview to make it less jumpy. (more)
  • Fixed logistic robots migration related to changing force of logistic robots while stationing. (more)
  • Fixed when sliding around entity, the character could be pushed to a position colliding with water and get stuck in the terrain. (more)
  • Reduced RAM usage by removing unnecessary memory buffers for textures when using OpenGL. (more)

0.16.14

Date: 04. 01. 2018

Minor Features

  • Added 'allow spectators' option to PvP.

Changes

  • Changed rail world settings to have normal biters frequency.

Bugfixes

  • Fixed loading specific saves wouldn't migrate the character requests correctly to request from buffer chests. (more)
  • Fixed that migrating saves would make research impossible in the level 4 of New hope campaign. (more)
  • Fixed that inserters would try to put items into furnaces that could never fit. (more)
  • Fixed requester chests wouldn't keep up with the request amount demand in logistic heavy saves. (more)
  • Fixed that request chests weren't equally distributed when there were not enough robots.
  • Fixed that migration to 0.16.8 which de-duplicated logistic requests wasn't doing so for offline players.
    • This could cause crashes as the internal data structures take it as granted.
  • Fixed that download progress bar in the sync save with mods wasn't being updated.
  • Fixed that exiting the connection in progress (by pressing escape) soon enough could result in a screen without any menu.
  • Fixed some PvP game modes being won by launching a rocket.
  • Fixed config.ini would be purged when game decreases graphics settings when loading sprites throws an error. (more)

0.16.13

Date: 03. 01. 2018

Minor Features

  • Added a time limit option to PvP game modes 'Production score' and 'Oil harvest'
  • Added 'score per minute' to the PvP Production score GUI.

Bugfixes

  • Fixed a crash when blueprinting modded logistic storage chests. (more)
  • Fixed requester chests wouldn't work with specific combinations of storage, buffer, and provider chests. (more)
  • Fixed a crash with the command line map preview option. (more)
  • Fixed the world-icon for the cliff explosive didn't match the item icon. (more)
  • Fixed the progress indicator in the browse-mods GUI would update too quickly. (more)
  • Fixed changing the force of a robot waiting to charge would break the robot. (more)
  • Fixed that joining modded multiplayer games where the spawn area was deleted would error. (more)
  • Fixed that pasting text didn't work correctly in any text field. (more)
  • Fixed a crash related to tile transitions. (more)
  • Fixed logistic storage filters would be ignored in some specific cases. (more)
  • Fixed that side-loading underground belts could lead to them getting stuck. (more)
  • Fixed that modded storage chests would allow more than 1 filter when the extra filters weren't valid. (more)
  • Fixed that the map preview seed wouldn't get used when the generate map GUI had an exchange string entered. (more)
  • Added yet another migration fixing invalid state created between 0.16.8 and 0.16.11.
  • Fixed that startup mod settings could be changed while in-game by clicking the label on checkboxes. (more)
  • Fixed that tooltip of disabled widgets didn't work.
  • Added greyed-out look to disabled textfield and checkbox to make it more clear that it isn't editable.
  • Fixed one of the curved rail segment visualizations wasn't aligned correctly. (more)
  • Fixed that the console could be opened in a paused game where it can't be interacted with.
  • Fixed issues of console in combination with technology GUI in multiplayer. (more)
  • Fixed changelogs (including mod changelogs) not properly displaying the "All" subversion for a version x.y when there was no version x.y.0. (more)
  • Fixed horizontal scroll pane scroller. (more)
  • Fixed that changing value in GameViewSettings in the Lua script didn't update the gui until the game was reloaded.
  • Fixed a crash when controller view is disabled. (more)
  • Fixed script error when destroying a chest in the supply scenario.
  • Fixed PvP production score price calculation.

Modding

  • Entities without an item-to-place can still be deconstructed if they are minable.

Scripting

  • Added LuaPlayer::blueprint_to_setup read.
  • Changed default value of 'expires' when creating ghost through LuaSurface::create_entity from 'true' to 'false'.
  • Fixed invalid internal state + crashes when ghost without "expires = false" was created through the script when ghost time to live was 0. (more)

0.16.12

Date: 31. 12. 2017

Bugfixes

  • Fixed that rail signal indicator didn't show two way signal placement in junctions even when the signal was placeable there.
  • Fixed that the game would crash if the mouse was moved fast enough outside the game window while loading a map. (more)
  • Fixed crash related to logistic chests to be cancel-deconstructed.
  • Fixed few cases where logistic requesters and buffers were not initialized correctly when built before the roboport.

0.16.11

Date: 30. 12. 2017

Bugfixes

  • Fixed yet another requester chest state migration error.
  • Fixed that burner inserter didn't show the fuel icon when out of energy sometimes. (more)
  • Fixed that some specific pre 0.15 maps couldn't be loaded.

0.16.10

Date: 30. 12. 2017

Bugfixes

  • Fixed crash related to setting logistic requests by circuit network.
  • Fixed requester chest state migration between different save versions.
  • Fixed one of the problems of internal provider data corruption related to setting inventory bar limit.

0.16.9

Date: 29. 12. 2017

Bugfixes

  • Fixed that player didn't request from buffer chests.
  • Fixed that some maps with modded selection-tool items failed to load.

0.16.8

Date: 29. 12. 2017

    • Features:
  • Storage chests can be filtered.

Minor Features

  • Requester chests can now request stuff from buffer chests as was originally intended. Buffer chests are provided items only if all requester chests are satisfied for that specific item.
  • Requester chests have a checkbox that specifies whether it should or shouldn't request things from buffer chests. It is off by default.

Optimisations

  • Optimized selecting robot tasks for requester chests.

Balancing

  • Changed fluid wagon capacity from 75k to 25k (Same as storage tank).
  • Lowered fluid wagon weight from 3000 to 1000 (same as cargo wagon).
  • Changed fluid wagon recipe so it requires just 1 storage tank instead of 3.
  • Lowered barrel fluid capacity from 250 to 50. (So cargo wagon with barrels holds 20k and logistic robots are not too strong alternative to carrying fluids.)
  • Decreased barreling crafting time from 1 second to 0.2 seconds.

Bugfixes

  • Fixed loading of achievements with steam version. (more)
  • Fixed train schedule resizing with very large player inventory. (more)
  • Fixed missing auto resizing of Lua GUI elements when caption changes. (more)
  • Fixed that it was possible to set duplicate logistic requests.
  • Fixed missing entity counts when selecting area for blueprint on low graphics quality. (more)
  • Fixed calculation of basis noise when x<0 (more)
  • Fixed missing locale key in fluid wagon description. (more)
  • Fixed that the fluid wagon wouldn't show any GUI when it had an equipment grid. (more)
  • Fixed evolution command output in campaigns. (more)
  • Fixed shotgun shooting direction when aiming between the player and the nozzle. (more)
  • Fixed technology sorting. (more)
  • Fixed that the default list box font was called "default-list_box". (more)
  • Fixed that clicking "Generate" button in the generate map window while the exchange string field was enlarged moved the button around before the mouse up was registered. The exchange string field will now never shrink on focus lost.
  • Fixed that setting LuaPlayer::opened to an empty item would crash the game. (more)
  • Fixed performance issues when hovering over huge resource patches in map or zoomed-to-world view. (more)
  • Fixed a desync when hosting multiplayer directly and building blueprints. (more)
  • Fixed a crash when calling specific LuaEntity properties. (more)
  • Fixed module effects weren't checked correctly for modded modules. (more)
  • Fixed a crash when teleporting roboports or logistic containers marked for deconstruction. (more)
  • Fixed roboports would show up twice in the logistic GUI. (more)
  • Fixed the background on the select-recipe GUI for the choose-elem-button didn't show correctly. (more)
  • Fixed changing transport belt speeds through mods on existing saves. (more)
  • Fixed a crash when setting filters on cargo wagons in multiplayer. (more)
  • Fixed a crash when trying to put blueprint books in blueprint books. (more)
  • Fixed that train could overshoot a station when the schedule was changed by the script.
  • Fixed that heat pipes would incorrectly update their connections when teleported. (more)
  • Fixed the problem of flickering tooltips in a generic way (hopefully). (more)
  • Fixed that the table of games was focused (for keyboard control) even if the player focused the search bar manually. (more)
  • Fixed crash that can happen when train on its path to station that was deactivated finds path to different alternative station of the same name that leads in opposite direction to current train movement. (more)

Scripting

  • The item-with-tags and selection-tool item types now support LuaItemStack::item_number.
  • Added an optional player parameter to LuaEntity::order_deconstruction, cancel_deconstruction, LuaTile::cancel_deconstruction,
    • LuaSurface::deconstruct_area, and LuaSurface::cancel_deconstruct_area.

0.16.7

Date: 21. 12. 2017

Bugfixes

  • Fixed that trains approaching train stop started breaking 2 times sooner when no signal was in front of the stop.
  • Fixed order of controls in the control settings GUI. (more)
  • Fixed rail pumps becoming invalid after being teleported via Lua. (more)
  • Fixed that biter expansion chunks weren't being generated correctly. (more)
  • Fixed that rail signal ghost of different force (so invisible) was restricting rail placement.
  • Fixed server crash when last player leaves the game while the server is saving. (more)
  • Fixed text cursor positioning inside a text box during scroll. (more)
  • Fixed an additional crash when trying to filter the main inventory in the god-controller in the train GUI. (more)
  • Fixed that blueprint strings wouldn't copy station names in blueprints. (more)
  • Fixed that blueprints would build partially in chunks not visible by radar from the zoomed-to-world view. (more)
  • Fixed a crash when canceling loading of specific save files. (more)
  • Fixed the programmable speaker GUI wouldn't update correctly. (more)
  • Fixed a bug where text in a text box disappeared after jumping to cursor that is off view.
  • Fixed --apply-update not setting executable permissions (more)
  • Fixed that pasting assembler recipe to requester chest would request too few items for some recipes. (more)
  • Fixed crash when exiting the game while a recipe tooltip was open. (more)
  • Fixed positioning of progress bars in mod download dialogs. (more)
  • Fixed creation of overlapping wagons under certain circumstances. (more)
  • Fixed scrolling by caret in a text box that would cause lines to disappear.
  • Fixed jittering when driving cars/tanks in some cases. (more)
  • Fixed that only the first blueprint book, blueprint, and deconstruction planner item type would show in the blueprint library. (more)
  • Fixed crash when recalculating connections between roboports. (more)
  • Fixed crash when exiting mod portal during a refresh. (more)
  • Fixed error in saving blueprinted inserters with overridden stack size. (more)
  • Entities waiting for modules can now be fast replaced. (more)
  • Fixed saving of New hope level 2. (more)
  • Fixed that the game would crash trying to load some old saves. (more)
  • Fixed train top speed calculation when not all locomotives used the same fuel type. (more)
  • Fixed roboports wouldn't provide the repair packs for other robots to use when loading saves from 0.15. (more)
  • Fixed a crash when removing modded tiles that had tile ghosts waiting to be built. (more)
  • Fixed a crash when loading saves without specific mods. (more)
  • Fixed that scenario errors would lead to getting stuck on the map preview screen if started through the map preview. (more)
  • Fixed multiple issues with enemy force interaction. (more)

Changes

  • Removed the mechanics of 3 different fluid tanks in fluid wagon, and simplified it so the fluid wagon has just 1 fluid.
  • Ghost belt entities don't connect to other (ghost/or non-ghost) belt entities if they don't have the same force.
    • This prevents ghost belt of other force (invisible to the player) from changing the shape of the belt.
  • Building a blueprint on top of existing assembling machines, refineries and chemical plants also copies the rotation, along with the recipe. (more)

Scripting

  • Added direction, created_by_moving, and shift_build event parameters to on_put_item event.
  • Replaced ScrollPane::dont_scroll_horizontally by horizontal_scroll_policy and vertical_scroll_policy.
  • Added LuaGameScript::backer_names read.
  • Added LuaStyle::want_ellipsis read/write.

Minor Features

  • Added /version command.

0.16.6

Date: 18. 12. 2017

Bugfixes

  • Fixed a crash when trying to filter the main inventory in the god-controller. (more)
  • Fixed various crashes caused by mining or otherwise changing power poles. (more)
  • Fixed a desync when using bad values in the /color command. (more)
  • Better handling of the case where we mine our own car but our inventory's full. (more)
  • Fixed placing blueprint over existing Rail Signals does not build wires. (more)
  • Reverted "Number of entities in hand when previewing the entity to be built is now aligned to the entity."
    • It proved to create too big problems with readability while building and running.
  • Fixed that rolling stocks in cursor had no icon when there was no valid location for them.

Scripting

  • Fixed that TextBox was not re-layouting text when size was changed through styles.

0.16.5

Date: 17. 12. 2017

Bugfixes

  • Fixed boilers outputting water in New hope campaign levels. (more)
  • Fixed slow saving of New hope level 2. (more)
  • Fixed that blueprint books couldn't be built from the zoomed-to-world view. (more)
  • Fixed a crash when loading saves with modded blueprint entities migrated multiple times. (more)
  • Fixed a crash when importing blueprints with circuit connections when a mod had made the entities not circuit connectable. (more)
  • Fixed that forced ghost building (shift + click) didn't work correctly.
  • Fixed destroying an entity powered from two electric networks would corrupt future saves. (more)
  • Fixed zooming in on uncharted map areas would reveal tiles on uncharted chunks. (more)
  • Fixed beacon would not highlight labs that are in range of its effects. (more)
  • Fixed disappearing sprites with Low VRAM Mode option enabled. (more)
  • Fixed glitch in one of the stone path transition sprites. (more)
  • Adjusted default graphics options to reflect increased memory requirements for high resolution sprites due to more sprites being converted to high resolution in 0.16.
  • Improved very poor performance with video memory usage set to low. (more)

Modding

  • Fixed circuit connector would not be visible on entities with more than one picture layer. Now the connector will render as 10th layer. (more)
  • Fixed icon_size scaled also icon's dark background in alt mode. (more)

0.16.4

Date: 16. 12. 2017

Bugfixes

  • Fixed progress bar in automatic updates GUI. (more)
  • Fixed crash caused by mouse drag in an empty schedule in Locomotive GUI. (more)
  • Belt rendering fix. (more)
  • Fixed the mining speed for drills would show 1 higher than it actually was. (more)
  • Fixed issue with changelogs in mods. (more)
  • Fixed that the server could crash if it received invalid data. (more)
  • Fixed crash on startup when texture compression was enabled. (more)
  • Fixed that roboport connections wouldn't render as cleanly as 0.15. (more)
  • Fixed that using the /ban command with no parameters would crash the game. (more)
  • Fixed browse mods/games, so the vertical progress bars always keep space for the scroller, so the window doesn't change size when data is loaded, or searching minimizes the result to just a page or less.
  • Fixed the game would not enter minimal mode if there was an error in migration script. (more)
  • Fixed the delete-achievements tooltip wouldn't be removed. (more)
  • Fixed the use-recipe-groups config option was ignored in the select-signal GUI. (more)

Scripting

  • Fixed that LuaPlayer::admin write didn't work. (more)
  • Added 2 optional parameters to LuaSurface::create_entity when creating resource entities: enable_tree_removal and enable_cliff_removal.
  • Changed burner prototypes to support fuel_category or fuel_categories + changed the Lua API to match.

0.16.3

Date: 15. 12. 2017

Changes

  • When mining normal entities ghost entity selection is disabled until the mining key is released.

Optimisations

  • Train stop penalty is applied when exiting the block with it instead of entering which should prevent searching for long paths just before destination train stop.

Bugfixes

  • Fixed changelog GUI displaying no version when launching the game (more)
  • Fixed crashes and desyncs related to circuit controlled lamps in more electric networks. (more)
  • Fixed advanced rail tutorial no path error. (more)
  • Fixed inventory transfer tutorial furnaces couldn't smelt ore. (more)
  • Fixed unknown locale key in train station tutorial. (more)
  • Fixed new hope level-02 script error. (more)
  • Fixed that the player would die when mining an enclosed vehicle while driving it. (more)
  • Fixed achievement progress bars rendering that caused misalignment of tracked achievements. (more)
  • Fixed that achievement title was sometimes not visible.
  • Fixed spacing of effect icons in technology detail. (more)
  • Fixed that the player could teleport over things to get into a vehicle. (more)
  • Fixed the achievement progress bars rendering.
  • Fixed that achievements not obtainable with peaceful mode were obtainable with enemy settings lower then default. (more)
  • Fixed that exiting the car whilst shooting could lead to a crash. (more)
  • Fixed that you could not submit a console message if you mapped it to ENTER. (https://redd.it/7jjlzb)
  • Fixed that the value of "bottom" of vertical align was not parsed properly. (more)
  • Fixed crash related to scenario message dialog.
  • Fixed very low performance of drawing decoratives on medium or lower video memory usage setting. (more)
  • Fixed that window to select signal wasn't working when sub-groups were enabled but groups disabled. (more)
  • Fixed that LuaGame::take_screenshot would ignore the given surface. (more)
  • Fixed the tank being hurt by its own flamethrower. (more)
  • Fixed updater not properly setting permission bits (more)
  • Fixed that hazard concrete didn't have a walking sound in one rotation. (more)
  • Fixed force-building blueprint rails would build multiple rails on the same location. (more)
  • Fixed that you could copy-paste enemy structure settings. (more)
  • Fixed that double clicking the scroll bar in the save-game GUI would save the game. (more)
  • Fixed that exiting the car with a passenger would leave the car driving in some cases. (more)
  • Fixed that the read stopped train output signal wouldn't show unless the enable/disable checkbox was checked. (more)
  • Fixed amount in resource entity tooltip might be displayed as negative number. (more)
  • Attempted to fix hangs or crashes when using single channel textures for alpha masks on some PCs. (more)
  • Fixed that the deconstruction marker on diagonal rails was off-center.
  • Fixed wrong order of buttons in Direct connection password dialogue. (more)
  • Reactor pipes now render correctly, without rotation. (more)
  • Browse games GUI now shows active filter text after reopening the GUI. (more)
  • Fixed incorrect number of rails being used when building with rail planner. (more)
  • Fixed printing of errors in Browse games GUI. (more)

Modding

  • Fixed JSON parser did not fail on comma at the end of list or dictionary. (more)

0.16.2

Date: 14. 12. 2017

Bugfixes

  • Fixed a crash when using the "flow" custom GUI element type in a mod. (more)
  • Fixed a crash when migrating energy sources from mods. (more)
  • Fixed a crash when a request to mod portal timeouts. (more)
  • Fixed that burner inserters wouldn't fuel burner furnaces in some cases. (more)
  • Fixed blueprint labels wouldn't render in the world. (more)
  • Fixed building entities very quickly could duplicate them in some cases. (more)
  • Fixed a crash when clicking refresh in Browse mods dialog. (more)
  • Fixed a crash when fast-replacing electric poles. (more)
  • Fixed a crash when trying to load mods in zipped format. (more)
  • Fixed a crash when loading saves where the character was in a vehicle which is being removed due to mod removal. (more)
  • Fixed that right click didn't work in the production/electric stats GUIs. (more)
  • Fixed a crash when migrating specific simple-entities to 0.16. (more)
  • Fixed lamp energy info in sidebar and in the Lua interface.
  • Fixed that the logistic network embargo achievement didn't disallow the buffer chest.
  • Fixed that fast-replace building ghost underground belts and pipes wouldn't rotate the direction correctly.
  • Changed (hopefully improved) the heuristic that decides which rail path should be selected for manual rail building.
  • Attempt at fixing game not working on macOS 10.12 and older. (more)

Modding

  • Fixed the game did not check type of units defined in resul_units of unit-spawner. (more)

0.16.1

Date: 13. 12. 2017

Bugfixes

  • Changed requirement for parallel loading of high quality sprites to 12 GB of RAM to prevent chance of running out of memory on startup. (more)
  • Fixed that saves with modded progress bar GUI elements couldn't be loaded in 0.16. (more)
  • Fixed crash when loading crop cache from previous game version. (more)
  • Fixed that LuaRemote::call() wouldn't copy string values/keys correctly. (more)
  • Fixed updater would re-launch the game with deprecated --autoupdate-finished parameter.
  • Fixed that scroll pane created unnecessary horizontal scroller when squashed vertically (MapPreview, blueprints, probably more) (more)
  • Fixed that the Linux binary was corrupt and wouldn't start. (more)
  • Fixed error checking when compiling GLSL shaders. (more)
  • Fixed artillery would still show as being able to shoot when on enemy forces. (more)
  • Fixed the programmable speaker GUI wouldn't show settings correctly when opened. (more)

0.16.0

Date: 13. 12. 2017

Major Features

  • Added logistic buffer chest. It can request items that are still available to the logistic system.
  • Added the artillery wagon and artillery turret which will automatically shoot biter nests and worms.
  • Added cliffs. (https://factorio.com/blog/post/fff-219)

Features

  • Train block visualisation.
  • Building entities over identical ghosts will revive them.
  • When building a different entity on top of a ghost, settings from the ghost will be copied if possible.
  • Train schedules and wait conditions can be rearranged by clicking and dragging.
  • New mini-tutorials: Construction robots.
  • Belts, underground belts and splitters can now fast replace each other.
  • Roboports now provide the repair packs they have for other robots to use.
  • Logistic request tooltips now show the count of items in the requester, on the way, and in the network.
  • The players main inventory can now be filtered.
  • New terrains and new terrain generation.
  • All terrains, including stone path and concrete, have transitions with water.
  • Map generation dialog now contains a preview of the map.

Minor Features

  • Ctrl-delete now deletes whole word in a text field instead of a single character. (more)
  • Placing output underground belt as ghost properly retains its type as output underground belt. Also underground belts now respect nearby ghosts and become output if there is input ghost nearby. Underground belt and pipe ghosts when hovered show outline of where they will connect (more)
  • Headless server will automatically save the game when the last player leaves and auto-pause starts.
  • Added support to disable debug settings for non-admin players in multiplayer through the /config command.
  • Dropping items on belts manually (Z) won't spill items if they won't fit on the belt.
  • Trees can now be configured in the generate-map GUI.
  • Hotkeys can be un-bound by right clicking.
  • Rail chain signals can be read by the circuit network.
  • Small electric poles and medium electric poles can be fast-replaced with each other.
  • In multiplayer players can now ride as passengers in cars/tanks.
  • Electric poles and power switches can be opened from the zoomed-to-world view.
  • Terrain can be configured in the generate map GUI.
  • When holding an offshore pump, all valid build positions will be highlighted.
  • After desyncing in multiplayer, the game will not automatically connect back, instead a dialog with more information will be shown.
  • All map visualisations work also when in zoomed in map mode, where normal view and map view is combined based on radar/player coverage.

Graphics

  • More entities in high resolution: laboratory, radar, worker robots (construction and logistic), combat robots (defender, distractor and destroyer), combinators, electric & circuit wires, pumpjack, storage tank, player, solar panel, lamp, roboport, tank.
  • All terrain now supports high resolution.
  • Blueprint previews and ghost entities now have their walls, pipes and belts connected.
  • New alert icons.

Balancing

  • Removed Assembling machine 1 from the production science pack.
  • Changed nuclear reactor stack size to 10.
  • Moved cluster grenade recipe to military 4 research.
  • Changed uranium ammo prerequisite from military 3 to military 4.
  • Explosives now produce 2 per craft.
  • Slightly adjusted some recipe craft times to better reflect their ingredient count.
  • Changed the terrain building size limit to be based off the player reach.
  • Biters scale less with distance and there are generally less biters.
  • Resources are much more spread apart. To compensate, patches are larger. Since it's easier to mine, the amount of resources on the map is 3 times less.
  • Resources scale slightly less over distance.
  • No uranium as a starting resource also no uranium is ever generated near the starting area, you need to go look for it.
  • There is 1.49 times more iron on the map to compensate for the extra iron required in a typical game.

Changes

  • Disabled loading of saves before 0.13.0 version (You can use 0.13 to load older saves and re-save them).
  • Train doesn't need to come to a full stop when manually changing train destination or switching from manual to automated mode.
  • Removed the "shift" value from map generation settings as it wasn't needed anymore.
  • Creating blueprints and using deconstruction planner in zoom-to-world map mode now skip entities covered by fog of war. (more)
  • Changed the default autosave interval settings from 2 to 5 minutes.
  • It is possible to open/close and interact with the chat console when the map is being saved or server loosing connection dialog is active.
  • The game uses only the cloud version of player-data and achievements on steam to avoid problems with resets.
  • Increased the limit of recipe categories from 255 to 65535.
  • New blueprint no longer includes entities marked for deconstruction.
  • Enable Map Exchange String for sandbox games
  • Copy Paste from assembler to requester chest now scales with assembler speed and recipe crafting time.
  • Blueprints never show the number 1 when held in cursor.
  • Robots in the air from personal roboport now count towards logistics requests for that robot type (more)
  • Added /server-save command that does the same thing as lua server_save, but doesn't disable achievements. (more)
  • Gamesave names in the load game dialog that are too long to fit the gui now show in a tooltip in full. (more)
  • Removed the option to turn off the item groups and sub groups from the GUi. It can still be done through the config file or lua commands.
  • Added separate control option for placing tags on the map, so by default map scroll is left click, and place tag is right click.
  • Allow easier dragging of underground pipes and belts when not moving in a perfect straight line.
  • The Arithmetic Combinator can now use a constant as the first parameter, not only the second. So you can do operations like 2^SIGNAL. (more)
  • When building blueprints, any already existing building of the same entity type will have their settings updated instead of showing red. (more)
  • The options menu has been organized better. Some options were moved to a new "Interface" settings menu.
  • Updater proxy settings were removed from the options menu. They can still be accessed through the ini file.
  • Exchange strings are now compressed before being converted into base64.
  • Improved GUI search.
  • Added /delete-blueprint-library *player* command to remove blueprints of players from the game.
  • The map view will attempt to treat very short clicks as clicks instead of drags to make it easier to click things.
  • The explosive cannon shells now target the ground where you shoot.
  • Transition from terrain to water is no longer buildable, meaning entities can no longer be built partially on the water.
  • Resources will have much less trees on them near the player starting area.
  • Tanks no longer take miniscule amounts of damage from hitting trees.
  • Previously, building while running at very high speed would create gaps. These are automatically filled now.
  • Locomotive will show train ID in its tooltip. The ID can be used in circuit network conditions. (more)
  • When two trains are being merged, the decision which schedule should be used for the merged train has been changed from bigger schedule to schedule that has latest change. (more)
  • Number of entities in hand when previewing the entity to be built is now aligned to the entity.
  • Added sliding when the player character collides with water or entities with rotated bounding box.
  • Improved drawing of turret radiuses in blueprint. Many overlapping radiuses no longer covers terrain completely.
  • External blueprint library is no longer merged with blueprint library in save. Instead, in-save library is always overwritten by the external one.

Bugfixes

  • Fixed that train arriving to station could give astronomically big penalty causing trains to go through weird places. (more)
  • Fixed that fluid wagon pumps would sometimes not connect properly (more)
  • Fixed that module icons in blueprint previews wouldn't render correctly in some cases. (more)
  • Fixed long mod manager preview labels would extend out of the frame.
  • Fixed that the ~ key couldn't be used to close the console.
  • Fixed that the mining progress was reset when mining selection is lost while mining button pressed. (more)
  • Catalysts in recipes are automatically recognized and not counted towards production/consumption statistics. (more)
  • Fixed that ghost rail signal emmited light.
  • Fixed that different icon sizes were not scaled properly when drawn in the alt-info mode. (more)
  • Fixed latency sound effects in multiplayer latency hiding would sometimes play too many times.
  • Fixed that errors in fonts would give useless errors. (more)
  • Fixed problems related to trains crashing rarely. (more)
  • Disabled possibility to attempt opening invalid save/replay by double click or enter.
  • UTF-8 BOM in JSON, INI and LUA files will be ignored instead of causing parsing error. (more)
  • Fixed that clearing all blueprint icons would cause the entire blueprint to be cleared without a warning. (more)
  • Conflicts of multi-modifier hotkeys are now resolved correctly. (more)
  • Fixed sprite rendering at large distances from 0,0. (more)
  • Interacting with a filter slide bar requesting amount over capacity of a full requester won't dispatch robots anymore.
  • Fixed restart after the second update in a row crashed the game due to duplicated launch parameter (Linux/macOS). (more)
  • Fixed that "asdf" and "as df" were considered the same when listed in the stop selection. (more)
  • Buildable item counts in inventory in Sandobx mode now update properly with resource changes. (more)
  • Fixed that map width/height accepted value of 0. (more)
  • Fixed crash when loading Vorbis Ogg files with metadata. (more)
  • Fixed that the manual rail building ended up one tile before the cursor. (more)
  • Assembling machine can now output product with amount over stack size. (more)
  • Fixed entity description for resources that require fluids. (more)
  • Possible fix of the problem that map download blocks all other communication and client is disconnected when downloading. (more)
  • Fixed that the game could crash when catching up when processing queued gui actions. (more)
  • Fixed a rare case, when the paused dialog stayed active when reconnecting game after drop. (more)
  • Fixed colored lights would lose their color when nightvision was on. (more)
  • Fixed very bad performance when previewing blueprint with one big connected circuit network. (more)
  • Fixed that an attacking group of biters would sometimes get stuck in a cyclic back-and-forth walking pattern. (more)
  • Fixed that in certain scenarios, the blueprint library wouldn't synchronise. (more)
  • Trains now recalculate next station correctly when more stations are en/disabled at the same tick. (more)
  • Fixed that the server would sometimes quit if a player tried to connect after another player tried to connect unsuccessfully. (more)
  • Fixed when updater requested administrator rights, updated Factorio would be started in elevated mode too. (more)
  • Fixed steam "leaking" outside of storage tank window on high sprite quality setting. (more)
  • Programmable speakers with "Global playback" active won't play for players in a different force.
  • Beam weapon now shows correct damage when modded into dealing damage more times during its duration. (more)
  • Fixed that large entities wouldn't render correctly on the map. (more)
  • Fixed that the mining drill wouldn't show the speed bonus in the same format as assembling machines. (more)
  • Fixed the entity icons for combat robots didn't match the item icons. (more)
  • Train can't block its own path anymore. (more)
  • Fixed circuit wire connections wouldn't render correctly in rotated blueprints in some cases. (more)
  • Fixed that changing the system time forwards would cause Factorio to freeze.
  • Fixed a crash when changing large circuit networks. (more)
  • Fixed closing window right after it was created would hang the process. (more)
  • Fixed it was possible to open entity GUIs from zoom-to-world when holding some items in cursor. (more)
  • Fixed that negative a productivity bonus would show in entity GUIs and create negative progress bars. (more)
  • Fixed that when biters were attacked but couldn't find a path to the attacker, they would stoically accept their fate. (more)
  • Fixed that the multiplayer-waiting icon wouldn't render in the map view. (more)
  • Fixed global achievement progress was multiplied by number of player in multiplayer game. (more)
  • Fixed that passing a LuaObject instead of a plain Lua table to LuaBootstrap::raise_event would crash the game. (more)
  • Fixed setting active=false then true on a beacon wouldn't update the beacon correctly. (more)
  • Possible fix of a crash when a player leaves when a blueprint is being transferred. (more)
  • Fixed that the rocket silo would get stuck if it died and was re-built by robots while launching the rocket.
  • Fixed transport belt circuit connector would draw over splitter in front of it. (more)
  • Fixed that it was still possible to get some achievements in a replay. (more)
  • Fixed that circular references passed through the Lua remote interface would crash the game. (more)
  • Fixed missing personal robot recharging animation when character was in a vehicle. (more)
  • Fixed that vertical size of progress bar wasn't respecting the gui scale.
  • Fixed that the number drawn next to cursor when item is held was differently positioned compared to how it is in the inventory.
  • Fixed texture compression would not be disabled when d3dx9.dll is not installed, corrupting sprites that were expected to be compressed.

Optimisations

  • Improved performance of transport belts about x5 times. (https://www.factorio.com/blog/post/fff-176)
  • Added prefetching of the next entity in the update loop improving overall update performance by approx. 10 %.
  • Improved performance of Item manipulation (4% effect on the overall performance).
  • Improved performance of crafting machine (furnace/assembling machine) (2% effect on the overall performance).
  • Improved performance of electric network transfer more than twice. (10% effect on the overall performance).
  • Improved performance of smoke greatly. (2.5% and more effect on big factories).
  • Improved performance when building rail blocks with many segments.
  • Improved performance of logistic provider and requester chests.
  • Improved performance of blueprint previews (the GUI and holding it in the world).
  • Improved game startup time when a sufficiently powerful computer is detected.

Modding

  • Train path finding penalty values are now in utility-constants, to make it viewable and moddable.
  • Fixed storage tank with non-square collision box would not align to tiles in all rotations properly. (more)
  • Fixed belt-immunity equipment so it now works on cars.
  • Fixed that the radius property for the area trigger effect was called perimeter.
  • Fixed that crafting machine with non-square bounding box was not rotatable. (more)
  • Removed default values for icon_size, so icon_size is now required property. (more)
  • Updated the serpent library to version 0.30.
  • Changed the "item that builds this" list for entities so is's sorted first by ItemPrototype::primary_place_result_item and then by normal item prototype sort order.
  • Changed default value of InserterPrototype::allow_custom_vectors to false.
  • Changed "Nothing" technology effect "effect_key" to "effect_description" and changed it to accept localised strings.
  • Changed rocket silo prototype "result_items" to be defined in the item as either "rocket_launch_product" or "rocket_launch_products".
  • Changed the string mod setting type so it will attempt to localise items in the dropdown using "string-mod-setting.mod-name-stting-name-dropdown-item".
  • Changed technology modifier icons so they can be defined per-modifier-type instead of always using the red "+" icon.
  • Changed LuaObject::destroy() so it won't error if called on invalid objects.
  • Changed mod settings so the game will remember settings from removed mods should they be re-added in the future.
  • Changed how TilePrototype::transition_merges_with_tile works. See https://www.factorio.com/blog/post/fff-214 for more details.
  • Scenarios can contain folders with arbitrary names.
  • Added 'single_line' and 'want_ellipsis' to Label style specification.
  • Added force bonus for following robot time to live.
  • Added force bonus for research productivity.
  • Added ability to import and export item-with-tags to/from strings.
  • Added support for fast-replacing character entities.
  • Added CombatRobotPrototype::light.
  • Added TurretPrototype::alert_when_attacking.
  • Added optional 'respawn_time' (in seconds) to the character entity.
  • Added "hide-from-bonus-gui" entity and item prototype flags.
  • Added support for mods to disable custom-input prototypes of other mods.
  • Added support for mods to show changelogs (following the same format as the core game changelog).
  • Added MapGenSettings support to fully define which autoplace definitions are used for a given surface.
  • Added AutoplaceSpecification::default_enabled - if a given autoplace specification should be enabled without being explicitly enabled in map gen settings.
  • Added allowed_effects support to the mining drill.
  • Added optional "has_belt_immunity" property to the unit and car prototype.
  • Added optional "hidden" prototype property to the achievement prototype.
  • Added support to link custom-input prototypes directly to game controls instead of having them act as their own control.
  • Added a new entity type "infinity-container" that can automatically add/remove items from itself; useful for scenarios and modding.
  • Added support for incompatible dependencies.
  • Added an entity prototype flag "hide-alt-info" to never show alt-info for a given entity.
  • Added distance bonus support to the mining tool item type.
  • Added InserterPrototype::draw_held_item.
  • Added FluidPrototype::fuel_value and Generator::burns_fluid.
  • Added mod-developer support to runtime change autoplace specifications enabled through the command line option --enable-runtime-autoplace-modification using F2 in-game.
  • simple-entity, simple-entity-with-owner and simple-entity-with-force can now define 'animations' instead of 'picture' or 'pictures'.

Scripting

  • Fixed that LuaSurface::get_trains() didn't work for trains without locomotives. (more)
  • Fixed that reversing technology effects in different orders than they where researched could lead to a non-zero number. (more)
  • Fixed surface_index was off by 1 for on_player_built_tile and on_player_mined_tile events.
  • Fixed possible desync when teleporting underground belt ghosts and pipe to ground ghosts.
  • Changed the robot_built and player_built events to pass the item stack used to do the building instead of the item name and tags.
  • Changed "on_preplayer_mined_item" to "on_pre_player_mined_item".
  • Changed LuaEntity::recipe to LuaEntity::get_recipe() and LuaEntity::set_recipe().
  • Changed LuaSurface::regenerate_decorative/regenerate_entity to accept zero arguments and regenerate everything.
  • Changed the root custom gui containers (top, left, center, goal) to have the corresponding name.
  • Changed the event data from script.raise_event will contain mod_name, the name of the mod that raised it.
  • Changed LuaFluidBox fluid from {type="...", amount=...} to {name="...", amount=...}
  • Changed name of colspan parameter of table to column_count.
  • Changed LuaItemPrototype::group_filters and sub_gorup_filters to item_group_filters and item_subgroup_filters to match the prototype values.
  • LuaEntity::set_recipe() returns the items removed from the entity as a result of setting the new recipe (if any).
  • Moved Mod-gui button flow to gui.top.
  • Removed LuaEntity::passenger read/write.
  • Added style::width/height to set maximal/minimal value at the same time.
  • Added style::align to set the align of inner elements.
  • Added style::stretchable / squashable.
  • Added LuaEntity::get_driver(), set_driver(), get_passenger(), and set_passenger().
  • Added LuaGuiElement::hovered_sprite and clicked_sprite read/write methods for the SpriteButton.
  • Added support to change daytime length and brightness on a per-surface basis.
  • Added GameViewSettings show_rail_block_visualisation property that forces the visualisation to be always on.
  • Added LuaItemStack::export_stack and LuaItemStack::import_stack to export/import supported items to/from strings.
  • Added LuaEntity::tree_color_index read/write access and LuaEntityPrototype::tree_color_count read access.
  • Added LuaEntity::selection_box and secondary_selection_box read.
  • Added LuaBootstrap::mod_name read.
  • Added LuaControl::in_combat read.
  • Added LuaTile::order_deconstruction() and cancel_deconstruction().
  • Added optional cause and force to LuaEntity::die().
  • Added on_player_used_capsule event.
  • Added on_player_promoted and on_player_demoted events.
  • Added on_player_changed_position event.
  • Added LuaEntityPrototype::alert_when_attacking read and LuaEntityPrototype::alert_when_damaged read.
  • Added LuaEntity::power_switch_state read/write.
  • Added on_combat_robot_expired event.
  • Added LuaEntity::relative_turret_orientation read/write for vechicles with turrets.
  • Added LuaEntityPrototype::color read.
  • Added LuaTrain::passengers.
  • Added LuaEntityPrototype::collision_mask_collides_with_self read.
  • Added "fluid", and "recipe" type to the choose-elem-button custom GUI element.
  • Added LuaGuiElement::locked read/write - when true the given choose-elem-button can only be changed through script.
  • Added an optional parameter to LuaSurface::drop_item_stack to mark dropped items for deconstruction.
  • Added LuaForce::cancel_charting(...).
  • Added LuaSurface::force_generate_chunk_requests().
  • Added support for setting a LuaGuiElement as the opened GUI for a player causing it to close with the normal close-GUI methods.
  • Added on_gui_opened and on_gui_closed events.
  • Added on_player_muted/unmuted and on_player_cheat_mode_enabled/disabled events.
  • Added LuaItemStack read properties to tell if a given item is some specific item type.
  • Added LuaAutoplaceControlPrototype, LuaNoiseLayerPrototype, LuaModSettingPrototype, and LuaCustomInputPrototype.
  • Added LuaGameScript autoplace_control_prototypes, noise_layer_prototypes, mod_setting_prototypes, and custom_input_prototypes read.
  • Added LuaForce::reset_evolution().
  • Added LuaSurface::create_trivial_smoke().
  • Added LuaPlayer::enable_recipe_groups() and enable_recipe_subgroups().
  • Added LuaItemStack::rocket_launch_products read.
  • Added on_mod_item_opened event.
  • Added LuaItemPrototype::can_be_mod_opened read.
  • Added the item stack index as a second return value to LuaInventory::find_item_stack.
  • Added LuaItemStack::transfer_stack().
  • Added LuaGuiElement type "slider".
  • Added on_gui_value_changed event - fired when a slider value changes.
  • Added optional color field as a second parameter to the 4 print functions.
  • Added support to change LuaSurface::map_gen_settings runtime.
  • Added LuaEntityPrototype::allowed_effects read.
  • Added LuaEntity::effects read.
  • Added LuaPlayer::can_place_entity(), can_build_from_cursor(), and build_from_cursor().
  • Added LuaSurface::play_sound().
  • Added LuaForce::play_sound().
  • Added LuaGameScript::play_sound() and is_valid_sound_path().
  • Added LuaPlayer::play_sound().
  • Added support to teleport train stops, rail signals, walls, gates, and entities with fluidboxes.
  • Added LuaEntity::rotate().
  • Added LuaEntity::get_infinity_filter() and set_infinity_filter().
  • Added LuaEntity::infinity_filters and remove_unfiltered_items read/write.
  • Added LuaEntityPrototype::rocket_parts_required read.
  • Added LuaEntityPrototype::fixed_recipe read.
  • Added LuaGameScript::kick_player(), ban_player(), unban_player(), purge_player(), mute_player(), and unmute_player().
  • Added LuaPlayer::admin write support.
  • Added LuaGuiElement::focus().
  • Added on_character_corpse_expired event.
  • Added on_pre_ghost_deconstructed event.
  • Added on_player_pipette event.
  • Added LuaEntity::character_corpse_player_index, character_corpse_tick_of_death, and character_corpse_death_cause read/write.
  • Added LuaSurface::get_tile_properties().
  • Added LuaSurface::can_fast_replace().
  • Added support for player associated characters - characters that get logged off/on with a given player but aren't directly controlled by the player.
  • Added LuaEntity::associated_player read/write.
  • Added LuaPlayer::get_associated_characters(), associate_character(), and disassociate_character().
  • Added LuaPlayer::ticks_to_respawn read/write.
  • Added old_state to the on_train_changed_state event.
  • Added LuaRecipe::catalysts read.
  • Added LuaRecipe::hide_from_flow_stats read/write.
  • Added LuaRecipePrototype::hidden_from_flow_stats read.
  • Added LuaEntity::tick_of_last_attack and tick_of_last_damage read for the character entity.
  • Added LuaLogisticNetwork::passive_provider_points and active_provider_points read.
  • Added LuaPlayer::display_resolution read.
  • Added on_player_display_resolution_changed event.
  • Added LuaPlayer::display_scale read.
  • Added on_player_display_scale_changed event.
  • Added LuaTrain::weight and riding_state read.
  • Added LuaEntity::products_finished write.
  • Added optional surface to game.take_screenshot(...).
  • Added LuaEntityPrototype::construction_range and logistics_range read.
  • Added LuaGuiElement::index read.
  • Added LuaForce::max_successful_attemps_per_tick_per_construction_queue and max_failed_attempts_per_tick_per_construction_queue read/write + technology modifiers.
  • Added LuaGuiElement::mouse_button_filter read/write for buttons and sprite-buttons.
  • Added LuaSurface::find_tiles_filtered() and count_tiles_filtered().
  • Added LuaEntity::get_train_stop_trains().
  • Added LuaLogisticNetwork::force read.
  • Added LuaItemStack::item_number read - the unique ID of the item if it has one.