0.15 modding related changelog as of March 6, 2017
Posted: Sat Jan 07, 2017 6:26 pm
				
				This is the current changelog for 0.15 relating to modding and scripting as of March 6, 2017:
Modding:
			Modding:
- Fast cropping of sprite boundaries - it's no longer necessary to delete crop-cache.dat when existing sprites are modified.
 - Utility sprites are now defined fully in the core mod prototypes.
 - Added support for burner type generator-equipment.
 - Added "simple-entity-with-force" and "simple-entity-with-owner" entity types.
 - Boiler has now dynamically specified energy source (as inserter and similar).
 - Added support for mod settings: startup, runtime, and runtime-per-user.
 - Added commandline option --check-unused-prototype-data
 - Added a "nothing" technology modifier type with an "effect_key" property for script-based-effect research.
 - Redundant technology prerequisites are logged when verbose logging is enabled.
 - Changed technology prototype icon_size to default to 32 instead of 64.
 - In any instance an icon isn't 32x32 the icon_size property must be set to the actual size of the (square) icon.
 - Renamed "armor-making-2" to "heavy-armor".
 - Renamed "armor-making-3" to "power-armor".
 - Removed "alien-technology".
 - Added the ability to have "friend" forces. Friend forces are given unrestricted access to buildings and won't be attacked.
 - Changed container entities to not scale info icons by default + added the optional prototype property "scale_info_icons" to enable scaling.
 - Added property "turret_base_has_direction" to turret entity types. Set it to true if you want to use turn_range property in turret attack_parameters. This property has to be true for any fluid-turret, because of pipe connections.
 - Added support for different recipe and technology complexity definitions.
 - Added "item-with-tags" item type that can store any basic arbitrary Lua data.
 - Lamps, roboports, walls, rail signals, and accumulators now accept any signal type (item, fluid, virtual).
 - "animation_speed" property of animation definitions has to be greater than 0.
 
