Release Notes

Version 2.4.0 - 01Dec2024

Issue Description
ldaptive-273 Improve flexibility of prune strategy.
ldaptive-272 Refactor netty transport creation.
ldaptive-267 Add referral support for non-search operations.
ldaptive-266 Remove serializable interface from JAAS principals.
ldaptive-264 Improve logging in response handlers.
ldaptive-258 Add notion of immutability to configuration objects.
ldaptive-256 Separate URL parsing concerns from URL state management in connections.
ldaptive-255 Add spotbugs maven plugin.

Version 2.3.2 - 11Apr2024

Issue Description
ldaptive-254 Restrict max filter depth.
674c64d Filter parsing improvements.
ldaptive-252 Multi-byte characters incorrectly encoded in filter assertions.

Version 2.3.1 - 26Feb2024

Issue Description
ldaptive-251 SaslHandler does not send length correctly.
32528ad Change autoReplay default to false.
ldaptive-248 Response timeout is too strict for search operations.
b9e186a Prefer cached thread pool for reconnects.

Version 2.3.0 - 15Jan2024

Issue Description
ldaptive-244 Add ConnectionValidator to SingleConnectionFactory.
ldaptive-243 Add timeoutIsFailure and validResultCodesto SearchConnectionValidator and CompareConnectionValidator.
c662b2f Add support for determining ancestry, descendancy and equality of DNs.
0746c08 Add support for search references and reloadHint in SyncReplClient.
ae1bda7 Improvements to VLV and paged results.
cf0311b Improve DefaultRDnNormalizer.
53f9076 Add minimal attribute value escaper.
ldaptive-238 Prefer normalized DNs to lowercased DNs in LdapEntry.
ldaptive-237 Remove use of Locale specific lower/upper casing.

Version 2.2.0 - 17Aug2023

slf4j updated to version 2 with this release.

The following structual changes were made:

Issue Description
ldaptive-234 GSSAPI throws exception evaluating last challenge.

Version 2.1.2 - 11Mar2023

Issue Description
ldaptive-228 Support batching for batching merge operations.
ldaptive-227 Improve MergeOperation to support configuration of underlying operations.
ldaptive-221 Fix the initialization of SyncInfoMessage.
ldaptive-218 Fix potential long waits on checkout.
ldaptive-212 Add basic Java module support.

Version 2.1.1 - 16Apr2022

Issue Description
ldaptive-206 Add formal package for DN parsing.
ldaptive-203 Add support for draft-ietf-ldapext-locate in DnsSrvConnectionStrategy.
ldaptive-202 Add ValidationExceptionHandler to pooling config.
ldaptive-200 Deep copy connection strategy.

Version 2.1.0 - 02Aug2021

Issue Description
ldaptive-199 Mis-spelled methods in ModifyRequest.Builder.
ldaptive-197 CompareAuthenticationHandler skips entry resolution.
ldaptive-196 Change default schema parser to use a CharBuffer.
ldaptive-194 Update CredentialReader to support multiple paths.
ldaptive-192 Update SearchDnResolver to support an attribute entry.
ldaptive-191 Add MergeResultHandler.
ldaptive-188 Connection validator can’t block in netty pipeline.
ldaptive-186 SyncReplRunner thread exhaustion.

Version 2.0.1 - 09Nov2020

Issue Description
ldaptive-3 Add support for the matched values request control.

Version 2.0.0 - 26Jul2020

Initial v2 release based on Netty. Java 11 required.

Version 1.2.4 - 18Jan2019

Issue Description
ldaptive-144 Incorrect JNDI base DN escaping.
ldaptive-140 Passivator orphans connections.
ldaptive-138 Escape control characters in auth logs.
ldaptive-136 Clean up thread-local used in ThreadLocalTLSSocketFactory.
ldaptive-135 Simple type conversion does not support Object wrappers.
ldaptive-131 PasswordPolicyControl ambiguous graceAuthNsRemaining.

Version 1.2.3 - 04Oct2017

Issue Description
ldaptive-127 Add CertificateHostnameVerifier property to SslConfig.

Version 1.2.2 - 21Jul2017

Issue Description
ldaptive-125 Add support for authentication request handling
ldaptive-123 Add support for SessionTrackingControl
ldaptive-121 Fix algorithm handling for CompareAuthenticationHandler

Version 1.2.1 - 22Nov2016

Issue Description
ldaptive-119 Incorrect DN backslash escaping in JNDI provider
ldaptive-117 Incorrect equals implementation

Version 1.2.0 - 26Jul2016

Issue Description
ldaptive-111 Add passwordAttribute property to CompareAuthenticationHandler
ldaptive-107 Support resolving Credential property from a resource
ldaptive-106 Fix incorrect logging in AggregateDnResolver
ldaptive-101 Update CaseChangeEntryHandler to support specific attributes
ldaptive-99 Fix potential ClassNotFoundException in JNDI provider with SSLSocketFactory
ldaptive-96 Update LDAPI package, now available in maven central
ldaptive-89 Allow configuration of return attributes on the Authenticator
ldaptive-75 ConnectionStrategy interface moved to the base package
ldaptive-74 ActiveDirectoryAuthenticationHandler updated to use msDS-UserPasswordExpiryTimeComputed
ldaptive-71 Snapshots are published to maven-repo
ldaptive-64 Refactor DnResolver to use User object
ldaptive-61 Refactor JSON package to use GSON
ldaptive-60 Use new java.time API instead of Calendar
ldaptive-59 Use Java 8 base64 implementation
ldaptive-58 Use Duration instead of int or long
ldaptive-57 Add FreeIPA authentication response handler
ldaptive-56 Add support for Spring extensible namespaces to the beans package

