You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jd...@apache.org on 2012/09/14 18:14:47 UTC

svn commit: r1384834 [2/3] - in /lucene/dev/branches/lucene_solr_3_6/solr: ./ contrib/ contrib/dataimporthandler/ contrib/dataimporthandler/src/java/org/apache/solr/handler/dataimport/ contrib/dataimporthandler/src/test/org/apache/solr/handler/dataimport/

Modified: lucene/dev/branches/lucene_solr_3_6/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene_solr_3_6/solr/CHANGES.txt?rev=1384834&r1=1384833&r2=1384834&view=diff
==============================================================================
--- lucene/dev/branches/lucene_solr_3_6/solr/CHANGES.txt (original)
+++ lucene/dev/branches/lucene_solr_3_6/solr/CHANGES.txt Fri Sep 14 16:14:46 2012
@@ -2,37 +2,1116 @@
 
 Introduction
 ------------
-Solr is the popular, blazing fast open source enterprise search platform from
-the Apache Lucene project. Its major features include powerful full-text
-search, hit highlighting, faceted search, dynamic clustering, database
-integration, and rich document (e.g., Word, PDF) handling. Solr is highly
-scalable, providing distributed search and index replication, and it powers the
-search and navigation features of many of the world's largest internet sites.
-
-Solr is written in Java and runs as a standalone full-text search server within
-a servlet container such as Tomcat. Solr uses the Lucene Java search library at
-its core for full-text indexing and search, and has REST-like HTTP/XML and JSON
-APIs that make it easy to use from virtually any programming language. Solr's
-powerful external configuration allows it to be tailored to almost any type of
-application without Java coding, and it has an extensive plugin architecture
-when more advanced customization is required. 
+Apache Solr is an open source enterprise search server based on the Apache Lucene Java
+search library, with XML/HTTP and JSON APIs, hit highlighting, faceted search,
+caching, replication, and a web administration interface. It runs in a Java
+servlet container such as Tomcat.
 
-See README.txt and http://lucene.apache.org/solr for more information
-on how to get started.
+See http://lucene.apache.org/solr for more information.
+
+
+Getting Started
+---------------
+You need a Java 1.6 VM or later installed.
+In this release, there is an example Solr server including a bundled 
+servlet container in the directory named "example".
+See the tutorial at http://lucene.apache.org/solr/tutorial.html
+
+
+$Id$
+
+==================  5.0.0 ==================
+
+(No changes)
+
+==================  4.0.0 ==================
+
+Versions of Major Components
+---------------------
+Apache Tika 1.2
+Carrot2 3.5.0
+Velocity 1.6.4 and Velocity Tools 2.0
+Apache UIMA 2.3.1
+Apache ZooKeeper 3.3.6
+
+Upgrading from Solr 4.0.0-BETA
+----------------------
+
+In order to better support distributed search mode, the TermVectorComponent's
+response format has been changed so that if the schema defines a 
+uniqueKeyField, then that field value is used as the "key" for each document in
+it's response section, instead of the internal lucene doc id.  Users w/o a 
+uniqueKeyField will continue to see the same response format.  See SOLR-3229
+for more details.
+
+If you are using SolrCloud's distributed update request capabilities and a non
+string type id field, you must re-index.
+
+Detailed Change List
+----------------------
+
+New Features
+----------------------
+
+* SOLR-3670: New CountFieldValuesUpdateProcessorFactory makes it easy to index 
+  the number of values in another field for later use at query time. (hossman)
+
+* SOLR-2768: new "mod(x,y)" function for computing the modulus of two value 
+  sources. (hossman)
+
+* SOLR-3238: Numerous small improvements to the Admin UI (steffkes)
+
+* SOLR-3597: seems like a lot of wasted whitespace at the top of the admin screens
+  (steffkes)
+
+Optimizations
+----------------------
+
+* SOLR-3715: improve concurrency of the transaction log by removing
+  synchronization around log record serialization. (yonik)
 
-==================  3.6.2  ==================
 
 Bug Fixes
 ----------------------
+
+* SOLR-3685: Solr Cloud sometimes skipped peersync attempt and replicated instead due
+  to tlog flags not being cleared when no updates were buffered during a previous
+  replication.  (Markus Jelsma, Mark Miller, yonik)
+
+* SOLR-3229: Fixed TermVectorComponent to work with distributed search
+  (Hang Xie, hossman)
+
+* SOLR-3725: Fixed package-local-src-tgz target to not bring in unnecessary jars
+  and binary contents.  (Michael Dodsworth via rmuir)
+
+* SOLR-3649: Fixed bug in JavabinLoader that caused deleteById(List<String> ids)
+  to not work in SolrJ (siren)
+
+* SOLR-3730: Rollback is not implemented quite right and can cause corner case fails in 
+  SolrCloud tests. (rmuir, Mark Miller)
+
+* SOLR-2981: Fixed StatsComponent to no longer return duplicated information 
+  when requesting multiple stats.facet fields.
+  (Roman Kliewer via hossman)
+
+* SOLR-3743: Fixed issues with atomic updates and optimistic concurrency in
+  conjunction with stored copyField targets by making real-time get never
+  return copyField targets. (yonik)
+
+* SOLR-3746: Proper error reporting if updateLog is configured w/o necessary 
+  "_version_" field in schema.xml (hossman)
+
+* SOLR-3745: Proper error reporting if SolrCloud mode is used w/o 
+  necessary "_version_" field in schema.xml (hossman)
+
+* SOLR-3770: Overseer may lose updates to cluster state (siren)
+
+* SOLR-3721: Fix bug that could theoretically allow multiple recoveries to run
+  briefly at the same time if the recovery thread join call was interrupted.
+  (Per Steffensen, Mark Miller)
+
+* SOLR-3782: A leader going down while updates are coming in can cause shard
+  inconsistency. (Mark Miller)
+
+* SOLR-3611: We do not show ZooKeeper data in the UI for a node that has children.
+  (Mark Miller)
+
+* SOLR-3789: Fix bug in SnapPuller that caused "internal" compression to fail.
+  (siren)
+
 * SOLR-3790: ConcurrentModificationException could be thrown when using hl.fl=*.
