# Deprecated API

## Contents

- Terminally Deprecated
- Interfaces
- Classes
- Enum Classes
- Fields
- Methods
- Constructors
- Enum Constants

- Terminally Deprecated Elements
  Element
  Description
  docking.action.DockingActionProviderIf
  use `Tool`
  docking.widgets.dialogs.TableChooserDialog
  This class has been replaced by `TableSelectionDialog`. At the time of writing, both classes are identical. This version introduced a naming conflict with another API. Thus, the new version better matches the existing dialog choosing API.
  docking.widgets.dialogs.TableChooserDialog(String, RowObjectTableModel<T>, boolean)
  see the class header
  docking.widgets.dialogs.TableChooserDialog.getSelectionItems()
  see the class header
  docking.widgets.fieldpanel.field.FlowLayoutTextField(FieldElement[], int, int, int, FieldHighlightFactory)
  use the constructor that takes a list
  docking.widgets.fieldpanel.field.VerticalLayoutTextField(FieldElement[], int, int, int, FieldHighlightFactory)
  use the constructor that takes a list
  docking.widgets.imagepanel.ImagePanel.getText()
  unused
  docking.widgets.imagepanel.ImagePanel.setText(String)
  unused
  docking.widgets.table.RowObject
  this class is no longer used and will be removed
  generic.test.AbstractGuiTest.waitForPostedSwingRunnables()
  Use `AbstractGuiTest.waitForSwing()` instead
  ghidra.app.cmd.function.ApplyFunctionSignatureCmd(Address, FunctionSignature, SourceType, boolean, boolean)
  ghidra.app.cmd.function.ApplyFunctionSignatureCmd(Address, FunctionSignature, SourceType, boolean, FunctionRenameOption)
  ghidra.app.plugin.ProgramPlugin(PluginTool, boolean, boolean)
  call `ProgramPlugin(PluginTool)` instead
  ghidra.app.plugin.ProgramPlugin(PluginTool, boolean, boolean, boolean)
  call `ProgramPlugin(PluginTool)` instead
  ghidra.app.services.GoToService.getOverrideService()
  ghidra.app.services.GoToService.setOverrideService(GoToOverrideService)
  ghidra.app.services.ProgramManager.releaseProgram(Program, Object)
  this method is no longer used by the system
  ghidra.app.services.ProgramManager.setPersistentOwner(Program, Object)
  this method is no longer used by the system
  ghidra.app.util.bin.RandomAccessByteProvider
  See `FileByteProvider` as replacement ByteProvider.
  ghidra.app.util.demangler.Demangler.demangle(String, boolean)
  see above
  ghidra.formats.gfilesystem.FileCache.performCacheMaintOnOldDirIfNeeded(File)
  Marked as deprecated to ensure this is removed in a few versions after most user's old-style cache dirs have been cleaned up.
  ghidra.framework.Platform.LINUX
  Use `Platform.LINUX_X86_32` instead.
  ghidra.framework.Platform.LINUX_64
  Use `Platform.LINUX_X86_64` instead.
  ghidra.framework.Platform.LINUX_UKNOWN
  Unknown architectures are not supported
  ghidra.framework.Platform.MAC_OSX_32
  Use `Platform.MAC_OSX_32` instead.
  ghidra.framework.Platform.MAC_OSX_64
  Use `Platform.MAC_X86_64` instead.
  ghidra.framework.Platform.MAC_UNKNOWN
  Use `Platform.MAC_X86_64` instead.
  ghidra.framework.Platform.WIN_64
  Use `Platform.WIN_X86_64` instead.
  ghidra.framework.Platform.WIN_UNKOWN
  Unknown architectures are not supported
  ghidra.framework.plugintool.PluginTool.addPlugins(String[])
  use `PluginTool.addPlugins(Collection)`
  ghidra.framework.plugintool.PluginTool.removePlugins(Plugin[])
  use `PluginTool.removePlugins(List)`
  ghidra.GhidraLauncher.main(String[])
  Use `Ghidra.main(String[])` instead
  ghidra.program.flatapi.FlatProgramAPI.analyze(Program)
  the method `FlatProgramAPI.analyzeAll(ghidra.program.model.listing.Program)` or `FlatProgramAPI.analyzeChanges(ghidra.program.model.listing.Program)` should be invoked. These separate methods were created to clarify their true behavior since many times it is only necessary to analyze changes and not the entire program which can take much longer and affect more of the program than is necessary.
  ghidra.program.flatapi.FlatProgramAPI.createFragment(ProgramModule, String, Address, Address)
  This method is deprecated because it did not allow you to include the largest possible address. Instead use the one that takes a start address and a length.
  ghidra.program.flatapi.FlatProgramAPI.createFragment(String, Address, Address)
  This method is deprecated because it did not allow you to include the largest possible address. Instead use the one that takes a start address and a length.
  ghidra.program.flatapi.FlatProgramAPI.createSymbol(Address, String, boolean)
  use `FlatProgramAPI.createLabel(Address, String, boolean)` instead. Deprecated in Ghidra 7.4
  ghidra.program.flatapi.FlatProgramAPI.createSymbol(Address, String, boolean, boolean, SourceType)
  use `FlatProgramAPI.createLabel(Address, String, boolean, SourceType)` instead. Deprecated in Ghidra 7.4
  ghidra.program.flatapi.FlatProgramAPI.getFunction(String)
  this method makes no sense in the new world order where function names no longer have to be unique. Use `FlatProgramAPI.getGlobalFunctions(String)` Deprecated in Ghidra 7.4
  ghidra.program.flatapi.FlatProgramAPI.getSymbol(String, Namespace)
  use `FlatProgramAPI.getSymbols(String, Namespace)`
  ghidra.program.flatapi.FlatProgramAPI.getSymbolAt(Address, String)
  Since the same label name can be at the same address if in a different namespace, this method is ambiguous. Use `FlatProgramAPI.getSymbolAt(Address, String, Namespace)` instead.
  ghidra.program.model.listing.Data.getComponentAt(int)
  method name has been changed to better reflect behavior. The method `Data.getComponentContaining(int)` should be used instead.
  ghidra.program.model.listing.Program.getAddressMap()
  Method intended for internal ProgramDB use and is not intended for general use. This method may be removed from this interface in a future release.
  ghidra.program.model.symbol.SymbolType.CODE
  use `SymbolType.LABEL` instead.
  ghidra.util.classfinder.ClassSearcher.search(boolean, TaskMonitor)
  use `ClassSearcher.search(TaskMonitor)` instead
  ghidra.util.Conv.BYTE_MASK
  `Byte.toUnsignedInt(byte)` will handle most use cases of this constant
  ghidra.util.Conv.byteToInt(byte)
  Use `Byte.toUnsignedInt(byte)` instead
  ghidra.util.Conv.byteToLong(byte)
  Use `Byte.toUnsignedLong(byte)` instead
  ghidra.util.Conv.byteToShort(byte)
  Use other built-ins like `Byte.toUnsignedInt(byte)`
  ghidra.util.Conv.INT_MASK
  `Integer.toUnsignedLong(int)` will handle most use cases of this constant
  ghidra.util.Conv.intToLong(int)
  Use `Integer.toUnsignedLong(int)` instead
  ghidra.util.Conv.SHORT_MASK
  `Short.toUnsignedInt(short)` will handle most use cases of this constant
  ghidra.util.Conv.shortToInt(short)
  Use `Short.toUnsignedInt(short)` instead
  ghidra.util.Conv.shortToLong(short)
  Use `Short.toUnsignedLong(short)` instead
  ghidra.util.Conv.toString(byte[])
  Use `new String(bytes, StandardCharSets.US_ASCII)` instead
  ghidra.util.graph.AddableLongDoubleHashtable
  ghidra.util.graph.Dominator
  ghidra.util.graph.SimpleWeightedDigraph
  ghidra.util.graph.Vertex
  ghidra.util.graph.WeightedDigraph
  ghidra.util.table.actions.MakeProgramSelectionAction(String, GhidraTable)
  use either of the other constructors
  ghidra.util.table.actions.MakeProgramSelectionAction.makeSelection(ActionContext)
  resources.icons.DisabledImageIconWrapper
  This class has been replaced by `DisabledImageIcon` since it extends `ImageIconWrapper` which has also been deprecated.
  resources.icons.ImageIconWrapper
  This class has been replaced by a series of classes that extend `LazyImageIcon`: `UrlImageIcon`, `DerivedImageIcon`, `BytesImageIcon`, `DisabledImageIcon`, and `ScaledImageIcon`. Pick the one that matches the constructor that was being used to create an ImageIconWrapper
  resources.icons.ScaledImageIconWrapper
  This class has been replaced by `ScaledImageIcon` since it extends `ImageIconWrapper` which has also been deprecated.