Version 1.1.0 - 09Oct2015

Issue Description
ldaptive-53 Add minimumQueryTermLength to AbstractServletSearchTemplatesExecutor
ldaptive-52 Remove TLSSocketFactory#hostnameVerifier
ldaptive-50 Add support for specific attribute names in DefaultLdapEntryManager
ldaptive-46 EDirectory authentication response handler should support an expiration window
ldaptive-45 Can not set default sort behavior with a JVM switch
ldaptive-44 BindAuthenticationHandler throws for most result codes
ldaptive-43 EDirectoryAuthenticationResponseHandler prefers warning to error
ldaptive-41 PasswordPolicyAuthenticationResponseHandler prefers warning to error
ldaptive-39 Add cipher suites/protocol support to the UnboundIDProvider
ldaptive-37 Make AbstractConnectionPool#isInitialized public
ldaptive-36 JNDI DN Formating
ldaptive-34 DefaultLdapEntryManager find implementation is broken
ldaptive-33 Entry mapper implementations are not generified
ldaptive-31 Schema parsing does not support empty DESC
ldaptive-29 Add resolvedDN to the authentication response
ldaptive-28 Add ldaptive namespace for Spring extensible XML
ldaptive-25 Add ldaptive support for following referrals
ldaptive-23 JNDI only returns first referral URL
ldaptive-20 SpringLdapEntryMapper doesn’t map byte array correctly
ldaptive-19 Improve pool log levels
ldaptive-16 Support Java 7 try-with-resources
ldaptive-14 Providers shouldn’t detect binary attributes
ldaptive-7 Add entry resolver that leverages the authorization identity control
ldaptive-5 Add support for resolving LDAP servers via SRV DNS records

Version 1.0.6 - 27Feb2015

Issue Description
ldaptive-27 Webapp should escape HTML in attribute values
ldaptive-24 ThreadLocalTLSSocketFactory not reinitialized by JNDI
ldaptive-21 AggregateDnResolver uses incorrect class in it’s AuthenticationHandler
ldaptive-14 Detection of binary attributes
ldaptive-9 Add an entry handler for the AD primary group attribute

Version 1.0.5 - 24Oct2014

Issue Description
ldaptive-230 Add support for the authorization identity control
ldaptive-229 BER lengths are decoded as signed 2s complement
ldaptive-228 Add support for parsing ASN1 distinguished names
ldaptive-227 Default hostname verifier should not parse hostname as a string
ldaptive-225 AggregateDnResolver blocks forever
ldaptive-224 Refactored SearchEntryResolver to support subtree searches
ldaptive-223 Added support for binaryAttributes property in the UnboundID provider

Version 1.0.4 - 02Jul2014

Issue Description
ldaptive-219 fix ClassCastException for SearchReferences with sorted results
ldaptive-218 support transcoder in @Attribute annotation
ldaptive-216 add name property to connection pools
ldaptive-215 refactor ConnectionStrategy from an enum to an interface
ldaptive-214 connection pool initialization failures should propagate out
ldaptive-211 generate java POJOs from LDAP schema
ldaptive-206 add LDAPI support
ldaptive-160 add bean persistence support

Version 1.0.3 - 01Apr2014

Issue Description
ldaptive-213 fix JNDI format DN for directories that treat baseDn differently
ldaptive-212 aggregrate trust manager should allow any
ldaptive-210 add value transcoder for UUID
ldaptive-209 LdifReader throws on mixed values
ldaptive-208 add schema support classes
ldaptive-205 add support for password expiration warnings in Active Directory

Version 1.0.2 - 22Nov2013

Issue Description
ldaptive-200 add failfast property for pool initialization
ldaptive-199 provide blocking queue based search executor for memory constrained searching
ldaptive-197 allow for selecting a specific alias when using KeyStores in SSL
ldaptive-196 provide capacity controls for classes that use blocking queues
ldaptive-195 provide an enum for static return attribute values
ldaptive-194 expose attribute value encoding methods on SearchFilter
ldaptive-193 fix concurrent modification exception in recursive entry handler
ldaptive-191 escape user input in FormatDnResolver
ldaptive-183 add support for the persitent search request control (draft-ietf-ldapext-psearch-03)
ldaptive-178 add support for the proxied authorization control (RFC 4370)
ldaptive-177 expose the authentication request in authentication criteria
ldaptive-176 provide support for encoding and decoding of Active Directory unicodePwd attribute

Version 1.0.1 - 01July2013

Issue Description
ldaptive-172 allow adding of search entry handlers to search entry resolvers
ldaptive-171 search servlet should check for empty query
ldaptive-170 add bind passivator implementation
ldaptive-169 update unboundid sdk version (2.3.4)
ldaptive-168 update apache ldap api version (1.0.0-M18)
ldaptive-167 add support for parsing Generalized Time attributes
ldaptive-166 update ObjectGuidHandler and ObjectSidHandler to support any attribute in that format
ldaptive-162 update unboundid sdk version (2.3.3)
ldaptive-161 update apache ldap api version (1.0.0-M17)
ldaptive-159 is/set method properties not supported by the property invoker
ldaptive-157 property source should not overwrite provider config settings unless data was found
ldaptive-156 add ability to create credential config from preexisting credentials
ldaptive-150 NullPointerException thrown by BlockingConnectionPool#toString() if invoked before #initialize()
ldaptive-149 add support for client side syncing of LDAP entries with a MergeOperation
ldaptive-148 add support for creating X509CredentialConfig from a PEM encoded String
ldaptive-146 using sorted attributes with multiple binary values causes a ClassCastException

Version 1.0 - 15March2013

Initial Release