At every release, Esri makes changes to existing tools and introduces new tools. These changes provide solutions to problems that were difficult to solve in previous releases and make tools more powerful and easier to use. The documentation for all standard toolboxes in ArcGIS contains a toolbox history topic that catalogs changes made to tools at every release. Below you'll find information on how to use and interpret these toolbox history topics.
For an example of a toolbox history topic, see Analysis toolbox history.
Esri strives to maintain backward compatibility. However, it's not always possible due to the new functionality being introduced. Here are the cases where backward compatibility may break:
- If a parameter was removed, old workflows that used the parameter will no longer work.
- If a parameter option was removed, old workflows that used the option may no longer work. In many cases, the option that was removed is replaced by another option and the tool knows what to do if the previous option was specified.
- If a parameter had a data type removed and your old workflow used inputs of that data type, the old workflow will not work in the new version.
- A license change may affect your workflow. Most license changes are downward (from Desktop Advanced to Desktop Standard, for example) which would not affect backward compatibility.
- An extension change may affect your workflow. Extension changes that affect existing workflows are rare.
- If a parameter's default value changed, it may affect your workflow. You'll need to examine your existing workflows to determine the effect of the default value change.
- If the order of parameters changed, scripts that use positional arguments may break.
Below is more information about changes cataloged in the history tables.
New at this version
The last row of each table always contains the release version at which the tool was introduced to the toolbox.
Ported / Not ported to ArcGIS Pro
If you're transitioning from ArcMap to ArcGIS Pro, you may need to know whether a tool in ArcMap is also available in ArcGIS Pro. The majority of tools found in version 10.3 were ported over to (that is, replicated and made available in) ArcGIS Pro version 1.0. Information about whether the tool was ported over from ArcMap to the ArcGIS Pro platform is usually contained in the first row of the table. Note that you can use the Analyze Tools For Pro tool to check whether your ArcMap models and scripts will run in ArcGIS Pro.
Information about tools ported from ArcMap to ArcGIS Pro is only available for ArcMap version 10.3 and 10.3.1. For example, if a tool was ported from ArcMap 10.4 to ArcGIS Pro, or was ported from ArcGIS Pro to ArcMap 10.4, that information is not recorded in the history tables.
A parameter option (also referred to as an enumerator) is a string that affects tool execution. For example, the join_attributes parameter of the Intersect tool has three options: ALL, NO_FID, and FID_ONLY. New options appear occasionally from release to release, and options may be removed. An option introduced in a later version (such as 10.4) cannot be used in an earlier version (such as 10.3).
Sometimes you'll see an option removed and replaced with a very similar option, such as Euclidean distance replaced with EUCLIDEAN_DISTANCE. In cases like this, the tool is programmed to accept either option and backward compatibility is not broken.
New and removed parameters
New parameters are almost always added as the last parameter so backward compatibility is maintained in scripts. However, sometimes the new parameter must be inserted between existing parameters and compatibility in scripts may be broken—you may have to edit your script to run in the later version. If a new parameter is inserted between existing parameters, it will be noted as a change in parameter order.
Removed parameters are rare. Scripts that use the removed parameter will have to be changed, but models should continue to run.
Parameter default value changes
Optional parameters have a default value—the value that will be used unless you change it. If there is a change to a parameter's default value, it may affect your existing models and scripts.
Parameter data type changes
A data type defines the permissible values for a parameter, such as the type of datasets (features, tables, networks, and so on). If a data type is removed at a version, it means that the parameter no longer accepts the dataset as input or output. You may have to change your models and scripts if they use the removed data type.
New parameters are almost always added as the last parameter and don't affect the order of existing parameters. In rare cases, the order of existing parameters may change, and scripts that use positional arguments may break. Instead of using positional arguments, you can use keyword arguments as shown below. Models will still execute as they are not dependent on parameter order.
# Positional arguments - skipping optional arguments using empty strings is dependent on
# the order of the optional parameters
arcpy.AddField_management("schools", "school_id", "LONG", "", "", "", "", "NON_NULLABLE")
# Keyword arguments - position doesn't matter
arcpy.AddField_management("schools", "school_id", "LONG", field_is_nullable="NON_NULLABLE")
Parameter name case
The name of a parameter may change case, for example, from In_Features to in_features. This change only affects scripts that use keyword arguments. In Python, keyword arguments are case sensitive.
A parameter type may change from required to optional or from optional to required. Changing from optional to required may affect existing workflows.
Tool licensing and extension
A licensing or extension change may affect existing workflows.
Starting with Pro 1.3, the history tables track changes to geoprocessing environment settings honored by each tool.
See the topic What is a deprecated tool? for more information.