- Deprecated Interfaces
  Interface
  Description
  docking.action.DockingActionProviderIf
  use `Tool`
  ghidra.util.graph.GraphIterator
  ghidra.util.graph.KeyedObject
  ghidra.util.graph.KeyIndexableSet

- Deprecated Classes
  Class
  Description
  docking.widgets.dialogs.TableChooserDialog
  This class has been replaced by `TableSelectionDialog`. At the time of writing, both classes are identical. This version introduced a naming conflict with another API. Thus, the new version better matches the existing dialog choosing API.
  docking.widgets.table.RowObject
  this class is no longer used and will be removed
  ghidra.app.cmd.label.AddUniqueLabelCmd
  The need for this class is now unnecessary since duplicate labels are permitted
  ghidra.app.util.bin.RandomAccessByteProvider
  See `FileByteProvider` as replacement ByteProvider.
  ghidra.app.util.datatype.microsoft.RTTI1DataType
  Use of this dynamic data type class is no longer recommended. Instead a BaseClassDescriptor structure data type can be obtained using the Rtti1Model.
  ghidra.app.util.datatype.microsoft.RTTI2DataType
  Use of this dynamic data type class is no longer recommended. Instead an array of either pointers or displacements to BaseClassDescriptor structures can be obtained using the Rtti2Model.
  ghidra.app.util.datatype.microsoft.RTTI3DataType
  Use of this dynamic data type class is no longer recommended. Instead a ClassHierarchyDescriptor structure data type can be obtained using the Rtti3Model.
  ghidra.app.util.datatype.microsoft.RTTI4DataType
  Use of this dynamic data type class is no longer recommended. Instead a CompleteObjectLocator structure data type can be obtained using the Rtti4Model.
  ghidra.app.util.XReferenceUtil
  deprecated for 10.1; removal for 10.3 or later
  ghidra.program.database.util.SharedRangeMapDB
  This map class should not be used except by the OldFunctionMapDB class
  ghidra.program.model.listing.FunctionSignatureImpl
  FunctionDefinitionDataType should be used for defining a function signature
  ghidra.util.graph.AddableLongDoubleHashtable
  ghidra.util.graph.DepthFirstSearch
  ghidra.util.graph.DirectedGraph
  ghidra.util.graph.Dominator
  ghidra.util.graph.Edge
  ghidra.util.graph.KeyedObjectFactory
  ghidra.util.graph.Path
  ghidra.util.graph.SimpleWeightedDigraph
  ghidra.util.graph.Vertex
  ghidra.util.graph.WeightedDigraph
  resources.icons.DisabledImageIconWrapper
  This class has been replaced by `DisabledImageIcon` since it extends `ImageIconWrapper` which has also been deprecated.
  resources.icons.ImageIconWrapper
  This class has been replaced by a series of classes that extend `LazyImageIcon`: `UrlImageIcon`, `DerivedImageIcon`, `BytesImageIcon`, `DisabledImageIcon`, and `ScaledImageIcon`. Pick the one that matches the constructor that was being used to create an ImageIconWrapper
  resources.icons.ScaledImageIconWrapper
  This class has been replaced by `ScaledImageIcon` since it extends `ImageIconWrapper` which has also been deprecated.