-  (yonik, koji)
+  Fixed in r1231606. (yonik, koji)
+
+* SOLR-3668: DataImport : Specifying Custom Parameters (steffkes)
+
+* SOLR-3793: UnInvertedField faceting cached big terms in the filter
+  cache that ignored deletions, leading to duplicate documents in search
+  later when a filter of the same term was specified.
+  (Günter Hipler, hossman, yonik)
+
+* SOLR-3679: Core Admin UI gives no feedback if "Add Core" fails (steffkes, hossman)
+
+* SOLR-3795: Fixed LukeRequestHandler response to correctly return field name 
+  strings in copyDests and copySources arrays (hossman)
+
+* SOLR-3699: Fixed some Directory leaks when there were errors during SolrCore 
+  or SolrIndexWriter initialization. (hossman)
+
+* SOLR-3518: Include final 'hits' in log information when aggregating a 
+  distibuted request (Markus Jelsma via hossman)
+
+* SOLR-3628: SolrInputField and SolrInputDocument are now consistently backed 
+  by Collections passed in to setValue/setField, and defensively copy values 
+  from Collections passed to addValue/addField
+  (Tom Switzer via hossman)
+
+* SOLR-3595: CurrencyField now generates an appropriate error on schema init
+  if it is configured as multiValued - this has never been properly supported, 
+  but previously failed silently in odd ways.  (hossman)
+
+* SOLR-3823: Fix 'bq' parsing in edismax.  Please note that this required 
+  reverting the negative boost support added by SOLR-3278 (hossman)
+
+* SOLR-3827: Fix shareSchema=true in solr.xml 
+  (Tomás Fernández Löbbe via hossman)
+
+* SOLR-3809: Fixed config file replication when subdirectories are used
+  (Emmanuel Espina via hossman)
+
+* SOLR-3828: Fixed QueryElevationComponent so that using 'markExcludes' does 
+  not modify the result set or ranking of 'excluded' documents relative to 
+  not using elevation at all.  (Alexey Serba via hossman)
+
+* SOLR-3569: Fixed debug output on distributed requests when there are no 
+  results found.  (David Bowen via hossman)
+
+* SOLR-3811: Query Form using wrong values for dismax, edismax (steffkes)
+
+* SOLR-3779: DataImportHandler's LineEntityProcessor when used in conjunction 
+  with FileListEntityProcessor would only process the first file.
+  (Ahmet Arslan via James Dyer)
+  
+* SOLR-3791: CachedSqlEntityProcessor would throw a NullPointerException when 
+  a query returns a row with a NULL key.  (Steffen Moelter via James Dyer)
+
+Other Changes
+----------------------
+
+* SOLR-3690: Fixed binary release packages to include dependencie needed for 
+  the solr-test-framework (hossman)
+
+* SOLR-2857: The /update/json and /update/csv URLs were restored to aid
+  in the migration of existing clients.  (yonik)
+
+* SOLR-3691: SimplePostTool: Mode for crawling/posting web pages
+  See http://wiki.apache.org/solr/ExtractingRequestHandler for examples (janhoy)
+
+* SOLR-3707: Upgrade Solr to Tika 1.2 (janhoy)
+
+* SOLR-2747: Updated changes2html.pl to handle Solr's CHANGES.txt; added
+  target 'changes-to-html' to solr/build.xml.
+  (Steve Rowe, Robert Muir)
+  
+* SOLR-3752: When a leader goes down, have the Overseer clear the leader state
+  in cluster.json (Mark Miller)
+
+* SOLR-3751: Add defensive checks for SolrCloud updates and requests that ensure 
+  the local state matches what we can tell the request expected. (Mark Miller)
+  
+* SOLR-3773: Hash based on the external String id rather than the indexed 
+  representation for distributed updates. (Michael Garski, yonik, Mark Miller)
+
+* SOLR-3780: Maven build: Make solrj tests run separately from solr-core.
+  (Steve Rowe)
+  
+* SOLR-3772: Optionally, on cluster startup, we can wait until we see all registered 
+  replicas before running the leader process - or if they all do not come up, 
+  N amount of time. (Jan Høydahl, Per Steffensen, Mark Miller)
+
+* SOLR-3750: Optionaly, on session expiration, we can explicitly wait some time before 
+  running the leader sync process so that we are sure every node participates.
+  (Per Steffensen, Mark Miller)
+
+* SOLR-3824: Velocity: Error messages from search not displayed (janhoy)
+
+==================  4.0.0-BETA ===================
+
+
+Versions of Major Components
+---------------------
+Apache Tika 1.1
+Carrot2 3.5.0
+Velocity 1.6.4 and Velocity Tools 2.0
+Apache UIMA 2.3.1
+Apache ZooKeeper 3.3.6
+
+Upgrading from Solr 4.0.0-ALPHA
+----------------------
+
+Solr is now much more strict about requiring that the uniqueKeyField feature 
+(if used) must refer to a field which is not multiValued.  If you upgrade from 
+an earlier version of Solr and see an error that your uniqueKeyField "can not 
+be configured to be multivalued" please add 'multiValued="false"' to the 
+<field /> declaration for your uniqueKeyField.  See SOLR-3682 for more details.
+
+Detailed Change List
+----------------------
+
+New Features
+----------------------
+
+* LUCENE-4201: Added JapaneseIterationMarkCharFilterFactory to normalize Japanese
+  iteration marks. (Robert Muir, Christian Moen)
+
+* SOLR-1856: In Solr Cell, literals should override Tika-parsed values.
+  Patch adds a param "literalsOverride" which defaults to true, but can be set 
+  to "false" to let Tika-parsed values be appended to literal values (Chris Harris, janhoy)
+  
+* SOLR-3488: Added a Collection management API for SolrCloud.
+  (Tommaso Teofili, Sami Siren, yonik, Mark Miller)
+
+* SOLR-3559: Full deleteByQuery support with SolrCloud distributed indexing.
+  All replicas of a shard will be consistent, even if updates arrive in a
+  different order on different replicas.  (yonik)
+
+* SOLR-1929: Index encrypted documents with ExtractingUpdateRequestHandler.
+  By supplying resource.password=<mypw> or specifying an external file with regular
+  expressions matching file names, Solr will decrypt and index PDFs and DOCX formats.
+  (janhoy, Yiannis Pericleous)
+
+* SOLR-3562: Add options to remove instance dir or data dir on core unload.
+  (Mark Miller, Per Steffensen)
+
+* SOLR-2702: The default directory factory was changed to NRTCachingDirectoryFactory 
+  which wraps the StandardDirectoryFactory and caches small files for improved
+  Near Real-time (NRT) performance. (Mark Miller, yonik)
+  
+* SOLR-2616: Include a sample java util logging configuration file. 
+  (David Smiley, Mark Miller)
+ 
+* SOLR-3460: Add cloud-scripts directory and a zkcli.sh|bat tool for easy scripting
+  and interaction with ZooKeeper. (Mark Miller)
+
+* SOLR-1725: StatelessScriptUpdateProcessorFactory allows users to implement
+  the full ScriptUpdateProcessor API using any scripting language with a 
+  javax.script.ScriptEngineFactory
+  (Uri Boness, ehatcher, Simon Rosenthal, hossman)
+
+* SOLR-139: Change to updateable documents to create the document if it doesn't
+  already exist.  To assert that the document must exist, use the optimistic
+  concurrency feature by specifying a _version_ of 1.  (yonik)
+
+* LUCENE-2510, LUCENE-4044: Migrated Solr's Tokenizer-, TokenFilter-, and
+  CharFilterFactories to the lucene-analysis module. To add new analysis
+  modules to Solr (like ICU, SmartChinese, Morfologik,...), just drop in
+  the JAR files from Lucene's binary distribution into your Solr instance's
+  lib folder. The factories are automatically made available with SPI.
+  (Chris Male, Robert Muir, Uwe Schindler)
+
+* SOLR-3634, SOLR-3635: CoreContainer and CoreAdminHandler will now remember 
+  and report back information about failures to initialize SolrCores.  These 
+  failures will be accessible from the web UI and CoreAdminHandler STATUS 
+  command until they are "reset" by creating/renaming a SolrCore with the 
+  same name.  (hossman, steffkes)
+
+* SOLR-1280: Added commented-out example of the new script update processor
+  to the example configuration.  See http://wiki.apache.org/solr/ScriptUpdateProcessor (ehatcher)
+
+* SOLR-3672: SimplePostTool: Improvements for posting files
+  Support for auto mode, recursive and wildcards (janhoy)
+
+Optimizations
+----------------------
+
+* SOLR-3708: Add hashCode to ClusterState so that structures built based on the 
+  ClusterState can be easily cached. (Mark Miller)
+
+* SOLR-3709: Cache the url list created from the ClusterState in CloudSolrServer on each 
+  request. (Mark Miller, yonik)
+  
+* SOLR-3710: Change CloudSolrServer so that update requests are only sent to leaders by 
+  default. (Mark Miller)
+
+Bug Fixes
+----------------------
+
+* SOLR-3582: Our ZooKeeper watchers respond to session events as if they are change events, 
+  creating undesirable side effects. (Trym R. Møller, Mark Miller)
+
+* SOLR-3467: ExtendedDismax escaping is missing several reserved characters
+  (Michael Dodsworth via janhoy)
+  
+* SOLR-3587: After reloading a SolrCore, the original Analyzer is still used rather than a new 
+  one. (Alexey Serba, yonik, rmuir, Mark Miller)
+  
+* LUCENE-4185: Fix a bug where CharFilters were wrongly being applied twice. (Michael Froh, rmuir)
+
+* SOLR-3610: After reloading a core, indexing would fail on any newly added fields to the schema. (Brent Mills, rmuir)
+
+* SOLR-3377: edismax fails to correctly parse a fielded query wrapped by parens.
+  This regression was introduced in 3.6.  (Bernd Fehling, Jan Høydahl, yonik)
+  
+* SOLR-3621: Fix rare concurrency issue when opening a new IndexWriter for replication or rollback.
+  (Mark Miller)
+
+* SOLR-1781: Replication index directories not always cleaned up. 
+  (Markus Jelsma, Terje Sten Bjerkseth, Mark Miller)
+
+* SOLR-3639: Update ZooKeeper to 3.3.6 for a variety of bug fixes. (Mark Miller)
+
+* SOLR-3629: Typo in solr.xml persistence when overriding the solrconfig.xml 
+  file name using the "config" attribute prevented the override file from being
+  used. (Ryan Zezeski, hossman)
+
+* SOLR-3642: Correct broken check for multivalued fields in stats.facet
+  (Yandong Yao, hossman)
+
+* SOLR-3660: Velocity: Link to admin page broken (janhoy)
+
+* SOLR-3658: Adding thousands of docs with one UpdateProcessorChain instance can briefly create
+  spikes of threads in the thousands. (yonik, Mark Miller)
+
+* SOLR-3656: A core reload now always uses the same dataDir.  (Mark Miller, yonik)
+
+* SOLR-3662: Core reload bugs: a reload always obtained a non-NRT searcher, which
+  could go back in time with respect to the previous core's NRT searcher.  Versioning
+  did not work correctly across a core reload, and update handler synchronization
+  was changed to synchronize on core state since more than on update handler
+  can coexist for a single index during a reload. (yonik)
+  
+* SOLR-3663: There are a couple of bugs in the sync process when a leader goes down and a 
+  new leader is elected. (Mark Miller)
+
+* SOLR-3623: Fixed inconsistent treatment of third-party dependencies for 
+  solr contribs analysis-extras & uima (hossman) 
+
+* SOLR-3652: Fixed range faceting to error instead of looping infinitely 
+  when 'gap' is zero -- or effectively zero due to floating point arithmetic 
+  underflow. (hossman)
+
+* SOLR-3648: Fixed VelocityResponseWriter template loading in SolrCloud mode.
+  For the example configuration, this means /browse now works with SolrCloud.
+  (janhoy, ehatcher)
+
+* SOLR-3677: Fixed missleading error message in web ui to distinguish between 
+  no SolrCores loaded vs. no /admin/ handler available.
+  (hossman, steffkes)
+  
+* SOLR-3428: SolrCmdDistributor flushAdds/flushDeletes can cause repeated 
+  adds/deletes to be sent (Mark Miller, Per Steffensen)
+  
+* SOLR-3647: DistributedQueue should use our Solr zk client rather than the std zk 
+  client. ZooKeeper expiration can be permanent otherwise. (Mark Miller)
+
+Other Changes
+----------------------
+
+* SOLR-3524: Make discarding punctuation configurable in JapaneseTokenizerFactory.
+  The default is to discard punctuation, but this is overridable as an expert option.
+  (Kazuaki Hiraga, Jun Ohtani via Christian Moen)
+
+* SOLR-1770: Move the default core instance directory into a collection1 folder.
+  (Mark Miller)
+  
+* SOLR-3355: Add shard and collection to SolrCore statistics. (Michael Garski, Mark Miller)
+
+* SOLR-3575: solr.xml should default to persist=true (Mark Miller)
+
+* SOLR-3563: Unloading all cores in a SolrCloud collection will now cause the removal of
+  that collection's meta data from ZooKeeper. (Mark Miller, Per Steffensen)
+
+* SOLR-3599: Add zkClientTimeout to solr.xml so that it's obvious how to change it and so 
+  that you can change it with a system property. (Mark Miller)
+
+* SOLR-3609: Change Solr's expanded webapp directory to be at a consistent path called
+  solr-webapp rather than a temporary directory. (Mark Miller)
+  
+* SOLR-3600: Raise the default zkClientTimeout from 10 seconds to 15 seconds. (Mark Miller)
+
+* SOLR-3215: Clone SolrInputDocument when distrib indexing so that update processors after
+  the distrib update process do not process the document twice. (Mark Miller)
+
+* SOLR-3683: Improved error handling if an <analyzer> contains both an 
+  explicit class attribute, as well as nested factories. (hossman)
+
+* SOLR-3682: Fail to parse schema.xml if uniqueKeyField is multivalued (hossman)
+
+* SOLR-2115: DIH no longer requires the "config" parameter to be specified in solrconfig.xml.
+  Instead, the configuration is loaded and parsed with every import.  This allows the use of
+  a different configuration with each import, and makes correcting configuration errors simpler.
+  Also, the configuration itself can be passed using the "dataConfig" parameter rather than
+  using a file (this previously worked in debug mode only).  When configuration errors are 
+  encountered, the error message is returned in XML format.  (James Dyer)
+  
+* SOLR-3439: Make SolrCell easier to use out of the box. Also improves "/browse" to display
+  rich-text documents correctly, along with facets for author and content_type.  
+  With the new "content" field, highlighting of body is supported. See also SOLR-3672 for
+  easier posting of a whole directory structure. (Jack Krupansky, janhoy)
+  
+* SOLR-3579: SolrCloud view should default to the graph view rather than tree view.
+  (steffkes, Mark Miller)
+
+==================  4.0.0-ALPHA ==================
+More information about this release, including any errata related to the 
+release notes, upgrade instructions, or other changes may be found online at:
+   https://wiki.apache.org/solr/Solr4.0
+
+
+Versions of Major Components
+---------------------
+Apache Tika 1.1
+Carrot2 3.5.0
+Velocity 1.6.4 and Velocity Tools 2.0
+Apache UIMA 2.3.1
+Apache ZooKeeper 3.3.4
+
+
+Upgrading from Solr 3.6-dev
+----------------------
+
+* The Lucene index format has changed and as a result, once you upgrade, 
+  previous versions of Solr will no longer be able to read your indices.
+  In a master/slave configuration, all searchers/slaves should be upgraded
+  before the master.  If the master were to be updated first, the older
+  searchers would not be able to read the new index format.
+
+* Setting abortOnConfigurationError=false is no longer supported
+  (since it has never worked properly).  Solr will now warn you if
+  you attempt to set this configuration option at all. (see SOLR-1846)
+
+* The default logic for the 'mm' param of the 'dismax' QParser has
+  been changed.  If no 'mm' param is specified (either in the query,
+  or as a default in solrconfig.xml) then the effective value of the
+  'q.op' param (either in the query or as a default in solrconfig.xml
+  or from the 'defaultOperator' option in schema.xml) is used to
+  influence the behavior.  If q.op is effectively "AND" then mm=100%.
+  If q.op is effectively "OR" then mm=0%.  Users who wish to force the
+  legacy behavior should set a default value for the 'mm' param in
+  their solrconfig.xml file.
+  
+* The VelocityResponseWriter is no longer built into the core.  Its JAR and
+  dependencies now need to be added (via <lib> or solr/home lib inclusion),
+  and it needs to be registered in solrconfig.xml like this:
+    <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter"/>
+
+* The update request parameter to choose Update Request Processor Chain is 
+  renamed from "update.processor" to "update.chain". The old parameter was
+  deprecated but still working since Solr3.2, but is now removed
+  entirely.
+
+* The <indexDefaults> and <mainIndex> sections of solrconfig.xml are discontinued
+  and replaced with the <indexConfig> section. There are also better defaults.
+  When migrating, if you don't know what your old settings mean, simply delete
+  both <indexDefaults> and <mainIndex> sections. If you have customizations,
+  put them in <indexConfig> section - with same syntax as before.
+
+* Two of the SolrServer subclasses in SolrJ were renamed/replaced.
+  CommonsHttpSolrServer is now HttpSolrServer, and 
+  StreamingUpdateSolrServer is now ConcurrentUpdateSolrServer.
+
+* The PingRequestHandler no longer looks for a <healthcheck/> option in the 
+  (legacy) <admin> section of solrconfig.xml.  Users who wish to take 
+  advantage of this feature should configure a "healthcheckFile" init param 
+  directly on the  PingRequestHandler.  As part of this change, relative file 
+  paths have been fixed to be resolved against the data dir.  See the example 
+  solrconfig.xml and SOLR-1258 for more details.
+
+* Due to low level changes to support SolrCloud, the uniqueKey field can no 
+  longer be populated via <copyField/> or <field default=...> in the 
+  schema.xml.  Users wishing to have Solr automatically generate a uniqueKey 
+  value when adding documents should instead use an instance of
+  solr.UUIDUpdateProcessorFactory in their update processor chain.  See 
+  SOLR-2796 for more details.
+
+
+Detailed Change List
+----------------------
+
+New Features
+----------------------
+
+* SOLR-3272: Solr filter factory for MorfologikFilter (Polish lemmatisation).
+  (Rafał Kuć via Dawid Weiss, Steven Rowe, Uwe Schindler).
+
+* SOLR-571: The autowarmCount for LRUCaches (LRUCache and FastLRUCache) now 
+  supports "percentages" which get evaluated  relative the current size of 
+  the cache when warming happens. 
+  (Tomas Fernandez Lobbe and hossman)
+
+* SOLR-1932: New relevancy function queries: termfreq, tf, docfreq, idf
+  norm, maxdoc, numdocs. (yonik)
+
+* SOLR-1665: Add debug component options for timings, results and query info only (gsingers, hossman, yonik)
+
+* SOLR-2112: Solrj API now supports streaming results. (ryan)
+
+* SOLR-792: Adding PivotFacetComponent for Hierarchical faceting
+  (ehatcher, Jeremy Hinegardner, Thibaut Lassalle, ryan)
+
+* LUCENE-2507, SOLR-2571, SOLR-2576: Added DirectSolrSpellChecker, which uses Lucene's
+  DirectSpellChecker to retrieve correction candidates directly from the term dictionary using
+  levenshtein automata.  (James Dyer, rmuir)
+   
+* SOLR-1873, SOLR-2358: SolrCloud - added shared/central config and core/shard management via zookeeper,
+  built-in load balancing, and distributed indexing. 
+  (Jamie Johnson, Sami Siren, Ted Dunning, yonik, Mark Miller)
+  Additional Work:
+  - SOLR-2324: SolrCloud solr.xml parameters are not persisted by CoreContainer.
+    (Massimo Schiavon, Mark Miller)
+  - SOLR-2287: Allow users to query by multiple, compatible collections with SolrCloud.
+    (Soheb Mahmood, Alex Cowell, Mark Miller)
+  - SOLR-2622: ShowFileRequestHandler does not work in SolrCloud mode.
+    (Stefan Matheis, Mark Miller)
+  - SOLR-3108: Error in SolrCloud's replica lookup code when replica's are hosted in same Solr instance.
+    (Bruno Dumon, Sami Siren, Mark Miller)
+  - SOLR-3080: Remove shard info from zookeeper when SolrCore is explicitly unloaded.
+    (yonik, Mark Miller, siren)
+  - SOLR-3437: Recovery issues a spurious commit to the cluster. (Trym R. Møller via Mark Miller)
+  - SOLR-2822: Skip update processors already run on other nodes (hossman)
+
+* SOLR-1566: Transforming documents in the ResponseWriters.  This will allow
+  for more complex results in responses and open the door for function queries
+  as results. 
+  (ryan with patches from grant, noble, cmale, yonik, Jan Høydahl,
+  Arul Kalaipandian, Luca Cavanna, hossman)
+  - SOLR-2037: Thanks to SOLR-1566, documents boosted by the QueryElevationComponent
+    can be marked as boosted.  (gsingers, ryan, yonik)
+
+* SOLR-2396: Add CollationField, which is much more efficient than 
+  the Solr 3.x CollationKeyFilterFactory, and also supports 
+  Locale-sensitive range queries. (rmuir)
+
+* SOLR-2338: Add support for using <similarity/> in a schema's fieldType,
+  for customizing scoring on a per-field basis. (hossman, yonik, rmuir)
+  
+* SOLR-2335: New 'field("...")' function syntax for referring to complex
+  field names (containing whitespace or special characters) in functions.
+
+* SOLR-2383: /browse improvements: generalize range and date facet display
+  (Jan Høydahl via yonik)
+
+* SOLR-2272: Pseudo-join queries / filters.  Examples:
+  - To restrict to the set of parents with at least one blue-eyed child:
+      fq={!join from=parent to=name}eyes:blue
+  - To restrict to the set of children with at least one blue-eyed parent:
+      fq={!join from=name to=parent}eyes:blue
+  (yonik)
+
+* SOLR-1942: Added the ability to select postings format per fieldType in schema.xml
+  as well as support custom Codecs in solrconfig.xml.
+  (simonw via rmuir)
+
+* SOLR-2136: Boolean type added to function queries, along with
+  new functions exists(), if(), and(), or(), xor(), not(), def(),
+  and true and false constants. (yonik) 
+
+* SOLR-2491: Add support for using spellcheck collation in conjunction
+  with grouping. Note that the number of hits returned for collations
+  is the number of ungrouped hits.  (James Dyer via rmuir)
+  
+* SOLR-1298: Return FunctionQuery as pseudo field.  The solr 'fl' param
+  now supports functions.  For example:  fl=id,sum(x,y) -- NOTE: only
+  functions with fast random access are reccomended. (yonik, ryan)
+  
+* SOLR-705: Optionally return shard info with each document in distributed
+  search.  Use fl=id,[shard]  to return the shard url.  (ryan)  
+
+* SOLR-2417: Add explain info directly to return documents using 
+  ?fl=id,[explain] (ryan)
+
+* SOLR-2533: Converted ValueSource.ValueSourceSortField over to new rewriteable Lucene
+  SortFields.  ValueSourceSortField instances must be rewritten before they can be used.
+  This is done by SolrIndexSearcher when necessary. (Chris Male).
+
+* SOLR-2193, SOLR-2565: You may now specify a 'soft' commit when committing. This will
+  use Lucene's NRT feature to avoid guaranteeing documents are on stable storage in exchange
+  for faster reopen times. There is also a new 'soft' autocommit tracker that can be
+  configured. (Mark Miller, Robert Muir)
+
+* SOLR-2399: Updated Solr Admin interface.  New look and feel with per core administration
+  and many new options.  (Stefan Matheis via ryan)
+
+* SOLR-1032: CSV handler now supports "literal.field_name=value" parameters.
+  (Simon Rosenthal, ehatcher)
+
+* SOLR-2656: realtime-get, efficiently retrieves the latest stored fields for specified
+  documents, even if they are not yet searchable (i.e. without reopening a searcher)
+  (yonik)
+  
+* SOLR-2703: Added support for Lucene's "surround" query parser. (Simon Rosenthal, ehatcher)
+
+* SOLR-2754: Added factories for several ranking algorithms: 
+    - BM25SimilarityFactory: Okapi BM25
+    - DFRSimilarityFactory: Divergence from Randomness models
+    - IBSimilarityFactory: Information-based models
+    - LMDirichletSimilarity: LM with Dirichlet smoothing
+    - LMJelinekMercerSimilarity: LM with Jelinek-Mercer smoothing
+  (David Mark Nemeskey, Robert Muir)
+ 
+* SOLR-2134 Trie* fields should support sortMissingLast=true, and deprecate Sortable* Field Types
+  (Ryan McKinley, Mike McCandless, Uwe Schindler, Erick Erickson)
+    
+* SOLR-2438 added MultiTermAwareComponent to the various classes to allow automatic lowercasing
+  for multiterm queries (wildcards, regex, prefix, range, etc). You can now optionally specify a
+  "multiterm" analyzer in our schema.xml, but Solr should "do the right thing" if you don't
+  specify <analyzer type="multiterm"> (Pete Sturge Erick Erickson, Mentoring from Seeley and Muir)
+
+* SOLR-2481: Add support for commitWithin in DataImportHandler (Sami Siren via yonik)
+
+* SOLR-2992: Add support for IndexWriter.prepareCommit() via prepareCommit=true
+  on update URLs. (yonik)
+
+* SOLR-2906: Added LFU cache options to Solr. (Shawn Heisey via Erick Erickson)
+
+* SOLR-3069: Ability to add openSearcher=false to not open a searcher when doing
+  a hard commit.  commitWithin now only invokes a softCommit. (yonik)
+
+* SOLR-2802: New FieldMutatingUpdateProcessor and Factory to simplify the
+  development of UpdateProcessors that modify field values of documents as 
+  they are indexed. Also includes several useful new implementations:
+    - RemoveBlankFieldUpdateProcessorFactory
+    - TrimFieldUpdateProcessorFactory
+    - HTMLStripFieldUpdateProcessorFactory
+    - RegexReplaceProcessorFactory
+    - FieldLengthUpdateProcessorFactory
+    - ConcatFieldUpdateProcessorFactory
+    - FirstFieldValueUpdateProcessorFactory
+    - LastFieldValueUpdateProcessorFactory
+    - MinFieldValueUpdateProcessorFactory
+    - MaxFieldValueUpdateProcessorFactory
+    - TruncateFieldUpdateProcessorFactory
+    - IgnoreFieldUpdateProcessorFactory
+  (hossman, janhoy)
+
+* SOLR-3120: Optional post filtering for spatial queries bbox and geofilt
+  for LatLonType. (yonik)
+
+* SOLR-2459: Expose LogLevel selection with a RequestHandler rather then servlet
+  (Stefan Matheis, Upayavira, ryan)
+
+* SOLR-3134: Include shard info in distributed response when shards.info=true 
+  (Russell Black, ryan)
+
+* SOLR-2898: Support grouped faceting. (Martijn van Groningen)
+  Additional Work:
+  - SOLR-3406: Extended grouped faceting support to facet.query and facet.range parameters.
+               (David Boychuck, Martijn van Groningen)
+
+* SOLR-2949: QueryElevationComponent is now supported with distributed search.
+  (Mark Miller, yonik)
+
+* SOLR-3221: Added the ability to directly configure aspects of the concurrency
+ and thread-pooling used within distributed search in solr. This allows for finer
+ grained controlled and can be tuned by end users to target their own specific
+ requirements. This builds on the work of the HttpCommComponent and uses the same configuration
+ block to configure the thread pool. The default configuration has
+ the same behaviour as solr 3.5, favouring throughput over latency. More
+ information can be found on the wiki (http://wiki.apache.org/solr/SolrConfigXml) (Greg Bowyer)
+
+* SOLR-3278: Negative boost support to the Extended Dismax Query Parser Boost Query (bq).
+  (James Dyer)
+
+* SOLR-3255: OpenExchangeRates.Org Exchange Rate Provider for CurrencyField (janhoy)
+
+* SOLR-3358: Logging events are captured and available from the /admin/logging 
+  request handler. (ryan)
+  
+* SOLR-1535: PreAnalyzedField type provides a functionality to index (and optionally store)
+  field content that was already processed and split into tokens using some external processing
+  chain. Serialization format is pluggable, and defaults to JSON. (ab)
+
+* SOLR-3363: Consolidated Exceptions in Analysis Factories so they only throw 
+  InitalizationExceptions (Chris Male)
+
+* SOLR-2690: New support for a "TZ" request param which overrides the TimeZone 
+  used when rounding Dates in DateMath expressions for the entire request 
+  (all date range queries and date faceting is affected).  The default TZ
+  is still UTC.  (David Schlotfeldt, hossman)
+
+* SOLR-3402: Analysis Factories are now configured with their Lucene Version
+  throw setLuceneMatchVersion, rather than through the Map passed to init.
+  Parsing and simple error checking for the Version is now done inside
+  the code that creates the Analysis Factories. (Chris Male)
+
+* SOLR-3178: Optimistic locking.  If a _version_ is provided with an update
+  that does not match the version in the index, an HTTP 409 error (Conflict)
+  will result.  (Per Steffensen, yonik)
+
+* SOLR-139: Updateable documents.  JSON Example:
+  {"id":"mydoc", "f1":{"set":10}, "f2":{"add":20}}  will result in field "f1"
+  being set to 10, "f2" having an additional value of 20 added, and all
+  other existing fields unchanged.  All source fields must be stored for
+  this feature to work correctly.  (Ryan McKinley, Erik Hatcher, yonik)
+
+* SOLR-2857: Support XML,CSV,JSON, and javabin in a single RequestHandler and 
+  choose the correct ContentStreamLoader based on Content-Type header.  This
+  also deprecates the existing [Xml,JSON,CSV,Binary,Xslt]UpdateRequestHandler.
+  (ryan)
+  
+* SOLR-2585: Context-Sensitive Spelling Suggestions & Collations.  This adds support
+  for the "spellcheck.alternativeTermCount" & "spellcheck.maxResultsForSuggest" 
+  parameters, letting users receive suggestions even when all the queried terms 
+  exist in the dictionary.  This differs from "spellcheck.onlyMorePopular" in
+  that the suggestions need not consist entirely of terms with a greater document
+  frequency than the queried terms. (James Dyer)
+
+* SOLR-2058: Edismax query parser to allow "phrase slop" to be specified per-field
+  on the pf/pf2/pf3 parameters using optional "FieldName~slop^boost" syntax.  The
+  prior "FieldName^boost" syntax is still accepted.  In such cases the value on the
+  "ps" parameter serves as the default slop.  (Ron Mayer via James Dyer)
+
+* SOLR-3495: New UpdateProcessors have been added to create default values for 
+  configured fields.  These works similarly to the <field default="..."/> 
+  option in schema.xml, but are applied in the UpdateProcessorChain, so they 
+  may be used prior to other UpdateProcessors, or to generate a uniqueKey field 
+  value when using the DistributedUpdateProcessor (ie: SolrCloud)
+    TimestampUpdateProcessorFactory
+    UUIDUpdateProcessorFactory
+    DefaultValueUpdateProcessorFactory
+  (hossman)
+  
+* SOLR-2993: Add WordBreakSolrSpellChecker to offer suggestions by combining adjacent 
+  query terms and/or breaking terms into multiple words.  This spellchecker can be 
+  configured with a traditional checker (ie: DirectSolrSpellChecker).  The results 
+  are combined and collations can contain a mix of corrections from both spellcheckers.  
+  (James Dyer)
+
+* SOLR-3508: Simplify JSON update format for deletes as well as allow
+  version specification for optimistic locking.  Examples:
+    - {"delete":"myid"}
+    - {"delete":["id1","id2","id3"]}
+    - {"delete":{"id":"myid", "_version_":123456789}}
+  (yonik)
+
+* SOLR-3211:  Allow parameter overrides in conjunction with "spellcheck.maxCollationTries".
+  To do so, use parameters starting with "spellcheck.collateParam."  For instance, to
+  override the "mm" parameter, specify "spellcheck.collateParam.mm".  This is helpful
+  in cases where testing spellcheck collations for result counts should use different
+  parameters from the main query (James Dyer)
+
+* SOLR-2599: CloneFieldUpdateProcessorFactory provides similar functionality 
+  to schema.xml's <copyField/> declaration but as an update processor that can 
+  be combined with other processors in any order. (Jan Høydahl & hossman)
+
+* SOLR-3351: eDismax: ps2 and ps3 params (janhoy)
+
+* SOLR-3542: Add WeightedFragListBuilder for FVH and set it to default fragListBuilder
+  in example solrconfig.xml. (Sebastian Lutze, koji)
+
+* SOLR-2396: Add ICUCollationField to contrib/analysis-extras, which is much 
+  more efficient than the Solr 3.x ICUCollationKeyFilterFactory, and also 
+  supports Locale-sensitive range queries.  (rmuir)
+
+
+Optimizations
+----------------------
+
+* SOLR-1875: Per-segment field faceting for single valued string fields.
+  Enable with facet.method=fcs, control the number of threads used with
+  the "threads" local param on the facet.field param.  This algorithm will
+  only be faster in the presence of rapid index changes.  (yonik)
+
+* SOLR-1904: When facet.enum.cache.minDf > 0 and the base doc set is a
+  SortedIntSet, convert to HashDocSet for better performance. (yonik)
+
+* SOLR-2092: Speed up single-valued and multi-valued "fc" faceting. Typical
+  improvement is 5%, but can be much greater (up to 10x faster) when facet.offset
+  is very large (deep paging). (yonik)
+  
+* SOLR-2193, SOLR-2565: The default Solr update handler has been improved so
+  that it uses fewer locks, keeps the IndexWriter open rather than closing it
+  on each commit (ie commits no longer wait for background merges to complete), 
+  works with SolrCore to provide faster 'soft' commits, and has an improved API 
+  that requires less instanceof special casing. (Mark Miller, Robert Muir)
+  Additional Work:
+  - SOLR-2697: commit and autocommit operations don't reset
+    DirectUpdateHandler2.numDocsPending stats attribute.
+    (Alexey Serba, Mark Miller)
+
+* SOLR-2950: The QueryElevationComponent now avoids using the FieldCache and looking up
+  every document id (gsingers, yonik)
+
+Bug Fixes
+----------------------
+* SOLR-3139: Make ConcurrentUpdateSolrServer send UpdateRequest.getParams()
+  as HTTP request params (siren) 
+
+* SOLR-3165: Cannot use DIH in Solrcloud + Zookeeper (Alexey Serba, 
+  Mark Miller, siren)
+
+* SOLR-3068: Occasional NPE in ThreadDumpHandler (siren)
+
+* SOLR-2762: FSTLookup could return duplicate results or one results less
+  than requested. (David Smiley, Dawid Weiss)
+
+* SOLR-2741: Bugs in facet range display in trunk (janhoy)
+
+* SOLR-1908: Fixed SignatureUpdateProcessor to fail to initialize on
+  invalid config.  Specifically: a signatureField that does not exist,
+  or overwriteDupes=true with a signatureField that is not indexed.
+  (hossman)
+
+* SOLR-1824: IndexSchema will now fail to initialize if there is a
+  problem initializing one of the fields or field types. (hossman)
+
+* SOLR-1928: TermsComponent didn't correctly break ties for non-text
+  fields sorted by count. (yonik)
+
+* SOLR-2107: MoreLikeThisHandler doesn't work with alternate qparsers. (yonik)
+
+* SOLR-2108: Fixed false positives when using wildcard queries on fields with reversed
+  wildcard support. For example, a query of *zemog* would match documents that contain
+  'gomez'.  (Landon Kuhn via Robert Muir)
+
+* SOLR-1962: SolrCore#initIndex should not use a mix of indexPath and newIndexPath (Mark Miller)
+
+* SOLR-2275: fix DisMax 'mm' parsing to be tolerant of whitespace
+  (Erick Erickson via hossman)
+  
+* SOLR-2193, SOLR-2565, SOLR-2651: SolrCores now properly share IndexWriters across SolrCore reloads.
+  (Mark Miller, Robert Muir)
+  Additional Work:
+  - SOLR-2705: On reload, IndexWriterProvider holds onto the initial SolrCore it was created with.
+    (Yury Kats, Mark Miller)
+
+* SOLR-2682: Remove addException() in SimpleFacet. FacetComponent no longer catches and embeds
+  exceptions occurred during facet processing, it throws HTTP 400 or 500 exceptions instead. (koji)
+
+* SOLR-2654: Directorys used by a SolrCore are now closed when they are no longer used.
+  (Mark Miller)
+  
+* SOLR-2854: Now load URL content stream data (via stream.url) when called for during request handling,
+  rather than loading URL content streams automatically regardless of use.
+  (David Smiley and Ryan McKinley via ehatcher)
+  
+* SOLR-2829: Fix problem with false-positives due to incorrect
+  equals methods. (Yonik Seeley, Hossman, Erick Erickson. 
+  Marc Tinnemeyer caught the bug)  
+
+* SOLR-2848: Removed 'instanceof AbstractLuceneSpellChecker' hacks from distributed spellchecking code,
+  and added a merge() method to SolrSpellChecker instead. Previously if you extended SolrSpellChecker
+  your spellchecker would not work in distributed fashion.  (James Dyer via rmuir)
+  
+* SOLR-2509: StringIndexOutOfBoundsException in the spellchecker collate when the term contains
+  a hyphen. (Thomas Gambier caught the bug, Steffen Godskesen did the patch, via Erick Erickson)
+
+* SOLR-1730: Made it clearer when a core failed to load as well as better logging when the
+  QueryElevationComponent fails to properly initialize (gsingers)
+  
+* SOLR-1520: QueryElevationComponent now supports non-string ids (gsingers)
+
+* SOLR-3037: When using binary format in solrj the codec screws up parameters
+  (Sami Siren, Jörg Maier  via yonik)
+
+* SOLR-3062: A join in the main query was not respecting any filters pushed
+  down to it via acceptDocs since LUCENE-1536. (Mike Hugo, yonik)
+  
+* SOLR-3214: If you use multiple fl entries rather than a comma separated list, all but the first
+  entry can be ignored if you are using distributed search. (Tomas Fernandez Lobbe via Mark Miller)
+ 
+* SOLR-3352: eDismax: pf2 should kick in for a query with 2 terms (janhoy)
+
+* SOLR-3361: ReplicationHandler "maxNumberOfBackups" doesn't work if backups are triggered on commit
+  (James Dyer, Tomas Fernandez Lobbe)
+
+* SOLR-2605: fixed tracking of the 'defaultCoreName' in CoreContainer so that
+  CoreAdminHandler could return consistent information regardless of wether
+  there is a a default core name or not. (steffkes, hossman)
+
+* SOLR-3370: fixed CSVResponseWriter to respect globs in the 'fl' param
+  (Keith Fligg via hossman)
+
+* SOLR-3436: Group count incorrect when not all shards are queried in the second
+  pass. (Francois Perron, Martijn van Groningen)
+
+* SOLR-3454: Exception when using result grouping with main=true and using
+  wt=javabin. (Ludovic Boutros, Martijn van Groningen)
+
+* SOLR-3446: Better errors when PatternTokenizerFactory is configured with 
+  an invalid pattern, and include the 'name' whenever possible in plugin init 
+  error messages. (hossman)
+
+* LUCENE-4075: Cleaner path usage in TestXPathEntityProcessor
+  (Greg Bowyer via hossman)
+  
+* SOLR-2923: IllegalArgumentException when using useFilterForSortedQuery on an 
+  empty index. (Adrien Grand via Mark Miller)
+
+* SOLR-2352: Fixed TermVectorComponent so that it will not fail if the fl 
+  param contains globs or psuedo-fields (hossman)
+
+* SOLR-3541: add missing solrj dependencies to binary packages.
+  (Thijs Vonk via siren)
+
+* SOLR-3522: fixed parsing of the 'literal()' function (hossman)
+
+* SOLR-3548: Fixed a bug in the cachability of queries using the {!join} 
+  parser or the strdist() function, as well as some minor improvements to 
+  the hashCode implementation of {!bbox} and {!geofilt} queries.
+  (hossman)
+
+* SOLR-3470: contrib/clustering: custom Carrot2 tokenizer and stemmer factories
+  are respected now (Stanislaw Osinski, Dawid Weiss)
+
+* SOLR-3430: Added a new DIH test against a real SQL database.  Fixed problems 
+  revealed by this new test related to  the expanded cache support added to 
+  3.6/SOLR-2382 (James Dyer)
+             
+* SOLR-1958: When using the MailEntityProcessor, import would fail if 
+  fetchMailsSince was not specified. (Max Lynch via James Dyer) 
+
+
+Other Changes
+----------------------
+
+* SOLR-1846: Eliminate support for the abortOnConfigurationError
+  option.  It has never worked very well, and in recent versions of
+  Solr hasn't worked at all.  (hossman)
+
+* SOLR-1889: The default logic for the 'mm' param of DismaxQParser and
+  ExtendedDismaxQParser has been changed to be determined based on the
+  effective value of the 'q.op' param (hossman)
+
+* SOLR-1946: Misc improvements to the SystemInfoHandler: /admin/system
+  (hossman)
+
+* SOLR-2289: Tweak spatial coords for example docs so they are a bit
+  more spread out (Erick Erickson via hossman)
+
+* SOLR-2288: Small tweaks to eliminate compiler warnings.  primarily
+  using Generics where applicable in method/object declatations, and
+  adding @SuppressWarnings("unchecked") when appropriate (hossman)
+
+* SOLR-2375: Suggester Lookup implementations now store trie data
+  and load it back on init. This means that large tries don't have to be
+  rebuilt on every commit or core reload. (ab)
+
+* SOLR-2413: Support for returning multi-valued fields w/o <arr> tag 
+  in the XMLResponseWriter was removed.  XMLResponseWriter only 
+  no longer work with values less then 2.2 (ryan)
+
+* SOLR-2423: FieldType argument changed from String to Object
+  Conversion from SolrInputDocument > Object > Fieldable is now managed
+  by FieldType rather then DocumentBuilder.  (ryan)
+
+* SOLR-2461: QuerySenderListener and AbstractSolrEventListener are 
+  now public (hossman)
+
+* LUCENE-2995: Moved some spellchecker and suggest APIs to modules/suggest:
+  HighFrequencyDictionary, SortedIterator, TermFreqIterator, and the
+  suggester APIs and implementations. (rmuir)
+
+* SOLR-2576: Remove deprecated SpellingResult.add(Token, int).
+  (James Dyer via rmuir)
+
+* LUCENE-3232: Moved MutableValue classes to new 'common' module. (Chris Male)
+
+* LUCENE-2883: FunctionQuery, DocValues (and its impls), ValueSource (and its
+  impls) and BoostedQuery have been consolidated into the queries module.  They
+  can now be found at o.a.l.queries.function.
+
+* SOLR-2027: FacetField.getValues() now returns an empty list if there are no
+  values, instead of null (Chris Male)
+
+* SOLR-1825: SolrQuery.addFacetQuery now enables facets automatically, like
+  addFacetField (Chris Male)
+
+* SOLR-2663: FieldTypePluginLoader has been refactored out of IndexSchema 
+  and made public. (hossman)
+
+* SOLR-2331,SOLR-2691: Refactor CoreContainer's SolrXML serialization code and improve testing
+  (Yury Kats, hossman, Mark Miller)
+  
+* SOLR-2698: Enhance CoreAdmin STATUS command to return index size.
+  (Yury Kats, hossman, Mark Miller)
+  
+* SOLR-2654: The same Directory instance is now always used across a SolrCore so that
+  it's easier to add other DirectoryFactory's without static caching hacks.
+  (Mark Miller)
+
+* LUCENE-3286: 'luke' ant target has been disabled due to incompatibilities with XML
+  queryparser location (Chris Male)
+  
+* SOLR-1897: The data dir from the core descriptor should override the data dir from 
+  the solrconfig.xml rather than the other way round. (Mark Miller)
+
+* SOLR-2756: Maven configuration: Excluded transitive stax:stax-api dependency
+  from org.codehaus.woodstox:wstx-asl dependency. (David Smiley via Steve Rowe)
 
+* SOLR-2588: Moved VelocityResponseWriter back to contrib module in order to 
+  remove it as a mandatory core dependency.  (ehatcher)
+  
+* SOLR-2862: More explicit lexical resources location logged if Carrot2 clustering
+  extension is used. Fixed solr. impl. of IResource and IResourceLookup. (Dawid Weiss)
+
+* SOLR-1123: Changed JSONResponseWriter to now use application/json as its Content-Type
+  by default.  However the Content-Type can be overwritten and is set to text/plain in
+  the example configuration. (Uri Boness, Chris Male)
+  
+* SOLR-2607: Removed deprecated client/ruby directory, which included solr-ruby and flare.
+  (ehatcher)
+  
+* SOLR-3032: logOnce from SolrException logOnce and all the supporting
+  structure is gone. abortOnConfugrationError is also gone as it is no longer referenced.
+  Errors should be caught and logged at the top-most level or logged and NOT propagated up the 
+  chain. (Erick Erickson)
+
+* SOLR-2105: Remove support for deprecated "update.processor" (since 3.2), in favor of 
+  "update.chain" (janhoy)
+
+* SOLR-3005: Default QueryResponseWriters are now initialized via init() with an empty
+  NamedList. (Gasol Wu, Chris Male)
+
+* SOLR-2607: Removed obsolete client/ folder (ehatcher, Eric Pugh, janhoy)
+
+* SOLR-3202, SOLR-3244: Dropping Support for JSP.  New Admin UI is all client side
+  (ryan, Aliaksandr Zhuhrou, Uwe Schindler)
+
+* SOLR-3159: Upgrade example and tests to run with Jetty 8 (ryan)
+
+* SOLR-3254: Upgrade Solr to Tika 1.1 (janhoy)
+
+* SOLR-3329: Dropped getSourceID() from SolrInfoMBean and using 
+  getClass().getPackage().getSpecificationVersion() for Version. (ryan)
+
+* SOLR-3302: Upgraded SLF4j to version 1.6.4 (hossman)
+
+* SOLR-3322: Add more context to IndexReaderFactory.newReader (ab)
+
+* SOLR-3343: Moved FastWriter, FileUtils, RegexFileFilter, RTimer and SystemIdResolver
+  from org.apache.solr.common to org.apache.solr.util (Chris Male)
+
+* SOLR-3357: ResourceLoader.newInstance now accepts a Class representation of the expected
+  instance type (Chris Male)
+
+* SOLR-3388: HTTP caching is now disabled by default for RequestUpdateHandlers. (ryan)
+
+* SOLR-3309: web.xml now specifies metadata-complete=true (which requires 
+  Servlet 2.5) to prevent servlet containers from scanning class annotations 
+  on startup.  This allows for faster startup times on some servlet containers.
+  (Bill Bell, hossman)
+
+* SOLR-1893: Refactored some common code from LRUCache and FastLRUCache into 
+  SolrCacheBase (Tomás Fernández Löbbe via hossman)
+
+* SOLR-3403: Deprecated Analysis Factories now log their own deprecation messages.
+  No logging support is provided by Factory parent classes. (Chris Male)
+
+* SOLR-1258: PingRequestHandler is now directly configured with a 
+  "healthcheckFile" instead of looking for the legacy 
+  <admin><healthcheck/></admin> syntax.  Filenames specified as relative 
+  paths have been fixed so that they are resolved against the data dir 
+  instead of the CWD of the java process. (hossman)
+
+* SOLR-3083: JMX beans now report Numbers as numeric values rather then String
+  (Tagged Siteops, Greg Bowyer via ryan)
+
+* SOLR-2796: Due to low level changes to support SolrCloud, the uniqueKey 
+  field can no longer be populated via <copyField/> or <field default=...>
+  in the schema.xml.
+
+* SOLR-3534: The Dismax and eDismax query parsers will fall back on the 'df' parameter
+  when 'qf' is absent.  And if neither is present nor the schema default search field
+  then an exception will be thrown now. (dsmiley)
+
+* SOLR-3262: The "threads" feature of DIH is removed (deprecated in Solr 3.6) 
+  (James Dyer)
+
+* SOLR-3422: Refactored DIH internal data classes.  All entities in 
+  data-config.xml must have a name (James Dyer)
+ 
+Documentation
+----------------------
+
+* SOLR-2232: Improved README info on solr.solr.home in examples
+  (Eric Pugh and hossman)
+  
 ==================  3.6.1  ==================
 More information about this release, including any errata related to the 
 release notes, upgrade instructions, or other changes may be found online at:
    https://wiki.apache.org/solr/Solr3.6.1
 
-Bug Fixes:
+Bug Fixes
 
 * LUCENE-3969: Throw IAE on bad arguments that could cause confusing errors in
   PatternTokenizer. CommonGrams populates PositionLengthAttribute correctly.
@@ -53,6 +1132,20 @@ Bug Fixes:
 
 * SOLR-3477: SOLR does not start up when no cores are defined (Tomás Fernández Löbbe via tommaso)
 
+* SOLR-3470: contrib/clustering: custom Carrot2 tokenizer and stemmer factories
+  are respected now (Stanislaw Osinski, Dawid Weiss)
+
+* SOLR-3360: More DIH bug fixes for the deprecated "threads" parameter.  
+  (Mikhail Khludnev, Claudio R, via James Dyer)
+
+* SOLR-3430: Added a new DIH test against a real SQL database.  Fixed problems 
+  revealed by this new test related to the expanded cache support added to 
+  3.6/SOLR-2382 (James Dyer)
+
+* SOLR-3336: SolrEntityProcessor substitutes most variables at query time.
+  (Michael Kroh, Lance Norskog, via Martijn van Groningen)
+
+
 ==================  3.6.0  ==================
 More information about this release, including any errata related to the 
 release notes, upgrade instructions, or other changes may be found online at:
@@ -193,7 +1286,38 @@ New Features
 * SOLR-2001: The query component will substitute an empty query that matches
   no documents if the query parser returns null.  This also prevents an
   exception from being thrown by the default parser if "q" is missing. (yonik)
-  SOLR-435: if q is "" then it's also acceptable. (dsmiley, hoss)
+  - SOLR-435: if q is "" then it's also acceptable. (dsmiley, hoss)
+
+* SOLR-2919: Added parametric tailoring options to ICUCollationKeyFilterFactory.
+  These can be used to customize range query/sort behavior, for example to
+  support numeric collation, ignore punctuation/whitespace, ignore accents but
+  not case, control whether upper/lowercase values are sorted first, etc.  (rmuir)
+
+* SOLR-2346: Add a chance to set content encoding explicitly via content type 
+  of stream for extracting request handler.  This is convenient when Tika's 
+  auto detector cannot detect encoding, especially the text file is too short 
+  to detect encoding. (koji)
+
+* SOLR-1499: Added SolrEntityProcessor that imports data from another Solr core
+  or instance based on a specified query.
+  (Lance Norskog, Erik Hatcher, Pulkit Singhal, Ahmet Arslan, Luca Cavanna, 
+  Martijn van Groningen)
+
+* SOLR-3190: Minor improvements to SolrEntityProcessor. Add more consistency 
+  between solr parameters and parameters used in SolrEntityProcessor and 
+  ability to specify a custom HttpClient instance.
+  (Luca Cavanna via Martijn van Groningen)
+
+* SOLR-2382: Added pluggable cache support to DIH so that any Entity can be 
+  made cache-able by adding the "cacheImpl" parameter.  Include 
+  "SortedMapBackedCache" to provide in-memory caching (as previously this was 
+  the only option when using CachedSqlEntityProcessor).  Users can provide 
+  their own implementations of DIHCache for other caching strategies.  
+  Deprecate CachedSqlEntityProcessor in favor of specifing "cacheImpl" with
+  SqlEntityProcessor.  Make SolrWriter implement DIHWriter and allow the 
+  possibility of pluggable Writers (DIH writing to something other than Solr). 
+  (James Dyer, Noble Paul)
+
 
 Optimizations
 ----------------------
@@ -356,6 +1480,35 @@ Bug Fixes
 * SOLR-3316: Distributed grouping failed when rows parameter was set to 0 and 
   sometimes returned a wrong hit count as matches. (Cody Young, Martijn van Groningen)
 
+* SOLR-3107: contrib/langid: When using the LangDetect implementation of 
+  langid, set the random seed to 0, so that the same document is detected as 
+  the same language with the same probability every time.  
+  (Christian Moen via rmuir)
+
+* SOLR-2937: Configuring the number of contextual snippets used for 
+  search results clustering. The hl.snippets parameter is now respected
+  by the clustering plugin, can be overridden by carrot.summarySnippets
+  if needed (Stanislaw Osinski).
+
+* SOLR-2938: Clustering on multiple fields. The carrot.title and 
+  carrot.snippet can now take comma- or space-separated lists of
+  field names to cluster (Stanislaw Osinski).
+
+* SOLR-2939: Clustering of multilingual search results. The document's
+  language field be passed in the carrot.lang parameter, the carrot.lcmap
+  parameter enables mapping of language codes to ISO 639 (Stanislaw Osinski).
+
+* SOLR-2940: Passing values for custom Carrot2 fields to Clustering component. 
+  The custom field mapping are defined using the carrot.custom parameter 
+  (Stanislaw Osinski).
+
+* SOLR-2941: NullPointerException on clustering component initialization 
+  when schema does not have a unique key field (Stanislaw Osinski).
+
+* SOLR-2942: ClassCastException when passing non-textual fields to  
+  clustering component (Stanislaw Osinski).
+
+
 Other Changes
 ----------------------
 * SOLR-2922: Upgrade commons-io and commons-lang to 2.1 and 2.6, respectively. (koji)
@@ -407,6 +1560,16 @@ Other Changes
   repository).  Also updated dependencies jackson-core-asl and
   jackson-mapper-asl (both v1.5.2 -> v1.7.4).  (Dawid Weiss, Steve Rowe)
 
