Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'doc/python_api/rst')
-rw-r--r--doc/python_api/rst/bge.app.rst1
-rw-r--r--doc/python_api/rst/bge.texture.rst8
-rw-r--r--doc/python_api/rst/bge_types/bge.types.BL_ShapeActionActuator.rst4
-rw-r--r--doc/python_api/rst/bge_types/bge.types.KX_GameObject.rst18
-rw-r--r--doc/python_api/rst/bgl.rst4
-rw-r--r--doc/python_api/rst/change_log.rst5651
-rw-r--r--doc/python_api/rst/gpu.rst8
-rw-r--r--doc/python_api/rst/include__bmesh.rst15
-rw-r--r--doc/python_api/rst/info_api_reference.rst2
-rw-r--r--doc/python_api/rst/info_overview.rst51
-rw-r--r--doc/python_api/rst/info_tutorial_addon.rst635
11 files changed, 5711 insertions, 686 deletions
diff --git a/doc/python_api/rst/bge.app.rst b/doc/python_api/rst/bge.app.rst
index 34b9263db0c..e8b91ffbcaf 100644
--- a/doc/python_api/rst/bge.app.rst
+++ b/doc/python_api/rst/bge.app.rst
@@ -47,4 +47,3 @@ Module to access application values that remain unchanged during runtime.
True if the BGE has been built with physics support.
:type: bool
-
diff --git a/doc/python_api/rst/bge.texture.rst b/doc/python_api/rst/bge.texture.rst
index 49f6c4469a4..3028ee653f8 100644
--- a/doc/python_api/rst/bge.texture.rst
+++ b/doc/python_api/rst/bge.texture.rst
@@ -681,7 +681,7 @@ Image classes
.. attribute:: zbuff
- Use depth component of render as grey scale color - suitable for texture source.
+ Use depth component of render as grayscale color - suitable for texture source.
:type: bool
@@ -817,7 +817,7 @@ Image classes
.. attribute:: zbuff
- Use depth component of viewport as grey scale color - suitable for texture source.
+ Use depth component of viewport as grayscale color - suitable for texture source.
:type: bool
@@ -1260,8 +1260,8 @@ Filter classes
.. class:: FilterGray
- Filter for gray scale effect.
- Proportions of R, G and B contributions in the output gray scale are 28:151:77.
+ Filter for grayscale effect.
+ Proportions of R, G and B contributions in the output grayscale are 28:151:77.
.. attribute:: previous
diff --git a/doc/python_api/rst/bge_types/bge.types.BL_ShapeActionActuator.rst b/doc/python_api/rst/bge_types/bge.types.BL_ShapeActionActuator.rst
index d08a761ed95..4bb3d273cb9 100644
--- a/doc/python_api/rst/bge_types/bge.types.BL_ShapeActionActuator.rst
+++ b/doc/python_api/rst/bge_types/bge.types.BL_ShapeActionActuator.rst
@@ -59,7 +59,7 @@ base class --- :class:`SCA_IActuator`
.. attribute:: mode
- The operation mode of the actuator. Can be one of :ref:`these constants<shape-action-actuator>`.
+ The operation mode of the actuator. Can be one of :ref:`these constants<action-actuator>`.
:type: integer
@@ -68,5 +68,3 @@ base class --- :class:`SCA_IActuator`
The name of the property that is set to the current frame number.
:type: string
-
-
diff --git a/doc/python_api/rst/bge_types/bge.types.KX_GameObject.rst b/doc/python_api/rst/bge_types/bge.types.KX_GameObject.rst
index d8cc5e45e83..c5729fd5b19 100644
--- a/doc/python_api/rst/bge_types/bge.types.KX_GameObject.rst
+++ b/doc/python_api/rst/bge_types/bge.types.KX_GameObject.rst
@@ -405,7 +405,7 @@ base class --- :class:`SCA_IObject`
.. note::
- This attribute is experemental and may be removed (but probably wont be).
+ This attribute is experimental and may be removed (but probably wont be).
.. note::
@@ -419,7 +419,7 @@ base class --- :class:`SCA_IObject`
.. note::
- This attribute is experemental and may be removed (but probably wont be).
+ This attribute is experimental and may be removed (but probably wont be).
.. note::
@@ -453,7 +453,7 @@ base class --- :class:`SCA_IObject`
.. attribute:: childrenRecursive
- all children of this object including childrens children, (read-only).
+ all children of this object including children's children, (read-only).
:type: :class:`CListValue` of :class:`KX_GameObject`'s
@@ -536,7 +536,7 @@ base class --- :class:`SCA_IObject`
.. method:: getAxisVect(vect)
- Returns the axis vector rotates by the objects worldspace orientation.
+ Returns the axis vector rotates by the object's worldspace orientation.
This is the equivalent of multiplying the vector by the orientation matrix.
:arg vect: a vector to align the axis.
@@ -596,7 +596,7 @@ base class --- :class:`SCA_IObject`
Gets the game object's linear velocity.
- This method returns the game object's velocity through it's centre of mass, ie no angular velocity component.
+ This method returns the game object's velocity through it's center of mass, ie no angular velocity component.
:arg local:
* False: you get the "global" velocity ie: relative to world orientation.
@@ -609,7 +609,7 @@ base class --- :class:`SCA_IObject`
Sets the game object's linear velocity.
- This method sets game object's velocity through it's centre of mass,
+ This method sets game object's velocity through it's center of mass,
ie no angular velocity component.
This requires a dynamic object.
@@ -814,7 +814,7 @@ base class --- :class:`SCA_IObject`
# do something
pass
- The face paremeter determines the orientation of the normal.
+ The face parameter determines the orientation of the normal.
* 0 => hit normal is always oriented towards the ray origin (as if you casted the ray from outside)
* 1 => hit normal is the real face normal (only for mesh object, otherwise face has no effect)
@@ -911,7 +911,7 @@ base class --- :class:`SCA_IObject`
.. note::
- The gameObject argument has an advantage that it can convert from a mesh with modifiers applied (such as subsurf).
+ The gameObject argument has an advantage that it can convert from a mesh with modifiers applied (such as the Subdivision Surface modifier).
.. warning::
@@ -919,7 +919,7 @@ base class --- :class:`SCA_IObject`
.. warning::
- If the object is a part of a combound object it will fail (parent or child)
+ If the object is a part of a compound object it will fail (parent or child)
.. warning::
diff --git a/doc/python_api/rst/bgl.rst b/doc/python_api/rst/bgl.rst
index 99f481ce998..0b31e62963c 100644
--- a/doc/python_api/rst/bgl.rst
+++ b/doc/python_api/rst/bgl.rst
@@ -12,7 +12,7 @@ contents: dir(bgl). A simple search on the web can point to more
than enough material to teach OpenGL programming, from books to many
collections of tutorials.
-Here is a comprehensive `list of books <https://www.opengl.org/documentation/books/>`__ (non free).
+Here is a comprehensive `list of books <https://www.khronos.org/developers/books/>`__ (non free).
The `arcsynthesis tutorials <https://web.archive.org/web/20150225192611/http://www.arcsynthesis.org/gltut/index.html>`__
is one of the best resources to learn modern OpenGL and
`g-truc <http://www.g-truc.net/post-opengl-samples.html#menu>`__
@@ -2067,7 +2067,7 @@ offers a set of extensive examples, including advanced features.
:arg length: Returns the length of the string returned in source (excluding the null terminator).
:type source: :class:`bgl.Buffer` char.
:arg source: Specifies an array of characters that is used to return the source code string.
-
+
.. function:: glShaderSource(shader, shader_string):
diff --git a/doc/python_api/rst/change_log.rst b/doc/python_api/rst/change_log.rst
index 5a3bf2a6d8d..21c7cf96135 100644
--- a/doc/python_api/rst/change_log.rst
+++ b/doc/python_api/rst/change_log.rst
@@ -1,3 +1,5 @@
+:tocdepth: 2
+
Blender API Change Log
**********************
@@ -5648,3 +5650,5652 @@ Added
* :class:`bpy.types.SceneRenderLayer.freestyle_settings`
* :class:`bpy.types.SceneRenderLayer.use_freestyle`
+
+2.67 to 2.68
+============
+
+bpy.types.BlendDataTexts
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataTexts.load` (filepath, internal), *was (filepath)*
+
+bpy.types.DopeSheet
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DopeSheet.show_modifiers`
+
+bpy.types.Armature
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Armature.is_editmode`
+
+bpy.types.Curve
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Curve.is_editmode`
+
+bpy.types.Lattice
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Lattice.is_editmode`
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.calc_smooth_groups`
+* :class:`bpy.types.Mesh.is_editmode`
+
+bpy.types.MetaBall
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MetaBall.is_editmode`
+
+bpy.types.ParticleSettings
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleSettings.use_modifier_stack`
+
+bpy.types.WindowManager
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.WindowManager.popup_menu`
+* :class:`bpy.types.WindowManager.pupmenu_begin__internal`
+* :class:`bpy.types.WindowManager.pupmenu_end__internal`
+
+bpy.types.World
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.World.cycles_visibility`
+
+bpy.types.MaskSpline
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MaskSpline.points`
+
+bpy.types.MaskSplines
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MaskSplines.new`
+* :class:`bpy.types.MaskSplines.remove`
+
+Removed
+^^^^^^^
+
+* **add**
+
+bpy.types.MeshPolygon
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MeshPolygon.center`
+
+bpy.types.DecimateModifier
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DecimateModifier.delimit`
+
+bpy.types.MovieTrackingSettings
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingSettings.use_keyframe_selection`
+
+bpy.types.Node
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Node.dimensions`
+
+bpy.types.NodeSocket
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeSocket.hide_value`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.NodeSocket.draw` (context, layout, node, text), *was (context, layout, node)*
+
+bpy.types.NodeSocketStandard
+----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.NodeSocketStandard.draw` (context, layout, node, text), *was (context, layout, node)*
+
+bpy.types.NodeSocketInterfaceStandard
+-------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeSocketInterfaceStandard.type`
+
+bpy.types.NodeTreeInputs
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeTreeInputs.move`
+
+bpy.types.NodeTreeOutputs
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeTreeOutputs.move`
+
+bpy.types.CyclesMaterialSettings
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesMaterialSettings.use_transparent_shadow`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.sampling_pattern`
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.bl_use_exclude_layers`
+* :class:`bpy.types.RenderEngine.bl_use_save_buffers`
+
+bpy.types.SmokeDomainSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SmokeDomainSettings.highres_sampling`
+
+Removed
+^^^^^^^
+
+* **use_smooth_emitter**
+
+bpy.types.SmokeFlowSettings
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SmokeFlowSettings.particle_size`
+* :class:`bpy.types.SmokeFlowSettings.subframes`
+* :class:`bpy.types.SmokeFlowSettings.use_particle_size`
+
+bpy.types.SpaceProperties
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceProperties.use_limited_texture_context`
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.transform_manipulators`
+
+Removed
+^^^^^^^
+
+* **use_manipulator_rotate**
+* **use_manipulator_scale**
+* **use_manipulator_translate**
+
+bpy.types.ThemeFontStyle
+------------------------
+
+Renamed
+^^^^^^^
+
+* **shadowalpha** -> :class:`bpy.types.ThemeFontStyle.shadow_alpha`
+* **shadowcolor** -> :class:`bpy.types.ThemeFontStyle.shadow_value`
+
+bpy.types.ThemeView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeView3D.wire_edit`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.vertex_group_subset`
+
+bpy.types.UserPreferences
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferences.autoexec_paths`
+
+2.68 to 2.69
+============
+
+bpy.types.ActionActuator
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ActionActuator.blend_mode`
+
+bpy.types.ColorManagedViewSettings
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ColorManagedViewSettings.look`
+
+bpy.types.ShrinkwrapConstraint
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShrinkwrapConstraint.project_axis`
+* :class:`bpy.types.ShrinkwrapConstraint.project_axis_space`
+* :class:`bpy.types.ShrinkwrapConstraint.project_limit`
+
+Removed
+^^^^^^^
+
+* **use_x**
+* **use_y**
+* **use_z**
+
+bpy.types.CurveMapping
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CurveMapping.initialize`
+
+bpy.types.DynamicPaintSurface
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DynamicPaintSurface.wave_smoothness`
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.calc_normals_split`
+* :class:`bpy.types.Mesh.free_normals_split`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Mesh.calc_smooth_groups` (use_bitflags), *was ()*
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.frame_current_final`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Scene.collada_export` (filepath, apply_modifiers, export_mesh_type, selected, include_children, include_armatures, include_shapekeys, deform_bones_only, active_uv_only, include_uv_textures, include_material_textures, use_texture_copies, use_ngons, use_object_instantiation, sort_by_name, open_sim, export_transformation_type), *was (filepath, apply_modifiers, export_mesh_type, selected, include_children, include_armatures, include_shapekeys, deform_bones_only, active_uv_only, include_uv_textures, include_material_textures, use_texture_copies, use_ngons, use_object_instantiation, sort_by_name, second_life, export_transformation_type)*
+
+bpy.types.Text
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Text.current_line_index`
+
+bpy.types.IDMaterials
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.IDMaterials.clear`
+
+bpy.types.KeyMaps
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.KeyMaps.remove`
+
+bpy.types.MaskParent
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MaskParent.type`
+
+bpy.types.MeshLoop
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MeshLoop.normal`
+
+bpy.types.SimpleDeformModifier
+------------------------------
+
+Removed
+^^^^^^^
+
+* **use_relative**
+
+bpy.types.MovieTracking
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTracking.plane_tracks`
+
+bpy.types.MovieTrackingObject
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingObject.plane_tracks`
+
+bpy.types.ShaderNodeMapping
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeMapping.vector_type`
+
+bpy.types.ShaderNodeSubsurfaceScattering
+----------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeSubsurfaceScattering.falloff`
+
+bpy.types.ShaderNodeTexSky
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexSky.ground_albedo`
+* :class:`bpy.types.ShaderNodeTexSky.sky_type`
+
+bpy.types.ParticleSystem
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.ParticleSystem.co_hair` (object, particle_no, step), *was (object, modifier, particle_no, step)*
+
+bpy.types.Property
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Property.is_argument_optional`
+
+bpy.types.CyclesCurveRenderSettings
+-----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesCurveRenderSettings.cull_backfacing`
+* :class:`bpy.types.CyclesCurveRenderSettings.shape`
+
+Removed
+^^^^^^^
+
+* **encasing_ratio**
+* **interpolation**
+* **line_method**
+* **normalmix**
+* **preset**
+* **segments**
+* **triangle_method**
+* **use_backfacing**
+* **use_encasing**
+* **use_joined**
+* **use_parents**
+* **use_smooth**
+* **use_tangent_normal**
+* **use_tangent_normal_correction**
+* **use_tangent_normal_geometry**
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.use_square_samples`
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.bind_display_space_shader`
+* :class:`bpy.types.RenderEngine.support_display_space_shader`
+* :class:`bpy.types.RenderEngine.unbind_display_space_shader`
+
+bpy.types.RenderLayer
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderLayer.use_pass_subsurface_color`
+* :class:`bpy.types.RenderLayer.use_pass_subsurface_direct`
+* :class:`bpy.types.RenderLayer.use_pass_subsurface_indirect`
+
+bpy.types.SceneGameData
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneGameData.vsync`
+
+bpy.types.SceneRenderLayer
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneRenderLayer.use_pass_subsurface_color`
+* :class:`bpy.types.SceneRenderLayer.use_pass_subsurface_direct`
+* :class:`bpy.types.SceneRenderLayer.use_pass_subsurface_indirect`
+
+bpy.types.SpaceNodeEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceNodeEditor.cursor_location_from_region`
+
+bpy.types.SpaceTextEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceTextEditor.top`
+* :class:`bpy.types.SpaceTextEditor.visible_lines`
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.show_occlude_wire`
+
+bpy.types.TexMapping
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TexMapping.vector_type`
+
+bpy.types.ThemeImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeImageEditor.uv_others`
+* :class:`bpy.types.ThemeImageEditor.uv_shadow`
+
+bpy.types.UILayout
+------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.template_list` (listtype_name, list_id, dataptr, propname, active_dataptr, active_propname, rows, maxrows, type, columns), *was (listtype_name, list_id, dataptr, propname, active_dataptr, active_propname, rows, maxrows, type)*
+
+bpy.types.UIList
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UIList.bitflag_filter_item`
+* :class:`bpy.types.UIList.draw_filter`
+* :class:`bpy.types.UIList.filter_items`
+* :class:`bpy.types.UIList.filter_name`
+* :class:`bpy.types.UIList.use_filter_invert`
+* :class:`bpy.types.UIList.use_filter_show`
+* :class:`bpy.types.UIList.use_filter_sort_alpha`
+* :class:`bpy.types.UIList.use_filter_sort_reverse`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UIList.draw_item` (context, layout, data, item, icon, active_data, active_property, index, flt_flag), *was (context, layout, data, item, icon, active_data, active_property, index)*
+
+bpy.types.UI_UL_list
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UI_UL_list.filter_items_by_name`
+* :class:`bpy.types.UI_UL_list.sort_items_by_name`
+* :class:`bpy.types.UI_UL_list.sort_items_helper`
+
+bpy.types.Window
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Window.cursor_modal_restore`
+* :class:`bpy.types.Window.cursor_modal_set`
+* :class:`bpy.types.Window.cursor_set`
+* :class:`bpy.types.Window.cursor_warp`
+
+2.69 to 2.70
+============
+
+bpy.types.BlendData
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendData.use_autopack`
+
+bpy.types.ClothSettings
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ClothSettings.sewing_force_max`
+* :class:`bpy.types.ClothSettings.shrink_max`
+* :class:`bpy.types.ClothSettings.shrink_min`
+* :class:`bpy.types.ClothSettings.use_sewing_springs`
+* :class:`bpy.types.ClothSettings.vertex_group_shrink`
+
+bpy.types.DupliObject
+---------------------
+
+Removed
+^^^^^^^
+
+* **matrix_original**
+
+bpy.types.FCurve
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FCurve.update_autoflags`
+
+bpy.types.FModifierNoise
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FModifierNoise.offset`
+
+bpy.types.FreestyleSettings
+---------------------------
+
+Removed
+^^^^^^^
+
+* **raycasting_algorithm**
+
+bpy.types.GameObjectSettings
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GameObjectSettings.use_record_animation`
+
+bpy.types.Armature
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Armature.transform`
+
+bpy.types.Brush
+---------------
+
+Renamed
+^^^^^^^
+
+* **use_restore_mesh** -> :class:`bpy.types.Brush.use_drag_dot`
+
+bpy.types.Curve
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Curve.transform`
+
+Removed
+^^^^^^^
+
+* **use_time_offset**
+
+bpy.types.Image
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Image.filepath_from_user`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Image.gl_load` (frame, filter, mag), *was (filter, mag)*
+* :class:`bpy.types.Image.gl_touch` (frame, filter, mag), *was (filter, mag)*
+
+bpy.types.Lattice
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Lattice.transform`
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.calc_tangents`
+* :class:`bpy.types.Mesh.free_tangents`
+
+bpy.types.Object
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Object.image_user`
+* :class:`bpy.types.Object.lod_levels`
+
+bpy.types.ParticleSettings
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleSettings.material_slot`
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.lock_frame_selection_to_range`
+
+bpy.types.Texture
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Texture.use_clamp`
+
+bpy.types.World
+---------------
+
+Removed
+^^^^^^^
+
+* **star_settings**
+
+bpy.types.MaskLayer
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MaskLayer.use_fill_holes`
+* :class:`bpy.types.MaskLayer.use_fill_overlap`
+
+bpy.types.Menu
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Menu.draw_collapsible`
+
+bpy.types.MeshLoop
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MeshLoop.bitangent`
+* :class:`bpy.types.MeshLoop.bitangent_sign`
+* :class:`bpy.types.MeshLoop.tangent`
+
+bpy.types.BevelModifier
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BevelModifier.offset_type`
+* :class:`bpy.types.BevelModifier.profile`
+
+bpy.types.BuildModifier
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BuildModifier.use_reverse`
+
+bpy.types.ScrewModifier
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ScrewModifier.use_stretch_u`
+* :class:`bpy.types.ScrewModifier.use_stretch_v`
+
+bpy.types.TriangulateModifier
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TriangulateModifier.ngon_method`
+* :class:`bpy.types.TriangulateModifier.quad_method`
+
+Removed
+^^^^^^^
+
+* **use_beauty**
+
+bpy.types.MovieTrackingMarker
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingMarker.is_keyed`
+
+bpy.types.MovieTrackingPlaneTrack
+---------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingPlaneTrack.image`
+* :class:`bpy.types.MovieTrackingPlaneTrack.image_opacity`
+
+bpy.types.MovieTrackingSettings
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingSettings.default_weight`
+* :class:`bpy.types.MovieTrackingSettings.show_extra_expanded`
+
+Removed
+^^^^^^^
+
+* **reconstruction_success_threshold**
+* **use_fallback_reconstruction**
+
+bpy.types.MovieTrackingTrack
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingTrack.offset`
+* :class:`bpy.types.MovieTrackingTrack.weight`
+
+bpy.types.Node
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Node.draw_label`
+
+bpy.types.CompositorNodeDefocus
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeDefocus.scene`
+
+bpy.types.CompositorNodeDespeckle
+---------------------------------
+
+Renamed
+^^^^^^^
+
+* **threshold_neighbour** -> :class:`bpy.types.CompositorNodeDespeckle.threshold_neighbor`
+
+bpy.types.ShaderNodeOutput
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeOutput.is_active_output`
+
+bpy.types.ShaderNodeOutputLamp
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeOutputLamp.is_active_output`
+
+bpy.types.ShaderNodeOutputMaterial
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeOutputMaterial.is_active_output`
+
+bpy.types.ShaderNodeOutputWorld
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeOutputWorld.is_active_output`
+
+bpy.types.NodeSocket
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeSocket.is_output`
+
+Removed
+^^^^^^^
+
+* **in_out**
+
+bpy.types.NodeSocketInterface
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeSocketInterface.is_output`
+
+Removed
+^^^^^^^
+
+* **in_out**
+
+bpy.types.Paint
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Paint.use_symmetry_feather`
+* :class:`bpy.types.Paint.use_symmetry_x`
+* :class:`bpy.types.Paint.use_symmetry_y`
+* :class:`bpy.types.Paint.use_symmetry_z`
+
+bpy.types.Sculpt
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sculpt.detail_refine_method`
+* :class:`bpy.types.Sculpt.gravity`
+* :class:`bpy.types.Sculpt.gravity_object`
+
+Removed
+^^^^^^^
+
+* **use_edge_collapse**
+* **use_symmetry_feather**
+* **use_symmetry_x**
+* **use_symmetry_y**
+* **use_symmetry_z**
+
+bpy.types.VertexPaint
+---------------------
+
+Removed
+^^^^^^^
+
+* **use_all_faces**
+
+bpy.types.Panel
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Panel.bl_category`
+* :class:`bpy.types.Panel.use_pin`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.sample_clamp_direct`
+* :class:`bpy.types.CyclesRenderSettings.sample_clamp_indirect`
+* :class:`bpy.types.CyclesRenderSettings.volume_bounces`
+* :class:`bpy.types.CyclesRenderSettings.volume_homogeneous_sampling`
+* :class:`bpy.types.CyclesRenderSettings.volume_max_steps`
+* :class:`bpy.types.CyclesRenderSettings.volume_samples`
+* :class:`bpy.types.CyclesRenderSettings.volume_step_size`
+
+Removed
+^^^^^^^
+
+* **sample_clamp**
+
+bpy.types.CyclesWorldSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesWorldSettings.homogeneous_volume`
+
+bpy.types.RenderEngine
+----------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.RenderEngine.end_result` (result, cancel, do_merge_results), *was (result, cancel)*
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.bake_user_scale`
+* :class:`bpy.types.RenderSettings.use_bake_user_scale`
+* :class:`bpy.types.RenderSettings.use_lock_interface`
+
+bpy.types.RigidBodyObject
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RigidBodyObject.mesh_source`
+* :class:`bpy.types.RigidBodyObject.use_deform`
+
+bpy.types.SceneRenderLayer
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneRenderLayer.pass_alpha_threshold`
+
+bpy.types.SculptToolCapabilities
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SculptToolCapabilities.has_gravity`
+
+bpy.types.SpaceClipEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceClipEditor.mask_overlay_mode`
+* :class:`bpy.types.SpaceClipEditor.show_graph_tracks_error`
+* :class:`bpy.types.SpaceClipEditor.show_mask_overlay`
+
+Renamed
+^^^^^^^
+
+* **show_graph_tracks** -> :class:`bpy.types.SpaceClipEditor.show_graph_tracks_motion`
+
+bpy.types.SpaceGraphEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceGraphEditor.use_auto_normalization`
+* :class:`bpy.types.SpaceGraphEditor.use_normalization`
+
+bpy.types.SpaceImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceImageEditor.mask_overlay_mode`
+* :class:`bpy.types.SpaceImageEditor.show_mask_overlay`
+
+bpy.types.SpaceNodeEditor
+-------------------------
+
+Removed
+^^^^^^^
+
+* **use_hidden_preview**
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.show_textured_shadeless`
+
+bpy.types.TextCharacterFormat
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TextCharacterFormat.material_index`
+
+bpy.types.ThemeDopeSheet
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeDopeSheet.keyframe`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_border`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_border_selected`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_breakdown`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_breakdown_selected`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_extreme`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_extreme_selected`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_jitter`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_jitter_selected`
+* :class:`bpy.types.ThemeDopeSheet.keyframe_selected`
+
+bpy.types.ThemeImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeImageEditor.edge_select`
+* :class:`bpy.types.ThemeImageEditor.wire_edit`
+
+bpy.types.ThemeInfo
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeInfo.info_debug`
+* :class:`bpy.types.ThemeInfo.info_debug_text`
+* :class:`bpy.types.ThemeInfo.info_error`
+* :class:`bpy.types.ThemeInfo.info_error_text`
+* :class:`bpy.types.ThemeInfo.info_info`
+* :class:`bpy.types.ThemeInfo.info_info_text`
+* :class:`bpy.types.ThemeInfo.info_selected`
+* :class:`bpy.types.ThemeInfo.info_selected_text`
+* :class:`bpy.types.ThemeInfo.info_warning`
+* :class:`bpy.types.ThemeInfo.info_warning_text`
+
+bpy.types.ThemeNLAEditor
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeNLAEditor.keyframe_border`
+* :class:`bpy.types.ThemeNLAEditor.keyframe_border_selected`
+
+bpy.types.ThemeNodeEditor
+-------------------------
+
+Removed
+^^^^^^^
+
+* **in_out_node**
+
+Renamed
+^^^^^^^
+
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.color_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.filter_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.input_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.layout_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.output_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.pattern_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.script_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.shader_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.texture_node`
+* **operator_node** -> :class:`bpy.types.ThemeNodeEditor.vector_node`
+
+bpy.types.ThemeSpaceGeneric
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeSpaceGeneric.tab_active`
+* :class:`bpy.types.ThemeSpaceGeneric.tab_back`
+* :class:`bpy.types.ThemeSpaceGeneric.tab_inactive`
+* :class:`bpy.types.ThemeSpaceGeneric.tab_outline`
+
+bpy.types.ThemeSpaceGradient
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeSpaceGradient.tab_active`
+* :class:`bpy.types.ThemeSpaceGradient.tab_back`
+* :class:`bpy.types.ThemeSpaceGradient.tab_inactive`
+* :class:`bpy.types.ThemeSpaceGradient.tab_outline`
+
+bpy.types.TimelineMarkers
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.TimelineMarkers.new` (name, frame), *was (name)*
+
+bpy.types.UILayout
+------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.prop` (data, property, text, text_ctxt, translate, icon, expand, slider, toggle, icon_only, event, full_event, emboss, index, icon_value), *was (data, property, text, text_ctxt, translate, icon, expand, slider, toggle, icon_only, event, full_event, emboss, index)*
+* :class:`bpy.types.UILayout.template_header` (), *was (menus)*
+
+bpy.types.UserPreferencesEdit
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesEdit.grease_pencil_default_color`
+
+bpy.types.UserPreferencesInput
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesInput.navigation_mode`
+* :class:`bpy.types.UserPreferencesInput.ndof_pan_yz_swap_axis`
+* :class:`bpy.types.UserPreferencesInput.ndof_rotx_invert_axis`
+* :class:`bpy.types.UserPreferencesInput.ndof_roty_invert_axis`
+* :class:`bpy.types.UserPreferencesInput.ndof_rotz_invert_axis`
+* :class:`bpy.types.UserPreferencesInput.ndof_view_navigate_method`
+* :class:`bpy.types.UserPreferencesInput.walk_navigation`
+
+Removed
+^^^^^^^
+
+* **ndof_roll_invert_axis**
+* **ndof_rotate_invert_axis**
+* **ndof_tilt_invert_axis**
+* **ndof_zoom_updown**
+
+2.70 to 2.71
+============
+
+bpy.types.Actuator
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Actuator.active`
+
+bpy.types.BlendDataLineStyles
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendDataLineStyles.is_updated`
+
+bpy.types.TransformConstraint
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TransformConstraint.from_max_x_rot`
+* :class:`bpy.types.TransformConstraint.from_max_x_scale`
+* :class:`bpy.types.TransformConstraint.from_max_y_rot`
+* :class:`bpy.types.TransformConstraint.from_max_y_scale`
+* :class:`bpy.types.TransformConstraint.from_max_z_rot`
+* :class:`bpy.types.TransformConstraint.from_max_z_scale`
+* :class:`bpy.types.TransformConstraint.from_min_x_rot`
+* :class:`bpy.types.TransformConstraint.from_min_x_scale`
+* :class:`bpy.types.TransformConstraint.from_min_y_rot`
+* :class:`bpy.types.TransformConstraint.from_min_y_scale`
+* :class:`bpy.types.TransformConstraint.from_min_z_rot`
+* :class:`bpy.types.TransformConstraint.from_min_z_scale`
+* :class:`bpy.types.TransformConstraint.to_max_x_rot`
+* :class:`bpy.types.TransformConstraint.to_max_x_scale`
+* :class:`bpy.types.TransformConstraint.to_max_y_rot`
+* :class:`bpy.types.TransformConstraint.to_max_y_scale`
+* :class:`bpy.types.TransformConstraint.to_max_z_rot`
+* :class:`bpy.types.TransformConstraint.to_max_z_scale`
+* :class:`bpy.types.TransformConstraint.to_min_x_rot`
+* :class:`bpy.types.TransformConstraint.to_min_x_scale`
+* :class:`bpy.types.TransformConstraint.to_min_y_rot`
+* :class:`bpy.types.TransformConstraint.to_min_y_scale`
+* :class:`bpy.types.TransformConstraint.to_min_z_rot`
+* :class:`bpy.types.TransformConstraint.to_min_z_scale`
+
+bpy.types.Controller
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Controller.active`
+
+bpy.types.FCurve
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FCurve.update`
+
+bpy.types.Brush
+---------------
+
+Removed
+^^^^^^^
+
+* **sculpt_stroke_method**
+
+bpy.types.Curve
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Curve.bevel_factor_mapping_end`
+* :class:`bpy.types.Curve.bevel_factor_mapping_start`
+
+bpy.types.FreestyleLineStyle
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FreestyleLineStyle.active_texture`
+* :class:`bpy.types.FreestyleLineStyle.active_texture_index`
+* :class:`bpy.types.FreestyleLineStyle.integration_type`
+* :class:`bpy.types.FreestyleLineStyle.node_tree`
+* :class:`bpy.types.FreestyleLineStyle.sort_key`
+* :class:`bpy.types.FreestyleLineStyle.sort_order`
+* :class:`bpy.types.FreestyleLineStyle.texture_slots`
+* :class:`bpy.types.FreestyleLineStyle.texture_spacing`
+* :class:`bpy.types.FreestyleLineStyle.use_nodes`
+* :class:`bpy.types.FreestyleLineStyle.use_sorting`
+* :class:`bpy.types.FreestyleLineStyle.use_texture`
+
+bpy.types.Material
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Material.use_cast_shadows`
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.show_normal_loop`
+
+bpy.types.Object
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Object.cycles`
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.show_keys_from_selected_only`
+
+bpy.types.Speaker
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Speaker.relative`
+
+bpy.types.Keyframe
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Keyframe.amplitude`
+* :class:`bpy.types.Keyframe.back`
+* :class:`bpy.types.Keyframe.easing`
+* :class:`bpy.types.Keyframe.period`
+
+bpy.types.Linesets
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Linesets.new`
+* :class:`bpy.types.Linesets.remove`
+
+bpy.types.MaskSplinePoint
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MaskSplinePoint.handle_left_type`
+* :class:`bpy.types.MaskSplinePoint.handle_right_type`
+* :class:`bpy.types.MaskSplinePoint.weight`
+
+bpy.types.MeshEdge
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MeshEdge.use_freestyle_mark`
+
+bpy.types.MeshPolygon
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MeshPolygon.use_freestyle_mark`
+
+bpy.types.MeshTessFace
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MeshTessFace.split_normals`
+
+bpy.types.MovieTrackingCamera
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingCamera.distortion_model`
+* :class:`bpy.types.MovieTrackingCamera.division_k1`
+* :class:`bpy.types.MovieTrackingCamera.division_k2`
+
+bpy.types.ShaderNodeTexImage
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexImage.interpolation`
+
+bpy.types.PackedFile
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PackedFile.data`
+
+bpy.types.Sculpt
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sculpt.constant_detail`
+* :class:`bpy.types.Sculpt.detail_type_method`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.bake_type`
+* :class:`bpy.types.CyclesRenderSettings.sample_all_lights_direct`
+* :class:`bpy.types.CyclesRenderSettings.sample_all_lights_indirect`
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.bake`
+* :class:`bpy.types.RenderEngine.frame_set`
+
+bpy.types.CYCLES
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CYCLES.bake`
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.bake`
+
+bpy.types.Sensor
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sensor.active`
+
+bpy.types.SequenceElements
+--------------------------
+
+Renamed
+^^^^^^^
+
+* **push** -> :class:`bpy.types.SequenceElements.append`
+
+bpy.types.SmokeDomainSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SmokeDomainSettings.color_grid`
+* :class:`bpy.types.SmokeDomainSettings.density_grid`
+* :class:`bpy.types.SmokeDomainSettings.flame_grid`
+
+Removed
+^^^^^^^
+
+* **density**
+
+bpy.types.Space
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Space.show_locked_time`
+
+bpy.types.SpaceTimeline
+-----------------------
+
+Removed
+^^^^^^^
+
+* **show_only_selected**
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.region_quadviews`
+
+Removed
+^^^^^^^
+
+* **region_quadview**
+
+bpy.types.SpaceNodeEditorPath
+-----------------------------
+
+Renamed
+^^^^^^^
+
+* **push** -> :class:`bpy.types.SpaceNodeEditorPath.append`
+
+bpy.types.ThemeClipEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeClipEditor.handle_align`
+* :class:`bpy.types.ThemeClipEditor.handle_auto`
+* :class:`bpy.types.ThemeClipEditor.handle_auto_clamped`
+* :class:`bpy.types.ThemeClipEditor.handle_free`
+* :class:`bpy.types.ThemeClipEditor.handle_sel_align`
+* :class:`bpy.types.ThemeClipEditor.handle_sel_auto`
+* :class:`bpy.types.ThemeClipEditor.handle_sel_auto_clamped`
+* :class:`bpy.types.ThemeClipEditor.handle_sel_free`
+
+bpy.types.ThemeImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeImageEditor.frame_current`
+* :class:`bpy.types.ThemeImageEditor.handle_align`
+* :class:`bpy.types.ThemeImageEditor.handle_auto`
+* :class:`bpy.types.ThemeImageEditor.handle_auto_clamped`
+* :class:`bpy.types.ThemeImageEditor.handle_free`
+* :class:`bpy.types.ThemeImageEditor.handle_sel_align`
+* :class:`bpy.types.ThemeImageEditor.handle_sel_auto`
+* :class:`bpy.types.ThemeImageEditor.handle_sel_auto_clamped`
+* :class:`bpy.types.ThemeImageEditor.handle_sel_free`
+
+bpy.types.ThemeView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeView3D.view_overlay`
+
+bpy.types.UILayout
+------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.template_preview` (id, show_buttons, parent, slot, preview_id), *was (id, show_buttons, parent, slot)*
+
+2.71 to 2.72
+============
+
+bpy.types.EditObjectActuator
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.EditObjectActuator.track_axis`
+* :class:`bpy.types.EditObjectActuator.up_axis`
+
+bpy.types.BlendData
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendData.version`
+
+bpy.types.BoneGroups
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BoneGroups.new`
+* :class:`bpy.types.BoneGroups.remove`
+
+bpy.types.BrushCapabilities
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BrushCapabilities.has_smooth_stroke`
+
+bpy.types.ColorRamp
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ColorRamp.color_mode`
+* :class:`bpy.types.ColorRamp.hue_interpolation`
+
+bpy.types.ColorRampElement
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ColorRampElement.alpha`
+
+bpy.types.FollowTrackConstraint
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FollowTrackConstraint.use_undistorted_position`
+
+bpy.types.Event
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Event.is_tablet`
+* :class:`bpy.types.Event.pressure`
+* :class:`bpy.types.Event.tilt`
+
+bpy.types.Brush
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Brush.blur_kernel_radius`
+* :class:`bpy.types.Brush.blur_mode`
+* :class:`bpy.types.Brush.fill_threshold`
+* :class:`bpy.types.Brush.grad_spacing`
+* :class:`bpy.types.Brush.gradient`
+* :class:`bpy.types.Brush.gradient_fill_mode`
+* :class:`bpy.types.Brush.gradient_stroke_mode`
+* :class:`bpy.types.Brush.image_paint_capabilities`
+* :class:`bpy.types.Brush.paint_curve`
+* :class:`bpy.types.Brush.secondary_color`
+* :class:`bpy.types.Brush.sharp_threshold`
+* :class:`bpy.types.Brush.use_curve`
+* :class:`bpy.types.Brush.use_gradient`
+* :class:`bpy.types.Brush.use_line`
+* :class:`bpy.types.Brush.use_pressure_masking`
+
+Renamed
+^^^^^^^
+
+* **use_drag_dot** -> :class:`bpy.types.Brush.use_restore_mesh`
+
+bpy.types.Curve
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Curve.validate_material_indices`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Curve.transform` (matrix, shape_keys), *was (matrix)*
+
+bpy.types.Lattice
+-----------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Lattice.transform` (matrix, shape_keys), *was (matrix)*
+
+bpy.types.Library
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Library.packed_file`
+
+bpy.types.Material
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Material.line_color`
+* :class:`bpy.types.Material.line_priority`
+* :class:`bpy.types.Material.paint_active_slot`
+* :class:`bpy.types.Material.paint_clone_slot`
+* :class:`bpy.types.Material.texture_paint_images`
+* :class:`bpy.types.Material.texture_paint_slots`
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.validate_material_indices`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Mesh.transform` (matrix, shape_keys), *was (matrix)*
+
+bpy.types.WindowManager
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.WindowManager.piemenu_begin__internal`
+* :class:`bpy.types.WindowManager.piemenu_end__internal`
+* :class:`bpy.types.WindowManager.popup_menu_pie`
+
+bpy.types.BevelModifier
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BevelModifier.material`
+
+bpy.types.HookModifier
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.HookModifier.center`
+
+bpy.types.SolidifyModifier
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SolidifyModifier.use_rim_only`
+
+bpy.types.ShaderNodeBsdfAnisotropic
+-----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeBsdfAnisotropic.distribution`
+
+bpy.types.Paint
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Paint.palette`
+
+bpy.types.ImagePaint
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImagePaint.canvas`
+* :class:`bpy.types.ImagePaint.clone_image`
+* :class:`bpy.types.ImagePaint.detect_data`
+* :class:`bpy.types.ImagePaint.missing_materials`
+* :class:`bpy.types.ImagePaint.missing_stencil`
+* :class:`bpy.types.ImagePaint.missing_texture`
+* :class:`bpy.types.ImagePaint.missing_uvs`
+* :class:`bpy.types.ImagePaint.mode`
+* :class:`bpy.types.ImagePaint.stencil_color`
+* :class:`bpy.types.ImagePaint.stencil_image`
+
+bpy.types.IMAGE_UV_sculpt
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.IMAGE_UV_sculpt.prop_unified_color`
+* :class:`bpy.types.IMAGE_UV_sculpt.prop_unified_color_picker`
+
+bpy.types.CyclesCameraSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesCameraSettings.aperture_ratio`
+
+bpy.types.CyclesMaterialSettings
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesMaterialSettings.volume_sampling`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.caustics_reflective`
+* :class:`bpy.types.CyclesRenderSettings.caustics_refractive`
+
+Removed
+^^^^^^^
+
+* **no_caustics**
+* **volume_homogeneous_sampling**
+
+bpy.types.CyclesVisibilitySettings
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesVisibilitySettings.scatter`
+
+bpy.types.CyclesWorldSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesWorldSettings.volume_sampling`
+
+bpy.types.OperatorStrokeElement
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.OperatorStrokeElement.size`
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.bl_use_texture_preview`
+* :class:`bpy.types.RenderEngine.layer_override`
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.preview_start_resolution`
+* :class:`bpy.types.RenderSettings.use_render_cache`
+
+bpy.types.MouseSensor
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MouseSensor.material`
+* :class:`bpy.types.MouseSensor.property`
+* :class:`bpy.types.MouseSensor.use_material`
+* :class:`bpy.types.MouseSensor.use_x_ray`
+
+bpy.types.SpaceUVEditor
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceUVEditor.show_texpaint`
+
+bpy.types.ThemeImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeImageEditor.handle_vertex`
+* :class:`bpy.types.ThemeImageEditor.handle_vertex_select`
+* :class:`bpy.types.ThemeImageEditor.handle_vertex_size`
+* :class:`bpy.types.ThemeImageEditor.paint_curve_handle`
+* :class:`bpy.types.ThemeImageEditor.paint_curve_pivot`
+
+bpy.types.ThemeUserInterface
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeUserInterface.wcol_pie_menu`
+
+bpy.types.ThemeView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeView3D.paint_curve_handle`
+* :class:`bpy.types.ThemeView3D.paint_curve_pivot`
+* :class:`bpy.types.ThemeView3D.split_normal`
+
+bpy.types.UILayout
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UILayout.menu_pie`
+* :class:`bpy.types.UILayout.template_palette`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.template_curve_mapping` (data, property, type, levels, brush, use_negative_slope), *was (data, property, type, levels, brush)*
+
+bpy.types.UnifiedPaintSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UnifiedPaintSettings.color`
+* :class:`bpy.types.UnifiedPaintSettings.secondary_color`
+* :class:`bpy.types.UnifiedPaintSettings.use_unified_color`
+
+bpy.types.UserPreferencesFilePaths
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesFilePaths.render_cache_directory`
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.font_path_ui`
+* :class:`bpy.types.UserPreferencesSystem.is_occlusion_query_supported`
+* :class:`bpy.types.UserPreferencesSystem.select_method`
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesView.pie_animation_timeout`
+* :class:`bpy.types.UserPreferencesView.pie_initial_timeout`
+* :class:`bpy.types.UserPreferencesView.pie_menu_radius`
+* :class:`bpy.types.UserPreferencesView.pie_menu_threshold`
+
+2.72 to 2.73
+============
+
+bpy.types.ActionGroup
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ActionGroup.is_custom_color_set`
+
+bpy.types.BoneGroup
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BoneGroup.is_custom_color_set`
+
+bpy.types.StretchToConstraint
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.StretchToConstraint.bulge_max`
+* :class:`bpy.types.StretchToConstraint.bulge_min`
+* :class:`bpy.types.StretchToConstraint.bulge_smooth`
+* :class:`bpy.types.StretchToConstraint.use_bulge_max`
+* :class:`bpy.types.StretchToConstraint.use_bulge_min`
+
+bpy.types.DopeSheet
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DopeSheet.show_gpencil`
+
+bpy.types.FreestyleSettings
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FreestyleSettings.use_view_map_cache`
+
+bpy.types.GPencilLayer
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilLayer.after_color`
+* :class:`bpy.types.GPencilLayer.before_color`
+* :class:`bpy.types.GPencilLayer.fill_alpha`
+* :class:`bpy.types.GPencilLayer.fill_color`
+* :class:`bpy.types.GPencilLayer.ghost_after_range`
+* :class:`bpy.types.GPencilLayer.ghost_before_range`
+* :class:`bpy.types.GPencilLayer.use_ghost_custom_colors`
+* :class:`bpy.types.GPencilLayer.use_volumetric_strokes`
+
+Removed
+^^^^^^^
+
+* **ghost_range_max**
+
+bpy.types.GPencilStroke
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilStroke.select`
+
+bpy.types.GPencilStrokePoint
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilStrokePoint.select`
+
+bpy.types.GreasePencilLayers
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GreasePencilLayers.active_index`
+
+bpy.types.FreestyleLineStyle
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FreestyleLineStyle.chain_count`
+* :class:`bpy.types.FreestyleLineStyle.use_chain_count`
+
+bpy.types.GreasePencil
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GreasePencil.animation_data`
+* :class:`bpy.types.GreasePencil.use_stroke_edit_mode`
+
+bpy.types.Image
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Image.generated_color`
+* :class:`bpy.types.Image.render_slots`
+
+Removed
+^^^^^^^
+
+* **render_slot**
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.uvedit_aspect`
+
+bpy.types.CyclesLampSettings
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesLampSettings.max_bounces`
+
+bpy.types.CyclesMaterialSettings
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesMaterialSettings.volume_interpolation`
+
+bpy.types.CyclesWorldSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesWorldSettings.volume_interpolation`
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.error_set`
+
+bpy.types.RenderPass
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderPass.debug_type`
+
+bpy.types.SculptToolCapabilities
+--------------------------------
+
+Renamed
+^^^^^^^
+
+* **has_strength** -> :class:`bpy.types.SculptToolCapabilities.has_strength_pressure`
+
+bpy.types.SceneSequence
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneSequence.use_grease_pencil`
+
+bpy.types.SpaceSequenceEditor
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceSequenceEditor.show_backdrop`
+* :class:`bpy.types.SpaceSequenceEditor.show_strip_offset`
+* :class:`bpy.types.SpaceSequenceEditor.waveform_draw_type`
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.show_world`
+
+bpy.types.ThemeClipEditor
+-------------------------
+
+Removed
+^^^^^^^
+
+* **grid**
+
+bpy.types.ThemeNodeEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeNodeEditor.wire_inner`
+
+bpy.types.ThemeUserInterface
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeUserInterface.widget_emboss`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.grease_pencil_source`
+
+bpy.types.UILayout
+------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.operator` (operator, text, text_ctxt, translate, icon, emboss, icon_value), *was (operator, text, text_ctxt, translate, icon, emboss)*
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.virtual_pixel_mode`
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesView.pie_menu_confirm`
+
+2.73 to 2.74
+============
+
+bpy.types.SteeringActuator
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SteeringActuator.lock_z_velocity`
+
+bpy.types.BackgroundImage
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BackgroundImage.rotation`
+* :class:`bpy.types.BackgroundImage.use_flip_x`
+* :class:`bpy.types.BackgroundImage.use_flip_y`
+
+bpy.types.BrushCapabilities
+---------------------------
+
+Removed
+^^^^^^^
+
+* **has_texture_angle**
+* **has_texture_angle_source**
+
+bpy.types.ClothCollisionSettings
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ClothCollisionSettings.damping`
+
+bpy.types.ClothSettings
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ClothSettings.bending_damping`
+* :class:`bpy.types.ClothSettings.density_strength`
+* :class:`bpy.types.ClothSettings.density_target`
+* :class:`bpy.types.ClothSettings.voxel_cell_size`
+
+Removed
+^^^^^^^
+
+* **pre_roll**
+
+bpy.types.SplineIKConstraint
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SplineIKConstraint.bulge`
+* :class:`bpy.types.SplineIKConstraint.bulge_max`
+* :class:`bpy.types.SplineIKConstraint.bulge_min`
+* :class:`bpy.types.SplineIKConstraint.bulge_smooth`
+* :class:`bpy.types.SplineIKConstraint.use_bulge_max`
+* :class:`bpy.types.SplineIKConstraint.use_bulge_min`
+
+bpy.types.FCurve
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FCurve.convert_to_keyframes`
+* :class:`bpy.types.FCurve.convert_to_samples`
+
+bpy.types.FileSelectParams
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FileSelectParams.filter_search`
+
+bpy.types.GPencilLayer
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilLayer.is_fill_visible`
+* :class:`bpy.types.GPencilLayer.is_stroke_visible`
+
+bpy.types.Brush
+---------------
+
+Removed
+^^^^^^^
+
+* **texture_angle_source_no_random**
+* **texture_angle_source_random**
+* **use_rake**
+* **use_random_rotation**
+
+bpy.types.Camera
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Camera.gpu_dof`
+* :class:`bpy.types.Camera.show_safe_center`
+
+Renamed
+^^^^^^^
+
+* **show_title_safe** -> :class:`bpy.types.Camera.show_safe_areas`
+
+bpy.types.Image
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Image.use_deinterlace`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Image.pack` (as_png, data, data_len), *was (as_png)*
+
+bpy.types.Key
+-------------
+
+Removed
+^^^^^^^
+
+* **slurph**
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.create_normals_split`
+* :class:`bpy.types.Mesh.has_custom_normals`
+* :class:`bpy.types.Mesh.normals_split_custom_set`
+* :class:`bpy.types.Mesh.normals_split_custom_set_from_vertices`
+* :class:`bpy.types.Mesh.vertex_layers_float`
+* :class:`bpy.types.Mesh.vertex_layers_int`
+* :class:`bpy.types.Mesh.vertex_layers_string`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Mesh.calc_normals_split` (), *was (split_angle)*
+* :class:`bpy.types.Mesh.validate` (verbose, clean_customdata), *was (verbose)*
+
+bpy.types.Object
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Object.calc_matrix_camera`
+* :class:`bpy.types.Object.camera_fit_coords`
+
+bpy.types.ParticleSettings
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleSettings.bending_random`
+* :class:`bpy.types.ParticleSettings.clump_curve`
+* :class:`bpy.types.ParticleSettings.clump_noise_size`
+* :class:`bpy.types.ParticleSettings.kink_amplitude_random`
+* :class:`bpy.types.ParticleSettings.kink_axis_random`
+* :class:`bpy.types.ParticleSettings.kink_extra_steps`
+* :class:`bpy.types.ParticleSettings.roughness_curve`
+* :class:`bpy.types.ParticleSettings.show_guide_hairs`
+* :class:`bpy.types.ParticleSettings.show_hair_grid`
+* :class:`bpy.types.ParticleSettings.use_clump_curve`
+* :class:`bpy.types.ParticleSettings.use_clump_noise`
+* :class:`bpy.types.ParticleSettings.use_roughness_curve`
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.safe_areas`
+
+bpy.types.Screen
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Screen.use_follow`
+
+bpy.types.Sound
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sound.pack`
+* :class:`bpy.types.Sound.unpack`
+
+bpy.types.VectorFont
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.VectorFont.pack`
+* :class:`bpy.types.VectorFont.unpack`
+
+bpy.types.KeyingSet
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.KeyingSet.use_insertkey_needed`
+* :class:`bpy.types.KeyingSet.use_insertkey_override_needed`
+* :class:`bpy.types.KeyingSet.use_insertkey_override_visual`
+* :class:`bpy.types.KeyingSet.use_insertkey_override_xyz_to_rgb`
+* :class:`bpy.types.KeyingSet.use_insertkey_visual`
+* :class:`bpy.types.KeyingSet.use_insertkey_xyz_to_rgb`
+
+Removed
+^^^^^^^
+
+* **bl_options**
+
+bpy.types.KeyingSetPath
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.KeyingSetPath.use_insertkey_needed`
+* :class:`bpy.types.KeyingSetPath.use_insertkey_override_needed`
+* :class:`bpy.types.KeyingSetPath.use_insertkey_override_visual`
+* :class:`bpy.types.KeyingSetPath.use_insertkey_override_xyz_to_rgb`
+* :class:`bpy.types.KeyingSetPath.use_insertkey_visual`
+* :class:`bpy.types.KeyingSetPath.use_insertkey_xyz_to_rgb`
+
+Removed
+^^^^^^^
+
+* **bl_options**
+
+bpy.types.ClothModifier
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ClothModifier.hair_grid_max`
+* :class:`bpy.types.ClothModifier.hair_grid_min`
+* :class:`bpy.types.ClothModifier.hair_grid_resolution`
+* :class:`bpy.types.ClothModifier.solver_result`
+
+bpy.types.HookModifier
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.HookModifier.falloff_curve`
+* :class:`bpy.types.HookModifier.falloff_type`
+* :class:`bpy.types.HookModifier.use_falloff_uniform`
+
+Renamed
+^^^^^^^
+
+* **falloff** -> :class:`bpy.types.HookModifier.falloff_radius`
+* **force** -> :class:`bpy.types.HookModifier.strength`
+
+bpy.types.Node
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Node.shading_compatibility`
+
+bpy.types.CompositorNodePlaneTrackDeform
+----------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodePlaneTrackDeform.motion_blur_samples`
+* :class:`bpy.types.CompositorNodePlaneTrackDeform.motion_blur_shutter`
+* :class:`bpy.types.CompositorNodePlaneTrackDeform.use_motion_blur`
+
+bpy.types.NodeFrame
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NodeFrame.text`
+
+bpy.types.ShaderNodeTexCoord
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexCoord.object`
+
+bpy.types.Paint
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Paint.cavity_curve`
+* :class:`bpy.types.Paint.use_cavity`
+
+bpy.types.ImagePaint
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImagePaint.dither`
+
+bpy.types.ParticleEdit
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleEdit.shape_object`
+
+bpy.types.CyclesCameraSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesCameraSettings.latitude_max`
+* :class:`bpy.types.CyclesCameraSettings.latitude_min`
+* :class:`bpy.types.CyclesCameraSettings.longitude_max`
+* :class:`bpy.types.CyclesCameraSettings.longitude_min`
+
+bpy.types.RegionView3D
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RegionView3D.window_matrix`
+
+bpy.types.SequenceProxy
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SequenceProxy.use_overwrite`
+
+bpy.types.SpaceFileBrowser
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceFileBrowser.bookmarks`
+* :class:`bpy.types.SpaceFileBrowser.bookmarks_active`
+* :class:`bpy.types.SpaceFileBrowser.recent_folders`
+* :class:`bpy.types.SpaceFileBrowser.recent_folders_active`
+* :class:`bpy.types.SpaceFileBrowser.system_bookmarks`
+* :class:`bpy.types.SpaceFileBrowser.system_bookmarks_active`
+* :class:`bpy.types.SpaceFileBrowser.system_folders`
+* :class:`bpy.types.SpaceFileBrowser.system_folders_active`
+
+bpy.types.SpaceOutliner
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceOutliner.use_sort_alpha`
+
+bpy.types.SpaceSequenceEditor
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceSequenceEditor.show_safe_areas`
+* :class:`bpy.types.SpaceSequenceEditor.show_safe_center`
+
+Removed
+^^^^^^^
+
+* **show_safe_margin**
+
+bpy.types.SpaceTextEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceTextEditor.region_location_from_cursor`
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.fx_settings`
+
+bpy.types.BrushTextureSlot
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BrushTextureSlot.has_random_texture_angle`
+* :class:`bpy.types.BrushTextureSlot.has_texture_angle`
+* :class:`bpy.types.BrushTextureSlot.has_texture_angle_source`
+* :class:`bpy.types.BrushTextureSlot.random_angle`
+* :class:`bpy.types.BrushTextureSlot.use_rake`
+* :class:`bpy.types.BrushTextureSlot.use_random`
+
+bpy.types.ParticleSettingsTextureSlot
+-------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleSettingsTextureSlot.kink_amp_factor`
+* :class:`bpy.types.ParticleSettingsTextureSlot.kink_freq_factor`
+* :class:`bpy.types.ParticleSettingsTextureSlot.use_map_kink_amp`
+* :class:`bpy.types.ParticleSettingsTextureSlot.use_map_kink_freq`
+
+Removed
+^^^^^^^
+
+* **kink_factor**
+* **use_map_kink**
+
+bpy.types.ThemeClipEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeClipEditor.gp_vertex`
+* :class:`bpy.types.ThemeClipEditor.gp_vertex_select`
+* :class:`bpy.types.ThemeClipEditor.gp_vertex_size`
+
+bpy.types.ThemeImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeImageEditor.gp_vertex`
+* :class:`bpy.types.ThemeImageEditor.gp_vertex_select`
+* :class:`bpy.types.ThemeImageEditor.gp_vertex_size`
+
+bpy.types.ThemeNodeEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeNodeEditor.gp_vertex`
+* :class:`bpy.types.ThemeNodeEditor.gp_vertex_select`
+* :class:`bpy.types.ThemeNodeEditor.gp_vertex_size`
+
+bpy.types.ThemeSequenceEditor
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeSequenceEditor.gp_vertex`
+* :class:`bpy.types.ThemeSequenceEditor.gp_vertex_select`
+* :class:`bpy.types.ThemeSequenceEditor.gp_vertex_size`
+
+bpy.types.ThemeTimeline
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeTimeline.time_grease_pencil`
+* :class:`bpy.types.ThemeTimeline.time_keyframe`
+
+bpy.types.ThemeView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeView3D.clipping_border_3d`
+* :class:`bpy.types.ThemeView3D.gp_vertex`
+* :class:`bpy.types.ThemeView3D.gp_vertex_select`
+* :class:`bpy.types.ThemeView3D.gp_vertex_size`
+
+bpy.types.UILayout
+------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.template_list` (listtype_name, list_id, dataptr, propname, active_dataptr, active_propname, item_dyntip_propname, rows, maxrows, type, columns), *was (listtype_name, list_id, dataptr, propname, active_dataptr, active_propname, rows, maxrows, type, columns)*
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.pixel_size`
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesView.use_gl_warn_support`
+
+bpy.types.VoxelData
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.VoxelData.hair_data_type`
+
+2.74 to 2.75
+============
+
+bpy.types.BakePixel
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BakePixel.object_id`
+
+bpy.types.BlendData
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendData.palettes`
+
+bpy.types.BlendDataImages
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataImages.new` (name, width, height, alpha, float_buffer, stereo3d), *was (name, width, height, alpha, float_buffer)*
+
+bpy.types.BlendDataSounds
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendDataSounds.load`
+* :class:`bpy.types.BlendDataSounds.remove`
+
+bpy.types.DopeSheet
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DopeSheet.filter_text`
+* :class:`bpy.types.DopeSheet.use_filter_text`
+
+bpy.types.FileSelectParams
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FileSelectParams.thumbnail_size`
+
+bpy.types.GPUDOFSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPUDOFSettings.blades`
+* :class:`bpy.types.GPUDOFSettings.is_hq_supported`
+* :class:`bpy.types.GPUDOFSettings.use_high_quality`
+
+bpy.types.Camera
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Camera.stereo`
+
+bpy.types.Image
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Image.buffers_free`
+* :class:`bpy.types.Image.is_multiview`
+* :class:`bpy.types.Image.is_stereo_3d`
+* :class:`bpy.types.Image.packed_files`
+* :class:`bpy.types.Image.stereo_3d_format`
+* :class:`bpy.types.Image.use_multiview`
+* :class:`bpy.types.Image.views_format`
+
+bpy.types.SunLamp
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SunLamp.show_shadow_box`
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.vertex_paint_masks`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Mesh.calc_tessface` (free_mpoly), *was ()*
+
+bpy.types.Object
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Object.cache_release`
+* :class:`bpy.types.Object.shape_key_remove`
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.depsgraph`
+
+bpy.types.ImageFormatSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImageFormatSettings.stereo_3d_format`
+* :class:`bpy.types.ImageFormatSettings.views_format`
+
+bpy.types.ImageUser
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImageUser.multilayer_view`
+
+Removed
+^^^^^^^
+
+* **multilayer_pass**
+
+bpy.types.LodLevel
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.LodLevel.object_hysteresis_percentage`
+* :class:`bpy.types.LodLevel.use_object_hysteresis`
+
+bpy.types.DecimateModifier
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DecimateModifier.vertex_group_factor`
+
+bpy.types.CompositorNodeImage
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeImage.has_layers`
+* :class:`bpy.types.CompositorNodeImage.has_views`
+* :class:`bpy.types.CompositorNodeImage.view`
+
+bpy.types.TextureNodeImage
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TextureNodeImage.image_user`
+
+bpy.types.Operator
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Operator.macros`
+* :class:`bpy.types.Operator.options`
+
+bpy.types.Sculpt
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sculpt.detail_percent`
+
+bpy.types.PointCache
+--------------------
+
+Renamed
+^^^^^^^
+
+* **frames_skipped** -> :class:`bpy.types.PointCache.is_frame_skip`
+
+bpy.types.CyclesLampSettings
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesLampSettings.is_portal`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.use_animated_seed`
+
+bpy.types.Region
+----------------
+
+Removed
+^^^^^^^
+
+* **callback_add**
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.active_view_set`
+* :class:`bpy.types.RenderEngine.bl_use_shading_nodes_custom`
+* :class:`bpy.types.RenderEngine.camera_model_matrix`
+* :class:`bpy.types.RenderEngine.camera_shift_x`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.RenderEngine.bake` (scene, object, pass_type, object_id, pixel_array, num_pixels, depth, result), *was (scene, object, pass_type, pixel_array, num_pixels, depth, result)*
+* :class:`bpy.types.RenderEngine.begin_result` (x, y, w, h, layer, view), *was (x, y, w, h, layer)*
+
+bpy.types.CYCLES
+----------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.CYCLES.bake` (self, scene, obj, pass_type, object_id, pixel_array, num_pixels, depth, result), *was (self, scene, obj, pass_type, pixel_array, num_pixels, depth, result)*
+
+bpy.types.RenderLayer
+---------------------
+
+Removed
+^^^^^^^
+
+* **rect**
+
+bpy.types.RenderPass
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderPass.view_id`
+
+bpy.types.RenderResult
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderResult.views`
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.simplify_child_particles_render`
+* :class:`bpy.types.RenderSettings.simplify_subdivision_render`
+* :class:`bpy.types.RenderSettings.stereo_views`
+* :class:`bpy.types.RenderSettings.use_multiview`
+* :class:`bpy.types.RenderSettings.views`
+* :class:`bpy.types.RenderSettings.views_format`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.RenderSettings.frame_path` (frame, preview, view), *was (frame)*
+
+bpy.types.SceneGameData
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneGameData.scene_hysteresis_percentage`
+* :class:`bpy.types.SceneGameData.use_scene_hysteresis`
+
+bpy.types.Sensor
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sensor.tick_skip`
+
+Removed
+^^^^^^^
+
+* **frequency**
+
+bpy.types.EffectSequence
+------------------------
+
+Removed
+^^^^^^^
+
+* **use_proxy_custom_directory**
+* **use_proxy_custom_file**
+
+bpy.types.ImageSequence
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImageSequence.stereo_3d_format`
+* :class:`bpy.types.ImageSequence.use_multiview`
+* :class:`bpy.types.ImageSequence.views_format`
+
+Removed
+^^^^^^^
+
+* **use_proxy_custom_directory**
+* **use_proxy_custom_file**
+
+bpy.types.MetaSequence
+----------------------
+
+Removed
+^^^^^^^
+
+* **use_proxy_custom_directory**
+* **use_proxy_custom_file**
+
+bpy.types.MovieSequence
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieSequence.stereo_3d_format`
+* :class:`bpy.types.MovieSequence.use_multiview`
+* :class:`bpy.types.MovieSequence.views_format`
+
+Removed
+^^^^^^^
+
+* **use_proxy_custom_directory**
+* **use_proxy_custom_file**
+
+bpy.types.SceneSequence
+-----------------------
+
+Removed
+^^^^^^^
+
+* **use_proxy_custom_directory**
+* **use_proxy_custom_file**
+
+bpy.types.SequenceEditor
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SequenceEditor.proxy_dir`
+* :class:`bpy.types.SequenceEditor.proxy_storage`
+
+bpy.types.SequenceProxy
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SequenceProxy.use_proxy_custom_directory`
+* :class:`bpy.types.SequenceProxy.use_proxy_custom_file`
+
+bpy.types.SpaceImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceImageEditor.show_stereo_3d`
+
+bpy.types.SpaceSequenceEditor
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceSequenceEditor.show_metadata`
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.show_stereo_3d_cameras`
+* :class:`bpy.types.SpaceView3D.show_stereo_3d_convergence_plane`
+* :class:`bpy.types.SpaceView3D.show_stereo_3d_volume`
+* :class:`bpy.types.SpaceView3D.stereo_3d_camera`
+* :class:`bpy.types.SpaceView3D.stereo_3d_convergence_plane_alpha`
+* :class:`bpy.types.SpaceView3D.stereo_3d_eye`
+* :class:`bpy.types.SpaceView3D.stereo_3d_volume_alpha`
+
+bpy.types.SpaceUVEditor
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceUVEditor.show_metadata`
+
+bpy.types.ThemeImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeImageEditor.metadatabg`
+* :class:`bpy.types.ThemeImageEditor.metadatatext`
+
+bpy.types.ThemeSequenceEditor
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeSequenceEditor.metadatabg`
+* :class:`bpy.types.ThemeSequenceEditor.metadatatext`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.lock_markers`
+* :class:`bpy.types.ToolSettings.use_proportional_action`
+* :class:`bpy.types.ToolSettings.use_proportional_fcurve`
+
+bpy.types.UILayout
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UILayout.template_image_stereo_3d`
+* :class:`bpy.types.UILayout.template_image_views`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.menu` (menu, text, text_ctxt, translate, icon, icon_value), *was (menu, text, text_ctxt, translate, icon)*
+* :class:`bpy.types.UILayout.template_icon_view` (data, property, show_labels), *was (data, property)*
+* :class:`bpy.types.UILayout.template_image` (data, property, image_user, compact, multiview), *was (data, property, image_user, compact)*
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesView.view_frame_keyframes`
+* :class:`bpy.types.UserPreferencesView.view_frame_seconds`
+* :class:`bpy.types.UserPreferencesView.view_frame_type`
+
+bpy.types.Window
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Window.stereo_3d_display`
+
+2.75 to 2.76
+============
+
+bpy.types.ActionFCurves
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ActionFCurves.find`
+
+bpy.types.BlendDataBrushes
+--------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataBrushes.new` (name, mode), *was (name)*
+
+bpy.types.FileSelectParams
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FileSelectParams.filter_id`
+* :class:`bpy.types.FileSelectParams.filter_id_category`
+* :class:`bpy.types.FileSelectParams.recursion_level`
+* :class:`bpy.types.FileSelectParams.use_filter_blendid`
+* :class:`bpy.types.FileSelectParams.use_library_browsing`
+
+bpy.types.GameObjectSettings
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GameObjectSettings.angular_velocity_max`
+* :class:`bpy.types.GameObjectSettings.angular_velocity_min`
+
+bpy.types.ID
+------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ID.preview`
+
+bpy.types.Brush
+---------------
+
+Removed
+^^^^^^^
+
+* **use_wrap**
+
+bpy.types.ImagePreview
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImagePreview.icon_pixels_float`
+* :class:`bpy.types.ImagePreview.image_pixels_float`
+
+bpy.types.ImageUser
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImageUser.multilayer_pass`
+
+bpy.types.BevelModifier
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BevelModifier.loop_slide`
+
+bpy.types.SubsurfModifier
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SubsurfModifier.use_opensubdiv`
+
+bpy.types.ShaderNodeTexImage
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexImage.extension`
+
+bpy.types.Paint
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Paint.tile_offset`
+* :class:`bpy.types.Paint.tile_x`
+* :class:`bpy.types.Paint.tile_y`
+* :class:`bpy.types.Paint.tile_z`
+
+bpy.types.CyclesObjectBlurSettings
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesObjectBlurSettings.use_camera_cull`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.camera_cull_margin`
+* :class:`bpy.types.CyclesRenderSettings.use_camera_cull`
+
+bpy.types.CyclesWorldSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesWorldSettings.max_bounces`
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.use_stamp_strip_meta`
+
+bpy.types.SmokeDomainSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SmokeDomainSettings.velocity_grid`
+
+bpy.types.SpaceClipEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceClipEditor.show_metadata`
+
+bpy.types.SpaceNodeEditor
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceNodeEditor.insert_offset_direction`
+* :class:`bpy.types.SpaceNodeEditor.use_insert_offset`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.use_snap_grid_absolute`
+
+bpy.types.UILayout
+------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.UILayout.template_icon_view` (data, property, show_labels, scale), *was (data, property, show_labels)*
+
+bpy.types.UserPreferencesEdit
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesEdit.node_margin`
+
+bpy.types.UserPreferencesInput
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesInput.ndof_deadzone`
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.opensubdiv_compute_type`
+
+2.76 to 2.77
+============
+
+bpy.types.AnimDataDrivers
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.AnimDataDrivers.find`
+
+bpy.types.BakeSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BakeSettings.pass_filter`
+* :class:`bpy.types.BakeSettings.use_pass_ambient_occlusion`
+* :class:`bpy.types.BakeSettings.use_pass_color`
+* :class:`bpy.types.BakeSettings.use_pass_diffuse`
+* :class:`bpy.types.BakeSettings.use_pass_direct`
+* :class:`bpy.types.BakeSettings.use_pass_emit`
+* :class:`bpy.types.BakeSettings.use_pass_glossy`
+* :class:`bpy.types.BakeSettings.use_pass_indirect`
+* :class:`bpy.types.BakeSettings.use_pass_subsurface`
+* :class:`bpy.types.BakeSettings.use_pass_transmission`
+
+bpy.types.BlendData
+-------------------
+
+Removed
+^^^^^^^
+
+* **scripts**
+
+bpy.types.BlendDataFonts
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataFonts.load` (filepath, check_existing), *was (filepath)*
+
+bpy.types.BlendDataImages
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataImages.load` (filepath, check_existing), *was (filepath)*
+
+bpy.types.BlendDataMasks
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendDataMasks.is_updated`
+
+bpy.types.BlendDataMovieClips
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendDataMovieClips.is_updated`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataMovieClips.load` (filepath, check_existing), *was (filepath)*
+
+bpy.types.BlendDataSounds
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataSounds.load` (filepath, check_existing), *was (filepath)*
+
+bpy.types.DopeSheet
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DopeSheet.show_gpencil_3d_only`
+
+bpy.types.FileSelectParams
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FileSelectParams.display_size`
+
+Removed
+^^^^^^^
+
+* **thumbnail_size**
+
+bpy.types.GameObjectSettings
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GameObjectSettings.jump_max`
+
+bpy.types.ID
+------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ID.user_of_id`
+
+bpy.types.Brush
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Brush.rake_factor`
+
+bpy.types.FreestyleLineStyle
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FreestyleLineStyle.animation_data`
+
+bpy.types.GreasePencil
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GreasePencil.use_onion_skinning`
+
+Removed
+^^^^^^^
+
+* **draw_mode**
+* **use_stroke_endpoints**
+
+bpy.types.Object
+----------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Object.closest_point_on_mesh` (origin, distance), *was (point, max_dist)*
+* :class:`bpy.types.Object.ray_cast` (origin, direction, distance), *was (start, end)*
+
+bpy.types.Scene
+---------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Scene.ray_cast` (origin, direction, distance), *was (start, end)*
+
+bpy.types.ImageFormatSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImageFormatSettings.tiff_codec`
+
+bpy.types.ImagePackedFile
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ImagePackedFile.save`
+
+bpy.types.DataTransferModifier
+------------------------------
+
+Removed
+^^^^^^^
+
+* **data_types_loops_uv**
+* **data_types_loops_vcol**
+* **data_types_verts_vgroup**
+
+bpy.types.DecimateModifier
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DecimateModifier.symmetry_axis`
+* :class:`bpy.types.DecimateModifier.use_symmetry`
+
+bpy.types.Node
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Node.insert_link`
+
+bpy.types.CompositorNodeBlur
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeBlur.use_extended_bounds`
+
+bpy.types.CompositorNodeBokehBlur
+---------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeBokehBlur.use_extended_bounds`
+
+bpy.types.CompositorNodeStabilize
+---------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeStabilize.invert`
+
+bpy.types.ShaderNodeTexEnvironment
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexEnvironment.interpolation`
+
+bpy.types.ShaderNodeTexPointDensity
+-----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexPointDensity.cache_point_density`
+* :class:`bpy.types.ShaderNodeTexPointDensity.calc_point_density_minmax`
+
+bpy.types.ShaderNodeTexWave
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexWave.wave_profile`
+
+bpy.types.PoseBone
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PoseBone.custom_shape_scale`
+* :class:`bpy.types.PoseBone.use_custom_shape_bone_size`
+
+bpy.types.EnumProperty
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.EnumProperty.enum_items_static`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.debug_opencl_device_type`
+* :class:`bpy.types.CyclesRenderSettings.debug_opencl_kernel_type`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cpu_avx`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cpu_avx2`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cpu_sse2`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cpu_sse3`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cpu_sse41`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_opencl_debug`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_qbvh`
+* :class:`bpy.types.CyclesRenderSettings.motion_blur_position`
+* :class:`bpy.types.CyclesRenderSettings.pixel_filter_type`
+* :class:`bpy.types.CyclesRenderSettings.rolling_shutter_duration`
+* :class:`bpy.types.CyclesRenderSettings.rolling_shutter_type`
+
+Removed
+^^^^^^^
+
+* **use_cache**
+
+bpy.types.RenderEngine
+----------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.RenderEngine.bake` (scene, object, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result), *was (scene, object, pass_type, object_id, pixel_array, num_pixels, depth, result)*
+
+bpy.types.CYCLES
+----------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.CYCLES.bake` (self, scene, obj, pass_type, pass_filter, object_id, pixel_array, num_pixels, depth, result), *was (self, scene, obj, pass_type, object_id, pixel_array, num_pixels, depth, result)*
+
+bpy.types.RenderLayer
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderLayer.use_ao`
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.motion_blur_shutter_curve`
+
+Removed
+^^^^^^^
+
+* **use_free_unused_nodes**
+
+bpy.types.SceneRenderLayer
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneRenderLayer.use_ao`
+
+bpy.types.SculptToolCapabilities
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SculptToolCapabilities.has_rake_factor`
+
+bpy.types.TextSequence
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TextSequence.align_y`
+* :class:`bpy.types.TextSequence.wrap_width`
+
+Renamed
+^^^^^^^
+
+* **align** -> :class:`bpy.types.TextSequence.align_x`
+
+bpy.types.WipeSequence
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.WipeSequence.input_2`
+
+bpy.types.SceneSequence
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneSequence.use_sequence`
+
+bpy.types.SoundSequence
+-----------------------
+
+Removed
+^^^^^^^
+
+* **filepath**
+
+bpy.types.SequenceModifier
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SequenceModifier.mask_time`
+
+bpy.types.ShapeKey
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShapeKey.normals_polygon_get`
+* :class:`bpy.types.ShapeKey.normals_split_get`
+* :class:`bpy.types.ShapeKey.normals_vertex_get`
+
+bpy.types.SmokeDomainSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SmokeDomainSettings.cache_file_format`
+* :class:`bpy.types.SmokeDomainSettings.data_depth`
+* :class:`bpy.types.SmokeDomainSettings.openvdb_cache_compress_type`
+
+bpy.types.SpaceGraphEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceGraphEditor.cursor_position_x`
+
+bpy.types.ThemeSequenceEditor
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeSequenceEditor.text_strip`
+
+bpy.types.ThemeView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeView3D.text_grease_pencil`
+* :class:`bpy.types.ThemeView3D.text_keyframe`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.gpencil_sculpt`
+* :class:`bpy.types.ToolSettings.gpencil_stroke_placement_image_editor`
+* :class:`bpy.types.ToolSettings.gpencil_stroke_placement_sequencer_preview`
+* :class:`bpy.types.ToolSettings.gpencil_stroke_placement_view2d`
+* :class:`bpy.types.ToolSettings.gpencil_stroke_placement_view3d`
+* :class:`bpy.types.ToolSettings.use_gpencil_additive_drawing`
+* :class:`bpy.types.ToolSettings.use_gpencil_stroke_endpoints`
+
+Renamed
+^^^^^^^
+
+* **use_grease_pencil_sessions** -> :class:`bpy.types.ToolSettings.use_gpencil_continuous_drawing`
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.font_path_ui_mono`
+
+Removed
+^^^^^^^
+
+* **is_occlusion_query_supported**
+* **use_vertex_buffer_objects**
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Removed
+^^^^^^^
+
+* **use_gl_warn_support**
+
+2.77 to 2.78
+============
+
+bpy.types.AnimData
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.AnimData.use_tweak_mode`
+
+bpy.types.BlendData
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BlendData.cache_files`
+* :class:`bpy.types.BlendData.paint_curves`
+
+bpy.types.BlendDataActions
+--------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataActions.remove` (action, do_unlink), *was (action)*
+
+bpy.types.BlendDataArmatures
+----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataArmatures.remove` (armature, do_unlink), *was (armature)*
+
+bpy.types.BlendDataBrushes
+--------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataBrushes.remove` (brush, do_unlink), *was (brush)*
+
+bpy.types.BlendDataCameras
+--------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataCameras.remove` (camera, do_unlink), *was (camera)*
+
+bpy.types.BlendDataCurves
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataCurves.remove` (curve, do_unlink), *was (curve)*
+
+bpy.types.BlendDataFonts
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataFonts.remove` (vfont, do_unlink), *was (vfont)*
+
+bpy.types.BlendDataGreasePencils
+--------------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataGreasePencils.remove` (grease_pencil, do_unlink), *was (grease_pencil)*
+
+bpy.types.BlendDataGroups
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataGroups.remove` (group, do_unlink), *was (group)*
+
+bpy.types.BlendDataImages
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataImages.remove` (image, do_unlink), *was (image)*
+
+bpy.types.BlendDataLamps
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataLamps.remove` (lamp, do_unlink), *was (lamp)*
+
+bpy.types.BlendDataLattices
+---------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataLattices.remove` (lattice, do_unlink), *was (lattice)*
+
+bpy.types.BlendDataLineStyles
+-----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataLineStyles.remove` (linestyle, do_unlink), *was (linestyle)*
+
+bpy.types.BlendDataMasks
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataMasks.remove` (mask, do_unlink), *was (mask)*
+
+bpy.types.BlendDataMaterials
+----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataMaterials.remove` (material, do_unlink), *was (material)*
+
+bpy.types.BlendDataMeshes
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataMeshes.remove` (mesh, do_unlink), *was (mesh)*
+
+bpy.types.BlendDataMetaBalls
+----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataMetaBalls.remove` (metaball, do_unlink), *was (metaball)*
+
+bpy.types.BlendDataMovieClips
+-----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataMovieClips.remove` (clip, do_unlink), *was (clip)*
+
+bpy.types.BlendDataNodeTrees
+----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataNodeTrees.remove` (tree, do_unlink), *was (tree)*
+
+bpy.types.BlendDataObjects
+--------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataObjects.remove` (object, do_unlink), *was (object)*
+
+bpy.types.BlendDataPalettes
+---------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataPalettes.remove` (palette, do_unlink), *was (palette)*
+
+bpy.types.BlendDataParticles
+----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataParticles.remove` (particle, do_unlink), *was (particle)*
+
+bpy.types.BlendDataScenes
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataScenes.remove` (scene, do_unlink), *was (scene)*
+
+bpy.types.BlendDataSounds
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataSounds.remove` (sound, do_unlink), *was (sound)*
+
+bpy.types.BlendDataSpeakers
+---------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataSpeakers.remove` (speaker, do_unlink), *was (speaker)*
+
+bpy.types.BlendDataTexts
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataTexts.remove` (text, do_unlink), *was (text)*
+
+bpy.types.BlendDataTextures
+---------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataTextures.remove` (texture, do_unlink), *was (texture)*
+
+bpy.types.BlendDataWorlds
+-------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.BlendDataWorlds.remove` (world, do_unlink), *was (world)*
+
+bpy.types.Bone
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Bone.bbone_curveinx`
+* :class:`bpy.types.Bone.bbone_curveiny`
+* :class:`bpy.types.Bone.bbone_curveoutx`
+* :class:`bpy.types.Bone.bbone_curveouty`
+* :class:`bpy.types.Bone.bbone_rollin`
+* :class:`bpy.types.Bone.bbone_rollout`
+* :class:`bpy.types.Bone.bbone_scalein`
+* :class:`bpy.types.Bone.bbone_scaleout`
+* :class:`bpy.types.Bone.use_endroll_as_inroll`
+
+bpy.types.CameraStereoData
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CameraStereoData.pole_merge_angle_from`
+* :class:`bpy.types.CameraStereoData.pole_merge_angle_to`
+* :class:`bpy.types.CameraStereoData.use_pole_merge`
+* :class:`bpy.types.CameraStereoData.use_spherical_stereo`
+
+bpy.types.ClothSettings
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ClothSettings.time_scale`
+* :class:`bpy.types.ClothSettings.use_dynamic_mesh`
+
+bpy.types.CopyLocationConstraint
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CopyLocationConstraint.use_bbone_shape`
+
+bpy.types.CopyTransformsConstraint
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CopyTransformsConstraint.use_bbone_shape`
+
+bpy.types.DampedTrackConstraint
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DampedTrackConstraint.use_bbone_shape`
+
+bpy.types.LimitDistanceConstraint
+---------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.LimitDistanceConstraint.use_bbone_shape`
+
+bpy.types.LockedTrackConstraint
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.LockedTrackConstraint.use_bbone_shape`
+
+bpy.types.PivotConstraint
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PivotConstraint.use_bbone_shape`
+
+bpy.types.StretchToConstraint
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.StretchToConstraint.use_bbone_shape`
+
+bpy.types.TrackToConstraint
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TrackToConstraint.use_bbone_shape`
+
+bpy.types.DopeSheet
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DopeSheet.use_datablock_sort`
+* :class:`bpy.types.DopeSheet.use_multi_word_filter`
+
+bpy.types.Driver
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Driver.use_self`
+
+bpy.types.DriverVariable
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DriverVariable.is_name_valid`
+
+bpy.types.EditBone
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.EditBone.bbone_curveinx`
+* :class:`bpy.types.EditBone.bbone_curveiny`
+* :class:`bpy.types.EditBone.bbone_curveoutx`
+* :class:`bpy.types.EditBone.bbone_curveouty`
+* :class:`bpy.types.EditBone.bbone_rollin`
+* :class:`bpy.types.EditBone.bbone_rollout`
+* :class:`bpy.types.EditBone.bbone_scalein`
+* :class:`bpy.types.EditBone.bbone_scaleout`
+* :class:`bpy.types.EditBone.use_endroll_as_inroll`
+
+bpy.types.FCurveKeyframePoints
+------------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.FCurveKeyframePoints.insert` (frame, value, options, keyframe_type), *was (frame, value, options)*
+
+bpy.types.GPencilLayer
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilLayer.is_parented`
+* :class:`bpy.types.GPencilLayer.matrix_inverse`
+* :class:`bpy.types.GPencilLayer.parent`
+* :class:`bpy.types.GPencilLayer.parent_bone`
+* :class:`bpy.types.GPencilLayer.parent_type`
+* :class:`bpy.types.GPencilLayer.tint_color`
+* :class:`bpy.types.GPencilLayer.tint_factor`
+* :class:`bpy.types.GPencilLayer.unlock_color`
+
+Removed
+^^^^^^^
+
+* **color**
+* **fill_alpha**
+* **fill_color**
+* **is_fill_visible**
+* **is_stroke_visible**
+
+Renamed
+^^^^^^^
+
+* **alpha** -> :class:`bpy.types.GPencilLayer.opacity`
+* **line_width** -> :class:`bpy.types.GPencilLayer.line_change`
+
+bpy.types.GPencilSculptSettings
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilSculptSettings.affect_position`
+* :class:`bpy.types.GPencilSculptSettings.affect_strength`
+* :class:`bpy.types.GPencilSculptSettings.affect_thickness`
+* :class:`bpy.types.GPencilSculptSettings.selection_alpha`
+
+bpy.types.GPencilStroke
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilStroke.color`
+* :class:`bpy.types.GPencilStroke.colorname`
+* :class:`bpy.types.GPencilStroke.draw_cyclic`
+* :class:`bpy.types.GPencilStroke.line_width`
+* :class:`bpy.types.GPencilStroke.triangles`
+
+bpy.types.GPencilStrokePoint
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilStrokePoint.strength`
+
+bpy.types.GPencilStrokePoints
+-----------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.GPencilStrokePoints.add` (count, pressure, strength), *was (count)*
+
+bpy.types.GPencilStrokes
+------------------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.GPencilStrokes.new` (colorname), *was ()*
+
+bpy.types.ID
+------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ID.user_remap`
+
+bpy.types.TextCurve
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TextCurve.align_x`
+* :class:`bpy.types.TextCurve.align_y`
+
+Removed
+^^^^^^^
+
+* **align**
+
+bpy.types.GreasePencil
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GreasePencil.palettes`
+* :class:`bpy.types.GreasePencil.show_stroke_direction`
+
+bpy.types.PointLamp
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PointLamp.constant_coefficient`
+* :class:`bpy.types.PointLamp.linear_coefficient`
+* :class:`bpy.types.PointLamp.quadratic_coefficient`
+
+bpy.types.SpotLamp
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpotLamp.constant_coefficient`
+* :class:`bpy.types.SpotLamp.linear_coefficient`
+* :class:`bpy.types.SpotLamp.quadratic_coefficient`
+
+bpy.types.Library
+-----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Library.reload`
+
+bpy.types.Mesh
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Mesh.flip_normals`
+* :class:`bpy.types.Mesh.split_faces`
+
+bpy.types.MovieClip
+-------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieClip.animation_data`
+
+bpy.types.ParticleSettings
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ParticleSettings.collision_group`
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.alembic_export`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Scene.collada_export` (filepath, apply_modifiers, export_mesh_type, selected, include_children, include_armatures, include_shapekeys, deform_bones_only, active_uv_only, include_uv_textures, include_material_textures, use_texture_copies, use_ngons, use_object_instantiation, use_blender_profile, sort_by_name, open_sim, export_transformation_type), *was (filepath, apply_modifiers, export_mesh_type, selected, include_children, include_armatures, include_shapekeys, deform_bones_only, active_uv_only, include_uv_textures, include_material_textures, use_texture_copies, use_ngons, use_object_instantiation, sort_by_name, open_sim, export_transformation_type)*
+
+bpy.types.WholeCharacter
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.WholeCharacter.doBBone`
+
+bpy.types.MeshPolygon
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MeshPolygon.flip`
+
+bpy.types.BooleanModifier
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BooleanModifier.double_threshold`
+* :class:`bpy.types.BooleanModifier.solver`
+
+bpy.types.HookModifier
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.HookModifier.matrix_inverse`
+
+bpy.types.NormalEditModifier
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NormalEditModifier.mix_limit`
+
+bpy.types.ShrinkwrapModifier
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShrinkwrapModifier.invert_vertex_group`
+
+bpy.types.SimpleDeformModifier
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SimpleDeformModifier.invert_vertex_group`
+
+bpy.types.MovieTrackingStabilization
+------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingStabilization.active_rotation_track_index`
+* :class:`bpy.types.MovieTrackingStabilization.anchor_frame`
+* :class:`bpy.types.MovieTrackingStabilization.rotation_tracks`
+* :class:`bpy.types.MovieTrackingStabilization.show_tracks_expanded`
+* :class:`bpy.types.MovieTrackingStabilization.target_position`
+* :class:`bpy.types.MovieTrackingStabilization.target_rotation`
+* :class:`bpy.types.MovieTrackingStabilization.target_scale`
+* :class:`bpy.types.MovieTrackingStabilization.use_stabilize_scale`
+
+Removed
+^^^^^^^
+
+* **rotation_track**
+
+bpy.types.MovieTrackingTrack
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MovieTrackingTrack.weight_stab`
+
+bpy.types.CompositorNodeColorBalance
+------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeColorBalance.offset_basis`
+
+bpy.types.ShaderNodeTexPointDensity
+-----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ShaderNodeTexPointDensity.vertex_attribute_name`
+
+Renamed
+^^^^^^^
+
+* **color_source** -> :class:`bpy.types.ShaderNodeTexPointDensity.particle_color_source`
+* **color_source** -> :class:`bpy.types.ShaderNodeTexPointDensity.vertex_color_source`
+
+bpy.types.PointDensity
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PointDensity.vertex_attribute_name`
+
+Renamed
+^^^^^^^
+
+* **color_source** -> :class:`bpy.types.PointDensity.particle_color_source`
+* **color_source** -> :class:`bpy.types.PointDensity.vertex_color_source`
+
+bpy.types.PoseBone
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PoseBone.bbone_curveinx`
+* :class:`bpy.types.PoseBone.bbone_curveiny`
+* :class:`bpy.types.PoseBone.bbone_curveoutx`
+* :class:`bpy.types.PoseBone.bbone_curveouty`
+* :class:`bpy.types.PoseBone.bbone_custom_handle_end`
+* :class:`bpy.types.PoseBone.bbone_custom_handle_start`
+* :class:`bpy.types.PoseBone.bbone_rollin`
+* :class:`bpy.types.PoseBone.bbone_rollout`
+* :class:`bpy.types.PoseBone.bbone_scalein`
+* :class:`bpy.types.PoseBone.bbone_scaleout`
+* :class:`bpy.types.PoseBone.use_bbone_custom_handles`
+* :class:`bpy.types.PoseBone.use_bbone_relative_end_handle`
+* :class:`bpy.types.PoseBone.use_bbone_relative_start_handle`
+
+bpy.types.BoolProperty
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.BoolProperty.is_array`
+
+bpy.types.FloatProperty
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FloatProperty.is_array`
+
+bpy.types.IntProperty
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.IntProperty.is_array`
+
+bpy.types.CyclesMaterialSettings
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesMaterialSettings.displacement_method`
+
+bpy.types.CyclesMeshSettings
+----------------------------
+
+Removed
+^^^^^^^
+
+* **dicing_rate**
+* **displacement_method**
+* **use_subdivision**
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.debug_bvh_time_steps`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cuda_adaptive_compile`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_hair_bvh`
+* :class:`bpy.types.CyclesRenderSettings.dicing_rate`
+* :class:`bpy.types.CyclesRenderSettings.distance_cull_margin`
+* :class:`bpy.types.CyclesRenderSettings.light_sampling_threshold`
+* :class:`bpy.types.CyclesRenderSettings.max_subdivisions`
+* :class:`bpy.types.CyclesRenderSettings.preview_dicing_rate`
+* :class:`bpy.types.CyclesRenderSettings.texture_limit`
+* :class:`bpy.types.CyclesRenderSettings.texture_limit_render`
+* :class:`bpy.types.CyclesRenderSettings.use_distance_cull`
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.active_view_get`
+* :class:`bpy.types.RenderEngine.bl_use_spherical_stereo`
+* :class:`bpy.types.RenderEngine.use_spherical_stereo`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.RenderEngine.camera_model_matrix` (camera, use_spherical_stereo, r_model_matrix), *was (camera, r_model_matrix)*
+* :class:`bpy.types.RenderEngine.camera_shift_x` (camera, use_spherical_stereo), *was (camera)*
+
+bpy.types.RenderSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderSettings.use_spherical_stereo`
+* :class:`bpy.types.RenderSettings.use_stamp_labels`
+* :class:`bpy.types.RenderSettings.use_stamp_memory`
+* :class:`bpy.types.RenderSettings.use_world_space_shading`
+
+bpy.types.SceneGameData
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneGameData.use_glsl_environment_lighting`
+
+bpy.types.SceneGameRecastData
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneGameRecastData.partitioning`
+
+bpy.types.TextSequence
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TextSequence.color`
+* :class:`bpy.types.TextSequence.shadow_color`
+
+bpy.types.SmokeDomainSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SmokeDomainSettings.heat_grid`
+
+bpy.types.SoftBodySettings
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SoftBodySettings.collision_group`
+
+bpy.types.SpaceNLA
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceNLA.show_local_markers`
+
+bpy.types.ThemeDopeSheet
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeDopeSheet.keyframe_scale_factor`
+
+bpy.types.ThemeFileBrowser
+--------------------------
+
+Removed
+^^^^^^^
+
+* **active_file**
+* **active_file_text**
+* **scroll_handle**
+* **scrollbar**
+* **space_list**
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.curve_paint_settings`
+* :class:`bpy.types.ToolSettings.gpencil_brushes`
+* :class:`bpy.types.ToolSettings.keyframe_type`
+* :class:`bpy.types.ToolSettings.use_gpencil_draw_onback`
+
+bpy.types.UILayout
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UILayout.template_cache_file`
+
+bpy.types.UserPreferences
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferences.version`
+
+bpy.types.UserPreferencesEdit
+-----------------------------
+
+Removed
+^^^^^^^
+
+* **use_grease_pencil_smooth_stroke**
+
+bpy.types.UserPreferencesInput
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesInput.use_ndof`
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.legacy_compute_device_type`
+
+Removed
+^^^^^^^
+
+* **compute_device**
+* **compute_device_type**
+
+2.78 to 2.79
+============
+
+bpy.types.DupliObject
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DupliObject.random_id`
+
+bpy.types.FFmpegSettings
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FFmpegSettings.constant_rate_factor`
+* :class:`bpy.types.FFmpegSettings.ffmpeg_preset`
+* :class:`bpy.types.FFmpegSettings.max_b_frames`
+* :class:`bpy.types.FFmpegSettings.use_max_b_frames`
+
+bpy.types.FieldSettings
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FieldSettings.use_gravity_falloff`
+
+bpy.types.GPencilLayer
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilLayer.use_ghosts_always`
+
+bpy.types.GPencilSculptSettings
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPencilSculptSettings.lockaxis`
+
+bpy.types.Header
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Header.is_extended`
+
+bpy.types.ID
+------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ID.make_local`
+
+bpy.types.Mesh
+--------------
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Mesh.split_faces` (free_loop_normals), *was ()*
+
+bpy.types.Scene
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Scene.frame_float`
+* :class:`bpy.types.Scene.show_subframe`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Scene.alembic_export` (filepath, frame_start, frame_end, xform_samples, geom_samples, shutter_open, shutter_close, selected_only, uvs, normals, vcolors, apply_subdiv, flatten, visible_layers_only, renderable_only, face_sets, subdiv_schema, export_hair, export_particles, compression_type, packuv, scale, triangulate, quad_method, ngon_method), *was (filepath, frame_start, frame_end, xform_samples, geom_samples, shutter_open, shutter_close, selected_only, uvs, normals, vcolors, apply_subdiv, flatten, visible_layers_only, renderable_only, face_sets, subdiv_schema, compression_type, packuv, scale)*
+* :class:`bpy.types.Scene.collada_export` (filepath, apply_modifiers, export_mesh_type, selected, include_children, include_armatures, include_shapekeys, deform_bones_only, active_uv_only, export_texture_type, use_texture_copies, triangulate, use_object_instantiation, use_blender_profile, sort_by_name, export_transformation_type, open_sim, limit_precision, keep_bind_info), *was (filepath, apply_modifiers, export_mesh_type, selected, include_children, include_armatures, include_shapekeys, deform_bones_only, active_uv_only, include_uv_textures, include_material_textures, use_texture_copies, use_ngons, use_object_instantiation, use_blender_profile, sort_by_name, open_sim, export_transformation_type)*
+
+bpy.types.Macro
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Macro.bl_undo_group`
+
+bpy.types.Menu
+--------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Menu.is_extended`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.Menu.path_menu` (self, searchpaths, operator), *was (self, searchpaths, operator, props_default, filter_ext)*
+
+bpy.types.GPENCIL_PIE_sculpt
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_sculpt.is_extended`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_sculpt.path_menu` (self, searchpaths, operator), *was (self, searchpaths, operator, props_default, filter_ext)*
+
+bpy.types.GPENCIL_PIE_settings_palette
+--------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_settings_palette.is_extended`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_settings_palette.path_menu` (self, searchpaths, operator), *was (self, searchpaths, operator, props_default, filter_ext)*
+
+bpy.types.GPENCIL_PIE_tool_palette
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_tool_palette.is_extended`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_tool_palette.path_menu` (self, searchpaths, operator), *was (self, searchpaths, operator, props_default, filter_ext)*
+
+bpy.types.GPENCIL_PIE_tools_more
+--------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_tools_more.is_extended`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.GPENCIL_PIE_tools_more.path_menu` (self, searchpaths, operator), *was (self, searchpaths, operator, props_default, filter_ext)*
+
+bpy.types.DisplaceModifier
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.DisplaceModifier.space`
+
+bpy.types.MirrorModifier
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MirrorModifier.mirror_offset_u`
+* :class:`bpy.types.MirrorModifier.mirror_offset_v`
+
+bpy.types.ScrewModifier
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ScrewModifier.merge_threshold`
+* :class:`bpy.types.ScrewModifier.use_merge_vertices`
+
+bpy.types.MotionPath
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MotionPath.color`
+* :class:`bpy.types.MotionPath.line_thickness`
+* :class:`bpy.types.MotionPath.lines`
+* :class:`bpy.types.MotionPath.use_custom_color`
+
+bpy.types.CompositorNodeBrightContrast
+--------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CompositorNodeBrightContrast.use_premultiply`
+
+bpy.types.CompositorNodeHueSat
+------------------------------
+
+Removed
+^^^^^^^
+
+* **color_hue**
+* **color_saturation**
+* **color_value**
+
+bpy.types.CompositorNodeSwitchView
+----------------------------------
+
+Removed
+^^^^^^^
+
+* **check**
+
+bpy.types.Operator
+------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Operator.bl_undo_group`
+* :class:`bpy.types.Operator.is_repeat`
+
+bpy.types.Sculpt
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Sculpt.constant_detail_resolution`
+
+Removed
+^^^^^^^
+
+* **constant_detail**
+
+bpy.types.Panel
+---------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.Panel.is_extended`
+
+bpy.types.IMAGE_UV_sculpt
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.IMAGE_UV_sculpt.is_extended`
+
+bpy.types.IMAGE_UV_sculpt_curve
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.IMAGE_UV_sculpt_curve.is_extended`
+
+bpy.types.CyclesObjectSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesObjectSettings.is_shadow_catcher`
+
+bpy.types.CyclesRenderSettings
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CyclesRenderSettings.ao_bounces`
+* :class:`bpy.types.CyclesRenderSettings.ao_bounces_render`
+* :class:`bpy.types.CyclesRenderSettings.debug_opencl_kernel_single_program`
+* :class:`bpy.types.CyclesRenderSettings.debug_opencl_mem_limit`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cpu_split_kernel`
+* :class:`bpy.types.CyclesRenderSettings.debug_use_cuda_split_kernel`
+
+bpy.types.PropertyGroupItem
+---------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PropertyGroupItem.id`
+
+bpy.types.RenderEngine
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderEngine.add_pass`
+* :class:`bpy.types.RenderEngine.register_pass`
+* :class:`bpy.types.RenderEngine.update_render_passes`
+
+Function Arguments
+^^^^^^^^^^^^^^^^^^
+
+* :class:`bpy.types.RenderEngine.end_result` (result, cancel, highlight, do_merge_results), *was (result, cancel, do_merge_results)*
+
+bpy.types.CYCLES
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CYCLES.update_render_passes`
+
+bpy.types.RenderPass
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderPass.fullname`
+
+Removed
+^^^^^^^
+
+* **debug_type**
+* **type**
+
+bpy.types.RenderPasses
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RenderPasses.find_by_name`
+
+bpy.types.RenderSettings
+------------------------
+
+Removed
+^^^^^^^
+
+* **sequencer_gl_render**
+* **use_sequencer_gl_preview**
+
+bpy.types.RigidBodyConstraint
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RigidBodyConstraint.spring_damping_ang_x`
+* :class:`bpy.types.RigidBodyConstraint.spring_damping_ang_y`
+* :class:`bpy.types.RigidBodyConstraint.spring_damping_ang_z`
+* :class:`bpy.types.RigidBodyConstraint.spring_stiffness_ang_x`
+* :class:`bpy.types.RigidBodyConstraint.spring_stiffness_ang_y`
+* :class:`bpy.types.RigidBodyConstraint.spring_stiffness_ang_z`
+* :class:`bpy.types.RigidBodyConstraint.use_spring_ang_x`
+* :class:`bpy.types.RigidBodyConstraint.use_spring_ang_y`
+* :class:`bpy.types.RigidBodyConstraint.use_spring_ang_z`
+
+bpy.types.SceneRenderLayer
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SceneRenderLayer.cycles`
+* :class:`bpy.types.SceneRenderLayer.update_render_passes`
+
+bpy.types.SmokeDomainSettings
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SmokeDomainSettings.axis_slice_method`
+* :class:`bpy.types.SmokeDomainSettings.coba_field`
+* :class:`bpy.types.SmokeDomainSettings.color_ramp`
+* :class:`bpy.types.SmokeDomainSettings.display_thickness`
+* :class:`bpy.types.SmokeDomainSettings.draw_velocity`
+* :class:`bpy.types.SmokeDomainSettings.slice_axis`
+* :class:`bpy.types.SmokeDomainSettings.slice_depth`
+* :class:`bpy.types.SmokeDomainSettings.slice_method`
+* :class:`bpy.types.SmokeDomainSettings.slice_per_voxel`
+* :class:`bpy.types.SmokeDomainSettings.use_color_ramp`
+* :class:`bpy.types.SmokeDomainSettings.vector_draw_type`
+* :class:`bpy.types.SmokeDomainSettings.vector_scale`
+
+bpy.types.SpaceNodeEditor
+-------------------------
+
+Removed
+^^^^^^^
+
+* **show_highlight**
+
+bpy.types.SpaceView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceView3D.active_layer`
+
+bpy.types.SpaceUVEditor
+-----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SpaceUVEditor.other_uv_filter`
+
+bpy.types.ThemeGraphEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeGraphEditor.vertex_bevel`
+
+bpy.types.ThemeImageEditor
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeImageEditor.vertex_bevel`
+
+bpy.types.ThemeView3D
+---------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ThemeView3D.edge_bevel`
+* :class:`bpy.types.ThemeView3D.vertex_bevel`
+
+bpy.types.ToolSettings
+----------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.ToolSettings.gpencil_interpolate`
+
+bpy.types.UIList
+----------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UIList.is_extended`
+
+bpy.types.CLIP_UL_tracking_objects
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.CLIP_UL_tracking_objects.is_extended`
+
+bpy.types.FILEBROWSER_UL_dir
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.FILEBROWSER_UL_dir.is_extended`
+
+bpy.types.GPENCIL_UL_brush
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPENCIL_UL_brush.is_extended`
+
+bpy.types.GPENCIL_UL_layer
+--------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPENCIL_UL_layer.is_extended`
+
+bpy.types.GPENCIL_UL_palettecolor
+---------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.GPENCIL_UL_palettecolor.is_extended`
+
+bpy.types.MASK_UL_layers
+------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MASK_UL_layers.is_extended`
+
+bpy.types.MATERIAL_UL_matslots
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MATERIAL_UL_matslots.is_extended`
+
+bpy.types.MESH_UL_shape_keys
+----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MESH_UL_shape_keys.is_extended`
+
+bpy.types.MESH_UL_uvmaps_vcols
+------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MESH_UL_uvmaps_vcols.is_extended`
+
+bpy.types.MESH_UL_vgroups
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.MESH_UL_vgroups.is_extended`
+
+bpy.types.NODE_UL_interface_sockets
+-----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.NODE_UL_interface_sockets.is_extended`
+
+bpy.types.PARTICLE_UL_particle_systems
+--------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PARTICLE_UL_particle_systems.is_extended`
+
+bpy.types.PHYSICS_UL_dynapaint_surfaces
+---------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.PHYSICS_UL_dynapaint_surfaces.is_extended`
+
+bpy.types.RENDERLAYER_UL_linesets
+---------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RENDERLAYER_UL_linesets.is_extended`
+
+bpy.types.RENDERLAYER_UL_renderlayers
+-------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RENDERLAYER_UL_renderlayers.is_extended`
+
+bpy.types.RENDERLAYER_UL_renderviews
+------------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.RENDERLAYER_UL_renderviews.is_extended`
+
+bpy.types.SCENE_UL_keying_set_paths
+-----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.SCENE_UL_keying_set_paths.is_extended`
+
+bpy.types.TEXTURE_UL_texpaintslots
+----------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TEXTURE_UL_texpaintslots.is_extended`
+
+bpy.types.TEXTURE_UL_texslots
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.TEXTURE_UL_texslots.is_extended`
+
+bpy.types.UI_UL_list
+--------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UI_UL_list.is_extended`
+
+bpy.types.UserPreferences
+-------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferences.app_template`
+
+bpy.types.UserPreferencesSystem
+-------------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesSystem.use_select_pick_depth`
+
+Removed
+^^^^^^^
+
+* **use_textured_fonts**
+* **virtual_pixel_mode**
+
+bpy.types.UserPreferencesView
+-----------------------------
+
+Added
+^^^^^
+
+* :class:`bpy.types.UserPreferencesView.ui_line_width`
+* :class:`bpy.types.UserPreferencesView.ui_scale`
+* :class:`bpy.types.UserPreferencesView.use_cursor_lock_adjust`
diff --git a/doc/python_api/rst/gpu.rst b/doc/python_api/rst/gpu.rst
index 6c38122a573..cf639357a31 100644
--- a/doc/python_api/rst/gpu.rst
+++ b/doc/python_api/rst/gpu.rst
@@ -6,6 +6,13 @@ GPU functions (gpu)
This module provides access to materials GLSL shaders.
+Submodules:
+
+.. toctree::
+ :maxdepth: 1
+
+ gpu.offscreen.rst
+
Intro
=====
@@ -24,7 +31,6 @@ and in the game engine.
Constants
=========
-
GLSL Data Type
--------------
diff --git a/doc/python_api/rst/include__bmesh.rst b/doc/python_api/rst/include__bmesh.rst
index 83e3e73cea4..bed374bf7b6 100644
--- a/doc/python_api/rst/include__bmesh.rst
+++ b/doc/python_api/rst/include__bmesh.rst
@@ -7,14 +7,17 @@
Submodules:
-* :mod:`bmesh.ops`
-* :mod:`bmesh.types`
-* :mod:`bmesh.utils`
-* :mod:`bmesh.geometry`
+.. toctree::
+ :maxdepth: 1
+ bmesh.ops.rst
+ bmesh.types.rst
+ bmesh.utils.rst
+ bmesh.geometry.rst
-Intro
------
+
+Introduction
+------------
This API gives access the blenders internal mesh editing api, featuring geometry connectivity data and
access to editing operations such as split, separate, collapse and dissolve.
diff --git a/doc/python_api/rst/info_api_reference.rst b/doc/python_api/rst/info_api_reference.rst
index 43469fc0cb7..5ef5866c44a 100644
--- a/doc/python_api/rst/info_api_reference.rst
+++ b/doc/python_api/rst/info_api_reference.rst
@@ -204,7 +204,7 @@ Lets say we want to access the texture of a brush via Python, to adjust its ``co
- Start in the default scene and enable 'Sculpt' mode from the 3D-View header.
- From the toolbar expand the **Texture** panel and add a new texture.
- *Notice the texture button its self doesn't have very useful links (you can check the tool-tips).*
+ *Notice the texture button its self doesn't have very useful links (you can check the tooltips).*
- The contrast setting isn't exposed in the sculpt toolbar, so view the texture in the properties panel...
- In the properties button select the Texture context.
diff --git a/doc/python_api/rst/info_overview.rst b/doc/python_api/rst/info_overview.rst
index b4ae906277d..721374cd472 100644
--- a/doc/python_api/rst/info_overview.rst
+++ b/doc/python_api/rst/info_overview.rst
@@ -5,23 +5,25 @@
Python API Overview
*******************
-This document is to give an understanding of how Python and Blender fit together,
-covering some of the functionality that isn't obvious from reading the API reference and example scripts.
+The purpose of this document is to explain how Python and Blender fit together,
+covering some of the functionality that may not be obvious from reading the API
+references and example scripts.
Python in Blender
=================
-Blender embeds a Python interpreter which is started with Blender and stays active.
-This interpreter runs scripts to draw the user interface and is used for some of Blender's internal tools too.
+Blender has an embedded Python interpreter which is loaded when Blender is started and stays
+active while Blender is running. This interpreter runs scripts to draw the user interface
+and is used for some of Blender’s internal tools as well.
-This is a typical Python environment so tutorials on how to write Python scripts
-will work running the scripts in Blender too.
-Blender provides the :mod:`bpy` module to the Python interpreter.
-This module can be imported in a script and gives access to Blender data, classes, and functions.
-Scripts that deal with Blender data will need to import this module.
+Blender's embedded interpreter provides a typical Python environment, so code from tutorials
+on how to write Python scripts can also be run with Blender’s interpreter. Blender provides its
+Python modules, such as :mod:`bpy` and :mod:`mathutils`, to the embedded interpreter so they can
+be imported into a script and give access to Blender's data, classes, and functions. Scripts that
+deal with Blender data will need to import the modules to work.
-Here is a simple example of moving a vertex of the object named **Cube**:
+Here is a simple example which moves a vertex attached to an object named **Cube**:
.. code-block:: python
@@ -49,15 +51,17 @@ See the :ref:`directory layout docs <blender_manual:getting-started_installing-c
Script Loading
==============
-This may seem obvious but it's important to note the difference
-between executing a script directly or importing it as a module.
+This may seem obvious, but it is important to note the difference between
+executing a script directly and importing a script as a module.
-Scripts that extend Blender - define classes that exist beyond the scripts execution,
-this makes future access to these classes (to unregister for example)
-more difficult than importing as a module where class instance is kept
-in the module and can be accessed by importing that module later on.
+Extending Blender by executing a script directly means the classes that the script
+defines remain available inside Blender after the script finishes execution.
+Using scripts this way makes future access to their classes
+(to unregister them for example) more difficult compared to importing the scripts as modules.
+When a script is imported as a module, its class instances will remain
+inside the module and can be accessed later on by importing that module again.
-For this reason it's preferable to only use directly execute scripts that don't extend Blender by registering classes.
+For this reason it is preferable to avoid directly executing scripts that extend Blender by registering classes.
Here are some ways to run scripts directly in Blender.
@@ -80,7 +84,7 @@ To run as modules:
Add-ons
-------
+-------
Some of Blenders functionality is best kept optional,
alongside scripts loaded at startup we have add-ons which are kept in their own directory ``scripts/addons``,
@@ -213,7 +217,7 @@ A simple Blender/Python module can look like this:
bpy.utils.register_class(SimpleOperator)
def unregister():
- bpy.utils.unregister_class(SimpleOperator)
+ bpy.utils.unregister_class(SimpleOperator)
if __name__ == "__main__":
register()
@@ -327,7 +331,7 @@ Say you want to store material settings for a custom engine.
.. note::
*The class must be registered before being used in a property, failing to do so will raise an error:*
-
+
``ValueError: bpy_struct "Material" registration error: my_custom_props could not register``
@@ -396,8 +400,8 @@ This works just as well for PropertyGroup subclasses you define yourself.
Dynamic Defined-Classes (Advanced)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-In some cases the specifier for data may not be in Blender,
-renderman shader definitions for example and it may be useful to define types and remove them on the fly.
+In some cases the specifier for data may not be in Blender, renderman shader definitions
+for example, and it may be useful to define them as types and remove them on the fly.
.. code-block:: python
@@ -420,7 +424,7 @@ renderman shader definitions for example and it may be useful to define types an
This is an alternative syntax for class creation in Python, better suited to constructing classes dynamically.
-Calling these operators:
+To call the operators from the previous example:
>>> bpy.ops.object.operator_1()
Hello World OBJECT_OT_operator_1
@@ -429,4 +433,3 @@ Calling these operators:
>>> bpy.ops.object.operator_2()
Hello World OBJECT_OT_operator_2
{'FINISHED'}
-
diff --git a/doc/python_api/rst/info_tutorial_addon.rst b/doc/python_api/rst/info_tutorial_addon.rst
deleted file mode 100644
index 92fbf9b8787..00000000000
--- a/doc/python_api/rst/info_tutorial_addon.rst
+++ /dev/null
@@ -1,635 +0,0 @@
-
-Add-on Tutorial
-###############
-
-************
-Introduction
-************
-
-
-Intended Audience
-=================
-
-This tutorial is designed to help technical artists or developers learn to extend Blender.
-An understanding of the basics of Python is expected for those working through this tutorial.
-
-
-Prerequisites
--------------
-
-Before going through the tutorial you should...
-
-- Familiarity with the basics of working in Blender.
-- Know how to run a script in Blender's text editor (as documented in the quick-start)
-- Have an understanding of Python primitive types (int, boolean, string, list, tuple, dictionary, and set).
-- Be familiar with the concept of Python modules.
-- Basic understanding of classes (object orientation) in Python.
-
-
-Suggested reading before starting this tutorial.
-
-- `Dive Into Python <http://getpython3.com/diveintopython3/index.html>`_ sections (1, 2, 3, 4, and 7).
-- :ref:`Blender API Quickstart <info_quickstart>`
- to help become familiar with Blender/Python basics.
-
-
-To best troubleshoot any error message Python prints while writing scripts you run blender with from a terminal,
-see :ref:`Use The Terminal <use_the_terminal>`.
-
-
-Documentation Links
-===================
-
-While going through the tutorial you may want to look into our reference documentation.
-
-- :ref:`Blender API Overview <info_overview>`. -
- *This document is rather detailed but helpful if you want to know more on a topic.*
-- :mod:`bpy.context` api reference. -
- *Handy to have a list of available items your script may operate on.*
-- :class:`bpy.types.Operator`. -
- *The following add-ons define operators, these docs give details and more examples of operators.*
-
-
-*******
-Add-ons
-*******
-
-What is an Add-on?
-==================
-
-An add-on is simply a Python module with some additional requirements so Blender can display it in a list with useful
-information.
-
-To give an example, here is the simplest possible add-on.
-
-.. code-block:: python
-
- bl_info = {"name": "My Test Add-on", "category": "Object"}
- def register():
- print("Hello World")
- def unregister():
- print("Goodbye World")
-
-
-- ``bl_info`` is a dictionary containing add-on metadata such as the title,
- version and author to be displayed in the user preferences add-on list.
-- ``register`` is a function which only runs when enabling the add-on,
- this means the module can be loaded without activating the add-on.
-- ``unregister`` is a function to unload anything setup by ``register``, this is called when the add-on is disabled.
-
-
-Notice this add-on does not do anything related to Blender, (the :mod:`bpy` module is not imported for example).
-
-This is a contrived example of an add-on that serves to illustrate the point
-that the base requirements of an add-on are simple.
-
-An add-on will typically register operators, panels, menu items etc, but its worth noting that _any_ script can do this,
-when executed from the text editor or even the interactive console - there is nothing inherently different about an
-add-on that allows it to integrate with Blender, such functionality is just provided by the :mod:`bpy` module for any
-script to access.
-
-So an add-on is just a way to encapsulate a Python module in a way a user can easily utilize.
-
-.. note::
-
- Running this script within the text editor won't print anything,
- to see the output it must be installed through the user preferences.
- Messages will be printed when enabling and disabling.
-
-
-Your First Add-on
-=================
-
-The simplest possible add-on above is useful as an example but not much else.
-This next add-on is simple but shows how to integrate a script into Blender using an ``Operator``
-which is the typical way to define a tool accessed from menus, buttons and keyboard shortcuts.
-
-For the first example we will make a script that simply moves all objects in a scene.
-
-
-Write The Script
-----------------
-
-Add the following script to the text editor in Blender.
-
-.. code-block:: python
-
- import bpy
-
- scene = bpy.context.scene
- for obj in scene.objects:
- obj.location.x += 1.0
-
-
-Click the :ref:`Run Script button <blender_manual:editors-text-run-script>`,
-all objects in the active scene are moved by 1.0 Blender unit.
-
-
-Write the Add-on (Simple)
--------------------------
-
-This add-on takes the body of the script above, and adds them to an operator's ``execute()`` function.
-
-
-.. code-block:: python
-
- bl_info = {
- "name": "Move X Axis",
- "category": "Object",
- }
-
- import bpy
-
-
- class ObjectMoveX(bpy.types.Operator):
- """My Object Moving Script""" # blender will use this as a tooltip for menu items and buttons.
- bl_idname = "object.move_x" # unique identifier for buttons and menu items to reference.
- bl_label = "Move X by One" # display name in the interface.
- bl_options = {'REGISTER', 'UNDO'} # enable undo for the operator.
-
- def execute(self, context): # execute() is called by blender when running the operator.
-
- # The original script
- scene = context.scene
- for obj in scene.objects:
- obj.location.x += 1.0
-
- return {'FINISHED'} # this lets blender know the operator finished successfully.
-
- def register():
- bpy.utils.register_class(ObjectMoveX)
-
-
- def unregister():
- bpy.utils.unregister_class(ObjectMoveX)
-
-
- # This allows you to run the script directly from blenders text editor
- # to test the add-on without having to install it.
- if __name__ == "__main__":
- register()
-
-
-.. note::
-
- ``bl_info`` is split across multiple lines, this is just a style convention used to more easily add items.
-
-.. note::
-
- Rather than using ``bpy.context.scene``, we use the ``context.scene`` argument passed to ``execute()``.
- In most cases these will be the same however in some cases operators will be passed a custom context
- so script authors should prefer the ``context`` argument passed to operators.
-
-To test the script you can copy and paste this into Blender text editor and run it, this will execute the script
-directly and call register immediately.
-
-However running the script wont move any objects, for this you need to execute the newly registered operator.
-
-.. image:: spacebar.png
- :width: 924px
- :align: center
- :height: 574px
- :alt: Spacebar
-
-Do this by pressing :kbd:`Spacebar` to bring up the operator search dialog and type in
-"Move X by One" (the ``bl_label``), then :kbd:`Enter`.
-
-
-
-The objects should move as before.
-
-*Keep this add-on open in Blender for the next step - Installing.*
-
-
-Install The Add-on
-------------------
-
-Once you have your add-on within in Blender's text editor,
-you will want to be able to install it so it can be enabled in the user preferences to load on startup.
-
-Even though the add-on above is a test, lets go through the steps anyway so you know how to do it for later.
-
-To install the Blender text as an add-on you will first have to save it to disk, take care to obey the naming
-restrictions that apply to Python modules and end with a ``.py`` extension.
-
-Once the file is on disk, you can install it as you would for an add-on downloaded online.
-
-Open the user :menuselection:`File --> User Preferences`,
-Select the *Add-on* section, press *Install Add-on...* and select the file.
-
-Now the add-on will be listed and you can enable it by pressing the check-box,
-if you want it to be enabled on restart, press *Save as Default*.
-
-.. note::
-
- The destination of the add-on depends on your Blender configuration.
- When installing an add-on the source and destination path are printed in the console.
- You can also find add-on path locations by running this in the Python console.
-
- .. code-block:: python
-
- import addon_utils
- print(addon_utils.paths())
-
- More is written on this topic here:
- :ref:`Directory Layout <blender_manual:getting-started_installing-config-directories>`.
-
-
-Your Second Add-on
-==================
-
-For our second add-on, we will focus on object instancing - this is - to make linked copies of an object in a
-similar way to what you may have seen with the array modifier.
-
-
-Write The Script
-----------------
-
-As before, first we will start with a script, develop it, then convert into an add-on.
-
-.. code-block:: python
-
- import bpy
- from bpy import context
-
- # Get the current scene
- scene = context.scene
-
- # Get the 3D cursor
- cursor = scene.cursor_location
-
- # Get the active object (assume we have one)
- obj = scene.objects.active
-
- # Now make a copy of the object
- obj_new = obj.copy()
-
- # The object won't automatically get into a new scene
- scene.objects.link(obj_new)
-
- # Now we can place the object
- obj_new.location = cursor
-
-
-Now try copy this script into Blender and run it on the default cube.
-Make sure you click to move the 3D cursor before running as the duplicate will appear at the cursor's location.
-
-
-... go off and test ...
-
-
-After running, notice that when you go into edit-mode to change the cube - all of the copies change,
-in Blender this is known as *Linked-Duplicates*.
-
-
-Next, we're going to do this in a loop, to make an array of objects between the active object and the cursor.
-
-
-.. code-block:: python
-
- import bpy
- from bpy import context
-
- scene = context.scene
- cursor = scene.cursor_location
- obj = scene.objects.active
-
- # Use a fixed value for now, eventually make this user adjustable
- total = 10
-
- # Add 'total' objects into the scene
- for i in range(total):
- obj_new = obj.copy()
- scene.objects.link(obj_new)
-
- # Now place the object in between the cursor
- # and the active object based on 'i'
- factor = i / total
- obj_new.location = (obj.location * factor) + (cursor * (1.0 - factor))
-
-
-Try run this script with with the active object and the cursor spaced apart to see the result.
-
-With this script you'll notice we're doing some math with the object location and cursor, this works because both are
-3D :class:`mathutils.Vector` instances, a convenient class provided by the :mod:`mathutils` module and
-allows vectors to be multiplied by numbers and matrices.
-
-If you are interested in this area, read into :class:`mathutils.Vector` - there are many handy utility functions
-such as getting the angle between vectors, cross product, dot products
-as well as more advanced functions in :mod:`mathutils.geometry` such as Bézier Spline interpolation and
-ray-triangle intersection.
-
-For now we will focus on making this script an add-on, but its good to know that this 3D math module is available and
-can help you with more advanced functionality later on.
-
-
-Write the Add-on
-----------------
-
-The first step is to convert the script as-is into an add-on.
-
-
-.. code-block:: python
-
- bl_info = {
- "name": "Cursor Array",
- "category": "Object",
- }
-
- import bpy
-
-
- class ObjectCursorArray(bpy.types.Operator):
- """Object Cursor Array"""
- bl_idname = "object.cursor_array"
- bl_label = "Cursor Array"
- bl_options = {'REGISTER', 'UNDO'}
-
- def execute(self, context):
- scene = context.scene
- cursor = scene.cursor_location
- obj = scene.objects.active
-
- total = 10
-
- for i in range(total):
- obj_new = obj.copy()
- scene.objects.link(obj_new)
-
- factor = i / total
- obj_new.location = (obj.location * factor) + (cursor * (1.0 - factor))
-
- return {'FINISHED'}
-
- def register():
- bpy.utils.register_class(ObjectCursorArray)
-
-
- def unregister():
- bpy.utils.unregister_class(ObjectCursorArray)
-
-
- if __name__ == "__main__":
- register()
-
-
-Everything here has been covered in the previous steps, you may want to try run the add-on still
-and consider what could be done to make it more useful.
-
-
-... go off and test ...
-
-
-The two of the most obvious missing things are - having the total fixed at 10, and having to access the operator from
-space-bar is not very convenient.
-
-Both these additions are explained next, with the final script afterwards.
-
-
-Operator Property
-^^^^^^^^^^^^^^^^^
-
-There are a variety of property types that are used for tool settings, common property types include:
-int, float, vector, color, boolean and string.
-
-These properties are handled differently to typical Python class attributes
-because Blender needs to be display them in the interface,
-store their settings in key-maps and keep settings for re-use.
-
-While this is handled in a fairly Pythonic way, be mindful that you are in fact defining tool settings that
-are loaded into Blender and accessed by other parts of Blender, outside of Python.
-
-
-To get rid of the literal 10 for `total`, we'll us an operator property.
-Operator properties are defined via bpy.props module, this is added to the class body.
-
-.. code-block:: python
-
- # moved assignment from execute() to the body of the class...
- total = bpy.props.IntProperty(name="Steps", default=2, min=1, max=100)
-
- # and this is accessed on the class
- # instance within the execute() function as...
- self.total
-
-
-These properties from :mod:`bpy.props` are handled specially by Blender when the class is registered
-so they display as buttons in the user interface.
-There are many arguments you can pass to properties to set limits, change the default and display a tooltip.
-
-.. seealso:: :mod:`bpy.props.IntProperty`
-
-This document doesn't go into details about using other property types,
-however the link above includes examples of more advanced property usage.
-
-
-Menu Item
-^^^^^^^^^
-
-Add-ons can add to the user interface of existing panels, headers and menus defined in Python.
-
-For this example we'll add to an existing menu.
-
-.. image:: menu_id.png
- :width: 334px
- :align: center
- :height: 128px
- :alt: Menu Identifier
-
-To find the identifier of a menu you can hover your mouse over the menu item and the identifier is displayed.
-
-The method used for adding a menu item is to append a draw function into an existing class.
-
-
-.. code-block:: python
-
- def menu_func(self, context):
- self.layout.operator(ObjectCursorArray.bl_idname)
-
- def register():
- bpy.types.VIEW3D_MT_object.append(menu_func)
-
-
-For docs on extending menus see: :doc:`bpy.types.Menu`.
-
-
-Keymap
-^^^^^^
-
-In Blender, add-ons have their own keymaps so as not to interfere with Blenders built in key-maps.
-
-In the example below, a new object-mode :class:`bpy.types.KeyMap` is added,
-then a :class:`bpy.types.KeyMapItem` is added to the key-map which references our newly added operator,
-using :kbd:`Ctrl-Shift-Space` as the key shortcut to activate it.
-
-
-.. code-block:: python
-
- # store keymaps here to access after registration
- addon_keymaps = []
-
- def register():
-
- # handle the keymap
- wm = bpy.context.window_manager
- km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
-
- kmi = km.keymap_items.new(ObjectCursorArray.bl_idname, 'SPACE', 'PRESS', ctrl=True, shift=True)
- kmi.properties.total = 4
-
- addon_keymaps.append((km, kmi))
-
-
- def unregister():
-
- # handle the keymap
- for km, kmi in addon_keymaps:
- km.keymap_items.remove(kmi)
- addon_keymaps.clear()
-
-
-Notice how the key-map item can have a different ``total`` setting then the default set by the operator,
-this allows you to have multiple keys accessing the same operator with different settings.
-
-
-.. note::
-
- While :kbd:`Ctrl-Shift-Space` isn't a default Blender key shortcut, its hard to make sure add-ons won't
- overwrite each others keymaps, At least take care when assigning keys that they don't
- conflict with important functionality within Blender.
-
-For API documentation on the functions listed above, see:
-:class:`bpy.types.KeyMaps.new`,
-:class:`bpy.types.KeyMap`,
-:class:`bpy.types.KeyMapItems.new`,
-:class:`bpy.types.KeyMapItem`.
-
-
-Bringing it all together
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. code-block:: python
-
- bl_info = {
- "name": "Cursor Array",
- "category": "Object",
- }
-
- import bpy
-
-
- class ObjectCursorArray(bpy.types.Operator):
- """Object Cursor Array"""
- bl_idname = "object.cursor_array"
- bl_label = "Cursor Array"
- bl_options = {'REGISTER', 'UNDO'}
-
- total = bpy.props.IntProperty(name="Steps", default=2, min=1, max=100)
-
- def execute(self, context):
- scene = context.scene
- cursor = scene.cursor_location
- obj = scene.objects.active
-
- for i in range(self.total):
- obj_new = obj.copy()
- scene.objects.link(obj_new)
-
- factor = i / self.total
- obj_new.location = (obj.location * factor) + (cursor * (1.0 - factor))
-
- return {'FINISHED'}
-
-
- def menu_func(self, context):
- self.layout.operator(ObjectCursorArray.bl_idname)
-
- # store keymaps here to access after registration
- addon_keymaps = []
-
-
- def register():
- bpy.utils.register_class(ObjectCursorArray)
- bpy.types.VIEW3D_MT_object.append(menu_func)
-
- # handle the keymap
- wm = bpy.context.window_manager
- # Note that in background mode (no GUI available), keyconfigs are not available either, so we have to check this
- # to avoid nasty errors in background case.
- kc = wm.keyconfigs.addon
- if kc:
- km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
- kmi = km.keymap_items.new(ObjectCursorArray.bl_idname, 'SPACE', 'PRESS', ctrl=True, shift=True)
- kmi.properties.total = 4
- addon_keymaps.append((km, kmi))
-
- def unregister():
- # Note: when unregistering, it's usually good practice to do it in reverse order you registered.
- # Can avoid strange issues like keymap still referring to operators already unregistered...
- # handle the keymap
- for km, kmi in addon_keymaps:
- km.keymap_items.remove(kmi)
- addon_keymaps.clear()
-
- bpy.utils.unregister_class(ObjectCursorArray)
- bpy.types.VIEW3D_MT_object.remove(menu_func)
-
-
- if __name__ == "__main__":
- register()
-
-.. image:: in_menu.png
- :width: 591px
- :align: center
- :height: 649px
- :alt: In the menu
-
-Run the script (or save it and add it through the Preferences like before) and it will appear in the menu.
-
-.. image:: op_prop.png
- :width: 669px
- :align: center
- :height: 644px
- :alt: Operator Property
-
-After selecting it from the menu, you can choose how many instance of the cube you want created.
-
-
-.. note::
-
- Directly executing the script multiple times will add the menu each time too.
- While not useful behavior, theres nothing to worry about since add-ons won't register them selves multiple
- times when enabled through the user preferences.
-
-
-Conclusions
-===========
-
-Add-ons can encapsulate certain functionality neatly for writing tools to improve your work-flow or for writing utilities
-for others to use.
-
-While there are limits to what Python can do within Blender, there is certainly a lot that can be achieved without
-having to dive into Blender's C/C++ code.
-
-The example given in the tutorial is limited, but shows the Blender API used for common tasks that you can expand on
-to write your own tools.
-
-
-Further Reading
----------------
-
-Blender comes commented templates which are accessible from the text editor header, if you have specific areas
-you want to see example code for, this is a good place to start.
-
-
-Here are some sites you might like to check on after completing this tutorial.
-
-- :ref:`Blender/Python API Overview <info_overview>` -
- *For more background details on Blender/Python integration.*
-- `How to Think Like a Computer Scientist <http://interactivepython.org/courselib/static/thinkcspy/index.html>`_ -
- *Great info for those who are still learning Python.*
-- `Blender Development (Wiki) <https://wiki.blender.org/index.php/Dev:Contents>`_ -
- *Blender Development, general information and helpful links.*
-- `Blender Artists (Coding Section) <https://blenderartists.org/forum/forumdisplay.php?47-Coding>`_ -
- *forum where people ask Python development questions*
-