- Deprecated Enum Classes
  Enum Class
  Description
  ghidra.program.model.data.GenericCallingConvention
  Calling convention name strings should be used instead of this class. `CompilerSpec` provides constants for those included in this enumeration and other setter/getter methods exist for using the string form.

- Deprecated Fields
  Field
  Description
  docking.DockingUtils.CONTROL_KEY_MODIFIER_MASK_DEPRECATED
  use instead `DockingUtils.CONTROL_KEY_MODIFIER_MASK`
  ghidra.program.model.data.DataType.VOID
  should use `VoidDataType.dataType` instead
  ghidra.program.model.symbol.Namespace.NAMESPACE_DELIMITER
  use `Namespace.DELIMITER`
  ghidra.program.model.symbol.RefType.DATA_IND
  use of this type is discouraged and may be eliminated in a future release. The type `RefType.DATA` should generally be used in place of this type.
  ghidra.program.model.symbol.SymbolType.CODE
  use `SymbolType.LABEL` instead.
  ghidra.util.Conv.BYTE_MASK
  `Byte.toUnsignedInt(byte)` will handle most use cases of this constant
  ghidra.util.Conv.INT_MASK
  `Integer.toUnsignedLong(int)` will handle most use cases of this constant
  ghidra.util.Conv.SHORT_MASK
  `Short.toUnsignedInt(short)` will handle most use cases of this constant
  ghidra.util.task.TaskMonitorAdapter.DUMMY_MONITOR
  use `TaskMonitor.DUMMY` instead