+* SOLR-3295: netcdf jar is excluded from the binary release (and disabled in 
+  ivy.xml) because it requires java 6. If you want to parse this content with 
+  extracting request handler and are willing to use java 6, just add the jar. 
+  (rmuir)
+
+* SOLR-3142: DIH Imports no longer default optimize to true, instead false. 
+  If you want to force all segments to be merged into one, you can specify 
+  this parameter yourself. NOTE: this can be very expensive operation and 
+  usually does not make sense for delta-imports.  (Robert Muir)
+
 Build
 ----------------------
 * SOLR-2487: Add build target to package war without slf4j jars (janhoy)
@@ -426,21 +1589,6 @@ Build
   (Robert Muir, Chris Male, Uwe Schindler, Steven Rowe, Hossman)
 
 ==================  3.5.0  ==================
-Versions of Major Components
----------------------
-Apache Tika 0.10
-Carrot2 3.5.0
-Velocity 1.6.4 and Velocity Tools 2.0
-Apache UIMA 2.3.1
-
-
-Upgrading from Solr 3.4
-----------------------
-
-* The VelocityResponseWriter is no longer built into the core.  Its JAR and
-  dependencies now need to be added (via <lib> or solr/home lib inclusion),
-  and it needs to be registered in solrconfig.xml like this:
-    <queryResponseWriter name="velocity" class="solr.VelocityResponseWriter"/>
 
 New Features
 ----------------------
