# Deprecated API

## Contents

- Deprecated Interfaces
- Deprecated Classes
- Deprecated Enums
- Deprecated Fields
- Deprecated Methods
- Deprecated Constructors

- Deprecated Interfaces
  Interface and Description
  io.vertx.ext.auth.oauth2.AccessToken
  io.vertx.ext.web.handler.AuthHandler New users should use `AuthenticationHandler`
  io.vertx.ext.auth.AuthOptions do not use this interface to create a provider, use the provider specific factory.
  io.vertx.ext.auth.AuthProvider This interface was quite opionated. The new alternative is to use one of the specific interfaces: `AuthenticationProvider` or `AuthorizationProvider`
  io.vertx.ext.sync.HandlerReceiverAdaptor This project will be removed with Quasar being effectively abandoned
  io.vertx.ext.auth.mongo.HashStrategy
  io.vertx.ext.auth.jdbc.JDBCAuth This class has been replaced by the class `JDBCAuthentication` for authentication and `JDBCAuthorization` for authorization
  io.vertx.ext.auth.jdbc.JDBCHashStrategy A P-H-C hashing strategy is available, this class should not be used anymore.
  io.vertx.ext.auth.oauth2.KeycloakHelper Use the `User` principal to access this data as this class is not guaranteed to be secure as no cryptographic signatures are verified.
  io.vertx.ext.auth.shiro.LDAPProviderConstants ShiroAuth has been replaced by `io.vertx.ext.auth.properties.PropertyFileAuthentication` and `io.vertx.ext.auth.ldap.LdapAuthentication`
  io.vertx.ext.auth.mongo.MongoAuth This class has been replaced by the class `MongoAuthentication` for authentication and `MongoAuthorization` for authorization
  io.vertx.ext.auth.oauth2.OAuth2RBAC use the new Authorization API `AuthorizationProvider`
  io.vertx.ext.auth.oauth2.OAuth2Response this interface was available before webclient was present, today it makes more sense to use a webclient to do http related calls.
  io.vertx.ext.auth.shiro.PropertiesProviderConstants ShiroAuth has been replaced by `io.vertx.ext.auth.properties.PropertyFileAuthentication` and `io.vertx.ext.auth.ldap.LdapAuthentication`
  io.vertx.ext.sync.Receiver This project will be removed with Quasar being effectively abandoned
  io.vertx.ext.auth.shiro.ShiroAuth ShiroAuth has been replaced by `io.vertx.ext.auth.properties.PropertyFileAuthentication` and `io.vertx.ext.auth.ldap.LdapAuthentication`
  io.vertx.ext.sync.SuspendableRunnable This project will be removed with Quasar being effectively abandoned
  io.vertx.ext.web.handler.VirtualHostHandler Use `Route.virtualHost(String)`

- Deprecated Classes
  Class and Description
  io.vertx.ext.auth.AbstractUser All user objects should be created using `User.create(JsonObject)`.
  io.vertx.ext.auth.jdbc.JDBCAuthOptions This class has been replaced by the class `JDBCAuthenticationOptions` for authentication and `JDBCAuthorizationOptions` for authorization
  io.vertx.core.logging.Logger see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.LoggerFactory see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.ext.auth.mongo.MongoAuthOptions This class has been replaced by the class `MongoAuthenticationOptions` for authentication and `MongoAuthorizationOptions` for authorization
  io.vertx.serviceproxy.ProxyHelper for a more robust proxy creation see: `ServiceBinder`
  io.vertx.serviceproxy.ServiceJWTInterceptor Use `ServiceAuthInterceptor` instead
  io.vertx.serviceproxy.generator.ServiceProxyProcessor use the `CodeGenProcessor` instead
  io.vertx.ext.auth.shiro.ShiroAuthOptions ShiroAuth has been replaced by `io.vertx.ext.auth.properties.PropertyFileAuthentication` and `io.vertx.ext.auth.ldap.LdapAuthentication`
  io.vertx.ext.sync.Sync This project will be removed with Quasar being effectively abandoned
  io.vertx.ext.sync.SyncVerticle This project will be removed with Quasar being effectively abandoned