- Deprecated Methods
  Method
  Description
  docking.StatusBar.setStatusText(String, boolean)
  Call `StatusBar.setStatusText(String)` instead. Remove after 9.3
  docking.test.AbstractDockingTest.closeAllWindowsAndFrames()
  instead call the new `AbstractDockingTest.closeAllWindows()`
  docking.test.AbstractDockingTest.waitForComponentProvider(Window, Class<T>, int)
  Instead call one of the methods that does not take a timeout (we are standardizing timeouts). The timeouts passed to this method will be ignored in favor of the standard value.
  docking.test.AbstractDockingTest.waitForDialogComponent(Window, Class<T>, int)
  Instead call one of the methods that does not take a timeout (we are standardizing timeouts). The timeouts passed to this method will be ignored in favor of the standard value.
  docking.test.AbstractDockingTest.waitForJDialog(Window, String, int)
  use `AbstractDockingTest.waitForJDialog(String)` instead
  docking.test.AbstractDockingTest.waitForWindow(String, int)
  Instead call one of the methods that does not take a timeout (we are standardizing timeouts). The timeouts passed to this method will be ignored in favor of the standard value.
  docking.widgets.dialogs.TableChooserDialog.getSelectionItems()
  see the class header
  docking.widgets.filechooser.GhidraFileChooser.setFileSelectionMode(int)
  use instead `GhidraFileChooser.setFileSelectionMode(GhidraFileChooserMode)`
  docking.widgets.imagepanel.ImagePanel.getText()
  unused
  docking.widgets.imagepanel.ImagePanel.setText(String)
  unused
  docking.widgets.label.GHtmlLabel.setText(String)
  docking.widgets.label.GIconLabel.setText(String)
  docking.widgets.label.GLabel.setText(String)
  docking.widgets.ListSelectionTableDialog.setMultiSelectionMode(boolean)
  to be removed sometime after the 9.3 release
  generic.test.AbstractGuiTest.privatewaitForSwing_SwingSafe()
  This is not a test writer's method, but instead an infrastructure method.
  generic.test.AbstractGuiTest.waitForPostedSwingRunnables()
  Use `AbstractGuiTest.waitForSwing()` instead
  ghidra.app.plugin.processors.generic.Handle.isCodeAddress()
  ghidra.app.plugin.processors.sleigh.SleighLanguage.getDefaultPointerWordSize()
  Will be removed once we have better way to attach address spaces to pointer data-types
  ghidra.app.script.GhidraScriptProvider.fixupName(String)
  ghidra.app.script.GhidraScriptUtil.getExplodedCompiledSourceBundlePaths()
  accessing class file directly precludes OSGi wiring according to requirements and capabilities
  ghidra.app.services.BlockModelService.getActiveBlockModel()
  use getActiveBlockModel(Program) instead
  ghidra.app.services.BlockModelService.getActiveBlockModel(boolean)
  use getActiveBlockModel(Program, boolean) instead
  ghidra.app.services.BlockModelService.getActiveSubroutineModel()
  use getActiveSubroutineModel(Program) instead
  ghidra.app.services.BlockModelService.getActiveSubroutineModel(boolean)
  use getActiveSubroutineModel(Program) instead
  ghidra.app.services.BlockModelService.getNewModelByName(String)
  use getNewModelByName(String, Program) instead
  ghidra.app.services.BlockModelService.getNewModelByName(String, boolean)
  use getNewModelByName(String, Program, boolean) instead
  ghidra.app.services.DataTypeArchiveService.openArchive(DataTypeArchive)
  ghidra.app.services.DataTypeArchiveService.openArchive(File, boolean)
  ghidra.app.services.GoToService.getOverrideService()
  ghidra.app.services.GoToService.setOverrideService(GoToOverrideService)
  ghidra.app.services.ProgramManager.releaseProgram(Program, Object)
  this method is no longer used by the system
  ghidra.app.services.ProgramManager.setPersistentOwner(Program, Object)
  this method is no longer used by the system
  ghidra.app.util.cparser.C.SimpleCharStream.getColumn()
  ghidra.app.util.cparser.C.SimpleCharStream.getLine()
  ghidra.app.util.cparser.CPP.SimpleCharStream.getColumn()
  ghidra.app.util.cparser.CPP.SimpleCharStream.getLine()
  ghidra.app.util.datatype.microsoft.RTTIDataType.isValid(Program, Address, boolean, boolean)
  ghidra.app.util.demangler.Demangler.demangle(String, boolean)
  see above
  ghidra.app.util.importer.MessageLog.error(String, String)
  use `MessageLog.appendMsg(String)`
  ghidra.app.util.opinion.Loader.supportsLoadIntoProgram()
  use `Loader.supportsLoadIntoProgram(Program)` instead so you can restrict what types of `Program`s can get loaded into other types of `Program`s
  ghidra.app.util.PseudoData.getComponentAt(int)
  ghidra.formats.gfilesystem.FileCache.performCacheMaintOnOldDirIfNeeded(File)
  Marked as deprecated to ensure this is removed in a few versions after most user's old-style cache dirs have been cleaned up.
  ghidra.framework.plugintool.PluginTool.addPlugins(String[])
  use `PluginTool.addPlugins(Collection)`
  ghidra.framework.plugintool.PluginTool.removePlugins(Plugin[])
  use `PluginTool.removePlugins(List)`
  ghidra.framework.plugintool.PluginTool.showDialogOnActiveWindow(DialogComponentProvider)
  dialogs are now always shown over the active window when possible
  ghidra.framework.plugintool.util.PluginDescription.createPluginDescription(Class<?>, PluginStatus, String, String, String, String)
  ghidra.framework.plugintool.util.PluginDescription.createPluginDescription(Class<?>, PluginStatus, String, String, String, String, boolean)
  , use `@PluginInfo` instead.
  ghidra.GhidraLauncher.main(String[])
  Use `Ghidra.main(String[])` instead
  ghidra.program.database.ProgramDB.setEffectiveImageBase(Address)
  ghidra.program.flatapi.FlatProgramAPI.analyze(Program)
  the method `FlatProgramAPI.analyzeAll(ghidra.program.model.listing.Program)` or `FlatProgramAPI.analyzeChanges(ghidra.program.model.listing.Program)` should be invoked. These separate methods were created to clarify their true behavior since many times it is only necessary to analyze changes and not the entire program which can take much longer and affect more of the program than is necessary.
  ghidra.program.flatapi.FlatProgramAPI.createFragment(ProgramModule, String, Address, Address)
  This method is deprecated because it did not allow you to include the largest possible address. Instead use the one that takes a start address and a length.
  ghidra.program.flatapi.FlatProgramAPI.createFragment(String, Address, Address)
  This method is deprecated because it did not allow you to include the largest possible address. Instead use the one that takes a start address and a length.
  ghidra.program.flatapi.FlatProgramAPI.createSymbol(Address, String, boolean)
  use `FlatProgramAPI.createLabel(Address, String, boolean)` instead. Deprecated in Ghidra 7.4
  ghidra.program.flatapi.FlatProgramAPI.createSymbol(Address, String, boolean, boolean, SourceType)
  use `FlatProgramAPI.createLabel(Address, String, boolean, SourceType)` instead. Deprecated in Ghidra 7.4
  ghidra.program.flatapi.FlatProgramAPI.getFunction(String)
  this method makes no sense in the new world order where function names no longer have to be unique. Use `FlatProgramAPI.getGlobalFunctions(String)` Deprecated in Ghidra 7.4
  ghidra.program.flatapi.FlatProgramAPI.getSymbol(String, Namespace)
  use `FlatProgramAPI.getSymbols(String, Namespace)`
  ghidra.program.flatapi.FlatProgramAPI.getSymbolAt(Address, String)
  Since the same label name can be at the same address if in a different namespace, this method is ambiguous. Use `FlatProgramAPI.getSymbolAt(Address, String, Namespace)` instead.
  ghidra.program.model.block.SimpleBlockModel.getNumDestinations(CodeBlock, TaskMonitor)
  this method should be avoided since it repeats the work of the getDestinations iterator
  ghidra.program.model.block.SimpleBlockModel.getNumSources(CodeBlock, TaskMonitor)
  this method should be avoided since it repeats the work of the getSources iterator
  ghidra.program.model.block.SimpleDestReferenceIterator.getNumDestinations(CodeBlock, boolean, TaskMonitor)
  this method should be avoided since it repeats the work of the iterator
  ghidra.program.model.block.SimpleSourceReferenceIterator.getNumSources(CodeBlock, boolean, TaskMonitor)
  this method should be avoided since it repeats the work of the iterator
  ghidra.program.model.data.DataTypeManager.findDataType(String)
  use `DataTypeManager.getDataType(String)` or better yet `DataTypeManager.getDataType(DataTypePath)`
  ghidra.program.model.data.DataTypeManager.getDataTypesContaining(DataType)
  the method `DataType.getParents()` should be used instead. Use of `Set` implementations for containing DataTypes is also inefficient.
  ghidra.program.model.data.FunctionDefinition.setGenericCallingConvention(GenericCallingConvention)
  Use of `GenericCallingConvention` is deprecated since arbitrary calling convention names are now supported. `FunctionDefinition.setCallingConvention(String)` should be used.
  ghidra.program.model.lang.LanguageService.getLanguageDescriptions(Processor, Endian, Integer, String)
  use `LanguageService.getLanguageDescriptions(Processor)` instead
  ghidra.program.model.listing.Data.getComponentAt(int)
  method name has been changed to better reflect behavior. The method `Data.getComponentContaining(int)` should be used instead.
  ghidra.program.model.listing.Function.addParameter(Variable, SourceType)
  The use of this method is discouraged due to the potential injection of auto-parameters which are easily overlooked when considering parameter ordinal. The function signature should generally be adjusted with a single call to `Function.updateFunction(String, Variable, List, FunctionUpdateType, boolean, SourceType)`
  ghidra.program.model.listing.Function.getFunctionThunkAddresses()
  since many use cases will likely want a complete list of thunk functions a recursive search is generally needed (see `Function.getFunctionThunkAddresses(boolean)`). This method form may be removed in a future release.
  ghidra.program.model.listing.Function.insertParameter(int, Variable, SourceType)
  The use of this method is discouraged due to the potential injection of auto-parameters which are easily overlooked when considering parameter ordinal. The function signature should generally be adjusted with a single call to `Function.updateFunction(String, Variable, List, FunctionUpdateType, boolean, SourceType)`
  ghidra.program.model.listing.Function.moveParameter(int, int)
  The use of this method is discouraged. The function signature should generally be adjusted with a single call to `Function.updateFunction(String, Variable, List, FunctionUpdateType, boolean, SourceType)`
  ghidra.program.model.listing.Function.removeParameter(int)
  The use of this method is discouraged. The function signature should generally be adjusted with a single call to `Function.updateFunction(String, Variable, List, FunctionUpdateType, boolean, SourceType)`
  ghidra.program.model.listing.Program.getAddressMap()
  Method intended for internal ProgramDB use and is not intended for general use. This method may be removed from this interface in a future release.
  ghidra.program.model.listing.VariableUtilities.getThisParameter(Function, PrototypeModel)
  should rely on auto-param instead - try not to use this method which may be eliminated
  ghidra.program.model.mem.Memory.getInitializedAddressSet()
  ghidra.program.model.pcode.PcodeOverride.getPrimaryCallReference()
  ghidra.program.model.symbol.ExternalManager.getExternalLocation(Namespace, String)
  Use `ExternalManager.getExternalLocations(Namespace, String)` or `ExternalManager.getUniqueExternalLocation(Namespace, String)` since duplicate names may exist
  ghidra.program.model.symbol.ExternalManager.getExternalLocation(String, String)
  Use `ExternalManager.getExternalLocations(String, String)` or `ExternalManager.getUniqueExternalLocation(String, String)` since duplicate names may exist
  ghidra.python.PythonCodeCompletionFactory.newCodeCompletion(String, String, PyObject)
  use `PythonCodeCompletionFactory.newCodeCompletion(String, String, PyObject, String)` instead, it allows creation of substituting code completions
  ghidra.service.graph.GraphDisplay.setGraph(AttributedGraph, String, boolean, TaskMonitor)
  You should now use the form that takes in a `GraphDisplayOptions`
  ghidra.test.TestEnv.waitForDialogComponent(Class<T>, int)
  use instead `AbstractDockingTest.waitForDialogComponent(Class)`
  ghidra.test.TestEnv.waitForWindow(String, int)
  ghidra.util.classfinder.ClassSearcher.search(boolean, TaskMonitor)
  use `ClassSearcher.search(TaskMonitor)` instead
  ghidra.util.Conv.byteToInt(byte)
  Use `Byte.toUnsignedInt(byte)` instead
  ghidra.util.Conv.byteToLong(byte)
  Use `Byte.toUnsignedLong(byte)` instead
  ghidra.util.Conv.byteToShort(byte)
  Use other built-ins like `Byte.toUnsignedInt(byte)`
  ghidra.util.Conv.intToLong(int)
  Use `Integer.toUnsignedLong(int)` instead
  ghidra.util.Conv.shortToInt(short)
  Use `Short.toUnsignedInt(short)` instead
  ghidra.util.Conv.shortToLong(short)
  Use `Short.toUnsignedLong(short)` instead
  ghidra.util.Conv.toString(byte[])
  Use `new String(bytes, StandardCharSets.US_ASCII)` instead
  ghidra.util.NamingUtilities.findInvalidChar(String)
  this method may be removed in a subsequent release due to limited use and applicability (project names and project file names have different naming restrictions).
  ghidra.util.NamingUtilities.isValidName(String)
  method has been deprecated due to improper and widespread use. New methods include `NamingUtilities.isValidProjectName(String)` and `LocalFileSystem.testValidName(String,boolean)`.
  ghidra.util.table.actions.MakeProgramSelectionAction.makeSelection(ActionContext)
  ghidra.util.table.GhidraTable.installNavigation(GoToService, Navigatable)
  use `GhidraTable.installNavigation(ServiceProvider)` or `GhidraTable.installNavigation(ServiceProvider,Navigatable)`
  ghidra.util.task.TaskMonitor.checkCanceled()
  Use `TaskMonitor.checkCancelled()` instead
  ghidra.util.task.TaskMonitor.clearCanceled()
  Use `TaskMonitor.clearCancelled()` instead
  ghidra.util.task.TaskMonitorAdapter.checkCanceled()
  ghidra.util.task.WrappingTaskMonitor.checkCanceled()
  help.screenshot.AbstractScreenShotGenerator.address(long)
  use `AbstractScreenShotGenerator.addr(long)` instead
  help.screenshot.AbstractScreenShotGenerator.topOfListing(long)
  help.screenshot.GhidraScreenShotGenerator.saveToHelp(String, String)
  use instead `GhidraScreenShotGenerator.finished(File, String)`.
  help.screenshot.GhidraScreenShotGenerator.showImage(String, String)
  use instead `GhidraScreenShotGenerator.finished(File, String)`.
  help.screenshot.TutorialScreenShotGenerator.showImage()
  NOTE: Please do not remove this until we have decided how to create a showImage() method that is compatible with screenshots NOT in Help (ahem, Tutorial!!!).

