Class Option Recommendations

Below, is a list of classes that may be updated with final or abstract.
The red stars mention possible upgrade by using final or abstract keywords; The green stars mention a valid absence of the option (an extended class, that can't be final, ...); The absence of star report currently configured classes. .

Final Abstract Name Path
class SyncHelper \composer\util\synchelper
class ErrorHandler \composer\util\errorhandler
class RemoteFilesystem \composer\util\remotefilesystem
class Hg \composer\util\hg
class ProcessExecutor \composer\util\processexecutor
class MetadataMinifier extends \Composer\MetadataMinifier\MetadataMinifier \composer\util\metadataminifier
class Perforce \composer\util\perforce
class Url \composer\util\url
class Versions \composer\selfupdate\versions
class JsonConfigSource implements ConfigSourceInterface \composer\config\jsonconfigsource
class ProxyItem \composer\util\http\proxyitem
class CurlResponse extends Response \composer\util\http\curlresponse
class CurlDownloader \composer\util\http\curldownloader
class RequestProxy \composer\util\http\requestproxy
class ProxyManager \composer\util\http\proxymanager
class Loop \composer\util\loop
class NullIO extends BaseIO \composer\io\nullio
class BufferIO extends ConsoleIO \composer\io\bufferio
class Version \composer\platform\version
class HhvmDetector \composer\platform\hhvmdetector
class Runtime \composer\platform\runtime
class EventDispatcher \composer\eventdispatcher\eventdispatcher
class ScriptExecutionException extends \RuntimeException \composer\eventdispatcher\scriptexecutionexception
class Keys \composer\selfupdate\keys
class PrePoolCreateEvent extends Event \composer\plugin\prepoolcreateevent
class PostFileDownloadEvent extends Event \composer\plugin\postfiledownloadevent
class PreFileDownloadEvent extends Event \composer\plugin\prefiledownloadevent
class PluginManager \composer\plugin\pluginmanager
class CommandEvent extends Event \composer\plugin\commandevent
class PluginBlockedException extends UnexpectedValueException \composer\plugin\pluginblockedexception
class PreCommandRunEvent extends Event \composer\plugin\precommandrunevent
class PluginEvents \composer\plugin\pluginevents
class HgDownloader extends VcsDownloader \composer\downloader\hgdownloader
class XzDownloader extends ArchiveDownloader \composer\downloader\xzdownloader
class MaxFileSizeExceededException extends TransportException \composer\downloader\maxfilesizeexceededexception
class FossilDownloader extends VcsDownloader \composer\downloader\fossildownloader
class TarDownloader extends ArchiveDownloader \composer\downloader\tardownloader
class DownloadManager \composer\downloader\downloadmanager
class FilesystemException extends \Exception \composer\downloader\filesystemexception
class RarDownloader extends ArchiveDownloader \composer\downloader\rardownloader
class Event extends BaseEvent \composer\script\event
class GzipDownloader extends ArchiveDownloader \composer\downloader\gzipdownloader
class ZipDownloader extends ArchiveDownloader \composer\downloader\zipdownloader
class GitDownloader extends VcsDownloader implements DvcsDownloaderInterface \composer\downloader\gitdownloader
class PerforceDownloader extends VcsDownloader \composer\downloader\perforcedownloader
class PathDownloader extends FileDownloader implements VcsCapableDownloaderInterface \composer\downloader\pathdownloader
class PharDownloader extends ArchiveDownloader \composer\downloader\phardownloader
class SvnDownloader extends VcsDownloader \composer\downloader\svndownloader
class RuleWatchGraph \composer\dependencyresolver\rulewatchgraph
class LocalRepoTransaction extends Transaction \composer\dependencyresolver\localrepotransaction
class JsonManipulator \composer\json\jsonmanipulator
class JsonFile \composer\json\jsonfile
class JsonFormatter \composer\json\jsonformatter
class JsonValidationException extends Exception \composer\json\jsonvalidationexception
class StrictConfirmationQuestion extends Question \composer\question\strictconfirmationquestion
class ScriptEvents \composer\script\scriptevents
class RuleWatchNode \composer\dependencyresolver\rulewatchnode
class DefaultPolicy implements PolicyInterface \composer\dependencyresolver\defaultpolicy
class SolverBugException extends \RuntimeException \composer\dependencyresolver\solverbugexception
class SolverProblemsException extends \RuntimeException \composer\dependencyresolver\solverproblemsexception
class Rule2Literals extends Rule \composer\dependencyresolver\rule2literals
class Solver \composer\dependencyresolver\solver
class LockTransaction extends Transaction \composer\dependencyresolver\locktransaction
class GenericRule extends Rule \composer\dependencyresolver\genericrule
class PoolBuilder \composer\dependencyresolver\poolbuilder
class Decisions implements \Iterator, \Countable \composer\dependencyresolver\decisions
class RuleSetGenerator \composer\dependencyresolver\rulesetgenerator
class PoolOptimizer \composer\dependencyresolver\pooloptimizer
class Request \composer\dependencyresolver\request
class MultiConflictRule extends Rule \composer\dependencyresolver\multiconflictrule
class Pool implements \Countable \composer\dependencyresolver\pool
class RuleSet implements \IteratorAggregate, \Countable \composer\dependencyresolver\ruleset
class MarkAliasUninstalledOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\markaliasuninstalledoperation
class UninstallOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\uninstalloperation
class UpdateOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\updateoperation
class MarkAliasInstalledOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\markaliasinstalledoperation
class InstallOperation extends SolverOperation implements OperationInterface \composer\dependencyresolver\operation\installoperation
class RuleWatchChain extends \SplDoublyLinkedList \composer\dependencyresolver\rulewatchchain
class RuleSetIterator implements \Iterator \composer\dependencyresolver\rulesetiterator
class Problem \composer\dependencyresolver\problem
class ValidateCommand extends BaseCommand \composer\command\validatecommand
class AuditCommand extends BaseCommand \composer\command\auditcommand
class ArchiveCommand extends BaseCommand \composer\command\archivecommand
class SearchCommand extends BaseCommand \composer\command\searchcommand
class SuggestsCommand extends BaseCommand \composer\command\suggestscommand
class ClassMapGenerator \composer\autoload\classmapgenerator
class ClassLoader \composer\autoload\classloader
class AutoloadGenerator \composer\autoload\autoloadgenerator
class RemoveCommand extends BaseCommand \composer\command\removecommand
class ReinstallCommand extends BaseCommand \composer\command\reinstallcommand
class HomeCommand extends BaseCommand \composer\command\homecommand
class DumpAutoloadCommand extends BaseCommand \composer\command\dumpautoloadcommand
class OutdatedCommand extends BaseCommand \composer\command\outdatedcommand
class CreateProjectCommand extends BaseCommand \composer\command\createprojectcommand
class ScriptAliasCommand extends BaseCommand \composer\command\scriptaliascommand
class FundCommand extends BaseCommand \composer\command\fundcommand
class StatusCommand extends BaseCommand \composer\command\statuscommand
class UpdateCommand extends BaseCommand \composer\command\updatecommand
class LicensesCommand extends BaseCommand \composer\command\licensescommand
class ConfigCommand extends BaseCommand \composer\command\configcommand
class RunScriptCommand extends BaseCommand \composer\command\runscriptcommand
class InitCommand extends BaseCommand \composer\command\initcommand
class InstallCommand extends BaseCommand \composer\command\installcommand
class ShowCommand extends BaseCommand \composer\command\showcommand
class GlobalCommand extends BaseCommand \composer\command\globalcommand
class DiagnoseCommand extends BaseCommand \composer\command\diagnosecommand
class ClearCacheCommand extends BaseCommand \composer\command\clearcachecommand
class RequireCommand extends BaseCommand \composer\command\requirecommand
class SelfUpdateCommand extends BaseCommand \composer\command\selfupdatecommand
class CheckPlatformReqsCommand extends BaseCommand \composer\command\checkplatformreqscommand
class ProhibitsCommand extends BaseDependencyCommand \composer\command\prohibitscommand
class DependsCommand extends BaseDependencyCommand \composer\command\dependscommand
class InstallerEvent extends Event \composer\installer\installerevent
class PackageEvent extends Event \composer\installer\packageevent
class InstallerEvents \composer\installer\installerevents
class PluginInstaller extends LibraryInstaller \composer\installer\plugininstaller
class BinaryInstaller \composer\installer\binaryinstaller
class PackageEvents \composer\installer\packageevents
class ExecCommand extends BaseCommand \composer\command\execcommand
class AboutCommand extends BaseCommand \composer\command\aboutcommand
class IrrecoverableDownloadException extends \RuntimeException \composer\exception\irrecoverabledownloadexception
class IgnoredSecurityAdvisory extends SecurityAdvisory \composer\advisory\ignoredsecurityadvisory
class Auditor \composer\advisory\auditor
class NoopInstaller implements InstallerInterface \composer\installer\noopinstaller
class InstallationManager \composer\installer\installationmanager
class SuggestedPackagesReporter \composer\installer\suggestedpackagesreporter
class ProjectInstaller implements InstallerInterface \composer\installer\projectinstaller
class MetapackageInstaller implements InstallerInterface \composer\installer\metapackageinstaller
class PharArchiver implements ArchiverInterface \composer\package\archiver\phararchiver
class ArchivableFilesFinder extends FilterIterator \composer\package\archiver\archivablefilesfinder
class ArchiveManager \composer\package\archiver\archivemanager
class RootPackage extends CompletePackage implements RootPackageInterface \composer\package\rootpackage
class RootAliasPackage extends CompleteAliasPackage implements RootPackageInterface \composer\package\rootaliaspackage
class Locker \composer\package\locker
class Link \composer\package\link
class NoSslException extends \RuntimeException \composer\exception\nosslexception
class VersionSelector \composer\package\version\versionselector
class VersionGuesser \composer\package\version\versionguesser
class StabilityFilter \composer\package\version\stabilityfilter
class VersionBumper \composer\package\version\versionbumper
class ZipArchiver implements ArchiverInterface \composer\package\archiver\ziparchiver
class ComposerExcludeFilter extends BaseExcludeFilter \composer\package\archiver\composerexcludefilter
class GitExcludeFilter extends BaseExcludeFilter \composer\package\archiver\gitexcludefilter
class ArchivableFilesFilter extends FilterIterator \composer\package\archiver\archivablefilesfilter
class Application extends BaseApplication \composer\console\application
class ArrayDumper \composer\package\dumper\arraydumper
class Comparer \composer\package\comparer\comparer
class JsonLoader \composer\package\loader\jsonloader
class RootPackageLoader extends ArrayLoader \composer\package\loader\rootpackageloader
class InvalidPackageException extends \Exception \composer\package\loader\invalidpackageexception
class ValidatingArrayLoader implements LoaderInterface \composer\package\loader\validatingarrayloader
class VersionParser extends SemverVersionParser \composer\package\version\versionparser
class InputOption extends BaseInputOption \composer\console\input\inputoption
class InputArgument extends BaseInputArgument \composer\console\input\inputargument
class HtmlOutputFormatter extends OutputFormatter \composer\console\htmloutputformatter
class Composer extends PartialComposer \composer\composer
class Config \composer\config
class Cache \composer\cache
class Factory \composer\factory
class RepositoryFactory \composer\repository\repositoryfactory
class PlatformRepository extends ArrayRepository \composer\repository\platformrepository
class LockArrayRepository extends ArrayRepository \composer\repository\lockarrayrepository
class PackageRepository extends ArrayRepository \composer\repository\packagerepository
class InstalledFilesystemRepository extends FilesystemRepository implements InstalledRepositoryInterface \composer\repository\installedfilesystemrepository
class Compiler \composer\compiler
class Installer \composer\installer
class InstalledVersions \composer\installedversions
class RootPackageRepository extends ArrayRepository \composer\repository\rootpackagerepository
class ArtifactRepository extends ArrayRepository implements ConfigurableRepositoryInterface \composer\repository\artifactrepository
class RepositorySet \composer\repository\repositoryset
class PearRepository extends ArrayRepository \composer\repository\pearrepository
class ComposerRepository extends ArrayRepository implements ConfigurableRepositoryInterface, AdvisoryProviderInterface \composer\repository\composerrepository
class VcsRepository extends ArrayRepository implements ConfigurableRepositoryInterface \composer\repository\vcsrepository
class RepositorySecurityException extends \Exception \composer\repository\repositorysecurityexception
class RepositoryUtils \composer\repository\repositoryutils
class SvnDriver extends VcsDriver \composer\repository\vcs\svndriver
class GitHubDriver extends VcsDriver \composer\repository\vcs\githubdriver
class InvalidRepositoryException extends \Exception \composer\repository\invalidrepositoryexception
class InstalledArrayRepository extends WritableArrayRepository implements InstalledRepositoryInterface \composer\repository\installedarrayrepository
class InstalledRepository extends CompositeRepository \composer\repository\installedrepository
class FilterRepository implements RepositoryInterface, AdvisoryProviderInterface \composer\repository\filterrepository
class PathRepository extends ArrayRepository implements ConfigurableRepositoryInterface \composer\repository\pathrepository
class RepositoryManager \composer\repository\repositorymanager
class ConfigValidator \composer\util\configvalidator
class PackageSorter \composer\util\packagesorter
class FossilDriver extends VcsDriver \composer\repository\vcs\fossildriver
class GitLabDriver extends VcsDriver \composer\repository\vcs\gitlabdriver
class GitDriver extends VcsDriver \composer\repository\vcs\gitdriver
class GitBitbucketDriver extends VcsDriver \composer\repository\vcs\gitbitbucketdriver
class PerforceDriver extends VcsDriver \composer\repository\vcs\perforcedriver
class HgDriver extends VcsDriver \composer\repository\vcs\hgdriver
class Silencer \composer\util\silencer
class Zip \composer\util\zip
class AuthHelper \composer\util\authhelper
class PackageInfo \composer\util\packageinfo
class ComposerMirror \composer\util\composermirror
class NoProxyPattern \composer\util\noproxypattern
class Svn \composer\util\svn
class Git \composer\util\git
class Platform \composer\util\platform
class IniHelper \composer\util\inihelper
class HttpDownloader \composer\util\httpdownloader
class Bitbucket \composer\util\bitbucket
class GitLab \composer\util\gitlab
class GitHub \composer\util\github
class Tar \composer\util\tar
class Filesystem \composer\util\filesystem
class WritableArrayRepository extends ArrayRepository implements WritableRepositoryInterface \composer\repository\writablearrayrepository