- Mod events are now fired by the mod dependency order instead of the mod name starting with the scenario script.
 - Utility sprites can be used in the sprite button.
 - Added 4th custom gui root position "goal", which is used in the objectives.
 - The goal and left gui element has default direction vertical.
 - Added LuaGuiElement::clear to remove all the contents of the element.
 - Added column_alignments settings in table style.
 - LuaForce::reset() now resets everything about the force to the default state.
 - Added on_selected_entity_changed - fires when the selected entity for a player changes.
 - Added on_market_item_purchased - fires when a player purchases something from a market entity.
 - Added on_player_dropped_item - fires when a player drops an item that results in an item-on-ground entity.
 - Added on_biter_base_built - fires when biters build bases during migration.
 - Added on_player_changed_force - fires when a players force is changed.
 - Added on_entity_renamed - fires when an entity is renamed either by the player or through script.
 - Added on_gui_selection_state_changed - fires when an item in a drop-down gui element is selected.
 - Added on_surface_deleted, on_pre_surface_deleted, and on_surface_created events.
 - Added on_player_mined_entity and on_robot_mined_entity events.
 - Added on_train_created event.
 - Changed less_then to less_than in lua GUI progress bar style specification. (33196)
 - Added remote interface to freeplay and sandbox scripts.
 - Added the ability for mods to register commands.
 - Added LuaRandomGenerator.
 - Changed LuaEntityPrototype::underground_belt_distance to LuaEntityPrototype::max_underground_distance and changed it to work on both underground pipes and underground belts.
 - Added LuaEntityPrototype::drawing_box, sticker_box, flags, remains_when_mined, additional_pastable_entities, allow_copy_paste, shooting_cursor_size, created_smoke, created_effect, map_color, friendly_map_color, enemy_map_color, build_base_evolution_requirement read.
 - Added LuaEntity::graphics_variation read/write for simple entities and trees.
 - Added LuaSurface::destroy_decoratives and LuaSurface::create_decoratives.
 - Added LuaBurner - readable off entities and equipment - the burner energy source for the entity.
 - Added optional "surface" to LuaForce::chart_all().
 - Added "recipe" to on_player_crafted_item.
 - Added "cause" to on_entity_died - the entity that did the killing if available.
 - Added the ability to read item_requests from item request proxy entities as well as ghosts.
 - Changed LuaEntity::item_requests to match the docs format.
 - Added "by_script" to on_research_finished.
 - Added LuaCircuitNetwork::network_id read.
 - Added LuaGui::children read.
 - Added LuaGuiElement::children read.
 - Added LuaGuiElement drop-down type.
 - Removed LuaGameScript::evolution_factor.
 - Added LuaForce::evolution_factor.
 - Added optional fields "durability" and "ammo" when using SimpleItemStack definitions.
 - Added LuaItemPrototype fuel_category, burnt_result, fuel_acceleration_multiplier, fuel_top_speed_multiplier read.
 - Removed LuaSurface::get_tileproperties.
 - Added LuaPlayer::opened write.
 - Added LuaPlayer::opened_gui_type read.
 - Added on_runtime_mod_setting_changed event - fires when a player changes runtime mod settings.
 - Expanded LuaStyle read/write property support.
 - Fixed LuaSurface::spill_item_stack didn't interpret "enable_looted" parameter properly. (38717)
 - Added player_index to the entity settings pasted events.
 - Added support for specifying the "max_range" of a projectile when created through create_entity.
 - Added LuaSurface::find_logistic_networks_by_construction_area(..).
 - Added support for turret orientation read/write through LuaEntity::orientation.
 - Added LuaEntity::shooting_target read/write for turrets.
 - Added LuaLogisticPoint - read access to logistic data about provider, storage, and requester points.
 - Added LuaEntity::get_logistic_point().
 - Added LuaLogisticNetwork::provider_points, empty_provider_points, requester_points, full_or_satisfied_requester_points, and storage_points read.
 - Added LuaPlayer::add_alert, remove_alert, and get_alerts.
 - Changed LuaSurface::create_entity{name="item-on-ground", stack=...} to accept the same format for item stacks as the rest of the Lua API.
 - Removed LuaPlayer::build_from_cursor + LuaPlayer::rotate_for_build as they aren't replay/MP safe.
 - Added optional parameter "return_item_request_proxy" to LuaEntity::revive. If true and revive creates item request proxy, the proxy will be returned as the third value.
 - Added LuaPlayer::mute_alert, unmute_alert, is_alert_muted, enable_alert, disable_alert, is_alert_enabled.
 - Added LuaForce::set_friend/get_friend.
 - Moved game.get_event_handler and game.raise_event to "script".
 - Added LuaSurface::get_trains() and LuaForce::get_trains().
 - Added LuaSurface::regenerate_decorative().
 - Added LuaDecorativePrototype.
 - Added Mod gui script for easy consistent styling of mod buttons and frames within the game.
 - Added remote interface functions for the rocket silo gui: add_tracked_item, remove_tracked_item, get_tracked_items, update_gui
 - Changed LuaForce::clear_chart() to take an optional surface to clear the chart for.
 - Added LuaGuiElement::single_line and want_ellipsis for the CustomLabel type.
 - Added LuaGuiElement type "camera".
 - Added LuaEntity::stickers read. The stickers attached to a given entity.
 - Changed the player built event to include the item name used to do the building if possible and include the tags from the "item-with-tags" item if possible.
 - Added LuaEntityPrototype::module_inventory_size read.
 - Added LuaEntityPrototype::get_inventory_size().
 - Added LuaTransportLine::operator[] and operator#.
 - Added support for full copying LuaItemStack in most places that take the SimpleItemStack type.
 - Added LuaInventory::entity_owner, player_owner, and equipment_owner read.
 - Changed LuaEntity::passenger to work with both character entities and players.
 - Added LuaEntityPrototype::ingredient_count read.
 - Added support for LuaFlowStatistics read on electric poles.