@@ -457,7 +1605,7 @@ New Features
 * SOLR-1979: New contrib "langid". Adds language identification capabilities as an 
   Update Processor, using Tika's LanguageIdentifier or Cybozu language-detection
   library (janhoy, Tommaso Teofili, gsingers)
-  
+
 * SOLR-2818: Added before/after count response parsing support for range facets in
   SolrJ. (Bernhard Frauendienst via Martijn van Groningen)  
   
@@ -476,6 +1624,9 @@ New Features
   request param that can be used to delete all but the most recent N backups.
   (James Dyer via hossman)
 
+* SOLR-2839: Add alternative implementation to contrib/langid supporting 53 
+  languages, based on http://code.google.com/p/language-detection/ (rmuir)
+
 Optimizations
 ----------------------
 
@@ -484,10 +1635,6 @@ Optimizations
 
 Bug Fixes
 ----------------------
-
-* SOLR-2762: (backport form 4.x line): FSTLookup could return duplicate 
-  results or one results less than requested. (David Smiley, Dawid Weiss)
-
 * SOLR-2748: The CommitTracker used for commitWith or autoCommit by maxTime
   could commit too frequently and could block adds until a new searcher was
   registered. (yonik)
@@ -502,6 +1649,9 @@ Bug Fixes
 
 * SOLR-2780: Fixed issue where multi select facets didn't respect group.truncate parameter.
   (Martijn van Groningen, Ramzi Alqrainy)