- Deprecated Enums
  Enum and Description
  io.vertx.ext.auth.mongo.HashAlgorithm
  io.vertx.ext.auth.mongo.HashSaltStyle Please use the provided generic PHC strings at the column level
  io.vertx.ext.auth.shiro.ShiroAuthRealmType ShiroAuth has been replaced by `io.vertx.ext.auth.properties.PropertyFileAuthentication` and `io.vertx.ext.auth.ldap.LdapAuthentication`

- Deprecated Fields
  Field and Description
  io.vertx.ext.web.api.contract.RouterFactoryOptions.DEFAULT_MOUNT_VALIDATION_FAILURE_HANDLER Router Factory won't manage the validation errors anymore. You must use `Router.errorHandler(int, Handler)` with 400 error
  io.vertx.maven.resolver.ResolverImpl.REMOTE_SNAPSHOT_POLICY_SYS_PROP use `ResolverOptions.REMOTE_SNAPSHOT_POLICY_SYS_PROP` instead.

- Deprecated Methods
  Method and Description
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.accessToken(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.accessToken(JsonObject)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.acr(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.acr(JsonObject)
  io.vertx.ext.web.handler.AuthHandler.addAuthorities(Set<String>) this functionality is now handled by the new `AuthorizationProvider`
  io.vertx.rxjava.ext.web.handler.AuthHandler.addAuthorities(Set<String>)
  io.vertx.reactivex.ext.web.handler.AuthHandler.addAuthorities(Set<String>)
  io.vertx.ext.web.handler.AuthHandler.addAuthority(String) this functionality is now handled by the new `AuthorizationProvider`
  io.vertx.rxjava.ext.web.handler.AuthHandler.addAuthority(String)
  io.vertx.reactivex.ext.web.handler.AuthHandler.addAuthority(String)
  io.vertx.redis.client.RedisOptions.addEndpoint(String) see `RedisOptions.setConnectionString(String connectionString)` for a better naming
  io.vertx.ext.auth.JWTOptions.addScope(String) use the authorization api `AuthorizationProvider`
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.allowedOrigins(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.allowedOrigins(JsonObject)
  io.vertx.rxjava.ext.web.handler.AuthHandler.authenticateHeader(RoutingContext)
  io.vertx.reactivex.ext.web.handler.AuthHandler.authenticateHeader(RoutingContext)
  io.vertx.ext.web.handler.AuthHandler.authorize(User) this functionality is now handled by the new `AuthorizationProvider`
  io.vertx.rxjava.ext.web.handler.AuthHandler.authorize(User)
  io.vertx.reactivex.ext.web.handler.AuthHandler.authorize(User)
  io.vertx.ext.web.handler.AuthHandler.authorize(User, Handler<AsyncResult<Void>>) this functionality is now handled by the new `AuthorizationProvider`
  io.vertx.rxjava.ext.web.handler.AuthHandler.authorize(User, Handler<AsyncResult<Void>>)
  io.vertx.reactivex.ext.web.handler.AuthHandler.authorize(User, Handler<AsyncResult<Void>>)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.authTime(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.authTime(JsonObject)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Response.body()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Response.body()
  io.vertx.kafka.client.producer.RecordMetadata.checksum() As of Kafka 0.11.0. Because of the potential for message format conversion on the broker, the checksum returned by the broker may not match what was computed by the producer. It is therefore unsafe to depend on this checksum for end-to-end delivery guarantees. Additionally, message format v2 does not include a record-level checksum (for performance, the record checksum was replaced with a batch checksum). To maintain compatibility, a partial checksum computed from the record timestamp, serialized key size, and serialized value size is returned instead, but this should not be depended on for end-to-end reliability.
  io.vertx.kafka.client.consumer.KafkaConsumerRecord.checksum() As of Kafka 0.11.0. Because of the potential for message format conversion on the broker, the checksum returned by the broker may not match what was computed by the producer. It is therefore unsafe to depend on this checksum for end-to-end delivery guarantees. Additionally, message format v2 does not include a record-level checksum (for performance, the record checksum was replaced with a batch checksum). To maintain compatibility, a partial checksum computed from the record timestamp, serialized key size, and serialized value size is returned instead, but this should not be depended on for end-to-end reliability.
  io.vertx.rxjava.kafka.client.consumer.KafkaConsumerRecord.checksum()
  io.vertx.reactivex.kafka.client.consumer.KafkaConsumerRecord.checksum()
  io.vertx.ext.auth.User.clearCache() This method will be removed. Use `Authorizations.clear()`
  io.vertx.rxjava.ext.auth.User.clearCache()
  io.vertx.reactivex.ext.auth.User.clearCache()
  io.vertx.config.spi.ConfigStore.close(Handler<Void>) implement `ConfigStore.close()` instead
  io.vertx.junit5.VertxTestContext.completing() Use `VertxTestContext.succeedingThenComplete()` instead.
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.computeHash(String, String)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.computeHash(String, String)
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.computeHash(String, String, int)
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.computeHash(String, String, int)
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.computeHash(String, String, int)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.computeHash(String, String, int)
  io.vertx.ext.auth.ChainAuth.create()
  io.vertx.ext.web.handler.ChainAuthHandler.create() use `ChainAuthHandler.any()` instead.
  io.vertx.rxjava.ext.auth.ChainAuth.create()
  io.vertx.rxjava.ext.web.handler.ChainAuthHandler.create()
  io.vertx.reactivex.ext.auth.ChainAuth.create()
  io.vertx.reactivex.ext.web.handler.ChainAuthHandler.create()
  io.vertx.ext.auth.jdbc.JDBCAuthentication.create(JDBCClient, JDBCHashStrategy, JDBCAuthenticationOptions) This factory is only for backwards compatibility
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuthentication.create(JDBCClient, JDBCHashStrategy, JDBCAuthenticationOptions)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuthentication.create(JDBCClient, JDBCHashStrategy, JDBCAuthenticationOptions)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.create(MongoClient, JsonObject)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.create(MongoClient, JsonObject)
  io.vertx.rxjava.ext.web.handler.VirtualHostHandler.create(String, Handler<RoutingContext>)
  io.vertx.reactivex.ext.web.handler.VirtualHostHandler.create(String, Handler<RoutingContext>)
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.create(Vertx, JDBCClient)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.create(Vertx, JDBCClient)
  io.vertx.rxjava.ext.auth.shiro.ShiroAuth.create(Vertx, ShiroAuthOptions)
  io.vertx.reactivex.ext.auth.shiro.ShiroAuth.create(Vertx, ShiroAuthOptions)
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.createPBKDF2(Vertx)
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.createPBKDF2(Vertx)
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.createSHA512(Vertx)
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.createSHA512(Vertx)
  io.vertx.core.logging.Logger.debug(Object) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.debug(Object, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.debug(Object, Throwable) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.debug(Object, Throwable, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.ext.auth.oauth2.OAuth2Auth.decodeToken(String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.decodeToken(String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.decodeToken(String)
  io.vertx.ext.auth.oauth2.OAuth2Auth.decodeToken(String, Handler<AsyncResult<AccessToken>>)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.decodeToken(String, Handler<AsyncResult<AccessToken>>)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.decodeToken(String, Handler<AsyncResult<AccessToken>>)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.email(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.email(JsonObject)
  io.vertx.core.logging.Logger.error(Object) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.error(Object, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.error(Object, Throwable) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.error(Object, Throwable, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.junit5.VertxTestContext.failing() Use `VertxTestContext.failingThenComplete()` or `VertxTestContext.failing(Handler)`, for example `failing(e -> checkpoint.flag())`, `failing(e -> { more testing code })`, or `failing(e -> {})`.
  io.vertx.core.logging.Logger.fatal(Object) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.fatal(Object, Throwable) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.generateSalt()
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.generateSalt()
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.generateSalt()
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.generateSalt()
  io.vertx.config.spi.ConfigStore.get(Handler<AsyncResult<Buffer>>) implement `ConfigStore.get()` instead
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getCollectionName()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getCollectionName()
  io.vertx.core.logging.Logger.getDelegate() see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.DeploymentOptions.getExtraClasspath()
  io.vertx.ext.auth.oauth2.OAuth2Auth.getFlowType()
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.getFlowType()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.getFlowType()
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.getHashedStoredPwd(JsonArray)
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.getHashedStoredPwd(JsonArray)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getHashStrategy()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getHashStrategy()
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Response.getHeader(String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Response.getHeader(String)
  io.vertx.core.DeploymentOptions.getIsolatedClasses()
  io.vertx.core.DeploymentOptions.getIsolationGroup()
  io.vertx.ext.mail.MailConfig.getKeyStore() use `TCPSSLOptions.getTrustStoreOptions()`
  io.vertx.ext.mail.MailConfig.getKeyStorePassword() use `TCPSSLOptions.getTrustStoreOptions()`
  io.vertx.core.logging.LoggerFactory.getLogger(Class<?>) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.LoggerFactory.getLogger(String) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getPasswordCredentialField()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getPasswordCredentialField()
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getPasswordField()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getPasswordField()
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getPermissionField()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getPermissionField()
  io.vertx.ext.auth.jwt.JWTAuthOptions.getPermissionsClaimKey()
  io.vertx.ext.auth.PubSecKeyOptions.getPublicKey()
  io.vertx.core.cli.CommandLine.getRawValues(Option) use `CommandLine.getRawValuesForOption(Option)`
  io.vertx.rxjava.core.cli.CommandLine.getRawValues(Option)
  io.vertx.reactivex.core.cli.CommandLine.getRawValues(Option)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getRoleField()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getRoleField()
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.getSalt(JsonArray)
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.getSalt(JsonArray)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getSaltField()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getSaltField()
  io.vertx.ext.auth.JWTOptions.getScopeDelimiter() use the authorization api `AuthorizationProvider`
  io.vertx.ext.auth.JWTOptions.getScopes() use the authorization api `AuthorizationProvider`
  io.vertx.ext.auth.PubSecKeyOptions.getSecretKey()
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getUsernameCredentialField()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getUsernameCredentialField()
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.getUsernameField()
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.getUsernameField()
  io.vertx.ext.web.api.contract.RouterFactory.getValidationFailureHandler() Router Factory won't manage the validation errors anymore. You must use `Router.errorHandler(int, Handler)` with 400 error
  io.vertx.rxjava.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.getValidationFailureHandler()
  io.vertx.rxjava.ext.web.api.contract.RouterFactory.getValidationFailureHandler()
  io.vertx.reactivex.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.getValidationFailureHandler()
  io.vertx.reactivex.ext.web.api.contract.RouterFactory.getValidationFailureHandler()
  io.vertx.mqtt.MqttWill.getWillMessage() use `MqttWill.getWillMessageBytes()` instead
  io.vertx.ext.web.handler.sockjs.SockJSHandler.handle(RoutingContext) mount the router as a sub-router instead. This method will not properly handle errors.
  io.vertx.rxjava.ext.web.handler.AuthHandler.handle(RoutingContext)
  io.vertx.rxjava.ext.web.handler.sockjs.SockJSHandler.handle(RoutingContext)
  io.vertx.rxjava.ext.web.handler.VirtualHostHandler.handle(RoutingContext)
  io.vertx.reactivex.ext.web.handler.AuthHandler.handle(RoutingContext)
  io.vertx.reactivex.ext.web.handler.sockjs.SockJSHandler.handle(RoutingContext)
  io.vertx.reactivex.ext.web.handler.VirtualHostHandler.handle(RoutingContext)
  io.vertx.ext.auth.JWTOptions.hasScopeDelimiter() use the authorization api `AuthorizationProvider`
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Response.headers()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Response.headers()
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.idToken(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.idToken(JsonObject)
  io.vertx.core.logging.Logger.info(Object) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.info(Object, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.info(Object, Throwable) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.info(Object, Throwable, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.insertUser(String, String, List<String>, List<String>)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.insertUser(String, String, List<String>, List<String>)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.insertUser(String, String, List<String>, List<String>, Handler<AsyncResult<String>>)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.insertUser(String, String, List<String>, List<String>, Handler<AsyncResult<String>>)
  io.vertx.ext.auth.oauth2.OAuth2Auth.introspectToken(String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.introspectToken(String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.introspectToken(String)
  io.vertx.ext.auth.oauth2.OAuth2Auth.introspectToken(String, Handler<AsyncResult<AccessToken>>)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.introspectToken(String, Handler<AsyncResult<AccessToken>>)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.introspectToken(String, Handler<AsyncResult<AccessToken>>)
  io.vertx.ext.auth.oauth2.OAuth2Auth.introspectToken(String, String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.introspectToken(String, String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.introspectToken(String, String)
  io.vertx.ext.auth.oauth2.OAuth2Auth.introspectToken(String, String, Handler<AsyncResult<AccessToken>>)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.introspectToken(String, String, Handler<AsyncResult<AccessToken>>)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.introspectToken(String, String, Handler<AsyncResult<AccessToken>>)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Response.is(String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Response.is(String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2RBAC.isAuthorized(AccessToken, String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2RBAC.isAuthorized(AccessToken, String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2RBAC.isAuthorized(AccessToken, String, Handler<AsyncResult<Boolean>>)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2RBAC.isAuthorized(AccessToken, String, Handler<AsyncResult<Boolean>>)
  io.vertx.ext.auth.User.isAuthorized(Authorization)
  io.vertx.rxjava.ext.auth.User.isAuthorized(Authorization)
  io.vertx.reactivex.ext.auth.User.isAuthorized(Authorization)
  io.vertx.ext.auth.User.isAuthorized(Authorization, Handler<AsyncResult<Boolean>>)
  io.vertx.rxjava.ext.auth.User.isAuthorized(Authorization, Handler<AsyncResult<Boolean>>)
  io.vertx.reactivex.ext.auth.User.isAuthorized(Authorization, Handler<AsyncResult<Boolean>>)
  io.vertx.ext.auth.User.isAuthorized(String) Use typed alternative `User.isAuthorized(Authorization)`
  io.vertx.rxjava.ext.auth.User.isAuthorized(String)
  io.vertx.reactivex.ext.auth.User.isAuthorized(String)
  io.vertx.ext.auth.User.isAuthorized(String, Handler<AsyncResult<Boolean>>) Use typed alternative `User.isAuthorized(Authorization, Handler)`
  io.vertx.rxjava.ext.auth.User.isAuthorized(String, Handler<AsyncResult<Boolean>>)
  io.vertx.reactivex.ext.auth.User.isAuthorized(String, Handler<AsyncResult<Boolean>>)
  io.vertx.ext.auth.PubSecKeyOptions.isCertificate()
  io.vertx.core.logging.Logger.isDebugEnabled() see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.isEqual(String, String)
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.isEqual(String, String)
  io.vertx.core.logging.Logger.isInfoEnabled() see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.ext.web.api.contract.RouterFactoryOptions.isMountValidationFailureHandler() Router Factory won't manage the validation errors anymore. You must use `Router.errorHandler(int, Handler)` with 400 error
  io.vertx.ext.auth.PubSecKeyOptions.isSymmetric()
  io.vertx.core.logging.Logger.isTraceEnabled() see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.ext.auth.oauth2.OAuth2Options.isUseBasicAuthorizationHeader() this value is not considered.
  io.vertx.core.logging.Logger.isWarnEnabled() see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Response.jsonArray()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Response.jsonArray()
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Response.jsonObject()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Response.jsonObject()
  io.vertx.ext.auth.oauth2.OAuth2Auth.loadJWK() Use `OAuth2Auth.jWKSet()`
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.loadJWK()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.loadJWK()
  io.vertx.ext.auth.oauth2.OAuth2Auth.loadJWK(Handler<AsyncResult<Void>>) Use `OAuth2Auth.jWKSet(Handler)`
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.loadJWK(Handler<AsyncResult<Void>>)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.loadJWK(Handler<AsyncResult<Void>>)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.name(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.name(JsonObject)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.nickName(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.nickName(JsonObject)
  io.vertx.ext.web.RoutingContext.normalisedPath()
  io.vertx.rxjava.ext.web.RoutingContext.normalisedPath()
  io.vertx.reactivex.ext.web.RoutingContext.normalisedPath()
  io.vertx.rxjava.ext.web.handler.AuthHandler.parseCredentials(RoutingContext)
  io.vertx.reactivex.ext.web.handler.AuthHandler.parseCredentials(RoutingContext)
  io.vertx.rxjava.ext.web.handler.AuthHandler.parseCredentials(RoutingContext, Handler<AsyncResult<Credentials>>)
  io.vertx.reactivex.ext.web.handler.AuthHandler.parseCredentials(RoutingContext, Handler<AsyncResult<Credentials>>)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.parseToken(String)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.parseToken(String)
  io.vertx.mqtt.MqttAuth.password() use instead `MqttAuth.getPassword()`
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.preferredUsername(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.preferredUsername(JsonObject)
  io.vertx.config.spi.ConfigProcessor.process(Vertx, JsonObject, Buffer, Handler<AsyncResult<JsonObject>>) implement `ConfigProcessor.process(Vertx, JsonObject, Buffer)` instead
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.rawAccessToken(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.rawAccessToken(JsonObject)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.rawIdToken(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.rawIdToken(JsonObject)
  io.vertx.ext.auth.oauth2.OAuth2Auth.rbacHandler(OAuth2RBAC)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.rbacHandler(OAuth2RBAC)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.rbacHandler(OAuth2RBAC)
  io.vertx.core.logging.LoggerFactory.removeLogger(String) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.rxjava.ext.web.handler.AuthHandler.rxAuthorize(User)
  io.vertx.reactivex.ext.web.handler.AuthHandler.rxAuthorize(User)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.rxDecodeToken(String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.rxDecodeToken(String)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.rxInsertUser(String, String, List<String>, List<String>)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.rxInsertUser(String, String, List<String>, List<String>)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.rxIntrospectToken(String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.rxIntrospectToken(String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.rxIntrospectToken(String, String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.rxIntrospectToken(String, String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2RBAC.rxIsAuthorized(AccessToken, String)
  io.vertx.reactivex.ext.auth.oauth2.OAuth2RBAC.rxIsAuthorized(AccessToken, String)
  io.vertx.rxjava.ext.auth.User.rxIsAuthorized(Authorization)
  io.vertx.reactivex.ext.auth.User.rxIsAuthorized(Authorization)
  io.vertx.rxjava.ext.auth.User.rxIsAuthorized(String)
  io.vertx.reactivex.ext.auth.User.rxIsAuthorized(String)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Auth.rxLoadJWK()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Auth.rxLoadJWK()
  io.vertx.rxjava.ext.web.handler.AuthHandler.rxParseCredentials(RoutingContext)
  io.vertx.reactivex.ext.web.handler.AuthHandler.rxParseCredentials(RoutingContext)
  io.vertx.rxjava.ext.auth.oauth2.KeycloakHelper.sessionState(JsonObject)
  io.vertx.reactivex.ext.auth.oauth2.KeycloakHelper.sessionState(JsonObject)
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.setAuthenticationQuery(String)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.setAuthenticationQuery(String)
  io.vertx.ext.auth.User.setAuthProvider(AuthProvider)
  io.vertx.ext.web.handler.SessionHandler.setAuthProvider(AuthProvider) this method has no effect
  io.vertx.rxjava.ext.auth.User.setAuthProvider(AuthProvider)
  io.vertx.rxjava.ext.web.handler.SessionHandler.setAuthProvider(AuthProvider)
  io.vertx.reactivex.ext.auth.User.setAuthProvider(AuthProvider)
  io.vertx.reactivex.ext.web.handler.SessionHandler.setAuthProvider(AuthProvider)
  io.vertx.ext.auth.PubSecKeyOptions.setCertificate(boolean)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setCollectionName(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setCollectionName(String)
  io.vertx.redis.client.RedisOptions.setEndpoint(String) see `RedisOptions.setConnectionString(String connectionString)` for a better naming
  io.vertx.core.DeploymentOptions.setExtraClasspath(List<String>)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setHashAlgorithm(HashAlgorithm)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setHashAlgorithm(HashAlgorithm)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setHashStrategy(HashStrategy)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setHashStrategy(HashStrategy)
  io.vertx.mqtt.MqttClientOptions.setIdleTimeout(int)
  io.vertx.core.DeploymentOptions.setIsolatedClasses(List<String>)
  io.vertx.core.DeploymentOptions.setIsolationGroup(String)
  io.vertx.ext.mail.MailConfig.setKeyStore(String) use `TCPSSLOptions.getTrustStoreOptions()`
  io.vertx.ext.mail.MailConfig.setKeyStorePassword(String) use `TCPSSLOptions.getTrustStoreOptions()`
  io.vertx.ext.web.api.contract.RouterFactoryOptions.setMountValidationFailureHandler(boolean) Router Factory won't manage the validation errors anymore. You must use `Router.errorHandler(int, Handler)` with 400 error
  io.vertx.rxjava.ext.auth.jdbc.JDBCHashStrategy.setNonces(JsonArray)
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.setNonces(JsonArray)
  io.vertx.reactivex.ext.auth.jdbc.JDBCHashStrategy.setNonces(JsonArray)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.setNonces(JsonArray)
  io.vertx.ext.web.api.contract.RouterFactory.setNotImplementedFailureHandler(Handler<RoutingContext>) You must use `Router.errorHandler(int, Handler)` with 501 error
  io.vertx.rxjava.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.setNotImplementedFailureHandler(Handler<RoutingContext>)
  io.vertx.rxjava.ext.web.api.contract.RouterFactory.setNotImplementedFailureHandler(Handler<RoutingContext>)
  io.vertx.reactivex.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.setNotImplementedFailureHandler(Handler<RoutingContext>)
  io.vertx.reactivex.ext.web.api.contract.RouterFactory.setNotImplementedFailureHandler(Handler<RoutingContext>)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setPasswordCredentialField(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setPasswordCredentialField(String)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setPasswordField(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setPasswordField(String)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setPermissionField(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setPermissionField(String)
  io.vertx.ext.auth.jwt.JWTAuthOptions.setPermissionsClaimKey(String)
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.setPermissionsQuery(String)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.setPermissionsQuery(String)
  io.vertx.ext.auth.PubSecKeyOptions.setPublicKey(String) This setter ignored the PEM prefix and suffix which would assume the key to be RSA. Use `PubSecKeyOptions.setBuffer(String)` with the full content of your OpenSSL pem file. A PEM file must contain at least 3 lines:
         -----BEGIN PUBLIC KEY----
         ...
         -----END PUBLIC KEY---
  io.vertx.ext.sql.SQLConnection.setQueryTimeout(int) instead use `SQLConnection.setOptions(SQLOptions)` with `SQLOptions.setQueryTimeout(int)`
  io.vertx.rxjava.ext.sql.SQLConnection.setQueryTimeout(int)
  io.vertx.reactivex.ext.sql.SQLConnection.setQueryTimeout(int)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setRoleField(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setRoleField(String)
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.setRolePrefix(String)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.setRolePrefix(String)
  io.vertx.rxjava.ext.auth.jdbc.JDBCAuth.setRolesQuery(String)
  io.vertx.reactivex.ext.auth.jdbc.JDBCAuth.setRolesQuery(String)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setSaltField(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setSaltField(String)
  io.vertx.ext.auth.JWTOptions.setScopes(List<String>) use the authorization api `AuthorizationProvider`
  io.vertx.ext.auth.PubSecKeyOptions.setSecretKey(String) This setter ignored the PEM prefix and suffix which would assume the key to be RSA. Use `PubSecKeyOptions.setBuffer(String)` with the full content of your OpenSSL pem file. A PEM file must contain at least 3 lines:
         -----BEGIN PRIVATE KEY----
         ...
         -----END PRIVATE KEY---
  io.vertx.ext.auth.PubSecKeyOptions.setSymmetric(boolean)
  io.vertx.ext.auth.oauth2.OAuth2Options.setUseBasicAuthorizationHeader(boolean) this value is not considered.
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setUsernameCredentialField(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setUsernameCredentialField(String)
  io.vertx.rxjava.ext.auth.mongo.MongoAuth.setUsernameField(String)
  io.vertx.reactivex.ext.auth.mongo.MongoAuth.setUsernameField(String)
  io.vertx.ext.web.api.contract.RouterFactory.setValidationFailureHandler(Handler<RoutingContext>) Router Factory won't manage the validation errors anymore. You must use `Router.errorHandler(int, Handler)` with 400 error
  io.vertx.rxjava.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.setValidationFailureHandler(Handler<RoutingContext>)
  io.vertx.rxjava.ext.web.api.contract.RouterFactory.setValidationFailureHandler(Handler<RoutingContext>)
  io.vertx.reactivex.ext.web.api.contract.openapi3.OpenAPI3RouterFactory.setValidationFailureHandler(Handler<RoutingContext>)
  io.vertx.reactivex.ext.web.api.contract.RouterFactory.setValidationFailureHandler(Handler<RoutingContext>)
  io.vertx.rxjava.ext.auth.oauth2.OAuth2Response.statusCode()
  io.vertx.reactivex.ext.auth.oauth2.OAuth2Response.statusCode()
  io.vertx.junit5.VertxTestContext.succeeding() Use `VertxTestContext.succeedingThenComplete()` or `VertxTestContext.succeeding(Handler)`, for example `succeeding(value -> checkpoint.flag())`, `succeeding(value -> { more testing code })`, or `succeeding(value -> {})`.
  io.vertx.config.spi.utils.JsonObjectHelper.toBuffer(JsonObject) use `JsonObject.toBuffer()` instead
  io.vertx.core.logging.Logger.trace(Object) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.trace(Object, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.trace(Object, Throwable) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.trace(Object, Throwable, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.ext.web.Route.useNormalisedPath(boolean)
  io.vertx.rxjava.ext.web.Route.useNormalisedPath(boolean)
  io.vertx.reactivex.ext.web.Route.useNormalisedPath(boolean)
  io.vertx.mqtt.MqttAuth.userName() use instead `MqttAuth.getUsername()` ()}
  io.vertx.core.logging.Logger.warn(Object) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.warn(Object, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.warn(Object, Throwable) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.core.logging.Logger.warn(Object, Throwable, Object...) see https://github.com/eclipse-vertx/vert.x/issues/2774
  io.vertx.mqtt.MqttWill.willMessage() use `MqttWill.getWillMessageBytes()` instead
  io.vertx.mqtt.MqttWill.willQos() use `MqttWill.willQos()` instead
  io.vertx.mqtt.MqttWill.willTopic() use `MqttWill.getWillTopic()` instead
  io.vertx.ext.auth.JWTOptions.withScopeDelimiter(String) use the authorization api `AuthorizationProvider`

- Deprecated Constructors
  Constructor and Description
  io.vertx.core.spi.launcher.DefaultCommandFactory(Class<C>) Please use `DefaultCommandFactory.DefaultCommandFactory(Class, Supplier)`
  io.vertx.core.logging.Logger(LogDelegate) see https://github.com/eclipse-vertx/vert.x/issues/2774

Copyright © 2020 Eclipse. All rights reserved.