- Deprecated Constructors
  Constructor
  Description
  docking.widgets.dialogs.TableChooserDialog(String, RowObjectTableModel<T>, boolean)
  see the class header
  docking.widgets.fieldpanel.field.FlowLayoutTextField(FieldElement[], int, int, int, FieldHighlightFactory)
  use the constructor that takes a list
  docking.widgets.fieldpanel.field.VerticalLayoutTextField(FieldElement[], int, int, int, FieldHighlightFactory)
  use the constructor that takes a list
  ghidra.app.cmd.function.ApplyFunctionSignatureCmd(Address, FunctionSignature, SourceType, boolean, boolean)
  ghidra.app.cmd.function.ApplyFunctionSignatureCmd(Address, FunctionSignature, SourceType, boolean, FunctionRenameOption)
  ghidra.app.cmd.refs.SetExternalRefCmd(Address, int, String, String, Address, SourceType)
  the other constructor form should be used with an appropriate RefType specified. `RefType.DATA` should be used for address table pointer references.
  ghidra.app.plugin.ProgramPlugin(PluginTool, boolean, boolean)
  call `ProgramPlugin(PluginTool)` instead
  ghidra.app.plugin.ProgramPlugin(PluginTool, boolean, boolean, boolean)
  call `ProgramPlugin(PluginTool)` instead
  ghidra.program.model.address.AddressSet(AddressFactory)
  use `AddressSet()` (will be kept until at least Ghidra 6.2)
  ghidra.program.model.address.AddressSet(AddressFactory, Address)
  use `AddressSet(Address)` (will be kept until at least Ghidra 6.2)
  ghidra.program.model.address.AddressSet(AddressFactory, AddressRange)
  use `AddressSet(AddressRange)` (will be kept until at least Ghidra 6.2)
  ghidra.program.model.address.AddressSet(AddressFactory, Address, Address)
  use `AddressSet(Address, Address)` (will be kept until at least Ghidra 6.2)
  ghidra.program.model.address.AddressSet(AddressFactory, AddressSetView)
  use `AddressSet(AddressSetView)` (will be kept until at least Ghidra 6.2)
  ghidra.util.table.actions.MakeProgramSelectionAction(String, GhidraTable)
  use either of the other constructors

- Deprecated Enum Constants
  Enum Constant
  Description
  ghidra.framework.Platform.LINUX
  Use `Platform.LINUX_X86_32` instead.
  ghidra.framework.Platform.LINUX_64
  Use `Platform.LINUX_X86_64` instead.
  ghidra.framework.Platform.LINUX_UKNOWN
  Unknown architectures are not supported
  ghidra.framework.Platform.MAC_OSX_32
  Use `Platform.MAC_OSX_32` instead.
  ghidra.framework.Platform.MAC_OSX_64
  Use `Platform.MAC_X86_64` instead.
  ghidra.framework.Platform.MAC_UNKNOWN
  Use `Platform.MAC_X86_64` instead.
  ghidra.framework.Platform.WIN_64
  Use `Platform.WIN_X86_64` instead.
  ghidra.framework.Platform.WIN_UNKOWN
  Unknown architectures are not supported