+  
+* SOLR-2793: In rare cases (most likely during shutdown), a SolrIndexSearcher can be left
+  open if the executor rejects a task. (Mark Miller)
 
 * SOLR-2791: Replication: abortfetch command is broken if replication was started
   by fetchindex command instead of a regular poll (Yury Kats via shalin)
@@ -509,21 +1659,17 @@ Bug Fixes
 * SOLR-2861: Fix extremely rare race condition on commit that can result
   in a NPE (yonik)
 
-* SOLR-2829: Fix problem with false-positives due to incorrect
-  equals methods. (Yonik Seeley, Hossman, Erick Erickson. 
-  Marc Tinnemeyer caught the bug)
+* SOLR-2813: Fix HTTP error codes returned when requests contain strings that
+  can not be parsed as numbers for Trie fields. (Jeff Crump and hossman)
   
 * SOLR-2902: List of collations are wrong parsed in SpellCheckResponse causing
   a wrong number of collation results in the response.
   (Bastiaan Verhoef, James Dyer via Simon Willnauer)
 
-* SOLR-1730: Made it clearer when a core failed to load as well as better logging when the
-  QueryElevationComponent fails to properly initialize (gsingers)
+* SOLR-2875: Fix the incorrect url in DIH example tika-data-config.xml 
+  (Shinichiro Abe via koji)
 
