<commit_before>
Changes since release 4.3 BETA2
-------------------

* [HTTPCLIENT-1384] Expose CacheInvalidator interface.
  Contributed by <NAME> <nicolas.richeton at free.fr>
 
* [HTTPCLIENT-1385] Fixed path normalization in CacheKeyGenerator
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1385] Fixed path normalization in CacheKeyGenerator
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1370] Response to non-GET requests should never be cached with the default
  ResponseCachingPolicy
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1373] OPTIONS and TRACE should not invalidate cache
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1383] HttpClient enters an infinite loop during NTLM authentication if the opposite 
  endpoint keeps responding with a type 2 NTLM response after type 3 MTLM message has already been 
  sent by the client.
  Contributed by <NAME> <olegk at apache.org>

* [HTTPCLIENT-1372] Refactor HttpMultipart, and add RFC6532 mode, so that headers in post
  are no longer constrained to ASCII values.
  Contributed by <NAME> <kwright at apache.org>

* [HTTPCLIENT-1377] User principal for non-NTLM authentication is incorrectly generated when using 
  user credentials are specified as NTCredentials
  Contributed by <NAME> <ggregory at apache.org>



Release 4.3 BETA2
-------------------

This is the second BETA release of HttpClient 4.3. The most notable features and improvements 
in the 4.3 branch are: 

* Support for Java 7 try-with-resources for resource management (connection release.)

* Added fluent Builder classes for HttpEntity, HttpRequest, HttpClient and SSLContext instances. 

* Deprecation of preference and configuration API based on HttpParams interface in favor of
constructor injection and plain configuration objects.

* Reliance on object immutability instead of access synchronization for thread safety. 
Several old classes whose instances can be shared by multiple request exchanges have
been replaced by immutable equivalents. 

* DefaultHttpClient,  DecompressingHttpClient, CachingHttpClient and similar classes are 
deprecated in favor of builder classes that produce immutable HttpClient instances. 

* HttpClient builders now dynamically construct a request execution pipeline tailored 
specifically to the user configuration by physically excluding unnecessary protocol components.

* There is now an option to construct a minimal HttpClient implementation that can only execute 
basic HTTP message exchanges without redirects, authentication, state management or proxy support.
This feature might be of particular use in web crawler development. 

* There is now option to avoid strict URI syntax for request URIs by executing HTTP requests 
with an explicitly specified target host. HttpClient will no longer attempt to parse the request 
URI if it does not need to extract the target host from it.

This release also includes all fixes from the stable 4.2.x release branch.


* [HTTPCLIENT-1366] org.apache.http.client.utils.URLEncodedUtils should parse the semicolon as a query parameter separator.
  Contributed by <NAME> <ggregory at apache.org>

* [HTTPCLIENT-1365] NPE when ManagedHttpClientConnectionFactory.create(ConnectionConfig) is called with null.
  Contributed by <NAME> <ggregory at apache.org>

* [HTTPCLIENT-1362] Better error messages for connect timed out and connection refused 
  exceptions.
  Contributed by <NAME> <olegk at apache.org>

* [HTTPCLIENT-1360] separate out DeflateInputStream as an independent class,
  so it can be used by others.
  Contributed by <NAME> <kwright at apache.org>

* [HTTPCLIENT-1359] repeated requests using the same context fail if they redirect.<commit_msg>Updated HttpClient 4.3 release notes<commit_after>Release 4.3 Final
-------------------

This is the first stable (GA) release of HttpClient 4.3. The most notable enhancements included 
in this release are:

* Support for Java 7 try-with-resources for resource management (connection release.)

* Added fluent Builder classes for HttpEntity, HttpRequest, HttpClient and SSLContext instances. 

* Deprecation of preference and configuration API based on HttpParams interface in favor of
constructor injection and plain configuration objects.

* Reliance on object immutability instead of access synchronization for thread safety. 
Several old classes whose instances can be shared by multiple request exchanges have
been replaced by immutable equivalents. 

* DefaultHttpClient,  DecompressingHttpClient, CachingHttpClient and similar classes are 
deprecated in favor of builder classes that produce immutable HttpClient instances. 

* HttpClient builders now dynamically construct a request execution pipeline tailored 
specifically to the user configuration by physically excluding unnecessary protocol components.

* There is now an option to construct a minimal HttpClient implementation that can only execute 
basic HTTP message exchanges without redirects, authentication, state management or proxy support.
This feature might be of particular use in web crawler development. 

* There is now option to avoid strict URI syntax for request URIs by executing HTTP requests 
with an explicitly specified target host. HttpClient will no longer attempt to parse the request 
URI if it does not need to extract the target host from it.

This release also includes all fixes from the stable 4.2.x release branch.


Changelog
-------------------

* [HTTPCLIENT-1384] Expose CacheInvalidator interface.
  Contributed by <NAME> <nicolas.richeton at free.fr>
 
* [HTTPCLIENT-1385] Fixed path normalization in CacheKeyGenerator
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1385] Fixed path normalization in CacheKeyGenerator
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1370] Response to non-GET requests should never be cached with the default
  ResponseCachingPolicy
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1373] OPTIONS and TRACE should not invalidate cache
  Contributed by <NAME> <james at 3roundstones dot com>

* [HTTPCLIENT-1383] HttpClient enters an infinite loop during NTLM authentication if the opposite 
  endpoint keeps responding with a type 2 NTLM response after type 3 MTLM message has already been 
  sent by the client.
  Contributed by <NAME> <olegk at apache.org>

* [HTTPCLIENT-1372] Refactor HttpMultipart, and add RFC6532 mode, so that headers in post
  are no longer constrained to ASCII values.
  Contributed by <NAME> <kwright at apache.org>

* [HTTPCLIENT-1377] User principal for non-NTLM authentication is incorrectly generated when using 
  user credentials are specified as NTCredentials
  Contributed by <NAME> <ggregory at apache.org>



Release 4.3 BETA2
-------------------

This is the second BETA release of HttpClient 4.3. The most notable features and improvements 
in the 4.3 branch are: Support for Java 7  try-with-resources for resource management (connection 
release); fluent Builder classes for HttpEntity, HttpRequest and HttpClient instances, deprecation 
of preference and configuration API based on HttpParams interface in favor of constructor injection 
and plain configuration objects, reliance on object immutability instead of access synchronization 
for thread safety. 

This release also includes all fixes from the stable 4.2.x release branch.

Changelog
-------------------


* [HTTPCLIENT-1366] org.apache.http.client.utils.URLEncodedUtils should parse the semicolon as a query parameter separator.
  Contributed by <NAME> <ggregory at apache.org>

* [HTTPCLIENT-1365] NPE when ManagedHttpClientConnectionFactory.create(ConnectionConfig) is called with null.
  Contributed by <NAME> <ggregory at apache.org>

* [HTTPCLIENT-1362] Better error messages for connect timed out and connection refused 
  exceptions.
  Contributed by <NAME> <olegk at apache.org>

* [HTTPCLIENT-1360] separate out DeflateInputStream as an independent class,
  so it can be used by others.
  Contributed by <NAME> <kwright at apache.org>

* [HTTPCLIENT-1359] repeated requests using the same context fail if they redirect.
{'fraction_non_alphanumeric': 0.05776261272239824, 'fraction_numerical': 0.0190104801364855, 'mean_word_length': 4.48596256684492, 'pattern_counts': {'":': 0, '<': 51, '<?xml version=': 0, '>': 51, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1826937', 'n_tokens_mistral': 2214, 'n_tokens_neox': 2050, 'n_words': 1030}