Skip to content

Upgrading org.springframework.security:spring-security-core 4 to 5

Unknown4.2.20.RELEASE → 5.8.16

Fetching 129 releases from GitHub…0 / 129
UnknownUpgrade verdict

DepDelta is still reading the notes for this range, so breaking changes can't be ruled out yet.

  • DepDelta is still reading the release notes in this range, so it can't rule out breaking changes yet.
  • This page updates as the notes come in.
Still reading release notes

DepDelta is still reading the release notes in this range. This updates as they come in.

Adds org.springframework.security:spring-security-crypto 5.8.16.

Drops aopalliance:aopalliance.

Installs 7 packages in all (was 6).

Generated by DepDelta from published JVM bytecode. Not mixed with prose notes.

  • removed: ctor ExpressionUtils()
  • removed: field SecurityExpressionRoot.authentication: Authentication
  • added: ctor SecurityExpressionRoot(Supplier)
  • added: method AbstractSecurityExpressionHandler.getBeanResolver(): BeanResolver
  • added: method SecurityExpressionHandler.createEvaluationContext(Supplier, Object): EvaluationContext
  • added: method DefaultMethodSecurityExpressionHandler.createEvaluationContext(Supplier, MethodInvocation): EvaluationContext
  • added: method AbstractSecurityInterceptor.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: class PrePostAdviceReactiveMethodInterceptor implements MethodInterceptor
  • added: ctor PrePostAdviceReactiveMethodInterceptor(MethodSecurityMetadataSource, PreInvocationAuthorizationAdvice, PostInvocationAuthorizationAdvice)
  • added: method PrePostAdviceReactiveMethodInterceptor.invoke(MethodInvocation): Object
  • added: method AbstractAccessDecisionManager.toString(): String
  • changed: class AccountStatusUserDetailsChecker implements UserDetailsChecker → class AccountStatusUserDetailsChecker implements UserDetailsChecker, MessageSourceAware
  • added: abstract class AbstractUserDetailsReactiveAuthenticationManager implements ReactiveAuthenticationManager, MessageSourceAware
  • added: class CachingUserDetailsService implements UserDetailsService
  • added: class DelegatingReactiveAuthenticationManager implements ReactiveAuthenticationManager
  • added: class ReactiveAuthenticationManagerAdapter implements ReactiveAuthenticationManager
  • added: class UserDetailsRepositoryReactiveAuthenticationManager extends AbstractUserDetailsReactiveAuthenticationManager
  • added: ctor AbstractUserDetailsReactiveAuthenticationManager()
  • added: ctor CachingUserDetailsService(UserDetailsService)
  • added: ctor DelegatingReactiveAuthenticationManager(List)
  • added: ctor DelegatingReactiveAuthenticationManager(ReactiveAuthenticationManager[])
  • added: ctor ProviderManager(AuthenticationProvider[])
  • added: ctor ReactiveAuthenticationManagerAdapter(AuthenticationManager)
  • added: ctor UserDetailsRepositoryReactiveAuthenticationManager(ReactiveUserDetailsService)
  • added: field AbstractUserDetailsReactiveAuthenticationManager.logger: Log
  • added: field AbstractUserDetailsReactiveAuthenticationManager.messages: MessageSourceAccessor
  • added: interface AuthenticationManagerResolver
  • added: interface ReactiveAuthenticationManager
  • added: interface ReactiveAuthenticationManagerResolver
  • added: method AbstractUserDetailsReactiveAuthenticationManager.authenticate(Authentication): Mono
  • added: method AbstractUserDetailsReactiveAuthenticationManager.retrieveUser(String): Mono
  • added: method AbstractUserDetailsReactiveAuthenticationManager.setMessageSource(MessageSource): void
  • added: method AbstractUserDetailsReactiveAuthenticationManager.setPasswordEncoder(PasswordEncoder): void
  • added: method AbstractUserDetailsReactiveAuthenticationManager.setPostAuthenticationChecks(UserDetailsChecker): void
  • added: method AbstractUserDetailsReactiveAuthenticationManager.setScheduler(Scheduler): void
  • added: method AbstractUserDetailsReactiveAuthenticationManager.setUserDetailsPasswordService(ReactiveUserDetailsPasswordService): void
  • added: method AccountStatusUserDetailsChecker.setMessageSource(MessageSource): void
  • added: method AnonymousAuthenticationToken.hashCode(): int
  • added: method AuthenticationManagerResolver.resolve(Object): AuthenticationManager
  • added: method CachingUserDetailsService.getUserCache(): UserCache
  • added: method CachingUserDetailsService.loadUserByUsername(String): UserDetails
  • added: method CachingUserDetailsService.setUserCache(UserCache): void
  • added: method DefaultAuthenticationEventPublisher.setAdditionalExceptionMappings(Map): void
  • added: method DefaultAuthenticationEventPublisher.setDefaultAuthenticationFailureEvent(Class): void
  • added: method DelegatingReactiveAuthenticationManager.authenticate(Authentication): Mono
  • added: method ReactiveAuthenticationManager.authenticate(Authentication): Mono
  • added: method ReactiveAuthenticationManagerAdapter.authenticate(Authentication): Mono
  • added: method ReactiveAuthenticationManagerAdapter.setScheduler(Scheduler): void
  • added: method ReactiveAuthenticationManagerResolver.resolve(Object): Mono
  • added: method RememberMeAuthenticationToken.hashCode(): int
  • added: method UserDetailsRepositoryReactiveAuthenticationManager.retrieveUser(String): Mono
  • added: static method UsernamePasswordAuthenticationToken.authenticated(Object, Object, Collection): UsernamePasswordAuthenticationToken
  • added: static method UsernamePasswordAuthenticationToken.unauthenticated(Object, Object): UsernamePasswordAuthenticationToken
  • removed: class ReflectionSaltSource implements SaltSource, InitializingBean
  • removed: class SystemWideSaltSource implements SaltSource, InitializingBean
  • removed: ctor ReflectionSaltSource()
  • removed: ctor SystemWideSaltSource()
  • removed: interface SaltSource
  • removed: method DaoAuthenticationProvider.getSaltSource(): SaltSource
  • removed: method DaoAuthenticationProvider.setSaltSource(SaltSource): void
  • removed: method ReflectionSaltSource.afterPropertiesSet(): void
  • removed: method ReflectionSaltSource.getSalt(UserDetails): Object
  • removed: method ReflectionSaltSource.getUserPropertyToUse(): String
  • removed: method ReflectionSaltSource.setUserPropertyToUse(String): void
  • removed: method ReflectionSaltSource.toString(): String
  • removed: method SaltSource.getSalt(UserDetails): Object
  • removed: method SystemWideSaltSource.afterPropertiesSet(): void
  • removed: method SystemWideSaltSource.getSalt(UserDetails): Object
  • removed: method SystemWideSaltSource.getSystemWideSalt(): String
  • removed: method SystemWideSaltSource.setSystemWideSalt(String): void
  • removed: method SystemWideSaltSource.toString(): String
  • changed: method DaoAuthenticationProvider.setPasswordEncoder(Object): void → method DaoAuthenticationProvider.setPasswordEncoder(PasswordEncoder): void
  • added: method DaoAuthenticationProvider.createSuccessAuthentication(Object, Authentication, UserDetails): Authentication
  • added: method DaoAuthenticationProvider.setUserDetailsPasswordService(UserDetailsPasswordService): void
  • removed: abstract class BaseDigestPasswordEncoder extends BasePasswordEncoder
  • removed: abstract class BasePasswordEncoder implements PasswordEncoder
  • removed: class LdapShaPasswordEncoder implements PasswordEncoder
  • removed: class Md4PasswordEncoder extends BaseDigestPasswordEncoder
  • removed: class Md5PasswordEncoder extends MessageDigestPasswordEncoder
  • removed: class MessageDigestPasswordEncoder extends BaseDigestPasswordEncoder
  • removed: class PlaintextPasswordEncoder extends BasePasswordEncoder
  • removed: class ShaPasswordEncoder extends MessageDigestPasswordEncoder
  • removed: ctor BaseDigestPasswordEncoder()
  • removed: ctor BasePasswordEncoder()
  • removed: ctor LdapShaPasswordEncoder()
  • removed: ctor Md4PasswordEncoder()
  • removed: ctor Md5PasswordEncoder()
  • removed: ctor MessageDigestPasswordEncoder(String)
  • removed: ctor MessageDigestPasswordEncoder(String, boolean)
  • removed: ctor PlaintextPasswordEncoder()
  • removed: ctor ShaPasswordEncoder()
  • removed: ctor ShaPasswordEncoder(int)
  • removed: interface PasswordEncoder
  • removed: method BaseDigestPasswordEncoder.getEncodeHashAsBase64(): boolean
  • removed: method BaseDigestPasswordEncoder.setEncodeHashAsBase64(boolean): void
  • removed: method BasePasswordEncoder.demergePasswordAndSalt(String): String[]
  • removed: method BasePasswordEncoder.mergePasswordAndSalt(String, Object, boolean): String
  • removed: method LdapShaPasswordEncoder.encodePassword(String, Object): String
  • removed: method LdapShaPasswordEncoder.isPasswordValid(String, String, Object): boolean
  • removed: method LdapShaPasswordEncoder.setForceLowerCasePrefix(boolean): void
  • removed: method Md4PasswordEncoder.encodePassword(String, Object): String
  • removed: method Md4PasswordEncoder.getAlgorithm(): String
  • removed: method Md4PasswordEncoder.isPasswordValid(String, String, Object): boolean
  • removed: method MessageDigestPasswordEncoder.encodePassword(String, Object): String
  • removed: method MessageDigestPasswordEncoder.getAlgorithm(): String
  • removed: method MessageDigestPasswordEncoder.getMessageDigest(): MessageDigest
  • removed: method MessageDigestPasswordEncoder.isPasswordValid(String, String, Object): boolean
  • removed: method MessageDigestPasswordEncoder.setIterations(int): void
  • removed: method PasswordEncoder.encodePassword(String, Object): String
  • removed: method PasswordEncoder.isPasswordValid(String, String, Object): boolean
  • removed: method PlaintextPasswordEncoder.encodePassword(String, Object): String
  • removed: method PlaintextPasswordEncoder.isIgnorePasswordCase(): boolean
  • removed: method PlaintextPasswordEncoder.isPasswordValid(String, String, Object): boolean
  • removed: method PlaintextPasswordEncoder.obtainPasswordAndSalt(String): String[]
  • removed: method PlaintextPasswordEncoder.setIgnorePasswordCase(boolean): void
  • added: class LogoutSuccessEvent extends AbstractAuthenticationEvent
  • added: ctor LogoutSuccessEvent(Authentication)
  • added: method SecurityContextLoginModule.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: class AuthenticatedReactiveAuthorizationManager implements ReactiveAuthorizationManager
  • added: class AuthorityAuthorizationDecision extends AuthorizationDecision
  • added: class AuthorityReactiveAuthorizationManager implements ReactiveAuthorizationManager
  • added: class AuthorizationDecision
  • added: class ExpressionAuthorizationDecision extends AuthorizationDecision
  • added: ctor AuthenticatedAuthorizationManager()
  • added: ctor AuthorityAuthorizationDecision(boolean, Collection)
  • added: ctor AuthorizationDecision(boolean)
  • added: ctor ExpressionAuthorizationDecision(boolean, Expression)
  • added: ctor SpringAuthorizationEventPublisher(ApplicationEventPublisher)
  • added: final class AuthenticatedAuthorizationManager implements AuthorizationManager
  • added: final class AuthorityAuthorizationManager implements AuthorizationManager
  • added: final class AuthorizationManagers
  • added: final class SpringAuthorizationEventPublisher implements AuthorizationEventPublisher
  • added: interface AuthorizationEventPublisher
  • added: interface AuthorizationManager
  • added: interface ReactiveAuthorizationManager
  • added: method AuthenticatedAuthorizationManager.check(Supplier, Object): AuthorizationDecision
  • added: method AuthenticatedAuthorizationManager.setTrustResolver(AuthenticationTrustResolver): void
  • added: method AuthenticatedReactiveAuthorizationManager.check(Mono, Object): Mono
  • added: method AuthorityAuthorizationDecision.getAuthorities(): Collection
  • added: method AuthorityAuthorizationDecision.toString(): String
  • added: method AuthorityAuthorizationManager.check(Supplier, Object): AuthorizationDecision
  • added: method AuthorityAuthorizationManager.setRoleHierarchy(RoleHierarchy): void
  • added: method AuthorityAuthorizationManager.toString(): String
  • added: method AuthorityReactiveAuthorizationManager.check(Mono, Object): Mono
  • added: method AuthorizationDecision.isGranted(): boolean
  • added: method AuthorizationDecision.toString(): String
  • added: method AuthorizationEventPublisher.publishAuthorizationEvent(Supplier, Object, AuthorizationDecision): void
  • added: method AuthorizationManager.check(Supplier, Object): AuthorizationDecision
  • added: method AuthorizationManager.verify(Supplier, Object): void
  • added: method ExpressionAuthorizationDecision.getExpression(): Expression
  • added: method ExpressionAuthorizationDecision.toString(): String
  • added: method ReactiveAuthorizationManager.check(Mono, Object): Mono
  • added: method ReactiveAuthorizationManager.verify(Mono, Object): Mono
  • added: method SpringAuthorizationEventPublisher.publishAuthorizationEvent(Supplier, Object, AuthorizationDecision): void
  • added: static method AuthenticatedAuthorizationManager.anonymous(): AuthenticatedAuthorizationManager
  • added: static method AuthenticatedAuthorizationManager.authenticated(): AuthenticatedAuthorizationManager
  • added: static method AuthenticatedAuthorizationManager.fullyAuthenticated(): AuthenticatedAuthorizationManager
  • added: static method AuthenticatedAuthorizationManager.rememberMe(): AuthenticatedAuthorizationManager
  • added: static method AuthenticatedReactiveAuthorizationManager.authenticated(): AuthenticatedReactiveAuthorizationManager
  • added: static method AuthorityAuthorizationManager.hasAnyAuthority(String[]): AuthorityAuthorizationManager
  • added: static method AuthorityAuthorizationManager.hasAnyRole(String, String[]): AuthorityAuthorizationManager
  • added: static method AuthorityAuthorizationManager.hasAnyRole(String[]): AuthorityAuthorizationManager
  • added: static method AuthorityAuthorizationManager.hasAuthority(String): AuthorityAuthorizationManager
  • added: static method AuthorityAuthorizationManager.hasRole(String): AuthorityAuthorizationManager
  • added: static method AuthorityReactiveAuthorizationManager.hasAnyAuthority(String[]): AuthorityReactiveAuthorizationManager
  • added: static method AuthorityReactiveAuthorizationManager.hasAnyRole(String[]): AuthorityReactiveAuthorizationManager
  • added: static method AuthorityReactiveAuthorizationManager.hasAuthority(String): AuthorityReactiveAuthorizationManager
  • added: static method AuthorityReactiveAuthorizationManager.hasRole(String): AuthorityReactiveAuthorizationManager
  • added: static method AuthorizationManagers.allOf(AuthorizationManager[]): AuthorizationManager
  • added: static method AuthorizationManagers.anyOf(AuthorizationManager[]): AuthorizationManager
  • added: class AuthorizationDeniedEvent extends AuthorizationEvent
  • added: class AuthorizationEvent extends ApplicationEvent
  • added: class AuthorizationGrantedEvent extends AuthorizationEvent
  • added: ctor AuthorizationDeniedEvent(Supplier, Object, AuthorizationDecision)
  • added: ctor AuthorizationEvent(Supplier, Object, AuthorizationDecision)
  • added: ctor AuthorizationGrantedEvent(Supplier, Object, AuthorizationDecision)
  • added: method AuthorizationDeniedEvent.getObject(): Object
  • added: method AuthorizationEvent.getAuthentication(): Supplier
  • added: method AuthorizationEvent.getAuthorizationDecision(): AuthorizationDecision
  • added: method AuthorizationEvent.getObject(): Object
  • added: method AuthorizationGrantedEvent.getObject(): Object
  • added: class ExpressionAttributeAuthorizationDecision extends AuthorizationDecision
  • added: class MethodInvocationResult
  • added: ctor AuthorizationManagerAfterMethodInterceptor(Pointcut, AuthorizationManager)
  • added: ctor AuthorizationManagerAfterReactiveMethodInterceptor(Pointcut, ReactiveAuthorizationManager)
  • added: ctor AuthorizationManagerBeforeMethodInterceptor(Pointcut, AuthorizationManager)
  • added: ctor AuthorizationManagerBeforeReactiveMethodInterceptor(Pointcut, ReactiveAuthorizationManager)
  • added: ctor ExpressionAttributeAuthorizationDecision(boolean, ExpressionAttribute)
  • added: ctor Jsr250AuthorizationManager()
  • added: ctor MethodExpressionAuthorizationManager(String)
  • added: ctor MethodInvocationResult(MethodInvocation, Object)
  • added: ctor PostAuthorizeAuthorizationManager()
  • added: ctor PostAuthorizeReactiveAuthorizationManager()
  • added: ctor PostAuthorizeReactiveAuthorizationManager(MethodSecurityExpressionHandler)
  • added: ctor PostFilterAuthorizationMethodInterceptor()
  • added: ctor PostFilterAuthorizationReactiveMethodInterceptor()
  • added: ctor PostFilterAuthorizationReactiveMethodInterceptor(MethodSecurityExpressionHandler)
  • added: ctor PreAuthorizeAuthorizationManager()
  • added: ctor PreAuthorizeReactiveAuthorizationManager()
  • added: ctor PreAuthorizeReactiveAuthorizationManager(MethodSecurityExpressionHandler)
  • added: ctor PreFilterAuthorizationMethodInterceptor()
  • added: ctor PreFilterAuthorizationReactiveMethodInterceptor()
  • added: ctor PreFilterAuthorizationReactiveMethodInterceptor(MethodSecurityExpressionHandler)
  • added: ctor SecuredAuthorizationManager()
  • added: enum AuthorizationInterceptorsOrder
  • added: final class AuthorizationManagerAfterMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class AuthorizationManagerAfterReactiveMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class AuthorizationManagerBeforeMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class AuthorizationManagerBeforeReactiveMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class Jsr250AuthorizationManager implements AuthorizationManager
  • added: final class MethodExpressionAuthorizationManager implements AuthorizationManager
  • added: final class PostAuthorizeAuthorizationManager implements AuthorizationManager
  • added: final class PostAuthorizeReactiveAuthorizationManager implements ReactiveAuthorizationManager
  • added: final class PostFilterAuthorizationMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class PostFilterAuthorizationReactiveMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class PreAuthorizeAuthorizationManager implements AuthorizationManager
  • added: final class PreAuthorizeReactiveAuthorizationManager implements ReactiveAuthorizationManager
  • added: final class PreFilterAuthorizationMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class PreFilterAuthorizationReactiveMethodInterceptor implements Ordered, MethodInterceptor, PointcutAdvisor, AopInfrastructureBean
  • added: final class SecuredAuthorizationManager implements AuthorizationManager
  • added: method AuthorizationInterceptorsOrder.getOrder(): int
  • added: method AuthorizationManagerAfterMethodInterceptor.getAdvice(): Advice
  • added: method AuthorizationManagerAfterMethodInterceptor.getOrder(): int
  • added: method AuthorizationManagerAfterMethodInterceptor.getPointcut(): Pointcut
  • added: method AuthorizationManagerAfterMethodInterceptor.invoke(MethodInvocation): Object
  • added: method AuthorizationManagerAfterMethodInterceptor.isPerInstance(): boolean
  • added: method AuthorizationManagerAfterMethodInterceptor.setAuthorizationEventPublisher(AuthorizationEventPublisher): void
  • added: method AuthorizationManagerAfterMethodInterceptor.setOrder(int): void
  • added: method AuthorizationManagerAfterMethodInterceptor.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: method AuthorizationManagerAfterReactiveMethodInterceptor.getAdvice(): Advice
  • added: method AuthorizationManagerAfterReactiveMethodInterceptor.getOrder(): int
  • added: method AuthorizationManagerAfterReactiveMethodInterceptor.getPointcut(): Pointcut
  • added: method AuthorizationManagerAfterReactiveMethodInterceptor.invoke(MethodInvocation): Object
  • added: method AuthorizationManagerAfterReactiveMethodInterceptor.isPerInstance(): boolean
  • added: method AuthorizationManagerAfterReactiveMethodInterceptor.setOrder(int): void
  • added: method AuthorizationManagerBeforeMethodInterceptor.getAdvice(): Advice
  • added: method AuthorizationManagerBeforeMethodInterceptor.getOrder(): int
  • added: method AuthorizationManagerBeforeMethodInterceptor.getPointcut(): Pointcut
  • added: method AuthorizationManagerBeforeMethodInterceptor.invoke(MethodInvocation): Object
  • added: method AuthorizationManagerBeforeMethodInterceptor.isPerInstance(): boolean
  • added: method AuthorizationManagerBeforeMethodInterceptor.setAuthorizationEventPublisher(AuthorizationEventPublisher): void
  • added: method AuthorizationManagerBeforeMethodInterceptor.setOrder(int): void
  • added: method AuthorizationManagerBeforeMethodInterceptor.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: method AuthorizationManagerBeforeReactiveMethodInterceptor.getAdvice(): Advice
  • added: method AuthorizationManagerBeforeReactiveMethodInterceptor.getOrder(): int
  • added: method AuthorizationManagerBeforeReactiveMethodInterceptor.getPointcut(): Pointcut
  • added: method AuthorizationManagerBeforeReactiveMethodInterceptor.invoke(MethodInvocation): Object
  • added: method AuthorizationManagerBeforeReactiveMethodInterceptor.isPerInstance(): boolean
  • added: method AuthorizationManagerBeforeReactiveMethodInterceptor.setOrder(int): void
  • added: method ExpressionAttributeAuthorizationDecision.getExpressionAttribute(): ExpressionAttribute
  • added: method ExpressionAttributeAuthorizationDecision.toString(): String
  • added: method Jsr250AuthorizationManager.check(Supplier, MethodInvocation): AuthorizationDecision
  • added: method Jsr250AuthorizationManager.setRolePrefix(String): void
  • added: method MethodExpressionAuthorizationManager.check(Supplier, MethodInvocation): AuthorizationDecision
  • added: method MethodExpressionAuthorizationManager.setExpressionHandler(SecurityExpressionHandler): void
  • added: method MethodExpressionAuthorizationManager.toString(): String
  • added: method MethodInvocationResult.getMethodInvocation(): MethodInvocation
  • added: method MethodInvocationResult.getResult(): Object
  • added: method PostAuthorizeAuthorizationManager.check(Supplier, MethodInvocationResult): AuthorizationDecision
  • added: method PostAuthorizeAuthorizationManager.setExpressionHandler(MethodSecurityExpressionHandler): void
  • added: method PostAuthorizeReactiveAuthorizationManager.check(Mono, MethodInvocationResult): Mono
  • added: method PostFilterAuthorizationMethodInterceptor.getAdvice(): Advice
  • added: method PostFilterAuthorizationMethodInterceptor.getOrder(): int
  • added: method PostFilterAuthorizationMethodInterceptor.getPointcut(): Pointcut
  • added: method PostFilterAuthorizationMethodInterceptor.invoke(MethodInvocation): Object
  • added: method PostFilterAuthorizationMethodInterceptor.isPerInstance(): boolean
  • added: method PostFilterAuthorizationMethodInterceptor.setExpressionHandler(MethodSecurityExpressionHandler): void
  • added: method PostFilterAuthorizationMethodInterceptor.setOrder(int): void
  • added: method PostFilterAuthorizationMethodInterceptor.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: method PostFilterAuthorizationReactiveMethodInterceptor.getAdvice(): Advice
  • added: method PostFilterAuthorizationReactiveMethodInterceptor.getOrder(): int
  • added: method PostFilterAuthorizationReactiveMethodInterceptor.getPointcut(): Pointcut
  • added: method PostFilterAuthorizationReactiveMethodInterceptor.invoke(MethodInvocation): Object
  • added: method PostFilterAuthorizationReactiveMethodInterceptor.isPerInstance(): boolean
  • added: method PostFilterAuthorizationReactiveMethodInterceptor.setOrder(int): void
  • added: method PreAuthorizeAuthorizationManager.check(Supplier, MethodInvocation): AuthorizationDecision
  • added: method PreAuthorizeAuthorizationManager.setExpressionHandler(MethodSecurityExpressionHandler): void
  • added: method PreAuthorizeReactiveAuthorizationManager.check(Mono, MethodInvocation): Mono
  • added: method PreFilterAuthorizationMethodInterceptor.getAdvice(): Advice
  • added: method PreFilterAuthorizationMethodInterceptor.getOrder(): int
  • added: method PreFilterAuthorizationMethodInterceptor.getPointcut(): Pointcut
  • added: method PreFilterAuthorizationMethodInterceptor.invoke(MethodInvocation): Object
  • added: method PreFilterAuthorizationMethodInterceptor.isPerInstance(): boolean
  • added: method PreFilterAuthorizationMethodInterceptor.setExpressionHandler(MethodSecurityExpressionHandler): void
  • added: method PreFilterAuthorizationMethodInterceptor.setOrder(int): void
  • added: method PreFilterAuthorizationMethodInterceptor.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: method PreFilterAuthorizationReactiveMethodInterceptor.getAdvice(): Advice
  • added: method PreFilterAuthorizationReactiveMethodInterceptor.getOrder(): int
  • added: method PreFilterAuthorizationReactiveMethodInterceptor.getPointcut(): Pointcut
  • added: method PreFilterAuthorizationReactiveMethodInterceptor.invoke(MethodInvocation): Object
  • added: method PreFilterAuthorizationReactiveMethodInterceptor.isPerInstance(): boolean
  • added: method PreFilterAuthorizationReactiveMethodInterceptor.setOrder(int): void
  • added: method PreFilterAuthorizationReactiveMethodInterceptor.setParameterNameDiscoverer(ParameterNameDiscoverer): void
  • added: method SecuredAuthorizationManager.check(Supplier, MethodInvocation): AuthorizationDecision
  • added: static field AuthorizationInterceptorsOrder.FIRST: AuthorizationInterceptorsOrder
  • added: static field AuthorizationInterceptorsOrder.JSR250: AuthorizationInterceptorsOrder
  • added: static field AuthorizationInterceptorsOrder.LAST: AuthorizationInterceptorsOrder
  • added: static field AuthorizationInterceptorsOrder.POST_AUTHORIZE: AuthorizationInterceptorsOrder
  • added: static field AuthorizationInterceptorsOrder.POST_FILTER: AuthorizationInterceptorsOrder
  • added: static field AuthorizationInterceptorsOrder.PRE_AUTHORIZE: AuthorizationInterceptorsOrder
  • added: static field AuthorizationInterceptorsOrder.PRE_FILTER: AuthorizationInterceptorsOrder
  • added: static field AuthorizationInterceptorsOrder.SECURED: AuthorizationInterceptorsOrder
  • added: static method AuthorizationInterceptorsOrder.valueOf(String): AuthorizationInterceptorsOrder
  • added: static method AuthorizationInterceptorsOrder.values(): AuthorizationInterceptorsOrder[]
  • added: static method AuthorizationManagerAfterMethodInterceptor.postAuthorize(): AuthorizationManagerAfterMethodInterceptor
  • added: static method AuthorizationManagerAfterMethodInterceptor.postAuthorize(PostAuthorizeAuthorizationManager): AuthorizationManagerAfterMethodInterceptor
  • added: static method AuthorizationManagerAfterReactiveMethodInterceptor.postAuthorize(): AuthorizationManagerAfterReactiveMethodInterceptor
  • added: static method AuthorizationManagerAfterReactiveMethodInterceptor.postAuthorize(ReactiveAuthorizationManager): AuthorizationManagerAfterReactiveMethodInterceptor
  • added: static method AuthorizationManagerBeforeMethodInterceptor.jsr250(): AuthorizationManagerBeforeMethodInterceptor
  • added: static method AuthorizationManagerBeforeMethodInterceptor.jsr250(Jsr250AuthorizationManager): AuthorizationManagerBeforeMethodInterceptor
  • added: static method AuthorizationManagerBeforeMethodInterceptor.preAuthorize(): AuthorizationManagerBeforeMethodInterceptor
  • added: static method AuthorizationManagerBeforeMethodInterceptor.preAuthorize(PreAuthorizeAuthorizationManager): AuthorizationManagerBeforeMethodInterceptor
  • added: static method AuthorizationManagerBeforeMethodInterceptor.secured(): AuthorizationManagerBeforeMethodInterceptor
  • added: static method AuthorizationManagerBeforeMethodInterceptor.secured(SecuredAuthorizationManager): AuthorizationManagerBeforeMethodInterceptor
  • added: static method AuthorizationManagerBeforeReactiveMethodInterceptor.preAuthorize(): AuthorizationManagerBeforeReactiveMethodInterceptor
  • added: static method AuthorizationManagerBeforeReactiveMethodInterceptor.preAuthorize(ReactiveAuthorizationManager): AuthorizationManagerBeforeReactiveMethodInterceptor
  • added: method DelegatingSecurityContextCallable.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: method DelegatingSecurityContextExecutor.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: method DelegatingSecurityContextRunnable.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: final class RsaKeyConverters
  • added: static method RsaKeyConverters.pkcs8(): Converter
  • added: static method RsaKeyConverters.x509(): Converter
  • removed: ctor SpringSecurityCoreVersion()
  • changed: class SpringSecurityCoreVersion → final class SpringSecurityCoreVersion
  • added: @interface Transient
  • added: interface AuthenticatedPrincipal
  • added: method AuthenticatedPrincipal.getName(): String
  • added: @interface CurrentSecurityContext
  • added: method CurrentSecurityContext.errorOnInvalidType(): boolean
  • added: method CurrentSecurityContext.expression(): String
  • removed: ctor AuthorityUtils()
  • changed: abstract class AuthorityUtils → final class AuthorityUtils
  • added: class SecurityContextChangedEvent extends ApplicationEvent
  • added: class TransientSecurityContext extends SecurityContextImpl
  • added: ctor ListeningSecurityContextHolderStrategy(Collection)
  • added: ctor ListeningSecurityContextHolderStrategy(SecurityContextChangedListener[])
  • added: ctor ListeningSecurityContextHolderStrategy(SecurityContextHolderStrategy, Collection)
  • added: ctor ListeningSecurityContextHolderStrategy(SecurityContextHolderStrategy, SecurityContextChangedListener[])
  • added: ctor SecurityContextChangedEvent(SecurityContext, SecurityContext)
  • added: ctor SecurityContextChangedEvent(Supplier, Supplier)
  • added: ctor SecurityContextImpl(Authentication)
  • added: ctor TransientSecurityContext()
  • added: ctor TransientSecurityContext(Authentication)
  • added: final class ListeningSecurityContextHolderStrategy implements SecurityContextHolderStrategy
  • added: final class ReactiveSecurityContextHolder
  • added: interface DeferredSecurityContext extends Supplier
  • added: interface SecurityContextChangedListener
  • added: method DeferredSecurityContext.isGenerated(): boolean
  • added: method ListeningSecurityContextHolderStrategy.clearContext(): void
  • added: method ListeningSecurityContextHolderStrategy.createEmptyContext(): SecurityContext
  • added: method ListeningSecurityContextHolderStrategy.getContext(): SecurityContext
  • added: method ListeningSecurityContextHolderStrategy.getDeferredContext(): Supplier
  • added: method ListeningSecurityContextHolderStrategy.setContext(SecurityContext): void
  • added: method ListeningSecurityContextHolderStrategy.setDeferredContext(Supplier): void
  • added: method SecurityContextChangedEvent.getNewContext(): SecurityContext
  • added: method SecurityContextChangedEvent.getOldContext(): SecurityContext
  • added: method SecurityContextChangedEvent.isCleared(): boolean
  • added: method SecurityContextChangedListener.securityContextChanged(SecurityContextChangedEvent): void
  • added: method SecurityContextHolderStrategy.getDeferredContext(): Supplier
  • added: method SecurityContextHolderStrategy.setDeferredContext(Supplier): void
  • added: static field SecurityContextChangedEvent.NO_CONTEXT: Supplier
  • added: static method ReactiveSecurityContextHolder.clearContext(): Function
  • added: static method ReactiveSecurityContextHolder.getContext(): Mono
  • added: static method ReactiveSecurityContextHolder.withAuthentication(Authentication): Context
  • added: static method ReactiveSecurityContextHolder.withSecurityContext(Mono): Context
  • added: static method SecurityContextHolder.getDeferredContext(): Supplier
  • added: static method SecurityContextHolder.setContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: static method SecurityContextHolder.setDeferredContext(Supplier): void
  • added: @interface P
  • added: method P.value(): String
  • changed: abstract class SessionCreationEvent extends ApplicationEvent → abstract class SessionCreationEvent extends AbstractSessionEvent
  • changed: abstract class SessionDestroyedEvent extends ApplicationEvent → abstract class SessionDestroyedEvent extends AbstractSessionEvent
  • changed: method SessionRegistryImpl.onApplicationEvent(SessionDestroyedEvent): void → method SessionRegistryImpl.onApplicationEvent(AbstractSessionEvent): void
  • added: abstract class SessionIdChangedEvent extends AbstractSessionEvent
  • added: class AbstractSessionEvent extends ApplicationEvent
  • added: ctor AbstractSessionEvent(Object)
  • added: ctor SessionIdChangedEvent(Object)
  • added: method SessionIdChangedEvent.getNewSessionId(): String
  • added: method SessionIdChangedEvent.getOldSessionId(): String
  • changed: static class User.UserBuilder → static final class User.UserBuilder
  • added: class MapReactiveUserDetailsService implements ReactiveUserDetailsService, ReactiveUserDetailsPasswordService
  • added: ctor MapReactiveUserDetailsService(Collection)
  • added: ctor MapReactiveUserDetailsService(Map)
  • added: ctor MapReactiveUserDetailsService(UserDetails[])
  • added: interface ReactiveUserDetailsPasswordService
  • added: interface ReactiveUserDetailsService
  • added: interface UserDetailsPasswordService
  • added: method MapReactiveUserDetailsService.findByUsername(String): Mono
  • added: method MapReactiveUserDetailsService.updatePassword(UserDetails, String): Mono
  • added: method ReactiveUserDetailsPasswordService.updatePassword(UserDetails, String): Mono
  • added: method ReactiveUserDetailsService.findByUsername(String): Mono
  • added: method User.UserBuilder.passwordEncoder(Function): User.UserBuilder
  • added: method UserDetailsPasswordService.updatePassword(UserDetails, String): UserDetails
  • added: static field JdbcDaoImpl.DEFAULT_USER_SCHEMA_DDL_LOCATION: String
  • removed: class BCrypt
  • removed: class BCryptPasswordEncoder implements PasswordEncoder
  • removed: ctor BCrypt()
  • removed: ctor BCryptPasswordEncoder()
  • removed: ctor BCryptPasswordEncoder(int)
  • removed: ctor BCryptPasswordEncoder(int, SecureRandom)
  • removed: method BCryptPasswordEncoder.encode(CharSequence): String
  • removed: method BCryptPasswordEncoder.matches(CharSequence, String): boolean
  • removed: static method BCrypt.checkpw(String, String): boolean
  • removed: static method BCrypt.gensalt(): String
  • removed: static method BCrypt.gensalt(int): String
  • removed: static method BCrypt.gensalt(int, SecureRandom): String
  • removed: static method BCrypt.hashpw(String, String): String
  • removed: ctor Base64()
  • removed: ctor Hex()
  • removed: ctor Utf8()
  • removed: final class Base64
  • removed: final class Hex
  • removed: final class Utf8
  • removed: static field Base64.DECODE: int
  • removed: static field Base64.DO_BREAK_LINES: int
  • removed: static field Base64.ENCODE: int
  • removed: static field Base64.NO_OPTIONS: int
  • removed: static field Base64.ORDERED: int
  • removed: static field Base64.URL_SAFE: int
  • removed: static method Base64.decode(byte[]): byte[]
  • removed: static method Base64.encode(byte[]): byte[]
  • removed: static method Base64.isBase64(byte[]): boolean
  • removed: static method Hex.decode(CharSequence): byte[]
  • removed: static method Hex.encode(byte[]): char[]
  • removed: static method Utf8.decode(byte[]): String
  • removed: static method Utf8.encode(CharSequence): byte[]
  • removed: class BouncyCastleAesCbcBytesEncryptor extends BouncyCastleAesBytesEncryptor
  • removed: class BouncyCastleAesGcmBytesEncryptor extends BouncyCastleAesBytesEncryptor
  • removed: class Encryptors
  • removed: ctor BouncyCastleAesCbcBytesEncryptor(String, CharSequence)
  • removed: ctor BouncyCastleAesCbcBytesEncryptor(String, CharSequence, BytesKeyGenerator)
  • removed: ctor BouncyCastleAesGcmBytesEncryptor(String, CharSequence)
  • removed: ctor BouncyCastleAesGcmBytesEncryptor(String, CharSequence, BytesKeyGenerator)
  • removed: interface BytesEncryptor
  • removed: interface TextEncryptor
  • removed: method BouncyCastleAesCbcBytesEncryptor.decrypt(byte[]): byte[]
  • removed: method BouncyCastleAesCbcBytesEncryptor.encrypt(byte[]): byte[]
  • removed: method BouncyCastleAesGcmBytesEncryptor.decrypt(byte[]): byte[]
  • removed: method BouncyCastleAesGcmBytesEncryptor.encrypt(byte[]): byte[]
  • removed: method BytesEncryptor.decrypt(byte[]): byte[]
  • removed: method BytesEncryptor.encrypt(byte[]): byte[]
  • removed: method TextEncryptor.decrypt(String): String
  • removed: method TextEncryptor.encrypt(String): String
  • removed: static method Encryptors.delux(CharSequence, CharSequence): TextEncryptor
  • removed: static method Encryptors.noOpText(): TextEncryptor
  • removed: static method Encryptors.queryableText(CharSequence, CharSequence): TextEncryptor
  • removed: static method Encryptors.standard(CharSequence, CharSequence): BytesEncryptor
  • removed: static method Encryptors.stronger(CharSequence, CharSequence): BytesEncryptor
  • removed: static method Encryptors.text(CharSequence, CharSequence): TextEncryptor
  • removed: class PasswordEncoderFactories
  • removed: static method PasswordEncoderFactories.createDelegatingPasswordEncoder(): PasswordEncoder
  • removed: class Base64StringKeyGenerator implements StringKeyGenerator
  • removed: class KeyGenerators
  • removed: ctor Base64StringKeyGenerator()
  • removed: ctor Base64StringKeyGenerator(int)
  • removed: interface BytesKeyGenerator
  • removed: interface StringKeyGenerator
  • removed: method Base64StringKeyGenerator.generateKey(): String
  • removed: method BytesKeyGenerator.generateKey(): byte[]
  • removed: method BytesKeyGenerator.getKeyLength(): int
  • removed: method StringKeyGenerator.generateKey(): String
  • removed: static method KeyGenerators.secureRandom(): BytesKeyGenerator
  • removed: static method KeyGenerators.secureRandom(int): BytesKeyGenerator
  • removed: static method KeyGenerators.shared(int): BytesKeyGenerator
  • removed: static method KeyGenerators.string(): StringKeyGenerator
  • removed: abstract class AbstractPasswordEncoder implements PasswordEncoder
  • removed: class DelegatingPasswordEncoder implements PasswordEncoder
  • removed: class LdapShaPasswordEncoder implements PasswordEncoder
  • removed: class Md4PasswordEncoder implements PasswordEncoder
  • removed: class MessageDigestPasswordEncoder implements PasswordEncoder
  • removed: class Pbkdf2PasswordEncoder implements PasswordEncoder
  • removed: ctor AbstractPasswordEncoder()
  • removed: ctor DelegatingPasswordEncoder(String, Map)
  • removed: ctor LdapShaPasswordEncoder()
  • removed: ctor LdapShaPasswordEncoder(BytesKeyGenerator)
  • removed: ctor Md4PasswordEncoder()
  • removed: ctor MessageDigestPasswordEncoder(String)
  • removed: ctor Pbkdf2PasswordEncoder()
  • removed: ctor Pbkdf2PasswordEncoder(CharSequence)
  • removed: ctor Pbkdf2PasswordEncoder(CharSequence, int, int)
  • removed: ctor StandardPasswordEncoder()
  • removed: ctor StandardPasswordEncoder(CharSequence)
  • removed: enum Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
  • removed: final class NoOpPasswordEncoder implements PasswordEncoder
  • removed: final class StandardPasswordEncoder implements PasswordEncoder
  • removed: interface PasswordEncoder
  • removed: method AbstractPasswordEncoder.encode(CharSequence): String
  • removed: method AbstractPasswordEncoder.encode(CharSequence, byte[]): byte[]
  • removed: method AbstractPasswordEncoder.encodeAndConcatenate(CharSequence, byte[]): byte[]
  • removed: method AbstractPasswordEncoder.matches(CharSequence, String): boolean
  • removed: method DelegatingPasswordEncoder.encode(CharSequence): String
  • removed: method DelegatingPasswordEncoder.matches(CharSequence, String): boolean
  • removed: method DelegatingPasswordEncoder.setDefaultPasswordEncoderForMatches(PasswordEncoder): void
  • removed: method LdapShaPasswordEncoder.encode(CharSequence): String
  • removed: method LdapShaPasswordEncoder.matches(CharSequence, String): boolean
  • removed: method LdapShaPasswordEncoder.setForceLowerCasePrefix(boolean): void
  • removed: method Md4PasswordEncoder.encode(CharSequence): String
  • removed: method Md4PasswordEncoder.matches(CharSequence, String): boolean
  • removed: method Md4PasswordEncoder.setEncodeHashAsBase64(boolean): void
  • removed: method MessageDigestPasswordEncoder.encode(CharSequence): String
  • removed: method MessageDigestPasswordEncoder.matches(CharSequence, String): boolean
  • removed: method MessageDigestPasswordEncoder.setEncodeHashAsBase64(boolean): void
  • removed: method MessageDigestPasswordEncoder.setIterations(int): void
  • removed: method NoOpPasswordEncoder.encode(CharSequence): String
  • removed: method NoOpPasswordEncoder.matches(CharSequence, String): boolean
  • removed: method PasswordEncoder.encode(CharSequence): String
  • removed: method PasswordEncoder.matches(CharSequence, String): boolean
  • removed: method Pbkdf2PasswordEncoder.encode(CharSequence): String
  • removed: method Pbkdf2PasswordEncoder.matches(CharSequence, String): boolean
  • removed: method Pbkdf2PasswordEncoder.setAlgorithm(Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm): void
  • removed: method Pbkdf2PasswordEncoder.setEncodeHashAsBase64(boolean): void
  • removed: method StandardPasswordEncoder.encode(CharSequence): String
  • removed: method StandardPasswordEncoder.matches(CharSequence, String): boolean
  • removed: static field Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA1: Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
  • removed: static field Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA256: Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
  • removed: static field Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm.PBKDF2WithHmacSHA512: Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
  • removed: static method AbstractPasswordEncoder.matches(byte[], byte[]): boolean
  • removed: static method NoOpPasswordEncoder.getInstance(): PasswordEncoder
  • removed: static method Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm.valueOf(String): Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm
  • removed: static method Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm.values(): Pbkdf2PasswordEncoder.SecretKeyFactoryAlgorithm[]
  • removed: class SCryptPasswordEncoder implements PasswordEncoder
  • removed: ctor SCryptPasswordEncoder()
  • removed: ctor SCryptPasswordEncoder(int, int, int, int, int)
  • removed: method SCryptPasswordEncoder.encode(CharSequence): String
  • removed: method SCryptPasswordEncoder.matches(CharSequence, String): boolean
  • removed: class EncodingUtils
  • removed: static method EncodingUtils.concatenate(byte[][]): byte[]
  • removed: static method EncodingUtils.subArray(byte[], int, int): byte[]
  • changed: class InMemoryUserDetailsManager implements UserDetailsManager → class InMemoryUserDetailsManager implements UserDetailsManager, UserDetailsPasswordService
  • added: ctor JdbcUserDetailsManager(DataSource)
  • added: method InMemoryUserDetailsManager.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: method InMemoryUserDetailsManager.updatePassword(UserDetails, String): UserDetails
  • added: method JdbcUserDetailsManager.loadUsersByUsername(String): List
  • added: method JdbcUserDetailsManager.setSecurityContextHolderStrategy(SecurityContextHolderStrategy): void
  • added: class DelegatingSecurityContextTaskScheduler implements TaskScheduler
  • added: ctor DelegatingSecurityContextTaskScheduler(TaskScheduler)
  • added: ctor DelegatingSecurityContextTaskScheduler(TaskScheduler, SecurityContext)
  • added: method DelegatingSecurityContextTaskScheduler.schedule(Runnable, Date): ScheduledFuture
  • added: method DelegatingSecurityContextTaskScheduler.schedule(Runnable, Trigger): ScheduledFuture
  • added: method DelegatingSecurityContextTaskScheduler.scheduleAtFixedRate(Runnable, Date, long): ScheduledFuture
  • added: method DelegatingSecurityContextTaskScheduler.scheduleAtFixedRate(Runnable, long): ScheduledFuture
  • added: method DelegatingSecurityContextTaskScheduler.scheduleWithFixedDelay(Runnable, Date, long): ScheduledFuture
  • added: method DelegatingSecurityContextTaskScheduler.scheduleWithFixedDelay(Runnable, long): ScheduledFuture
  • removed: ctor FieldUtils()
  • removed: ctor MethodInvocationUtils()
  • added: method SimpleMethodInvocation.toString(): String