-* k
-  (Russell Black via Martijn van Groningen)
-
- Other Changes
+Other Changes
 ----------------------
 
 * SOLR-2750: Make both "update.chain" and the deprecated "update.param" work
@@ -537,15 +1683,6 @@ Bug Fixes
   module to the o.a.s.util package in the Solr core module. 
   (David Smiley via Steve Rowe)
 
-* SOLR-2756: Maven configuration: Removed unused zookeeper dependency;
-  conditionalized geronimo-stax-api dependency to be in force only under
-  Java 1.5; excluded transitive stax:stax-api dependency from
-  org.codehaus.woodstox:wstx-asl dependency. (David Smiley, Steve Rowe)
-  
-* SOLR-2770: 'ant generate-maven-artifacts' should generate the maven
-  artifact for the Solr-specific jdk15-compiled carrot2-core dependency.
-  (Steve Rowe)
-
 * SOLR-2766: Package individual javadoc sites for solrj and test-framework.
   (Steve Rowe, Mike McCandless)
 
@@ -562,9 +1699,6 @@ Bug Fixes
 
 * SOLR-2792: Allow case insensitive Hunspell stemming (janhoy, rmuir)
 
-* SOLR-2588: Moved VelocityResponseWriter back to contrib module in order to 
-  remove it as a mandatory core dependency.  (Erik Hatcher)
-
 * SOLR-2862: More explicit lexical resources location logged if Carrot2 clustering 
   extension is used. Fixed solr. impl. of IResource and IResourceLookup. (Dawid Weiss)
 
@@ -572,10 +1706,9 @@ Bug Fixes
 
 * SOLR-2591: Remove commitLockTimeout option from solrconfig.xml (Luca Cavanna via Martijn van Groningen)
 
-* SOLR-1123: Changed JSONResponseWriter to now use application/json as its Content-Type
-  by default.  However the Content-Type can be overwritten and is set to text/plain in
-  the example configuration. (Uri Boness, Chris Male)
-  
+* SOLR-2746: Upgraded UIMA dependencies from *-2.3.1-SNAPSHOT.jar to *-2.3.1.jar.
+
+
 ==================  3.4.0  ==================
 
 Upgrading from Solr 3.3
@@ -609,10 +1742,6 @@ New Features
 * SOLR-2540: CommitWithin as an Update Request parameter
   You can now specify &commitWithin=N (ms) on the update request (janhoy)
 
-* SOLR-2383: /browse improvements: generalize range and date facet display
-  Backported from trunk. Removed facet.date support in Velocity, since this is 
-  deprecated in favor of facet.range (gsingers, janhoy)
-
 * SOLR-2458: post.jar enhanced to handle JSON, CSV and <optimize> (janhoy)
 
 * LUCENE-3234: add a new parameter hl.phraseLimit for FastVectorHighlighter speed up.
@@ -676,7 +1805,7 @@ Bug Fixes
 * SOLR-2625: TermVectorComponent throws NPE if TF-IDF option is used without DF
   option. (Daniel Erenrich, Simon Willnauer)
 
-* SOLR-2631: PingRequestHandler should not allow to ping itsself using "qt"
+* SOLR-2631: PingRequestHandler should not allow to ping itself using "qt"
   param to prevent infinite loop. (Edoardo Tosca, Uwe Schindler)
 
 * SOLR-2636: Fix explain functionality for negative queries. (Tom Hill via yonik)
@@ -722,22 +1851,43 @@ Bug Fixes
   in servlet containers such as WebSphere that do not use a default list
   (Jay R. Jaeger, hossman)
 
-* SOLR-2682: Remove addException() in SimpleFacet. FacetComponent no longer catches and embeds
-  exceptions occurred during facet processing, it throws HTTP 400 or 500 exceptions instead. (koji)
-
 * SOLR-2606: Fixed sort parsing of fields containing punctuation that 
   failed due to sort by function changes introduced in SOLR-1297
   (Mitsu Hadeishi, hossman)
 
-* SOLR-2734: Fix debug info for MorLikeThisHandler (introduced when SOLR-860 was backported to 3x).
-  (Andrés Cobas, hossman via koji)
+* SOLR-2706: contrib/clustering: The carrot.lexicalResourcesDir parameter 
+  now works with absolute directories (Stanislaw Osinski)
+  
+* SOLR-2692: contrib/clustering: Typo in param name fixed: "carrot.fragzise" 
+  changed to "carrot.fragSize" (Stanislaw Osinski).
+
+* SOLR-2644: When using DIH with threads=2 the default logging is set too high
+  (Bill Bell via shalin)
+
+* SOLR-2492: DIH does not commit if only deletes are processed 
+  (James Dyer via shalin)
+
+* SOLR-2186: DataImportHandler's multi-threaded option throws NPE 
+  (Lance Norskog, Frank Wesemann, shalin)
+
+* SOLR-2655: DIH multi threaded mode does not resolve attributes correctly 
+  (Frank Wesemann, shalin)
 
- Other Changes
+* SOLR-2695: DIH: Documents are collected in unsynchronized list in 
+  multi-threaded debug mode (Michael McCandless, shalin)
+
+* SOLR-2668: DIH multithreaded mode does not rollback on errors from 
+  EntityProcessor (Frank Wesemann, shalin)
+
+Other Changes
 ----------------------
 
 * SOLR-2629: Eliminate deprecation warnings in some JSPs.
   (Bernd Fehling, hossman)
 
+* SOLR-2743: Remove commons logging from contrib/extraction. (koji)
+
+
 Build
 ----------------------
 
@@ -785,7 +1935,7 @@ Upgrading from Solr 3.2.0
 New Features
 ----------------------
 
-* SOLR-2378: A new, automaton-based, implementation of suggest (autocomplete)
+* SOLR-2378: A new, automaton-based, implementation of suggest (autocomplete) 
   component, offering an order of magnitude smaller memory consumption
   compared to ternary trees and jaspell and very fast lookups at runtime.
   (Dawid Weiss)
@@ -795,7 +1945,7 @@ New Features
   The output contains a separate int[] attribute containing all positions from
   previous Tokenizers/TokenFilters (called "positionHistory").
   (Uwe Schindler)
-  
+
 * SOLR-2524: (SOLR-236, SOLR-237, SOLR-1773, SOLR-1311) Grouping / Field collapsing
   using the Lucene grouping contrib. The search result can be grouped by field and query. 
   (Martijn van Groningen, Emmanuel Keller, Shalin Shekhar Mangar, Koji Sekiguchi, 
@@ -804,11 +1954,18 @@ New Features
    Karsten Sperling, Michael Gundlach, Oleg Gnatovskiy, Thomas Traeger,
    Harish Agarwal, yonik, Michael McCandless, Bill Bell)
 
-* SOLR-1331: Added a srcCore parameter to CoreAdminHandler's mergeindexes action
+* SOLR-1331 -- Added a srcCore parameter to CoreAdminHandler's mergeindexes action
   to merge one or more cores' indexes to a target core (shalin)
 
 * SOLR-2610 -- Add an option to delete index through CoreAdmin UNLOAD action (shalin)
 
+* SOLR-2480: Add ignoreTikaException flag to the extraction request handler so 
+  that users can ignore TikaException but index meta data. 
+  (Shinichiro Abe, koji)
+
+* SOLR-2582: Use uniqueKey for error log in UIMAUpdateRequestProcessor.
+  (Tommaso Teofili via koji)
+
 Optimizations
 ----------------------
 
@@ -828,15 +1985,22 @@ Bug Fixes
   parameter is added to avoid excessive CPU time in extreme cases (e.g. long
   queries with many misspelled words).  (James Dyer via rmuir)
 
