*** Version 2.5.1 (stable) - API 2.5.1 (stable) - 2020-09-09


- PHP 7.4 compatible
 - PHP 7 windows support
 - PHP 8.0.0beta3 compatible
 - Bug #72740 Fixes NULL byte when using addQueryField() w/o boost
 

*** Version 2.5.1 (stable) - API 2.5.1 (stable) - 2020-09-09


- PHP 7.4 compatible
 - PHP 7 windows support
 - PHP 8.0.0beta3 compatible
 - Bug #72740 Fixes NULL byte when using addQueryField() w/o boost
   

*** Version 2.5.0 (stable) - API 2.5.0 (stable) - 2019-07-04


- Atomic Updates (partials)
- Simple Optimistic Concurrency
- Compatibility with PHP 7.1, 7.2, 7.3, latest 7.4
- Enable gzip encoding if server supports it
- Fix Real Time Get requests fails if it wasn't the first request
- Fix addQueryField return wrong query
- Fix Solr Extension build fail with curl 7.19+
   

*** Version 2.4.0 (stable) - API 2.4.0 (stable) - 2016-03-30


- PHP 7 Support [Request #70696]
- Performance Optimizations
- Enabled SolrUtils::getSolrStats()
- Fix SolrException*::getInternalInfo
- Fix SolrQueryResponse::getRequestUrl returns wrong url with terms [Bug
#71591]
- Fix SolrClient::deleteByIds Segfaults with invalid ids [Bug #71853]
- Fix SolrObject::offsetExists SegFault [Bug #71852]
- Fix float formatting with decimal comma [Bug #71568]
   

*** Version 2.3.0 (stable) - API 2.3.0 (stable) - 2015-11-29


- Support indexing child/nested documents [Request #70739]
- Support nested documents parsing SolrObject [Request #70953]
- Support nested documents parsing SolrDocument [Request #70974]
- Added maxScore to SolrResponse [Request #68610]
- Fixed issues on big endean processors (Remi Collet)
- Enhancements on method parameter naming (reflections)
   

*** Version 2.2.1 (stable) - API 2.2.1 (stable) - 2015-09-27


- Fix windows build
   

*** Version 2.2.0 (stable) - API 2.2.0 (stable) - 2015-09-26


- Support Real Time Get (Request #68647)
- Support Result Grouping (Request #68793)
- Support Field Collapsing (Request #70175)
- Support Expand Component (Request #70176)
- SolrMissingMandatoryParameterException (Request #70301)
- Fix SegFault on Solr Server 500 Response with no msg [xml RW] (Bug #69156)
- Fix SegFault on non-phpserialized 500 responses from Solr Server with PHPS
RW (Bug #69156)
- Fix Failed to parse 500 error response when it lacks msg JSON/PHPS RW (Bug
#70495, #70496)
- Fix compatibility tests with Solr Server 5 (Bug #70333)
- Fix Error unserializing raw response on statistics response having NaN as
value (Bug #67394)
   

*** Version 2.1.0 (stable) - API 2.1.0 (stable) - 2014-01-15


- New Feature: SolrDisMaxQuery Builder (dismax/edismax) [Feature #67101]
- Support PHPS (PHP Serialized) Response Writer [Request #61329]
- SolrResponse::getArrayResponse [Feature #67660]
- SolrResponse::getResponse() returns SolrObject instead of array (with json
response writer) [Bug #67579]
- Argument list parameter: Argument to value separator disappears [Bug #68179]
- Conflict Occurs When using SolrDisMax::addBoostQuery and setBoostQuery [Bug
#68181]
- Doc Fix [Doc #67542]
- Internals: simple_list parameter type allow custom delimiter
- Internals: Allowed zero-length argument value
- Internals: Allowed zero-length argument-to-argument-value separator
- Security Fix
   

*** Version 2.0.0 (stable) - API 2.0.0 (stable) - 2014-06-24


- Introduced SolrServerException which handles exception responses produced by
Solr Server [Feature #67063]
 - SolrClient::commit $maxSegments removed
 - Removed php curl extension dependency for static builds [Bug #59028]
 - SolrParams/SolrModifiableParams/SolrQuery throws SolrIllegalArguments
Exception instead of E_ERROR [Feature #66858]
 - SolrQuery::__construct throws SolrIllegalArgumentException instead of
E_ERROR
 - Dropped Support for phpnative Response Writer
 - Fix config that always enables solr debug [Bug #60361]
   

*** Version 1.1.1 (stable) - API 1.1.1 (stable) - 2014-06-20


- Fix Windows Build
   

*** Version 1.1.0 (stable) - API 1.1.0 (stable) - 2014-06-19


1.1.0 Stable
 - Introduced SolrServerException which handles exception responses produced
by Solr Server [Feature #67063]
 - SolrClient::commit $maxSegments removed
 - SolrQuery::__construct throws SolrIllegalArgumentException instead of
E_ERROR
 - Removed php curl extension dependency for static builds [Bug #59028]

From 1.1.0b
 - SolrClient::system Access system servlet which fetch Solr Server System
Information
 - SolrClient::commit argument $maxSegments is now DEPRECATED
 - SolrClient::commit Added support for expungeDeletes on
 - All SolrClient methods throws SolrClientExceptions instead of E_WARNING +
SolrClientException
 - SolrClientExceptions' messages are more informative in case of connection
errors
 - Added json extension validation
 - All SolrResponse, SolrQueryResponse, SolrUpdateResponse, SolrPingResponse,
SolrGenericResponse, SolrDocument, and SolrInputDocument classes are now final
 - All parameters functions throws SolrIllegalArgumentException instead of
E_RROR
 - SolrParams/SolrModifiableParams/SolrQuery throws SolrIllegalArguments
Exception instead of E_ERROR [Feature #66858]
 - Various Bug Fixes
   

*** Version 1.1.0b (beta) - API 1.1.0b (beta) - 2014-03-17


- SolrClient::system Access system servlet which fetch Solr Server System
Information
 - SolrClient::commit argument $maxSegments is now DEPRECATED
 - SolrClient::commit Added support for expungeDeletes on
 - All SolrClient methods throws SolrClientExceptions instead of E_WARNING +
SolrClientException
 - SolrClientExceptions' messages are more informative in case of connection
errors
 - Added json extension validation
 - All SolrResponse, SolrQueryResponse, SolrUpdateResponse, SolrPingResponse,
SolrGenericResponse, SolrDocument, and SolrInputDocument classes are now final
 - All parameters functions throws SolrIllegalArgumentException instead of
E_RROR
 - SolrParams/SolrModifiableParams/SolrQuery throws SolrIllegalArguments
Exception instead of E_ERROR (Feature #66858)
 - Various Bug Fixes
   

*** Version 2.0.0b (beta) - API 2.0.0b (beta) - 2014-02-28


- Support Solr version 4.0+
- Added support for retreiving Solr Server system information through
SolrClient
    SolrClient::system()
- Support for softCommit
- Suppport for expungeDeletes
- maxSegments for commit is deprecated
- Added escape character / as per Solr 4 it is reserved for REGEX
- Disabled warnings for connection errors, SolrClientException is thrown
- SolrClientException messages for connection errors are more meaningful
indicating error messages and codes
- API changes for:
    SolrClient::commit($maxSegments = 0, $softCommit = false, $waitSearcher =
true, $expungeDeletes = false)
    SolrClient::optimize($maxSegments = 1, $softCommit = false, $waitSearcher
= true)
    SolrClient::addDocument(SolrInputDocument &$doc, $overwrite = true,
$commitWithin = 0)
    SolrClient::addDocuments(array &$docs, $overwrite = true, $commitWithin =
0)
- Several Bug Fixes
Warning: PECL Solr >= 2 is not compatible with Solr Server < 4.0
   

*** Version 1.0.2 (stable) - API 1.0.2 (stable) - 2011-11-29


- Several Bug Fixes by Pierrick, Felipe and Tony
- Changes to make the code compile on 5.2.3 and greater
- Changes to Tests by Pierrick
   

*** Version 1.0.1 (stable) - API 1.0.1 (stable) - 2011-06-04


- Added support for json response writer in SolrClient
- Removed final bit from classes so that they can be mocked in unit tests
- Changed from beta to stable
- Included phpdoc stubs in source to enable autocomplete of Solr classes and
methods in IDE during development
- Lowered libxml2 version requirement to 2.6.16
   

*** Version 0.9.11 (beta) - API 0.9.11 (beta) - 2010-06-22


- Added ability to specify response writer in constructor option
- Added new method to set response writer SolrClient::setResponseWriter()
- Currently, the only supported response writers are 'xml' and 'phpnative'
- Added support for new native Solr response writer
- New response writer is available at
https://issues.apache.org/jira/browse/SOLR-1967
   

*** Version 0.9.10 (beta) - API 0.9.10 (beta) - 2010-05-04


- Increased compatibility with older systems running CentOS 4 or 5 and RHEL4
or 5
- Added ability to compile directly without having to build libcurl and
libxml2 from source	on older systems
- Lowered minimum supported version for libcurl to 7.15.0 (Alex Samorukov)
- Lowered minimum supported version for libxml2 to 2.6.26 (Alex Samorukov)
- Fixed PECL Bug# 17172 MoreLikeThis only parses one doc (trevor at blubolt
dot com, max at blubolt dot com)
- Declared workaround macros for SSL private key constants due to support for
earlier versions of libcurl (Alex Samorukov)
- Changed extension version numbers to start using hexadecimal numbers (Israel
Ekpo)
- Added instructions on how to attempt to compile on windows (Israel Ekpo)
- Fixed PECL Bug# 17292 sending UTF-8 encoding in header (giguet at info dot
unicaen dot fr)
   

*** Version 0.9.9 (beta) - API 0.9.9 (beta) - 2010-01-10


- Fixed Bug #17009 Creating two SolrQuery objects leads to wrong query value
- Reset the buffer for the request data from the previous request in
SolrClient
- Added new internal static function solr_set_initial_curl_handle_options()
- Moved the intialization of CURL handle options to
solr_set_initial_curl_handle_options() function
- Resetting the CURL options on the (CURL *) handle after each request is
completed
- Added more explicit error message to indicate that cloning SolrParams
objects and its descendants is currently not yet supported
   

*** Version 0.9.8 (beta) - API 0.9.8 (beta) - 2009-12-04


- Fixed config.w32 for Windows build support (Pierre, Pierrick)
- Fixed Bug #16943 Segmentation Fault from solr_encode_string() during attempt
to retrieve solrXmlNode->children->content when solrXmlNode->children is NULL
(Israel)
- Disabled Expect header in libcurl (Israel)
- Disabled Memory Debugging when normal debug is enabled (Israel)
- Added list of contributors to the project
   

*** Version 0.9.7 (beta) - API 0.9.7 (beta) - 2009-11-17


- Fixed bug 16924 AC_MSG_NOTICE() is undefined in autoconf 2.13
- Added new method SolrClient::getDebug()
- Modified SolrClient::__construct() so that port numbers and other integer
values for the options can be passed as strings.
- Changed internal string handling mechanism to allow for tracking of memory
allocation in debug mode.
- Lowered minimum php version to 5.2.3. Unfortunately, this is the lowest PHP
version that will be supported. PHP versions lower than 5.2.3 are not
compatible or are causing tests to FAIL.
- Added php stubs for code-completion assists in IDEs and editors.
- Added more examples
   

*** Version 0.9.6 (beta) - API 0.9.6 (beta) - 2009-11-01


Reduced minimum php version to 5.2.4
   

*** Version 0.9.5 (beta) - API 0.9.5 (beta) - 2009-10-27


Added support for secure connections to SSL-enabled Solr servers (SSL/HTTPS).
Made connection errors more verbose.
The following options where added to the SolrClient constructor :
 - secure          (Boolean value indicating whether or not to connect in
secure mode)
 - timeout         (This is maximum time in seconds allowed for the http data
transfer operation. Default is 30 seconds)
 - ssl_cert        (File name to a PEM-formatted file containing the private
key + private certificate (concatenated in that order) )
 - ssl_key         (File name to a PEM-formatted private key file only)
 - ssl_keypassword (Password for private key)
 - ssl_cainfo      (Name of file holding one or more CA certificates to verify
peer with)
 - ssl_capath      (Name of directory holding multiple CA certificates to
verify peer with )
   

*** Version 0.9.4 (beta) - API 0.9.4 (beta) - 2009-10-23


Fixed bug 16897 - ap_php_vasprintf not available in 5.2.11
   

*** Version 0.9.3 (beta) - API 0.9.3 (beta) - 2009-10-19


- Corrected configuration options for automated installation via PECL. Removed
extra hyphens.
   

*** Version 0.9.2 (beta) - API 0.9.2 (beta) - 2009-10-19


- Fixed bug #16874 Added explanation in documentation

- Updated SolrParams::__toString() - modified to return name-value pair list
instead of serialized object string

- Added the following methods to SolrParams :

	SolrParams::toString()
	SolrParams::getParam()

- Created the following aliases in SolrParams :

	SolrParams::set()
	SolrParams::add()
	SolrParams::get()

- Added the following methods to SolrQuery :

	SolrQuery::getQuery()
	SolrQuery::getStart()
	SolrQuery::getRows()
	SolrQuery::getFields()
	SolrQuery::getSortFields()
	SolrQuery::getFilterQueries()
	SolrQuery::getTimeAllowed()

	SolrQuery::getFacet()
	SolrQuery::getFacetFields()
	SolrQuery::getFacetQueries()
	SolrQuery::getFacetPrefix()
	SolrQuery::getFacetSort()
	SolrQuery::getFacetLimit()
	SolrQuery::getFacetOffset()
	SolrQuery::getFacetMinCount()
	SolrQuery::getFacetMissing()
	SolrQuery::getFacetMethod()

	SolrQuery::getFacetDateFields()
	SolrQuery::getFacetDateStart()
	SolrQuery::getFacetDateEnd()
	SolrQuery::getFacetDateGap()
	SolrQuery::getFacetDateHardEnd()
	SolrQuery::getFacetDateOther()

	SolrQuery::getHighlight()
	SolrQuery::getHighlightFields()
	SolrQuery::getHighlightSnippets()
	SolrQuery::getHighlightFragsize()
	SolrQuery::getHighlightMergeContiguous()
	SolrQuery::getHighlightRequireFieldMatch()
	SolrQuery::getHighlightMaxAnalyzedChars()
	SolrQuery::getHighlightAlternateField()
	SolrQuery::getHighlightMaxAlternateFieldLength()
	SolrQuery::getHighlightFormatter()
	SolrQuery::getHighlightSimplePre()
	SolrQuery::getHighlightSimplePost()
	SolrQuery::getHighlightFragmenter()
	SolrQuery::getHighlightUsePhraseHighlighter()
	SolrQuery::getHighlightHighlightMultiTerm()
	SolrQuery::getHighlightRegexSlop()
	SolrQuery::getHighlightRegexPattern()
	SolrQuery::getHighlightRegexMaxAnalyzedChars()

	SolrQuery::getStats()
	SolrQuery::getStatsFields()
	SolrQuery::getStatsFacets()

	SolrQuery::getMlt()
	SolrQuery::getMltCount()
	SolrQuery::getMltFields()
	SolrQuery::getMltQueryFields()
	SolrQuery::getMltMinTermFrequency()
	SolrQuery::getMltMinDocFrequency()
	SolrQuery::getMltMinWordLength()
	SolrQuery::getMltMaxWordLength()
	SolrQuery::getMltMaxNumTokens()
	SolrQuery::getMltMaxNumQueryTerms()
	SolrQuery::getMltBoost()

	SolrQuery::getTerms()
	SolrQuery::getTermsField()
	SolrQuery::getTermsLowerBound()
	SolrQuery::getTermsUpperBound()
	SolrQuery::getTermsIncludeLowerBound()
	SolrQuery::getTermsIncludeUpperBound()
	SolrQuery::getTermsMinCount()
	SolrQuery::getTermsMaxCount()
	SolrQuery::getTermsPrefix()
	SolrQuery::getTermsLimit()
	SolrQuery::getTermsReturnRaw()
	SolrQuery::getTermsSort()
   

*** Version 0.9.1 (beta) - API 0.9.1 (beta) - 2009-10-07


- Fixed bug #16864 (Build failure in Non-ZTS builds)
   

*** Version 0.9.0 (beta) - API 0.9.0 (beta) - 2009-10-05


- Initial release after approximately 10 months of development and 3 weeks of
testing. This is the beta version. Some of the features may be modified in
future releases.
   