+* SOLR-2579: UIMAUpdateRequestProcessor ignore error fails if text.length() < 100.
+  (Elmer Garduno via koji)
+
+* SOLR-2581: UIMAToSolrMapper wrongly instantiates Type with reflection.
+  (Tommaso Teofili via koji)
+
+* SOLR-2551: Check dataimport.properties for write access (if delta-import is 
+  supported in DIH configuration) before starting an import (C S, shalin)
+
 Other Changes
 ----------------------
 
-* SOLR-2620: Removed unnecessary log4j jar from clustering contrib (Dawid Weiss).
-
 * SOLR-2571: Add a commented out example of the spellchecker's thresholdTokenFrequency
   parameter to the example solrconfig.xml, and also add a unit test for this feature.
   (James Dyer via rmuir)
-  
+
 * SOLR-2576: Deprecate SpellingResult.add(Token token, int docFreq), please use
   SpellingResult.addFrequency(Token token, int docFreq) instead.
   (James Dyer via rmuir)
@@ -857,8 +2021,9 @@ Other Changes
 ==================  3.2.0  ==================
 Versions of Major Components
 ---------------------
+Apache Lucene trunk
 Apache Tika 0.8
-Carrot2 3.5.0
+Carrot2 3.4.2
 
 
 Upgrading from Solr 3.1
@@ -868,6 +2033,10 @@ Upgrading from Solr 3.1
   with update.chain rather than update.processor. The latter still works,
   but has been deprecated.
 
+* <uimaConfig/> just beneath <config> ... </config> is no longer supported.
+  It should move to UIMAUpdateRequestProcessorFactory setting.
+  See contrib/uima/README.txt for more details. (SOLR-2436)
+
 Detailed Change List
 ----------------------
 
@@ -888,6 +2057,18 @@ New Features
   Explanation objects in it's responses instead of
   Explanation.toString  (hossman)
 
+* SOLR-2448: Search results clustering updates: bisecting k-means
+  clustering algorithm added, loading of Carrot2 stop words from
+  <solr.home>/conf/carrot2 (SOLR-2449), using Solr's stopwords.txt
+  for clustering (SOLR-2450), output of cluster scores (SOLR-2505)
+  (Stanislaw Osinski, Dawid Weiss).
+
+* SOLR-2503: extend UIMAUpdateRequestProcessorFactory mapping function to 
+  map feature value to dynamicField. (koji)
+
+* SOLR-2512: add ignoreErrors flag to UIMAUpdateRequestProcessorFactory so 
+  that users can ignore exceptions in AE. (Tommaso Teofili, koji)
+
 Optimizations
 ----------------------
 
@@ -962,7 +2143,7 @@ Other Changes
 
 * SOLR-2105: Rename RequestHandler param 'update.processor' to 'update.chain'.
 	(Jan Høydahl via Mark Miller)
-	
+
 * SOLR-2485: Deprecate BaseResponseWriter, GenericBinaryResponseWriter, and 
   GenericTextResponseWriter.  These classes will be removed in 4.0.  (ryan)
 
@@ -974,16 +2155,22 @@ Other Changes
 * SOLR-2528: Remove default="true" from HtmlEncoder in example solrconfig.xml,
   because html encoding confuses non-ascii users. (koji)
 
+* SOLR-2387: add mock annotators for improved testing in contrib/uima,
+  (Tommaso Teofili via rmuir)
+
+* SOLR-2436: move uimaConfig to under the uima's update processor in 
+  solrconfig.xml.  (Tommaso Teofili, koji)
+
 Build
 ----------------------
 
 * LUCENE-3006: Building javadocs will fail on warnings by default.  Override with -Dfailonjavadocwarning=false (sarowe, gsingers)
 
+
 Documentation
 ----------------------
 
 
-
 ==================  3.1.0 ==================
 Versions of Major Components
 ---------------------
@@ -1156,8 +2343,8 @@ New Features
   for specifying when the upper & lower end points of computed date
   ranges should be included in the range.  Legal values are: "all",
   "lower", "upper", "edge", and "outer".  For backwards compatibility
-  the default value is the set: [lower,upper,edge], so that al ranges
-  between start and ed are inclusive of their endpoints, but the
+  the default value is the set: [lower,upper,edge], so that all ranges
+  between start and end are inclusive of their endpoints, but the
   "before" and "after" ranges are not.
 
 * SOLR-945: JSON update handler that accepts add, delete, commit
@@ -1222,7 +2409,7 @@ New Features
 * SOLR-2129: Added a Solr module for dynamic metadata extraction/indexing with Apache UIMA.
   See contrib/uima/README.txt for more information.  (Tommaso Teofili via rmuir)
 
-* SOLR-2325: Allow tagging and exlcusion of main query for faceting. (yonik)
+* SOLR-2325: Allow tagging and exclusion of main query for faceting. (yonik)
 
 * SOLR-2263: Add ability for RawResponseWriter to stream binary files as well as
   text files.  (Eric Pugh via yonik)
@@ -1231,6 +2418,50 @@ New Features
 
 * SOLR-1057: Add PathHierarchyTokenizerFactory. (ryan, koji)
 
+* SOLR-1804: Re-enabled clustering component on trunk, updated to latest 
+  version of Carrot2.  No more LGPL run-time dependencies.  This release of 
+  C2 also does not have a specific Lucene dependency.  
+  (Stanislaw Osinski, gsingers)
+
+* SOLR-2282: Add distributed search support for search result clustering.
+  (Brad Giaccio, Dawid Weiss, Stanislaw Osinski, rmuir, koji)
+
+* SOLR-2210: Add icu-based tokenizer and filters to contrib/analysis-extras (rmuir)
+
+* SOLR-1336: Add SmartChinese (word segmentation for Simplified Chinese) 
+  tokenizer and filters to contrib/analysis-extras (rmuir)
+
+* SOLR-2211,LUCENE-2763: Added UAX29URLEmailTokenizerFactory, which implements
+  UAX#29, a unicode algorithm with good results for most languages, as well as
+  URL and E-mail tokenization according to the relevant RFCs.
+  (Tom Burton-West via rmuir)
+
+* SOLR-2237: Added StempelPolishStemFilterFactory to contrib/analysis-extras (rmuir)
+
+* SOLR-1525: allow DIH to refer to core properties (noble)
+
+* SOLR-1547: DIH TemplateTransformer copy objects more intelligently when the 
+  template is a single variable (noble)
+
+* SOLR-1627: DIH VariableResolver should be fetched just in time (noble)
+
+* SOLR-1583: DIH Create DataSources that return InputStream (noble)
+
+* SOLR-1358: Integration of Tika and DataImportHandler (Akshay Ukey, noble)
+
+* SOLR-1654: TikaEntityProcessor example added DIHExample 
+  (Akshay Ukey via noble)
+
+* SOLR-1678: Move onError handling to DIH framework (noble)
+
+* SOLR-1352: Multi-threaded implementation of DIH (noble)
+
+* SOLR-1721: Add explicit option to run DataImportHandler in synchronous mode 
+  (Alexey Serba via noble)
+
+* SOLR-1737: Added FieldStreamDataSource (noble)
+
+
 Optimizations
 ----------------------
 
@@ -1252,6 +2483,13 @@ Optimizations
 
 * SOLR-2046: add common functions to scripts-util. (koji)
 
+* SOLR-1684: Switch clustering component to use the 
+  SolrIndexSearcher.doc(int, Set<String>) method b/c it can use the document 
+  cache (gsingers)
+
+* SOLR-2200: Improve the performance of DataImportHandler for large 
+  delta-import updates. (Mark Waddle via rmuir)
+
 Bug Fixes
 ----------------------
 * SOLR-1769: Solr 1.4 Replication - Repeater throwing NullPointerException (Jörgen Rydenius via noble)
@@ -1506,10 +2744,74 @@ Bug Fixes
 * SOLR-2192: StreamingUpdateSolrServer.blockUntilFinished was not
   thread safe and could throw an exception. (yonik)
 
+* SOLR-1692: Fix bug in clustering component relating to carrot.produceSummary 
+  option (gsingers)
+
+* SOLR-1756: The date.format setting for extraction request handler causes 
+  ClassCastException when enabled and the config code that parses this setting 
+  does not properly use the same iterator instance. 
+  (Christoph Brill, Mark Miller)
+
+* SOLR-1638: Fixed NullPointerException during DIH import if uniqueKey is not 
+  specified in schema (Akshay Ukey via shalin)
+
+* SOLR-1639: Fixed misleading error message when dataimport.properties is not 
+  writable (shalin)
+
+* SOLR-1598: DIH: Reader used in PlainTextEntityProcessor is not explicitly 
+  closed (Sascha Szott via noble)
+
+* SOLR-1759: DIH: $skipDoc was not working correctly 
+  (Gian Marco Tagliani via noble)
+
+* SOLR-1762: DIH: DateFormatTransformer does not work correctly with 
+  non-default locale dates (tommy chheng via noble)
+
+* SOLR-1757: DIH multithreading sometimes throws NPE (noble)
+
+* SOLR-1766: DIH with threads enabled doesn't respond to the abort command 
+  (Michael Henson via noble)
+
+* SOLR-1767: dataimporter.functions.escapeSql() does not escape backslash 
+  character (Sean Timm via noble)
+
+* SOLR-1811: formatDate should use the current NOW value always 
+  (Sean Timm via noble)
+
+* SOLR-1794: Dataimport of CLOB fields fails when getCharacterStream() is 
+  defined in a superclass. (Gunnar Gauslaa Bergem via rmuir)
+
+* SOLR-2057: DataImportHandler never calls UpdateRequestProcessor.finish()
+  (Drew Farris via koji)
+
+* SOLR-1973: Empty fields in XML update messages confuse DataImportHandler. 
+  (koji)
+
+* SOLR-2221: Use StrUtils.parseBool() to get values of boolean options in DIH.
+  true/on/yes (for TRUE) and false/off/no (for FALSE) can be used for 
+  sub-options (debug, verbose, synchronous, commit, clean, optimize) for 
+  full/delta-import commands. (koji)
+
+* SOLR-2310: DIH: getTimeElapsedSince() returns incorrect hour value when 
+  the elapse is over 60 hours (tom liu via koji)
+
+* SOLR-2252: DIH: When a child entity in nested entities is rootEntity="true", 
+  delta-import doesn't work. (koji)
+
+* SOLR-2330: solrconfig.xml files in example-DIH are broken. (Matt Parker, koji)
+
+* SOLR-1191: resolve DataImportHandler deltaQuery column against pk when pk
+  has a prefix (e.g. pk="book.id" deltaQuery="select id from ..."). More
+  useful error reporting when no match found (previously failed with a
+  NullPointerException in log and no clear user feedback). (gthb via yonik)
+
+* SOLR-2116: Fix TikaConfig classloader bug in TikaEntityProcessor
+  (Martijn van Groningen via hossman)
+
 Other Changes
 ----------------------
 
-* SOLR-1602: Refactor SOLR package structure to include o.a.solr.response
+* SOLR-1602: Refactor SOLR package structure to include o.a.solr.response 
   and move QueryResponseWriters in there
   (Chris A. Mattmann, ryan, hoss)
 
@@ -1522,7 +2824,7 @@ Other Changes
 
 * SOLR-1561: Added Lucene 2.9.1 spatial contrib jar to lib. (gsingers)
 
-* SOLR-1570: Log warnings if uniqueKey is multi-valued or not stored (hossman, shalin)
+* SOLR-1570: Log warnings if uniqueKey is multi-valued or not stored (hossman, shalin) 
 
 * SOLR-1558: QueryElevationComponent only works if the uniqueKey field is
   implemented using StrField.  In previous versions of Solr no warning or
@@ -1543,7 +2845,7 @@ Other Changes
 
 * SOLR-1662: Added Javadocs in BufferedTokenStream and fixed incorrect cloning
   in TestBufferedTokenStream (Robert Muir, Uwe Schindler via shalin)
-
+  
 * SOLR-1674: Improve analysis tests and cut over to new TokenStream API.
   (Robert Muir via Mark Miller)
 
@@ -1556,10 +2858,10 @@ Other Changes
 * SOLR-1538: Reordering of object allocations in ConcurrentLRUCache to eliminate
   (an extremely small) potential for deadlock.
   (gabriele renzi via hossman)
-
+  
 * SOLR-1588: Removed some very old dead code.
   (Chris A. Mattmann via hossman)
-
+  
 * SOLR-1696 : Deprecate old <highlighting> syntax and move configuration to HighlightComponent (noble)
 
 * SOLR-1727: SolrEventListener should extend NamedListInitializedPlugin (noble)
@@ -1581,12 +2883,12 @@ Other Changes
   Notepad.  (rmuir, hossman)
 
 * SOLR-1938: ElisionFilterFactory will use a default set of French contractions
-  if you do not supply a custom articles file.  (rmuir)
-
+  if you do not supply a custom articles file.  (rmuir)  
+  
 * SOLR-2003: SolrResourceLoader will report any encoding errors, rather than
   silently using replacement characters for invalid inputs (blargy via rmuir)
 
-* SOLR-1804: Google collections updated to Google Guava (which is a superset of collections and contains bug fixes) (gsingers)
+* SOLR-1804: Google collections updated to Google Guava (which is a superset of collections and contains bug fixes) (gsingers)  
 
 * SOLR-2034: Switch to JavaBin codec version 2. Strings are now serialized
   as the number of UTF-8 bytes, followed by the bytes in UTF-8. Previously
@@ -1595,7 +2897,7 @@ Other Changes
 
 * SOLR-2013: Add mapping-FoldToASCII.txt to example conf directory.
   (Steven Rowe via koji)
-
+  
 * SOLR-2213: Upgrade to jQuery 1.4.3 (Erick Erickson via ryan)
 
 * SOLR-1826: Add unit tests for highlighting with termOffsets=true
@@ -1610,7 +2912,7 @@ Other Changes
 
 * SOLR-2365: Move DIH jars out of solr.war (David Smiley via yonik)
 
-* SOLR-2381: Include a patched version of Jetty (6.1.26 + JETTY-1340)
+* SOLR-2381: Include a patched version of Jetty (6.1.26 + JETTY-1340) 
   to fix problematic UTF-8 handling for supplementary characters.
   (Bernd Fehling, uschindler, yonik, rmuir)
 
@@ -1630,12 +2932,26 @@ Other Changes
   servlet containers was therefore removed and is now ignored if set.
   Output is always UTF-8.  (uschindler, yonik, rmuir)
 
+* SOLR-141: Errors and Exceptions are formated by ResponseWriter.
+  (Mike Sokolov, Rich Cariens, Daniel Naber, ryan)
+
+* SOLR-1902: Upgraded to Tika 0.8 and changed deprecated parse call
+
+* SOLR-1813: Add ICU4j to contrib/extraction libs and add tests for Arabic 
+  extraction (Robert Muir via gsingers)
+
+* SOLR-1821: Fix TimeZone-dependent test failure in TestEvaluatorBag.
+  (Chris Male via rmuir)
+
+* SOLR-2367: Reduced noise in test output by ensuring the properties file 
+  can be written. (Gunnlaugur Thor Briem via rmuir)
+
 Build
 ----------------------
 
 * SOLR-1522: Automated release signing process. (gsingers)
 
-* SOLR-1891: Make lucene-jars-to-solr fail if copying any of the jars fails, and
+* SOLR-1891: Make lucene-jars-to-solr fail if copying any of the jars fails, and 
   update clean to remove the jars in that directory (Mark Miller)
 
 * LUCENE-2466: Commons-Codec was upgraded from 1.3 to 1.4. (rmuir)
@@ -1654,123 +2970,6 @@ Documentation
 * SOLR-1792: Documented peculiar behavior of TestHarness.LocalRequestFactory
   (hossman)
 
-================== Release 1.4.1 ==================
-Release Date:  See http://lucene.apache.org/solr for the official release date.
-
-Upgrading from Solr 1.4
------------------------
-
-This is a bug fix release - no changes are required when upgrading from Solr 1.4. 
-However, a reindex is needed for some of the analysis fixes to take effect.
-
-Versions of Major Components
-----------------------------
-Apache Lucene 2.9.3
-Apache Tika 0.4
-Carrot2 3.1.0
-
-Lucene Information
-----------------
-
-Since Solr is built on top of Lucene, many people add customizations to Solr
-that are dependent on Lucene.  Please see http://lucene.apache.org/java/2_9_3/,
-especially http://lucene.apache.org/java/2_9_3/changes/Changes.html for more
-information on the version of Lucene used in Solr.
-
-Bug Fixes
-----------------------
-
-* SOLR-1934: Upgrade to Apache Lucene 2.9.3 to obtain several bug
-  fixes from the previous 2.9.1.  See the Lucene 2.9.3 release notes
-  for details.  (hossman, Mark Miller)
-
-* SOLR-1432: Make the new ValueSource.getValues(context,reader) delegate
-  to the original ValueSource.getValues(reader) so custom sources
-  will work. (yonik)
-
-* SOLR-1572: FastLRUCache correctly implemented the LRU policy only
-  for the first 2B accesses. (yonik)
-
-* SOLR-1595: StreamingUpdateSolrServer used the platform default character
-  set when streaming updates, rather than using UTF-8 as the HTTP headers
-  indicated, leading to an encoding mismatch. (hossman, yonik)
-
-* SOLR-1660: CapitalizationFilter crashes if you use the maxWordCountOption
-  (Robert Muir via shalin)
-
-* SOLR-1662: Added Javadocs in BufferedTokenStream and fixed incorrect cloning
-  in TestBufferedTokenStream (Robert Muir, Uwe Schindler via shalin)
-
-* SOLR-1711: SolrJ - StreamingUpdateSolrServer had a race condition that
-  could halt the streaming of documents. The original patch to fix this
-  (never officially released) introduced another hanging bug due to
-  connections not being released.  (Attila Babo, Erik Hetzner via yonik)
-  
-* SOLR-1748, SOLR-1747, SOLR-1746, SOLR-1745, SOLR-1744: Streams and Readers
-  retrieved from ContentStreams are not closed in various places, resulting
-  in file descriptor leaks.
-  (Christoff Brill, Mark Miller)
-  
-* SOLR-1580: Solr Configuration ignores 'mergeFactor' parameter, always 
-  uses Lucene default. (Lance Norskog via Mark Miller)
-
-* SOLR-1777: fieldTypes with sortMissingLast=true or sortMissingFirst=true can
-  result in incorrectly sorted results.  (yonik)
-
-* SOLR-1797: fix ConcurrentModificationException and potential memory
-  leaks in ResourceLoader. (yonik)
-
-* SOLR-1798: Small memory leak (~100 bytes) in fastLRUCache for every
-  commit. (yonik)
-
-* SOLR-1522: Show proper message if <script> tag is missing for DIH 
-  ScriptTransformer (noble)
-
-* SOLR-1538: Reordering of object allocations in ConcurrentLRUCache to eliminate
-  (an extremely small) potential for deadlock.
-  (gabriele renzi via hossman)
-
-* SOLR-1558: QueryElevationComponent only works if the uniqueKey field is
-  implemented using StrField.  In previous versions of Solr no warning or
-  error would be generated if you attempted to use QueryElevationComponent,
-  it would just fail in unexpected ways.  This has been changed so that it
-  will fail with a clear error message on initialization. (hossman)
-
-* SOLR-1563: Binary fields, including trie-based numeric fields, caused null
-  pointer exceptions in the luke request handler. (yonik)
-
-* SOLR-1579: Fixes to XML escaping in stats.jsp
-  (David Bowen and hossman)
-
-* SOLR-1582: copyField was ignored for BinaryField types (gsingers)
-
-* SOLR-1596: A rollback operation followed by the shutdown of Solr
-  or the close of a core resulted in a warning:
-  "SEVERE: SolrIndexWriter was not closed prior to finalize()" although
-  there were no other consequences. (yonik)
-
-* SOLR-1651: Fixed Incorrect dataimport handler package name in SolrResourceLoader
-  (Akshay Ukey via shalin)
-
-* SOLR-1936: The JSON response format needed to escape unicode code point
-  U+2028 - 'LINE SEPARATOR' (Robert Hofstra, yonik)
-
-* SOLR-1852: Fix WordDelimiterFilterFactory bug where position increments
-  were not being applied properly to subwords.  (Peter Wolanin via Robert Muir)
-
-* SOLR-1706: fixed WordDelimiterFilter for certain combinations of options
-  where it would output incorrect tokens. (Robert Muir, Chris Male)
-
-* SOLR-1948: PatternTokenizerFactory should use parent's args (koji)
-
-* SOLR-1870: Indexing documents using the 'javabin' format no longer
-  fails with a ClassCastException whenSolrInputDocuments contain field
-  values which are Collections or other classes that implement
-  Iterable. (noble, hossman)
-
-* SOLR-1769 Solr 1.4 Replication - Repeater throwing NullPointerException (noble)
-
-
 ================== Release 1.4.0 ==================
 Release Date:  See http://lucene.apache.org/solr for the official release date.
 
@@ -1826,10 +3025,37 @@ Use of the "charset" option when configu
 Factories has been deprecated and will cause a warning to be logged.
 In future versions of Solr attempting to use this option will cause an
 error.  See SOLR-1410 for more information.
- * GreekLowerCaseFilterFactory
- * RussianStemFilterFactory
- * RussianLowerCaseFilterFactory
- * RussianLetterTokenizerFactory
+ - GreekLowerCaseFilterFactory
+ - RussianStemFilterFactory
+ - RussianLowerCaseFilterFactory
+ - RussianLetterTokenizerFactory
+
+DIH: Evaluator API has been changed in a non back-compatible way. Users who 
+have developed custom Evaluators will need to change their code according to 
+the new API for it to work. See SOLR-996 for details.
+
+DIH: The formatDate evaluator's syntax has been changed. The new syntax is 
+formatDate(<variable>, '<format_string>'). For example, 
+formatDate(x.date, 'yyyy-MM-dd'). In the old syntax, the date string was 
+written without a single-quotes. The old syntax has been deprecated and will 
+be removed in 1.5, until then, using the old syntax will log a warning.
+
+DIH: The Context API has been changed in a non back-compatible way. In 
+particular, the Context.currentProcess() method now returns a String 
+describing the type of the current import process instead of an int. 
+Similarily, the public constants in Context viz. FULL_DUMP, DELTA_DUMP and 
+FIND_DELTA are changed to a String type. See SOLR-969 for details.
+
+DIH: The EntityProcessor API has been simplified by moving logic for applying 
+transformers and handling multi-row outputs from Transformers into an 
+EntityProcessorWrapper class. The EntityProcessor#destroy is now called once 
+per parent-row at the end of row (end of data). A new method 
+EntityProcessor#close is added which is called at the end of import.
+
+DIH: In Solr 1.3, if the last_index_time was not available (first import) and 
+a delta-import was requested, a full-import was run instead. This is no longer 
+the case. In Solr 1.4 delta import is run with last_index_time as the epoch 
+date (January 1, 1970, 00:00:00 GMT) if last_index_time is not available.
 
 Versions of Major Components
 ----------------------------
@@ -1879,7 +3105,7 @@ New Features
  7. SOLR-680: Add StatsComponent. This gets simple statistics on matched numeric fields,
     including: min, max, mean, median, stddev.  (koji, ryan)
 
-    7.1 SOLR-1380: Added support for multi-valued fields (Harish Agarwal via gsingers)
+    - SOLR-1380: Added support for multi-valued fields (Harish Agarwal via gsingers)
 
  8. SOLR-561: Added Replication implemented in Java as a request handler. Supports index replication
     as well as configuration replication and exposes detailed statistics and progress information
@@ -2116,6 +3342,146 @@ New Features
 84. SOLR-1449: Add <lib> elements to solrconfig.xml to specifying additional
     classpath directories and regular expressions. (hossman via yonik)
 
+85. SOLR-1128: Added metadata output to extraction request handler "extract 
+    only" option.  (gsingers)
+
+86. SOLR-1274: Added text serialization output for extractOnly 
+    (Peter Wolanin, gsingers)  
+
+87. SOLR-768: DIH: Set last_index_time variable in full-import command.

[... 464 lines stripped ...]