You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by cw...@apache.org on 2020/07/10 22:24:25 UTC

[druid-website-src] branch 0.19.0-docs created (now c0973d8)

This is an automated email from the ASF dual-hosted git repository.

cwylie pushed a change to branch 0.19.0-docs
in repository https://gitbox.apache.org/repos/asf/druid-website-src.git.


      at c0973d8  build docs for 0.19.0

This branch includes the following new commits:

     new c0973d8  build docs for 0.19.0

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org


[druid-website-src] 01/01: build docs for 0.19.0

Posted by cw...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

cwylie pushed a commit to branch 0.19.0-docs
in repository https://gitbox.apache.org/repos/asf/druid-website-src.git

commit c0973d8fa8530a179e75731779cd442ad50b8b41
Author: Clint Wylie <cw...@apache.org>
AuthorDate: Fri Jul 10 15:23:12 2020 -0700

    build docs for 0.19.0
---
 docs/0.19.0/About-Experimental-Features.html       |   8 +
 docs/0.19.0/Aggregations.html                      |   8 +
 docs/0.19.0/ApproxHisto.html                       |   8 +
 docs/0.19.0/Batch-ingestion.html                   |   8 +
 docs/0.19.0/Booting-a-production-cluster.html      |   8 +
 docs/0.19.0/Broker-Config.html                     |   8 +
 docs/0.19.0/Broker.html                            |   8 +
 docs/0.19.0/Build-from-source.html                 |   8 +
 docs/0.19.0/Cassandra-Deep-Storage.html            |   8 +
 docs/0.19.0/Cluster-setup.html                     |   8 +
 docs/0.19.0/Compute.html                           |   8 +
 docs/0.19.0/Concepts-and-Terminology.html          |   8 +
 docs/0.19.0/Configuration.html                     |   8 +
 docs/0.19.0/Contribute.html                        |   8 +
 docs/0.19.0/Coordinator-Config.html                |   8 +
 docs/0.19.0/Coordinator.html                       |   8 +
 docs/0.19.0/DataSource.html                        |   8 +
 docs/0.19.0/DataSourceMetadataQuery.html           |   8 +
 docs/0.19.0/Data_formats.html                      |   8 +
 docs/0.19.0/Deep-Storage.html                      |   8 +
 docs/0.19.0/Design.html                            |   8 +
 docs/0.19.0/DimensionSpecs.html                    |   8 +
 docs/0.19.0/Download.html                          |   8 +
 docs/0.19.0/Druid-Personal-Demo-Cluster.html       |   8 +
 docs/0.19.0/Druid-vs-Cassandra.html                |   8 +
 docs/0.19.0/Druid-vs-Elasticsearch.html            |   8 +
 docs/0.19.0/Druid-vs-Hadoop.html                   |   8 +
 docs/0.19.0/Druid-vs-Impala-or-Shark.html          |   8 +
 docs/0.19.0/Druid-vs-Redshift.html                 |   8 +
 docs/0.19.0/Druid-vs-Spark.html                    |   8 +
 docs/0.19.0/Druid-vs-Vertica.html                  |   8 +
 docs/0.19.0/Evaluate.html                          |   8 +
 docs/0.19.0/Examples.html                          |   8 +
 docs/0.19.0/Filters.html                           |   8 +
 docs/0.19.0/GeographicQueries.html                 |   8 +
 docs/0.19.0/Granularities.html                     |   8 +
 docs/0.19.0/GroupByQuery.html                      |   8 +
 docs/0.19.0/Hadoop-Configuration.html              |   8 +
 docs/0.19.0/Having.html                            |   8 +
 docs/0.19.0/Historical-Config.html                 |   8 +
 docs/0.19.0/Historical.html                        |   8 +
 docs/0.19.0/Home.html                              |   8 +
 docs/0.19.0/Including-Extensions.html              |   8 +
 docs/0.19.0/Indexing-Service-Config.html           |   8 +
 docs/0.19.0/Indexing-Service.html                  |   8 +
 docs/0.19.0/Ingestion-FAQ.html                     |   8 +
 docs/0.19.0/Ingestion-overview.html                |   8 +
 docs/0.19.0/Ingestion.html                         |   8 +
 docs/0.19.0/Kafka-Eight.html                       |   8 +
 docs/0.19.0/Libraries.html                         |   8 +
 docs/0.19.0/LimitSpec.html                         |   8 +
 docs/0.19.0/Loading-Your-Data.html                 |   8 +
 docs/0.19.0/Logging.html                           |   8 +
 docs/0.19.0/Master.html                            |   8 +
 docs/0.19.0/Metadata-storage.html                  |   8 +
 docs/0.19.0/Metrics.html                           |   8 +
 docs/0.19.0/Middlemanager.html                     |   8 +
 docs/0.19.0/Modules.html                           |   8 +
 docs/0.19.0/MySQL.html                             |   8 +
 docs/0.19.0/OrderBy.html                           |   8 +
 docs/0.19.0/Other-Hadoop.html                      |   8 +
 docs/0.19.0/Papers-and-talks.html                  |   8 +
 docs/0.19.0/Peons.html                             |   8 +
 docs/0.19.0/Performance-FAQ.html                   |   8 +
 docs/0.19.0/Plumber.html                           |   8 +
 docs/0.19.0/Post-aggregations.html                 |   8 +
 docs/0.19.0/Production-Cluster-Configuration.html  |   8 +
 docs/0.19.0/Query-Context.html                     |   8 +
 docs/0.19.0/Querying-your-data.html                |   8 +
 docs/0.19.0/Querying.html                          |   8 +
 docs/0.19.0/Realtime-Config.html                   |   8 +
 docs/0.19.0/Realtime-ingestion.html                |   8 +
 docs/0.19.0/Realtime.html                          |   8 +
 docs/0.19.0/Rolling-Updates.html                   |   8 +
 docs/0.19.0/Router.html                            |   8 +
 docs/0.19.0/Rule-Configuration.html                |   8 +
 docs/0.19.0/SearchQuery.html                       |   8 +
 docs/0.19.0/SearchQuerySpec.html                   |   8 +
 docs/0.19.0/SegmentMetadataQuery.html              |   8 +
 docs/0.19.0/Segments.html                          |   8 +
 docs/0.19.0/SelectQuery.html                       |   8 +
 docs/0.19.0/Simple-Cluster-Configuration.html      |   8 +
 docs/0.19.0/Spatial-Filters.html                   |   8 +
 docs/0.19.0/Spatial-Indexing.html                  |   8 +
 docs/0.19.0/Stand-Alone-With-Riak-CS.html          |   8 +
 docs/0.19.0/Support.html                           |   8 +
 docs/0.19.0/Tasks.html                             |   8 +
 docs/0.19.0/Thanks.html                            |   8 +
 docs/0.19.0/TimeBoundaryQuery.html                 |   8 +
 docs/0.19.0/TimeseriesQuery.html                   |   8 +
 docs/0.19.0/TopNMetricSpec.html                    |   8 +
 docs/0.19.0/TopNQuery.html                         |   8 +
 docs/0.19.0/Tutorial-A-First-Look-at-Druid.html    |   8 +
 docs/0.19.0/Tutorial-All-About-Queries.html        |   8 +
 docs/0.19.0/Tutorial-Loading-Batch-Data.html       |   8 +
 docs/0.19.0/Tutorial-Loading-Streaming-Data.html   |   8 +
 docs/0.19.0/Tutorial-The-Druid-Cluster.html        |   8 +
 docs/0.19.0/Tutorial:-A-First-Look-at-Druid.html   |   8 +
 docs/0.19.0/Tutorial:-All-About-Queries.html       |   8 +
 docs/0.19.0/Tutorial:-Loading-Batch-Data.html      |   8 +
 docs/0.19.0/Tutorial:-Loading-Streaming-Data.html  |   8 +
 .../0.19.0/Tutorial:-Loading-Your-Data-Part-1.html |   8 +
 .../0.19.0/Tutorial:-Loading-Your-Data-Part-2.html |   8 +
 docs/0.19.0/Tutorial:-The-Druid-Cluster.html       |   8 +
 docs/0.19.0/Tutorial:-Webstream.html               |   8 +
 docs/0.19.0/Tutorials.html                         |   8 +
 docs/0.19.0/Twitter-Tutorial.html                  |   8 +
 docs/0.19.0/Versioning.html                        |   8 +
 docs/0.19.0/ZooKeeper.html                         |   8 +
 docs/0.19.0/alerts.html                            |   8 +
 docs/0.19.0/assets/datasources-action-button.png   | Bin 0 -> 800 bytes
 docs/0.19.0/assets/druid-architecture.png          | Bin 0 -> 134117 bytes
 docs/0.19.0/assets/druid-column-types.png          | Bin 0 -> 93363 bytes
 docs/0.19.0/assets/druid-dataflow-2x.png           | Bin 0 -> 130160 bytes
 docs/0.19.0/assets/druid-dataflow-3.png            | Bin 0 -> 71425 bytes
 docs/0.19.0/assets/druid-manage-1.png              | Bin 0 -> 80415 bytes
 docs/0.19.0/assets/druid-timeline.png              | Bin 0 -> 24160 bytes
 docs/0.19.0/assets/indexing_service.png            | Bin 0 -> 22490 bytes
 docs/0.19.0/assets/native-queries-01.png           | Bin 0 -> 259507 bytes
 docs/0.19.0/assets/segmentPropagation.png          | Bin 0 -> 30569 bytes
 .../assets/tutorial-batch-data-loader-00.png       | Bin 0 -> 2904 bytes
 .../assets/tutorial-batch-data-loader-01.png       | Bin 0 -> 227941 bytes
 .../assets/tutorial-batch-data-loader-015.png      | Bin 0 -> 206331 bytes
 .../assets/tutorial-batch-data-loader-02.png       | Bin 0 -> 1193472 bytes
 .../assets/tutorial-batch-data-loader-03.png       | Bin 0 -> 405035 bytes
 .../assets/tutorial-batch-data-loader-04.png       | Bin 0 -> 488906 bytes
 .../assets/tutorial-batch-data-loader-05.png       | Bin 0 -> 447046 bytes
 .../assets/tutorial-batch-data-loader-06.png       | Bin 0 -> 191383 bytes
 .../assets/tutorial-batch-data-loader-07.png       | Bin 0 -> 173618 bytes
 .../assets/tutorial-batch-data-loader-08.png       | Bin 0 -> 325806 bytes
 .../assets/tutorial-batch-data-loader-09.png       | Bin 0 -> 187695 bytes
 .../assets/tutorial-batch-data-loader-10.png       | Bin 0 -> 219732 bytes
 .../assets/tutorial-batch-data-loader-11.png       | Bin 0 -> 316540 bytes
 .../assets/tutorial-batch-data-loader-12.png       | Bin 0 -> 31752 bytes
 .../assets/tutorial-batch-submit-task-01.png       | Bin 0 -> 170537 bytes
 .../assets/tutorial-batch-submit-task-02.png       | Bin 0 -> 207377 bytes
 docs/0.19.0/assets/tutorial-compaction-01.png      | Bin 0 -> 35710 bytes
 docs/0.19.0/assets/tutorial-compaction-02.png      | Bin 0 -> 166571 bytes
 docs/0.19.0/assets/tutorial-compaction-03.png      | Bin 0 -> 26755 bytes
 docs/0.19.0/assets/tutorial-compaction-04.png      | Bin 0 -> 184365 bytes
 docs/0.19.0/assets/tutorial-compaction-05.png      | Bin 0 -> 26588 bytes
 docs/0.19.0/assets/tutorial-compaction-06.png      | Bin 0 -> 206717 bytes
 docs/0.19.0/assets/tutorial-compaction-07.png      | Bin 0 -> 26683 bytes
 docs/0.19.0/assets/tutorial-compaction-08.png      | Bin 0 -> 28751 bytes
 docs/0.19.0/assets/tutorial-deletion-01.png        | Bin 0 -> 43586 bytes
 docs/0.19.0/assets/tutorial-deletion-02.png        | Bin 0 -> 439602 bytes
 docs/0.19.0/assets/tutorial-deletion-03.png        | Bin 0 -> 437304 bytes
 .../assets/tutorial-kafka-data-loader-01.png       | Bin 0 -> 118171 bytes
 .../assets/tutorial-kafka-data-loader-02.png       | Bin 0 -> 613518 bytes
 .../assets/tutorial-kafka-data-loader-03.png       | Bin 0 -> 201934 bytes
 .../assets/tutorial-kafka-data-loader-04.png       | Bin 0 -> 252479 bytes
 .../assets/tutorial-kafka-data-loader-05.png}      | Bin
 .../assets/tutorial-kafka-data-loader-06.png       | Bin 0 -> 94346 bytes
 .../assets/tutorial-kafka-data-loader-07.png       | Bin 0 -> 135815 bytes
 .../assets/tutorial-kafka-data-loader-08.png       | Bin 0 -> 97816 bytes
 .../assets/tutorial-kafka-data-loader-09.png       | Bin 0 -> 171974 bytes
 .../assets/tutorial-kafka-data-loader-10.png       | Bin 0 -> 113867 bytes
 .../assets/tutorial-kafka-data-loader-11.png       | Bin 0 -> 120255 bytes
 .../assets/tutorial-kafka-data-loader-12.png       | Bin 0 -> 153000 bytes
 .../assets/tutorial-kafka-submit-supervisor-01.png | Bin 0 -> 143733 bytes
 docs/0.19.0/assets/tutorial-query-01.png           | Bin 0 -> 81402 bytes
 docs/0.19.0/assets/tutorial-query-02.png           | Bin 0 -> 155423 bytes
 docs/0.19.0/assets/tutorial-query-03.png           | Bin 0 -> 197392 bytes
 docs/0.19.0/assets/tutorial-query-035.png          | Bin 0 -> 256043 bytes
 docs/0.19.0/assets/tutorial-query-04.png           | Bin 0 -> 250861 bytes
 docs/0.19.0/assets/tutorial-query-05.png           | Bin 0 -> 51855 bytes
 docs/0.19.0/assets/tutorial-query-06.png           | Bin 0 -> 208088 bytes
 docs/0.19.0/assets/tutorial-query-07.png           | Bin 0 -> 260071 bytes
 docs/0.19.0/assets/tutorial-query-08.png           | Bin 0 -> 297253 bytes
 docs/0.19.0/assets/tutorial-quickstart-01.png      | Bin 0 -> 122497 bytes
 docs/0.19.0/assets/tutorial-retention-00.png       | Bin 0 -> 77704 bytes
 docs/0.19.0/assets/tutorial-retention-01.png       | Bin 0 -> 35171 bytes
 docs/0.19.0/assets/tutorial-retention-02.png       | Bin 0 -> 240310 bytes
 docs/0.19.0/assets/tutorial-retention-03.png       | Bin 0 -> 30029 bytes
 docs/0.19.0/assets/tutorial-retention-04.png       | Bin 0 -> 44617 bytes
 docs/0.19.0/assets/tutorial-retention-05.png       | Bin 0 -> 38992 bytes
 docs/0.19.0/assets/tutorial-retention-06.png       | Bin 0 -> 137570 bytes
 docs/0.19.0/assets/web-console-01-home-view.png    | Bin 0 -> 62928 bytes
 .../0.19.0/assets/web-console-02-data-loader-1.png | Bin 0 -> 80587 bytes
 .../0.19.0/assets/web-console-03-data-loader-2.png | Bin 0 -> 280137 bytes
 docs/0.19.0/assets/web-console-04-datasources.png  | Bin 0 -> 113501 bytes
 docs/0.19.0/assets/web-console-05-retention.png    | Bin 0 -> 99148 bytes
 docs/0.19.0/assets/web-console-06-segments.png     | Bin 0 -> 136070 bytes
 docs/0.19.0/assets/web-console-07-supervisors.png  | Bin 0 -> 77637 bytes
 .../assets/web-console-08-supervisor-status.png    | Bin 0 -> 82538 bytes
 docs/0.19.0/assets/web-console-09-task-status.png  | Bin 0 -> 251600 bytes
 docs/0.19.0/assets/web-console-10-servers.png      | Bin 0 -> 92508 bytes
 docs/0.19.0/assets/web-console-11-query-sql.png    | Bin 0 -> 136714 bytes
 docs/0.19.0/assets/web-console-12-query-rune.png   | Bin 0 -> 94341 bytes
 docs/0.19.0/assets/web-console-13-lookups.png      | Bin 0 -> 56556 bytes
 docs/0.19.0/comparisons/druid-vs-cassandra.html    |   8 +
 .../0.19.0/comparisons/druid-vs-elasticsearch.html | 110 ++++++++
 docs/0.19.0/comparisons/druid-vs-hadoop.html       |   8 +
 .../comparisons/druid-vs-impala-or-shark.html      |   8 +
 docs/0.19.0/comparisons/druid-vs-key-value.html    | 118 +++++++++
 docs/0.19.0/comparisons/druid-vs-kudu.html         | 112 ++++++++
 .../comparisons/druid-vs-redshift.html             |  10 +-
 docs/0.19.0/comparisons/druid-vs-spark.html        | 112 ++++++++
 .../comparisons/druid-vs-sql-on-hadoop.html        |  10 +-
 docs/0.19.0/comparisons/druid-vs-vertica.html      |   8 +
 docs/0.19.0/configuration/auth.html                |   8 +
 docs/0.19.0/configuration/broker.html              |   8 +
 docs/0.19.0/configuration/caching.html             |   8 +
 docs/0.19.0/configuration/coordinator.html         |   8 +
 docs/0.19.0/configuration/hadoop.html              |   8 +
 docs/0.19.0/configuration/historical.html          |   8 +
 docs/{latest => 0.19.0}/configuration/index.html   | 186 +++++++-------
 docs/0.19.0/configuration/indexing-service.html    |   8 +
 docs/{latest => 0.19.0}/configuration/logging.html |  10 +-
 docs/0.19.0/configuration/production-cluster.html  |   8 +
 docs/0.19.0/configuration/realtime.html            |   8 +
 docs/0.19.0/configuration/simple-cluster.html      |   8 +
 docs/0.19.0/configuration/zookeeper.html           |   8 +
 .../dependencies/cassandra-deep-storage.html       |   8 +
 .../dependencies/deep-storage.html                 |  16 +-
 .../dependencies/metadata-storage.html             |  24 +-
 docs/0.19.0/dependencies/zookeeper.html            | 129 ++++++++++
 docs/{latest => 0.19.0}/design/architecture.html   |  46 ++--
 docs/{latest => 0.19.0}/design/auth.html           |  28 +-
 docs/{latest => 0.19.0}/design/broker.html         |  14 +-
 docs/0.19.0/design/concepts-and-terminology.html   |   8 +
 docs/{latest => 0.19.0}/design/coordinator.html    |  18 +-
 docs/0.19.0/design/design.html                     |   8 +
 .../design/extensions-contrib/dropwizard.html      |  27 +-
 docs/{latest => 0.19.0}/design/historical.html     |  16 +-
 docs/{latest => 0.19.0}/design/index.html          |  10 +-
 docs/{latest => 0.19.0}/design/indexer.html        |  12 +-
 docs/0.19.0/design/indexing-service.html           | 113 ++++++++
 docs/0.19.0/design/middlemanager.html              | 109 ++++++++
 docs/{latest => 0.19.0}/design/overlord.html       |  18 +-
 docs/0.19.0/design/peons.html                      | 111 ++++++++
 docs/0.19.0/design/plumber.html                    |   8 +
 docs/{latest => 0.19.0}/design/processes.html      |  44 ++--
 docs/0.19.0/design/realtime.html                   |   8 +
 docs/{latest => 0.19.0}/design/router.html         |  26 +-
 docs/{latest => 0.19.0}/design/segments.html       |  16 +-
 .../0.19.0/development/approximate-histograms.html |   8 +
 docs/0.19.0/development/build.html                 | 132 ++++++++++
 .../development/community-extensions/azure.html    |   8 +
 .../community-extensions/cassandra.html            |   8 +
 .../community-extensions/cloudfiles.html           |   8 +
 .../development/community-extensions/graphite.html |   8 +
 .../community-extensions/kafka-simple.html         |   8 +
 .../development/community-extensions/rabbitmq.html |   8 +
 .../development/datasketches-aggregators.html      |   8 +
 docs/0.19.0/development/experimental.html          | 110 ++++++++
 .../development/extensions-contrib/aliyun-oss.html |  79 ++++++
 .../extensions-contrib/ambari-metrics-emitter.html |  12 +-
 .../development/extensions-contrib/cassandra.html  | 103 ++++++++
 .../development/extensions-contrib/cloudfiles.html |  14 +-
 .../extensions-contrib/distinctcount.html          |  14 +-
 .../extensions-contrib/gce-extensions.html         | 168 ++++++++++++
 .../development/extensions-contrib/google.html     |   8 +
 .../development/extensions-contrib/graphite.html   |  14 +-
 .../development/extensions-contrib/influx.html     | 132 ++++++++++
 .../extensions-contrib/influxdb-emitter.html       |  14 +-
 .../extensions-contrib/kafka-emitter.html          |  20 +-
 .../extensions-contrib/kafka-simple.html           |   8 +
 .../extensions-contrib/materialized-view.html      |  14 +-
 .../extensions-contrib/momentsketch-quantiles.html |  14 +-
 .../extensions-contrib/moving-average-query.html   |  34 +--
 .../extensions-contrib/opentsdb-emitter.html       |  14 +-
 .../0.19.0/development/extensions-contrib/orc.html |   8 +
 .../development/extensions-contrib/parquet.html    |   8 +
 .../development/extensions-contrib/rabbitmq.html   |   8 +
 .../extensions-contrib/redis-cache.html            |  12 +-
 .../development/extensions-contrib/rocketmq.html   |   8 +
 .../development/extensions-contrib/scan-query.html |   8 +
 .../development/extensions-contrib/sqlserver.html  | 132 ++++++++++
 .../development/extensions-contrib/statsd.html     |  12 +-
 .../tdigestsketch-quantiles.html                   |  14 +-
 .../development/extensions-contrib/thrift.html     |  12 +-
 .../extensions-contrib/time-min-max.html           |  12 +-
 .../extensions-core/approximate-histograms.html    |  42 +--
 docs/0.19.0/development/extensions-core/avro.html  | 105 ++++++++
 docs/0.19.0/development/extensions-core/azure.html | 118 +++++++++
 .../development/extensions-core/bloom-filter.html  |  16 +-
 .../extensions-core/caffeine-cache.html            |   8 +
 .../extensions-core/datasketches-aggregators.html  |   8 +
 .../extensions-core/datasketches-extension.html    | 110 ++++++++
 .../extensions-core/datasketches-hll.html          |  26 +-
 .../extensions-core/datasketches-quantiles.html    |  29 ++-
 .../extensions-core/datasketches-theta.html        |  18 +-
 .../extensions-core/datasketches-tuple.html        |  18 +-
 .../extensions-core/druid-basic-security.html      |  58 ++---
 .../extensions-core/druid-kerberos.html            |  24 +-
 .../development/extensions-core/druid-lookups.html |  12 +-
 .../development/extensions-core/druid-pac4j.html   |  18 +-
 .../extensions-core/druid-ranger-security.html     | 182 +++++++++++++
 .../development/extensions-core/examples.html      |   8 +-
 .../0.19.0/development/extensions-core/google.html | 128 +++++++++
 .../development/extensions-core/hdfs.html          |  26 +-
 .../extensions-core/kafka-eight-firehose.html      |   8 +
 .../kafka-extraction-namespace.html                |  18 +-
 .../extensions-core/kafka-ingestion.html           | 106 ++++----
 .../extensions-core/kinesis-ingestion.html         | 116 ++++-----
 .../extensions-core/lookups-cached-global.html     |  26 +-
 .../development/extensions-core/mysql.html         |  18 +-
 .../extensions-core/namespaced-lookup.html         |   8 +
 .../development/extensions-core/orc.html           |  20 +-
 .../development/extensions-core/parquet.html       | 108 ++++++++
 .../development/extensions-core/postgresql.html    |  16 +-
 .../development/extensions-core/protobuf.html      |  24 +-
 .../development/extensions-core/s3.html            |  22 +-
 .../extensions-core/simple-client-sslcontext.html  | 131 ++++++++++
 .../development/extensions-core/stats.html         |  12 +-
 .../development/extensions-core/test-stats.html    |  10 +-
 .../{latest => 0.19.0}/development/extensions.html | 128 ++++-----
 docs/{latest => 0.19.0}/development/geo.html       |  12 +-
 docs/0.19.0/development/indexer.html               |   8 +
 .../integrating-druid-with-other-technologies.html |   8 +
 .../{latest => 0.19.0}/development/javascript.html |  10 +-
 .../kafka-simple-consumer-firehose.html            |   8 +
 docs/0.19.0/development/libraries.html             |   8 +
 docs/{latest => 0.19.0}/development/modules.html   |  74 +++---
 docs/{latest => 0.19.0}/development/overview.html  |  12 +-
 docs/0.19.0/development/router.html                |   8 +
 docs/0.19.0/development/select-query.html          |   8 +
 docs/0.19.0/development/versioning.html            | 112 ++++++++
 docs/0.19.0/index.html                             |   8 +
 docs/0.19.0/ingestion/batch-ingestion.html         |   8 +
 .../ingestion/command-line-hadoop-indexer.html     |   8 +
 docs/0.19.0/ingestion/compaction.html              |   8 +
 .../{latest => 0.19.0}/ingestion/data-formats.html | 123 ++++++---
 .../ingestion/data-management.html                 |  38 +--
 docs/0.19.0/ingestion/delete-data.html             |   8 +
 docs/{latest => 0.19.0}/ingestion/faq.html         |  50 ++--
 docs/0.19.0/ingestion/flatten-json.html            |   8 +
 docs/0.19.0/ingestion/hadoop-vs-native-batch.html  |   8 +
 docs/{latest => 0.19.0}/ingestion/hadoop.html      |  42 +--
 docs/{latest => 0.19.0}/ingestion/index.html       |  96 +++----
 docs/0.19.0/ingestion/ingestion-spec.html          |   8 +
 docs/0.19.0/ingestion/ingestion.html               |   8 +
 docs/0.19.0/ingestion/locking-and-priority.html    |   8 +
 docs/0.19.0/ingestion/misc-tasks.html              |   8 +
 .../{latest => 0.19.0}/ingestion/native-batch.html | 154 +++++++----
 docs/0.19.0/ingestion/native_tasks.html            |   8 +
 docs/0.19.0/ingestion/overview.html                |   8 +
 docs/0.19.0/ingestion/realtime-ingestion.html      |   8 +
 docs/0.19.0/ingestion/reports.html                 |   8 +
 docs/0.19.0/ingestion/schema-changes.html          |   8 +
 .../ingestion/schema-design.html                   |  44 ++--
 docs/0.19.0/ingestion/standalone-realtime.html     | 113 ++++++++
 docs/0.19.0/ingestion/stream-ingestion.html        |   8 +
 docs/0.19.0/ingestion/stream-pull.html             |   8 +
 docs/0.19.0/ingestion/stream-push.html             |   8 +
 docs/{latest => 0.19.0}/ingestion/tasks.html       |  90 ++-----
 docs/0.19.0/ingestion/tranquility.html             | 108 ++++++++
 docs/0.19.0/ingestion/transform-spec.html          |   8 +
 docs/0.19.0/ingestion/update-existing-data.html    |   8 +
 docs/0.19.0/misc/cluster-setup.html                |   8 +
 docs/0.19.0/misc/evaluate.html                     |   8 +
 docs/{latest => 0.19.0}/misc/math-expr.html        |  33 +--
 docs/0.19.0/misc/papers-and-talks.html             | 113 ++++++++
 docs/0.19.0/misc/tasks.html                        |   8 +
 docs/0.19.0/operations/alerts.html                 | 110 ++++++++
 .../operations/api-reference.html                  | 106 +++++---
 .../operations/basic-cluster-tuning.html           |  59 +++--
 docs/0.19.0/operations/deep-storage-migration.html | 125 +++++++++
 docs/0.19.0/operations/druid-console.html          | 164 ++++++++++++
 .../operations/dump-segment.html                   |  16 +-
 .../operations/export-metadata.html                |  22 +-
 docs/0.19.0/operations/getting-started.html        | 111 ++++++++
 docs/0.19.0/operations/high-availability.html      | 114 ++++++++
 docs/0.19.0/operations/http-compression.html       | 109 ++++++++
 docs/0.19.0/operations/including-extensions.html   |   8 +
 docs/0.19.0/operations/insert-segment-to-db.html   | 120 +++++++++
 docs/{latest => 0.19.0}/operations/kubernetes.html |   8 +-
 docs/0.19.0/operations/management-uis.html         | 119 +++++++++
 .../operations/metadata-migration.html             |  16 +-
 docs/{latest => 0.19.0}/operations/metrics.html    |  18 +-
 docs/0.19.0/operations/multitenancy.html           |   8 +
 .../operations/other-hadoop.html                   |  56 ++--
 docs/0.19.0/operations/password-provider.html      | 123 +++++++++
 docs/0.19.0/operations/performance-faq.html        |   8 +
 docs/0.19.0/operations/pull-deps.html              | 171 ++++++++++++
 docs/0.19.0/operations/recommendations.html        |   8 +
 docs/0.19.0/operations/reset-cluster.html          | 137 ++++++++++
 .../operations/rolling-updates.html                |  12 +-
 .../operations/rule-configuration.html             |  31 +--
 .../operations/segment-optimization.html           |  16 +-
 .../operations/single-server.html                  |  12 +-
 .../{latest => 0.19.0}/operations/tls-support.html |  22 +-
 .../operations/use_sbt_to_build_fat_jar.html       |  10 +-
 docs/{latest => 0.19.0}/querying/aggregations.html |  46 ++--
 docs/{latest => 0.19.0}/querying/caching.html      |  16 +-
 docs/{latest => 0.19.0}/querying/datasource.html   |  37 +--
 docs/0.19.0/querying/datasourcemetadataquery.html  | 133 ++++++++++
 .../querying/dimensionspecs.html                   |  28 +-
 docs/{latest => 0.19.0}/querying/filters.html      |  22 +-
 .../{latest => 0.19.0}/querying/granularities.html |  18 +-
 docs/{latest => 0.19.0}/querying/groupbyquery.html |  34 +--
 docs/{latest => 0.19.0}/querying/having.html       |  14 +-
 docs/{latest => 0.19.0}/querying/hll-old.html      |  12 +-
 docs/0.19.0/querying/joins.html                    | 116 +++++++++
 docs/0.19.0/querying/limitspec.html                | 123 +++++++++
 docs/{latest => 0.19.0}/querying/lookups.html      |  34 +--
 .../querying/multi-value-dimensions.html           |  18 +-
 docs/{latest => 0.19.0}/querying/multitenancy.html |  18 +-
 docs/0.19.0/querying/optimizations.html            |   8 +
 .../querying/post-aggregations.html                |  22 +-
 .../{latest => 0.19.0}/querying/query-context.html |  21 +-
 .../querying/query-execution.html                  |  40 +--
 docs/{latest => 0.19.0}/querying/querying.html     |  44 ++--
 docs/{latest => 0.19.0}/querying/scan-query.html   |  18 +-
 docs/{latest => 0.19.0}/querying/searchquery.html  |  22 +-
 docs/0.19.0/querying/searchqueryspec.html          |   8 +
 .../querying/segmentmetadataquery.html             |  20 +-
 docs/0.19.0/querying/select-query.html             | 101 ++++++++
 .../querying/sorting-orders.html                   |  16 +-
 docs/{latest => 0.19.0}/querying/sql.html          | 107 ++++----
 docs/0.19.0/querying/timeboundaryquery.html        | 134 ++++++++++
 .../querying/timeseriesquery.html                  |  26 +-
 .../querying/topnmetricspec.html                   |  18 +-
 docs/{latest => 0.19.0}/querying/topnquery.html    |  32 +--
 .../querying/virtual-columns.html                  |  16 +-
 .../tutorials/booting-a-production-cluster.html    |   8 +
 docs/{latest => 0.19.0}/tutorials/cluster.html     | 116 ++++-----
 docs/0.19.0/tutorials/docker.html                  | 139 ++++++++++
 docs/0.19.0/tutorials/examples.html                |   8 +
 docs/0.19.0/tutorials/firewall.html                |   8 +
 docs/0.19.0/tutorials/index.html                   | 268 +++++++++++++++++++
 docs/0.19.0/tutorials/ingestion-streams.html       |   8 +
 docs/0.19.0/tutorials/ingestion.html               |   8 +
 docs/0.19.0/tutorials/quickstart.html              |   8 +
 .../tutorials/tutorial-a-first-look-at-druid.html  |   8 +
 .../tutorials/tutorial-all-about-queries.html      |   8 +
 .../tutorials/tutorial-batch-hadoop.html           |  24 +-
 docs/0.19.0/tutorials/tutorial-batch.html          | 209 +++++++++++++++
 .../tutorials/tutorial-compaction.html             |  18 +-
 .../tutorials/tutorial-delete-data.html            |  10 +-
 .../tutorials/tutorial-ingestion-spec.html         |  14 +-
 .../tutorials/tutorial-kafka.html                  |  29 ++-
 .../tutorials/tutorial-kerberos-hadoop.html        |  10 +-
 .../tutorials/tutorial-loading-batch-data.html     |   8 +
 .../tutorials/tutorial-loading-streaming-data.html |   8 +
 docs/0.19.0/tutorials/tutorial-query.html          | 286 +++++++++++++++++++++
 .../tutorials/tutorial-retention.html              |  14 +-
 .../tutorials/tutorial-rollup.html                 |  14 +-
 .../tutorials/tutorial-the-druid-cluster.html      |   8 +
 docs/0.19.0/tutorials/tutorial-tranquility.html    |   8 +
 .../tutorials/tutorial-transform-spec.html         |  12 +-
 .../tutorials/tutorial-update-data.html            |  12 +-
 docs/latest/assets/datasources-action-button.png   | Bin 0 -> 800 bytes
 docs/latest/assets/native-queries-01.png           | Bin 0 -> 259507 bytes
 .../assets/tutorial-batch-data-loader-00.png       | Bin 0 -> 2904 bytes
 .../assets/tutorial-batch-data-loader-01.png       | Bin 136012 -> 227941 bytes
 .../assets/tutorial-batch-data-loader-015.png      | Bin 0 -> 206331 bytes
 .../assets/tutorial-batch-data-loader-02.png       | Bin 479718 -> 1193472 bytes
 .../assets/tutorial-batch-data-loader-03.png       | Bin 213525 -> 405035 bytes
 .../assets/tutorial-batch-data-loader-04.png       | Bin 256156 -> 488906 bytes
 .../assets/tutorial-batch-data-loader-05.png       | Bin 256966 -> 447046 bytes
 .../assets/tutorial-batch-data-loader-06.png       | Bin 102523 -> 191383 bytes
 .../assets/tutorial-batch-data-loader-07.png       | Bin 98213 -> 173618 bytes
 .../assets/tutorial-batch-data-loader-08.png       | Bin 173466 -> 325806 bytes
 .../assets/tutorial-batch-data-loader-09.png       | Bin 116795 -> 187695 bytes
 .../assets/tutorial-batch-data-loader-10.png       | Bin 120604 -> 219732 bytes
 .../assets/tutorial-batch-data-loader-11.png       | Bin 151440 -> 316540 bytes
 .../assets/tutorial-batch-data-loader-12.png       | Bin 0 -> 31752 bytes
 .../assets/tutorial-batch-submit-task-01.png       | Bin 124402 -> 170537 bytes
 .../assets/tutorial-batch-submit-task-02.png       | Bin 142390 -> 207377 bytes
 .../assets/tutorial-kafka-data-loader-02.png       | Bin 510108 -> 613518 bytes
 .../assets/tutorial-kafka-data-loader-03.png       | Bin 217849 -> 201934 bytes
 .../assets/tutorial-kafka-data-loader-04.png       | Bin 260829 -> 252479 bytes
 docs/latest/assets/tutorial-query-01.png           | Bin 152011 -> 81402 bytes
 docs/latest/assets/tutorial-query-02.png           | Bin 144750 -> 155423 bytes
 docs/latest/assets/tutorial-query-03.png           | Bin 141293 -> 197392 bytes
 docs/latest/assets/tutorial-query-035.png          | Bin 0 -> 256043 bytes
 docs/latest/assets/tutorial-query-04.png           | Bin 66423 -> 250861 bytes
 docs/latest/assets/tutorial-query-06.png           | Bin 82211 -> 208088 bytes
 docs/latest/assets/tutorial-query-07.png           | Bin 78633 -> 260071 bytes
 docs/latest/assets/tutorial-query-08.png           | Bin 0 -> 297253 bytes
 docs/latest/assets/tutorial-quickstart-01.png      | Bin 67013 -> 122497 bytes
 .../latest/comparisons/druid-vs-elasticsearch.html |   8 +-
 docs/latest/comparisons/druid-vs-key-value.html    |   8 +-
 docs/latest/comparisons/druid-vs-kudu.html         |   8 +-
 docs/latest/comparisons/druid-vs-redshift.html     |   8 +-
 docs/latest/comparisons/druid-vs-spark.html        |   8 +-
 .../latest/comparisons/druid-vs-sql-on-hadoop.html |   8 +-
 docs/latest/configuration/index.html               |  72 +++---
 docs/latest/configuration/logging.html             |  10 +-
 docs/latest/dependencies/deep-storage.html         |   8 +-
 docs/latest/dependencies/metadata-storage.html     |   8 +-
 docs/latest/dependencies/zookeeper.html            |  22 +-
 docs/latest/design/architecture.html               |   8 +-
 docs/latest/design/auth.html                       |  28 +-
 docs/latest/design/broker.html                     |   8 +-
 docs/latest/design/coordinator.html                |   8 +-
 .../design/extensions-contrib/dropwizard.html      |  23 +-
 docs/latest/design/historical.html                 |   8 +-
 docs/latest/design/index.html                      |   8 +-
 docs/latest/design/indexer.html                    |  10 +-
 docs/latest/design/indexing-service.html           |   8 +-
 docs/latest/design/middlemanager.html              |   8 +-
 docs/latest/design/overlord.html                   |  16 +-
 docs/latest/design/peons.html                      |  10 +-
 docs/latest/design/processes.html                  |  10 +-
 docs/latest/design/router.html                     |  18 +-
 docs/latest/design/segments.html                   |   8 +-
 docs/latest/development/build.html                 |  13 +-
 docs/latest/development/experimental.html          |   8 +-
 .../development/extensions-contrib/aliyun-oss.html |  79 ++++++
 .../extensions-contrib/ambari-metrics-emitter.html |   8 +-
 .../development/extensions-contrib/cassandra.html  |   8 +-
 .../development/extensions-contrib/cloudfiles.html |   8 +-
 .../extensions-contrib/distinctcount.html          |  10 +-
 .../extensions-contrib/gce-extensions.html         | 168 ++++++++++++
 .../development/extensions-contrib/graphite.html   |   8 +-
 .../development/extensions-contrib/influx.html     |   8 +-
 .../extensions-contrib/influxdb-emitter.html       |   8 +-
 .../extensions-contrib/kafka-emitter.html          |  16 +-
 .../extensions-contrib/materialized-view.html      |   8 +-
 .../extensions-contrib/momentsketch-quantiles.html |  10 +-
 .../extensions-contrib/moving-average-query.html   |   8 +-
 .../extensions-contrib/opentsdb-emitter.html       |   8 +-
 .../extensions-contrib/redis-cache.html            |   8 +-
 .../development/extensions-contrib/sqlserver.html  |   8 +-
 .../development/extensions-contrib/statsd.html     |   8 +-
 .../tdigestsketch-quantiles.html                   |  10 +-
 .../development/extensions-contrib/thrift.html     |   8 +-
 .../extensions-contrib/time-min-max.html           |  10 +-
 .../extensions-core/approximate-histograms.html    |  34 +--
 docs/latest/development/extensions-core/avro.html  |   8 +-
 docs/latest/development/extensions-core/azure.html |   8 +-
 .../development/extensions-core/bloom-filter.html  |   8 +-
 .../extensions-core/datasketches-extension.html    |  12 +-
 .../extensions-core/datasketches-hll.html          |  22 +-
 .../extensions-core/datasketches-quantiles.html    |  25 +-
 .../extensions-core/datasketches-theta.html        |  14 +-
 .../extensions-core/datasketches-tuple.html        |  14 +-
 .../extensions-core/druid-basic-security.html      |  38 +--
 .../extensions-core/druid-kerberos.html            |  18 +-
 .../development/extensions-core/druid-lookups.html |  10 +-
 .../development/extensions-core/druid-pac4j.html   |  10 +-
 .../extensions-core/druid-ranger-security.html     | 182 +++++++++++++
 .../development/extensions-core/examples.html      |   6 +-
 .../latest/development/extensions-core/google.html |  12 +-
 docs/latest/development/extensions-core/hdfs.html  |   8 +-
 .../kafka-extraction-namespace.html                |   8 +-
 .../extensions-core/kafka-ingestion.html           |  96 +++----
 .../extensions-core/kinesis-ingestion.html         | 106 ++++----
 .../extensions-core/lookups-cached-global.html     |  14 +-
 docs/latest/development/extensions-core/mysql.html |   8 +-
 docs/latest/development/extensions-core/orc.html   |   8 +-
 .../development/extensions-core/parquet.html       |   8 +-
 .../development/extensions-core/postgresql.html    |   8 +-
 .../development/extensions-core/protobuf.html      |  14 +-
 docs/latest/development/extensions-core/s3.html    |   8 +-
 .../extensions-core/simple-client-sslcontext.html  |   8 +-
 docs/latest/development/extensions-core/stats.html |   8 +-
 .../development/extensions-core/test-stats.html    |   8 +-
 docs/latest/development/extensions.html            |  34 +--
 docs/latest/development/geo.html                   |   8 +-
 docs/latest/development/javascript.html            |   8 +-
 docs/latest/development/modules.html               |  66 ++---
 docs/latest/development/overview.html              |   8 +-
 docs/latest/development/versioning.html            |   8 +-
 docs/latest/ingestion/data-formats.html            |  63 ++++-
 docs/latest/ingestion/data-management.html         |   8 +-
 docs/latest/ingestion/faq.html                     |  28 +-
 docs/latest/ingestion/hadoop.html                  |  16 +-
 docs/latest/ingestion/index.html                   |  10 +-
 docs/latest/ingestion/native-batch.html            |  72 +++++-
 docs/latest/ingestion/schema-design.html           |   8 +-
 docs/latest/ingestion/standalone-realtime.html     |  10 +-
 docs/latest/ingestion/tasks.html                   |  54 +---
 docs/latest/ingestion/tranquility.html             |   8 +-
 docs/latest/misc/math-expr.html                    |  17 +-
 docs/latest/misc/papers-and-talks.html             |   8 +-
 docs/latest/operations/alerts.html                 |   8 +-
 docs/latest/operations/api-reference.html          |  86 +++++--
 docs/latest/operations/basic-cluster-tuning.html   |  43 ++--
 docs/latest/operations/deep-storage-migration.html |  10 +-
 docs/latest/operations/druid-console.html          |  20 +-
 docs/latest/operations/dump-segment.html           |  10 +-
 docs/latest/operations/export-metadata.html        |  22 +-
 docs/latest/operations/getting-started.html        |  10 +-
 docs/latest/operations/high-availability.html      |   8 +-
 docs/latest/operations/http-compression.html       |   8 +-
 docs/latest/operations/insert-segment-to-db.html   |   8 +-
 docs/latest/operations/kubernetes.html             |   6 +-
 docs/latest/operations/management-uis.html         |  24 +-
 docs/latest/operations/metadata-migration.html     |  10 +-
 docs/latest/operations/metrics.html                |  14 +-
 docs/latest/operations/other-hadoop.html           |  40 +--
 docs/latest/operations/password-provider.html      |  12 +-
 docs/latest/operations/pull-deps.html              |  50 ++--
 docs/latest/operations/reset-cluster.html          |  10 +-
 docs/latest/operations/rolling-updates.html        |  12 +-
 docs/latest/operations/rule-configuration.html     |  27 +-
 docs/latest/operations/segment-optimization.html   |   8 +-
 docs/latest/operations/single-server.html          |   8 +-
 docs/latest/operations/tls-support.html            |   8 +-
 .../operations/use_sbt_to_build_fat_jar.html       |   8 +-
 docs/latest/querying/aggregations.html             |  24 +-
 docs/latest/querying/caching.html                  |   8 +-
 docs/latest/querying/datasource.html               |  19 +-
 docs/latest/querying/datasourcemetadataquery.html  |   8 +-
 docs/latest/querying/dimensionspecs.html           |   8 +-
 docs/latest/querying/filters.html                  |  10 +-
 docs/latest/querying/granularities.html            |   8 +-
 docs/latest/querying/groupbyquery.html             |   8 +-
 docs/latest/querying/having.html                   |   8 +-
 docs/latest/querying/hll-old.html                  |   8 +-
 docs/latest/querying/joins.html                    |   8 +-
 docs/latest/querying/limitspec.html                |   8 +-
 docs/latest/querying/lookups.html                  |  12 +-
 docs/latest/querying/multi-value-dimensions.html   |  16 +-
 docs/latest/querying/multitenancy.html             |   8 +-
 docs/latest/querying/post-aggregations.html        |  10 +-
 docs/latest/querying/query-context.html            |  13 +-
 docs/latest/querying/query-execution.html          |   8 +-
 docs/latest/querying/querying.html                 |  18 +-
 docs/latest/querying/scan-query.html               |   8 +-
 docs/latest/querying/searchquery.html              |   8 +-
 docs/latest/querying/segmentmetadataquery.html     |   8 +-
 docs/latest/querying/select-query.html             |   8 +-
 docs/latest/querying/sorting-orders.html           |   8 +-
 docs/latest/querying/sql.html                      |  77 +++---
 docs/latest/querying/timeboundaryquery.html        |   8 +-
 docs/latest/querying/timeseriesquery.html          |   8 +-
 docs/latest/querying/topnmetricspec.html           |   8 +-
 docs/latest/querying/topnquery.html                |   8 +-
 docs/latest/querying/virtual-columns.html          |   8 +-
 docs/latest/tutorials/cluster.html                 |  90 +++----
 docs/latest/tutorials/docker.html                  |  14 +-
 docs/latest/tutorials/index.html                   | 278 +++++++++++---------
 docs/latest/tutorials/tutorial-batch-hadoop.html   |  18 +-
 docs/latest/tutorials/tutorial-batch.html          |  88 ++-----
 docs/latest/tutorials/tutorial-compaction.html     |   8 +-
 docs/latest/tutorials/tutorial-delete-data.html    |   8 +-
 docs/latest/tutorials/tutorial-ingestion-spec.html |  10 +-
 docs/latest/tutorials/tutorial-kafka.html          |  15 +-
 .../latest/tutorials/tutorial-kerberos-hadoop.html |   8 +-
 docs/latest/tutorials/tutorial-query.html          | 246 ++++++++----------
 docs/latest/tutorials/tutorial-retention.html      |   8 +-
 docs/latest/tutorials/tutorial-rollup.html         |  10 +-
 docs/latest/tutorials/tutorial-transform-spec.html |   8 +-
 docs/latest/tutorials/tutorial-update-data.html    |   8 +-
 js/codetabs.js                                     |  10 +-
 js/scrollSpy.js                                    |  37 +--
 641 files changed, 11623 insertions(+), 3326 deletions(-)

diff --git a/docs/0.19.0/About-Experimental-Features.html b/docs/0.19.0/About-Experimental-Features.html
new file mode 100644
index 0000000..4c16ee2
--- /dev/null
+++ b/docs/0.19.0/About-Experimental-Features.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/experimental.html">
+<meta http-equiv="refresh" content="0; url=development/experimental.html">
+<h1>Redirecting...</h1>
+<a href="development/experimental.html">Click here if you are not redirected.</a>
+<script>location="development/experimental.html"</script>
diff --git a/docs/0.19.0/Aggregations.html b/docs/0.19.0/Aggregations.html
new file mode 100644
index 0000000..08794b9
--- /dev/null
+++ b/docs/0.19.0/Aggregations.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/aggregations.html">
+<meta http-equiv="refresh" content="0; url=querying/aggregations.html">
+<h1>Redirecting...</h1>
+<a href="querying/aggregations.html">Click here if you are not redirected.</a>
+<script>location="querying/aggregations.html"</script>
diff --git a/docs/0.19.0/ApproxHisto.html b/docs/0.19.0/ApproxHisto.html
new file mode 100644
index 0000000..4e654a9
--- /dev/null
+++ b/docs/0.19.0/ApproxHisto.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/extensions-core/approximate-histograms.html">
+<meta http-equiv="refresh" content="0; url=development/extensions-core/approximate-histograms.html">
+<h1>Redirecting...</h1>
+<a href="development/extensions-core/approximate-histograms.html">Click here if you are not redirected.</a>
+<script>location="development/extensions-core/approximate-histograms.html"</script>
diff --git a/docs/0.19.0/Batch-ingestion.html b/docs/0.19.0/Batch-ingestion.html
new file mode 100644
index 0000000..b571cbd
--- /dev/null
+++ b/docs/0.19.0/Batch-ingestion.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/index.html">
+<meta http-equiv="refresh" content="0; url=ingestion/index.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/index.html">Click here if you are not redirected.</a>
+<script>location="ingestion/index.html"</script>
diff --git a/docs/0.19.0/Booting-a-production-cluster.html b/docs/0.19.0/Booting-a-production-cluster.html
new file mode 100644
index 0000000..bd0e468
--- /dev/null
+++ b/docs/0.19.0/Booting-a-production-cluster.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/Broker-Config.html b/docs/0.19.0/Broker-Config.html
new file mode 100644
index 0000000..01b38ae
--- /dev/null
+++ b/docs/0.19.0/Broker-Config.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="configuration/index.html#broker">
+<meta http-equiv="refresh" content="0; url=configuration/index.html#broker">
+<h1>Redirecting...</h1>
+<a href="configuration/index.html#broker">Click here if you are not redirected.</a>
+<script>location="configuration/index.html#broker"</script>
diff --git a/docs/0.19.0/Broker.html b/docs/0.19.0/Broker.html
new file mode 100644
index 0000000..a28166f
--- /dev/null
+++ b/docs/0.19.0/Broker.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/broker.html">
+<meta http-equiv="refresh" content="0; url=design/broker.html">
+<h1>Redirecting...</h1>
+<a href="design/broker.html">Click here if you are not redirected.</a>
+<script>location="design/broker.html"</script>
diff --git a/docs/0.19.0/Build-from-source.html b/docs/0.19.0/Build-from-source.html
new file mode 100644
index 0000000..30898e7
--- /dev/null
+++ b/docs/0.19.0/Build-from-source.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/build.html">
+<meta http-equiv="refresh" content="0; url=development/build.html">
+<h1>Redirecting...</h1>
+<a href="development/build.html">Click here if you are not redirected.</a>
+<script>location="development/build.html"</script>
diff --git a/docs/0.19.0/Cassandra-Deep-Storage.html b/docs/0.19.0/Cassandra-Deep-Storage.html
new file mode 100644
index 0000000..31d6841
--- /dev/null
+++ b/docs/0.19.0/Cassandra-Deep-Storage.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="configuration/index.html#cassandra-deep-storage">
+<meta http-equiv="refresh" content="0; url=configuration/index.html#cassandra-deep-storage">
+<h1>Redirecting...</h1>
+<a href="configuration/index.html#cassandra-deep-storage">Click here if you are not redirected.</a>
+<script>location="configuration/index.html#cassandra-deep-storage"</script>
diff --git a/docs/0.19.0/Cluster-setup.html b/docs/0.19.0/Cluster-setup.html
new file mode 100644
index 0000000..bd0e468
--- /dev/null
+++ b/docs/0.19.0/Cluster-setup.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/Compute.html b/docs/0.19.0/Compute.html
new file mode 100644
index 0000000..c3bea73
--- /dev/null
+++ b/docs/0.19.0/Compute.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/processes.html">
+<meta http-equiv="refresh" content="0; url=design/processes.html">
+<h1>Redirecting...</h1>
+<a href="design/processes.html">Click here if you are not redirected.</a>
+<script>location="design/processes.html"</script>
diff --git a/docs/0.19.0/Concepts-and-Terminology.html b/docs/0.19.0/Concepts-and-Terminology.html
new file mode 100644
index 0000000..57986ec
--- /dev/null
+++ b/docs/0.19.0/Concepts-and-Terminology.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/index.html">
+<meta http-equiv="refresh" content="0; url=design/index.html">
+<h1>Redirecting...</h1>
+<a href="design/index.html">Click here if you are not redirected.</a>
+<script>location="design/index.html"</script>
diff --git a/docs/0.19.0/Configuration.html b/docs/0.19.0/Configuration.html
new file mode 100644
index 0000000..ea6ae53
--- /dev/null
+++ b/docs/0.19.0/Configuration.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="configuration/index.html">
+<meta http-equiv="refresh" content="0; url=configuration/index.html">
+<h1>Redirecting...</h1>
+<a href="configuration/index.html">Click here if you are not redirected.</a>
+<script>location="configuration/index.html"</script>
diff --git a/docs/0.19.0/Contribute.html b/docs/0.19.0/Contribute.html
new file mode 100644
index 0000000..ea71408
--- /dev/null
+++ b/docs/0.19.0/Contribute.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="/community/">
+<meta http-equiv="refresh" content="0; url=/community/">
+<h1>Redirecting...</h1>
+<a href="/community/">Click here if you are not redirected.</a>
+<script>location="/community/"</script>
diff --git a/docs/0.19.0/Coordinator-Config.html b/docs/0.19.0/Coordinator-Config.html
new file mode 100644
index 0000000..bb3def4
--- /dev/null
+++ b/docs/0.19.0/Coordinator-Config.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="configuration/index.html#coordinator">
+<meta http-equiv="refresh" content="0; url=configuration/index.html#coordinator">
+<h1>Redirecting...</h1>
+<a href="configuration/index.html#coordinator">Click here if you are not redirected.</a>
+<script>location="configuration/index.html#coordinator"</script>
diff --git a/docs/0.19.0/Coordinator.html b/docs/0.19.0/Coordinator.html
new file mode 100644
index 0000000..accfe43
--- /dev/null
+++ b/docs/0.19.0/Coordinator.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/coordinator.html">
+<meta http-equiv="refresh" content="0; url=design/coordinator.html">
+<h1>Redirecting...</h1>
+<a href="design/coordinator.html">Click here if you are not redirected.</a>
+<script>location="design/coordinator.html"</script>
diff --git a/docs/0.19.0/DataSource.html b/docs/0.19.0/DataSource.html
new file mode 100644
index 0000000..cde1771
--- /dev/null
+++ b/docs/0.19.0/DataSource.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/datasource.html">
+<meta http-equiv="refresh" content="0; url=querying/datasource.html">
+<h1>Redirecting...</h1>
+<a href="querying/datasource.html">Click here if you are not redirected.</a>
+<script>location="querying/datasource.html"</script>
diff --git a/docs/0.19.0/DataSourceMetadataQuery.html b/docs/0.19.0/DataSourceMetadataQuery.html
new file mode 100644
index 0000000..6c7cd57
--- /dev/null
+++ b/docs/0.19.0/DataSourceMetadataQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/datasourcemetadataquery.html">
+<meta http-equiv="refresh" content="0; url=querying/datasourcemetadataquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/datasourcemetadataquery.html">Click here if you are not redirected.</a>
+<script>location="querying/datasourcemetadataquery.html"</script>
diff --git a/docs/0.19.0/Data_formats.html b/docs/0.19.0/Data_formats.html
new file mode 100644
index 0000000..ae6f673
--- /dev/null
+++ b/docs/0.19.0/Data_formats.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/data-formats.html">
+<meta http-equiv="refresh" content="0; url=ingestion/data-formats.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/data-formats.html">Click here if you are not redirected.</a>
+<script>location="ingestion/data-formats.html"</script>
diff --git a/docs/0.19.0/Deep-Storage.html b/docs/0.19.0/Deep-Storage.html
new file mode 100644
index 0000000..07a7cd5
--- /dev/null
+++ b/docs/0.19.0/Deep-Storage.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="dependencies/deep-storage.html">
+<meta http-equiv="refresh" content="0; url=dependencies/deep-storage.html">
+<h1>Redirecting...</h1>
+<a href="dependencies/deep-storage.html">Click here if you are not redirected.</a>
+<script>location="dependencies/deep-storage.html"</script>
diff --git a/docs/0.19.0/Design.html b/docs/0.19.0/Design.html
new file mode 100644
index 0000000..57986ec
--- /dev/null
+++ b/docs/0.19.0/Design.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/index.html">
+<meta http-equiv="refresh" content="0; url=design/index.html">
+<h1>Redirecting...</h1>
+<a href="design/index.html">Click here if you are not redirected.</a>
+<script>location="design/index.html"</script>
diff --git a/docs/0.19.0/DimensionSpecs.html b/docs/0.19.0/DimensionSpecs.html
new file mode 100644
index 0000000..7ab536a
--- /dev/null
+++ b/docs/0.19.0/DimensionSpecs.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/dimensionspecs.html">
+<meta http-equiv="refresh" content="0; url=querying/dimensionspecs.html">
+<h1>Redirecting...</h1>
+<a href="querying/dimensionspecs.html">Click here if you are not redirected.</a>
+<script>location="querying/dimensionspecs.html"</script>
diff --git a/docs/0.19.0/Download.html b/docs/0.19.0/Download.html
new file mode 100644
index 0000000..cfb2d2b
--- /dev/null
+++ b/docs/0.19.0/Download.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="/downloads.html">
+<meta http-equiv="refresh" content="0; url=/downloads.html">
+<h1>Redirecting...</h1>
+<a href="/downloads.html">Click here if you are not redirected.</a>
+<script>location="/downloads.html"</script>
diff --git a/docs/0.19.0/Druid-Personal-Demo-Cluster.html b/docs/0.19.0/Druid-Personal-Demo-Cluster.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Druid-Personal-Demo-Cluster.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Druid-vs-Cassandra.html b/docs/0.19.0/Druid-vs-Cassandra.html
new file mode 100644
index 0000000..1a0249a
--- /dev/null
+++ b/docs/0.19.0/Druid-vs-Cassandra.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="comparisons/druid-vs-key-value.html">
+<meta http-equiv="refresh" content="0; url=comparisons/druid-vs-key-value.html">
+<h1>Redirecting...</h1>
+<a href="comparisons/druid-vs-key-value.html">Click here if you are not redirected.</a>
+<script>location="comparisons/druid-vs-key-value.html"</script>
diff --git a/docs/0.19.0/Druid-vs-Elasticsearch.html b/docs/0.19.0/Druid-vs-Elasticsearch.html
new file mode 100644
index 0000000..5d519fb
--- /dev/null
+++ b/docs/0.19.0/Druid-vs-Elasticsearch.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="comparisons/druid-vs-elasticsearch.html">
+<meta http-equiv="refresh" content="0; url=comparisons/druid-vs-elasticsearch.html">
+<h1>Redirecting...</h1>
+<a href="comparisons/druid-vs-elasticsearch.html">Click here if you are not redirected.</a>
+<script>location="comparisons/druid-vs-elasticsearch.html"</script>
diff --git a/docs/0.19.0/Druid-vs-Hadoop.html b/docs/0.19.0/Druid-vs-Hadoop.html
new file mode 100644
index 0000000..d5202e7
--- /dev/null
+++ b/docs/0.19.0/Druid-vs-Hadoop.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="comparisons/druid-vs-sql-on-hadoop.html">
+<meta http-equiv="refresh" content="0; url=comparisons/druid-vs-sql-on-hadoop.html">
+<h1>Redirecting...</h1>
+<a href="comparisons/druid-vs-sql-on-hadoop.html">Click here if you are not redirected.</a>
+<script>location="comparisons/druid-vs-sql-on-hadoop.html"</script>
diff --git a/docs/0.19.0/Druid-vs-Impala-or-Shark.html b/docs/0.19.0/Druid-vs-Impala-or-Shark.html
new file mode 100644
index 0000000..d5202e7
--- /dev/null
+++ b/docs/0.19.0/Druid-vs-Impala-or-Shark.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="comparisons/druid-vs-sql-on-hadoop.html">
+<meta http-equiv="refresh" content="0; url=comparisons/druid-vs-sql-on-hadoop.html">
+<h1>Redirecting...</h1>
+<a href="comparisons/druid-vs-sql-on-hadoop.html">Click here if you are not redirected.</a>
+<script>location="comparisons/druid-vs-sql-on-hadoop.html"</script>
diff --git a/docs/0.19.0/Druid-vs-Redshift.html b/docs/0.19.0/Druid-vs-Redshift.html
new file mode 100644
index 0000000..4199696
--- /dev/null
+++ b/docs/0.19.0/Druid-vs-Redshift.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="comparisons/druid-vs-redshift.html">
+<meta http-equiv="refresh" content="0; url=comparisons/druid-vs-redshift.html">
+<h1>Redirecting...</h1>
+<a href="comparisons/druid-vs-redshift.html">Click here if you are not redirected.</a>
+<script>location="comparisons/druid-vs-redshift.html"</script>
diff --git a/docs/0.19.0/Druid-vs-Spark.html b/docs/0.19.0/Druid-vs-Spark.html
new file mode 100644
index 0000000..31713ad
--- /dev/null
+++ b/docs/0.19.0/Druid-vs-Spark.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="comparisons/druid-vs-spark.html">
+<meta http-equiv="refresh" content="0; url=comparisons/druid-vs-spark.html">
+<h1>Redirecting...</h1>
+<a href="comparisons/druid-vs-spark.html">Click here if you are not redirected.</a>
+<script>location="comparisons/druid-vs-spark.html"</script>
diff --git a/docs/0.19.0/Druid-vs-Vertica.html b/docs/0.19.0/Druid-vs-Vertica.html
new file mode 100644
index 0000000..4199696
--- /dev/null
+++ b/docs/0.19.0/Druid-vs-Vertica.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="comparisons/druid-vs-redshift.html">
+<meta http-equiv="refresh" content="0; url=comparisons/druid-vs-redshift.html">
+<h1>Redirecting...</h1>
+<a href="comparisons/druid-vs-redshift.html">Click here if you are not redirected.</a>
+<script>location="comparisons/druid-vs-redshift.html"</script>
diff --git a/docs/0.19.0/Evaluate.html b/docs/0.19.0/Evaluate.html
new file mode 100644
index 0000000..bd0e468
--- /dev/null
+++ b/docs/0.19.0/Evaluate.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/Examples.html b/docs/0.19.0/Examples.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Examples.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Filters.html b/docs/0.19.0/Filters.html
new file mode 100644
index 0000000..a318095
--- /dev/null
+++ b/docs/0.19.0/Filters.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/filters.html">
+<meta http-equiv="refresh" content="0; url=querying/filters.html">
+<h1>Redirecting...</h1>
+<a href="querying/filters.html">Click here if you are not redirected.</a>
+<script>location="querying/filters.html"</script>
diff --git a/docs/0.19.0/GeographicQueries.html b/docs/0.19.0/GeographicQueries.html
new file mode 100644
index 0000000..566645a
--- /dev/null
+++ b/docs/0.19.0/GeographicQueries.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/geo.html">
+<meta http-equiv="refresh" content="0; url=development/geo.html">
+<h1>Redirecting...</h1>
+<a href="development/geo.html">Click here if you are not redirected.</a>
+<script>location="development/geo.html"</script>
diff --git a/docs/0.19.0/Granularities.html b/docs/0.19.0/Granularities.html
new file mode 100644
index 0000000..05ddc32
--- /dev/null
+++ b/docs/0.19.0/Granularities.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/granularities.html">
+<meta http-equiv="refresh" content="0; url=querying/granularities.html">
+<h1>Redirecting...</h1>
+<a href="querying/granularities.html">Click here if you are not redirected.</a>
+<script>location="querying/granularities.html"</script>
diff --git a/docs/0.19.0/GroupByQuery.html b/docs/0.19.0/GroupByQuery.html
new file mode 100644
index 0000000..51a97c6
--- /dev/null
+++ b/docs/0.19.0/GroupByQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/groupbyquery.html">
+<meta http-equiv="refresh" content="0; url=querying/groupbyquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/groupbyquery.html">Click here if you are not redirected.</a>
+<script>location="querying/groupbyquery.html"</script>
diff --git a/docs/0.19.0/Hadoop-Configuration.html b/docs/0.19.0/Hadoop-Configuration.html
new file mode 100644
index 0000000..7e5143c
--- /dev/null
+++ b/docs/0.19.0/Hadoop-Configuration.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/hadoop.html">
+<meta http-equiv="refresh" content="0; url=ingestion/hadoop.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/hadoop.html">Click here if you are not redirected.</a>
+<script>location="ingestion/hadoop.html"</script>
diff --git a/docs/0.19.0/Having.html b/docs/0.19.0/Having.html
new file mode 100644
index 0000000..7715018
--- /dev/null
+++ b/docs/0.19.0/Having.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/having.html">
+<meta http-equiv="refresh" content="0; url=querying/having.html">
+<h1>Redirecting...</h1>
+<a href="querying/having.html">Click here if you are not redirected.</a>
+<script>location="querying/having.html"</script>
diff --git a/docs/0.19.0/Historical-Config.html b/docs/0.19.0/Historical-Config.html
new file mode 100644
index 0000000..20901ec
--- /dev/null
+++ b/docs/0.19.0/Historical-Config.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="configuration/index.html#historical">
+<meta http-equiv="refresh" content="0; url=configuration/index.html#historical">
+<h1>Redirecting...</h1>
+<a href="configuration/index.html#historical">Click here if you are not redirected.</a>
+<script>location="configuration/index.html#historical"</script>
diff --git a/docs/0.19.0/Historical.html b/docs/0.19.0/Historical.html
new file mode 100644
index 0000000..4654f6a
--- /dev/null
+++ b/docs/0.19.0/Historical.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/historical.html">
+<meta http-equiv="refresh" content="0; url=design/historical.html">
+<h1>Redirecting...</h1>
+<a href="design/historical.html">Click here if you are not redirected.</a>
+<script>location="design/historical.html"</script>
diff --git a/docs/0.19.0/Home.html b/docs/0.19.0/Home.html
new file mode 100644
index 0000000..57986ec
--- /dev/null
+++ b/docs/0.19.0/Home.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/index.html">
+<meta http-equiv="refresh" content="0; url=design/index.html">
+<h1>Redirecting...</h1>
+<a href="design/index.html">Click here if you are not redirected.</a>
+<script>location="design/index.html"</script>
diff --git a/docs/0.19.0/Including-Extensions.html b/docs/0.19.0/Including-Extensions.html
new file mode 100644
index 0000000..89a2675
--- /dev/null
+++ b/docs/0.19.0/Including-Extensions.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/extensions.html#loading-extensions">
+<meta http-equiv="refresh" content="0; url=development/extensions.html#loading-extensions">
+<h1>Redirecting...</h1>
+<a href="development/extensions.html#loading-extensions">Click here if you are not redirected.</a>
+<script>location="development/extensions.html#loading-extensions"</script>
diff --git a/docs/0.19.0/Indexing-Service-Config.html b/docs/0.19.0/Indexing-Service-Config.html
new file mode 100644
index 0000000..b6aa387
--- /dev/null
+++ b/docs/0.19.0/Indexing-Service-Config.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="configuration/index.html#overlord">
+<meta http-equiv="refresh" content="0; url=configuration/index.html#overlord">
+<h1>Redirecting...</h1>
+<a href="configuration/index.html#overlord">Click here if you are not redirected.</a>
+<script>location="configuration/index.html#overlord"</script>
diff --git a/docs/0.19.0/Indexing-Service.html b/docs/0.19.0/Indexing-Service.html
new file mode 100644
index 0000000..20f139d
--- /dev/null
+++ b/docs/0.19.0/Indexing-Service.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/indexing-service.html">
+<meta http-equiv="refresh" content="0; url=design/indexing-service.html">
+<h1>Redirecting...</h1>
+<a href="design/indexing-service.html">Click here if you are not redirected.</a>
+<script>location="design/indexing-service.html"</script>
diff --git a/docs/0.19.0/Ingestion-FAQ.html b/docs/0.19.0/Ingestion-FAQ.html
new file mode 100644
index 0000000..dddd3a4
--- /dev/null
+++ b/docs/0.19.0/Ingestion-FAQ.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/faq.html">
+<meta http-equiv="refresh" content="0; url=ingestion/faq.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/faq.html">Click here if you are not redirected.</a>
+<script>location="ingestion/faq.html"</script>
diff --git a/docs/0.19.0/Ingestion-overview.html b/docs/0.19.0/Ingestion-overview.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Ingestion-overview.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Ingestion.html b/docs/0.19.0/Ingestion.html
new file mode 100644
index 0000000..b571cbd
--- /dev/null
+++ b/docs/0.19.0/Ingestion.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/index.html">
+<meta http-equiv="refresh" content="0; url=ingestion/index.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/index.html">Click here if you are not redirected.</a>
+<script>location="ingestion/index.html"</script>
diff --git a/docs/0.19.0/Kafka-Eight.html b/docs/0.19.0/Kafka-Eight.html
new file mode 100644
index 0000000..b654b03
--- /dev/null
+++ b/docs/0.19.0/Kafka-Eight.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/extensions-core/kafka-ingestion.html">
+<meta http-equiv="refresh" content="0; url=development/extensions-core/kafka-ingestion.html">
+<h1>Redirecting...</h1>
+<a href="development/extensions-core/kafka-ingestion.html">Click here if you are not redirected.</a>
+<script>location="development/extensions-core/kafka-ingestion.html"</script>
diff --git a/docs/0.19.0/Libraries.html b/docs/0.19.0/Libraries.html
new file mode 100644
index 0000000..545edee
--- /dev/null
+++ b/docs/0.19.0/Libraries.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="/libraries.html">
+<meta http-equiv="refresh" content="0; url=/libraries.html">
+<h1>Redirecting...</h1>
+<a href="/libraries.html">Click here if you are not redirected.</a>
+<script>location="/libraries.html"</script>
diff --git a/docs/0.19.0/LimitSpec.html b/docs/0.19.0/LimitSpec.html
new file mode 100644
index 0000000..8b6a28d
--- /dev/null
+++ b/docs/0.19.0/LimitSpec.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/limitspec.html">
+<meta http-equiv="refresh" content="0; url=querying/limitspec.html">
+<h1>Redirecting...</h1>
+<a href="querying/limitspec.html">Click here if you are not redirected.</a>
+<script>location="querying/limitspec.html"</script>
diff --git a/docs/0.19.0/Loading-Your-Data.html b/docs/0.19.0/Loading-Your-Data.html
new file mode 100644
index 0000000..b571cbd
--- /dev/null
+++ b/docs/0.19.0/Loading-Your-Data.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/index.html">
+<meta http-equiv="refresh" content="0; url=ingestion/index.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/index.html">Click here if you are not redirected.</a>
+<script>location="ingestion/index.html"</script>
diff --git a/docs/0.19.0/Logging.html b/docs/0.19.0/Logging.html
new file mode 100644
index 0000000..3b2b135
--- /dev/null
+++ b/docs/0.19.0/Logging.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="configuration/logging.html">
+<meta http-equiv="refresh" content="0; url=configuration/logging.html">
+<h1>Redirecting...</h1>
+<a href="configuration/logging.html">Click here if you are not redirected.</a>
+<script>location="configuration/logging.html"</script>
diff --git a/docs/0.19.0/Master.html b/docs/0.19.0/Master.html
new file mode 100644
index 0000000..c3bea73
--- /dev/null
+++ b/docs/0.19.0/Master.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/processes.html">
+<meta http-equiv="refresh" content="0; url=design/processes.html">
+<h1>Redirecting...</h1>
+<a href="design/processes.html">Click here if you are not redirected.</a>
+<script>location="design/processes.html"</script>
diff --git a/docs/0.19.0/Metadata-storage.html b/docs/0.19.0/Metadata-storage.html
new file mode 100644
index 0000000..f13b365
--- /dev/null
+++ b/docs/0.19.0/Metadata-storage.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="dependencies/metadata-storage.html">
+<meta http-equiv="refresh" content="0; url=dependencies/metadata-storage.html">
+<h1>Redirecting...</h1>
+<a href="dependencies/metadata-storage.html">Click here if you are not redirected.</a>
+<script>location="dependencies/metadata-storage.html"</script>
diff --git a/docs/0.19.0/Metrics.html b/docs/0.19.0/Metrics.html
new file mode 100644
index 0000000..011ab0b
--- /dev/null
+++ b/docs/0.19.0/Metrics.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="operations/metrics.html">
+<meta http-equiv="refresh" content="0; url=operations/metrics.html">
+<h1>Redirecting...</h1>
+<a href="operations/metrics.html">Click here if you are not redirected.</a>
+<script>location="operations/metrics.html"</script>
diff --git a/docs/0.19.0/Middlemanager.html b/docs/0.19.0/Middlemanager.html
new file mode 100644
index 0000000..8e9da09
--- /dev/null
+++ b/docs/0.19.0/Middlemanager.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/middlemanager.html">
+<meta http-equiv="refresh" content="0; url=design/middlemanager.html">
+<h1>Redirecting...</h1>
+<a href="design/middlemanager.html">Click here if you are not redirected.</a>
+<script>location="design/middlemanager.html"</script>
diff --git a/docs/0.19.0/Modules.html b/docs/0.19.0/Modules.html
new file mode 100644
index 0000000..93a8be1
--- /dev/null
+++ b/docs/0.19.0/Modules.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/modules.html">
+<meta http-equiv="refresh" content="0; url=development/modules.html">
+<h1>Redirecting...</h1>
+<a href="development/modules.html">Click here if you are not redirected.</a>
+<script>location="development/modules.html"</script>
diff --git a/docs/0.19.0/MySQL.html b/docs/0.19.0/MySQL.html
new file mode 100644
index 0000000..5c90272
--- /dev/null
+++ b/docs/0.19.0/MySQL.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/extensions-core/mysql.html">
+<meta http-equiv="refresh" content="0; url=development/extensions-core/mysql.html">
+<h1>Redirecting...</h1>
+<a href="development/extensions-core/mysql.html">Click here if you are not redirected.</a>
+<script>location="development/extensions-core/mysql.html"</script>
diff --git a/docs/0.19.0/OrderBy.html b/docs/0.19.0/OrderBy.html
new file mode 100644
index 0000000..8b6a28d
--- /dev/null
+++ b/docs/0.19.0/OrderBy.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/limitspec.html">
+<meta http-equiv="refresh" content="0; url=querying/limitspec.html">
+<h1>Redirecting...</h1>
+<a href="querying/limitspec.html">Click here if you are not redirected.</a>
+<script>location="querying/limitspec.html"</script>
diff --git a/docs/0.19.0/Other-Hadoop.html b/docs/0.19.0/Other-Hadoop.html
new file mode 100644
index 0000000..b7bdd99
--- /dev/null
+++ b/docs/0.19.0/Other-Hadoop.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="operations/other-hadoop.html">
+<meta http-equiv="refresh" content="0; url=operations/other-hadoop.html">
+<h1>Redirecting...</h1>
+<a href="operations/other-hadoop.html">Click here if you are not redirected.</a>
+<script>location="operations/other-hadoop.html"</script>
diff --git a/docs/0.19.0/Papers-and-talks.html b/docs/0.19.0/Papers-and-talks.html
new file mode 100644
index 0000000..4602adb
--- /dev/null
+++ b/docs/0.19.0/Papers-and-talks.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="misc/papers-and-talks.html">
+<meta http-equiv="refresh" content="0; url=misc/papers-and-talks.html">
+<h1>Redirecting...</h1>
+<a href="misc/papers-and-talks.html">Click here if you are not redirected.</a>
+<script>location="misc/papers-and-talks.html"</script>
diff --git a/docs/0.19.0/Peons.html b/docs/0.19.0/Peons.html
new file mode 100644
index 0000000..e9793f4
--- /dev/null
+++ b/docs/0.19.0/Peons.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/peons.html">
+<meta http-equiv="refresh" content="0; url=design/peons.html">
+<h1>Redirecting...</h1>
+<a href="design/peons.html">Click here if you are not redirected.</a>
+<script>location="design/peons.html"</script>
diff --git a/docs/0.19.0/Performance-FAQ.html b/docs/0.19.0/Performance-FAQ.html
new file mode 100644
index 0000000..e6da9b2
--- /dev/null
+++ b/docs/0.19.0/Performance-FAQ.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="operations/basic-cluster-tuning.html">
+<meta http-equiv="refresh" content="0; url=operations/basic-cluster-tuning.html">
+<h1>Redirecting...</h1>
+<a href="operations/basic-cluster-tuning.html">Click here if you are not redirected.</a>
+<script>location="operations/basic-cluster-tuning.html"</script>
diff --git a/docs/0.19.0/Plumber.html b/docs/0.19.0/Plumber.html
new file mode 100644
index 0000000..b571cbd
--- /dev/null
+++ b/docs/0.19.0/Plumber.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/index.html">
+<meta http-equiv="refresh" content="0; url=ingestion/index.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/index.html">Click here if you are not redirected.</a>
+<script>location="ingestion/index.html"</script>
diff --git a/docs/0.19.0/Post-aggregations.html b/docs/0.19.0/Post-aggregations.html
new file mode 100644
index 0000000..e0c4e24
--- /dev/null
+++ b/docs/0.19.0/Post-aggregations.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/post-aggregations.html">
+<meta http-equiv="refresh" content="0; url=querying/post-aggregations.html">
+<h1>Redirecting...</h1>
+<a href="querying/post-aggregations.html">Click here if you are not redirected.</a>
+<script>location="querying/post-aggregations.html"</script>
diff --git a/docs/0.19.0/Production-Cluster-Configuration.html b/docs/0.19.0/Production-Cluster-Configuration.html
new file mode 100644
index 0000000..bd0e468
--- /dev/null
+++ b/docs/0.19.0/Production-Cluster-Configuration.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/Query-Context.html b/docs/0.19.0/Query-Context.html
new file mode 100644
index 0000000..711a21e
--- /dev/null
+++ b/docs/0.19.0/Query-Context.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/query-context.html">
+<meta http-equiv="refresh" content="0; url=querying/query-context.html">
+<h1>Redirecting...</h1>
+<a href="querying/query-context.html">Click here if you are not redirected.</a>
+<script>location="querying/query-context.html"</script>
diff --git a/docs/0.19.0/Querying-your-data.html b/docs/0.19.0/Querying-your-data.html
new file mode 100644
index 0000000..702ed7a
--- /dev/null
+++ b/docs/0.19.0/Querying-your-data.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/querying.html">
+<meta http-equiv="refresh" content="0; url=querying/querying.html">
+<h1>Redirecting...</h1>
+<a href="querying/querying.html">Click here if you are not redirected.</a>
+<script>location="querying/querying.html"</script>
diff --git a/docs/0.19.0/Querying.html b/docs/0.19.0/Querying.html
new file mode 100644
index 0000000..702ed7a
--- /dev/null
+++ b/docs/0.19.0/Querying.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/querying.html">
+<meta http-equiv="refresh" content="0; url=querying/querying.html">
+<h1>Redirecting...</h1>
+<a href="querying/querying.html">Click here if you are not redirected.</a>
+<script>location="querying/querying.html"</script>
diff --git a/docs/0.19.0/Realtime-Config.html b/docs/0.19.0/Realtime-Config.html
new file mode 100644
index 0000000..3b8f656
--- /dev/null
+++ b/docs/0.19.0/Realtime-Config.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="ingestion/standalone-realtime.html"</script>
diff --git a/docs/0.19.0/Realtime-ingestion.html b/docs/0.19.0/Realtime-ingestion.html
new file mode 100644
index 0000000..b571cbd
--- /dev/null
+++ b/docs/0.19.0/Realtime-ingestion.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/index.html">
+<meta http-equiv="refresh" content="0; url=ingestion/index.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/index.html">Click here if you are not redirected.</a>
+<script>location="ingestion/index.html"</script>
diff --git a/docs/0.19.0/Realtime.html b/docs/0.19.0/Realtime.html
new file mode 100644
index 0000000..3b8f656
--- /dev/null
+++ b/docs/0.19.0/Realtime.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="ingestion/standalone-realtime.html"</script>
diff --git a/docs/0.19.0/Rolling-Updates.html b/docs/0.19.0/Rolling-Updates.html
new file mode 100644
index 0000000..90bc8b0
--- /dev/null
+++ b/docs/0.19.0/Rolling-Updates.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="operations/rolling-updates.html">
+<meta http-equiv="refresh" content="0; url=operations/rolling-updates.html">
+<h1>Redirecting...</h1>
+<a href="operations/rolling-updates.html">Click here if you are not redirected.</a>
+<script>location="operations/rolling-updates.html"</script>
diff --git a/docs/0.19.0/Router.html b/docs/0.19.0/Router.html
new file mode 100644
index 0000000..64ba7f4
--- /dev/null
+++ b/docs/0.19.0/Router.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/router.html">
+<meta http-equiv="refresh" content="0; url=design/router.html">
+<h1>Redirecting...</h1>
+<a href="design/router.html">Click here if you are not redirected.</a>
+<script>location="design/router.html"</script>
diff --git a/docs/0.19.0/Rule-Configuration.html b/docs/0.19.0/Rule-Configuration.html
new file mode 100644
index 0000000..19c0e7e
--- /dev/null
+++ b/docs/0.19.0/Rule-Configuration.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="operations/rule-configuration.html">
+<meta http-equiv="refresh" content="0; url=operations/rule-configuration.html">
+<h1>Redirecting...</h1>
+<a href="operations/rule-configuration.html">Click here if you are not redirected.</a>
+<script>location="operations/rule-configuration.html"</script>
diff --git a/docs/0.19.0/SearchQuery.html b/docs/0.19.0/SearchQuery.html
new file mode 100644
index 0000000..ee66987
--- /dev/null
+++ b/docs/0.19.0/SearchQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/searchquery.html">
+<meta http-equiv="refresh" content="0; url=querying/searchquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/searchquery.html">Click here if you are not redirected.</a>
+<script>location="querying/searchquery.html"</script>
diff --git a/docs/0.19.0/SearchQuerySpec.html b/docs/0.19.0/SearchQuerySpec.html
new file mode 100644
index 0000000..ee66987
--- /dev/null
+++ b/docs/0.19.0/SearchQuerySpec.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/searchquery.html">
+<meta http-equiv="refresh" content="0; url=querying/searchquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/searchquery.html">Click here if you are not redirected.</a>
+<script>location="querying/searchquery.html"</script>
diff --git a/docs/0.19.0/SegmentMetadataQuery.html b/docs/0.19.0/SegmentMetadataQuery.html
new file mode 100644
index 0000000..21294cb
--- /dev/null
+++ b/docs/0.19.0/SegmentMetadataQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/segmentmetadataquery.html">
+<meta http-equiv="refresh" content="0; url=querying/segmentmetadataquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/segmentmetadataquery.html">Click here if you are not redirected.</a>
+<script>location="querying/segmentmetadataquery.html"</script>
diff --git a/docs/0.19.0/Segments.html b/docs/0.19.0/Segments.html
new file mode 100644
index 0000000..040d647
--- /dev/null
+++ b/docs/0.19.0/Segments.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/segments.html">
+<meta http-equiv="refresh" content="0; url=design/segments.html">
+<h1>Redirecting...</h1>
+<a href="design/segments.html">Click here if you are not redirected.</a>
+<script>location="design/segments.html"</script>
diff --git a/docs/0.19.0/SelectQuery.html b/docs/0.19.0/SelectQuery.html
new file mode 100644
index 0000000..526110d
--- /dev/null
+++ b/docs/0.19.0/SelectQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/select-query.html">
+<meta http-equiv="refresh" content="0; url=querying/select-query.html">
+<h1>Redirecting...</h1>
+<a href="querying/select-query.html">Click here if you are not redirected.</a>
+<script>location="querying/select-query.html"</script>
diff --git a/docs/0.19.0/Simple-Cluster-Configuration.html b/docs/0.19.0/Simple-Cluster-Configuration.html
new file mode 100644
index 0000000..bd0e468
--- /dev/null
+++ b/docs/0.19.0/Simple-Cluster-Configuration.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/Spatial-Filters.html b/docs/0.19.0/Spatial-Filters.html
new file mode 100644
index 0000000..566645a
--- /dev/null
+++ b/docs/0.19.0/Spatial-Filters.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/geo.html">
+<meta http-equiv="refresh" content="0; url=development/geo.html">
+<h1>Redirecting...</h1>
+<a href="development/geo.html">Click here if you are not redirected.</a>
+<script>location="development/geo.html"</script>
diff --git a/docs/0.19.0/Spatial-Indexing.html b/docs/0.19.0/Spatial-Indexing.html
new file mode 100644
index 0000000..566645a
--- /dev/null
+++ b/docs/0.19.0/Spatial-Indexing.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/geo.html">
+<meta http-equiv="refresh" content="0; url=development/geo.html">
+<h1>Redirecting...</h1>
+<a href="development/geo.html">Click here if you are not redirected.</a>
+<script>location="development/geo.html"</script>
diff --git a/docs/0.19.0/Stand-Alone-With-Riak-CS.html b/docs/0.19.0/Stand-Alone-With-Riak-CS.html
new file mode 100644
index 0000000..57986ec
--- /dev/null
+++ b/docs/0.19.0/Stand-Alone-With-Riak-CS.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="design/index.html">
+<meta http-equiv="refresh" content="0; url=design/index.html">
+<h1>Redirecting...</h1>
+<a href="design/index.html">Click here if you are not redirected.</a>
+<script>location="design/index.html"</script>
diff --git a/docs/0.19.0/Support.html b/docs/0.19.0/Support.html
new file mode 100644
index 0000000..ea71408
--- /dev/null
+++ b/docs/0.19.0/Support.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="/community/">
+<meta http-equiv="refresh" content="0; url=/community/">
+<h1>Redirecting...</h1>
+<a href="/community/">Click here if you are not redirected.</a>
+<script>location="/community/"</script>
diff --git a/docs/0.19.0/Tasks.html b/docs/0.19.0/Tasks.html
new file mode 100644
index 0000000..71e90f8
--- /dev/null
+++ b/docs/0.19.0/Tasks.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="ingestion/tasks.html">
+<meta http-equiv="refresh" content="0; url=ingestion/tasks.html">
+<h1>Redirecting...</h1>
+<a href="ingestion/tasks.html">Click here if you are not redirected.</a>
+<script>location="ingestion/tasks.html"</script>
diff --git a/docs/0.19.0/Thanks.html b/docs/0.19.0/Thanks.html
new file mode 100644
index 0000000..ea71408
--- /dev/null
+++ b/docs/0.19.0/Thanks.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="/community/">
+<meta http-equiv="refresh" content="0; url=/community/">
+<h1>Redirecting...</h1>
+<a href="/community/">Click here if you are not redirected.</a>
+<script>location="/community/"</script>
diff --git a/docs/0.19.0/TimeBoundaryQuery.html b/docs/0.19.0/TimeBoundaryQuery.html
new file mode 100644
index 0000000..8e512e1
--- /dev/null
+++ b/docs/0.19.0/TimeBoundaryQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/timeboundaryquery.html">
+<meta http-equiv="refresh" content="0; url=querying/timeboundaryquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/timeboundaryquery.html">Click here if you are not redirected.</a>
+<script>location="querying/timeboundaryquery.html"</script>
diff --git a/docs/0.19.0/TimeseriesQuery.html b/docs/0.19.0/TimeseriesQuery.html
new file mode 100644
index 0000000..8d7f3e8
--- /dev/null
+++ b/docs/0.19.0/TimeseriesQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/timeseriesquery.html">
+<meta http-equiv="refresh" content="0; url=querying/timeseriesquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/timeseriesquery.html">Click here if you are not redirected.</a>
+<script>location="querying/timeseriesquery.html"</script>
diff --git a/docs/0.19.0/TopNMetricSpec.html b/docs/0.19.0/TopNMetricSpec.html
new file mode 100644
index 0000000..14acf27
--- /dev/null
+++ b/docs/0.19.0/TopNMetricSpec.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/topnmetricspec.html">
+<meta http-equiv="refresh" content="0; url=querying/topnmetricspec.html">
+<h1>Redirecting...</h1>
+<a href="querying/topnmetricspec.html">Click here if you are not redirected.</a>
+<script>location="querying/topnmetricspec.html"</script>
diff --git a/docs/0.19.0/TopNQuery.html b/docs/0.19.0/TopNQuery.html
new file mode 100644
index 0000000..dd719fd
--- /dev/null
+++ b/docs/0.19.0/TopNQuery.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="querying/topnquery.html">
+<meta http-equiv="refresh" content="0; url=querying/topnquery.html">
+<h1>Redirecting...</h1>
+<a href="querying/topnquery.html">Click here if you are not redirected.</a>
+<script>location="querying/topnquery.html"</script>
diff --git a/docs/0.19.0/Tutorial-A-First-Look-at-Druid.html b/docs/0.19.0/Tutorial-A-First-Look-at-Druid.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial-A-First-Look-at-Druid.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial-All-About-Queries.html b/docs/0.19.0/Tutorial-All-About-Queries.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial-All-About-Queries.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial-Loading-Batch-Data.html b/docs/0.19.0/Tutorial-Loading-Batch-Data.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial-Loading-Batch-Data.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial-Loading-Streaming-Data.html b/docs/0.19.0/Tutorial-Loading-Streaming-Data.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial-Loading-Streaming-Data.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial-The-Druid-Cluster.html b/docs/0.19.0/Tutorial-The-Druid-Cluster.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial-The-Druid-Cluster.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial:-A-First-Look-at-Druid.html b/docs/0.19.0/Tutorial:-A-First-Look-at-Druid.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-A-First-Look-at-Druid.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial:-All-About-Queries.html b/docs/0.19.0/Tutorial:-All-About-Queries.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-All-About-Queries.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial:-Loading-Batch-Data.html b/docs/0.19.0/Tutorial:-Loading-Batch-Data.html
new file mode 100644
index 0000000..744d5b6
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-Loading-Batch-Data.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/tutorial-batch.html">
+<meta http-equiv="refresh" content="0; url=tutorials/tutorial-batch.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/tutorial-batch.html">Click here if you are not redirected.</a>
+<script>location="tutorials/tutorial-batch.html"</script>
diff --git a/docs/0.19.0/Tutorial:-Loading-Streaming-Data.html b/docs/0.19.0/Tutorial:-Loading-Streaming-Data.html
new file mode 100644
index 0000000..487fb6d
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-Loading-Streaming-Data.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/tutorial-kafka.html">
+<meta http-equiv="refresh" content="0; url=tutorials/tutorial-kafka.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/tutorial-kafka.html">Click here if you are not redirected.</a>
+<script>location="tutorials/tutorial-kafka.html"</script>
diff --git a/docs/0.19.0/Tutorial:-Loading-Your-Data-Part-1.html b/docs/0.19.0/Tutorial:-Loading-Your-Data-Part-1.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-Loading-Your-Data-Part-1.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial:-Loading-Your-Data-Part-2.html b/docs/0.19.0/Tutorial:-Loading-Your-Data-Part-2.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-Loading-Your-Data-Part-2.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorial:-The-Druid-Cluster.html b/docs/0.19.0/Tutorial:-The-Druid-Cluster.html
new file mode 100644
index 0000000..bd0e468
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-The-Druid-Cluster.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/Tutorial:-Webstream.html b/docs/0.19.0/Tutorial:-Webstream.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorial:-Webstream.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Tutorials.html b/docs/0.19.0/Tutorials.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Tutorials.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Twitter-Tutorial.html b/docs/0.19.0/Twitter-Tutorial.html
new file mode 100644
index 0000000..94e7c06
--- /dev/null
+++ b/docs/0.19.0/Twitter-Tutorial.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="tutorials/index.html">
+<meta http-equiv="refresh" content="0; url=tutorials/index.html">
+<h1>Redirecting...</h1>
+<a href="tutorials/index.html">Click here if you are not redirected.</a>
+<script>location="tutorials/index.html"</script>
diff --git a/docs/0.19.0/Versioning.html b/docs/0.19.0/Versioning.html
new file mode 100644
index 0000000..fe2eb7c
--- /dev/null
+++ b/docs/0.19.0/Versioning.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="development/versioning.html">
+<meta http-equiv="refresh" content="0; url=development/versioning.html">
+<h1>Redirecting...</h1>
+<a href="development/versioning.html">Click here if you are not redirected.</a>
+<script>location="development/versioning.html"</script>
diff --git a/docs/0.19.0/ZooKeeper.html b/docs/0.19.0/ZooKeeper.html
new file mode 100644
index 0000000..52406ac
--- /dev/null
+++ b/docs/0.19.0/ZooKeeper.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="dependencies/zookeeper.html">
+<meta http-equiv="refresh" content="0; url=dependencies/zookeeper.html">
+<h1>Redirecting...</h1>
+<a href="dependencies/zookeeper.html">Click here if you are not redirected.</a>
+<script>location="dependencies/zookeeper.html"</script>
diff --git a/docs/0.19.0/alerts.html b/docs/0.19.0/alerts.html
new file mode 100644
index 0000000..6286bcd
--- /dev/null
+++ b/docs/0.19.0/alerts.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="operations/alerts.html">
+<meta http-equiv="refresh" content="0; url=operations/alerts.html">
+<h1>Redirecting...</h1>
+<a href="operations/alerts.html">Click here if you are not redirected.</a>
+<script>location="operations/alerts.html"</script>
diff --git a/docs/0.19.0/assets/datasources-action-button.png b/docs/0.19.0/assets/datasources-action-button.png
new file mode 100644
index 0000000..6a52b84
Binary files /dev/null and b/docs/0.19.0/assets/datasources-action-button.png differ
diff --git a/docs/0.19.0/assets/druid-architecture.png b/docs/0.19.0/assets/druid-architecture.png
new file mode 100644
index 0000000..954a87b
Binary files /dev/null and b/docs/0.19.0/assets/druid-architecture.png differ
diff --git a/docs/0.19.0/assets/druid-column-types.png b/docs/0.19.0/assets/druid-column-types.png
new file mode 100644
index 0000000..9db56c0
Binary files /dev/null and b/docs/0.19.0/assets/druid-column-types.png differ
diff --git a/docs/0.19.0/assets/druid-dataflow-2x.png b/docs/0.19.0/assets/druid-dataflow-2x.png
new file mode 100644
index 0000000..ab1c583
Binary files /dev/null and b/docs/0.19.0/assets/druid-dataflow-2x.png differ
diff --git a/docs/0.19.0/assets/druid-dataflow-3.png b/docs/0.19.0/assets/druid-dataflow-3.png
new file mode 100644
index 0000000..355215c
Binary files /dev/null and b/docs/0.19.0/assets/druid-dataflow-3.png differ
diff --git a/docs/0.19.0/assets/druid-manage-1.png b/docs/0.19.0/assets/druid-manage-1.png
new file mode 100644
index 0000000..0d10c6e
Binary files /dev/null and b/docs/0.19.0/assets/druid-manage-1.png differ
diff --git a/docs/0.19.0/assets/druid-timeline.png b/docs/0.19.0/assets/druid-timeline.png
new file mode 100644
index 0000000..40380e2
Binary files /dev/null and b/docs/0.19.0/assets/druid-timeline.png differ
diff --git a/docs/0.19.0/assets/indexing_service.png b/docs/0.19.0/assets/indexing_service.png
new file mode 100644
index 0000000..a4462a4
Binary files /dev/null and b/docs/0.19.0/assets/indexing_service.png differ
diff --git a/docs/0.19.0/assets/native-queries-01.png b/docs/0.19.0/assets/native-queries-01.png
new file mode 100644
index 0000000..27fd29b
Binary files /dev/null and b/docs/0.19.0/assets/native-queries-01.png differ
diff --git a/docs/0.19.0/assets/segmentPropagation.png b/docs/0.19.0/assets/segmentPropagation.png
new file mode 100644
index 0000000..e1ec820
Binary files /dev/null and b/docs/0.19.0/assets/segmentPropagation.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-00.png b/docs/0.19.0/assets/tutorial-batch-data-loader-00.png
new file mode 100644
index 0000000..793b6c1
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-00.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-01.png b/docs/0.19.0/assets/tutorial-batch-data-loader-01.png
new file mode 100644
index 0000000..2ff1d63
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-015.png b/docs/0.19.0/assets/tutorial-batch-data-loader-015.png
new file mode 100644
index 0000000..fd588ca
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-015.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-02.png b/docs/0.19.0/assets/tutorial-batch-data-loader-02.png
new file mode 100644
index 0000000..736188c
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-02.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-03.png b/docs/0.19.0/assets/tutorial-batch-data-loader-03.png
new file mode 100644
index 0000000..74bb8c8
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-03.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-04.png b/docs/0.19.0/assets/tutorial-batch-data-loader-04.png
new file mode 100644
index 0000000..e4237cd
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-04.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-05.png b/docs/0.19.0/assets/tutorial-batch-data-loader-05.png
new file mode 100644
index 0000000..d245dde
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-05.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-06.png b/docs/0.19.0/assets/tutorial-batch-data-loader-06.png
new file mode 100644
index 0000000..285fd57
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-06.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-07.png b/docs/0.19.0/assets/tutorial-batch-data-loader-07.png
new file mode 100644
index 0000000..481838d
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-07.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-08.png b/docs/0.19.0/assets/tutorial-batch-data-loader-08.png
new file mode 100644
index 0000000..b64c5a4
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-08.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-09.png b/docs/0.19.0/assets/tutorial-batch-data-loader-09.png
new file mode 100644
index 0000000..bec3085
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-09.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-10.png b/docs/0.19.0/assets/tutorial-batch-data-loader-10.png
new file mode 100644
index 0000000..857a5a5
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-10.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-11.png b/docs/0.19.0/assets/tutorial-batch-data-loader-11.png
new file mode 100644
index 0000000..bf7e304
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-11.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-data-loader-12.png b/docs/0.19.0/assets/tutorial-batch-data-loader-12.png
new file mode 100644
index 0000000..f195b9c
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-data-loader-12.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-submit-task-01.png b/docs/0.19.0/assets/tutorial-batch-submit-task-01.png
new file mode 100644
index 0000000..01b9142
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-submit-task-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-batch-submit-task-02.png b/docs/0.19.0/assets/tutorial-batch-submit-task-02.png
new file mode 100644
index 0000000..ba7caeb
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-batch-submit-task-02.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-01.png b/docs/0.19.0/assets/tutorial-compaction-01.png
new file mode 100644
index 0000000..aeb9bf3
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-02.png b/docs/0.19.0/assets/tutorial-compaction-02.png
new file mode 100644
index 0000000..836d8a7
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-02.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-03.png b/docs/0.19.0/assets/tutorial-compaction-03.png
new file mode 100644
index 0000000..d51f8f8
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-03.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-04.png b/docs/0.19.0/assets/tutorial-compaction-04.png
new file mode 100644
index 0000000..46c5b1d
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-04.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-05.png b/docs/0.19.0/assets/tutorial-compaction-05.png
new file mode 100644
index 0000000..e692694
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-05.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-06.png b/docs/0.19.0/assets/tutorial-compaction-06.png
new file mode 100644
index 0000000..55c999f
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-06.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-07.png b/docs/0.19.0/assets/tutorial-compaction-07.png
new file mode 100644
index 0000000..661e897
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-07.png differ
diff --git a/docs/0.19.0/assets/tutorial-compaction-08.png b/docs/0.19.0/assets/tutorial-compaction-08.png
new file mode 100644
index 0000000..6e3f1aa
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-compaction-08.png differ
diff --git a/docs/0.19.0/assets/tutorial-deletion-01.png b/docs/0.19.0/assets/tutorial-deletion-01.png
new file mode 100644
index 0000000..de68d38
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-deletion-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-deletion-02.png b/docs/0.19.0/assets/tutorial-deletion-02.png
new file mode 100644
index 0000000..ffe4585
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-deletion-02.png differ
diff --git a/docs/0.19.0/assets/tutorial-deletion-03.png b/docs/0.19.0/assets/tutorial-deletion-03.png
new file mode 100644
index 0000000..221774f
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-deletion-03.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-01.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-01.png
new file mode 100644
index 0000000..12e2820
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-02.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-02.png
new file mode 100644
index 0000000..fb67d06
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-02.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-03.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-03.png
new file mode 100644
index 0000000..022cd75
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-03.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-04.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-04.png
new file mode 100644
index 0000000..c6c6da2
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-04.png differ
diff --git a/docs/latest/assets/tutorial-batch-data-loader-05.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-05.png
similarity index 100%
copy from docs/latest/assets/tutorial-batch-data-loader-05.png
copy to docs/0.19.0/assets/tutorial-kafka-data-loader-05.png
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-06.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-06.png
new file mode 100644
index 0000000..bcd9567
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-06.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-07.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-07.png
new file mode 100644
index 0000000..b2b9c25
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-07.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-08.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-08.png
new file mode 100644
index 0000000..1b202b4
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-08.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-09.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-09.png
new file mode 100644
index 0000000..1775ecd
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-09.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-10.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-10.png
new file mode 100644
index 0000000..cb9c44c
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-10.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-11.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-11.png
new file mode 100644
index 0000000..9b6aa24
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-11.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-data-loader-12.png b/docs/0.19.0/assets/tutorial-kafka-data-loader-12.png
new file mode 100644
index 0000000..c62276d
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-data-loader-12.png differ
diff --git a/docs/0.19.0/assets/tutorial-kafka-submit-supervisor-01.png b/docs/0.19.0/assets/tutorial-kafka-submit-supervisor-01.png
new file mode 100644
index 0000000..debf3e2
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-kafka-submit-supervisor-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-01.png b/docs/0.19.0/assets/tutorial-query-01.png
new file mode 100644
index 0000000..371d35d
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-02.png b/docs/0.19.0/assets/tutorial-query-02.png
new file mode 100644
index 0000000..f459bd6
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-02.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-03.png b/docs/0.19.0/assets/tutorial-query-03.png
new file mode 100644
index 0000000..29443ed
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-03.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-035.png b/docs/0.19.0/assets/tutorial-query-035.png
new file mode 100644
index 0000000..f22db18
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-035.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-04.png b/docs/0.19.0/assets/tutorial-query-04.png
new file mode 100644
index 0000000..9cfef34
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-04.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-05.png b/docs/0.19.0/assets/tutorial-query-05.png
new file mode 100644
index 0000000..2fc59ce
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-05.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-06.png b/docs/0.19.0/assets/tutorial-query-06.png
new file mode 100644
index 0000000..7056056
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-06.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-07.png b/docs/0.19.0/assets/tutorial-query-07.png
new file mode 100644
index 0000000..5997ba2
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-07.png differ
diff --git a/docs/0.19.0/assets/tutorial-query-08.png b/docs/0.19.0/assets/tutorial-query-08.png
new file mode 100644
index 0000000..32aa5d4
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-query-08.png differ
diff --git a/docs/0.19.0/assets/tutorial-quickstart-01.png b/docs/0.19.0/assets/tutorial-quickstart-01.png
new file mode 100644
index 0000000..45760ea
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-quickstart-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-retention-00.png b/docs/0.19.0/assets/tutorial-retention-00.png
new file mode 100644
index 0000000..a3f84a9
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-retention-00.png differ
diff --git a/docs/0.19.0/assets/tutorial-retention-01.png b/docs/0.19.0/assets/tutorial-retention-01.png
new file mode 100644
index 0000000..35a97c2
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-retention-01.png differ
diff --git a/docs/0.19.0/assets/tutorial-retention-02.png b/docs/0.19.0/assets/tutorial-retention-02.png
new file mode 100644
index 0000000..f38fad0
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-retention-02.png differ
diff --git a/docs/0.19.0/assets/tutorial-retention-03.png b/docs/0.19.0/assets/tutorial-retention-03.png
new file mode 100644
index 0000000..256836a
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-retention-03.png differ
diff --git a/docs/0.19.0/assets/tutorial-retention-04.png b/docs/0.19.0/assets/tutorial-retention-04.png
new file mode 100644
index 0000000..d39495f
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-retention-04.png differ
diff --git a/docs/0.19.0/assets/tutorial-retention-05.png b/docs/0.19.0/assets/tutorial-retention-05.png
new file mode 100644
index 0000000..638a752
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-retention-05.png differ
diff --git a/docs/0.19.0/assets/tutorial-retention-06.png b/docs/0.19.0/assets/tutorial-retention-06.png
new file mode 100644
index 0000000..f47cbff
Binary files /dev/null and b/docs/0.19.0/assets/tutorial-retention-06.png differ
diff --git a/docs/0.19.0/assets/web-console-01-home-view.png b/docs/0.19.0/assets/web-console-01-home-view.png
new file mode 100644
index 0000000..8388636
Binary files /dev/null and b/docs/0.19.0/assets/web-console-01-home-view.png differ
diff --git a/docs/0.19.0/assets/web-console-02-data-loader-1.png b/docs/0.19.0/assets/web-console-02-data-loader-1.png
new file mode 100644
index 0000000..64c5189
Binary files /dev/null and b/docs/0.19.0/assets/web-console-02-data-loader-1.png differ
diff --git a/docs/0.19.0/assets/web-console-03-data-loader-2.png b/docs/0.19.0/assets/web-console-03-data-loader-2.png
new file mode 100644
index 0000000..ab3aad5
Binary files /dev/null and b/docs/0.19.0/assets/web-console-03-data-loader-2.png differ
diff --git a/docs/0.19.0/assets/web-console-04-datasources.png b/docs/0.19.0/assets/web-console-04-datasources.png
new file mode 100644
index 0000000..267c175
Binary files /dev/null and b/docs/0.19.0/assets/web-console-04-datasources.png differ
diff --git a/docs/0.19.0/assets/web-console-05-retention.png b/docs/0.19.0/assets/web-console-05-retention.png
new file mode 100644
index 0000000..409a624
Binary files /dev/null and b/docs/0.19.0/assets/web-console-05-retention.png differ
diff --git a/docs/0.19.0/assets/web-console-06-segments.png b/docs/0.19.0/assets/web-console-06-segments.png
new file mode 100644
index 0000000..8b6bd83
Binary files /dev/null and b/docs/0.19.0/assets/web-console-06-segments.png differ
diff --git a/docs/0.19.0/assets/web-console-07-supervisors.png b/docs/0.19.0/assets/web-console-07-supervisors.png
new file mode 100644
index 0000000..9d20b32
Binary files /dev/null and b/docs/0.19.0/assets/web-console-07-supervisors.png differ
diff --git a/docs/0.19.0/assets/web-console-08-supervisor-status.png b/docs/0.19.0/assets/web-console-08-supervisor-status.png
new file mode 100644
index 0000000..42625c2
Binary files /dev/null and b/docs/0.19.0/assets/web-console-08-supervisor-status.png differ
diff --git a/docs/0.19.0/assets/web-console-09-task-status.png b/docs/0.19.0/assets/web-console-09-task-status.png
new file mode 100644
index 0000000..1731b62
Binary files /dev/null and b/docs/0.19.0/assets/web-console-09-task-status.png differ
diff --git a/docs/0.19.0/assets/web-console-10-servers.png b/docs/0.19.0/assets/web-console-10-servers.png
new file mode 100644
index 0000000..a0df368
Binary files /dev/null and b/docs/0.19.0/assets/web-console-10-servers.png differ
diff --git a/docs/0.19.0/assets/web-console-11-query-sql.png b/docs/0.19.0/assets/web-console-11-query-sql.png
new file mode 100644
index 0000000..9b7ead5
Binary files /dev/null and b/docs/0.19.0/assets/web-console-11-query-sql.png differ
diff --git a/docs/0.19.0/assets/web-console-12-query-rune.png b/docs/0.19.0/assets/web-console-12-query-rune.png
new file mode 100644
index 0000000..f980cb5
Binary files /dev/null and b/docs/0.19.0/assets/web-console-12-query-rune.png differ
diff --git a/docs/0.19.0/assets/web-console-13-lookups.png b/docs/0.19.0/assets/web-console-13-lookups.png
new file mode 100644
index 0000000..b284d19
Binary files /dev/null and b/docs/0.19.0/assets/web-console-13-lookups.png differ
diff --git a/docs/0.19.0/comparisons/druid-vs-cassandra.html b/docs/0.19.0/comparisons/druid-vs-cassandra.html
new file mode 100644
index 0000000..235af8f
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-cassandra.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="druid-vs-key-value.html">
+<meta http-equiv="refresh" content="0; url=druid-vs-key-value.html">
+<h1>Redirecting...</h1>
+<a href="druid-vs-key-value.html">Click here if you are not redirected.</a>
+<script>location="druid-vs-key-value.html"</script>
diff --git a/docs/0.19.0/comparisons/druid-vs-elasticsearch.html b/docs/0.19.0/comparisons/druid-vs-elasticsearch.html
new file mode 100644
index 0000000..3276a66
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-elasticsearch.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs Elasticsearch · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/comparisons/druid-vs-elasticsearch.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:ver [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-elasticsearch.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Druid vs Elasticsearch</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>We are not experts on search systems, if anything is incorrect about our portrayal, please let us know on the mailing list or via some other means.</p>
+<p>Elasticsearch is a search system based on Apache Lucene. It provides full text search for schema-free documents
+and provides access to raw event level data. Elasticsearch is increasingly adding more support for analytics and aggregations.
+<a href="https://groups.google.com/forum/#!msg/druid-development/nlpwTHNclj8/sOuWlKOzPpYJ">Some members of the community</a> have pointed out
+the resource requirements for data ingestion and aggregation in Elasticsearch is much higher than those of Druid.</p>
+<p>Elasticsearch also does not support data summarization/roll-up at ingestion time, which can compact the data that needs to be
+stored up to 100x with real-world data sets. This leads to Elasticsearch having greater storage requirements.</p>
+<p>Druid focuses on OLAP work flows. Druid is optimized for high performance (fast aggregation and ingestion) at low cost,
+and supports a wide range of analytic operations. Druid has some basic search support for structured event data, but does not support
+full text search. Druid also does not support completely unstructured data. Measures must be defined in a Druid schema such that
+summarization/roll-up can be done.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/misc/papers-and-talks.html"><span class="arrow-prev">← </span><span>Papers</span></a><a class="docs-next button" href="/docs/0.19.0/comparisons/druid-vs-key-value.html"><span class="function-name-prevnext">Apache Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB)</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/comparisons/druid-vs-hadoop.html b/docs/0.19.0/comparisons/druid-vs-hadoop.html
new file mode 100644
index 0000000..cab995e
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-hadoop.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="druid-vs-sql-on-hadoop.html">
+<meta http-equiv="refresh" content="0; url=druid-vs-sql-on-hadoop.html">
+<h1>Redirecting...</h1>
+<a href="druid-vs-sql-on-hadoop.html">Click here if you are not redirected.</a>
+<script>location="druid-vs-sql-on-hadoop.html"</script>
diff --git a/docs/0.19.0/comparisons/druid-vs-impala-or-shark.html b/docs/0.19.0/comparisons/druid-vs-impala-or-shark.html
new file mode 100644
index 0000000..cab995e
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-impala-or-shark.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="druid-vs-sql-on-hadoop.html">
+<meta http-equiv="refresh" content="0; url=druid-vs-sql-on-hadoop.html">
+<h1>Redirecting...</h1>
+<a href="druid-vs-sql-on-hadoop.html">Click here if you are not redirected.</a>
+<script>location="druid-vs-sql-on-hadoop.html"</script>
diff --git a/docs/0.19.0/comparisons/druid-vs-key-value.html b/docs/0.19.0/comparisons/druid-vs-key-value.html
new file mode 100644
index 0000000..73958f0
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-key-value.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB) · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/comparisons/druid-vs-key-value.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en" [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-key-value.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB)</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>Druid is highly optimized for scans and aggregations, it supports arbitrarily deep drill downs into data sets. This same functionality
+is supported in key/value stores in 2 ways:</p>
+<ol>
+<li>Pre-compute all permutations of possible user queries</li>
+<li>Range scans on event data</li>
+</ol>
+<p>When pre-computing results, the key is the exact parameters of the query, and the value is the result of the query.
+The queries return extremely quickly, but at the cost of flexibility, as ad-hoc exploratory queries are not possible with
+pre-computing every possible query permutation. Pre-computing all permutations of all ad-hoc queries leads to result sets
+that grow exponentially with the number of columns of a data set, and pre-computing queries for complex real-world data sets
+can require hours of pre-processing time.</p>
+<p>The other approach to using key/value stores for aggregations to use the dimensions of an event as the key and the event measures as the value.
+Aggregations are done by issuing range scans on this data. Timeseries specific databases such as OpenTSDB use this approach.
+One of the limitations here is that the key/value storage model does not have indexes for any kind of filtering other than prefix ranges,
+which can be used to filter a query down to a metric and time range, but cannot resolve complex predicates to narrow the exact data to scan.
+When the number of rows to scan gets large, this limitation can greatly reduce performance. It is also harder to achieve good
+locality with key/value stores because most don’t support pushing down aggregates to the storage layer.</p>
+<p>For arbitrary exploration of data (flexible data filtering), Druid's custom column format enables ad-hoc queries without pre-computation. The format
+also enables fast scans on columns, which is important for good aggregation performance.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/comparisons/druid-vs-elasticsearch.html"><span class="arrow-prev">← </span><span>Apache Druid vs Elasticsearch</span></a><a class="docs-next button" href="/docs/0.19.0/comparisons/druid-vs-kudu.html"><span>Apache Druid vs Kudu</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="c [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/comparisons/druid-vs-kudu.html b/docs/0.19.0/comparisons/druid-vs-kudu.html
new file mode 100644
index 0000000..2e62e4d
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-kudu.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs Kudu · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/comparisons/druid-vs-kudu.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.1 [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-kudu.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Druid vs Kudu</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>Kudu's storage format enables single row updates, whereas updates to existing Druid segments requires recreating the segment, so theoretically
+the process for updating old values should be higher latency in Druid. However, the requirements in Kudu for maintaining extra head space to store
+updates as well as organizing data by id instead of time has the potential to introduce some extra latency and accessing
+of data that is not need to answer a query at query time.</p>
+<p>Druid summarizes/rollups up data at ingestion time, which in practice reduces the raw data that needs to be
+stored significantly (up to 40 times on average), and increases performance of scanning raw data significantly.
+Druid segments also contain bitmap indexes for fast filtering, which Kudu does not currently support.
+Druid's segment architecture is heavily geared towards fast aggregates and filters, and for OLAP workflows. Appends are very
+fast in Druid, whereas updates of older data is higher latency. This is by design as the data Druid is good for is typically event data,
+and does not need to be updated too frequently. Kudu supports arbitrary primary keys with uniqueness constraints, and
+efficient lookup by ranges of those keys. Kudu chooses not to include the execution engine, but supports sufficient
+operations so as to allow node-local processing from the execution engines. This means that Kudu can support multiple frameworks on the same data (e.g., MR, Spark, and SQL).
+Druid includes its own query layer that allows it to push down aggregations and computations directly to data processes for faster query processing.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/comparisons/druid-vs-key-value.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">Apache Druid vs. Key/Value Stores (HBase/Cassandra/OpenTSDB)</span></a><a class="docs-next button" href="/docs/0.19.0/comparisons/druid-vs-redshift.html"><span>Apache Druid vs Redshift</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/comparisons/druid-vs-redshift.html b/docs/0.19.0/comparisons/druid-vs-redshift.html
similarity index 54%
copy from docs/latest/comparisons/druid-vs-redshift.html
copy to docs/0.19.0/comparisons/druid-vs-redshift.html
index a8a645f..8694ff9 100644
--- a/docs/latest/comparisons/druid-vs-redshift.html
+++ b/docs/0.19.0/comparisons/druid-vs-redshift.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs Redshift · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/comparisons/druid-vs-redshift.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" cont [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs Redshift · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/comparisons/druid-vs-redshift.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" cont [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-redshift.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Apache Druid vs Redshift</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-redshift.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Druid vs Redshift</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -99,7 +99,7 @@
 <h3><a class="anchor" aria-hidden="true" id="indexing-strategy"></a><a href="#indexing-strategy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>Along with column oriented structures, Druid uses indexing structures to speed up query execution when a filter is provided. Indexing structures do increase storage overhead (and make it more difficult to allow for mutation), but they also significantly speed up queries.</p>
 <p>ParAccel does not appear to employ indexing strategies.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/comparisons/druid-vs-kudu.html"><span class="arrow-prev">← </span><span>Apache Druid vs Kudu</span></a><a class="docs-next button" href="/docs/latest/comparisons/druid-vs-spark.html"><span>Apache Druid vs Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div c [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/comparisons/druid-vs-kudu.html"><span class="arrow-prev">← </span><span>Apache Druid vs Kudu</span></a><a class="docs-next button" href="/docs/0.19.0/comparisons/druid-vs-spark.html"><span>Apache Druid vs Spark</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div c [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -116,6 +116,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/comparisons/druid-vs-spark.html b/docs/0.19.0/comparisons/druid-vs-spark.html
new file mode 100644
index 0000000..1137492
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-spark.html
@@ -0,0 +1,112 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs Spark · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/comparisons/druid-vs-spark.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0 [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-spark.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Druid vs Spark</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>Druid and Spark are complementary solutions as Druid can be used to accelerate OLAP queries in Spark.</p>
+<p>Spark is a general cluster computing framework initially designed around the concept of Resilient Distributed Datasets (RDDs).
+RDDs enable data reuse by persisting intermediate results
+in memory and enable Spark to provide fast computations for iterative algorithms.
+This is especially beneficial for certain work flows such as machine
+learning, where the same operation may be applied over and over
+again until some result is converged upon. The generality of Spark makes it very suitable as an engine to process (clean or transform) data.
+Although Spark provides the ability to query data through Spark SQL, much like Hadoop, the query latencies are not specifically targeted to be interactive (sub-second).</p>
+<p>Druid's focus is on extremely low latency queries, and is ideal for powering applications used by thousands of users, and where each query must
+return fast enough such that users can interactively explore through data. Druid fully indexes all data, and can act as a middle layer between Spark and your application.
+One typical setup seen in production is to process data in Spark, and load the processed data into Druid for faster access.</p>
+<p>For more information about using Druid and Spark together, including benchmarks of the two systems, please see:</p>
+<p><a href="https://www.linkedin.com/pulse/combining-druid-spark-interactive-flexible-analytics-scale-butani">https://www.linkedin.com/pulse/combining-druid-spark-interactive-flexible-analytics-scale-butani</a></p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/comparisons/druid-vs-redshift.html"><span class="arrow-prev">← </span><span>Apache Druid vs Redshift</span></a><a class="docs-next button" href="/docs/0.19.0/comparisons/druid-vs-sql-on-hadoop.html"><span>Apache Druid vs SQL-on-Hadoop</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div  [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/comparisons/druid-vs-sql-on-hadoop.html b/docs/0.19.0/comparisons/druid-vs-sql-on-hadoop.html
similarity index 53%
copy from docs/latest/comparisons/druid-vs-sql-on-hadoop.html
copy to docs/0.19.0/comparisons/druid-vs-sql-on-hadoop.html
index 8b0f165..e552859 100644
--- a/docs/latest/comparisons/druid-vs-sql-on-hadoop.html
+++ b/docs/0.19.0/comparisons/druid-vs-sql-on-hadoop.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs SQL-on-Hadoop · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/comparisons/druid-vs-sql-on-hadoop.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Druid vs SQL-on-Hadoop · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/comparisons/druid-vs-sql-on-hadoop.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:ver [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-sql-on-hadoop.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Apache Druid vs SQL-on-Hadoop</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/comparisons/druid-vs-sql-on-hadoop.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Druid vs SQL-on-Hadoop</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -121,7 +121,7 @@ base Druid is less flexible than SQL-on-Hadoop solutions for generic processing.
 relies on external sources to pull data out of it.</p>
 <p>Druid's storage format is highly optimized for linear scans. Although Druid has support for nested data, Parquet's storage format is much
 more hierarchical, and is more designed for binary chunking. In theory, this should lead to faster scans in Druid.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/comparisons/druid-vs-spark.html"><span class="arrow-prev">← </span><span>Apache Druid vs Spark</span></a><a class="docs-next button" href="/docs/latest/design/auth.html"><span>Authentication and Authorization</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#druid-vs-parquet">Druid vs Parquet</a></li></ul></nav></ [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/comparisons/druid-vs-spark.html"><span class="arrow-prev">← </span><span>Apache Druid vs Spark</span></a><a class="docs-next button" href="/docs/0.19.0/design/auth.html"><span>Authentication and Authorization</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#druid-vs-parquet">Druid vs Parquet</a></li></ul></nav></ [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -138,6 +138,6 @@ more hierarchical, and is more designed for binary chunking. In theory, this sho
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/comparisons/druid-vs-vertica.html b/docs/0.19.0/comparisons/druid-vs-vertica.html
new file mode 100644
index 0000000..a1d74ac
--- /dev/null
+++ b/docs/0.19.0/comparisons/druid-vs-vertica.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="druid-vs-redshift.html">
+<meta http-equiv="refresh" content="0; url=druid-vs-redshift.html">
+<h1>Redirecting...</h1>
+<a href="druid-vs-redshift.html">Click here if you are not redirected.</a>
+<script>location="druid-vs-redshift.html"</script>
diff --git a/docs/0.19.0/configuration/auth.html b/docs/0.19.0/configuration/auth.html
new file mode 100644
index 0000000..ea2aebe
--- /dev/null
+++ b/docs/0.19.0/configuration/auth.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../design/auth.html">
+<meta http-equiv="refresh" content="0; url=../design/auth.html">
+<h1>Redirecting...</h1>
+<a href="../design/auth.html">Click here if you are not redirected.</a>
+<script>location="../design/auth.html"</script>
diff --git a/docs/0.19.0/configuration/broker.html b/docs/0.19.0/configuration/broker.html
new file mode 100644
index 0000000..72363c4
--- /dev/null
+++ b/docs/0.19.0/configuration/broker.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../configuration/index.html#broker">
+<meta http-equiv="refresh" content="0; url=../configuration/index.html#broker">
+<h1>Redirecting...</h1>
+<a href="../configuration/index.html#broker">Click here if you are not redirected.</a>
+<script>location="../configuration/index.html#broker"</script>
diff --git a/docs/0.19.0/configuration/caching.html b/docs/0.19.0/configuration/caching.html
new file mode 100644
index 0000000..dcb5dd6
--- /dev/null
+++ b/docs/0.19.0/configuration/caching.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../configuration/index.html#cache-configuration">
+<meta http-equiv="refresh" content="0; url=../configuration/index.html#cache-configuration">
+<h1>Redirecting...</h1>
+<a href="../configuration/index.html#cache-configuration">Click here if you are not redirected.</a>
+<script>location="../configuration/index.html#cache-configuration"</script>
diff --git a/docs/0.19.0/configuration/coordinator.html b/docs/0.19.0/configuration/coordinator.html
new file mode 100644
index 0000000..e32a17a
--- /dev/null
+++ b/docs/0.19.0/configuration/coordinator.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../configuration/index.html#coordinator">
+<meta http-equiv="refresh" content="0; url=../configuration/index.html#coordinator">
+<h1>Redirecting...</h1>
+<a href="../configuration/index.html#coordinator">Click here if you are not redirected.</a>
+<script>location="../configuration/index.html#coordinator"</script>
diff --git a/docs/0.19.0/configuration/hadoop.html b/docs/0.19.0/configuration/hadoop.html
new file mode 100644
index 0000000..a14b2fb
--- /dev/null
+++ b/docs/0.19.0/configuration/hadoop.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../ingestion/hadoop.html">
+<meta http-equiv="refresh" content="0; url=../ingestion/hadoop.html">
+<h1>Redirecting...</h1>
+<a href="../ingestion/hadoop.html">Click here if you are not redirected.</a>
+<script>location="../ingestion/hadoop.html"</script>
diff --git a/docs/0.19.0/configuration/historical.html b/docs/0.19.0/configuration/historical.html
new file mode 100644
index 0000000..1112bc0
--- /dev/null
+++ b/docs/0.19.0/configuration/historical.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../configuration/index.html#historical">
+<meta http-equiv="refresh" content="0; url=../configuration/index.html#historical">
+<h1>Redirecting...</h1>
+<a href="../configuration/index.html#historical">Click here if you are not redirected.</a>
+<script>location="../configuration/index.html#historical"</script>
diff --git a/docs/latest/configuration/index.html b/docs/0.19.0/configuration/index.html
similarity index 90%
copy from docs/latest/configuration/index.html
copy to docs/0.19.0/configuration/index.html
index 04642c9..273b9ce 100644
--- a/docs/latest/configuration/index.html
+++ b/docs/0.19.0/configuration/index.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Configuration reference · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/configuration/index.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1 [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Configuration reference · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/configuration/index.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0 [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/configuration/index.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Configuration reference</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/configuration/index.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Configuration reference</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -80,29 +80,29 @@
 <p>This page documents all of the configuration properties for each Druid service type.</p>
 <h2><a class="anchor" aria-hidden="true" id="recommended-configuration-file-organization"></a><a href="#recommended-configuration-file-organization" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h [...]
 <p>A recommended way of organizing Druid configuration files can be seen in the <code>conf</code> directory in the Druid package root, shown below:</p>
-<pre><code class="hljs">$ ls -R conf
+<pre><code class="hljs">$ <span class="hljs-keyword">ls</span> -R <span class="hljs-keyword">conf</span>
 druid
 
-conf/druid:
+<span class="hljs-keyword">conf</span>/druid:
 _common       broker        coordinator   historical    middleManager overlord
 
-conf/druid/_common:
-common<span class="hljs-selector-class">.runtime</span><span class="hljs-selector-class">.properties</span> log4j2<span class="hljs-selector-class">.xml</span>
+<span class="hljs-keyword">conf</span>/druid/_common:
+common.<span class="hljs-keyword">runtime</span>.properties log4j2.xml
 
-conf/druid/broker:
-jvm<span class="hljs-selector-class">.config</span>         runtime<span class="hljs-selector-class">.properties</span>
+<span class="hljs-keyword">conf</span>/druid/broker:
+jvm.config         <span class="hljs-keyword">runtime</span>.properties
 
-conf/druid/coordinator:
-jvm<span class="hljs-selector-class">.config</span>         runtime<span class="hljs-selector-class">.properties</span>
+<span class="hljs-keyword">conf</span>/druid/coordinator:
+jvm.config         <span class="hljs-keyword">runtime</span>.properties
 
-conf/druid/historical:
-jvm<span class="hljs-selector-class">.config</span>         runtime<span class="hljs-selector-class">.properties</span>
+<span class="hljs-keyword">conf</span>/druid/historica<span class="hljs-variable">l:</span>
+jvm.config         <span class="hljs-keyword">runtime</span>.properties
 
-conf/druid/middleManager:
-jvm<span class="hljs-selector-class">.config</span>         runtime<span class="hljs-selector-class">.properties</span>
+<span class="hljs-keyword">conf</span>/druid/middleManager:
+jvm.config         <span class="hljs-keyword">runtime</span>.properties
 
-conf/druid/overlord:
-jvm<span class="hljs-selector-class">.config</span>         runtime<span class="hljs-selector-class">.properties</span>
+<span class="hljs-keyword">conf</span>/druid/overlord:
+jvm.config         <span class="hljs-keyword">runtime</span>.properties
 </code></pre>
 <p>Each directory has a <code>runtime.properties</code> file containing configuration properties for the specific Druid process corresponding to the directory (e.g., <code>historical</code>).</p>
 <p>The <code>jvm.config</code> files contain JVM flags such as heap sizing properties for each service.</p>
@@ -114,7 +114,7 @@ jvm<span class="hljs-selector-class">.config</span>         runtime<span class="
 <ol>
 <li><code>-Duser.timezone=UTC</code> This sets the default timezone of the JVM to UTC. We always set this and do not test with other default timezones, so local timezones might work, but they also might uncover weird and interesting bugs. To issue queries in a non-UTC timezone, see <a href="../querying/granularities.html#period-granularities">query granularities</a></li>
 <li><code>-Dfile.encoding=UTF-8</code> This is similar to timezone, we test assuming UTF-8. Local encodings might work, but they also might result in weird and interesting bugs.</li>
-<li><code>-Djava.io.tmpdir=&lt;a path&gt;</code> Various parts of the system that interact with the file system do it via temporary files, and these files can get somewhat large. Many production systems are set up to have small (but fast) <code>/tmp</code> directories, which can be problematic with Druid so we recommend pointing the JVM’s tmp directory to something with a little more meat.</li>
+<li><code>-Djava.io.tmpdir=&lt;a path&gt;</code> Various parts of the system that interact with the file system do it via temporary files, and these files can get somewhat large. Many production systems are set up to have small (but fast) <code>/tmp</code> directories, which can be problematic with Druid so we recommend pointing the JVM’s tmp directory to something with a little more meat. This directory should not be volatile tmpfs. This directory should also have good read and write sp [...]
 <li><code>-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager</code> This allows log4j2 to handle logs for non-log4j2 components (like jetty) which use standard java logging.</li>
 </ol>
 <h3><a class="anchor" aria-hidden="true" id="extensions"></a><a href="#extensions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
@@ -152,7 +152,7 @@ jvm<span class="hljs-selector-class">.config</span>         runtime<span class="
 <tr><td><code>druid.zk.paths.base</code></td><td>Base Zookeeper path.</td><td><code>/druid</code></td></tr>
 <tr><td><code>druid.zk.service.host</code></td><td>The ZooKeeper hosts to connect to. This is a REQUIRED property and therefore a host address must be supplied.</td><td>none</td></tr>
 <tr><td><code>druid.zk.service.user</code></td><td>The username to authenticate with ZooKeeper. This is an optional property.</td><td>none</td></tr>
-<tr><td><code>druid.zk.service.pwd</code></td><td>The <a href="/docs/latest/operations/password-provider.html">Password Provider</a> or the string password to authenticate with ZooKeeper. This is an optional property.</td><td>none</td></tr>
+<tr><td><code>druid.zk.service.pwd</code></td><td>The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> or the string password to authenticate with ZooKeeper. This is an optional property.</td><td>none</td></tr>
 <tr><td><code>druid.zk.service.authScheme</code></td><td>digest is the only authentication scheme supported.</td><td>digest</td></tr>
 </tbody>
 </table>
@@ -253,7 +253,7 @@ values for the below mentioned configs among others provided by Java implementat
 <tr><td><code>druid.server.https.keyStorePath</code></td><td>The file path or URL of the TLS/SSL Key store.</td><td>none</td><td>yes</td></tr>
 <tr><td><code>druid.server.https.keyStoreType</code></td><td>The type of the key store.</td><td>none</td><td>yes</td></tr>
 <tr><td><code>druid.server.https.certAlias</code></td><td>Alias of TLS/SSL certificate for the connector.</td><td>none</td><td>yes</td></tr>
-<tr><td><code>druid.server.https.keyStorePassword</code></td><td>The <a href="/docs/latest/operations/password-provider.html">Password Provider</a> or String password for the Key Store.</td><td>none</td><td>yes</td></tr>
+<tr><td><code>druid.server.https.keyStorePassword</code></td><td>The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> or String password for the Key Store.</td><td>none</td><td>yes</td></tr>
 </tbody>
 </table>
 <p>Following table contains non-mandatory advanced configuration options, use caution.</p>
@@ -263,7 +263,7 @@ values for the below mentioned configs among others provided by Java implementat
 </thead>
 <tbody>
 <tr><td><code>druid.server.https.keyManagerFactoryAlgorithm</code></td><td>Algorithm to use for creating KeyManager, more details <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#KeyManager">here</a>.</td><td><code>javax.net.ssl.KeyManagerFactory.getDefaultAlgorithm()</code></td><td>no</td></tr>
-<tr><td><code>druid.server.https.keyManagerPassword</code></td><td>The <a href="/docs/latest/operations/password-provider.html">Password Provider</a> or String password for the Key Manager.</td><td>none</td><td>no</td></tr>
+<tr><td><code>druid.server.https.keyManagerPassword</code></td><td>The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> or String password for the Key Manager.</td><td>none</td><td>no</td></tr>
 <tr><td><code>druid.server.https.includeCipherSuites</code></td><td>List of cipher suite names to include. You can either use the exact cipher suite name or a regular expression.</td><td>Jetty's default include cipher list</td><td>no</td></tr>
 <tr><td><code>druid.server.https.excludeCipherSuites</code></td><td>List of cipher suite names to exclude. You can either use the exact cipher suite name or a regular expression.</td><td>Jetty's default exclude cipher list</td><td>no</td></tr>
 <tr><td><code>druid.server.https.includeProtocols</code></td><td>List of exact protocols names to include.</td><td>Jetty's default include protocol list</td><td>no</td></tr>
@@ -281,7 +281,7 @@ values for the below mentioned configs among others provided by Java implementat
 <tr><td><code>druid.client.https.trustStoreType</code></td><td>The type of the key store where trusted root certificates are stored.</td><td><code>java.security.KeyStore.getDefaultType()</code></td><td>no</td></tr>
 <tr><td><code>druid.client.https.trustStorePath</code></td><td>The file path or URL of the TLS/SSL Key store where trusted root certificates are stored.</td><td>none</td><td>yes</td></tr>
 <tr><td><code>druid.client.https.trustStoreAlgorithm</code></td><td>Algorithm to be used by TrustManager to validate certificate chains</td><td><code>javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm()</code></td><td>no</td></tr>
-<tr><td><code>druid.client.https.trustStorePassword</code></td><td>The <a href="/docs/latest/operations/password-provider.html">Password Provider</a> or String password for the Trust Store.</td><td>none</td><td>yes</td></tr>
+<tr><td><code>druid.client.https.trustStorePassword</code></td><td>The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> or String password for the Trust Store.</td><td>none</td><td>yes</td></tr>
 </tbody>
 </table>
 <p>This <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html">document</a> lists all the possible
@@ -293,13 +293,13 @@ values for the above mentioned configs among others provided by Java implementat
 </thead>
 <tbody>
 <tr><td><code>druid.auth.authenticatorChain</code></td><td>JSON List of Strings</td><td>List of Authenticator type names</td><td>[&quot;allowAll&quot;]</td><td>no</td></tr>
-<tr><td><code>druid.escalator.type</code></td><td>String</td><td>Type of the Escalator that should be used for internal Druid communications. This Escalator must use an authentication scheme that is supported by an Authenticator in <code>druid.auth.authenticationChain</code>.</td><td>&quot;noop&quot;</td><td>no</td></tr>
+<tr><td><code>druid.escalator.type</code></td><td>String</td><td>Type of the Escalator that should be used for internal Druid communications. This Escalator must use an authentication scheme that is supported by an Authenticator in <code>druid.auth.authenticatorChain</code>.</td><td>&quot;noop&quot;</td><td>no</td></tr>
 <tr><td><code>druid.auth.authorizers</code></td><td>JSON List of Strings</td><td>List of Authorizer type names</td><td>[&quot;allowAll&quot;]</td><td>no</td></tr>
 <tr><td><code>druid.auth.unsecuredPaths</code></td><td>List of Strings</td><td>List of paths for which security checks will not be performed. All requests to these paths will be allowed.</td><td>[]</td><td>no</td></tr>
 <tr><td><code>druid.auth.allowUnauthenticatedHttpOptions</code></td><td>Boolean</td><td>If true, skip authentication checks for HTTP OPTIONS requests. This is needed for certain use cases, such as supporting CORS pre-flight requests. Note that disabling authentication checks for OPTIONS requests will allow unauthenticated users to determine what Druid endpoints are valid (by checking if the OPTIONS request returns a 200 instead of 404), so enabling this option may reveal information abou [...]
 </tbody>
 </table>
-<p>For more information, please see <a href="/docs/latest/design/auth.html">Authentication and Authorization</a>.</p>
+<p>For more information, please see <a href="/docs/0.19.0/design/auth.html">Authentication and Authorization</a>.</p>
 <p>For configuration options for specific auth extensions, please refer to the extension documentation.</p>
 <h3><a class="anchor" aria-hidden="true" id="startup-logging"></a><a href="#startup-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>All processes can log debugging information on startup.</p>
@@ -323,7 +323,7 @@ values for the above mentioned configs among others provided by Java implementat
 <tr><td><code>druid.request.logging.type</code></td><td>Choices: noop, file, emitter, slf4j, filtered, composing, switching. How to log every query request.</td><td>[required to configure request logging]</td></tr>
 </tbody>
 </table>
-<p>Note that, you can enable sending all the HTTP requests to log by setting  &quot;org.apache.druid.jetty.RequestLog&quot; to DEBUG level. See <a href="/docs/latest/configuration/logging.html">Logging</a></p>
+<p>Note that, you can enable sending all the HTTP requests to log by setting  &quot;org.apache.druid.jetty.RequestLog&quot; to DEBUG level. See <a href="/docs/0.19.0/configuration/logging.html">Logging</a></p>
 <h4><a class="anchor" aria-hidden="true" id="file-request-logging"></a><a href="#file-request-logging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>Daily request logs are stored on disk.</p>
 <table>
@@ -337,7 +337,7 @@ values for the above mentioned configs among others provided by Java implementat
 </table>
 <p>The format of request logs is TSV, one line per requests, with five fields: timestamp, remote_addr, native_query, query_context, sql_query.</p>
 <p>For native JSON request, the <code>sql_query</code> field is empty. Example</p>
-<pre><code class="hljs"><span class="hljs-number">2019</span>-<span class="hljs-number">01</span>-<span class="hljs-number">14</span><span class="hljs-symbol">T10:</span><span class="hljs-number">00</span><span class="hljs-symbol">:</span><span class="hljs-number">00</span>.<span class="hljs-number">000</span>Z        <span class="hljs-number">127.0</span>.<span class="hljs-number">0</span>.<span class="hljs-number">1</span>   {<span class="hljs-string">"queryType"</span><span class="hlj [...]
+<pre><code class="hljs"><span class="hljs-number">2019-01</span><span class="hljs-number">-14T10</span><span class="hljs-symbol">:</span>00<span class="hljs-symbol">:</span>00.000Z        <span class="hljs-number">127.0</span>.0.<span class="hljs-number">1</span>   {<span class="hljs-string">"queryType"</span><span class="hljs-symbol">:<span class="hljs-string">"topN"</span></span>,<span class="hljs-string">"dataSource"</span><span class="hljs-symbol">:</span>{<span class="hljs-string">" [...]
 </code></pre>
 <p>For SQL query request, the <code>native_query</code> field is empty. Example</p>
 <pre><code class="hljs"><span class="hljs-number">2019</span><span class="hljs-number">-01</span><span class="hljs-number">-14</span><span class="hljs-string">T10:</span><span class="hljs-number">00</span>:<span class="hljs-number">00.000</span>Z        <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>       {<span class="hljs-string">"sqlQuery/time"</span>:<span class="hljs-number">100</span>,<span class="hljs-string">"sqlQuery/ [...]
@@ -443,10 +443,11 @@ For native query, only request logs where query/time is above the threshold are
 <tr><td><code>org.apache.druid.server.metrics.EventReceiverFirehoseMonitor</code></td><td>Reports how many events have been queued in the EventReceiverFirehose.</td></tr>
 <tr><td><code>org.apache.druid.server.metrics.QueryCountStatsMonitor</code></td><td>Reports how many queries have been successful/failed/interrupted.</td></tr>
 <tr><td><code>org.apache.druid.server.emitter.HttpEmittingMonitor</code></td><td>Reports internal metrics of <code>http</code> or <code>parametrized</code> emitter (see below). Must not be used with another emitter type. See the description of the metrics here: <a href="https://github.com/apache/druid/pull/4973">https://github.com/apache/druid/pull/4973</a>.</td></tr>
+<tr><td><code>org.apache.druid.server.metrics.TaskCountStatsMonitor</code></td><td>Reports how many ingestion tasks are currently running/pending/waiting and also the number of successful/failed tasks per emission period.</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="emitting-metrics"></a><a href="#emitting-metrics" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>The Druid servers <a href="/docs/latest/operations/metrics.html">emit various metrics</a> and alerts via something we call an Emitter. There are three emitter implementations included with the code, a &quot;noop&quot; emitter (the default if none is specified), one that just logs to log4j (&quot;logging&quot;), and one that does POSTs of JSON events to a server (&quot;http&quot;). The properties for using the logging emitter are described below.</p>
+<p>The Druid servers <a href="/docs/0.19.0/operations/metrics.html">emit various metrics</a> and alerts via something we call an Emitter. There are three emitter implementations included with the code, a &quot;noop&quot; emitter (the default if none is specified), one that just logs to log4j (&quot;logging&quot;), and one that does POSTs of JSON events to a server (&quot;http&quot;). The properties for using the logging emitter are described below.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -473,7 +474,7 @@ For native query, only request logs where query/time is above the threshold are
 <tbody>
 <tr><td><code>druid.emitter.http.flushMillis</code></td><td>How often the internal message buffer is flushed (data is sent).</td><td>60000</td></tr>
 <tr><td><code>druid.emitter.http.flushCount</code></td><td>How many messages the internal message buffer can hold before flushing (sending).</td><td>500</td></tr>
-<tr><td><code>druid.emitter.http.basicAuthentication</code></td><td><a href="/docs/latest/operations/password-provider.html">Password Provider</a> for providing Login and password for authentication in &quot;login:password&quot; form, e.g., <code>druid.emitter.http.basicAuthentication=admin:adminpassword</code> uses Default Password Provider which allows plain text passwords.</td><td>not specified = no authentication</td></tr>
+<tr><td><code>druid.emitter.http.basicAuthentication</code></td><td><a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> for providing Login and password for authentication in &quot;login:password&quot; form, e.g., <code>druid.emitter.http.basicAuthentication=admin:adminpassword</code> uses Default Password Provider which allows plain text passwords.</td><td>not specified = no authentication</td></tr>
 <tr><td><code>druid.emitter.http.flushTimeOut</code></td><td>The timeout after which an event should be sent to the endpoint, even if internal buffers are not filled, in milliseconds.</td><td>not specified = no timeout</td></tr>
 <tr><td><code>druid.emitter.http.batchingStrategy</code></td><td>The strategy of how the batch is formatted. &quot;ARRAY&quot; means <code>[event1,event2]</code>, &quot;NEWLINES&quot; means <code>event1\nevent2</code>, ONLY_EVENTS means <code>event1event2</code>.</td><td>ARRAY</td></tr>
 <tr><td><code>druid.emitter.http.maxBatchSize</code></td><td>The maximum batch size, in bytes.</td><td>the minimum of (10% of JVM heap size divided by 2) or (5191680 (i. e. 5 MB))</td></tr>
@@ -497,7 +498,7 @@ SSLContext that would be used for internal communications between Druid processe
 <tr><td><code>druid.emitter.http.ssl.trustStorePath</code></td><td>The file path or URL of the TLS/SSL Key store where trusted root certificates are stored. If this is unspecified, the Http Emitter will use the same SSLContext as Druid's internal HTTP client, as described in the beginning of this section, and all other properties below are ignored.</td><td>null</td></tr>
 <tr><td><code>druid.emitter.http.ssl.trustStoreType</code></td><td>The type of the key store where trusted root certificates are stored.</td><td><code>java.security.KeyStore.getDefaultType()</code></td></tr>
 <tr><td><code>druid.emitter.http.ssl.trustStoreAlgorithm</code></td><td>Algorithm to be used by TrustManager to validate certificate chains</td><td><code>javax.net.ssl.TrustManagerFactory.getDefaultAlgorithm()</code></td></tr>
-<tr><td><code>druid.emitter.http.ssl.trustStorePassword</code></td><td>The <a href="/docs/latest/operations/password-provider.html">Password Provider</a> or String password for the Trust Store.</td><td>none</td></tr>
+<tr><td><code>druid.emitter.http.ssl.trustStorePassword</code></td><td>The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> or String password for the Trust Store.</td><td>none</td></tr>
 <tr><td><code>druid.emitter.http.ssl.protocol</code></td><td>TLS protocol to use.</td><td>&quot;TLSv1.2&quot;</td></tr>
 </tbody>
 </table>
@@ -524,9 +525,9 @@ Except <code>recipientBaseUrl</code>. E.g., <code>druid.emitter.parametrized.htt
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="graphite-emitter"></a><a href="#graphite-emitter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>To use graphite as emitter set <code>druid.emitter=graphite</code>. For configuration details please follow this <a href="/docs/latest/development/extensions-contrib/graphite.html">link</a>.</p>
+<p>To use graphite as emitter set <code>druid.emitter=graphite</code>. For configuration details please follow this <a href="/docs/0.19.0/development/extensions-contrib/graphite.html">link</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="metadata-storage"></a><a href="#metadata-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>These properties specify the JDBC connection and other configuration around the metadata storage. The only processes that connect to the metadata storage with these properties are the <a href="/docs/latest/design/coordinator.html">Coordinator</a> and <a href="/docs/latest/design/overlord.html">Overlord</a>.</p>
+<p>These properties specify the JDBC connection and other configuration around the metadata storage. The only processes that connect to the metadata storage with these properties are the <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> and <a href="/docs/0.19.0/design/overlord.html">Overlord</a>.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -535,10 +536,10 @@ Except <code>recipientBaseUrl</code>. E.g., <code>druid.emitter.parametrized.htt
 <tr><td><code>druid.metadata.storage.type</code></td><td>The type of metadata storage to use. Choose from &quot;mysql&quot;, &quot;postgresql&quot;, or &quot;derby&quot;.</td><td>derby</td></tr>
 <tr><td><code>druid.metadata.storage.connector.connectURI</code></td><td>The JDBC URI for the database to connect to</td><td>none</td></tr>
 <tr><td><code>druid.metadata.storage.connector.user</code></td><td>The username to connect with.</td><td>none</td></tr>
-<tr><td><code>druid.metadata.storage.connector.password</code></td><td>The <a href="/docs/latest/operations/password-provider.html">Password Provider</a> or String password used to connect with.</td><td>none</td></tr>
+<tr><td><code>druid.metadata.storage.connector.password</code></td><td>The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> or String password used to connect with.</td><td>none</td></tr>
 <tr><td><code>druid.metadata.storage.connector.createTables</code></td><td>If Druid requires a table and it doesn't exist, create it?</td><td>true</td></tr>
 <tr><td><code>druid.metadata.storage.tables.base</code></td><td>The base name for tables.</td><td>druid</td></tr>
-<tr><td><code>druid.metadata.storage.tables.dataSource</code></td><td>The table to use to look for dataSources which created by <a href="/docs/latest/development/extensions-core/kafka-ingestion.html">Kafka Indexing Service</a>.</td><td>druid_dataSource</td></tr>
+<tr><td><code>druid.metadata.storage.tables.dataSource</code></td><td>The table to use to look for dataSources which created by <a href="/docs/0.19.0/development/extensions-core/kafka-ingestion.html">Kafka Indexing Service</a>.</td><td>druid_dataSource</td></tr>
 <tr><td><code>druid.metadata.storage.tables.pendingSegments</code></td><td>The table to use to look for pending segments.</td><td>druid_pendingSegments</td></tr>
 <tr><td><code>druid.metadata.storage.tables.segments</code></td><td>The table to use to look for segments.</td><td>druid_segments</td></tr>
 <tr><td><code>druid.metadata.storage.tables.rules</code></td><td>The table to use to look for segment load/drop rules.</td><td>druid_rules</td></tr>
@@ -551,7 +552,7 @@ Except <code>recipientBaseUrl</code>. E.g., <code>druid.emitter.parametrized.htt
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="deep-storage"></a><a href="#deep-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>The configurations concern how to push and pull <a href="/docs/latest/design/segments.html">Segments</a> from deep storage.</p>
+<p>The configurations concern how to push and pull <a href="/docs/0.19.0/design/segments.html">Segments</a> from deep storage.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -574,7 +575,7 @@ Except <code>recipientBaseUrl</code>. E.g., <code>druid.emitter.parametrized.htt
 <p>This deep storage doesn't do anything. There are no configs.</p>
 <h4><a class="anchor" aria-hidden="true" id="s3-deep-storage"></a><a href="#s3-deep-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>This deep storage is used to interface with Amazon's S3. Note that the <code>druid-s3-extensions</code> extension must be loaded.
-The below table shows some important configurations for S3. See <a href="/docs/latest/development/extensions-core/s3.html">S3 Deep Storage</a> for full configurations.</p>
+The below table shows some important configurations for S3. See <a href="/docs/0.19.0/development/extensions-core/s3.html">S3 Deep Storage</a> for full configurations.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -692,7 +693,7 @@ Caution: Automatic log file deletion typically works based on log file modificat
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="overlord-discovery"></a><a href="#overlord-discovery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>This config is used to find the <a href="/docs/latest/design/overlord.html">Overlord</a> using Curator service discovery. Only required if you are actually running an Overlord.</p>
+<p>This config is used to find the <a href="/docs/0.19.0/design/overlord.html">Overlord</a> using Curator service discovery. Only required if you are actually running an Overlord.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -702,7 +703,7 @@ Caution: Automatic log file deletion typically works based on log file modificat
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="coordinator-discovery"></a><a href="#coordinator-discovery" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>This config is used to find the <a href="/docs/latest/design/coordinator.html">Coordinator</a> using Curator service discovery. This config is used by the realtime indexing processes to get information about the segments loaded in the cluster.</p>
+<p>This config is used to find the <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> using Curator service discovery. This config is used by the realtime indexing processes to get information about the segments loaded in the cluster.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -738,7 +739,7 @@ the following properties.</p>
 </tbody>
 </table>
 <blockquote>
-<p>JavaScript-based functionality is disabled by default. Please refer to the Druid <a href="/docs/latest/development/javascript.html">JavaScript programming guide</a> for guidelines about using Druid's JavaScript functionality, including instructions on how to enable it.</p>
+<p>JavaScript-based functionality is disabled by default. Please refer to the Druid <a href="/docs/0.19.0/development/javascript.html">JavaScript programming guide</a> for guidelines about using Druid's JavaScript functionality, including instructions on how to enable it.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="double-column-storage"></a><a href="#double-column-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p>Prior to version 0.13.0, Druid's storage layer used a 32-bit float representation to store columns created by the
@@ -766,7 +767,7 @@ Support for 64-bit floating point columns was released in Druid 0.11.0, so if yo
 <tr><td><code>druid.generic.useDefaultValueForNull</code></td><td>When set to <code>true</code>, <code>null</code> values will be stored as <code>''</code> for string columns and <code>0</code> for numeric columns. Set to <code>false</code> to store and query data in SQL compatible mode.</td><td><code>true</code></td></tr>
 </tbody>
 </table>
-<p>This mode does have a storage size and query performance cost, see <a href="/docs/latest/design/segments.html#sql-compatible-null-handling">segment documentation</a> for more details.</p>
+<p>This mode does have a storage size and query performance cost, see <a href="/docs/0.19.0/design/segments.html#sql-compatible-null-handling">segment documentation</a> for more details.</p>
 <h3><a class="anchor" aria-hidden="true" id="http-client"></a><a href="#http-client" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>All Druid components can communicate with each other over HTTP.</p>
 <table>
@@ -784,7 +785,7 @@ Support for 64-bit floating point columns was released in Druid 0.11.0, so if yo
 <h2><a class="anchor" aria-hidden="true" id="master-server"></a><a href="#master-server" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>This section contains the configuration options for the processes that reside on Master servers (Coordinators and Overlords) in the suggested <a href="../design/processes.html#server-types">three-server configuration</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="coordinator"></a><a href="#coordinator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>For general Coordinator Process information, see <a href="/docs/latest/design/coordinator.html">here</a>.</p>
+<p>For general Coordinator Process information, see <a href="/docs/0.19.0/design/coordinator.html">here</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="static-configuration"></a><a href="#static-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>These Coordinator static configurations can be defined in the <code>coordinator/runtime.properties</code> file.</p>
 <h5><a class="anchor" aria-hidden="true" id="coordinator-process-config"></a><a href="#coordinator-process-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
@@ -796,7 +797,7 @@ Support for 64-bit floating point columns was released in Druid 0.11.0, so if yo
 <tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td>InetAddress.getLocalHost().getCanonicalHostName()</td></tr>
 <tr><td><code>druid.bindOnHost</code></td><td>Indicating whether the process's internal jetty server bind on <code>druid.host</code>. Default is false, which means binding to all interfaces.</td><td>false</td></tr>
 <tr><td><code>druid.plaintextPort</code></td><td>This is the port to actually listen on; unless port mapping is used, this will be the same port as is on <code>druid.host</code></td><td>8081</td></tr>
-<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/latest/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8281</td></tr>
+<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/0.19.0/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8281</td></tr>
 <tr><td><code>druid.service</code></td><td>The name of the service. This is used as a dimension when emitting metrics and alerts to differentiate between the various services</td><td>druid/coordinator</td></tr>
 </tbody>
 </table>
@@ -851,12 +852,12 @@ Support for 64-bit floating point columns was released in Druid 0.11.0, so if yo
 <tr><td><code>druid.manager.config.pollDuration</code></td><td>How often the manager polls the config table for updates.</td><td>PT1M</td></tr>
 <tr><td><code>druid.manager.segments.pollDuration</code></td><td>The duration between polls the Coordinator does for updates to the set of active segments. Generally defines the amount of lag time it can take for the Coordinator to notice new segments.</td><td>PT1M</td></tr>
 <tr><td><code>druid.manager.rules.pollDuration</code></td><td>The duration between polls the Coordinator does for updates to the set of active rules. Generally defines the amount of lag time it can take for the Coordinator to notice rules.</td><td>PT1M</td></tr>
-<tr><td><code>druid.manager.rules.defaultTier</code></td><td>The default tier from which default rules will be loaded from.</td><td>_default</td></tr>
+<tr><td><code>druid.manager.rules.defaultRule</code></td><td>The default rule for the cluster</td><td>_default</td></tr>
 <tr><td><code>druid.manager.rules.alertThreshold</code></td><td>The duration after a failed poll upon which an alert should be emitted.</td><td>PT10M</td></tr>
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="dynamic-configuration"></a><a href="#dynamic-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>The Coordinator has dynamic configuration to change certain behavior on the fly. The Coordinator uses a JSON spec object from the Druid <a href="/docs/latest/dependencies/metadata-storage.html">metadata storage</a> config table. This object is detailed below:</p>
+<p>The Coordinator has dynamic configuration to change certain behavior on the fly. The Coordinator uses a JSON spec object from the Druid <a href="/docs/0.19.0/dependencies/metadata-storage.html">metadata storage</a> config table. This object is detailed below:</p>
 <p>It is recommended that you use the Coordinator Console to configure these parameters. However, if you need to do it via HTTP, the JSON object can be submitted to the Coordinator via a POST request at:</p>
 <pre><code class="hljs">http:<span class="hljs-regexp">//</span>&lt;COORDINATOR_IP&gt;:&lt;PORT&gt;<span class="hljs-regexp">/druid/</span>coordinator<span class="hljs-regexp">/v1/</span>config
 </code></pre>
@@ -893,7 +894,7 @@ Support for 64-bit floating point columns was released in Druid 0.11.0, so if yo
 <tbody>
 <tr><td><code>millisToWaitBeforeDeleting</code></td><td>How long does the Coordinator need to be a leader before it can start marking overshadowed segments as unused in metadata storage.</td><td>900000 (15 mins)</td></tr>
 <tr><td><code>mergeBytesLimit</code></td><td>The maximum total uncompressed size in bytes of segments to merge.</td><td>524288000L</td></tr>
-<tr><td><code>mergeSegmentsLimit</code></td><td>The maximum number of segments that can be in a single <a href="/docs/latest/ingestion/tasks.html">append task</a>.</td><td>100</td></tr>
+<tr><td><code>mergeSegmentsLimit</code></td><td>The maximum number of segments that can be in a single <a href="/docs/0.19.0/ingestion/tasks.html">append task</a>.</td><td>100</td></tr>
 <tr><td><code>maxSegmentsToMove</code></td><td>The maximum number of segments that can be moved at any given time.</td><td>5</td></tr>
 <tr><td><code>replicantLifetime</code></td><td>The maximum number of Coordinator runs for a segment to be replicated before we start alerting.</td><td>15</td></tr>
 <tr><td><code>replicationThrottleLimit</code></td><td>The maximum number of segments that can be replicated at one time.</td><td>10</td></tr>
@@ -916,7 +917,7 @@ Support for 64-bit floating point columns was released in Druid 0.11.0, so if yo
 <pre><code class="hljs">http://<span class="hljs-symbol">&lt;COORDINATOR_IP&gt;</span>:<span class="hljs-symbol">&lt;PORT&gt;</span>/druid/coordinator/v1/config/<span class="hljs-keyword">history</span>?<span class="hljs-built_in">count</span>=<span class="hljs-symbol">&lt;n&gt;</span>
 </code></pre>
 <h5><a class="anchor" aria-hidden="true" id="lookups-dynamic-configuration"></a><a href="#lookups-dynamic-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
-<p>These configuration options control the behavior of the Lookup dynamic configuration described in the <a href="/docs/latest/querying/lookups.html">lookups page</a></p>
+<p>These configuration options control the behavior of the Lookup dynamic configuration described in the <a href="/docs/0.19.0/querying/lookups.html">lookups page</a></p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -933,7 +934,7 @@ Support for 64-bit floating point columns was released in Druid 0.11.0, so if yo
 <h5><a class="anchor" aria-hidden="true" id="compaction-dynamic-configuration"></a><a href="#compaction-dynamic-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
 <p>Compaction configurations can also be set or updated dynamically using
 <a href="../operations/api-reference.html#compaction-configuration">Coordinator's API</a> without restarting Coordinators.</p>
-<p>For details about segment compaction, please check <a href="/docs/latest/operations/segment-optimization.html">Segment Size Optimization</a>.</p>
+<p>For details about segment compaction, please check <a href="/docs/0.19.0/operations/segment-optimization.html">Segment Size Optimization</a>.</p>
 <p>A description of the compaction config is:</p>
 <table>
 <thead>
@@ -966,18 +967,18 @@ If you see this problem, it's recommended to set <code>skipOffsetFromLatest</cod
 <tr><th>Property</th><th>Description</th><th>Required</th></tr>
 </thead>
 <tbody>
-<tr><td><code>maxRowsInMemory</code></td><td>See <a href="/docs/latest/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 1000000)</td></tr>
-<tr><td><code>maxBytesInMemory</code></td><td>See <a href="/docs/latest/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (1/6 of max JVM memory)</td></tr>
-<tr><td><code>maxTotalRows</code></td><td>See <a href="/docs/latest/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 20000000)</td></tr>
-<tr><td><code>splitHintSpec</code></td><td>See <a href="/docs/latest/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = null)</td></tr>
-<tr><td><code>indexSpec</code></td><td>See <a href="/docs/latest/ingestion/index.html#indexspec">IndexSpec</a></td><td>no</td></tr>
-<tr><td><code>maxPendingPersists</code></td><td>See <a href="/docs/latest/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 0 (meaning one persist can be running concurrently with ingestion, and none can be queued up))</td></tr>
-<tr><td><code>pushTimeout</code></td><td>See <a href="/docs/latest/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 0)</td></tr>
-<tr><td><code>maxNumConcurrentSubTasks</code></td><td>See <a href="/docs/latest/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 1)</td></tr>
+<tr><td><code>maxRowsInMemory</code></td><td>See <a href="/docs/0.19.0/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 1000000)</td></tr>
+<tr><td><code>maxBytesInMemory</code></td><td>See <a href="/docs/0.19.0/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (1/6 of max JVM memory)</td></tr>
+<tr><td><code>maxTotalRows</code></td><td>See <a href="/docs/0.19.0/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 20000000)</td></tr>
+<tr><td><code>splitHintSpec</code></td><td>See <a href="/docs/0.19.0/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = null)</td></tr>
+<tr><td><code>indexSpec</code></td><td>See <a href="/docs/0.19.0/ingestion/index.html#indexspec">IndexSpec</a></td><td>no</td></tr>
+<tr><td><code>maxPendingPersists</code></td><td>See <a href="/docs/0.19.0/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 0 (meaning one persist can be running concurrently with ingestion, and none can be queued up))</td></tr>
+<tr><td><code>pushTimeout</code></td><td>See <a href="/docs/0.19.0/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 0)</td></tr>
+<tr><td><code>maxNumConcurrentSubTasks</code></td><td>See <a href="/docs/0.19.0/ingestion/native-batch.html#tuningconfig">tuningConfig for indexTask</a></td><td>no (default = 1)</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="overlord"></a><a href="#overlord" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>For general Overlord Process information, see <a href="/docs/latest/design/overlord.html">here</a>.</p>
+<p>For general Overlord Process information, see <a href="/docs/0.19.0/design/overlord.html">here</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="overlord-static-configuration"></a><a href="#overlord-static-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>These Overlord static configurations can be defined in the <code>overlord/runtime.properties</code> file.</p>
 <h5><a class="anchor" aria-hidden="true" id="overlord-process-configs"></a><a href="#overlord-process-configs" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
@@ -989,7 +990,7 @@ If you see this problem, it's recommended to set <code>skipOffsetFromLatest</cod
 <tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td>InetAddress.getLocalHost().getCanonicalHostName()</td></tr>
 <tr><td><code>druid.bindOnHost</code></td><td>Indicating whether the process's internal jetty server bind on <code>druid.host</code>. Default is false, which means binding to all interfaces.</td><td>false</td></tr>
 <tr><td><code>druid.plaintextPort</code></td><td>This is the port to actually listen on; unless port mapping is used, this will be the same port as is on <code>druid.host</code></td><td>8090</td></tr>
-<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/latest/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8290</td></tr>
+<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/0.19.0/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8290</td></tr>
 <tr><td><code>druid.service</code></td><td>The name of the service. This is used as a dimension when emitting metrics and alerts to differentiate between the various services</td><td>druid/overlord</td></tr>
 </tbody>
 </table>
@@ -1002,7 +1003,7 @@ If you see this problem, it's recommended to set <code>skipOffsetFromLatest</cod
 <tr><td><code>druid.indexer.runner.type</code></td><td>Choices &quot;local&quot; or &quot;remote&quot;. Indicates whether tasks should be run locally or in a distributed environment. Experimental task runner &quot;httpRemote&quot; is also available which is same as &quot;remote&quot; but uses HTTP to interact with Middle Managers instead of Zookeeper.</td><td>local</td></tr>
 <tr><td><code>druid.indexer.storage.type</code></td><td>Choices are &quot;local&quot; or &quot;metadata&quot;. Indicates whether incoming tasks should be stored locally (in heap) or in metadata storage. Storing incoming tasks in metadata storage allows for tasks to be resumed if the Overlord should fail.</td><td>local</td></tr>
 <tr><td><code>druid.indexer.storage.recentlyFinishedThreshold</code></td><td>A duration of time to store task results.</td><td>PT24H</td></tr>
-<tr><td><code>druid.indexer.tasklock.forceTimeChunkLock</code></td><td><em><strong>Setting this to false is still experimental</strong></em><br/> If set, all tasks are enforced to use time chunk lock. If not set, each task automatically chooses a lock type to use. This configuration can be overwritten by setting <code>forceTimeChunkLock</code> in the <a href="/docs/latest/ingestion/tasks.html#context">task context</a>. See <a href="/docs/latest/ingestion/tasks.html#context">Task Locking  [...]
+<tr><td><code>druid.indexer.tasklock.forceTimeChunkLock</code></td><td><em><strong>Setting this to false is still experimental</strong></em><br/> If set, all tasks are enforced to use time chunk lock. If not set, each task automatically chooses a lock type to use. This configuration can be overwritten by setting <code>forceTimeChunkLock</code> in the <a href="/docs/0.19.0/ingestion/tasks.html#context">task context</a>. See <a href="/docs/0.19.0/ingestion/tasks.html#context">Task Locking  [...]
 <tr><td><code>druid.indexer.queue.maxSize</code></td><td>Maximum number of active tasks at one time.</td><td>Integer.MAX_VALUE</td></tr>
 <tr><td><code>druid.indexer.queue.startDelay</code></td><td>Sleep this long before starting Overlord queue management. This can be useful to give a cluster time to re-orient itself after e.g. a widespread network issue.</td><td>PT1M</td></tr>
 <tr><td><code>druid.indexer.queue.restartDelay</code></td><td>Sleep this long when Overlord queue management throws an exception before trying again.</td><td>PT30S</td></tr>
@@ -1034,7 +1035,7 @@ If you see this problem, it's recommended to set <code>skipOffsetFromLatest</cod
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
 </thead>
 <tbody>
-<tr><td><code>druid.indexer.autoscale.strategy</code></td><td>Choices are &quot;noop&quot; or &quot;ec2&quot;. Sets the strategy to run when autoscaling is required.</td><td>noop</td></tr>
+<tr><td><code>druid.indexer.autoscale.strategy</code></td><td>Choices are &quot;noop&quot;, &quot;ec2&quot; or &quot;gce&quot;. Sets the strategy to run when autoscaling is required.</td><td>noop</td></tr>
 <tr><td><code>druid.indexer.autoscale.doAutoscale</code></td><td>If set to &quot;true&quot; autoscaling will be enabled.</td><td>false</td></tr>
 <tr><td><code>druid.indexer.autoscale.provisionPeriod</code></td><td>How often to check whether or not new MiddleManagers should be added.</td><td>PT1M</td></tr>
 <tr><td><code>druid.indexer.autoscale.terminatePeriod</code></td><td>How often to check when MiddleManagers should be removed.</td><td>PT5M</td></tr>
@@ -1224,7 +1225,7 @@ its better to write a druid extension module with extending current worker selec
 }
 </code></pre>
 <blockquote>
-<p>JavaScript-based functionality is disabled by default. Please refer to the Druid <a href="/docs/latest/development/javascript.html">JavaScript programming guide</a> for guidelines about using Druid's JavaScript functionality, including instructions on how to enable it.</p>
+<p>JavaScript-based functionality is disabled by default. Please refer to the Druid <a href="/docs/0.19.0/development/javascript.html">JavaScript programming guide</a> for guidelines about using Druid's JavaScript functionality, including instructions on how to enable it.</p>
 </blockquote>
 <h6><a class="anchor" aria-hidden="true" id="affinity"></a><a href="#affinity" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Affinity configs can be provided to the <em>equalDistribution</em> and <em>fillCapacity</em> strategies using the &quot;affinityConfig&quot;
@@ -1261,7 +1262,8 @@ field. If not provided, the default is to not use it at all.</p>
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="autoscaler"></a><a href="#autoscaler" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>Amazon's EC2 is currently the only supported autoscaler.</p>
+<p>Amazon's EC2 together with Google's GCE are currently the only supported autoscalers.</p>
+<p>EC2's autoscaler properties are:</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -1274,9 +1276,10 @@ field. If not provided, the default is to not use it at all.</p>
 <tr><td><code>userData</code></td><td>A JSON object that describes how to configure new nodes. If you have set druid.indexer.autoscale.workerVersion, this must have a versionReplacementString. Otherwise, a versionReplacementString is not necessary.</td><td>none; optional</td></tr>
 </tbody>
 </table>
+<p>For GCE's properties, please refer to the <a href="/docs/0.19.0/development/extensions-contrib/gce-extensions.html">gce-extensions</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="data-server"></a><a href="#data-server" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>This section contains the configuration options for the processes that reside on Data servers (MiddleManagers/Peons and Historicals) in the suggested <a href="../design/processes.html#server-types">three-server configuration</a>.</p>
-<p>Configuration options for the experimental <a href="/docs/latest/design/indexer.html">Indexer process</a> are also provided here.</p>
+<p>Configuration options for the experimental <a href="/docs/0.19.0/design/indexer.html">Indexer process</a> are also provided here.</p>
 <h3><a class="anchor" aria-hidden="true" id="middlemanager-and-peons"></a><a href="#middlemanager-and-peons" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>These MiddleManager and Peon configurations can be defined in the <code>middleManager/runtime.properties</code> file.</p>
 <h4><a class="anchor" aria-hidden="true" id="middlemanager-process-config"></a><a href="#middlemanager-process-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
@@ -1288,7 +1291,7 @@ field. If not provided, the default is to not use it at all.</p>
 <tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td>InetAddress.getLocalHost().getCanonicalHostName()</td></tr>
 <tr><td><code>druid.bindOnHost</code></td><td>Indicating whether the process's internal jetty server bind on <code>druid.host</code>. Default is false, which means binding to all interfaces.</td><td>false</td></tr>
 <tr><td><code>druid.plaintextPort</code></td><td>This is the port to actually listen on; unless port mapping is used, this will be the same port as is on <code>druid.host</code></td><td>8091</td></tr>
-<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/latest/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8291</td></tr>
+<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/0.19.0/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8291</td></tr>
 <tr><td><code>druid.service</code></td><td>The name of the service. This is used as a dimension when emitting metrics and alerts to differentiate between the various services</td><td>druid/middlemanager</td></tr>
 </tbody>
 </table>
@@ -1348,14 +1351,14 @@ ensure at least this amount of direct memory is available by providing <code>-XX
 <tr><td><code>druid.realtime.cache.useCache</code></td><td>true, false</td><td>Enable the cache on the realtime.</td><td>false</td></tr>
 <tr><td><code>druid.realtime.cache.populateCache</code></td><td>true, false</td><td>Populate the cache on the realtime.</td><td>false</td></tr>
 <tr><td><code>druid.realtime.cache.unCacheable</code></td><td>All druid query types</td><td>All query types to not cache.</td><td><code>[]</code></td></tr>
-<tr><td><code>druid.realtime.cache.maxEntrySize</code></td><td>Maximum cache entry size in bytes.</td><td>1_000_000</td></tr>
+<tr><td><code>druid.realtime.cache.maxEntrySize</code></td><td>positive integer</td><td>Maximum cache entry size in bytes.</td><td>1_000_000</td></tr>
 </tbody>
 </table>
 <p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
 <h4><a class="anchor" aria-hidden="true" id="additional-peon-configuration"></a><a href="#additional-peon-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>Although peons inherit the configurations of their parent MiddleManagers, explicit child peon configs in MiddleManager can be set by prefixing them with:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.fork</span><span class="hljs-selector-class">.property</span>
-</code></pre>
+<pre><code class="hljs">druid.indexer.fork.<span class="hljs-keyword">property</span><span class="hljs-title">
+</span></code></pre>
 <p>Additional peon configs include:</p>
 <table>
 <thead>
@@ -1400,7 +1403,7 @@ than the configured maximum <em>heap</em> size (<code>-Xmx</code>) for the same
 Using on-heap memory introduces garbage collection overhead and so is not recommended in most cases. This type of medium is
 most helpful for tasks run on external clusters where it may be difficult to allocate and work with direct memory
 effectively.</p>
-<p>For most types of tasks SegmentWriteOutMediumFactory could be configured per-task (see <a href="/docs/latest/ingestion/tasks.html">Tasks</a>
+<p>For most types of tasks SegmentWriteOutMediumFactory could be configured per-task (see <a href="/docs/0.19.0/ingestion/tasks.html">Tasks</a>
 page, &quot;TuningConfig&quot; section), but if it's not specified for a task, or it's not supported for a particular task type,
 then the value from the configuration below is used:</p>
 <table>
@@ -1421,7 +1424,7 @@ then the value from the configuration below is used:</p>
 <tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td>InetAddress.getLocalHost().getCanonicalHostName()</td></tr>
 <tr><td><code>druid.bindOnHost</code></td><td>Indicating whether the process's internal jetty server bind on <code>druid.host</code>. Default is false, which means binding to all interfaces.</td><td>false</td></tr>
 <tr><td><code>druid.plaintextPort</code></td><td>This is the port to actually listen on; unless port mapping is used, this will be the same port as is on <code>druid.host</code></td><td>8091</td></tr>
-<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/latest/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8283</td></tr>
+<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/0.19.0/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8283</td></tr>
 <tr><td><code>druid.service</code></td><td>The name of the service. This is used as a dimension when emitting metrics and alerts to differentiate between the various services</td><td>druid/indexer</td></tr>
 </tbody>
 </table>
@@ -1463,6 +1466,7 @@ then the value from the configuration below is used:</p>
 <tr><td><code>druid.server.http.maxQueryTimeout</code></td><td>Maximum allowed value (in milliseconds) for <code>timeout</code> parameter. See <a href="../querying/query-context.html">query-context</a> to know more about <code>timeout</code>. Query is rejected if the query context <code>timeout</code> is greater than this value.</td><td>Long.MAX_VALUE</td></tr>
 <tr><td><code>druid.server.http.maxRequestHeaderSize</code></td><td>Maximum size of a request header in bytes. Larger headers consume more memory and can make a server more vulnerable to denial of service attacks.</td><td>8 * 1024</td></tr>
 <tr><td><code>druid.server.http.enableForwardedRequestCustomizer</code></td><td>If enabled, adds Jetty ForwardedRequestCustomizer which reads X-Forwarded-* request headers to manipulate servlet request object when Druid is used behind a proxy.</td><td>false</td></tr>
+<tr><td><code>druid.server.http.allowedHttpMethods</code></td><td>List of HTTP methods that should be allowed in addition to the ones required by Druid APIs. Druid APIs require GET, PUT, POST, and DELETE, which are always allowed. This option is not useful unless you have installed an extension that needs these additional HTTP methods or that adds functionality related to CORS. None of Druid's bundled extensions require these methods.</td><td>[]</td></tr>
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="indexer-processing-resources"></a><a href="#indexer-processing-resources" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
@@ -1497,13 +1501,13 @@ line.</p>
 <tr><td><code>druid.realtime.cache.useCache</code></td><td>true, false</td><td>Enable the cache on the realtime.</td><td>false</td></tr>
 <tr><td><code>druid.realtime.cache.populateCache</code></td><td>true, false</td><td>Populate the cache on the realtime.</td><td>false</td></tr>
 <tr><td><code>druid.realtime.cache.unCacheable</code></td><td>All druid query types</td><td>All query types to not cache.</td><td><code>[]</code></td></tr>
-<tr><td><code>druid.realtime.cache.maxEntrySize</code></td><td>Maximum cache entry size in bytes.</td><td>1_000_000</td></tr>
+<tr><td><code>druid.realtime.cache.maxEntrySize</code></td><td>positive integer</td><td>Maximum cache entry size in bytes.</td><td>1_000_000</td></tr>
 </tbody>
 </table>
 <p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
 <p>Note that only local caches such as the <code>local</code>-type cache and <code>caffeine</code> cache are supported. If a remote cache such as <code>memcached</code> is used, it will be ignored.</p>
 <h3><a class="anchor" aria-hidden="true" id="historical"></a><a href="#historical" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>For general Historical Process information, see <a href="/docs/latest/design/historical.html">here</a>.</p>
+<p>For general Historical Process information, see <a href="/docs/0.19.0/design/historical.html">here</a>.</p>
 <p>These Historical configurations can be defined in the <code>historical/runtime.properties</code> file.</p>
 <h4><a class="anchor" aria-hidden="true" id="historical-process-configuration"></a><a href="#historical-process-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
 <table>
@@ -1514,7 +1518,7 @@ line.</p>
 <tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td>InetAddress.getLocalHost().getCanonicalHostName()</td></tr>
 <tr><td><code>druid.bindOnHost</code></td><td>Indicating whether the process's internal jetty server bind on <code>druid.host</code>. Default is false, which means binding to all interfaces.</td><td>false</td></tr>
 <tr><td><code>druid.plaintextPort</code></td><td>This is the port to actually listen on; unless port mapping is used, this will be the same port as is on <code>druid.host</code></td><td>8083</td></tr>
-<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/latest/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8283</td></tr>
+<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/0.19.0/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8283</td></tr>
 <tr><td><code>druid.service</code></td><td>The name of the service. This is used as a dimension when emitting metrics and alerts to differentiate between the various services</td><td>druid/historical</td></tr>
 </tbody>
 </table>
@@ -1524,8 +1528,8 @@ line.</p>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
 </thead>
 <tbody>
-<tr><td><code>druid.server.maxSize</code></td><td>The maximum number of bytes-worth of segments that the process wants assigned to it. This is not a limit that Historical processes actually enforces, just a value published to the Coordinator process so it can plan accordingly.</td><td>0</td></tr>
-<tr><td><code>druid.server.tier</code></td><td>A string to name the distribution tier that the storage process belongs to. Many of the <a href="/docs/latest/operations/rule-configuration.html">rules Coordinator processes use</a> to manage segments can be keyed on tiers.</td><td><code>_default_tier</code></td></tr>
+<tr><td><code>druid.server.maxSize</code></td><td>The maximum number of bytes-worth of segments that the process wants assigned to it. The Coordinator process will attempt to assign segments to a Historical process only if this property is greater than the total size of segments served by it. Since this property defines the upper limit on the total segment size that can be assigned to a Historical, it can be set to the sum of all <code>maxSize</code> values specified within <code>druid.s [...]
+<tr><td><code>druid.server.tier</code></td><td>A string to name the distribution tier that the storage process belongs to. Many of the <a href="/docs/0.19.0/operations/rule-configuration.html">rules Coordinator processes use</a> to manage segments can be keyed on tiers.</td><td><code>_default_tier</code></td></tr>
 <tr><td><code>druid.server.priority</code></td><td>In a tiered architecture, the priority of the tier, thus allowing control over which processes are queried. Higher numbers mean higher priority. The default (no priority) works for architecture with no cross replication (tiers that have no data-storage overlap). Data centers typically have equal priority.</td><td>0</td></tr>
 </tbody>
 </table>
@@ -1541,7 +1545,7 @@ line.</p>
 <tr><td><code>druid.segmentCache.dropSegmentDelayMillis</code></td><td>How long a process delays before completely dropping segment.</td><td>30000 (30 seconds)</td></tr>
 <tr><td><code>druid.segmentCache.infoDir</code></td><td>Historical processes keep track of the segments they are serving so that when the process is restarted they can reload the same segments without waiting for the Coordinator to reassign. This path defines where this metadata is kept. Directory will be created if needed.</td><td>${first_location}/info_dir</td></tr>
 <tr><td><code>druid.segmentCache.announceIntervalMillis</code></td><td>How frequently to announce segments while segments are loading from cache. Set this value to zero to wait for all segments to be loaded before announcing.</td><td>5000 (5 seconds)</td></tr>
-<tr><td><code>druid.segmentCache.numLoadingThreads</code></td><td>How many segments to drop or load concurrently from deep storage. Note that the work of loading segments involves downloading segments from deep storage, decompressing them and loading them to a memory mapped location. So the work is not all I/O Bound. Depending on CPU and network load, one could possibly increase this config to a higher value.</td><td>Number of cores</td></tr>
+<tr><td><code>druid.segmentCache.numLoadingThreads</code></td><td>How many segments to drop or load concurrently from deep storage. Note that the work of loading segments involves downloading segments from deep storage, decompressing them and loading them to a memory mapped location. So the work is not all I/O Bound. Depending on CPU and network load, one could possibly increase this config to a higher value.</td><td>max(1,Number of cores / 6)</td></tr>
 <tr><td><code>druid.segmentCache.numBootstrapThreads</code></td><td>How many segments to load concurrently during historical startup.</td><td><code>druid.segmentCache.numLoadingThreads</code></td></tr>
 <tr><td><code>druid.segmentCache.lazyLoadOnStart</code></td><td>Whether or not to load segment columns metadata lazily during historical startup. When set to true, Historical startup time will be dramatically improved by deferring segment loading until the first time that segment takes part in a query, which will incur this cost instead. One catch is that if historical crashes while in the process of downloading and creating segment files, it is possible to end up with a corrupted segmen [...]
 <tr><td><code>druid.coordinator.loadqueuepeon.curator.numCallbackThreads</code></td><td>Number of threads for executing callback actions associated with loading or dropping of segments. One might want to increase this number when noticing clusters are lagging behind w.r.t. balancing segments across historical nodes.</td><td>2</td></tr>
@@ -1576,7 +1580,7 @@ line.</p>
 <tr><td><code>druid.server.http.defaultQueryTimeout</code></td><td>Query timeout in millis, beyond which unfinished queries will be cancelled</td><td>300000</td></tr>
 <tr><td><code>druid.server.http.gracefulShutdownTimeout</code></td><td>The maximum amount of time Jetty waits after receiving shutdown signal. After this timeout the threads will be forcefully shutdown. This allows any queries that are executing to complete.</td><td><code>PT0S</code> (do not wait)</td></tr>
 <tr><td><code>druid.server.http.unannouncePropagationDelay</code></td><td>How long to wait for zookeeper unannouncements to propagate before shutting down Jetty. This is a minimum and <code>druid.server.http.gracefulShutdownTimeout</code> does not start counting down until after this period elapses.</td><td><code>PT0S</code> (do not wait)</td></tr>
-<tr><td><code>druid.server.http.maxQueryTimeout</code></td><td>Maximum allowed value (in milliseconds) for <code>timeout</code> parameter. See <a href="/docs/latest/querying/query-context.html">query-context</a> to know more about <code>timeout</code>. Query is rejected if the query context <code>timeout</code> is greater than this value.</td><td>Long.MAX_VALUE</td></tr>
+<tr><td><code>druid.server.http.maxQueryTimeout</code></td><td>Maximum allowed value (in milliseconds) for <code>timeout</code> parameter. See <a href="/docs/0.19.0/querying/query-context.html">query-context</a> to know more about <code>timeout</code>. Query is rejected if the query context <code>timeout</code> is greater than this value.</td><td>Long.MAX_VALUE</td></tr>
 <tr><td><code>druid.server.http.maxRequestHeaderSize</code></td><td>Maximum size of a request header in bytes. Larger headers consume more memory and can make a server more vulnerable to denial of service attacks.</td><td>8 * 1024</td></tr>
 </tbody>
 </table>
@@ -1618,9 +1622,9 @@ line.</p>
 <p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
 <h2><a class="anchor" aria-hidden="true" id="query-server"></a><a href="#query-server" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>This section contains the configuration options for the processes that reside on Query servers (Brokers) in the suggested <a href="../design/processes.html#server-types">three-server configuration</a>.</p>
-<p>Configuration options for the experimental <a href="/docs/latest/design/router.html">Router process</a> are also provided here.</p>
+<p>Configuration options for the experimental <a href="/docs/0.19.0/design/router.html">Router process</a> are also provided here.</p>
 <h3><a class="anchor" aria-hidden="true" id="broker"></a><a href="#broker" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2. [...]
-<p>For general Broker process information, see <a href="/docs/latest/design/broker.html">here</a>.</p>
+<p>For general Broker process information, see <a href="/docs/0.19.0/design/broker.html">here</a>.</p>
 <p>These Broker configurations can be defined in the <code>broker/runtime.properties</code> file.</p>
 <h4><a class="anchor" aria-hidden="true" id="broker-process-configs"></a><a href="#broker-process-configs" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
 <table>
@@ -1631,7 +1635,7 @@ line.</p>
 <tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td>InetAddress.getLocalHost().getCanonicalHostName()</td></tr>
 <tr><td><code>druid.bindOnHost</code></td><td>Indicating whether the process's internal jetty server bind on <code>druid.host</code>. Default is false, which means binding to all interfaces.</td><td>false</td></tr>
 <tr><td><code>druid.plaintextPort</code></td><td>This is the port to actually listen on; unless port mapping is used, this will be the same port as is on <code>druid.host</code></td><td>8082</td></tr>
-<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/latest/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8282</td></tr>
+<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/0.19.0/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>8282</td></tr>
 <tr><td><code>druid.service</code></td><td>The name of the service. This is used as a dimension when emitting metrics and alerts to differentiate between the various services</td><td>druid/broker</td></tr>
 </tbody>
 </table>
@@ -1644,7 +1648,7 @@ line.</p>
 <tbody>
 <tr><td><code>druid.broker.balancer.type</code></td><td><code>random</code>, <code>connectionCount</code></td><td>Determines how the broker balances connections to Historical processes. <code>random</code> choose randomly, <code>connectionCount</code> picks the process with the fewest number of active connections to</td><td><code>random</code></td></tr>
 <tr><td><code>druid.broker.select.tier</code></td><td><code>highestPriority</code>, <code>lowestPriority</code>, <code>custom</code></td><td>If segments are cross-replicated across tiers in a cluster, you can tell the broker to prefer to select segments in a tier with a certain priority.</td><td><code>highestPriority</code></td></tr>
-<tr><td><code>druid.broker.select.tier.custom.priorities</code></td><td><code>An array of integer priorities.</code></td><td>Select servers in tiers with a custom priority list.</td><td>None</td></tr>
+<tr><td><code>druid.broker.select.tier.custom.priorities</code></td><td><code>An array of integer priorities.</code> E.g., <code>[-1, 0, 1, 2]</code></td><td>Select servers in tiers with a custom priority list.</td><td>The config only has effect if <code>druid.broker.select.tier</code> is set to <code>custom</code>. If <code>druid.broker.select.tier</code> is set to <code>custom</code> but this config is not specified, the effect is the same as <code>druid.broker.select.tier</code> set t [...]
 </tbody>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="query-prioritization-and-laning"></a><a href="#query-prioritization-and-laning" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
@@ -1661,7 +1665,7 @@ line.</p>
 </table>
 <h5><a class="anchor" aria-hidden="true" id="prioritization-strategies"></a><a href="#prioritization-strategies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <h6><a class="anchor" aria-hidden="true" id="manual-prioritization-strategy"></a><a href="#manual-prioritization-strategy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
-<p>With this configuration, queries are never assigned a priority automatically, but will preserve a priority manually set on the <a href="/docs/latest/querying/query-context.html">query context</a> with the <code>priority</code> key. This mode can be explicitly set by setting <code>druid.query.scheduler.prioritization.strategy</code> to <code>none</code>.</p>
+<p>With this configuration, queries are never assigned a priority automatically, but will preserve a priority manually set on the <a href="/docs/0.19.0/querying/query-context.html">query context</a> with the <code>priority</code> key. This mode can be explicitly set by setting <code>druid.query.scheduler.prioritization.strategy</code> to <code>none</code>.</p>
 <h6><a class="anchor" aria-hidden="true" id="threshold-prioritization-strategy"></a><a href="#threshold-prioritization-strategy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
 <p>This prioritization strategy lowers the priority of queries that cross any of a configurable set of thresholds, such as how far in the past the data is, how large of an interval a query covers, or the number of segments taking part in a query.</p>
 <p>This strategy can be enabled by setting <code>druid.query.scheduler.prioritization.strategy</code> to <code>threshold</code>.</p>
@@ -1679,9 +1683,9 @@ line.</p>
 <h5><a class="anchor" aria-hidden="true" id="laning-strategies"></a><a href="#laning-strategies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <h6><a class="anchor" aria-hidden="true" id="no-laning-strategy"></a><a href="#no-laning-strategy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>In this mode, queries are never assigned a lane, and the concurrent query count will only be limited by <code>druid.server.http.numThreads</code> or <code>druid.query.scheduler.numThreads</code>, if set. This is the default Druid query scheduler operating mode. Enable this strategy explicitly by setting <code>druid.query.scheduler.laning.strategy</code> to <code>none</code>.</p>
-<h6><a class="anchor" aria-hidden="true" id="high-low-laning-strategy"></a><a href="#high-low-laning-strategy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
+<h6><a class="anchor" aria-hidden="true" id="highlow-laning-strategy"></a><a href="#highlow-laning-strategy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>This laning strategy splits queries with a <code>priority</code> below zero into a <code>low</code> query lane, automatically. Queries with priority of zero (the default) or above are considered 'interactive'. The limit on <code>low</code> queries can be set to some desired percentage of the total capacity (or HTTP thread pool size), reserving capacity for interactive queries. Queries in the <code>low</code> lane are <em>not</em> guaranteed their capacity, which may be consumed by int [...]
-<p>If the <code>low</code> lane is specified in the <a href="/docs/latest/querying/query-context.html">query context</a> <code>lane</code> parameter, this will override the computed lane.</p>
+<p>If the <code>low</code> lane is specified in the <a href="/docs/0.19.0/querying/query-context.html">query context</a> <code>lane</code> parameter, this will override the computed lane.</p>
 <p>This strategy can be enabled by setting <code>druid.query.scheduler.laning.strategy=hilo</code>.</p>
 <table>
 <thead>
@@ -1692,7 +1696,7 @@ line.</p>
 </tbody>
 </table>
 <h6><a class="anchor" aria-hidden="true" id="manual-laning-strategy"></a><a href="#manual-laning-strategy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>This laning strategy is best suited for cases where one or more external applications which query Druid are capable of manually deciding what lane a given query should belong to. Configured with a map of lane names to percent or exact max capacities, queries with a matching <code>lane</code> parameter in the <a href="/docs/latest/querying/query-context.html">query context</a> will be subjected to those limits.</p>
+<p>This laning strategy is best suited for cases where one or more external applications which query Druid are capable of manually deciding what lane a given query should belong to. Configured with a map of lane names to percent or exact max capacities, queries with a matching <code>lane</code> parameter in the <a href="/docs/0.19.0/querying/query-context.html">query context</a> will be subjected to those limits.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
@@ -1718,7 +1722,7 @@ line.</p>
 <tr><td><code>druid.server.http.maxSubqueryRows</code></td><td>Maximum number of rows from subqueries per query. These rows are stored in memory.</td><td>100000</td></tr>
 <tr><td><code>druid.server.http.gracefulShutdownTimeout</code></td><td>The maximum amount of time Jetty waits after receiving shutdown signal. After this timeout the threads will be forcefully shutdown. This allows any queries that are executing to complete.</td><td><code>PT0S</code> (do not wait)</td></tr>
 <tr><td><code>druid.server.http.unannouncePropagationDelay</code></td><td>How long to wait for zookeeper unannouncements to propagate before shutting down Jetty. This is a minimum and <code>druid.server.http.gracefulShutdownTimeout</code> does not start counting down until after this period elapses.</td><td><code>PT0S</code> (do not wait)</td></tr>
-<tr><td><code>druid.server.http.maxQueryTimeout</code></td><td>Maximum allowed value (in milliseconds) for <code>timeout</code> parameter. See <a href="/docs/latest/querying/query-context.html">query-context</a> to know more about <code>timeout</code>. Query is rejected if the query context <code>timeout</code> is greater than this value.</td><td>Long.MAX_VALUE</td></tr>
+<tr><td><code>druid.server.http.maxQueryTimeout</code></td><td>Maximum allowed value (in milliseconds) for <code>timeout</code> parameter. See <a href="/docs/0.19.0/querying/query-context.html">query-context</a> to know more about <code>timeout</code>. Query is rejected if the query context <code>timeout</code> is greater than this value.</td><td>Long.MAX_VALUE</td></tr>
 <tr><td><code>druid.server.http.maxRequestHeaderSize</code></td><td>Maximum size of a request header in bytes. Larger headers consume more memory and can make a server more vulnerable to denial of service attacks.</td><td>8 * 1024</td></tr>
 </tbody>
 </table>
@@ -1734,7 +1738,7 @@ client has the following configuration options.</p>
 <tr><td><code>druid.broker.http.compressionCodec</code></td><td>Compression codec the Broker uses to communicate with Historical and real-time processes. May be &quot;gzip&quot; or &quot;identity&quot;.</td><td><code>gzip</code></td></tr>
 <tr><td><code>druid.broker.http.readTimeout</code></td><td>The timeout for data reads from Historical servers and real-time tasks.</td><td><code>PT15M</code></td></tr>
 <tr><td><code>druid.broker.http.unusedConnectionTimeout</code></td><td>The timeout for idle connections in connection pool. The connection in the pool will be closed after this timeout and a new one will be established. This timeout should be less than <code>druid.broker.http.readTimeout</code>. Set this timeout = ~90% of <code>druid.broker.http.readTimeout</code></td><td><code>PT4M</code></td></tr>
-<tr><td><code>druid.broker.http.maxQueuedBytes</code></td><td>Maximum number of bytes queued per query before exerting backpressure on the channel to the data server. Similar to <code>druid.server.http.maxScatterGatherBytes</code>, except unlike that configuration, this one will trigger backpressure rather than query failure. Zero means disabled. Can be overridden by the <a href="/docs/latest/querying/query-context.html">&quot;maxQueuedBytes&quot; query context parameter</a>.</td><td><co [...]
+<tr><td><code>druid.broker.http.maxQueuedBytes</code></td><td>Maximum number of bytes queued per query before exerting backpressure on the channel to the data server. Similar to <code>druid.server.http.maxScatterGatherBytes</code>, except unlike that configuration, this one will trigger backpressure rather than query failure. Zero means disabled. Can be overridden by the <a href="/docs/0.19.0/querying/query-context.html">&quot;maxQueuedBytes&quot; query context parameter</a>.</td><td><co [...]
 <tr><td><code>druid.broker.http.numMaxThreads</code></td><td>`Maximum number of I/O worker threads</td><td>max(10, ((number of cores * 17) / 16 + 2) + 30)`</td></tr>
 </tbody>
 </table>
@@ -1792,7 +1796,7 @@ line.</p>
 <tr><td><code>druid.sql.avatica.maxStatementsPerConnection</code></td><td>Maximum number of simultaneous open statements per Avatica client connection.</td><td>4</td></tr>
 <tr><td><code>druid.sql.avatica.connectionIdleTimeout</code></td><td>Avatica client connection idle timeout.</td><td>PT5M</td></tr>
 <tr><td><code>druid.sql.http.enable</code></td><td>Whether to enable JSON over HTTP querying at <code>/druid/v2/sql/</code>.</td><td>true</td></tr>
-<tr><td><code>druid.sql.planner.maxTopNLimit</code></td><td>Maximum threshold for a <a href="/docs/latest/querying/topnquery.html">TopN query</a>. Higher limits will be planned as <a href="/docs/latest/querying/groupbyquery.html">GroupBy queries</a> instead.</td><td>100000</td></tr>
+<tr><td><code>druid.sql.planner.maxTopNLimit</code></td><td>Maximum threshold for a <a href="/docs/0.19.0/querying/topnquery.html">TopN query</a>. Higher limits will be planned as <a href="/docs/0.19.0/querying/groupbyquery.html">GroupBy queries</a> instead.</td><td>100000</td></tr>
 <tr><td><code>druid.sql.planner.metadataRefreshPeriod</code></td><td>Throttle for metadata refreshes.</td><td>PT1M</td></tr>
 <tr><td><code>druid.sql.planner.useApproximateCountDistinct</code></td><td>Whether to use an approximate cardinality algorithm for <code>COUNT(DISTINCT foo)</code>.</td><td>true</td></tr>
 <tr><td><code>druid.sql.planner.useApproximateTopN</code></td><td>Whether to use approximate <a href="../querying/topnquery.html">TopN queries</a> when a SQL query could be expressed as such. If false, exact <a href="../querying/groupbyquery.html">GroupBy queries</a> will be used instead.</td><td>true</td></tr>
@@ -1821,7 +1825,7 @@ number of rows permitted across all subqueries.</p>
 <tr><td><code>druid.broker.cache.resultLevelCacheLimit</code></td><td>positive integer</td><td>Maximum size of query response that can be cached.</td><td><code>Integer.MAX_VALUE</code></td></tr>
 <tr><td><code>druid.broker.cache.unCacheable</code></td><td>All druid query types</td><td>All query types to not cache.</td><td><code>[]</code></td></tr>
 <tr><td><code>druid.broker.cache.cacheBulkMergeLimit</code></td><td>positive integer or 0</td><td>Queries with more segments than this number will not attempt to fetch from cache at the broker level, leaving potential caching fetches (and cache result merging) to the Historicals</td><td><code>Integer.MAX_VALUE</code></td></tr>
-<tr><td><code>druid.broker.cache.maxEntrySize</code></td><td>Maximum cache entry size in bytes.</td><td>1_000_000</td></tr>
+<tr><td><code>druid.broker.cache.maxEntrySize</code></td><td>positive integer</td><td>Maximum cache entry size in bytes.</td><td>1_000_000</td></tr>
 </tbody>
 </table>
 <p>See <a href="#cache-configuration">cache configuration</a> for how to configure cache settings.</p>
@@ -1950,7 +1954,7 @@ If there is an L1 miss and L2 hit, it will also populate L1.</p>
 <tr><th>Property</th><th>Description</th><th>Default</th></tr>
 </thead>
 <tbody>
-<tr><td><code>druid.query.vectorize</code></td><td>See <a href="../querying/query-context.html#vectorization-parameters">Vectorization parameters</a> for details. This value can be overridden by <code>vectorize</code> in the query contexts.</td><td><code>false</code></td></tr>
+<tr><td><code>druid.query.vectorize</code></td><td>See <a href="../querying/query-context.html#vectorization-parameters">Vectorization parameters</a> for details. This value can be overridden by <code>vectorize</code> in the query contexts.</td><td><code>true</code></td></tr>
 <tr><td><code>druid.query.vectorSize</code></td><td>See <a href="../querying/query-context.html#vectorization-parameters">Vectorization parameters</a> for details. This value can be overridden by <code>vectorSize</code> in the query contexts.</td><td><code>512</code></td></tr>
 </tbody>
 </table>
@@ -1984,7 +1988,7 @@ If there is an L1 miss and L2 hit, it will also populate L1.</p>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="groupby-query-config"></a><a href="#groupby-query-config" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
-<p>This section describes the configurations for groupBy queries. You can set the runtime properties in the <code>runtime.properties</code> file on Broker, Historical, and MiddleManager processes. You can set the query context parameters through the <a href="/docs/latest/querying/query-context.html">query context</a>.</p>
+<p>This section describes the configurations for groupBy queries. You can set the runtime properties in the <code>runtime.properties</code> file on Broker, Historical, and MiddleManager processes. You can set the query context parameters through the <a href="/docs/0.19.0/querying/query-context.html">query context</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="configurations-for-groupby-v2"></a><a href="#configurations-for-groupby-v2" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>Supported runtime properties:</p>
 <table>
@@ -2089,7 +2093,7 @@ If there is an L1 miss and L2 hit, it will also populate L1.</p>
 <tr><td><code>druid.host</code></td><td>The host for the current process. This is used to advertise the current processes location as reachable from another process and should generally be specified such that <code>http://${druid.host}/</code> could actually talk to this process</td><td>InetAddress.getLocalHost().getCanonicalHostName()</td></tr>
 <tr><td><code>druid.bindOnHost</code></td><td>Indicating whether the process's internal jetty server bind on <code>druid.host</code>. Default is false, which means binding to all interfaces.</td><td>false</td></tr>
 <tr><td><code>druid.plaintextPort</code></td><td>This is the port to actually listen on; unless port mapping is used, this will be the same port as is on <code>druid.host</code></td><td>8888</td></tr>
-<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/latest/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>9088</td></tr>
+<tr><td><code>druid.tlsPort</code></td><td>TLS port for HTTPS connector, if <a href="/docs/0.19.0/operations/tls-support.html">druid.enableTlsPort</a> is set then this config will be used. If <code>druid.host</code> contains port then that port will be ignored. This should be a non-negative Integer.</td><td>9088</td></tr>
 <tr><td><code>druid.service</code></td><td>The name of the service. This is used as a dimension when emitting metrics and alerts to differentiate between the various services</td><td>druid/router</td></tr>
 </tbody>
 </table>
@@ -2113,7 +2117,7 @@ If there is an L1 miss and L2 hit, it will also populate L1.</p>
 <tr><td><code>druid.router.http.requestBuffersize</code></td><td>Size of the content buffer for receiving requests. These buffers are only used for active connections that have requests with bodies that will not fit within the header buffer</td><td><code>8 * 1024</code></td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/geo.html"><span class="arrow-prev">← </span><span>Spatial filters</span></a><a class="docs-next button" href="/docs/latest/development/extensions.html"><span>Extensions</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#recommended-configuration-file-organization">Recommended Configuration File Organiza [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/geo.html"><span class="arrow-prev">← </span><span>Spatial filters</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions.html"><span>Extensions</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#recommended-configuration-file-organization">Recommended Configuration File Organiza [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -2130,6 +2134,6 @@ If there is an L1 miss and L2 hit, it will also populate L1.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/configuration/indexing-service.html b/docs/0.19.0/configuration/indexing-service.html
new file mode 100644
index 0000000..4189126
--- /dev/null
+++ b/docs/0.19.0/configuration/indexing-service.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../configuration/index.html#overlord">
+<meta http-equiv="refresh" content="0; url=../configuration/index.html#overlord">
+<h1>Redirecting...</h1>
+<a href="../configuration/index.html#overlord">Click here if you are not redirected.</a>
+<script>location="../configuration/index.html#overlord"</script>
diff --git a/docs/latest/configuration/logging.html b/docs/0.19.0/configuration/logging.html
similarity index 50%
copy from docs/latest/configuration/logging.html
copy to docs/0.19.0/configuration/logging.html
index be85f3b..7293df6 100644
--- a/docs/latest/configuration/logging.html
+++ b/docs/0.19.0/configuration/logging.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Logging · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/configuration/logging.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><meta prop [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Logging · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/configuration/logging.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta prop [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/configuration/logging.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Logging</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/configuration/logging.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Logging</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -130,7 +130,7 @@
   <span class="hljs-tag">&lt;/<span class="hljs-name">Loggers</span>&gt;</span>
 <span class="hljs-tag">&lt;/<span class="hljs-name">Configuration</span>&gt;</span>
 </span></code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions.html"><span class="arrow-prev">← </span><span>Extensions</span></a><a class="docs-next button" href="/docs/latest/operations/management-uis.html"><span>Management UIs</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#my-logs-are-really-chatty-can-i-set-them-to-asynchronously-write">My logs a [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions.html"><span class="arrow-prev">← </span><span>Extensions</span></a><a class="docs-next button" href="/docs/0.19.0/operations/druid-console.html"><span>Web console</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#my-logs-are-really-chatty-can-i-set-them-to-asynchronously-write">My logs are r [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -147,6 +147,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/configuration/production-cluster.html b/docs/0.19.0/configuration/production-cluster.html
new file mode 100644
index 0000000..d3b1d39
--- /dev/null
+++ b/docs/0.19.0/configuration/production-cluster.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=../tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="../tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="../tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/configuration/realtime.html b/docs/0.19.0/configuration/realtime.html
new file mode 100644
index 0000000..2f57fca
--- /dev/null
+++ b/docs/0.19.0/configuration/realtime.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=../ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="../ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="../ingestion/standalone-realtime.html"</script>
diff --git a/docs/0.19.0/configuration/simple-cluster.html b/docs/0.19.0/configuration/simple-cluster.html
new file mode 100644
index 0000000..d3b1d39
--- /dev/null
+++ b/docs/0.19.0/configuration/simple-cluster.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../tutorials/cluster.html">
+<meta http-equiv="refresh" content="0; url=../tutorials/cluster.html">
+<h1>Redirecting...</h1>
+<a href="../tutorials/cluster.html">Click here if you are not redirected.</a>
+<script>location="../tutorials/cluster.html"</script>
diff --git a/docs/0.19.0/configuration/zookeeper.html b/docs/0.19.0/configuration/zookeeper.html
new file mode 100644
index 0000000..24b4630
--- /dev/null
+++ b/docs/0.19.0/configuration/zookeeper.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../dependencies/zookeeper.html">
+<meta http-equiv="refresh" content="0; url=../dependencies/zookeeper.html">
+<h1>Redirecting...</h1>
+<a href="../dependencies/zookeeper.html">Click here if you are not redirected.</a>
+<script>location="../dependencies/zookeeper.html"</script>
diff --git a/docs/0.19.0/dependencies/cassandra-deep-storage.html b/docs/0.19.0/dependencies/cassandra-deep-storage.html
new file mode 100644
index 0000000..c3328a4
--- /dev/null
+++ b/docs/0.19.0/dependencies/cassandra-deep-storage.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../development/extensions-contrib/cassandra.html">
+<meta http-equiv="refresh" content="0; url=../development/extensions-contrib/cassandra.html">
+<h1>Redirecting...</h1>
+<a href="../development/extensions-contrib/cassandra.html">Click here if you are not redirected.</a>
+<script>location="../development/extensions-contrib/cassandra.html"</script>
diff --git a/docs/latest/dependencies/deep-storage.html b/docs/0.19.0/dependencies/deep-storage.html
similarity index 50%
copy from docs/latest/dependencies/deep-storage.html
copy to docs/0.19.0/dependencies/deep-storage.html
index 1acd8f2..7124abc 100644
--- a/docs/latest/dependencies/deep-storage.html
+++ b/docs/0.19.0/dependencies/deep-storage.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deep storage · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/dependencies/deep-storage.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" />< [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Deep storage · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/dependencies/deep-storage.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" />< [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/dependencies/deep-storage.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Deep storage</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/dependencies/deep-storage.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Deep storage</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -93,12 +93,12 @@
 <p>Note that you should generally set <code>druid.storage.storageDirectory</code> to something different from <code>druid.segmentCache.locations</code> and <code>druid.segmentCache.infoDir</code>.</p>
 <p>If you are using the Hadoop indexer in local mode, then just give it a local file as your output directory and it will work.</p>
 <h2><a class="anchor" aria-hidden="true" id="s3-compatible"></a><a href="#s3-compatible" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
-<p>See <a href="/docs/latest/development/extensions-core/s3.html">druid-s3-extensions extension documentation</a>.</p>
+<p>See <a href="/docs/0.19.0/development/extensions-core/s3.html">druid-s3-extensions extension documentation</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="hdfs"></a><a href="#hdfs" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
-<p>See <a href="/docs/latest/development/extensions-core/hdfs.html">druid-hdfs-storage extension documentation</a>.</p>
+<p>See <a href="/docs/0.19.0/development/extensions-core/hdfs.html">druid-hdfs-storage extension documentation</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="additional-deep-stores"></a><a href="#additional-deep-stores" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>For additional deep stores, please see our <a href="/docs/latest/development/extensions.html">extensions list</a>.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/processes.html"><span class="arrow-prev">← </span><span>Processes and servers</span></a><a class="docs-next button" href="/docs/latest/dependencies/metadata-storage.html"><span>Metadata storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#local-mount">Local Mount</a></li><li><a href="#s3-compatible">S3 [...]
+<p>For additional deep stores, please see our <a href="/docs/0.19.0/development/extensions.html">extensions list</a>.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/processes.html"><span class="arrow-prev">← </span><span>Processes and servers</span></a><a class="docs-next button" href="/docs/0.19.0/dependencies/metadata-storage.html"><span>Metadata storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#local-mount">Local Mount</a></li><li><a href="#s3-compatible">S3 [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -115,6 +115,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/dependencies/metadata-storage.html b/docs/0.19.0/dependencies/metadata-storage.html
similarity index 58%
copy from docs/latest/dependencies/metadata-storage.html
copy to docs/0.19.0/dependencies/metadata-storage.html
index 84035b0..ac9b28a 100644
--- a/docs/latest/dependencies/metadata-storage.html
+++ b/docs/0.19.0/dependencies/metadata-storage.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metadata storage · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/dependencies/metadata-storage.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.1 [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Metadata storage · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/dependencies/metadata-storage.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.1 [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/dependencies/metadata-storage.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Metadata storage</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/dependencies/metadata-storage.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Metadata storage</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -81,7 +81,7 @@
 various metadata about the system, but not to store the actual data. There are
 a number of tables used for various purposes described below.</p>
 <p>Derby is the default metadata store for Druid, however, it is not suitable for production.
-<a href="/docs/latest/development/extensions-core/mysql.html">MySQL</a> and <a href="/docs/latest/development/extensions-core/postgresql.html">PostgreSQL</a> are more production suitable metadata stores.</p>
+<a href="/docs/0.19.0/development/extensions-core/mysql.html">MySQL</a> and <a href="/docs/0.19.0/development/extensions-core/postgresql.html">PostgreSQL</a> are more production suitable metadata stores.</p>
 <blockquote>
 <p>The Metadata Storage stores the entire metadata which is essential for a Druid cluster to work.
 For production clusters, consider using MySQL or PostgreSQL instead of Derby.
@@ -94,9 +94,9 @@ because there is no way to restore if you lose any metadata.</p>
 <span class="hljs-meta">druid.metadata.storage.connector.connectURI</span>=<span class="hljs-string">jdbc:derby://localhost:1527//opt/var/druid_state/derby;create=true</span>
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="mysql"></a><a href="#mysql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>See <a href="/docs/latest/development/extensions-core/mysql.html">mysql-metadata-storage extension documentation</a>.</p>
+<p>See <a href="/docs/0.19.0/development/extensions-core/mysql.html">mysql-metadata-storage extension documentation</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="postgresql"></a><a href="#postgresql" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>See <a href="/docs/latest/development/extensions-core/postgresql.html">postgresql-metadata-storage</a>.</p>
+<p>See <a href="/docs/0.19.0/development/extensions-core/postgresql.html">postgresql-metadata-storage</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="adding-custom-dbcp-properties"></a><a href="#adding-custom-dbcp-properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>NOTE: These properties are not settable through the <code>druid.metadata.storage.connector.dbcp properties</code>: <code>username</code>, <code>password</code>, <code>connectURI</code>, <code>validationQuery</code>, <code>testOnBorrow</code>. These must be set through <code>druid.metadata.storage.connector</code> properties.</p>
 <p>Example supported properties:</p>
@@ -109,7 +109,7 @@ because there is no way to restore if you lose any metadata.</p>
 <p>This is dictated by the <code>druid.metadata.storage.tables.segments</code> property.</p>
 <p>This table stores metadata about the segments that should be available in the system. (This set of segments is called
 &quot;used segments&quot; elsewhere in the documentation and throughout the project.) The table is polled by the
-<a href="/docs/latest/design/coordinator.html">Coordinator</a> to determine the set of segments that should be available for querying in the
+<a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> to determine the set of segments that should be available for querying in the
 system. The table has two main functional columns, the other columns are for indexing purposes.</p>
 <p>Value 1 in the <code>used</code> column means that the segment should be &quot;used&quot; by the cluster (i.e., it should be loaded and
 available for requests). Value 0 means that the segment should not be loaded into the cluster. We do this as a means of
@@ -136,7 +136,7 @@ that is ever an issue).</p>
 <p>Note that the format of this blob can and will change from time-to-time.</p>
 <h3><a class="anchor" aria-hidden="true" id="rule-table"></a><a href="#rule-table" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>The rule table is used to store the various rules about where segments should
-land. These rules are used by the <a href="/docs/latest/design/coordinator.html">Coordinator</a>
+land. These rules are used by the <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a>
 when making segment (re-)allocation decisions about the cluster.</p>
 <h3><a class="anchor" aria-hidden="true" id="config-table"></a><a href="#config-table" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>The config table is used to store runtime configuration objects. We do not have
@@ -144,10 +144,10 @@ many of these yet and we are not sure if we will keep this mechanism going
 forward, but it is the beginnings of a method of changing some configuration
 parameters across the cluster at runtime.</p>
 <h3><a class="anchor" aria-hidden="true" id="task-related-tables"></a><a href="#task-related-tables" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p>There are also a number of tables created and used by the <a href="/docs/latest/design/overlord.html">Overlord</a> and <a href="/docs/latest/design/middlemanager.html">MiddleManager</a> when managing tasks.</p>
+<p>There are also a number of tables created and used by the <a href="/docs/0.19.0/design/overlord.html">Overlord</a> and <a href="/docs/0.19.0/design/middlemanager.html">MiddleManager</a> when managing tasks.</p>
 <h3><a class="anchor" aria-hidden="true" id="audit-table"></a><a href="#audit-table" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>The Audit table is used to store the audit history for configuration changes
-e.g rule changes done by <a href="/docs/latest/design/coordinator.html">Coordinator</a> and other
+e.g rule changes done by <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> and other
 config changes.</p>
 <p>##Accessed by: ##</p>
 <p>The Metadata Storage is accessed only by:</p>
@@ -157,7 +157,7 @@ config changes.</p>
 <li>Coordinator Processes</li>
 </ol>
 <p>Thus you need to give permissions (e.g., in AWS Security Groups) only for these machines to access the Metadata storage.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/dependencies/deep-storage.html"><span class="arrow-prev">← </span><span>Deep storage</span></a><a class="docs-next button" href="/docs/latest/dependencies/zookeeper.html"><span class="function-name-prevnext">ZooKeeper</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-derby">Using Derby</a></li><li><a href="# [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/dependencies/deep-storage.html"><span class="arrow-prev">← </span><span>Deep storage</span></a><a class="docs-next button" href="/docs/0.19.0/dependencies/zookeeper.html"><span class="function-name-prevnext">ZooKeeper</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#using-derby">Using Derby</a></li><li><a href="# [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -174,6 +174,6 @@ config changes.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/dependencies/zookeeper.html b/docs/0.19.0/dependencies/zookeeper.html
new file mode 100644
index 0000000..1f09e1d
--- /dev/null
+++ b/docs/0.19.0/dependencies/zookeeper.html
@@ -0,0 +1,129 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>ZooKeeper · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/dependencies/zookeeper.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta p [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/dependencies/zookeeper.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">ZooKeeper</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>Apache Druid uses <a href="http://zookeeper.apache.org/">Apache ZooKeeper</a> (ZK) for management of current cluster state. The operations that happen over ZK are</p>
+<ol>
+<li><a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> leader election</li>
+<li>Segment &quot;publishing&quot; protocol from <a href="/docs/0.19.0/design/historical.html">Historical</a></li>
+<li>Segment load/drop protocol between <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> and <a href="/docs/0.19.0/design/historical.html">Historical</a></li>
+<li><a href="/docs/0.19.0/design/overlord.html">Overlord</a> leader election</li>
+<li><a href="/docs/0.19.0/design/overlord.html">Overlord</a> and <a href="/docs/0.19.0/design/middlemanager.html">MiddleManager</a> task management</li>
+</ol>
+<h2><a class="anchor" aria-hidden="true" id="coordinator-leader-election"></a><a href="#coordinator-leader-election" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
+<p>We use the Curator LeadershipLatch recipe to do leader election at path</p>
+<pre><code class="hljs">${druid<span class="hljs-selector-class">.zk</span><span class="hljs-selector-class">.paths</span>.coordinatorPath}/_COORDINATOR
+</code></pre>
+<h2><a class="anchor" aria-hidden="true" id="segment-publishing-protocol-from-historical-and-realtime"></a><a href="#segment-publishing-protocol-from-historical-and-realtime" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.2 [...]
+<p>The <code>announcementsPath</code> and <code>servedSegmentsPath</code> are used for this.</p>
+<p>All <a href="/docs/0.19.0/design/historical.html">Historical</a> processes publish themselves on the <code>announcementsPath</code>, specifically, they will create an ephemeral znode at</p>
+<pre><code class="hljs"><span class="hljs-variable">${druid.zk.paths.announcementsPath}</span>/<span class="hljs-variable">${druid.host}</span>
+</code></pre>
+<p>Which signifies that they exist. They will also subsequently create a permanent znode at</p>
+<pre><code class="hljs"><span class="hljs-variable">${druid.zk.paths.servedSegmentsPath}</span>/<span class="hljs-variable">${druid.host}</span>
+</code></pre>
+<p>And as they load up segments, they will attach ephemeral znodes that look like</p>
+<pre><code class="hljs"><span class="hljs-variable">${druid.zk.paths.servedSegmentsPath}</span><span class="hljs-regexp">/${druid.host}/</span>_segment_identifier_
+</code></pre>
+<p>Processes like the <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> and <a href="/docs/0.19.0/design/broker.html">Broker</a> can then watch these paths to see which processes are currently serving which segments.</p>
+<h2><a class="anchor" aria-hidden="true" id="segment-loaddrop-protocol-between-coordinator-and-historical"></a><a href="#segment-loaddrop-protocol-between-coordinator-and-historical" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 [...]
+<p>The <code>loadQueuePath</code> is used for this.</p>
+<p>When the <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> decides that a <a href="/docs/0.19.0/design/historical.html">Historical</a> process should load or drop a segment, it writes an ephemeral znode to</p>
+<pre><code class="hljs"><span class="hljs-variable">${druid.zk.paths.loadQueuePath}</span><span class="hljs-regexp">/_host_of_historical_process/</span>_segment_identifier
+</code></pre>
+<p>This znode will contain a payload that indicates to the Historical process what it should do with the given segment. When the Historical process is done with the work, it will delete the znode in order to signify to the Coordinator that it is complete.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/dependencies/metadata-storage.html"><span class="arrow-prev">← </span><span>Metadata storage</span></a><a class="docs-next button" href="/docs/0.19.0/ingestion/index.html"><span>Ingestion</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#coordinator-leader-election">Coordinator Leader Election</a></li><li><a href= [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/architecture.html b/docs/0.19.0/design/architecture.html
similarity index 66%
copy from docs/latest/design/architecture.html
copy to docs/0.19.0/design/architecture.html
index 54357b3..94bd645 100644
--- a/docs/latest/design/architecture.html
+++ b/docs/0.19.0/design/architecture.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Design · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/architecture.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><meta propert [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Design · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/architecture.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta propert [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/architecture.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Design</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/architecture.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Design</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -83,12 +83,12 @@ design also provides enhanced fault tolerance: an outage of one component will n
 <h2><a class="anchor" aria-hidden="true" id="processes-and-servers"></a><a href="#processes-and-servers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p>Druid has several process types, briefly described below:</p>
 <ul>
-<li><a href="/docs/latest/design/coordinator.html"><strong>Coordinator</strong></a> processes manage data availability on the cluster.</li>
-<li><a href="/docs/latest/design/overlord.html"><strong>Overlord</strong></a> processes control the assignment of data ingestion workloads.</li>
-<li><a href="/docs/latest/design/broker.html"><strong>Broker</strong></a> processes handle queries from external clients.</li>
-<li><a href="/docs/latest/design/router.html"><strong>Router</strong></a> processes are optional processes that can route requests to Brokers, Coordinators, and Overlords.</li>
-<li><a href="/docs/latest/design/historical.html"><strong>Historical</strong></a> processes store queryable data.</li>
-<li><a href="/docs/latest/design/middlemanager.html"><strong>MiddleManager</strong></a> processes are responsible for ingesting data.</li>
+<li><a href="/docs/0.19.0/design/coordinator.html"><strong>Coordinator</strong></a> processes manage data availability on the cluster.</li>
+<li><a href="/docs/0.19.0/design/overlord.html"><strong>Overlord</strong></a> processes control the assignment of data ingestion workloads.</li>
+<li><a href="/docs/0.19.0/design/broker.html"><strong>Broker</strong></a> processes handle queries from external clients.</li>
+<li><a href="/docs/0.19.0/design/router.html"><strong>Router</strong></a> processes are optional processes that can route requests to Brokers, Coordinators, and Overlords.</li>
+<li><a href="/docs/0.19.0/design/historical.html"><strong>Historical</strong></a> processes store queryable data.</li>
+<li><a href="/docs/0.19.0/design/middlemanager.html"><strong>MiddleManager</strong></a> processes are responsible for ingesting data.</li>
 </ul>
 <p>Druid processes can be deployed any way you like, but for ease of deployment we suggest organizing them into three server types: Master, Query, and Data.</p>
 <ul>
@@ -96,7 +96,7 @@ design also provides enhanced fault tolerance: an outage of one component will n
 <li><strong>Query</strong>: Runs Broker and optional Router processes, handles queries from external clients.</li>
 <li><strong>Data</strong>: Runs Historical and MiddleManager processes, executes ingestion workloads and stores all queryable data.</li>
 </ul>
-<p>For more details on process and server organization, please see <a href="/docs/latest/design/processes.html">Druid Processes and Servers</a>.</p>
+<p>For more details on process and server organization, please see <a href="/docs/0.19.0/design/processes.html">Druid Processes and Servers</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="external-dependencies"></a><a href="#external-dependencies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p>In addition to its built-in process types, Druid also has three external dependencies. These are intended to be able to
 leverage existing infrastructure, where present.</p>
@@ -112,15 +112,15 @@ during a query, helping it offer the best query latencies possible. It also mean
 both in deep storage and across your Historical processes for the data you plan to load.</p>
 <p>Deep storage is an important part of Druid's elastic, fault-tolerant design. Druid can bootstrap from deep storage even
 if every single data server is lost and re-provisioned.</p>
-<p>For more details, please see the <a href="/docs/latest/dependencies/deep-storage.html">Deep storage</a> page.</p>
+<p>For more details, please see the <a href="/docs/0.19.0/dependencies/deep-storage.html">Deep storage</a> page.</p>
 <h3><a class="anchor" aria-hidden="true" id="metadata-storage"></a><a href="#metadata-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
 <p>The metadata storage holds various shared system metadata such as segment usage information and task information. In a
 clustered deployment, this is typically going to be a traditional RDBMS like PostgreSQL or MySQL. In a single-server
 deployment, it is typically going to be a locally-stored Apache Derby database.</p>
-<p>For more details, please see the <a href="/docs/latest/dependencies/metadata-storage.html">Metadata storage</a> page.</p>
+<p>For more details, please see the <a href="/docs/0.19.0/dependencies/metadata-storage.html">Metadata storage</a> page.</p>
 <h3><a class="anchor" aria-hidden="true" id="zookeeper"></a><a href="#zookeeper" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>Used for internal service discovery, coordination, and leader election.</p>
-<p>For more details, please see the <a href="/docs/latest/dependencies/zookeeper.html">ZooKeeper</a> page.</p>
+<p>For more details, please see the <a href="/docs/0.19.0/dependencies/zookeeper.html">ZooKeeper</a> page.</p>
 <h2><a class="anchor" aria-hidden="true" id="architecture-diagram"></a><a href="#architecture-diagram" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>The following diagram shows how queries and data flow through this architecture, using the suggested Master/Query/Data server organization:</p>
 <p><img src="../assets/druid-architecture.png" width="800"/></p>
@@ -129,7 +129,7 @@ deployment, it is typically going to be a locally-stored Apache Derby database.<
 <p>Druid data is stored in &quot;datasources&quot;, which are similar to tables in a traditional RDBMS. Each datasource is
 partitioned by time and, optionally, further partitioned by other attributes. Each time range is called a &quot;chunk&quot; (for
 example, a single day, if your datasource is partitioned by day). Within a chunk, data is partitioned into one or more
-<a href="/docs/latest/design/segments.html">&quot;segments&quot;</a>. Each segment is a single file, typically comprising up to a few million rows of data. Since segments are
+<a href="/docs/0.19.0/design/segments.html">&quot;segments&quot;</a>. Each segment is a single file, typically comprising up to a few million rows of data. Since segments are
 organized into time chunks, it's sometimes helpful to think of segments as living on a timeline like the following:</p>
 <p><img src="../assets/druid-timeline.png" width="800" /></p>
 <p>A datasource may have anywhere from just a few segments, up to hundreds of thousands and even millions of segments. Each
@@ -152,7 +152,7 @@ to the <a href="#metadata-storage">metadata store</a>. This entry is a self-desc
 things like the schema of the segment, its size, and its location on deep storage. These entries are what the
 Coordinator uses to know what data <em>should</em> be available on the cluster.</p>
 <p>For details on the segment file format, please see <a href="segments.html">segment files</a>.</p>
-<p>For details on modeling your data in Druid, see <a href="/docs/latest/ingestion/schema-design.html">schema design</a>.</p>
+<p>For details on modeling your data in Druid, see <a href="/docs/0.19.0/ingestion/schema-design.html">schema design</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="indexing-and-handoff"></a><a href="#indexing-and-handoff" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p><em>Indexing</em> is the mechanism by which new segments are created, and <em>handoff</em> is the mechanism by which they are published
 and begin being served by Historical processes. The mechanism works like this on the indexing side:</p>
@@ -209,7 +209,7 @@ new segments. Then it drops the old segments a few minutes later.</p>
 <p>Each segment has a lifecycle that involves the following three major areas:</p>
 <ol>
 <li><strong>Metadata store:</strong> Segment metadata (a small JSON payload generally no more than a few KB) is stored in the
-<a href="/docs/latest/dependencies/metadata-storage.html">metadata store</a> once a segment is done being constructed. The act of inserting
+<a href="/docs/0.19.0/dependencies/metadata-storage.html">metadata store</a> once a segment is done being constructed. The act of inserting
 a record for a segment into the metadata store is called <em>publishing</em>. These metadata records have a boolean flag
 named <code>used</code>, which controls whether the segment is intended to be queryable or not. Segments created by realtime tasks will be
 available before they are published, since they are only published when the segment is complete and will not accept
@@ -220,7 +220,7 @@ happens immediately before publishing metadata to the metadata store.</li>
 or a Historical process.</li>
 </ol>
 <p>You can inspect the state of currently active segments using the Druid SQL
-<a href="/docs/latest/querying/sql.html#segments-table"><code>sys.segments</code> table</a>. It includes the following flags:</p>
+<a href="/docs/0.19.0/querying/sql.html#segments-table"><code>sys.segments</code> table</a>. It includes the following flags:</p>
 <ul>
 <li><code>is_published</code>: True if segment metadata has been published to the metadata store and <code>used</code> is true.</li>
 <li><code>is_available</code>: True if the segment is currently available for querying, either on a realtime task or Historical
@@ -232,10 +232,10 @@ published segments. Generally this is a transient state, and segments in this st
 automatically set to false.</li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="query-processing"></a><a href="#query-processing" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p>Queries first enter the <a href="/docs/latest/design/broker.html">Broker</a>, where the Broker will identify which segments have data that may pertain to that query.
+<p>Queries first enter the <a href="/docs/0.19.0/design/broker.html">Broker</a>, where the Broker will identify which segments have data that may pertain to that query.
 The list of segments is always pruned by time, and may also be pruned by other attributes depending on how your
-datasource is partitioned. The Broker will then identify which <a href="/docs/latest/design/historical.html">Historicals</a> and
-<a href="/docs/latest/design/middlemanager.html">MiddleManagers</a> are serving those segments and send a rewritten subquery to each of those processes. The Historical/MiddleManager processes will take in the
+datasource is partitioned. The Broker will then identify which <a href="/docs/0.19.0/design/historical.html">Historicals</a> and
+<a href="/docs/0.19.0/design/middlemanager.html">MiddleManagers</a> are serving those segments and send a rewritten subquery to each of those processes. The Historical/MiddleManager processes will take in the
 queries, process them and return results. The Broker receives results and merges them together to get the final answer,
 which it returns to the original caller.</p>
 <p>Broker pruning is an important way that Druid limits the amount of data that must be scanned for each query, but it is
@@ -249,9 +249,9 @@ query. Within those columns, Druid can skip from row to row, avoiding reading da
 <li>Within each segment, using indexes to identify which rows must be accessed.</li>
 <li>Within each segment, only reading the specific rows and columns that are relevant to a particular query.</li>
 </ul>
-<p>For more details about how Druid executes queries, refer to the <a href="/docs/latest/querying/query-execution.html">Query execution</a>
+<p>For more details about how Druid executes queries, refer to the <a href="/docs/0.19.0/querying/query-execution.html">Query execution</a>
 documentation.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/tutorials/tutorial-kerberos-hadoop.html"><span class="arrow-prev">← </span><span>Kerberized HDFS deep storage</span></a><a class="docs-next button" href="/docs/latest/design/segments.html"><span>Segments</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#processes-and-servers">Processes and Servers</a></li><li><a h [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/tutorials/tutorial-kerberos-hadoop.html"><span class="arrow-prev">← </span><span>Kerberized HDFS deep storage</span></a><a class="docs-next button" href="/docs/0.19.0/design/segments.html"><span>Segments</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#processes-and-servers">Processes and Servers</a></li><li><a h [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -268,6 +268,6 @@ documentation.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/auth.html b/docs/0.19.0/design/auth.html
similarity index 58%
copy from docs/latest/design/auth.html
copy to docs/0.19.0/design/auth.html
index c44aaba..184f6e8 100644
--- a/docs/latest/design/auth.html
+++ b/docs/0.19.0/design/auth.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and Authorization · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/auth.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18. [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Authentication and Authorization · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/auth.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19. [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/auth.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Authentication and Authorization</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/auth.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Authentication and Authorization</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -84,18 +84,18 @@
 </thead>
 <tbody>
 <tr><td><code>druid.auth.authenticatorChain</code></td><td>JSON List of Strings</td><td>List of Authenticator type names</td><td>[&quot;allowAll&quot;]</td><td>no</td></tr>
-<tr><td><code>druid.escalator.type</code></td><td>String</td><td>Type of the Escalator that should be used for internal Druid communications. This Escalator must use an authentication scheme that is supported by an Authenticator in <code>druid.auth.authenticationChain</code>.</td><td>&quot;noop&quot;</td><td>no</td></tr>
+<tr><td><code>druid.escalator.type</code></td><td>String</td><td>Type of the Escalator that should be used for internal Druid communications. This Escalator must use an authentication scheme that is supported by an Authenticator in <code>druid.auth.authenticatorChain</code>.</td><td>&quot;noop&quot;</td><td>no</td></tr>
 <tr><td><code>druid.auth.authorizers</code></td><td>JSON List of Strings</td><td>List of Authorizer type names</td><td>[&quot;allowAll&quot;]</td><td>no</td></tr>
 <tr><td><code>druid.auth.unsecuredPaths</code></td><td>List of Strings</td><td>List of paths for which security checks will not be performed. All requests to these paths will be allowed.</td><td>[]</td><td>no</td></tr>
-<tr><td><code>druid.auth.allowUnauthenticatedHttpOptions</code></td><td>Boolean</td><td>If true, skip authentication checks for HTTP OPTIONS requests. This is needed for certain use cases, such as supporting CORS preflight requests. Note that disabling authentication checks for OPTIONS requests will allow unauthenticated users to determine what Druid endpoints are valid (by checking if the OPTIONS request returns a 200 instead of 404), so enabling this option may reveal information about [...]
+<tr><td><code>druid.auth.allowUnauthenticatedHttpOptions</code></td><td>Boolean</td><td>If true, allow HTTP OPTIONS requests by unauthenticated users. This is primarily useful for supporting CORS preflight requests, which Druid does not support directly, but which can be enabled using third-party extensions.<br /><br />Note that you must add &quot;OPTIONS&quot; to <code>druid.server.http.allowedHttpMethods</code>.<br /><br />Also note that disabling authentication checks for OPTIONS requ [...]
 </tbody>
 </table>
-<h2><a class="anchor" aria-hidden="true" id="enabling-authentication-authorizationloadinglookuptest"></a><a href="#enabling-authentication-authorizationloadinglookuptest" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2  [...]
+<h2><a class="anchor" aria-hidden="true" id="enabling-authenticationauthorizationloadinglookuptest"></a><a href="#enabling-authenticationauthorizationloadinglookuptest" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
 <h2><a class="anchor" aria-hidden="true" id="authenticator-chain"></a><a href="#authenticator-chain" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Authentication decisions are handled by a chain of Authenticator instances. A request will be checked by Authenticators in the sequence defined by the <code>druid.auth.authenticatorChain</code>.</p>
 <p>Authenticator implementations are provided by extensions.</p>
-<p>For example, the following authentication chain definition enables the Kerberos and HTTP Basic authenticators, from the <code>druid-kerberos</code> and <code>druid-basic-security</code> core extensions, respectively:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticatorChain</span>=[<span class="hljs-string">"kerberos"</span>, <span class="hljs-string">"basic"</span>]
+<p>For example, the following authenticator chain definition enables the Kerberos and HTTP Basic authenticators, from the <code>druid-kerberos</code> and <code>druid-basic-security</code> core extensions, respectively:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.auth.authenticatorChain</span>=[<span class="hljs-string">"kerberos"</span>, <span class="hljs-string">"basic"</span>]
 </code></pre>
 <p>A request will pass through all Authenticators in the chain, until one of the Authenticators successfully authenticates the request or sends an HTTP error response. Authenticators later in the chain will be skipped after the first successful authentication or if the request is terminated with an error response.</p>
 <p>If no Authenticator in the chain successfully authenticated a request or sent an HTTP error response, an HTTP error response will be sent at the end of the chain.</p>
@@ -104,7 +104,7 @@
 <p>This built-in Authenticator authenticates all requests, and always directs them to an Authorizer named &quot;allowAll&quot;. It is not intended to be used for anything other than the default unsecured configuration.</p>
 <h3><a class="anchor" aria-hidden="true" id="anonymous-authenticator"></a><a href="#anonymous-authenticator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>This built-in Authenticator authenticates all requests, and directs them to an Authorizer specified in the configuration by the user. It is intended to be used for adding a default level of access so
-the Anonymous Authenticator should be added to the end of the authentication chain. A request that reaches the Anonymous Authenticator at the end of the chain will succeed or fail depending on how the Authorizer linked to the Anonymous Authenticator is configured.</p>
+the Anonymous Authenticator should be added to the end of the authenticator chain. A request that reaches the Anonymous Authenticator at the end of the chain will succeed or fail depending on how the Authorizer linked to the Anonymous Authenticator is configured.</p>
 <table>
 <thead>
 <tr><th>Property</th><th>Description</th><th>Default</th><th>Required</th></tr>
@@ -151,21 +151,21 @@ the Anonymous Authenticator should be added to the end of the authentication cha
 </code></pre>
 <h2><a class="anchor" aria-hidden="true" id="escalator"></a><a href="#escalator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
 <p>The <code>druid.escalator.type</code> property determines what authentication scheme should be used for internal Druid cluster communications (such as when a Broker process communicates with Historical processes for query processing).</p>
-<p>The Escalator chosen for this property must use an authentication scheme that is supported by an Authenticator in <code>druid.auth.authenticationChain</code>. Authenticator extension implementers must also provide a corresponding Escalator implementation if they intend to use a particular authentication scheme for internal Druid communications.</p>
+<p>The Escalator chosen for this property must use an authentication scheme that is supported by an Authenticator in <code>druid.auth.authenticatorChain</code>. Authenticator extension implementers must also provide a corresponding Escalator implementation if they intend to use a particular authentication scheme for internal Druid communications.</p>
 <h3><a class="anchor" aria-hidden="true" id="noop-escalator"></a><a href="#noop-escalator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
 <p>This built-in default Escalator is intended for use only with the default AllowAll Authenticator and Authorizer.</p>
 <h2><a class="anchor" aria-hidden="true" id="authorizers"></a><a href="#authorizers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>Authorization decisions are handled by an Authorizer. The <code>druid.auth.authorizers</code> property determines what Authorizer implementations will be active.</p>
 <p>There are two built-in Authorizers, &quot;default&quot; and &quot;noop&quot;. Other implementations are provided by extensions.</p>
 <p>For example, the following authorizers definition enables the &quot;basic&quot; implementation from <code>druid-basic-security</code>:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authorizers</span>=[<span class="hljs-string">"basic"</span>]
+<pre><code class="hljs"><span class="hljs-attr">druid.auth.authorizers</span>=[<span class="hljs-string">"basic"</span>]
 </code></pre>
 <p>Only a single Authorizer will authorize any given request.</p>
 <p>Druid includes one built in authorizer:</p>
 <h3><a class="anchor" aria-hidden="true" id="allowall-authorizer"></a><a href="#allowall-authorizer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>The Authorizer with type name &quot;allowAll&quot; accepts all requests.</p>
 <h2><a class="anchor" aria-hidden="true" id="default-unsecured-configuration"></a><a href="#default-unsecured-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
-<p>When <code>druid.auth.authenticationChain</code> is left empty or unspecified, Druid will create an authentication chain with a single AllowAll Authenticator named &quot;allowAll&quot;.</p>
+<p>When <code>druid.auth.authenticatorChain</code> is left empty or unspecified, Druid will create an authenticator chain with a single AllowAll Authenticator named &quot;allowAll&quot;.</p>
 <p>When <code>druid.auth.authorizers</code> is left empty or unspecified, Druid will create a single AllowAll Authorizer named &quot;allowAll&quot;.</p>
 <p>The default value of <code>druid.escalator.type</code> is &quot;noop&quot; to match the default unsecured Authenticator/Authorizer configurations.</p>
 <h2><a class="anchor" aria-hidden="true" id="authenticator-to-authorizer-routing"></a><a href="#authenticator-to-authorizer-routing" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2 [...]
@@ -196,7 +196,7 @@ druid.auth.authorizer.&lt;authorizer-<span class="hljs-built_in">name</span>&gt;
 
 </code></pre>
 <p>These properties provide the authenticator and authorizer names to the implementations as @JsonProperty parameters, potentially useful when multiple authenticators or authorizers of the same type are configured.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/comparisons/druid-vs-sql-on-hadoop.html"><span class="arrow-prev">← </span><span>Apache Druid vs SQL-on-Hadoop</span></a><a class="docs-next button" href="/docs/latest/design/broker.html"><span>Broker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#enabling-authentication-authorizationloadinglookuptest">Enabling [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/comparisons/druid-vs-sql-on-hadoop.html"><span class="arrow-prev">← </span><span>Apache Druid vs SQL-on-Hadoop</span></a><a class="docs-next button" href="/docs/0.19.0/design/broker.html"><span>Broker</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#enabling-authenticationauthorizationloadinglookuptest">Enabling  [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -213,6 +213,6 @@ druid.auth.authorizer.&lt;authorizer-<span class="hljs-built_in">name</span>&gt;
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/broker.html b/docs/0.19.0/design/broker.html
similarity index 53%
copy from docs/latest/design/broker.html
copy to docs/0.19.0/design/broker.html
index 5012e04..f0f92ab 100644
--- a/docs/latest/design/broker.html
+++ b/docs/0.19.0/design/broker.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Broker · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/broker.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><meta property="og: [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Broker · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/broker.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta property="og: [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/broker.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Broker</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/broker.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Broker</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -88,12 +88,12 @@ On start up, Historical processes announce themselves and the segments they are
 <pre><code class="hljs">org.apache.druid.cli.Main<span class="hljs-built_in"> server </span>broker
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="forwarding-queries"></a><a href="#forwarding-queries" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>Most Druid queries contain an interval object that indicates a span of time for which data is requested. Likewise, Druid <a href="/docs/latest/design/segments.html">Segments</a> are partitioned to contain data for some interval of time and segments are distributed across a cluster. Consider a simple datasource with 7 segments where each segment contains data for a given day of the week. Any query issued to the datasource for more than one day of data will hit more than one segment. Th [...]
-<p>To determine which processes to forward queries to, the Broker process first builds a view of the world from information in Zookeeper. Zookeeper maintains information about <a href="/docs/latest/design/historical.html">Historical</a> and streaming ingestion <a href="/docs/latest/design/peons.html">Peon</a> processes and the segments they are serving. For every datasource in Zookeeper, the Broker process builds a timeline of segments and the processes that serve them. When queries are  [...]
+<p>Most Druid queries contain an interval object that indicates a span of time for which data is requested. Likewise, Druid <a href="/docs/0.19.0/design/segments.html">Segments</a> are partitioned to contain data for some interval of time and segments are distributed across a cluster. Consider a simple datasource with 7 segments where each segment contains data for a given day of the week. Any query issued to the datasource for more than one day of data will hit more than one segment. Th [...]
+<p>To determine which processes to forward queries to, the Broker process first builds a view of the world from information in Zookeeper. Zookeeper maintains information about <a href="/docs/0.19.0/design/historical.html">Historical</a> and streaming ingestion <a href="/docs/0.19.0/design/peons.html">Peon</a> processes and the segments they are serving. For every datasource in Zookeeper, the Broker process builds a timeline of segments and the processes that serve them. When queries are  [...]
 <h3><a class="anchor" aria-hidden="true" id="caching"></a><a href="#caching" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
 <p>Broker processes employ a cache with an LRU cache invalidation strategy. The Broker cache stores per-segment results. The cache can be local to each Broker process or shared across multiple processes using an external distributed cache such as <a href="http://memcached.org/">memcached</a>. Each time a broker process receives a query, it first maps the query to a set of segments. A subset of these segment results may already exist in the cache and the results can be directly pulled fro [...]
 Historical processes. Once the Historical processes return their results, the Broker will store those results in the cache. Real-time segments are never cached and hence requests for real-time data will always be forwarded to real-time processes. Real-time data is perpetually changing and caching the results would be unreliable.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/auth.html"><span class="arrow-prev">← </span><span>Authentication and Authorization</span></a><a class="docs-next button" href="/docs/latest/design/coordinator.html"><span>Coordinator Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-c [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/auth.html"><span class="arrow-prev">← </span><span>Authentication and Authorization</span></a><a class="docs-next button" href="/docs/0.19.0/design/coordinator.html"><span>Coordinator Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-c [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -110,6 +110,6 @@ Historical processes. Once the Historical processes return their results, the Br
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/design/concepts-and-terminology.html b/docs/0.19.0/design/concepts-and-terminology.html
new file mode 100644
index 0000000..eed33a4
--- /dev/null
+++ b/docs/0.19.0/design/concepts-and-terminology.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="index.html">
+<meta http-equiv="refresh" content="0; url=index.html">
+<h1>Redirecting...</h1>
+<a href="index.html">Click here if you are not redirected.</a>
+<script>location="index.html"</script>
diff --git a/docs/latest/design/coordinator.html b/docs/0.19.0/design/coordinator.html
similarity index 64%
copy from docs/latest/design/coordinator.html
copy to docs/0.19.0/design/coordinator.html
index aaabe26..2be5be7 100644
--- a/docs/latest/design/coordinator.html
+++ b/docs/0.19.0/design/coordinator.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Coordinator Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/coordinator.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" />< [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Coordinator Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/coordinator.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" />< [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/coordinator.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Coordinator Process</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/coordinator.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Coordinator Process</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -102,7 +102,7 @@ the historical process will load the segment and begin servicing it.</p>
 <pre><code class="hljs">org.apache.druid.cli.Main<span class="hljs-built_in"> server </span>coordinator
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="rules"></a><a href="#rules" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
-<p>Segments can be automatically loaded and dropped from the cluster based on a set of rules. For more information on rules, see <a href="/docs/latest/operations/rule-configuration.html">Rule Configuration</a>.</p>
+<p>Segments can be automatically loaded and dropped from the cluster based on a set of rules. For more information on rules, see <a href="/docs/0.19.0/operations/rule-configuration.html">Rule Configuration</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="cleaning-up-segments"></a><a href="#cleaning-up-segments" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p>On each run, the Druid Coordinator compares the set of used segments in the database with the segments served by some
 Historical nodes in the cluster. Coordinator sends requests to Historical nodes to unload unused segments or segments
@@ -115,9 +115,9 @@ marked as unused. During the next Coordinator's run, they will be unloaded from
 <p>To ensure an even distribution of segments across Historical processes in the cluster, the Coordinator process will find the total size of all segments being served by every Historical process each time the Coordinator runs. For every Historical process tier in the cluster, the Coordinator process will determine the Historical process with the highest utilization and the Historical process with the lowest utilization. The percent difference in utilization between the two processes is  [...]
 <h3><a class="anchor" aria-hidden="true" id="compacting-segments"></a><a href="#compacting-segments" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Each run, the Druid Coordinator compacts segments by merging small segments or splitting a large one. This is useful when your segments are not optimized
-in terms of segment size which may degrade query performance. See <a href="/docs/latest/operations/segment-optimization.html">Segment Size Optimization</a> for details.</p>
+in terms of segment size which may degrade query performance. See <a href="/docs/0.19.0/operations/segment-optimization.html">Segment Size Optimization</a> for details.</p>
 <p>The Coordinator first finds the segments to compact based on the <a href="#segment-search-policy">segment search policy</a>.
-Once some segments are found, it issues a <a href="/docs/latest/ingestion/tasks.html#compact">compaction task</a> to compact those segments.
+Once some segments are found, it issues a <a href="/docs/0.19.0/ingestion/tasks.html#compact">compaction task</a> to compact those segments.
 The maximum number of running compaction tasks is <code>min(sum of worker capacity * slotRatio, maxSlots)</code>.
 Note that even though <code>min(sum of worker capacity * slotRatio, maxSlots)</code> = 0, at least one compaction task is always submitted
 if the compaction is enabled for a dataSource.
@@ -163,7 +163,7 @@ This is to avoid conflicts between compaction tasks and realtime tasks.
 Note that realtime tasks have a higher priority than compaction tasks by default. Realtime tasks will revoke the locks of compaction tasks if their intervals overlap, resulting in the termination of the compaction task.</p>
 <blockquote>
 <p>This policy currently cannot handle the situation when there are a lot of small segments which have the same interval,
-and their total size exceeds <a href="/docs/latest/configuration/index.html#compaction-dynamic-configuration">inputSegmentSizeBytes</a>.
+and their total size exceeds <a href="/docs/0.19.0/configuration/index.html#compaction-dynamic-configuration">inputSegmentSizeBytes</a>.
 If it finds such segments, it simply skips them.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="the-coordinator-console"></a><a href="#the-coordinator-console" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
@@ -178,7 +178,7 @@ If it finds such segments, it simply skips them.</p>
 <p>No. If the Druid Coordinator is not started up, no new segments will be loaded in the cluster and outdated segments will not be dropped. However, the Coordinator process can be started up at any time, and after a configurable delay, will start running Coordinator tasks.</p>
 <p>This also means that if you have a working cluster and all of your Coordinators die, the cluster will continue to function, it just won’t experience any changes to its data topology.</p></li>
 </ol>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/broker.html"><span class="arrow-prev">← </span><span>Broker</span></a><a class="docs-next button" href="/docs/latest/design/historical.html"><span>Historical Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/techno [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/broker.html"><span class="arrow-prev">← </span><span>Broker</span></a><a class="docs-next button" href="/docs/0.19.0/design/historical.html"><span>Historical Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/techno [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -195,6 +195,6 @@ If it finds such segments, it simply skips them.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/design/design.html b/docs/0.19.0/design/design.html
new file mode 100644
index 0000000..eed33a4
--- /dev/null
+++ b/docs/0.19.0/design/design.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="index.html">
+<meta http-equiv="refresh" content="0; url=index.html">
+<h1>Redirecting...</h1>
+<a href="index.html">Click here if you are not redirected.</a>
+<script>location="index.html"</script>
diff --git a/docs/latest/design/extensions-contrib/dropwizard.html b/docs/0.19.0/design/extensions-contrib/dropwizard.html
similarity index 96%
copy from docs/latest/design/extensions-contrib/dropwizard.html
copy to docs/0.19.0/design/extensions-contrib/dropwizard.html
index 58a8c47..9e4def0 100644
--- a/docs/latest/design/extensions-contrib/dropwizard.html
+++ b/docs/0.19.0/design/extensions-contrib/dropwizard.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Dropwizard metrics emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/extensions-contrib/dropwizard.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:vers [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Dropwizard metrics emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/extensions-contrib/dropwizard.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:vers [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -22,7 +22,7 @@
   ~ under the License.
   -->
 <h1><a class="anchor" aria-hidden="true" id="dropwizard-emitter"></a><a href="#dropwizard-emitter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p>To use this extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>dropwizard-emitter</code> extension.</p>
+<p>To use this extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>dropwizard-emitter</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>This extension integrates <a href="http://metrics.dropwizard.io/3.1.0/getting-started/#">Dropwizard</a> metrics library with druid so that dropwizard users can easily absorb druid into their monitoring ecosystem.
 It accumulates druid metrics as dropwizard metrics, and emits them to various sinks via dropwizard supported reporters.
@@ -62,7 +62,7 @@ Dropwizard metric path is organized using the following schema:</p>
 <h4><a class="anchor" aria-hidden="true" id="jmx-reporter"></a><a href="#jmx-reporter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Used to report druid metrics via JMX.</p>
 <pre><code class="hljs">
-druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.dropwizard</span><span class="hljs-selector-class">.reporters</span>=[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"jmx"</span>}]
+<span class="hljs-attr">druid.emitter.dropwizard.reporters</span>=[{<span class="hljs-string">"type"</span>:<span class="hljs-string">"jmx"</span>}]
 
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="console-reporter"></a><a href="#console-reporter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -445,19 +445,19 @@ druid.emitter.dropwizard.reporters=[{<span class="hljs-string">"type"</span>:<sp
   },
   <span class="hljs-attr">"jvm/bufferpool/counter"</span>: {
     <span class="hljs-attr">"dimensions"</span>: [
-      <span class="hljs-string">"bufferPoolName"</span>
+      <span class="hljs-string">"bufferpoolName"</span>
     ],
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"gauge"</span>
   },
   <span class="hljs-attr">"jvm/bufferpool/used"</span>: {
     <span class="hljs-attr">"dimensions"</span>: [
-      <span class="hljs-string">"bufferPoolName"</span>
+      <span class="hljs-string">"bufferpoolName"</span>
     ],
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"gauge"</span>
   },
   <span class="hljs-attr">"jvm/bufferpool/capacity"</span>: {
     <span class="hljs-attr">"dimensions"</span>: [
-      <span class="hljs-string">"bufferPoolName"</span>
+      <span class="hljs-string">"bufferpoolName"</span>
     ],
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"gauge"</span>
   },
@@ -487,20 +487,23 @@ druid.emitter.dropwizard.reporters=[{<span class="hljs-string">"type"</span>:<sp
   },
   <span class="hljs-attr">"jvm/gc/counter"</span>: {
     <span class="hljs-attr">"dimensions"</span>: [
-      <span class="hljs-string">"gcName"</span>
+      <span class="hljs-string">"gcName"</span>,
+      <span class="hljs-string">"gcGen"</span>
     ],
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"counter"</span>
   },
   <span class="hljs-attr">"jvm/gc/cpu"</span>: {
     <span class="hljs-attr">"dimensions"</span>: [
-      <span class="hljs-string">"gcName"</span>
+      <span class="hljs-string">"gcName"</span>,
+      <span class="hljs-string">"gcGen"</span>
     ],
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"timer"</span>,
     <span class="hljs-attr">"timeUnit"</span>: <span class="hljs-string">"NANOSECONDS"</span>
   },
   <span class="hljs-attr">"ingest/events/buffered"</span>: {
     <span class="hljs-attr">"dimensions"</span>: [
-      <span class="hljs-string">"serviceName, bufferCapacity"</span>
+      <span class="hljs-string">"serviceName"</span>,
+      <span class="hljs-string">"bufferCapacity"</span>
     ],
     <span class="hljs-attr">"type"</span>: <span class="hljs-string">"gauge"</span>
   },
@@ -609,7 +612,7 @@ druid.emitter.dropwizard.reporters=[{<span class="hljs-string">"type"</span>:<sp
   }
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">Introduction</a></li><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#druid-to-dropwizard-event-conversion">Druid to Dropwizard Event Conversion</a></li><li><a href="#supported-dropwizard-reporters">Supported Dropwizard reporters</a></li><li><a href="#default-metrics-mapping">Default Metrics Mapping</a></ [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">Introduction</a></li><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#druid-to-dropwizard-event-conversion">Druid to Dropwizard Event Conversion</a></li><li><a href="#supported-dropwizard-reporters">Supported Dropwizard reporters</a></li><li><a href="#default-metrics-mapping">Default Metrics Mapping</a></ [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -626,6 +629,6 @@ druid.emitter.dropwizard.reporters=[{<span class="hljs-string">"type"</span>:<sp
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/historical.html b/docs/0.19.0/design/historical.html
similarity index 53%
copy from docs/latest/design/historical.html
copy to docs/0.19.0/design/historical.html
index 6ce5dae..ed59818 100644
--- a/docs/latest/design/historical.html
+++ b/docs/0.19.0/design/historical.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Historical Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/historical.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><me [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Historical Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/historical.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><me [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/historical.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Historical Process</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/historical.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Historical Process</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -86,15 +86,15 @@
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="loading-and-serving-segments"></a><a href="#loading-and-serving-segments" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <p>Each Historical process maintains a constant connection to Zookeeper and watches a configurable set of Zookeeper paths for new segment information. Historical processes do not communicate directly with each other or with the Coordinator processes but instead rely on Zookeeper for coordination.</p>
-<p>The <a href="/docs/latest/design/coordinator.html">Coordinator</a> process is responsible for assigning new segments to Historical processes. Assignment is done by creating an ephemeral Zookeeper entry under a load queue path associated with a Historical process. For more information on how the Coordinator assigns segments to Historical processes, please see <a href="/docs/latest/design/coordinator.html">Coordinator</a>.</p>
-<p>When a Historical process notices a new load queue entry in its load queue path, it will first check a local disk directory (cache) for the information about segment. If no information about the segment exists in the cache, the Historical process will download metadata about the new segment to serve from Zookeeper. This metadata includes specifications about where the segment is located in deep storage and about how to decompress and process the segment. For more information about seg [...]
+<p>The <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a> process is responsible for assigning new segments to Historical processes. Assignment is done by creating an ephemeral Zookeeper entry under a load queue path associated with a Historical process. For more information on how the Coordinator assigns segments to Historical processes, please see <a href="/docs/0.19.0/design/coordinator.html">Coordinator</a>.</p>
+<p>When a Historical process notices a new load queue entry in its load queue path, it will first check a local disk directory (cache) for the information about segment. If no information about the segment exists in the cache, the Historical process will download metadata about the new segment to serve from Zookeeper. This metadata includes specifications about where the segment is located in deep storage and about how to decompress and process the segment. For more information about seg [...]
 <h3><a class="anchor" aria-hidden="true" id="loading-and-serving-segments-from-cache"></a><a href="#loading-and-serving-segments-from-cache" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
 <p>Recall that when a Historical process notices a new segment entry in its load queue path, the Historical process first checks a configurable cache directory on its local disk to see if the segment had been previously downloaded. If a local cache entry already exists, the Historical process will directly read the segment binary files from disk and load the segment.</p>
 <p>The segment cache is also leveraged when a Historical process is first started. On startup, a Historical process will search through its cache directory and immediately load and serve all segments that are found. This feature allows Historical processes to be queried as soon they come online.</p>
 <h3><a class="anchor" aria-hidden="true" id="querying-segments"></a><a href="#querying-segments" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
-<p>Please see <a href="/docs/latest/querying/querying.html">Querying</a> for more information on querying Historical processes.</p>
+<p>Please see <a href="/docs/0.19.0/querying/querying.html">Querying</a> for more information on querying Historical processes.</p>
 <p>A Historical can be configured to log and report metrics for every query it services.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/coordinator.html"><span class="arrow-prev">← </span><span>Coordinator Process</span></a><a class="docs-next button" href="/docs/latest/design/indexer.html"><span>Indexer Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a h [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/coordinator.html"><span class="arrow-prev">← </span><span>Coordinator Process</span></a><a class="docs-next button" href="/docs/0.19.0/design/indexer.html"><span>Indexer Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a h [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -111,6 +111,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/index.html b/docs/0.19.0/design/index.html
similarity index 54%
copy from docs/latest/design/index.html
copy to docs/0.19.0/design/index.html
index de5ff60..e65a0ee 100644
--- a/docs/latest/design/index.html
+++ b/docs/0.19.0/design/index.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Introduction to Apache Druid · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/index.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Introduction to Apache Druid · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/index.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0"  [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/index.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Introduction to Apache Druid</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/index.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Introduction to Apache Druid</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -150,7 +150,7 @@ background batch jobs).</li>
 <li>You want to do &quot;big&quot; joins (joining one big fact table to another big fact table) and you are okay with these queries
 taking a long time to complete.</li>
 </ul>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/latest/tutorials/index.html"><span>Quickstart</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#what-is-druid">What is Druid?</a></li><li><a href="#when-should-i-use-druid">When should I use Druid?</a></li></ul></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center" [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-next button" href="/docs/0.19.0/tutorials/index.html"><span>Quickstart</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#what-is-druid">What is Druid?</a></li><li><a href="#when-should-i-use-druid">When should I use Druid?</a></li></ul></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center" [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -167,6 +167,6 @@ taking a long time to complete.</li>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/indexer.html b/docs/0.19.0/design/indexer.html
similarity index 56%
copy from docs/latest/design/indexer.html
copy to docs/0.19.0/design/indexer.html
index 67d7578..213d588 100644
--- a/docs/latest/design/indexer.html
+++ b/docs/0.19.0/design/indexer.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Indexer Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/indexer.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><meta pro [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Indexer Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/indexer.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta pro [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/indexer.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Indexer Process</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/indexer.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Indexer Process</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -108,14 +108,14 @@ Its memory management system is still under development and will be significantl
 <p>The peak usage for rows held in heap memory relates to the interaction between the <code>maxBytesInMemory</code> and <code>maxPendingPersists</code> properties in the task tuning configs. When the amount of row data held in-heap by a task reaches the limit specified by <code>maxBytesInMemory</code>, a task will persist the in-heap row data. After the persist has been started, the task can again ingest up to <code>maxBytesInMemory</code> bytes worth of row data while the persist is run [...]
 <p>This means that the peak in-heap usage for row data can be up to approximately <code>maxBytesInMemory</code> * (2 + <code>maxPendingPersists</code>). The default value of <code>maxPendingPersists</code> is 0, which allows for 1 persist to run concurrently with ingestion work.</p>
 <p>The remaining portion of the heap is reserved for query processing and segment persist/merge operations, and miscellaneous heap usage.</p>
-<h4><a class="anchor" aria-hidden="true" id="concurrent-segment-persist-merge-limits"></a><a href="#concurrent-segment-persist-merge-limits" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
+<h4><a class="anchor" aria-hidden="true" id="concurrent-segment-persistmerge-limits"></a><a href="#concurrent-segment-persistmerge-limits" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1. [...]
 <p>To help reduce peak memory usage, the Indexer imposes a limit on the number of concurrent segment persist/merge operations across all running tasks.</p>
 <p>By default, the number of concurrent persist/merge operations is limited to (<code>druid.worker.capacity</code> / 2), rounded down. This limit can be configured with the <code>druid.worker.numConcurrentMerges</code> property.</p>
 <h3><a class="anchor" aria-hidden="true" id="current-limitations"></a><a href="#current-limitations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>Separate task logs are not currently supported when using the Indexer; all task log messages will instead be logged in the Indexer process log.</p>
 <p>The Indexer currently imposes an identical memory limit on each task. In later releases, the per-task memory limit will be removed and only the global limit will apply. The limit on concurrent merges will also be removed.</p>
 <p>In later releases, per-task memory usage will be dynamically managed. Please see <a href="https://github.com/apache/druid/issues/7900">https://github.com/apache/druid/issues/7900</a> for details on future enhancements to the Indexer.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/historical.html"><span class="arrow-prev">← </span><span>Historical Process</span></a><a class="docs-next button" href="/docs/latest/design/indexing-service.html"><span>Indexing Service</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center" [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/historical.html"><span class="arrow-prev">← </span><span>Historical Process</span></a><a class="docs-next button" href="/docs/0.19.0/design/indexing-service.html"><span>Indexing Service</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center" [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -132,6 +132,6 @@ Its memory management system is still under development and will be significantl
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/design/indexing-service.html b/docs/0.19.0/design/indexing-service.html
new file mode 100644
index 0000000..a4717fb
--- /dev/null
+++ b/docs/0.19.0/design/indexing-service.html
@@ -0,0 +1,113 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Indexing Service · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/indexing-service.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" / [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/indexing-service.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Indexing Service</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>The Apache Druid indexing service is a highly-available, distributed service that runs indexing related tasks.</p>
+<p>Indexing <a href="/docs/0.19.0/ingestion/tasks.html">tasks</a> create (and sometimes destroy) Druid <a href="/docs/0.19.0/design/segments.html">segments</a>. The indexing service has a master/slave like architecture.</p>
+<p>The indexing service is composed of three main components: a <a href="/docs/0.19.0/design/peons.html">Peon</a> component that can run a single task, a <a href="/docs/0.19.0/design/middlemanager.html">Middle Manager</a> component that manages Peons, and an <a href="/docs/0.19.0/design/overlord.html">Overlord</a> component that manages task distribution to MiddleManagers.
+Overlords and MiddleManagers may run on the same process or across multiple processes while MiddleManagers and Peons always run on the same process.</p>
+<p>Tasks are managed using API endpoints on the Overlord service. Please see <a href="../operations/api-reference.html#tasks">Overlord Task API</a> for more information.</p>
+<p><img src="../assets/indexing_service.png" alt="Indexing Service" title="Indexing Service"></p>
+<h2><a class="anchor" aria-hidden="true" id="overlord"></a><a href="#overlord" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<p>See <a href="/docs/0.19.0/design/overlord.html">Overlord</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="middle-managers"></a><a href="#middle-managers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>See <a href="/docs/0.19.0/design/middlemanager.html">Middle Manager</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="peons"></a><a href="#peons" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>See <a href="/docs/0.19.0/design/peons.html">Peon</a>.</p>
+<h2><a class="anchor" aria-hidden="true" id="tasks"></a><a href="#tasks" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<p>See <a href="/docs/0.19.0/ingestion/tasks.html">Tasks</a>.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/indexer.html"><span class="arrow-prev">← </span><span>Indexer Process</span></a><a class="docs-next button" href="/docs/0.19.0/design/middlemanager.html"><span class="function-name-prevnext">MiddleManager Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#overlord">Overlord</a></li><li><a href="#midd [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/design/middlemanager.html b/docs/0.19.0/design/middlemanager.html
new file mode 100644
index 0000000..1ff0536
--- /dev/null
+++ b/docs/0.19.0/design/middlemanager.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>MiddleManager Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/middlemanager.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/middlemanager.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">MiddleManager Process</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>For Apache Druid MiddleManager Process Configuration, see <a href="../configuration/index.html#middlemanager-and-peons">Indexing Service Configuration</a>.</p>
+<h3><a class="anchor" aria-hidden="true" id="http-endpoints"></a><a href="#http-endpoints" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>For a list of API endpoints supported by the MiddleManager, please see the <a href="../operations/api-reference.html#middlemanager">API reference</a>.</p>
+<h3><a class="anchor" aria-hidden="true" id="overview"></a><a href="#overview" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
+<p>The MiddleManager process is a worker process that executes submitted tasks. Middle Managers forward tasks to Peons that run in separate JVMs.
+The reason we have separate JVMs for tasks is for resource and log isolation. Each <a href="/docs/0.19.0/design/peons.html">Peon</a> is capable of running only one task at a time, however, a MiddleManager may have multiple Peons.</p>
+<h3><a class="anchor" aria-hidden="true" id="running"></a><a href="#running" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<pre><code class="hljs">org.apache.druid.cli.Main<span class="hljs-built_in"> server </span>middleManager
+</code></pre>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/indexing-service.html"><span class="arrow-prev">← </span><span>Indexing Service</span></a><a class="docs-next button" href="/docs/0.19.0/design/overlord.html"><span>Overlord Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p> [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/overlord.html b/docs/0.19.0/design/overlord.html
similarity index 52%
copy from docs/latest/design/overlord.html
copy to docs/0.19.0/design/overlord.html
index 7a73207..55d8112 100644
--- a/docs/latest/design/overlord.html
+++ b/docs/0.19.0/design/overlord.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Overlord Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/overlord.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><meta p [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Overlord Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/overlord.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta p [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/overlord.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Overlord Process</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/overlord.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Overlord Process</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -91,15 +91,15 @@ This mode is recommended if you intend to use the indexing service as the single
 <h3><a class="anchor" aria-hidden="true" id="blacklisted-workers"></a><a href="#blacklisted-workers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
 <p>If a MiddleManager has task failures above a threshold, the Overlord will blacklist these MiddleManagers. No more than 20% of the MiddleManagers can be blacklisted. Blacklisted MiddleManagers will be periodically whitelisted.</p>
 <p>The following variables can be used to set the threshold and blacklist timeouts.</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.maxRetriesBeforeBlacklist</span>
-druid<span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.workerBlackListBackoffTime</span>
-druid<span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.workerBlackListCleanupPeriod</span>
-druid<span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.maxPercentageBlacklistWorkers</span>
+<pre><code class="hljs"><span class="hljs-selector-tag">druid</span><span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.maxRetriesBeforeBlacklist</span>
+<span class="hljs-selector-tag">druid</span><span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.workerBlackListBackoffTime</span>
+<span class="hljs-selector-tag">druid</span><span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.workerBlackListCleanupPeriod</span>
+<span class="hljs-selector-tag">druid</span><span class="hljs-selector-class">.indexer</span><span class="hljs-selector-class">.runner</span><span class="hljs-selector-class">.maxPercentageBlacklistWorkers</span>
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="autoscaling"></a><a href="#autoscaling" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>The Autoscaling mechanisms currently in place are tightly coupled with our deployment infrastructure but the framework should be in place for other implementations. We are highly open to new implementations or extensions of the existing mechanisms. In our own deployments, MiddleManager processes are Amazon AWS EC2 nodes and they are provisioned to register themselves in a <a href="https://github.com/ning/galaxy">galaxy</a> environment.</p>
 <p>If autoscaling is enabled, new MiddleManagers may be added when a task has been in pending state for too long. MiddleManagers may be terminated if they have not run any tasks for a period of time.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/middlemanager.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">MiddleManager Process</span></a><a class="docs-next button" href="/docs/latest/design/router.html"><span>Router Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container" [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/middlemanager.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">MiddleManager Process</span></a><a class="docs-next button" href="/docs/0.19.0/design/router.html"><span>Router Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container" [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -116,6 +116,6 @@ druid<span class="hljs-selector-class">.indexer</span><span class="hljs-selector
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/design/peons.html b/docs/0.19.0/design/peons.html
new file mode 100644
index 0000000..ff36341
--- /dev/null
+++ b/docs/0.19.0/design/peons.html
@@ -0,0 +1,111 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Peons · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/peons.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta property="og:ti [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/peons.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Peons</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>For Apache Druid Peon Configuration, see <a href="../configuration/index.html#peon-query-configuration">Peon Query Configuration</a> and <a href="../configuration/index.html#additional-peon-configuration">Additional Peon Configuration</a>.</p>
+<h3><a class="anchor" aria-hidden="true" id="http-endpoints"></a><a href="#http-endpoints" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>For a list of API endpoints supported by the Peon, please see the <a href="../operations/api-reference.html#peon">Peon API reference</a>.</p>
+<p>Peons run a single task in a single JVM. MiddleManager is responsible for creating Peons for running tasks.
+Peons should rarely (if ever for testing purposes) be run on their own.</p>
+<h3><a class="anchor" aria-hidden="true" id="running"></a><a href="#running" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
+<p>The Peon should very rarely ever be run independent of the MiddleManager unless for development purposes.</p>
+<pre><code class="hljs"><span class="hljs-selector-tag">org</span><span class="hljs-selector-class">.apache</span><span class="hljs-selector-class">.druid</span><span class="hljs-selector-class">.cli</span><span class="hljs-selector-class">.Main</span> <span class="hljs-selector-tag">internal</span> <span class="hljs-selector-tag">peon</span> &lt;<span class="hljs-selector-tag">task_file</span>&gt; &lt;<span class="hljs-selector-tag">status_file</span>&gt;
+</code></pre>
+<p>The task file contains the task JSON object.
+The status file indicates where the task status will be output.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/router.html"><span class="arrow-prev">← </span><span>Router Process</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/approximate-histograms.html"><span>Approximate Histogram aggregators</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class= [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/design/plumber.html b/docs/0.19.0/design/plumber.html
new file mode 100644
index 0000000..2f57fca
--- /dev/null
+++ b/docs/0.19.0/design/plumber.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=../ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="../ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="../ingestion/standalone-realtime.html"</script>
diff --git a/docs/latest/design/processes.html b/docs/0.19.0/design/processes.html
similarity index 61%
copy from docs/latest/design/processes.html
copy to docs/0.19.0/design/processes.html
index 1439854..12192b3 100644
--- a/docs/latest/design/processes.html
+++ b/docs/0.19.0/design/processes.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processes and servers · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/processes.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" />< [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Processes and servers · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/processes.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" />< [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/processes.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Processes and servers</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/processes.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Processes and servers</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -80,13 +80,13 @@
 <h2><a class="anchor" aria-hidden="true" id="process-types"></a><a href="#process-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Druid has several process types:</p>
 <ul>
-<li><a href="/docs/latest/design/coordinator.html">Coordinator</a></li>
-<li><a href="/docs/latest/design/overlord.html">Overlord</a></li>
-<li><a href="/docs/latest/design/broker.html">Broker</a></li>
-<li><a href="/docs/latest/design/historical.html">Historical</a></li>
-<li><a href="/docs/latest/design/middlemanager.html">MiddleManager</a> and <a href="/docs/latest/design/peons.html">Peons</a></li>
-<li><a href="/docs/latest/design/indexer.html">Indexer (Optional)</a></li>
-<li><a href="/docs/latest/design/router.html">Router (Optional)</a></li>
+<li><a href="/docs/0.19.0/design/coordinator.html">Coordinator</a></li>
+<li><a href="/docs/0.19.0/design/overlord.html">Overlord</a></li>
+<li><a href="/docs/0.19.0/design/broker.html">Broker</a></li>
+<li><a href="/docs/0.19.0/design/historical.html">Historical</a></li>
+<li><a href="/docs/0.19.0/design/middlemanager.html">MiddleManager</a> and <a href="/docs/0.19.0/design/peons.html">Peons</a></li>
+<li><a href="/docs/0.19.0/design/indexer.html">Indexer (Optional)</a></li>
+<li><a href="/docs/0.19.0/design/router.html">Router (Optional)</a></li>
 </ul>
 <h2><a class="anchor" aria-hidden="true" id="server-types"></a><a href="#server-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>Druid processes can be deployed any way you like, but for ease of deployment we suggest organizing them into three server types:</p>
@@ -101,38 +101,38 @@
 <p>A Master server manages data ingestion and availability: it is responsible for starting new ingestion jobs and coordinating availability of data on the &quot;Data servers&quot; described below.</p>
 <p>Within a Master server, functionality is split between two processes, the Coordinator and Overlord.</p>
 <h4><a class="anchor" aria-hidden="true" id="coordinator-process"></a><a href="#coordinator-process" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
-<p><a href="/docs/latest/design/coordinator.html"><strong>Coordinator</strong></a> processes watch over the Historical processes on the Data servers. They are responsible for assigning segments to specific servers, and for ensuring segments are well-balanced across Historicals.</p>
+<p><a href="/docs/0.19.0/design/coordinator.html"><strong>Coordinator</strong></a> processes watch over the Historical processes on the Data servers. They are responsible for assigning segments to specific servers, and for ensuring segments are well-balanced across Historicals.</p>
 <h4><a class="anchor" aria-hidden="true" id="overlord-process"></a><a href="#overlord-process" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
-<p><a href="/docs/latest/design/overlord.html"><strong>Overlord</strong></a> processes watch over the MiddleManager processes on the Data servers and are the controllers of data ingestion into Druid. They are responsible for assigning ingestion tasks to MiddleManagers and for coordinating segment publishing.</p>
+<p><a href="/docs/0.19.0/design/overlord.html"><strong>Overlord</strong></a> processes watch over the MiddleManager processes on the Data servers and are the controllers of data ingestion into Druid. They are responsible for assigning ingestion tasks to MiddleManagers and for coordinating segment publishing.</p>
 <h3><a class="anchor" aria-hidden="true" id="query-server"></a><a href="#query-server" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>A Query server provides the endpoints that users and client applications interact with, routing queries to Data servers or other Query servers (and optionally proxied Master server requests as well).</p>
 <p>Within a Query server, functionality is split between two processes, the Broker and Router.</p>
 <h4><a class="anchor" aria-hidden="true" id="broker-process"></a><a href="#broker-process" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p><a href="/docs/latest/design/broker.html"><strong>Broker</strong></a> processes receive queries from external clients and forward those queries to Data servers. When Brokers receive results from those subqueries, they merge those results and return them to the
+<p><a href="/docs/0.19.0/design/broker.html"><strong>Broker</strong></a> processes receive queries from external clients and forward those queries to Data servers. When Brokers receive results from those subqueries, they merge those results and return them to the
 caller. End users typically query Brokers rather than querying Historicals or MiddleManagers processes on Data servers directly.</p>
 <h4><a class="anchor" aria-hidden="true" id="router-process-optional"></a><a href="#router-process-optional" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
-<p><a href="/docs/latest/design/router.html"><strong>Router</strong></a> processes are <em>optional</em> processes that provide a unified API gateway in front of Druid Brokers,
+<p><a href="/docs/0.19.0/design/router.html"><strong>Router</strong></a> processes are <em>optional</em> processes that provide a unified API gateway in front of Druid Brokers,
 Overlords, and Coordinators. They are optional since you can also simply contact the Druid Brokers, Overlords, and
 Coordinators directly.</p>
-<p>The Router also runs the <a href="../operations/management-uis.html#druid-console">Druid Console</a>, a management UI for datasources, segments, tasks, data processes (Historicals and MiddleManagers), and coordinator dynamic configuration. The user can also run SQL and native Druid queries within the console.</p>
+<p>The Router also runs the <a href="/docs/0.19.0/operations/druid-console.html">Druid Console</a>, a management UI for datasources, segments, tasks, data processes (Historicals and MiddleManagers), and coordinator dynamic configuration. The user can also run SQL and native Druid queries within the console.</p>
 <h3><a class="anchor" aria-hidden="true" id="data-server"></a><a href="#data-server" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>A Data server executes ingestion jobs and stores queryable data.</p>
 <p>Within a Data server, functionality is split between two processes, the Historical and MiddleManager.</p>
 <h3><a class="anchor" aria-hidden="true" id="historical-process"></a><a href="#historical-process" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
-<p><a href="/docs/latest/design/historical.html"><strong>Historical</strong></a> processes are the workhorses that handle storage and querying on &quot;historical&quot; data
+<p><a href="/docs/0.19.0/design/historical.html"><strong>Historical</strong></a> processes are the workhorses that handle storage and querying on &quot;historical&quot; data
 (including any streaming data that has been in the system long enough to be committed). Historical processes
 download segments from deep storage and respond to queries about these segments. They don't accept writes.</p>
 <h3><a class="anchor" aria-hidden="true" id="middle-manager-process"></a><a href="#middle-manager-process" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p><a href="/docs/latest/design/middlemanager.html"><strong>MiddleManager</strong></a> processes handle ingestion of new data into the cluster. They are responsible
+<p><a href="/docs/0.19.0/design/middlemanager.html"><strong>MiddleManager</strong></a> processes handle ingestion of new data into the cluster. They are responsible
 for reading from external data sources and publishing new Druid segments.</p>
 <h4><a class="anchor" aria-hidden="true" id="peon-processes"></a><a href="#peon-processes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
-<p><a href="/docs/latest/design/peons.html"><strong>Peon</strong></a> processes are task execution engines spawned by MiddleManagers. Each Peon runs a separate JVM and is responsible for executing a single task. Peons always run on the same host as the MiddleManager that spawned them.</p>
+<p><a href="/docs/0.19.0/design/peons.html"><strong>Peon</strong></a> processes are task execution engines spawned by MiddleManagers. Each Peon runs a separate JVM and is responsible for executing a single task. Peons always run on the same host as the MiddleManager that spawned them.</p>
 <h3><a class="anchor" aria-hidden="true" id="indexer-process-optional"></a><a href="#indexer-process-optional" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
-<p><a href="/docs/latest/design/indexer.html"><strong>Indexer</strong></a> processes are an alternative to MiddleManagers and Peons. Instead of
+<p><a href="/docs/0.19.0/design/indexer.html"><strong>Indexer</strong></a> processes are an alternative to MiddleManagers and Peons. Instead of
 forking separate JVM processes per-task, the Indexer runs tasks as individual threads within a single JVM process.</p>
 <p>The Indexer is designed to be easier to configure and deploy compared to the MiddleManager + Peon system and to
 better enable resource sharing across tasks. The Indexer is a newer feature and is currently designated
-<a href="/docs/latest/development/experimental.html">experimental</a> due to the fact that its memory management system is still under
+<a href="/docs/0.19.0/development/experimental.html">experimental</a> due to the fact that its memory management system is still under
 development. It will continue to mature in future versions of Druid.</p>
 <p>Typically, you would deploy either MiddleManagers or Indexers, but not both.</p>
 <h2><a class="anchor" aria-hidden="true" id="pros-and-cons-of-colocation"></a><a href="#pros-and-cons-of-colocation" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
@@ -151,7 +151,7 @@ such that they run on individual servers to avoid resource contention.</p>
 <h3><a class="anchor" aria-hidden="true" id="historicals-and-middlemanagers"></a><a href="#historicals-and-middlemanagers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
 <p>With higher levels of ingestion or query load, it can make sense to deploy the Historical and MiddleManager processes on separate hosts to to avoid CPU and memory contention.</p>
 <p>The Historical also benefits from having free memory for memory mapped segments, which can be another reason to deploy the Historical and MiddleManager processes separately.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/segments.html"><span class="arrow-prev">← </span><span>Segments</span></a><a class="docs-next button" href="/docs/latest/dependencies/deep-storage.html"><span>Deep storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#process-types">Process types</a></li><li><a href="#server-types">Server types</a><ul c [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/segments.html"><span class="arrow-prev">← </span><span>Segments</span></a><a class="docs-next button" href="/docs/0.19.0/dependencies/deep-storage.html"><span>Deep storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#process-types">Process types</a></li><li><a href="#server-types">Server types</a><ul c [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -168,6 +168,6 @@ such that they run on individual servers to avoid resource contention.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/design/realtime.html b/docs/0.19.0/design/realtime.html
new file mode 100644
index 0000000..2f57fca
--- /dev/null
+++ b/docs/0.19.0/design/realtime.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=../ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="../ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="../ingestion/standalone-realtime.html"</script>
diff --git a/docs/latest/design/router.html b/docs/0.19.0/design/router.html
similarity index 65%
copy from docs/latest/design/router.html
copy to docs/0.19.0/design/router.html
index 53297f3..a473e5d 100644
--- a/docs/latest/design/router.html
+++ b/docs/0.19.0/design/router.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Router Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/router.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><meta prope [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Router Process · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/router.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta prope [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/router.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Router Process</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/router.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Router Process</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -78,12 +78,12 @@
   ~ under the License.
   -->
 <blockquote>
-<p>The Router is an optional and <a href="/docs/latest/development/experimental.html">experimental</a> feature due to the fact that its recommended place in the Druid cluster architecture is still evolving.
-However, it has been battle-tested in production, and it hosts the powerful <a href="../operations/management-uis.html#druid-console">Druid Console</a>, so you should feel safe deploying it.</p>
+<p>The Router is an optional and <a href="/docs/0.19.0/development/experimental.html">experimental</a> feature due to the fact that its recommended place in the Druid cluster architecture is still evolving.
+However, it has been battle-tested in production, and it hosts the powerful <a href="/docs/0.19.0/operations/druid-console.html">Druid Console</a>, so you should feel safe deploying it.</p>
 </blockquote>
-<p>The Apache Druid Router process can be used to route queries to different Broker processes. By default, the broker routes queries based on how <a href="/docs/latest/operations/rule-configuration.html">Rules</a> are set up. For example, if 1 month of recent data is loaded into a <code>hot</code> cluster, queries that fall within the recent month can be routed to a dedicated set of brokers. Queries outside this range are routed to another set of brokers. This set up provides query isola [...]
+<p>The Apache Druid Router process can be used to route queries to different Broker processes. By default, the broker routes queries based on how <a href="/docs/0.19.0/operations/rule-configuration.html">Rules</a> are set up. For example, if 1 month of recent data is loaded into a <code>hot</code> cluster, queries that fall within the recent month can be routed to a dedicated set of brokers. Queries outside this range are routed to another set of brokers. This set up provides query isola [...]
 <p>For query routing purposes, you should only ever need the Router process if you have a Druid cluster well into the terabyte range.</p>
-<p>In addition to query routing, the Router also runs the <a href="../operations/management-uis.html#druid-console">Druid Console</a>, a management UI for datasources, segments, tasks, data processes (Historicals and MiddleManagers), and coordinator dynamic configuration. The user can also run SQL and native Druid queries within the console.</p>
+<p>In addition to query routing, the Router also runs the <a href="/docs/0.19.0/operations/druid-console.html">Druid Console</a>, a management UI for datasources, segments, tasks, data processes (Historicals and MiddleManagers), and coordinator dynamic configuration. The user can also run SQL and native Druid queries within the console.</p>
 <h3><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>For Apache Druid Router Process Configuration, see <a href="../configuration/index.html#router">Router Configuration</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="http-endpoints"></a><a href="#http-endpoints" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
@@ -98,7 +98,7 @@ Coordinator/Overlord does not function correctly (servers are behind a load bala
 is only resolvable internally, etc.).</p>
 <h4><a class="anchor" aria-hidden="true" id="enabling-the-management-proxy"></a><a href="#enabling-the-management-proxy" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>To enable this functionality, set the following in the Router's runtime.properties:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.router</span><span class="hljs-selector-class">.managementProxy</span><span class="hljs-selector-class">.enabled</span>=true
+<pre><code class="hljs"><span class="hljs-attr">druid.router.managementProxy.enabled</span>=<span class="hljs-literal">true</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="management-proxy-routing"></a><a href="#management-proxy-routing" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>The management proxy supports implicit and explicit routes. Implicit routes are those where the destination can be
@@ -147,7 +147,7 @@ processes, so explicit routing needs to be used to indicate the proxy destinatio
 }
 </code></pre>
 <blockquote>
-<p>JavaScript-based functionality is disabled by default. Please refer to the Druid <a href="/docs/latest/development/javascript.html">JavaScript programming guide</a> for guidelines about using Druid's JavaScript functionality, including instructions on how to enable it.</p>
+<p>JavaScript-based functionality is disabled by default. Please refer to the Druid <a href="/docs/0.19.0/development/javascript.html">JavaScript programming guide</a> for guidelines about using Druid's JavaScript functionality, including instructions on how to enable it.</p>
 </blockquote>
 <h3><a class="anchor" aria-hidden="true" id="avatica-query-balancing"></a><a href="#avatica-query-balancing" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p>All Avatica JDBC requests with a given connection ID must be routed to the same Broker, since Druid Brokers do not share connection state with each other.</p>
@@ -156,13 +156,13 @@ processes, so explicit routing needs to be used to indicate the proxy destinatio
 <h4><a class="anchor" aria-hidden="true" id="rendezvous-hash-balancer"></a><a href="#rendezvous-hash-balancer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>This balancer uses <a href="https://en.wikipedia.org/wiki/Rendezvous_hashing">Rendezvous Hashing</a> on an Avatica request's connection ID to assign the request to a Broker.</p>
 <p>To use this balancer, specify the following property:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.router</span><span class="hljs-selector-class">.avatica</span><span class="hljs-selector-class">.balancer</span><span class="hljs-selector-class">.type</span>=rendezvousHash
+<pre><code class="hljs">druid<span class="hljs-selector-class">.router</span><span class="hljs-selector-class">.avatica</span><span class="hljs-selector-class">.balancer</span>.type=rendezvousHash
 </code></pre>
 <p>If no <code>druid.router.avatica.balancer</code> property is set, the Router will also default to using the Rendezvous Hash Balancer.</p>
 <h4><a class="anchor" aria-hidden="true" id="consistent-hash-balancer"></a><a href="#consistent-hash-balancer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-. [...]
 <p>This balancer uses <a href="https://en.wikipedia.org/wiki/Consistent_hashing">Consistent Hashing</a> on an Avatica request's connection ID to assign the request to a Broker.</p>
 <p>To use this balancer, specify the following property:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.router</span><span class="hljs-selector-class">.avatica</span><span class="hljs-selector-class">.balancer</span><span class="hljs-selector-class">.type</span>=consistentHash
+<pre><code class="hljs">druid<span class="hljs-selector-class">.router</span><span class="hljs-selector-class">.avatica</span><span class="hljs-selector-class">.balancer</span>.type=consistentHash
 </code></pre>
 <p>This is a non-default implementation that is provided for experimentation purposes. The consistent hasher has longer setup times on initialization and when the set of Brokers changes, but has a faster Broker assignment time than the rendezvous hasher when tested with 5 Brokers. Benchmarks for both implementations have been provided in <code>ConsistentHasherBenchmark</code> and <code>RendezvousHasherBenchmark</code>. The consistent hasher also requires locking, while the rendezvous has [...]
 <h3><a class="anchor" aria-hidden="true" id="example-production-configuration"></a><a href="#example-production-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
@@ -203,7 +203,7 @@ processes, so explicit routing needs to be used to indicate the proxy destinatio
 
 <span class="hljs-attr">druid.server.http.numThreads</span>=<span class="hljs-number">100</span>
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/overlord.html"><span class="arrow-prev">← </span><span>Overlord Process</span></a><a class="docs-next button" href="/docs/latest/design/peons.html"><span>Peons</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology"> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/overlord.html"><span class="arrow-prev">← </span><span>Overlord Process</span></a><a class="docs-next button" href="/docs/0.19.0/design/peons.html"><span>Peons</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology"> [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -220,6 +220,6 @@ processes, so explicit routing needs to be used to indicate the proxy destinatio
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/design/segments.html b/docs/0.19.0/design/segments.html
similarity index 68%
copy from docs/latest/design/segments.html
copy to docs/0.19.0/design/segments.html
index d97af26..7158086 100644
--- a/docs/latest/design/segments.html
+++ b/docs/0.19.0/design/segments.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Segments · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/design/segments.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><meta property= [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Segments · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/design/segments.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><meta property= [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/segments.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Segments</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/design/segments.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Segments</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -81,7 +81,7 @@
 time. In a basic setup, one segment file is created for each time
 interval, where the time interval is configurable in the
 <code>segmentGranularity</code> parameter of the
-<a href="/docs/latest/ingestion/index.html#granularityspec"><code>granularitySpec</code></a>.  For Druid to
+<a href="/docs/0.19.0/ingestion/index.html#granularityspec"><code>granularitySpec</code></a>.  For Druid to
 operate well under heavy query load, it is important for the segment
 file size to be within the recommended range of 300MB-700MB. If your
 segment files are larger than this range, then consider either
@@ -89,7 +89,7 @@ changing the granularity of the time interval or partitioning your
 data and tweaking the <code>targetPartitionSize</code> in your <code>partitionsSpec</code>
 (a good starting point for this parameter is 5 million rows).  See the
 sharding section below and the 'Partitioning specification' section of
-the <a href="/docs/latest/ingestion/hadoop.html#partitionsspec">Batch ingestion</a> documentation
+the <a href="/docs/0.19.0/ingestion/hadoop.html#partitionsspec">Batch ingestion</a> documentation
 for more information.</p>
 <h3><a class="anchor" aria-hidden="true" id="a-segment-files-core-data-structures"></a><a href="#a-segment-files-core-data-structures" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 [...]
 <p>Here we describe the internal structure of segment files, which is
@@ -209,7 +209,7 @@ datasource_intervalStart_intervalEnd_version_partitionNum</p>
 </ol>
 <p>A ColumnDescriptor is essentially an object that allows us to use Jackson's polymorphic deserialization to add new and interesting methods of serialization with minimal impact to the code. It consists of some metadata about the column (what type is it, is it multi-value, etc.) and then a list of serialization/deserialization logic that can deserialize the rest of the binary.</p>
 <h3><a class="anchor" aria-hidden="true" id="compression"></a><a href="#compression" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
-<p>Druid compresses blocks of values for string, long, float, and double columns, using <a href="https://github.com/lz4/lz4-java">LZ4</a> by default, and bitmaps for string columns and numeric null values are compressed using <a href="https://github.com/RoaringBitmap/RoaringBitmap">Roaring</a>. We recommend sticking with these defaults unless experimental verification with your own data and query patterns suggest that non-default options will perform better in your specific case. For exa [...]
+<p>Druid compresses blocks of values for string, long, float, and double columns, using <a href="https://github.com/lz4/lz4-java">LZ4</a> by default, and bitmaps for string columns and numeric null values are compressed using <a href="https://github.com/RoaringBitmap/RoaringBitmap">Roaring</a>. We recommend sticking with these defaults unless experimental verification with your own data and query patterns suggest that non-default options will perform better in your specific case. For exa [...]
 <h2><a class="anchor" aria-hidden="true" id="sharding-data-to-create-segments"></a><a href="#sharding-data-to-create-segments" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
 <h3><a class="anchor" aria-hidden="true" id="sharding"></a><a href="#sharding" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>Multiple segments may exist for the same interval of time for the same datasource. These segments form a <code>block</code> for an interval.
@@ -259,7 +259,7 @@ foo_2015<span class="hljs-number">-01</span><span class="hljs-number">-03</span>
 another, queries that involve both segments still work. Queries for the segment missing the dimension will behave as if the dimension has only null values.
 Similarly, if one segment has a numeric column (metric) but another does not, queries on the segment missing the
 metric will generally &quot;do the right thing&quot;. Aggregations over this missing metric behave as if the metric were missing.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/architecture.html"><span class="arrow-prev">← </span><span>Design</span></a><a class="docs-next button" href="/docs/latest/design/processes.html"><span>Processes and servers</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#sql-compatible-null-handling">SQL Compatible Null Handling</a></li><li><a href="#nam [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/architecture.html"><span class="arrow-prev">← </span><span>Design</span></a><a class="docs-next button" href="/docs/0.19.0/design/processes.html"><span>Processes and servers</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#sql-compatible-null-handling">SQL Compatible Null Handling</a></li><li><a href="#nam [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -276,6 +276,6 @@ metric will generally &quot;do the right thing&quot;. Aggregations over this mis
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/approximate-histograms.html b/docs/0.19.0/development/approximate-histograms.html
new file mode 100644
index 0000000..8df4839
--- /dev/null
+++ b/docs/0.19.0/development/approximate-histograms.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="extensions-core/approximate-histograms.html">
+<meta http-equiv="refresh" content="0; url=extensions-core/approximate-histograms.html">
+<h1>Redirecting...</h1>
+<a href="extensions-core/approximate-histograms.html">Click here if you are not redirected.</a>
+<script>location="extensions-core/approximate-histograms.html"</script>
diff --git a/docs/0.19.0/development/build.html b/docs/0.19.0/development/build.html
new file mode 100644
index 0000000..b4f61bd
--- /dev/null
+++ b/docs/0.19.0/development/build.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Build from source · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/build.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><met [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/build.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Build from source</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>You can build Apache Druid directly from source. Please note that these instructions are for building the latest stable version of Druid.
+For building the latest code in master, follow the instructions <a href="https://github.com/apache/druid/blob/master/docs/development/build.md">here</a>.</p>
+<h4><a class="anchor" aria-hidden="true" id="prerequisites"></a><a href="#prerequisites" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<h5><a class="anchor" aria-hidden="true" id="installing-java-and-maven"></a><a href="#installing-java-and-maven" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
+<ul>
+<li>JDK 8, 8u92+. We recommend using an OpenJDK distribution that provides long-term support and open-source licensing,
+like <a href="https://aws.amazon.com/corretto/">Amazon Corretto</a> or <a href="https://www.azul.com/downloads/zulu/">Azul Zulu</a>.</li>
+<li><a href="http://maven.apache.org/download.cgi">Maven version 3.x</a></li>
+</ul>
+<h5><a class="anchor" aria-hidden="true" id="other-dependencies"></a><a href="#other-dependencies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
+<ul>
+<li>for distribution build, Python and yaml module are required</li>
+</ul>
+<h5><a class="anchor" aria-hidden="true" id="downloading-the-source"></a><a href="#downloading-the-source" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<pre><code class="hljs css language-bash">git <span class="hljs-built_in">clone</span> git@github.com:apache/druid.git
+<span class="hljs-built_in">cd</span> druid
+</code></pre>
+<h4><a class="anchor" aria-hidden="true" id="building-the-source"></a><a href="#building-the-source" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.2 [...]
+<p>The basic command to build Druid from source is:</p>
+<pre><code class="hljs css language-bash">mvn clean install
+</code></pre>
+<p>This will run static analysis, unit tests, compile classes, and package the projects into JARs. It will <em>not</em> generate the source or binary distribution tarball.</p>
+<p>In addition to the basic stages, you may also want to add the following profiles and properties:</p>
+<ul>
+<li><strong>-Pdist</strong> - Distribution profile: Generates the binary distribution tarball by pulling in core extensions and dependencies and packaging the files as <code>distribution/target/apache-druid-x.x.x-bin.tar.gz</code></li>
+<li><strong>-Papache-release</strong> - Apache release profile: Generates GPG signature and checksums, and builds the source distribution tarball as <code>distribution/target/apache-druid-x.x.x-src.tar.gz</code></li>
+<li><strong>-Prat</strong> - Apache Rat profile: Runs the Apache Rat license audit tool</li>
+<li><strong>-DskipTests</strong> - Skips unit tests (which reduces build time)</li>
+<li><strong>-Ddruid.console.skip=true</strong> - Skip front end project</li>
+</ul>
+<p>Putting these together, if you wish to build the source and binary distributions with signatures and checksums, audit licenses, and skip the unit tests, you would run:</p>
+<pre><code class="hljs css language-bash">mvn clean install -Papache-release,dist,rat -DskipTests
+</code></pre>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/javascript.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">JavaScript functionality</span></a><a class="docs-next button" href="/docs/0.19.0/development/versioning.html"><span>Versioning</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class=" [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/community-extensions/azure.html b/docs/0.19.0/development/community-extensions/azure.html
new file mode 100644
index 0000000..8c8a06e
--- /dev/null
+++ b/docs/0.19.0/development/community-extensions/azure.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-core/azure.html">
+<meta http-equiv="refresh" content="0; url=../extensions-core/azure.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-core/azure.html">Click here if you are not redirected.</a>
+<script>location="../extensions-core/azure.html"</script>
diff --git a/docs/0.19.0/development/community-extensions/cassandra.html b/docs/0.19.0/development/community-extensions/cassandra.html
new file mode 100644
index 0000000..7026a6a
--- /dev/null
+++ b/docs/0.19.0/development/community-extensions/cassandra.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-contrib/cassandra.html">
+<meta http-equiv="refresh" content="0; url=../extensions-contrib/cassandra.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-contrib/cassandra.html">Click here if you are not redirected.</a>
+<script>location="../extensions-contrib/cassandra.html"</script>
diff --git a/docs/0.19.0/development/community-extensions/cloudfiles.html b/docs/0.19.0/development/community-extensions/cloudfiles.html
new file mode 100644
index 0000000..0c9b8c5
--- /dev/null
+++ b/docs/0.19.0/development/community-extensions/cloudfiles.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-contrib/cloudfiles.html">
+<meta http-equiv="refresh" content="0; url=../extensions-contrib/cloudfiles.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-contrib/cloudfiles.html">Click here if you are not redirected.</a>
+<script>location="../extensions-contrib/cloudfiles.html"</script>
diff --git a/docs/0.19.0/development/community-extensions/graphite.html b/docs/0.19.0/development/community-extensions/graphite.html
new file mode 100644
index 0000000..dc31894
--- /dev/null
+++ b/docs/0.19.0/development/community-extensions/graphite.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-contrib/graphite.html">
+<meta http-equiv="refresh" content="0; url=../extensions-contrib/graphite.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-contrib/graphite.html">Click here if you are not redirected.</a>
+<script>location="../extensions-contrib/graphite.html"</script>
diff --git a/docs/0.19.0/development/community-extensions/kafka-simple.html b/docs/0.19.0/development/community-extensions/kafka-simple.html
new file mode 100644
index 0000000..179d16a
--- /dev/null
+++ b/docs/0.19.0/development/community-extensions/kafka-simple.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-core/kafka-ingestion.html">
+<meta http-equiv="refresh" content="0; url=../extensions-core/kafka-ingestion.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-core/kafka-ingestion.html">Click here if you are not redirected.</a>
+<script>location="../extensions-core/kafka-ingestion.html"</script>
diff --git a/docs/0.19.0/development/community-extensions/rabbitmq.html b/docs/0.19.0/development/community-extensions/rabbitmq.html
new file mode 100644
index 0000000..179d16a
--- /dev/null
+++ b/docs/0.19.0/development/community-extensions/rabbitmq.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-core/kafka-ingestion.html">
+<meta http-equiv="refresh" content="0; url=../extensions-core/kafka-ingestion.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-core/kafka-ingestion.html">Click here if you are not redirected.</a>
+<script>location="../extensions-core/kafka-ingestion.html"</script>
diff --git a/docs/0.19.0/development/datasketches-aggregators.html b/docs/0.19.0/development/datasketches-aggregators.html
new file mode 100644
index 0000000..9ef81f4
--- /dev/null
+++ b/docs/0.19.0/development/datasketches-aggregators.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="extensions-core/datasketches-extension.html">
+<meta http-equiv="refresh" content="0; url=extensions-core/datasketches-extension.html">
+<h1>Redirecting...</h1>
+<a href="extensions-core/datasketches-extension.html">Click here if you are not redirected.</a>
+<script>location="extensions-core/datasketches-extension.html"</script>
diff --git a/docs/0.19.0/development/experimental.html b/docs/0.19.0/development/experimental.html
new file mode 100644
index 0000000..121fa95
--- /dev/null
+++ b/docs/0.19.0/development/experimental.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Experimental features · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/experimental.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.1 [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/experimental.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Experimental features</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>Features often start out in &quot;experimental&quot; status that indicates they are still evolving.
+This can mean any of the following things:</p>
+<ol>
+<li>The feature's API may change even in minor releases or patch releases.</li>
+<li>The feature may have known &quot;missing&quot; pieces that will be added later.</li>
+<li>The feature may or may not have received full battle-testing in production environments.</li>
+</ol>
+<p>All experimental features are optional.</p>
+<p>Note that not all of these points apply to every experimental feature. Some have been battle-tested in terms of
+implementation, but are still marked experimental due to an evolving API. Please check the documentation for each
+feature for full details.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/versioning.html"><span class="arrow-prev">← </span><span>Versioning</span></a><a class="docs-next button" href="/docs/0.19.0/misc/papers-and-talks.html"><span>Papers</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/t [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/aliyun-oss.html b/docs/0.19.0/development/extensions-contrib/aliyun-oss.html
new file mode 100644
index 0000000..566c3b2
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/aliyun-oss.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Aliyun OSS · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/aliyun-oss.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" conten [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>aliyun-oss-extensions</code> extension.</p>
+<h2><a class="anchor" aria-hidden="true" id="deep-storage"></a><a href="#deep-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p><a href="https://www.aliyun.com">Aliyun</a> is the 3rd largest cloud infrastructure provider in the world. It provides its own storage solution known as OSS, <a href="https://www.aliyun.com/product/oss">Object Storage Service</a>.</p>
+<p>To use aliyun OSS as deep storage, first config as below</p>
+<table>
+<thead>
+<tr><th>Property</th><th>Description</th><th>Possible Values</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>druid.oss.accessKey</code></td><td>the <code>AccessKey ID</code> of your account which can be used to access the bucket</td><td></td><td>Must be set.</td></tr>
+<tr><td><code>druid.oss.secretKey</code></td><td>the <code>AccessKey Secret</code> of your account which can be used to access the bucket</td><td></td><td>Must be set.</td></tr>
+<tr><td><code>druid.oss.endpoint</code></td><td>the endpoint url of your OSS storage</td><td></td><td>Must be set.</td></tr>
+</tbody>
+</table>
+<p>if you want to use OSS as deep storage, use the configurations below</p>
+<table>
+<thead>
+<tr><th>Property</th><th>Description</th><th>Possible Values</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>druid.storage.type</code></td><td>Global deep storage provider. Must be set to <code>oss</code> to make use of this extension.</td><td>oss</td><td>Must be set.</td></tr>
+<tr><td><code>druid.storage.oss.bucket</code></td><td>storage bucket name.</td><td></td><td>Must be set.</td></tr>
+<tr><td><code>druid.storage.oss.prefix</code></td><td>a prefix string prepended to the file names for the segments published to aliyun OSS deep storage</td><td>druid/segments</td><td></td></tr>
+</tbody>
+</table>
+<p>To save index logs to OSS, apply the configurations below:</p>
+<table>
+<thead>
+<tr><th>Property</th><th>Description</th><th>Possible Values</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>druid.indexer.logs.type</code></td><td>Global deep storage provider. Must be set to <code>oss</code> to make use of this extension.</td><td>oss</td><td>Must be set.</td></tr>
+<tr><td><code>druid.indexer.logs.oss.bucket</code></td><td>the bucket used to keep logs</td><td></td><td>Must be set.</td></tr>
+<tr><td><code>druid.indexer.logs.oss.prefix</code></td><td>a prefix string prepended to the log files.</td><td></td><td></td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#deep-storage">Deep Storage</a></li></ul></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology">Technology</a> · <a href="/use-cases">Use Cases</a> · <a href="/druid-powered">Powered by Druid</a> · <a href="/docs/0.19.0/latest">Docs</a> · <a href="/community/">Community</a>  [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/ambari-metrics-emitter.html b/docs/0.19.0/development/extensions-contrib/ambari-metrics-emitter.html
similarity index 56%
copy from docs/latest/development/extensions-contrib/ambari-metrics-emitter.html
copy to docs/0.19.0/development/extensions-contrib/ambari-metrics-emitter.html
index eac42e7..575a18c 100644
--- a/docs/latest/development/extensions-contrib/ambari-metrics-emitter.html
+++ b/docs/0.19.0/development/extensions-contrib/ambari-metrics-emitter.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Ambari Metrics Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/ambari-metrics-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="d [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Ambari Metrics Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/ambari-metrics-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="d [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/ambari-metrics-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Ambari Metrics Emitter</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/ambari-metrics-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Ambari Metrics Emitter</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>ambari-metrics-emitter</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>ambari-metrics-emitter</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>This extension emits Druid metrics to a ambari-metrics carbon server.
 Events are sent after been <a href="http://ambari-metrics.readthedocs.org/en/latest/feeding-carbon.html#the-pickle-protocol">pickled</a>; the size of the batch is configurable.</p>
@@ -138,7 +138,7 @@ druid.emitter.ambari-metrics.eventConverter={"type":"whiteList", "namespacePrefi
 
 </code></pre>
 <p><strong>Druid emits a huge number of metrics we highly recommend to use the <code>whiteList</code> converter</strong></p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/test-stats.html"><span class="arrow-prev">← </span><span>Test Stats Aggregators</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/cassandra.html"><span>Apache Cassandra</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">Introduction</a> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/test-stats.html"><span class="arrow-prev">← </span><span>Test Stats Aggregators</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/cassandra.html"><span>Apache Cassandra</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">Introduction</a> [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -155,6 +155,6 @@ druid.emitter.ambari-metrics.eventConverter={"type":"whiteList", "namespacePrefi
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/cassandra.html b/docs/0.19.0/development/extensions-contrib/cassandra.html
new file mode 100644
index 0000000..c1ba8bc
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/cassandra.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Cassandra · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/cassandra.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" c [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/cassandra.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Cassandra</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-cassandra-storage</code> extension.</p>
+<p><a href="http://www.datastax.com/what-we-offer/products-services/datastax-enterprise/apache-cassandra">Apache Cassandra</a> can also
+be leveraged for deep storage.  This requires some additional Druid configuration as well as setting up the necessary
+schema within a Cassandra keystore.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/ambari-metrics-emitter.html"><span class="arrow-prev">← </span><span>Ambari Metrics Emitter</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/cloudfiles.html"><span>Rackspace Cloud Files</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-foot [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/cloudfiles.html b/docs/0.19.0/development/extensions-contrib/cloudfiles.html
similarity index 53%
copy from docs/latest/development/extensions-contrib/cloudfiles.html
copy to docs/0.19.0/development/extensions-contrib/cloudfiles.html
index 6088134..52b3c9d 100644
--- a/docs/latest/development/extensions-contrib/cloudfiles.html
+++ b/docs/0.19.0/development/extensions-contrib/cloudfiles.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Rackspace Cloud Files · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/cloudfiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:vers [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Rackspace Cloud Files · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/cloudfiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:vers [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/cloudfiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Rackspace Cloud Files</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/cloudfiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Rackspace Cloud Files</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-cloudfiles-extensions</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-cloudfiles-extensions</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="deep-storage"></a><a href="#deep-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p><a href="http://www.rackspace.com/cloud/files/">Rackspace Cloud Files</a> is another option for deep storage. This requires some additional Druid configuration.</p>
 <table>
@@ -103,7 +103,7 @@
 <p>Data is newline delimited, with one JSON object per line and parsed as per the <code>InputRowParser</code> configuration.</p>
 <p>The storage account is shared with the one used for Rackspace's Cloud Files deep storage functionality, but blobs can be in a different region and container.</p>
 <p>As with the Azure blobstore, it is assumed to be gzipped if the extension ends in .gz</p>
-<p>This firehose is <em>splittable</em> and can be used by <a href="/docs/latest/ingestion/native-batch.html#parallel-task">native parallel index tasks</a>.
+<p>This firehose is <em>splittable</em> and can be used by <a href="/docs/0.19.0/ingestion/native-batch.html#parallel-task">native parallel index tasks</a>.
 Since each split represents an object in this firehose, each worker task of <code>index_parallel</code> will read an object.</p>
 <p>Sample spec:</p>
 <pre><code class="hljs css language-json">"firehose" : {
@@ -148,7 +148,7 @@ shardSpecs are not specified, and, in this case, caching can be useful. Prefetch
 <tr><td>path</td><td>The path where data is located.</td><td>N/A</td><td>yes</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/cassandra.html"><span class="arrow-prev">← </span><span>Apache Cassandra</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/distinctcount.html"><span class="function-name-prevnext">DistinctCount Aggregator</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/cassandra.html"><span class="arrow-prev">← </span><span>Apache Cassandra</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/distinctcount.html"><span class="function-name-prevnext">DistinctCount Aggregator</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li>< [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -165,6 +165,6 @@ shardSpecs are not specified, and, in this case, caching can be useful. Prefetch
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/distinctcount.html b/docs/0.19.0/development/extensions-contrib/distinctcount.html
similarity index 52%
copy from docs/latest/development/extensions-contrib/distinctcount.html
copy to docs/0.19.0/development/extensions-contrib/distinctcount.html
index 3cf58b5..1e008d2 100644
--- a/docs/latest/development/extensions-contrib/distinctcount.html
+++ b/docs/0.19.0/development/extensions-contrib/distinctcount.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DistinctCount Aggregator · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/distinctcount.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearc [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DistinctCount Aggregator · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/distinctcount.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearc [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/distinctcount.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">DistinctCount Aggregator</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/distinctcount.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">DistinctCount Aggregator</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> the <code>druid-distinctcount</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the <code>druid-distinctcount</code> extension.</p>
 <p>Additionally, follow these steps:</p>
 <ol>
 <li>First, use a single dimension hash-based partition spec to partition data by a single dimension. For example visitor_id. This to make sure all rows with a particular value for that dimension will go into the same segment, or this might over count.</li>
@@ -126,7 +126,7 @@
 <pre><code class="hljs css language-json">{
   <span class="hljs-attr">"queryType"</span>: <span class="hljs-string">"groupBy"</span>,
   <span class="hljs-attr">"dataSource"</span>: <span class="hljs-string">"sample_datasource"</span>,
-  <span class="hljs-attr">"dimensions"</span>: <span class="hljs-string">"[sample_dim]"</span>,
+  <span class="hljs-attr">"dimensions"</span>: [<span class="hljs-string">"sample_dim"</span>],
   <span class="hljs-attr">"granularity"</span>: <span class="hljs-string">"all"</span>,
   <span class="hljs-attr">"aggregations"</span>: [
     {
@@ -140,7 +140,7 @@
   ]
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/cloudfiles.html"><span class="arrow-prev">← </span><span>Rackspace Cloud Files</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/graphite.html"><span>Graphite Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#timeseries-query">Timeseries  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/cloudfiles.html"><span class="arrow-prev">← </span><span>Rackspace Cloud Files</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/graphite.html"><span>Graphite Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#timeseries-query">Timeseries  [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -157,6 +157,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/gce-extensions.html b/docs/0.19.0/development/extensions-contrib/gce-extensions.html
new file mode 100644
index 0000000..7c34602
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/gce-extensions.html
@@ -0,0 +1,168 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>GCE Extensions · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/gce-extensions.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/gce-extensions.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">GCE Extensions</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>To use this Apache Druid (incubating) extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>gce-extensions</code>.</p>
+<p>At the moment, this extension enables only Druid to autoscale instances in GCE.</p>
+<p>The extension manages the instances to be scaled up and down through the use of the <a href="https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances#resize_managed_group">Managed Instance Groups</a>
+of GCE (MIG from now on). This choice has been made to ease the configuration of the machines and simplify their
+management.</p>
+<p>For this reason, in order to use this extension, the user must have created</p>
+<ol>
+<li>An instance template with the right machine type and image to bu used to run the MiddleManager</li>
+<li>A MIG that has been configured to use the instance template created in the point above</li>
+</ol>
+<p>Moreover, in order to be able to rescale the machines in the MIG, the Overlord must run with a service account
+guaranteeing the following two scopes from the <a href="https://developers.google.com/identity/protocols/googlescopes#computev1">Compute Engine API</a></p>
+<ul>
+<li><code>https://www.googleapis.com/auth/cloud-platform</code></li>
+<li><code>https://www.googleapis.com/auth/compute</code></li>
+</ul>
+<h2><a class="anchor" aria-hidden="true" id="overlord-dynamic-configuration"></a><a href="#overlord-dynamic-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
+<p>The Overlord can dynamically change worker behavior.</p>
+<p>The JSON object can be submitted to the Overlord via a POST request at:</p>
+<pre><code class="hljs">http:<span class="hljs-regexp">//</span>&lt;OVERLORD_IP&gt;:&lt;port&gt;<span class="hljs-regexp">/druid/i</span>ndexer<span class="hljs-regexp">/v1/</span>worker
+</code></pre>
+<p>Optional Header Parameters for auditing the config change can also be specified.</p>
+<table>
+<thead>
+<tr><th>Header Param Name</th><th>Description</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>X-Druid-Author</code></td><td>author making the config change</td><td>&quot;&quot;</td></tr>
+<tr><td><code>X-Druid-Comment</code></td><td>comment describing the change being done</td><td>&quot;&quot;</td></tr>
+</tbody>
+</table>
+<p>A sample worker config spec is shown below:</p>
+<pre><code class="hljs css language-json">{
+  <span class="hljs-attr">"autoScaler"</span>: {
+    <span class="hljs-attr">"envConfig"</span> : {
+      <span class="hljs-attr">"numInstances"</span> : <span class="hljs-number">1</span>,
+      <span class="hljs-attr">"projectId"</span> : <span class="hljs-string">"super-project"</span>,
+      <span class="hljs-attr">"zoneName"</span> : <span class="hljs-string">"us-central-1"</span>,
+      <span class="hljs-attr">"managedInstanceGroupName"</span> : <span class="hljs-string">"druid-middlemanagers"</span>
+    },
+    <span class="hljs-attr">"maxNumWorkers"</span> : <span class="hljs-number">4</span>,
+    <span class="hljs-attr">"minNumWorkers"</span> : <span class="hljs-number">2</span>,
+    <span class="hljs-attr">"type"</span> : <span class="hljs-string">"gce"</span>
+  }
+}
+</code></pre>
+<p>The configuration of the autoscaler is quite simple and it is made of two levels only.</p>
+<p>The external level specifies the <code>type</code>—always <code>gce</code> in this case— and two numeric values,
+the <code>maxNumWorkers</code> and <code>minNumWorkers</code> used to define the boundaries in between which the
+number of instances must be at any time.</p>
+<p>The internal level is the <code>envConfig</code> and it is used to specify</p>
+<ul>
+<li>The <code>numInstances</code> used to specify how many workers will be spawned at each
+request to provision more workers.  This is safe to be left to <code>1</code></li>
+<li>The <code>projectId</code> used to specify the name of the project in which the MIG resides</li>
+<li>The <code>zoneName</code> used to identify in which zone of the worlds the MIG is</li>
+<li>The <code>managedInstanceGroupName</code> used to specify the MIG containing the instances created or
+removed</li>
+</ul>
+<p>Please refer to the Overlord Dynamic Configuration section in the main <a href="/docs/0.19.0/configuration/index.html">documentation</a>
+for parameters other than the ones specified here, such as <code>selectStrategy</code> etc.</p>
+<h2><a class="anchor" aria-hidden="true" id="known-limitations"></a><a href="#known-limitations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
+<ul>
+<li>The module internally uses the <a href="https://cloud.google.com/compute/docs/reference/rest/v1/instanceGroupManagers/listManagedInstances">ListManagedInstances</a>
+call from the API and, while the documentation of the API states that the call can be paged through using the
+<code>pageToken</code> argument, the responses to such call do not provide any <code>nextPageToken</code> to set such parameter. This means
+that the extension can operate safely with a maximum of 500 MiddleManagers instances at any time (the maximum number
+of instances to be returned for each call).</li>
+</ul>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/time-min-max.html"><span class="arrow-prev">← </span><span>Timestamp Min/Max aggregators</span></a><a class="docs-next button" href="/docs/0.19.0/ingestion/standalone-realtime.html"><span>Realtime Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#overlord-dynamic-configuratio [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/google.html b/docs/0.19.0/development/extensions-contrib/google.html
new file mode 100644
index 0000000..cca1c23
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/google.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-core/google.html">
+<meta http-equiv="refresh" content="0; url=../extensions-core/google.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-core/google.html">Click here if you are not redirected.</a>
+<script>location="../extensions-core/google.html"</script>
diff --git a/docs/latest/development/extensions-contrib/graphite.html b/docs/0.19.0/development/extensions-contrib/graphite.html
similarity index 58%
copy from docs/latest/development/extensions-contrib/graphite.html
copy to docs/0.19.0/development/extensions-contrib/graphite.html
index f9c8f10..5d81830 100644
--- a/docs/latest/development/extensions-contrib/graphite.html
+++ b/docs/0.19.0/development/extensions-contrib/graphite.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Graphite Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/graphite.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" co [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Graphite Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/graphite.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" co [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/graphite.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Graphite Emitter</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/graphite.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Graphite Emitter</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>graphite-emitter</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>graphite-emitter</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>This extension emits druid metrics to a graphite carbon server.
 Metrics can be sent by using <a href="http://graphite.readthedocs.io/en/latest/feeding-carbon.html#the-plaintext-protocol">plaintext</a> or <a href="http://graphite.readthedocs.io/en/latest/feeding-carbon.html#the-pickle-protocol">pickle</a> protocol.
@@ -103,7 +103,7 @@ The pickle protocol is more efficient and supports sending batches of metrics (p
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="supported-event-types"></a><a href="#supported-event-types" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
-<p>The graphite emitter only emits service metric events to graphite (See <a href="/docs/latest/operations/metrics.html">Druid Metrics</a> for a list of metrics).</p>
+<p>The graphite emitter only emits service metric events to graphite (See <a href="/docs/0.19.0/operations/metrics.html">Druid Metrics</a> for a list of metrics).</p>
 <p>Alerts and request logs are not sent to graphite. These event types are not well represented in Graphite, which is more suited for timeseries views on numeric metrics, vs. storing non-numeric log events.</p>
 <p>Instead, alerts and request logs are optionally forwarded to other emitter implementations, specified by <code>druid.emitter.graphite.alertEmitters</code> and <code>druid.emitter.graphite.requestLogEmitters</code> respectively.</p>
 <h3><a class="anchor" aria-hidden="true" id="druid-to-graphite-event-converter"></a><a href="#druid-to-graphite-event-converter" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S1 [...]
@@ -148,7 +148,7 @@ druid.emitter.graphite.eventConverter={"type":"whiteList", "namespacePrefix": "d
 
 </code></pre>
 <p><strong>Druid emits a huge number of metrics we highly recommend to use the <code>whiteList</code> converter</strong></p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/distinctcount.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DistinctCount Aggregator</span></a><a class="docs-next button" href="/docs/latest/querying/hll-old.html"><span class="function-name-prevnext">Cardinality/HyperUnique aggregators</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/distinctcount.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DistinctCount Aggregator</span></a><a class="docs-next button" href="/docs/0.19.0/querying/hll-old.html"><span class="function-name-prevnext">Cardinality/HyperUnique aggregators</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul  [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -165,6 +165,6 @@ druid.emitter.graphite.eventConverter={"type":"whiteList", "namespacePrefix": "d
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/influx.html b/docs/0.19.0/development/extensions-contrib/influx.html
new file mode 100644
index 0000000..2ac98de
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/influx.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>InfluxDB Line Protocol Parser · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/influx.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch: [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/influx.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">InfluxDB Line Protocol Parser</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-influx-extensions</code>.</p>
+<p>This extension enables Druid to parse the <a href="https://docs.influxdata.com/influxdb/v1.5/write_protocols/line_protocol_tutorial/">InfluxDB Line Protocol</a>, a popular text-based timeseries metric serialization format.</p>
+<h2><a class="anchor" aria-hidden="true" id="line-protocol"></a><a href="#line-protocol" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>A typical line looks like this:</p>
+<p><code>cpu,application=dbhost=prdb123,region=us-east-1 usage_idle=99.24,usage_user=0.55 1520722030000000000</code></p>
+<p>which contains four parts:</p>
+<ul>
+<li>measurement: A string indicating the name of the measurement represented (e.g. cpu, network, web_requests)</li>
+<li>tags: zero or more key-value pairs (i.e. dimensions)</li>
+<li>measurements: one or more key-value pairs; values can be numeric, boolean, or string</li>
+<li>timestamp: nanoseconds since Unix epoch (the parser truncates it to milliseconds)</li>
+</ul>
+<p>The parser extracts these fields into a map, giving the measurement the key <code>measurement</code> and the timestamp the key <code>_ts</code>. The tag and measurement keys are copied verbatim, so users should take care to avoid name collisions. It is up to the ingestion spec to decide which fields should be treated as dimensions and which should be treated as metrics (typically tags correspond to dimensions and measurements correspond to metrics).</p>
+<p>The parser is configured like so:</p>
+<pre><code class="hljs css language-json">"parser": {
+      "type": "string",
+      "parseSpec": {
+        "format": "influx",
+        "timestampSpec": {
+          "column": "__ts",
+          "format": "millis"
+        },
+        "dimensionsSpec": {
+          "dimensionExclusions": [
+            "__ts"
+          ]
+        },
+        "whitelistMeasurements": [
+          "cpu"
+        ]
+      }
+</code></pre>
+<p>The <code>whitelistMeasurements</code> field is an optional list of strings. If present, measurements that do not match one of the strings in the list will be ignored.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/querying/select-query.html"><span class="arrow-prev">← </span><span>Select</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/influxdb-emitter.html"><span class="function-name-prevnext">InfluxDB Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#line-protocol">Line Proto [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/influxdb-emitter.html b/docs/0.19.0/development/extensions-contrib/influxdb-emitter.html
similarity index 54%
copy from docs/latest/development/extensions-contrib/influxdb-emitter.html
copy to docs/0.19.0/development/extensions-contrib/influxdb-emitter.html
index 8fe0066..3e650e3 100644
--- a/docs/latest/development/extensions-contrib/influxdb-emitter.html
+++ b/docs/0.19.0/development/extensions-contrib/influxdb-emitter.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>InfluxDB Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/influxdb-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>InfluxDB Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/influxdb-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:ver [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/influxdb-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">InfluxDB Emitter</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/influxdb-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">InfluxDB Emitter</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,9 +77,9 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-influxdb-emitter</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-influxdb-emitter</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>This extension emits druid metrics to <a href="https://www.influxdata.com/time-series-platform/influxdb/">InfluxDB</a> over HTTP. Currently this emitter only emits service metric events to InfluxDB (See <a href="/docs/latest/operations/metrics.html">Druid metrics</a> for a list of metrics).
+<p>This extension emits druid metrics to <a href="https://www.influxdata.com/time-series-platform/influxdb/">InfluxDB</a> over HTTP. Currently this emitter only emits service metric events to InfluxDB (See <a href="/docs/0.19.0/operations/metrics.html">Druid metrics</a> for a list of metrics).
 When a metric event is fired it is added to a queue of events. After a configurable amount of time, the events on the queue are transformed to InfluxDB's line protocol
 and POSTed to the InfluxDB HTTP API. The entire queue is flushed at this point. The queue is also flushed as the emitter is shutdown.</p>
 <p>Note that authentication and authorization must be <a href="https://docs.influxdata.com/influxdb/v1.7/administration/authentication_and_authorization/">enabled</a> on the InfluxDB server.</p>
@@ -117,7 +117,7 @@ and POSTed to the InfluxDB HTTP API. The entire queue is flushed at this point.
 <p>The InfluxDB emitter has a white list of dimensions
 which will be added as a tag to the line protocol string if the metric has a dimension from the white list.
 The value of the dimension is sanitized such that every occurrence of a dot or whitespace is replaced with a <code>_</code> .</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/influx.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">InfluxDB Line Protocol Parser</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/kafka-emitter.html"><span>Kafka Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/influx.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">InfluxDB Line Protocol Parser</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/kafka-emitter.html"><span>Kafka Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -134,6 +134,6 @@ The value of the dimension is sanitized such that every occurrence of a dot or w
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/kafka-emitter.html b/docs/0.19.0/development/extensions-contrib/kafka-emitter.html
similarity index 50%
copy from docs/latest/development/extensions-contrib/kafka-emitter.html
copy to docs/0.19.0/development/extensions-contrib/kafka-emitter.html
index 5613426..a793d0a 100644
--- a/docs/latest/development/extensions-contrib/kafka-emitter.html
+++ b/docs/0.19.0/development/extensions-contrib/kafka-emitter.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Kafka Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/kafka-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version"  [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Kafka Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/kafka-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version"  [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/kafka-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Kafka Emitter</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/kafka-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Kafka Emitter</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>kafka-emitter</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>kafka-emitter</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>This extension emits Druid metrics to <a href="https://kafka.apache.org">Apache Kafka</a> directly with JSON format.<br>
 Currently, Kafka has not only their nice ecosystem but also consumer API readily available.
@@ -98,12 +98,12 @@ to monitor the status of your Druid cluster with this extension.</p>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="example"></a><a href="#example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1- [...]
-<pre><code class="hljs">druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.bootstrap</span><span class="hljs-selector-class">.servers</span>=hostname1:<span class="hljs-number">9092</span>,hostname2:<span class="hljs-number">9092</span>
-druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.metric</span><span class="hljs-selector-class">.topic</span>=druid-metric
-druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.alert</span><span class="hljs-selector-class">.topic</span>=druid-alert
-druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.producer</span><span class="hljs-selector-class">.config</span>={<span class="hljs-string">"max.block.ms"</span>:<span class="hljs-number">10000</span>}
+<pre><code class="hljs">druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.bootstrap</span>.servers=hostname1:<span class="hljs-number">9092</span>,hostname2:<span class="hljs-number">9092</span>
+druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.metric</span>.topic=druid-metric
+druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.alert</span>.topic=druid-alert
+druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector-class">.kafka</span><span class="hljs-selector-class">.producer</span>.config={<span class="hljs-string">"max.block.ms"</span>:<span class="hljs-number">10000</span>}
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/influxdb-emitter.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">InfluxDB Emitter</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/materialized-view.html"><span>Materialized View</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings">< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/influxdb-emitter.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">InfluxDB Emitter</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/materialized-view.html"><span>Materialized View</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings">< [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -120,6 +120,6 @@ druid<span class="hljs-selector-class">.emitter</span><span class="hljs-selector
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/kafka-simple.html b/docs/0.19.0/development/extensions-contrib/kafka-simple.html
new file mode 100644
index 0000000..4d4bfd2
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/kafka-simple.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../../ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=../../ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="../../ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="../../ingestion/standalone-realtime.html"</script>
diff --git a/docs/latest/development/extensions-contrib/materialized-view.html b/docs/0.19.0/development/extensions-contrib/materialized-view.html
similarity index 56%
copy from docs/latest/development/extensions-contrib/materialized-view.html
copy to docs/0.19.0/development/extensions-contrib/materialized-view.html
index bdd9ae9..74fc8ee 100644
--- a/docs/latest/development/extensions-contrib/materialized-view.html
+++ b/docs/0.19.0/development/extensions-contrib/materialized-view.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Materialized View · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/materialized-view.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:v [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Materialized View · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/materialized-view.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:v [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/materialized-view.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Materialized View</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/materialized-view.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Materialized View</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -122,7 +122,7 @@ The <code>derivativeDataSource</code> supervisor is used to keep the timeline of
 <tr><td>Type</td><td>The supervisor type. This should always be <code>derivativeDataSource</code>.</td><td>yes</td></tr>
 <tr><td>baseDataSource</td><td>The name of base dataSource. This dataSource data should be already stored inside Druid, and the dataSource will be used as input data.</td><td>yes</td></tr>
 <tr><td>dimensionsSpec</td><td>Specifies the dimensions of the data. These dimensions must be the subset of baseDataSource's dimensions.</td><td>yes</td></tr>
-<tr><td>metricsSpec</td><td>A list of aggregators. These metrics must be the subset of baseDataSource's metrics. See <a href="/docs/latest/querying/aggregations.html">aggregations</a>.</td><td>yes</td></tr>
+<tr><td>metricsSpec</td><td>A list of aggregators. These metrics must be the subset of baseDataSource's metrics. See <a href="/docs/0.19.0/querying/aggregations.html">aggregations</a>.</td><td>yes</td></tr>
 <tr><td>tuningConfig</td><td>TuningConfig must be HadoopTuningConfig. See <a href="../../ingestion/hadoop.html#tuningconfig">Hadoop tuning config</a>.</td><td>yes</td></tr>
 <tr><td>dataSource</td><td>The name of this derived dataSource.</td><td>no(default=baseDataSource-hashCode of supervisor)</td></tr>
 <tr><td>hadoopDependencyCoordinates</td><td>A JSON array of Hadoop dependency coordinates that Druid will use, this property will override the default Hadoop coordinates. Once specified, Druid will look for those Hadoop dependencies from the location specified by druid.extensions.hadoopDependenciesDir</td><td>no</td></tr>
@@ -182,11 +182,11 @@ The <code>derivativeDataSource</code> supervisor is used to keep the timeline of
 </thead>
 <tbody>
 <tr><td>queryType</td><td>The query type. This should always be view</td><td>yes</td></tr>
-<tr><td>query</td><td>The real query of this <code>view</code> query. The real query must be <a href="/docs/latest/querying/groupbyquery.html">groupBy</a>, <a href="/docs/latest/querying/topnquery.html">topN</a>, or <a href="/docs/latest/querying/timeseriesquery.html">timeseries</a> type.</td><td>yes</td></tr>
+<tr><td>query</td><td>The real query of this <code>view</code> query. The real query must be <a href="/docs/0.19.0/querying/groupbyquery.html">groupBy</a>, <a href="/docs/0.19.0/querying/topnquery.html">topN</a>, or <a href="/docs/0.19.0/querying/timeseriesquery.html">timeseries</a> type.</td><td>yes</td></tr>
 </tbody>
 </table>
 <p><strong>Note that Materialized View is currently designated as experimental. Please make sure the time of all processes are the same and increase monotonically. Otherwise, some unexpected errors may happen on query results.</strong></p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/kafka-emitter.html"><span class="arrow-prev">← </span><span>Kafka Emitter</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/momentsketch-quantiles.html"><span>Moment Sketches for Approximate Quantiles module</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/kafka-emitter.html"><span class="arrow-prev">← </span><span>Kafka Emitter</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/momentsketch-quantiles.html"><span>Moment Sketches for Approximate Quantiles module</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><l [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -203,6 +203,6 @@ The <code>derivativeDataSource</code> supervisor is used to keep the timeline of
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/momentsketch-quantiles.html b/docs/0.19.0/development/extensions-contrib/momentsketch-quantiles.html
similarity index 54%
copy from docs/latest/development/extensions-contrib/momentsketch-quantiles.html
copy to docs/0.19.0/development/extensions-contrib/momentsketch-quantiles.html
index 51021e7..ec20f6a 100644
--- a/docs/latest/development/extensions-contrib/momentsketch-quantiles.html
+++ b/docs/0.19.0/development/extensions-contrib/momentsketch-quantiles.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Moment Sketches for Approximate Quantiles module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/momentsketch-quantiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" c [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Moment Sketches for Approximate Quantiles module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/momentsketch-quantiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" c [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/momentsketch-quantiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Moment Sketches for Approximate Quantiles module</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/momentsketch-quantiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Moment Sketches for Approximate Quantiles module</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -79,8 +79,8 @@
   -->
 <p>This module provides aggregators for approximate quantile queries using the <a href="https://github.com/stanford-futuredata/momentsketch">momentsketch</a> library.
 The momentsketch provides coarse quantile estimates with less space and aggregation time overheads than traditional sketches, approaching the performance of counts and sums by reconstructing distributions from computed statistics.</p>
-<p>To use this Apache Druid extension, make sure you <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.extensions</span><span class="hljs-selector-class">.loadList</span>=[<span class="hljs-string">"druid-momentsketch"</span>]
+<p>To use this Apache Druid extension, make sure you <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.extensions.loadList</span>=[<span class="hljs-string">"druid-momentsketch"</span>]
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="aggregator"></a><a href="#aggregator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>The result of the aggregation is a momentsketch that is the union of all sketches either built from raw data or read from the segments.</p>
@@ -160,7 +160,7 @@ The momentsketch provides coarse quantile estimates with less space and aggregat
   }]
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/materialized-view.html"><span class="arrow-prev">← </span><span>Materialized View</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/moving-average-query.html"><span>Moving Average Query</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-foote [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/materialized-view.html"><span class="arrow-prev">← </span><span>Materialized View</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/moving-average-query.html"><span>Moving Average Query</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-foote [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -177,6 +177,6 @@ The momentsketch provides coarse quantile estimates with less space and aggregat
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/moving-average-query.html b/docs/0.19.0/development/extensions-contrib/moving-average-query.html
similarity index 68%
copy from docs/latest/development/extensions-contrib/moving-average-query.html
copy to docs/0.19.0/development/extensions-contrib/moving-average-query.html
index 7664737..3ce4b87 100644
--- a/docs/latest/development/extensions-contrib/moving-average-query.html
+++ b/docs/0.19.0/development/extensions-contrib/moving-average-query.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Moving Average Query · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/moving-average-query.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docse [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Moving Average Query · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/moving-average-query.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docse [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/moving-average-query.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Moving Average Query</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/moving-average-query.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Moving Average Query</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -81,7 +81,7 @@
 <p><strong>Moving Average Query</strong> is an extension which provides support for <a href="https://en.wikipedia.org/wiki/Moving_average">Moving Average</a> and other Aggregate <a href="https://en.wikibooks.org/wiki/Structured_Query_Language/Window_functions">Window Functions</a> in Druid queries.</p>
 <p>These Aggregate Window Functions consume standard Druid Aggregators and outputs additional windowed aggregates called <a href="#averagers">Averagers</a>.</p>
 <h4><a class="anchor" aria-hidden="true" id="high-level-algorithm"></a><a href="#high-level-algorithm" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
-<p>Moving Average encapsulates the <a href="/docs/latest/querying/groupbyquery.html">groupBy query</a> (Or <a href="/docs/latest/querying/timeseriesquery.html">timeseries</a> in case of no dimensions) in order to rely on the maturity of these query types.</p>
+<p>Moving Average encapsulates the <a href="/docs/0.19.0/querying/groupbyquery.html">groupBy query</a> (Or <a href="/docs/0.19.0/querying/timeseriesquery.html">timeseries</a> in case of no dimensions) in order to rely on the maturity of these query types.</p>
 <p>It runs the query in two main phases:</p>
 <ol>
 <li>Runs an inner <a href="../../querying/groupbyquery.html">groupBy</a> or <a href="../../querying/timeseriesquery.html">timeseries</a> query to compute Aggregators (i.e. daily count of events).</li>
@@ -97,7 +97,7 @@
 <p><a href="https://en.wikibooks.org/wiki/Structured_Query_Language/Window_functions">Window Functions</a></p>
 <p><a href="https://cloud.google.com/bigquery/docs/reference/standard-sql/analytic-function-concepts">Analytic Functions</a></p>
 <h2><a class="anchor" aria-hidden="true" id="operations"></a><a href="#operations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
-<p>To use this extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">load</a> <code>druid-moving-average-query</code> only to the Broker.</p>
+<p>To use this extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">load</a> <code>druid-moving-average-query</code> only to the Broker.</p>
 <h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>There are currently no configuration properties specific to Moving Average.</p>
 <h2><a class="anchor" aria-hidden="true" id="limitations"></a><a href="#limitations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
@@ -108,7 +108,7 @@
 </ul>
 <p>##Query spec:</p>
 <ul>
-<li>Most properties in the query spec derived from  <a href="/docs/latest/querying/groupbyquery.html">groupBy query</a> / <a href="/docs/latest/querying/timeseriesquery.html">timeseries</a>, see documentation for these query types.</li>
+<li>Most properties in the query spec derived from  <a href="/docs/0.19.0/querying/groupbyquery.html">groupBy query</a> / <a href="/docs/0.19.0/querying/timeseriesquery.html">timeseries</a>, see documentation for these query types.</li>
 </ul>
 <table>
 <thead>
@@ -116,18 +116,18 @@
 </thead>
 <tbody>
 <tr><td>queryType</td><td>This String should always be &quot;movingAverage&quot;; this is the first thing Druid looks at to figure out how to interpret the query.</td><td>yes</td></tr>
-<tr><td>dataSource</td><td>A String or Object defining the data source to query, very similar to a table in a relational database. See <a href="/docs/latest/querying/datasource.html">DataSource</a> for more information.</td><td>yes</td></tr>
-<tr><td>dimensions</td><td>A JSON list of <a href="/docs/latest/querying/dimensionspecs.html">DimensionSpec</a> (Notice that property is optional)</td><td>no</td></tr>
-<tr><td>limitSpec</td><td>See <a href="/docs/latest/querying/limitspec.html">LimitSpec</a></td><td>no</td></tr>
-<tr><td>having</td><td>See <a href="/docs/latest/querying/having.html">Having</a></td><td>no</td></tr>
+<tr><td>dataSource</td><td>A String or Object defining the data source to query, very similar to a table in a relational database. See <a href="/docs/0.19.0/querying/datasource.html">DataSource</a> for more information.</td><td>yes</td></tr>
+<tr><td>dimensions</td><td>A JSON list of <a href="/docs/0.19.0/querying/dimensionspecs.html">DimensionSpec</a> (Notice that property is optional)</td><td>no</td></tr>
+<tr><td>limitSpec</td><td>See <a href="/docs/0.19.0/querying/limitspec.html">LimitSpec</a></td><td>no</td></tr>
+<tr><td>having</td><td>See <a href="/docs/0.19.0/querying/having.html">Having</a></td><td>no</td></tr>
 <tr><td>granularity</td><td>A period granularity; See <a href="../../querying/granularities.html#period-granularities">Period Granularities</a></td><td>yes</td></tr>
-<tr><td>filter</td><td>See <a href="/docs/latest/querying/filters.html">Filters</a></td><td>no</td></tr>
-<tr><td>aggregations</td><td>Aggregations forms the input to Averagers; See <a href="/docs/latest/querying/aggregations.html">Aggregations</a></td><td>yes</td></tr>
-<tr><td>postAggregations</td><td>Supports only aggregations as input; See <a href="/docs/latest/querying/post-aggregations.html">Post Aggregations</a></td><td>no</td></tr>
+<tr><td>filter</td><td>See <a href="/docs/0.19.0/querying/filters.html">Filters</a></td><td>no</td></tr>
+<tr><td>aggregations</td><td>Aggregations forms the input to Averagers; See <a href="/docs/0.19.0/querying/aggregations.html">Aggregations</a></td><td>yes</td></tr>
+<tr><td>postAggregations</td><td>Supports only aggregations as input; See <a href="/docs/0.19.0/querying/post-aggregations.html">Post Aggregations</a></td><td>no</td></tr>
 <tr><td>intervals</td><td>A JSON Object representing ISO-8601 Intervals. This defines the time ranges to run the query over.</td><td>yes</td></tr>
 <tr><td>context</td><td>An additional JSON Object which can be used to specify certain flags.</td><td>no</td></tr>
 <tr><td>averagers</td><td>Defines the moving average function; See <a href="#averagers">Averagers</a></td><td>yes</td></tr>
-<tr><td>postAveragers</td><td>Support input of both averagers and aggregations; Syntax is identical to postAggregations (See <a href="/docs/latest/querying/post-aggregations.html">Post Aggregations</a>)</td><td>no</td></tr>
+<tr><td>postAveragers</td><td>Support input of both averagers and aggregations; Syntax is identical to postAggregations (See <a href="/docs/0.19.0/querying/post-aggregations.html">Post Aggregations</a>)</td><td>no</td></tr>
 </tbody>
 </table>
 <h2><a class="anchor" aria-hidden="true" id="averagers"></a><a href="#averagers" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -190,7 +190,7 @@ A prime example would be weekly buckets, resulting in a Day of Week calculation.
 <p>Within each output record, the averager will compute the result over the following buckets: current (#0), #7, #14, #21.
 Whereas without specifying cycleSize it would have computed over all 28 buckets.</p>
 <h2><a class="anchor" aria-hidden="true" id="examples"></a><a href="#examples" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
-<p>All examples are based on the Wikipedia dataset provided in the Druid <a href="/docs/latest/tutorials/index.html">tutorials</a>.</p>
+<p>All examples are based on the Wikipedia dataset provided in the Druid <a href="/docs/0.19.0/tutorials/index.html">tutorials</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="basic-example"></a><a href="#basic-example" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>Calculating a 7-buckets moving average for Wikipedia edit deltas.</p>
 <p>Query syntax:</p>
@@ -369,7 +369,7 @@ Whereas without specifying cycleSize it would have computed over all 28 buckets.
   ]
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/momentsketch-quantiles.html"><span class="arrow-prev">← </span><span>Moment Sketches for Approximate Quantiles module</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/opentsdb-emitter.html"><span class="function-name-prevnext">OpenTSDB Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="o [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/momentsketch-quantiles.html"><span class="arrow-prev">← </span><span>Moment Sketches for Approximate Quantiles module</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/opentsdb-emitter.html"><span class="function-name-prevnext">OpenTSDB Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="o [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -386,6 +386,6 @@ Whereas without specifying cycleSize it would have computed over all 28 buckets.
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/opentsdb-emitter.html b/docs/0.19.0/development/extensions-contrib/opentsdb-emitter.html
similarity index 52%
copy from docs/latest/development/extensions-contrib/opentsdb-emitter.html
copy to docs/0.19.0/development/extensions-contrib/opentsdb-emitter.html
index 020f088..b987daa 100644
--- a/docs/latest/development/extensions-contrib/opentsdb-emitter.html
+++ b/docs/0.19.0/development/extensions-contrib/opentsdb-emitter.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>OpenTSDB Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/opentsdb-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:ver [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>OpenTSDB Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/opentsdb-emitter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:ver [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/opentsdb-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">OpenTSDB Emitter</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/opentsdb-emitter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">OpenTSDB Emitter</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,9 +77,9 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>opentsdb-emitter</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>opentsdb-emitter</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>This extension emits druid metrics to <a href="https://github.com/OpenTSDB/opentsdb">OpenTSDB</a> over HTTP (Using <code>Jersey client</code>). And this emitter only emits service metric events to OpenTSDB (See <a href="/docs/latest/operations/metrics.html">Druid metrics</a> for a list of metrics).</p>
+<p>This extension emits druid metrics to <a href="https://github.com/OpenTSDB/opentsdb">OpenTSDB</a> over HTTP (Using <code>Jersey client</code>). And this emitter only emits service metric events to OpenTSDB (See <a href="/docs/0.19.0/operations/metrics.html">Druid metrics</a> for a list of metrics).</p>
 <h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>All the configuration parameters for the OpenTSDB emitter are under <code>druid.emitter.opentsdb</code>.</p>
 <table>
@@ -109,7 +109,7 @@ e.g.</p>
 ]
 </code></pre>
 <p>For most use-cases, the default configuration is sufficient.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/moving-average-query.html"><span class="arrow-prev">← </span><span>Moving Average Query</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/redis-cache.html"><span>Druid Redis Cache</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">In [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/moving-average-query.html"><span class="arrow-prev">← </span><span>Moving Average Query</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/redis-cache.html"><span>Druid Redis Cache</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#introduction">In [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -126,6 +126,6 @@ e.g.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/orc.html b/docs/0.19.0/development/extensions-contrib/orc.html
new file mode 100644
index 0000000..f5c91cf
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/orc.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../extensions-core/orc.html">
+<meta http-equiv="refresh" content="0; url=../extensions-core/orc.html">
+<h1>Redirecting...</h1>
+<a href="../extensions-core/orc.html">Click here if you are not redirected.</a>
+<script>location="../extensions-core/orc.html"</script>
diff --git a/docs/0.19.0/development/extensions-contrib/parquet.html b/docs/0.19.0/development/extensions-contrib/parquet.html
new file mode 100644
index 0000000..edc7307
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/parquet.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../../development/extensions-core/parquet.html">
+<meta http-equiv="refresh" content="0; url=../../development/extensions-core/parquet.html">
+<h1>Redirecting...</h1>
+<a href="../../development/extensions-core/parquet.html">Click here if you are not redirected.</a>
+<script>location="../../development/extensions-core/parquet.html"</script>
diff --git a/docs/0.19.0/development/extensions-contrib/rabbitmq.html b/docs/0.19.0/development/extensions-contrib/rabbitmq.html
new file mode 100644
index 0000000..4d4bfd2
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/rabbitmq.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../../ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=../../ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="../../ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="../../ingestion/standalone-realtime.html"</script>
diff --git a/docs/latest/development/extensions-contrib/redis-cache.html b/docs/0.19.0/development/extensions-contrib/redis-cache.html
similarity index 51%
copy from docs/latest/development/extensions-contrib/redis-cache.html
copy to docs/0.19.0/development/extensions-contrib/redis-cache.html
index 5eda946..c163112 100644
--- a/docs/latest/development/extensions-contrib/redis-cache.html
+++ b/docs/0.19.0/development/extensions-contrib/redis-cache.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Druid Redis Cache · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/redis-cache.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Druid Redis Cache · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/redis-cache.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/redis-cache.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Druid Redis Cache</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/redis-cache.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Druid Redis Cache</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-redis-cache</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-redis-cache</code> extension.</p>
 <p>A cache implementation for Druid based on <a href="https://github.com/antirez/redis">Redis</a>.</p>
 <p>Below are the configuration options known to this module.</p>
 <p>Note that just adding these properties does not enable the cache. You still need to add the <code>druid.&lt;process-type&gt;.cache.useCache</code> and <code>druid.&lt;process-type&gt;.cache.populateCache</code> properties for the processes you want to enable the cache on as described in the <a href="../../configuration/index.html#cache-configuration">cache configuration docs</a>.</p>
@@ -109,7 +109,7 @@
 <tr><td><code>query/cache/redis/*/requests</code></td><td>Count of requests to redis cache</td><td>whatever request to redis will increase request count by 1</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/opentsdb-emitter.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">OpenTSDB Emitter</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/sqlserver.html"><span>Microsoft SQLServer</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a  [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/opentsdb-emitter.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">OpenTSDB Emitter</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/sqlserver.html"><span>Microsoft SQLServer</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a  [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -126,6 +126,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-contrib/rocketmq.html b/docs/0.19.0/development/extensions-contrib/rocketmq.html
new file mode 100644
index 0000000..4d4bfd2
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/rocketmq.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../../ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=../../ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="../../ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="../../ingestion/standalone-realtime.html"</script>
diff --git a/docs/0.19.0/development/extensions-contrib/scan-query.html b/docs/0.19.0/development/extensions-contrib/scan-query.html
new file mode 100644
index 0000000..38ab2db
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/scan-query.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../../querying/scan-query.html">
+<meta http-equiv="refresh" content="0; url=../../querying/scan-query.html">
+<h1>Redirecting...</h1>
+<a href="../../querying/scan-query.html">Click here if you are not redirected.</a>
+<script>location="../../querying/scan-query.html"</script>
diff --git a/docs/0.19.0/development/extensions-contrib/sqlserver.html b/docs/0.19.0/development/extensions-contrib/sqlserver.html
new file mode 100644
index 0000000..ba7a35d
--- /dev/null
+++ b/docs/0.19.0/development/extensions-contrib/sqlserver.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Microsoft SQLServer · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/sqlserver.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/sqlserver.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Microsoft SQLServer</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>sqlserver-metadata-storage</code> as an extension.</p>
+<h2><a class="anchor" aria-hidden="true" id="setting-up-sqlserver"></a><a href="#setting-up-sqlserver" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
+<ol>
+<li><p>Install Microsoft SQLServer</p></li>
+<li><p>Create a druid database and user</p></li>
+</ol>
+<p>Create the druid user</p>
+<ul>
+<li>Microsoft SQL Server Management Studio - Security - Logins - New Login...</li>
+<li>Create a druid user, enter <code>diurd</code> when prompted for the password.</li>
+</ul>
+<p>Create a druid database owned by the user we just created</p>
+<ul>
+<li>Databases - New Database</li>
+<li>Database Name: druid, Owner: druid</li>
+</ul>
+<ol start="3">
+<li>Add the Microsoft JDBC library to the Druid classpath</li>
+</ol>
+<ul>
+<li>To ensure the com.microsoft.sqlserver.jdbc.SQLServerDriver class is loaded you will have to add the appropriate Microsoft JDBC library (sqljdbc*.jar) to the Druid classpath.</li>
+<li>For instance, if all jar files in your &quot;druid/lib&quot; directory are automatically added to your Druid classpath, then manually download the Microsoft JDBC drivers from ( <a href="https://www.microsoft.com/en-ca/download/details.aspx?id=11774">https://www.microsoft.com/en-ca/download/details.aspx?id=11774</a>) and drop it into my druid/lib directory.</li>
+</ul>
+<ol start="4">
+<li>Configure your Druid metadata storage extension:</li>
+</ol>
+<p>Add the following parameters to your Druid configuration, replacing <code>&lt;host&gt;</code>
+with the location (host name and port) of the database.</p>
+<pre><code class="hljs css language-properties"><span class="hljs-meta">druid.metadata.storage.type</span>=<span class="hljs-string">sqlserver</span>
+<span class="hljs-meta">druid.metadata.storage.connector.connectURI</span>=<span class="hljs-string">jdbc:sqlserver://&lt;host&gt;;databaseName=druid</span>
+<span class="hljs-meta">druid.metadata.storage.connector.user</span>=<span class="hljs-string">druid</span>
+<span class="hljs-meta">druid.metadata.storage.connector.password</span>=<span class="hljs-string">diurd</span>
+</code></pre>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/redis-cache.html"><span class="arrow-prev">← </span><span>Druid Redis Cache</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/statsd.html"><span class="function-name-prevnext">StatsD Emitter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#setti [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/statsd.html b/docs/0.19.0/development/extensions-contrib/statsd.html
similarity index 54%
copy from docs/latest/development/extensions-contrib/statsd.html
copy to docs/0.19.0/development/extensions-contrib/statsd.html
index a182121..cbf0b91 100644
--- a/docs/latest/development/extensions-contrib/statsd.html
+++ b/docs/0.19.0/development/extensions-contrib/statsd.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>StatsD Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/statsd.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" conten [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>StatsD Emitter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/statsd.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" conten [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/statsd.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">StatsD Emitter</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/statsd.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">StatsD Emitter</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>statsd-emitter</code> extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>statsd-emitter</code> extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="introduction"></a><a href="#introduction" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <p>This extension emits druid metrics to a StatsD server.
 (<a href="https://github.com/etsy/statsd">https://github.com/etsy/statsd</a>)
@@ -118,7 +118,7 @@ the service name.
 e.g.
 <code>&quot;coordinator-segment/count&quot; : { &quot;dimensions&quot; : [&quot;dataSource&quot;], &quot;type&quot; : &quot;gauge&quot; }, &quot;historical-segment/count&quot; : { &quot;dimensions&quot; : [&quot;dataSource&quot;, &quot;tier&quot;, &quot;priority&quot;], &quot;type&quot; : &quot;gauge&quot; }</code></p>
 <p>For most use-cases, the default mapping is sufficient.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/sqlserver.html"><span class="arrow-prev">← </span><span>Microsoft SQLServer</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/tdigestsketch-quantiles.html"><span>T-Digest Quantiles Sketch module</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#i [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/sqlserver.html"><span class="arrow-prev">← </span><span>Microsoft SQLServer</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/tdigestsketch-quantiles.html"><span>T-Digest Quantiles Sketch module</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#i [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -135,6 +135,6 @@ e.g.
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/tdigestsketch-quantiles.html b/docs/0.19.0/development/extensions-contrib/tdigestsketch-quantiles.html
similarity index 56%
copy from docs/latest/development/extensions-contrib/tdigestsketch-quantiles.html
copy to docs/0.19.0/development/extensions-contrib/tdigestsketch-quantiles.html
index b0d7914..beefae2 100644
--- a/docs/latest/development/extensions-contrib/tdigestsketch-quantiles.html
+++ b/docs/0.19.0/development/extensions-contrib/tdigestsketch-quantiles.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>T-Digest Quantiles Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/tdigestsketch-quantiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><m [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>T-Digest Quantiles Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/tdigestsketch-quantiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><m [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/tdigestsketch-quantiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">T-Digest Quantiles Sketch module</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/tdigestsketch-quantiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">T-Digest Quantiles Sketch module</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -87,8 +87,8 @@ While one can generate sketches on the fly during the query time itself, it gene
 to generate sketches during ingestion time itself and then combining them during query time.
 The module also provides a postAggregator, quantilesFromTDigestSketch, that can be used to compute approximate
 quantiles from T-Digest sketches generated by the tDigestSketch aggregator.</p>
-<p>To use this aggregator, make sure you <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.extensions</span><span class="hljs-selector-class">.loadList</span>=[<span class="hljs-string">"druid-tdigestsketch"</span>]
+<p>To use this aggregator, make sure you <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.extensions.loadList</span>=[<span class="hljs-string">"druid-tdigestsketch"</span>]
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="aggregator"></a><a href="#aggregator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>The result of the aggregation is a T-Digest sketch that is built ingesting numeric values from the raw data or from
@@ -190,7 +190,7 @@ combining pre-generated T-Digest sketches.</p>
 <tr><td>fraction</td><td>Decimal value between 0 and 1</td><td>yes</td></tr>
 </tbody>
 </table>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/statsd.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">StatsD Emitter</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/thrift.html"><span>Thrift</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="foot [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/statsd.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">StatsD Emitter</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/thrift.html"><span>Thrift</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="foot [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -207,6 +207,6 @@ combining pre-generated T-Digest sketches.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/thrift.html b/docs/0.19.0/development/extensions-contrib/thrift.html
similarity index 51%
copy from docs/latest/development/extensions-contrib/thrift.html
copy to docs/0.19.0/development/extensions-contrib/thrift.html
index 7a6c69a..66dbbae 100644
--- a/docs/latest/development/extensions-contrib/thrift.html
+++ b/docs/0.19.0/development/extensions-contrib/thrift.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Thrift · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/thrift.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18. [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Thrift · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/thrift.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19. [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/thrift.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Thrift</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/thrift.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Thrift</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-thrift-extensions</code>.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-thrift-extensions</code>.</p>
 <p>This extension enables Druid to ingest thrift compact data online (<code>ByteBuffer</code>) and offline (SequenceFile of type <code>&lt;Writable, BytesWritable&gt;</code> or LzoThriftBlock File).</p>
 <p>You may want to use another version of thrift, change the dependency in pom and compile yourself.</p>
 <h2><a class="anchor" aria-hidden="true" id="lzo-support"></a><a href="#lzo-support" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
@@ -135,7 +135,7 @@
   }
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/tdigestsketch-quantiles.html"><span class="arrow-prev">← </span><span>T-Digest Quantiles Sketch module</span></a><a class="docs-next button" href="/docs/latest/development/extensions-contrib/time-min-max.html"><span>Timestamp Min/Max aggregators</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><l [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/tdigestsketch-quantiles.html"><span class="arrow-prev">← </span><span>T-Digest Quantiles Sketch module</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/time-min-max.html"><span>Timestamp Min/Max aggregators</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><l [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -152,6 +152,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-contrib/time-min-max.html b/docs/0.19.0/development/extensions-contrib/time-min-max.html
similarity index 51%
copy from docs/latest/development/extensions-contrib/time-min-max.html
copy to docs/0.19.0/development/extensions-contrib/time-min-max.html
index ff73937..8b345d0 100644
--- a/docs/latest/development/extensions-contrib/time-min-max.html
+++ b/docs/0.19.0/development/extensions-contrib/time-min-max.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Timestamp Min/Max aggregators · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-contrib/time-min-max.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docs [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Timestamp Min/Max aggregators · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-contrib/time-min-max.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docs [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/time-min-max.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Timestamp Min/Max aggregators</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-contrib/time-min-max.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Timestamp Min/Max aggregators</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-time-min-max</code>.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-time-min-max</code>.</p>
 <p>These aggregators enable more precise calculation of min and max time of given events than <code>__time</code> column whose granularity is sparse, the same as query granularity.
 To use this feature, a &quot;timeMin&quot; or &quot;timeMax&quot; aggregator must be included at indexing time.
 They can apply to any columns that can be converted to timestamp, which include Long, DateTime, Timestamp, and String types.</p>
@@ -140,7 +140,7 @@ They can apply to any columns that can be converted to timestamp, which include
 <span class="hljs-number">2015</span><span class="hljs-number">-07</span><span class="hljs-number">-29</span>T00:<span class="hljs-number">00</span>:<span class="hljs-number">00.000</span>Z A <span class="hljs-number">2</span> <span class="hljs-number">2015</span><span class="hljs-number">-07</span><span class="hljs-number">-29</span>T03:<span class="hljs-number">00</span>:<span class="hljs-number">00.000</span>Z <span class="hljs-number">2015</span><span class="hljs-number">-07</span><s [...]
 <span class="hljs-number">2015</span><span class="hljs-number">-07</span><span class="hljs-number">-29</span>T00:<span class="hljs-number">00</span>:<span class="hljs-number">00.000</span>Z C <span class="hljs-number">2</span> <span class="hljs-number">2015</span><span class="hljs-number">-07</span><span class="hljs-number">-29</span>T01:<span class="hljs-number">00</span>:<span class="hljs-number">00.000</span>Z <span class="hljs-number">2015</span><span class="hljs-number">-07</span><s [...]
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-contrib/thrift.html"><span class="arrow-prev">← </span><span>Thrift</span></a><a class="docs-next button" href="/docs/latest/ingestion/standalone-realtime.html"><span>Realtime Process</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-contrib/thrift.html"><span class="arrow-prev">← </span><span>Thrift</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-contrib/gce-extensions.html"><span>GCE Extensions</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="contain [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -157,6 +157,6 @@ They can apply to any columns that can be converted to timestamp, which include
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/approximate-histograms.html b/docs/0.19.0/development/extensions-core/approximate-histograms.html
similarity index 69%
copy from docs/latest/development/extensions-core/approximate-histograms.html
copy to docs/0.19.0/development/extensions-core/approximate-histograms.html
index 89bcbf9..68ebe5e 100644
--- a/docs/latest/development/extensions-core/approximate-histograms.html
+++ b/docs/0.19.0/development/extensions-core/approximate-histograms.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Approximate Histogram aggregators · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/approximate-histograms.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Approximate Histogram aggregators · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/approximate-histograms.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/approximate-histograms.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Approximate Histogram aggregators</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/approximate-histograms.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Approximate Histogram aggregators</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,12 +77,12 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-histogram</code> as an extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-histogram</code> as an extension.</p>
 <p>The <code>druid-histogram</code> extension provides an approximate histogram aggregator and a fixed buckets histogram aggregator.</p>
 <p><a name="approximate-histogram-aggregator"></a></p>
 <h2><a class="anchor" aria-hidden="true" id="approximate-histogram-aggregator-deprecated"></a><a href="#approximate-histogram-aggregator-deprecated" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h [...]
 <blockquote>
-<p>The Approximate Histogram aggregator is deprecated. Please use <a href="/docs/latest/development/extensions-core/datasketches-quantiles.html">DataSketches Quantiles</a> instead which provides a superior distribution-independent algorithm with formal error guarantees.</p>
+<p>The Approximate Histogram aggregator is deprecated. Please use <a href="/docs/0.19.0/development/extensions-core/datasketches-quantiles.html">DataSketches Quantiles</a> instead which provides a superior distribution-independent algorithm with formal error guarantees.</p>
 </blockquote>
 <p>This aggregator is based on
 <a href="http://jmlr.org/papers/volume11/ben-haim10a/ben-haim10a.pdf">http://jmlr.org/papers/volume11/ben-haim10a/ben-haim10a.pdf</a>
@@ -154,7 +154,7 @@ query.</p>
 <p>This histogram supports the min/max/quantiles post-aggregators but does not support the bucketing post-aggregators.</p>
 <h3><a class="anchor" aria-hidden="true" id="when-to-use"></a><a href="#when-to-use" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>The accuracy/usefulness of the fixed buckets histogram is extremely data-dependent; it is provided to support special use cases where the user has a great deal of prior information about the data being aggregated and knows that a fixed buckets implementation is suitable.</p>
-<p>For general histogram and quantile use cases, the <a href="/docs/latest/development/extensions-core/datasketches-quantiles.html">DataSketches Quantiles Sketch</a> extension is recommended.</p>
+<p>For general histogram and quantile use cases, the <a href="/docs/0.19.0/development/extensions-core/datasketches-quantiles.html">DataSketches Quantiles Sketch</a> extension is recommended.</p>
 <h3><a class="anchor" aria-hidden="true" id="properties"></a><a href="#properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <table>
 <thead>
@@ -210,19 +210,19 @@ query.</p>
 <h3><a class="anchor" aria-hidden="true" id="serialization-formats"></a><a href="#serialization-formats" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <h4><a class="anchor" aria-hidden="true" id="full-serialization-format"></a><a href="#full-serialization-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <p>This format includes the full histogram bucket count array in the serialization format.</p>
-<pre><code class="hljs"><span class="hljs-keyword">byte</span>: serialization version, must be <span class="hljs-number">0x01</span>
-<span class="hljs-keyword">byte</span>: encoding mode, <span class="hljs-number">0x01</span> <span class="hljs-built_in">for</span> full
-<span class="hljs-keyword">double</span>: lowerLimit
-<span class="hljs-keyword">double</span>: upperLimit
-<span class="hljs-keyword">int</span>: numBuckets
-<span class="hljs-keyword">byte</span>: outlier handling mode (<span class="hljs-number">0x00</span> <span class="hljs-built_in">for</span> `ignore`, <span class="hljs-number">0x01</span> <span class="hljs-built_in">for</span> `<span class="hljs-built_in">overflow</span>`, <span class="hljs-keyword">and</span> <span class="hljs-number">0x02</span> <span class="hljs-built_in">for</span> `clip`)
-<span class="hljs-keyword">long</span>: count, total number of values contained in the histogram, excluding outliers
-<span class="hljs-keyword">long</span>: lowerOutlierCount
-<span class="hljs-keyword">long</span>: upperOutlierCount
-<span class="hljs-keyword">long</span>: missingValueCount
-<span class="hljs-keyword">double</span>: <span class="hljs-built_in">max</span>
-<span class="hljs-keyword">double</span>: <span class="hljs-built_in">min</span>
-<span class="hljs-keyword">array</span> of longs: bucket counts <span class="hljs-built_in">for</span> the histogram
+<pre><code class="hljs"><span class="hljs-attr">byte:</span> <span class="hljs-string">serialization</span> <span class="hljs-string">version,</span> <span class="hljs-string">must</span> <span class="hljs-string">be</span> <span class="hljs-number">0x01</span>
+<span class="hljs-attr">byte:</span> <span class="hljs-string">encoding</span> <span class="hljs-string">mode,</span> <span class="hljs-number">0x01</span> <span class="hljs-string">for</span> <span class="hljs-string">full</span>
+<span class="hljs-attr">double:</span> <span class="hljs-string">lowerLimit</span>
+<span class="hljs-attr">double:</span> <span class="hljs-string">upperLimit</span>
+<span class="hljs-attr">int:</span> <span class="hljs-string">numBuckets</span>
+<span class="hljs-attr">byte:</span> <span class="hljs-string">outlier</span> <span class="hljs-string">handling</span> <span class="hljs-string">mode</span> <span class="hljs-string">(0x00</span> <span class="hljs-string">for</span> <span class="hljs-string">`ignore`,</span> <span class="hljs-number">0x01</span> <span class="hljs-string">for</span> <span class="hljs-string">`overflow`,</span> <span class="hljs-string">and</span> <span class="hljs-number">0x02</span> <span class="hljs-st [...]
+<span class="hljs-attr">long:</span> <span class="hljs-string">count,</span> <span class="hljs-string">total</span> <span class="hljs-string">number</span> <span class="hljs-string">of</span> <span class="hljs-string">values</span> <span class="hljs-string">contained</span> <span class="hljs-string">in</span> <span class="hljs-string">the</span> <span class="hljs-string">histogram,</span> <span class="hljs-string">excluding</span> <span class="hljs-string">outliers</span>
+<span class="hljs-attr">long:</span> <span class="hljs-string">lowerOutlierCount</span>
+<span class="hljs-attr">long:</span> <span class="hljs-string">upperOutlierCount</span>
+<span class="hljs-attr">long:</span> <span class="hljs-string">missingValueCount</span>
+<span class="hljs-attr">double:</span> <span class="hljs-string">max</span>
+<span class="hljs-attr">double:</span> <span class="hljs-string">min</span>
+<span class="hljs-attr">array of longs:</span> <span class="hljs-string">bucket</span> <span class="hljs-string">counts</span> <span class="hljs-string">for</span> <span class="hljs-string">the</span> <span class="hljs-string">histogram</span>
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="sparse-serialization-format"></a><a href="#sparse-serialization-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>This format represents the histogram bucket counts as (bucketNum, count) pairs. This serialization format is used when less than half of the histogram's buckets have values.</p>
@@ -303,7 +303,7 @@ Bucket intervals are based on the range of the underlying data. This aggregator
 <pre><code class="hljs css language-json">{ <span class="hljs-attr">"type"</span> : <span class="hljs-string">"quantiles"</span>, <span class="hljs-attr">"name"</span> : &lt;output_name&gt;, <span class="hljs-attr">"fieldName"</span> : &lt;aggregator_name&gt;,
   <span class="hljs-attr">"probabilities"</span> : [ &lt;quantile&gt;, &lt;quantile&gt;, ... ] }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/design/peons.html"><span class="arrow-prev">← </span><span>Peons</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/avro.html"><span>Apache Avro</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#approximate-histogram-aggregator-deprecated">Approximate Histogram aggregator (Depreca [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/design/peons.html"><span class="arrow-prev">← </span><span>Peons</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/avro.html"><span>Apache Avro</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#approximate-histogram-aggregator-deprecated">Approximate Histogram aggregator (Depreca [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -320,6 +320,6 @@ Bucket intervals are based on the range of the underlying data. This aggregator
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-core/avro.html b/docs/0.19.0/development/extensions-core/avro.html
new file mode 100644
index 0000000..19480b7
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/avro.html
@@ -0,0 +1,105 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Avro · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/avro.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19. [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/avro.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Avro</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<h2><a class="anchor" aria-hidden="true" id="avro-extension"></a><a href="#avro-extension" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0- [...]
+<p>This Apache Druid extension enables Druid to ingest and understand the Apache Avro data format. This extension provides
+two Avro Parsers for stream ingestion and Hadoop batch ingestion.
+See <a href="/docs/0.19.0/ingestion/data-formats.html#avro-hadoop-parser">Avro Hadoop Parser</a> and <a href="/docs/0.19.0/ingestion/data-formats.html#avro-stream-parser">Avro Stream Parser</a>
+for more details about how to use these in an ingestion spec.</p>
+<p>Make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-avro-extensions</code> as an extension.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/approximate-histograms.html"><span class="arrow-prev">← </span><span>Approximate Histogram aggregators</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/azure.html"><span>Microsoft Azure</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#avro-extension" [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-core/azure.html b/docs/0.19.0/development/extensions-core/azure.html
new file mode 100644
index 0000000..823ee5a
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/azure.html
@@ -0,0 +1,118 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Microsoft Azure · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/azure.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content=" [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/azure.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Microsoft Azure</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-azure-extensions</code> extension.</p>
+<h2><a class="anchor" aria-hidden="true" id="deep-storage"></a><a href="#deep-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p><a href="http://azure.microsoft.com/en-us/services/storage/">Microsoft Azure Storage</a> is another option for deep storage. This requires some additional Druid configuration.</p>
+<table>
+<thead>
+<tr><th>Property</th><th>Description</th><th>Possible Values</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>druid.storage.type</code></td><td>azure</td><td></td><td>Must be set.</td></tr>
+<tr><td><code>druid.azure.account</code></td><td></td><td>Azure Storage account name.</td><td>Must be set.</td></tr>
+<tr><td><code>druid.azure.key</code></td><td></td><td>Azure Storage account key.</td><td>Must be set.</td></tr>
+<tr><td><code>druid.azure.container</code></td><td></td><td>Azure Storage container name.</td><td>Must be set.</td></tr>
+<tr><td><code>druid.azure.prefix</code></td><td>A prefix string that will be prepended to the blob names for the segments published to Azure deep storage</td><td></td><td>&quot;&quot;</td></tr>
+<tr><td><code>druid.azure.protocol</code></td><td>the protocol to use</td><td>http or https</td><td>https</td></tr>
+<tr><td><code>druid.azure.maxTries</code></td><td>Number of tries before canceling an Azure operation.</td><td></td><td>3</td></tr>
+<tr><td><code>druid.azure.maxListingLength</code></td><td>maximum number of input files matching a given prefix to retrieve at a time</td><td></td><td>1024</td></tr>
+</tbody>
+</table>
+<p>See <a href="http://azure.microsoft.com/en-us/pricing/free-trial/">Azure Services</a> for more information.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/avro.html"><span class="arrow-prev">← </span><span>Apache Avro</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/bloom-filter.html"><span>Bloom Filter</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#deep-storage">Deep Storage</a></li></ul></nav></div [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/bloom-filter.html b/docs/0.19.0/development/extensions-core/bloom-filter.html
similarity index 62%
copy from docs/latest/development/extensions-core/bloom-filter.html
copy to docs/0.19.0/development/extensions-core/bloom-filter.html
index 39524f5..4e34148 100644
--- a/docs/latest/development/extensions-core/bloom-filter.html
+++ b/docs/0.19.0/development/extensions-core/bloom-filter.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Bloom Filter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/bloom-filter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" conte [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Bloom Filter · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/bloom-filter.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" conte [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/bloom-filter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Bloom Filter</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/bloom-filter.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Bloom Filter</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -78,7 +78,7 @@
   ~ under the License.
   -->
 <p>This Apache Druid extension adds the ability to both construct bloom filters from query results, and filter query results by testing
-against a bloom filter. Make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-bloom-filter</code> as an
+against a bloom filter. Make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-bloom-filter</code> as an
 extension.</p>
 <p>A Bloom filter is a probabilistic data structure for performing a set membership check. A bloom filter is a good candidate
 to use with Druid for cases where an explicit filter is impossible, e.g. filtering a query against a set of millions of
@@ -139,7 +139,7 @@ String base64Serialized = Base64.encodeBase64String(byteArrayOutputStream.toByte
 <pre><code class="hljs css language-sql"><span class="hljs-keyword">SELECT</span> <span class="hljs-keyword">COUNT</span>(*) <span class="hljs-keyword">FROM</span> druid.foo <span class="hljs-keyword">WHERE</span> bloom_filter_test(&lt;expr&gt;, <span class="hljs-string">'&lt;serialized_bytes_for_BloomKFilter&gt;'</span>)
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="expression-and-virtual-column-support"></a><a href="#expression-and-virtual-column-support" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 [...]
-<p>The bloom filter extension also adds a bloom filter <a href="/docs/latest/misc/math-expr.html">Druid expression</a> which shares syntax
+<p>The bloom filter extension also adds a bloom filter <a href="/docs/0.19.0/misc/math-expr.html">Druid expression</a> which shares syntax
 with the SQL operator.</p>
 <pre><code class="hljs css language-sql">bloom_filter_test(&lt;expr&gt;, '&lt;serialized_bytes_for_BloomKFilter&gt;')
 </code></pre>
@@ -164,7 +164,7 @@ for the query.</p>
 <tbody>
 <tr><td><code>type</code></td><td>Aggregator Type. Should always be <code>bloom</code></td><td>yes</td></tr>
 <tr><td><code>name</code></td><td>Output field name</td><td>yes</td></tr>
-<tr><td><code>field</code></td><td><a href="/docs/latest/querying/dimensionspecs.html">DimensionSpec</a> to add to <code>org.apache.hive.common.util.BloomKFilter</code></td><td>yes</td></tr>
+<tr><td><code>field</code></td><td><a href="/docs/0.19.0/querying/dimensionspecs.html">DimensionSpec</a> to add to <code>org.apache.hive.common.util.BloomKFilter</code></td><td>yes</td></tr>
 <tr><td><code>maxNumEntries</code></td><td>Maximum number of distinct values supported by <code>org.apache.hive.common.util.BloomKFilter</code>, default <code>1500</code></td><td>no</td></tr>
 </tbody>
 </table>
@@ -201,7 +201,7 @@ added to the set. As such, ordering by an alternate aggregation is recommended i
 </code></pre>
 <p>but requires the setting <code>druid.sql.planner.serializeComplexValues</code> to be set to <code>true</code>. Bloom filter results in a SQL
 response are serialized into a base64 string, which can then be used in subsequent queries as a filter.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/azure.html"><span class="arrow-prev">← </span><span>Microsoft Azure</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/datasketches-extension.html"><span class="function-name-prevnext">DataSketches extension</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a hr [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/azure.html"><span class="arrow-prev">← </span><span>Microsoft Azure</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/datasketches-extension.html"><span class="function-name-prevnext">DataSketches extension</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a hr [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -218,6 +218,6 @@ response are serialized into a base64 string, which can then be used in subseque
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-core/caffeine-cache.html b/docs/0.19.0/development/extensions-core/caffeine-cache.html
new file mode 100644
index 0000000..1697981
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/caffeine-cache.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../../configuration/index.html#cache-configuration">
+<meta http-equiv="refresh" content="0; url=../../configuration/index.html#cache-configuration">
+<h1>Redirecting...</h1>
+<a href="../../configuration/index.html#cache-configuration">Click here if you are not redirected.</a>
+<script>location="../../configuration/index.html#cache-configuration"</script>
diff --git a/docs/0.19.0/development/extensions-core/datasketches-aggregators.html b/docs/0.19.0/development/extensions-core/datasketches-aggregators.html
new file mode 100644
index 0000000..ae4e884
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/datasketches-aggregators.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="datasketches-extension.html">
+<meta http-equiv="refresh" content="0; url=datasketches-extension.html">
+<h1>Redirecting...</h1>
+<a href="datasketches-extension.html">Click here if you are not redirected.</a>
+<script>location="datasketches-extension.html"</script>
diff --git a/docs/0.19.0/development/extensions-core/datasketches-extension.html b/docs/0.19.0/development/extensions-core/datasketches-extension.html
new file mode 100644
index 0000000..a7a83e1
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/datasketches-extension.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches extension · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/datasketches-extension.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docs [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-extension.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">DataSketches extension</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>Apache Druid aggregators based on <a href="https://datasketches.apache.org/">Apache DataSketches</a> library. Sketches are data structures implementing approximate streaming mergeable algorithms. Sketches can be ingested from the outside of Druid or built from raw data at ingestion time. Sketches can be stored in Druid segments as additive metrics.</p>
+<p>To use the datasketches aggregators, make sure you <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.extensions.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
+</code></pre>
+<p>The following modules are available:</p>
+<ul>
+<li><a href="datasketches-theta.html">Theta sketch</a> - approximate distinct counting with set operations (union, intersection and set difference).</li>
+<li><a href="datasketches-tuple.html">Tuple sketch</a> - extension of Theta sketch to support values associated with distinct keys (arrays of numeric values in this specialized implementation).</li>
+<li><a href="datasketches-quantiles.html">Quantiles sketch</a> - approximate distribution of comparable values to obtain ranks, quantiles and histograms. This is a specialized implementation for numeric values.</li>
+<li><a href="datasketches-hll.html">HLL sketch</a> - approximate distinct counting using very compact HLL sketch.</li>
+</ul>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/bloom-filter.html"><span class="arrow-prev">← </span><span>Bloom Filter</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/datasketches-hll.html"><span class="function-name-prevnext">DataSketches HLL Sketch module</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><footer class="n [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/datasketches-hll.html b/docs/0.19.0/development/extensions-core/datasketches-hll.html
similarity index 54%
copy from docs/latest/development/extensions-core/datasketches-hll.html
copy to docs/0.19.0/development/extensions-core/datasketches-hll.html
index 62a88dd..1c2b5a2 100644
--- a/docs/latest/development/extensions-core/datasketches-hll.html
+++ b/docs/0.19.0/development/extensions-core/datasketches-hll.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches HLL Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/datasketches-hll.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="do [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches HLL Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/datasketches-hll.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="do [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-hll.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">DataSketches HLL Sketch module</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-hll.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">DataSketches HLL Sketch module</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,10 +77,10 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>This module provides Apache Druid aggregators for distinct counting based on HLL sketch from <a href="https://datasketches.github.io/">datasketches</a> library. At ingestion time, this aggregator creates the HLL sketch objects to be stored in Druid segments. At query time, sketches are read and merged together. In the end, by default, you receive the estimate of the number of distinct values presented to the sketch. Also, you can use post aggregator to produce a union of sketch column [...]
+<p>This module provides Apache Druid aggregators for distinct counting based on HLL sketch from <a href="https://datasketches.apache.org/">Apache DataSketches</a> library. At ingestion time, this aggregator creates the HLL sketch objects to be stored in Druid segments. At query time, sketches are read and merged together. In the end, by default, you receive the estimate of the number of distinct values presented to the sketch. Also, you can use post aggregator to produce a union of sketc [...]
 You can use the HLL sketch aggregator on columns of any identifiers. It will return estimated cardinality of the column.</p>
-<p>To use this aggregator, make sure you <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.extensions</span><span class="hljs-selector-class">.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
+<p>To use this aggregator, make sure you <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.extensions.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="aggregators"></a><a href="#aggregators" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <pre><code class="hljs">{
@@ -138,11 +138,11 @@ This must be an integer value of 1, 2 or 3 corresponding to approximately 68.3%,
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="union"></a><a href="#union" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
 <pre><code class="hljs">{
-  "type"  : "HLLSketchUnion",
-  "name": &lt;output <span class="hljs-type">name</span>&gt;,
-  "fields"  : &lt;<span class="hljs-keyword">array</span> <span class="hljs-keyword">of</span> post aggregators that <span class="hljs-keyword">return</span> HLL sketches&gt;,
-  "lgK": &lt;log2 <span class="hljs-keyword">of</span> K <span class="hljs-keyword">for</span> the target sketch&gt;,
-  "tgtHllType" : &lt;target HLL <span class="hljs-keyword">type</span>&gt;
+  <span class="hljs-attr">"type"</span>  : <span class="hljs-string">"HLLSketchUnion"</span>,
+  <span class="hljs-attr">"name"</span>: &lt;output name&gt;,
+  <span class="hljs-attr">"fields"</span>  : &lt;array of post aggregators that return HLL sketches&gt;,
+  <span class="hljs-attr">"lgK"</span>: &lt;log2 of K for the target sketch&gt;,
+  <span class="hljs-attr">"tgtHllType"</span> : &lt;target HLL type&gt;
 }
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="sketch-to-string"></a><a href="#sketch-to-string" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -153,7 +153,7 @@ This must be an integer value of 1, 2 or 3 corresponding to approximately 68.3%,
   <span class="hljs-attr">"field"</span>  : &lt;post aggregator that returns an HLL Sketch&gt;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/datasketches-extension.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches extension</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/datasketches-quantiles.html"><span class="function-name-prevnext">DataSketches Quantiles Sketch module</span><span class="arrow-next"> →</span></a></div> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/datasketches-extension.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches extension</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/datasketches-quantiles.html"><span class="function-name-prevnext">DataSketches Quantiles Sketch module</span><span class="arrow-next"> →</span></a></div> [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -170,6 +170,6 @@ This must be an integer value of 1, 2 or 3 corresponding to approximately 68.3%,
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/datasketches-quantiles.html b/docs/0.19.0/development/extensions-core/datasketches-quantiles.html
similarity index 55%
copy from docs/latest/development/extensions-core/datasketches-quantiles.html
copy to docs/0.19.0/development/extensions-core/datasketches-quantiles.html
index 0295627..b45381e 100644
--- a/docs/latest/development/extensions-core/datasketches-quantiles.html
+++ b/docs/0.19.0/development/extensions-core/datasketches-quantiles.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches Quantiles Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/datasketches-quantiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><m [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches Quantiles Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/datasketches-quantiles.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><m [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-quantiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">DataSketches Quantiles Sketch module</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-quantiles.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">DataSketches Quantiles Sketch module</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,15 +77,15 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>This module provides Apache Druid aggregators based on numeric quantiles DoublesSketch from <a href="https://datasketches.github.io/">datasketches</a> library. Quantiles sketch is a mergeable streaming algorithm to estimate the distribution of values, and approximately answer queries about the rank of a value, probability mass function of the distribution (PMF) or histogram, cumulative distribution function (CDF), and quantiles (median, min, max, 95th percentile and such). See <a href [...]
+<p>This module provides Apache Druid aggregators based on numeric quantiles DoublesSketch from <a href="https://datasketches.apache.org/">Apache DataSketches</a> library. Quantiles sketch is a mergeable streaming algorithm to estimate the distribution of values, and approximately answer queries about the rank of a value, probability mass function of the distribution (PMF) or histogram, cumulative distribution function (CDF), and quantiles (median, min, max, 95th percentile and such). See [...]
 <p>There are three major modes of operation:</p>
 <ol>
 <li>Ingesting sketches built outside of Druid (say, with Pig or Hive)</li>
 <li>Building sketches from raw data during ingestion</li>
 <li>Building sketches from raw data at query time</li>
 </ol>
-<p>To use this aggregator, make sure you <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.extensions</span><span class="hljs-selector-class">.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
+<p>To use this aggregator, make sure you <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.extensions.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="aggregator"></a><a href="#aggregator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>The result of the aggregation is a DoublesSketch that is the union of all sketches either built from raw data or read from the segments.</p>
@@ -104,7 +104,7 @@
 <tr><td>type</td><td>This String should always be &quot;quantilesDoublesSketch&quot;</td><td>yes</td></tr>
 <tr><td>name</td><td>A String for the output (result) name of the calculation.</td><td>yes</td></tr>
 <tr><td>fieldName</td><td>A String for the name of the input field (can contain sketches or raw numeric values).</td><td>yes</td></tr>
-<tr><td>k</td><td>Parameter that determines the accuracy and size of the sketch. Higher k means higher accuracy but more space to store sketches. Must be a power of 2 from 2 to 32768. See the <a href="https://datasketches.github.io/docs/Quantiles/QuantilesAccuracy.html">Quantiles Accuracy</a> for details.</td><td>no, defaults to 128</td></tr>
+<tr><td>k</td><td>Parameter that determines the accuracy and size of the sketch. Higher k means higher accuracy but more space to store sketches. Must be a power of 2 from 2 to 32768. See the <a href="https://datasketches.apache.org/docs/Quantiles/QuantilesAccuracy.html">Quantiles Accuracy</a> for details.</td><td>no, defaults to 128</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="post-aggregators"></a><a href="#post-aggregators" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -127,12 +127,13 @@
 }
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="histogram"></a><a href="#histogram" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
-<p>This returns an approximation to the histogram given an array of split points that define the histogram bins. An array of <i>m</i> unique, monotonically increasing split points divide the real number line into <i>m+1</i> consecutive disjoint intervals. The definition of an interval is inclusive of the left split point and exclusive of the right split point.</p>
+<p>This returns an approximation to the histogram given an array of split points that define the histogram bins or a number of bins (not both). An array of <i>m</i> unique, monotonically increasing split points divide the real number line into <i>m+1</i> consecutive disjoint intervals. The definition of an interval is inclusive of the left split point and exclusive of the right split point. If the number of bins is specified instead of split points, the interval between the minimum and m [...]
 <pre><code class="hljs css language-json">{
-  <span class="hljs-attr">"type"</span>  : <span class="hljs-string">"quantilesDoublesSketchToHistogram"</span>,
-  <span class="hljs-attr">"name"</span>: &lt;output name&gt;,
-  <span class="hljs-attr">"field"</span>  : &lt;post aggregator that refers to a DoublesSketch (fieldAccess or another post aggregator)&gt;,
-  <span class="hljs-attr">"splitPoints"</span> : &lt;array of split points&gt;
+  "type"  : "quantilesDoublesSketchToHistogram",
+  "name": &lt;output name&gt;,
+  "field"  : &lt;post aggregator that refers to a DoublesSketch (fieldAccess or another post aggregator)&gt;,
+  "splitPoints" : &lt;array of split points (optional)&gt;,
+  "numBins" : &lt;number of bins (optional, defaults to 10)&gt;
 }
 </code></pre>
 <h4><a class="anchor" aria-hidden="true" id="rank"></a><a href="#rank" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6 [...]
@@ -161,7 +162,7 @@
   <span class="hljs-attr">"field"</span>  : &lt;post aggregator that refers to a DoublesSketch (fieldAccess or another post aggregator)&gt;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/datasketches-hll.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches HLL Sketch module</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/datasketches-theta.html"><span class="function-name-prevnext">DataSketches Theta Sketch module</span><span class="arrow-next"> →</span></a></div></div> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/datasketches-hll.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches HLL Sketch module</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/datasketches-theta.html"><span class="function-name-prevnext">DataSketches Theta Sketch module</span><span class="arrow-next"> →</span></a></div></div> [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -178,6 +179,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/datasketches-theta.html b/docs/0.19.0/development/extensions-core/datasketches-theta.html
similarity index 64%
copy from docs/latest/development/extensions-core/datasketches-theta.html
copy to docs/0.19.0/development/extensions-core/datasketches-theta.html
index 101e933..30ce8c5 100644
--- a/docs/latest/development/extensions-core/datasketches-theta.html
+++ b/docs/0.19.0/development/extensions-core/datasketches-theta.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches Theta Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/datasketches-theta.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches Theta Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/datasketches-theta.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-theta.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">DataSketches Theta Sketch module</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-theta.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">DataSketches Theta Sketch module</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,11 +77,11 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>This module provides Apache Druid aggregators based on Theta sketch from <a href="https://datasketches.github.io/">datasketches</a> library. Note that sketch algorithms are approximate; see details in the &quot;Accuracy&quot; section of the datasketches doc.
+<p>This module provides Apache Druid aggregators based on Theta sketch from <a href="https://datasketches.apache.org/">Apache DataSketches</a> library. Note that sketch algorithms are approximate; see details in the &quot;Accuracy&quot; section of the datasketches doc.
 At ingestion time, this aggregator creates the Theta sketch objects which get stored in Druid segments. Logically speaking, a Theta sketch object can be thought of as a Set data structure. At query time, sketches are read and aggregated (set unioned) together. In the end, by default, you receive the estimate of the number of unique entries in the sketch object. Also, you can use post aggregators to do union, intersection or difference on sketch columns in the same row.
 Note that you can use <code>thetaSketch</code> aggregator on columns which were not ingested using the same. It will return estimated cardinality of the column. It is recommended to use it at ingestion time as well to make querying faster.</p>
-<p>To use this aggregator, make sure you <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.extensions</span><span class="hljs-selector-class">.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
+<p>To use this aggregator, make sure you <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.extensions.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="aggregators"></a><a href="#aggregators" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <pre><code class="hljs css language-json">{
@@ -101,7 +101,7 @@ Note that you can use <code>thetaSketch</code> aggregator on columns which were
 <tr><td>name</td><td>A String for the output (result) name of the calculation.</td><td>yes</td></tr>
 <tr><td>fieldName</td><td>A String for the name of the aggregator used at ingestion time.</td><td>yes</td></tr>
 <tr><td>isInputThetaSketch</td><td>This should only be used at indexing time if your input data contains theta sketch objects. This would be the case if you use datasketches library outside of Druid, say with Pig/Hive, to produce the data that you are ingesting into Druid</td><td>no, defaults to false</td></tr>
-<tr><td>size</td><td>Must be a power of 2. Internally, size refers to the maximum number of entries sketch object will retain. Higher size means higher accuracy but more space to store sketches. Note that after you index with a particular size, druid will persist sketch in segments and you will use size greater or equal to that at query time. See the <a href="https://datasketches.github.io/docs/Theta/ThetaSize.html">DataSketches site</a> for details. In general, We recommend just stickin [...]
+<tr><td>size</td><td>Must be a power of 2. Internally, size refers to the maximum number of entries sketch object will retain. Higher size means higher accuracy but more space to store sketches. Note that after you index with a particular size, druid will persist sketch in segments and you will use size greater or equal to that at query time. See the <a href="https://datasketches.apache.org/docs/Theta/ThetaSize.html">DataSketches site</a> for details. In general, We recommend just sticki [...]
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="post-aggregators"></a><a href="#post-aggregators" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2. [...]
@@ -301,7 +301,7 @@ How many unique users visited both product A and product B?</p>
   <span class="hljs-attr">"intervals"</span>: [<span class="hljs-string">"2014-10-01T00:00:00.000Z/2014-10-14T00:00:00.000Z"</span>]
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/datasketches-quantiles.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches Quantiles Sketch module</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/datasketches-tuple.html"><span class="function-name-prevnext">DataSketches Tuple Sketch module</span><span class="arrow-next"> →</span></a> [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/datasketches-quantiles.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches Quantiles Sketch module</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/datasketches-tuple.html"><span class="function-name-prevnext">DataSketches Tuple Sketch module</span><span class="arrow-next"> →</span></a> [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -318,6 +318,6 @@ How many unique users visited both product A and product B?</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/datasketches-tuple.html b/docs/0.19.0/development/extensions-core/datasketches-tuple.html
similarity index 61%
copy from docs/latest/development/extensions-core/datasketches-tuple.html
copy to docs/0.19.0/development/extensions-core/datasketches-tuple.html
index ebb2d00..6157182 100644
--- a/docs/latest/development/extensions-core/datasketches-tuple.html
+++ b/docs/0.19.0/development/extensions-core/datasketches-tuple.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches Tuple Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/datasketches-tuple.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>DataSketches Tuple Sketch module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/datasketches-tuple.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-tuple.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">DataSketches Tuple Sketch module</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/datasketches-tuple.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">DataSketches Tuple Sketch module</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,9 +77,9 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>This module provides Apache Druid aggregators based on Tuple sketch from <a href="https://datasketches.github.io/">datasketches</a> library. ArrayOfDoublesSketch sketches extend the functionality of the count-distinct Theta sketches by adding arrays of double values associated with unique keys.</p>
-<p>To use this aggregator, make sure you <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.extensions</span><span class="hljs-selector-class">.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
+<p>This module provides Apache Druid aggregators based on Tuple sketch from <a href="https://datasketches.apache.org/">Apache DataSketches</a> library. ArrayOfDoublesSketch sketches extend the functionality of the count-distinct Theta sketches by adding arrays of double values associated with unique keys.</p>
+<p>To use this aggregator, make sure you <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> the extension in your config file:</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.extensions.loadList</span>=[<span class="hljs-string">"druid-datasketches"</span>]
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="aggregators"></a><a href="#aggregators" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <pre><code class="hljs css language-json">{
@@ -99,7 +99,7 @@
 <tr><td>type</td><td>This String should always be &quot;arrayOfDoublesSketch&quot;</td><td>yes</td></tr>
 <tr><td>name</td><td>A String for the output (result) name of the calculation.</td><td>yes</td></tr>
 <tr><td>fieldName</td><td>A String for the name of the input field.</td><td>yes</td></tr>
-<tr><td>nominalEntries</td><td>Parameter that determines the accuracy and size of the sketch. Higher k means higher accuracy but more space to store sketches. Must be a power of 2. See the <a href="https://datasketches.github.io/docs/Theta/ThetaErrorTable.html">Theta sketch accuracy</a> for details.</td><td>no, defaults to 16384</td></tr>
+<tr><td>nominalEntries</td><td>Parameter that determines the accuracy and size of the sketch. Higher k means higher accuracy but more space to store sketches. Must be a power of 2. See the <a href="https://datasketches.apache.org/docs/Theta/ThetaErrorTable.html">Theta sketch accuracy</a> for details.</td><td>no, defaults to 16384</td></tr>
 <tr><td>numberOfValues</td><td>Number of values associated with each distinct key.</td><td>no, defaults to 1</td></tr>
 <tr><td>metricColumns</td><td>If building sketches from raw data, an array of names of the input columns containing numeric values to be associated with each distinct key.</td><td>no, defaults to empty array</td></tr>
 </tbody>
@@ -188,7 +188,7 @@
   <span class="hljs-attr">"field"</span>  : &lt;post aggregator that refers to an ArrayOfDoublesSketch (fieldAccess or another post aggregator)&gt;
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/datasketches-theta.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches Theta Sketch module</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/druid-basic-security.html"><span>Basic Security</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><f [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/datasketches-theta.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches Theta Sketch module</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/druid-basic-security.html"><span>Basic Security</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"></nav></div><f [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -205,6 +205,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/druid-basic-security.html b/docs/0.19.0/development/extensions-core/druid-basic-security.html
similarity index 74%
copy from docs/latest/development/extensions-core/druid-basic-security.html
copy to docs/0.19.0/development/extensions-core/druid-basic-security.html
index 6962e40..41a104f 100644
--- a/docs/latest/development/extensions-core/druid-basic-security.html
+++ b/docs/0.19.0/development/extensions-core/druid-basic-security.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Basic Security · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/druid-basic-security.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:vers [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Basic Security · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/druid-basic-security.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:vers [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/druid-basic-security.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Basic Security</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/druid-basic-security.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Basic Security</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -82,8 +82,8 @@
 <li>an Authenticator which supports <a href="https://en.wikipedia.org/wiki/Basic_access_authentication">HTTP Basic authentication</a> using the Druid metadata store or LDAP as its credentials store</li>
 <li>an Authorizer which implements basic role-based access control for Druid metadata store or LDAP users and groups</li>
 </ul>
-<p>Make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-basic-security</code> as an extension.</p>
-<p>Please see <a href="/docs/latest/design/auth.html">Authentication and Authorization</a> for more information on the extension interfaces being implemented.</p>
+<p>Make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-basic-security</code> as an extension.</p>
+<p>Please see <a href="/docs/0.19.0/design/auth.html">Authentication and Authorization</a> for more information on the extension interfaces being implemented.</p>
 <h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <p>The examples in the section will use &quot;MyBasicMetadataAuthenticator&quot;, &quot;MyBasicLDAPAuthenticator&quot;, &quot;MyBasicMetadataAuthorizer&quot;, and &quot;MyBasicLDAPAuthorizer&quot; as names for the Authenticators and Authorizer.</p>
 <p>These properties are not tied to specific Authenticator or Authorizer instances.</p>
@@ -101,20 +101,20 @@
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="creating-an-authenticator-that-uses-the-druid-metadata-store-to-lookup-and-validate-credentials"></a><a href="#creating-an-authenticator-that-uses-the-druid-metadata-store-to-lookup-and-validate-credentials" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.4 [...]
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticatorChain</span>=[<span class="hljs-string">"MyBasicMetadataAuthenticator"</span>]
+<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span>.authenticatorChain=[<span class="hljs-string">"MyBasicMetadataAuthenticator"</span>]
 
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span><span class="hljs-selector-class">.type</span>=basic
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span><span class="hljs-selector-class">.initialAdminPassword</span>=password1
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span><span class="hljs-selector-class">.initialInternalClientPassword</span>=password2
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span><span class="hljs-selector-class">.credentialsValidator</span><span class="hljs-selector-class">.type</span>=metadata
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span><span class="hljs-selector-class">.skipOnFailure</span>=false
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span><span class="hljs-selector-class">.authorizerName</span>=MyBasicMetadataAuthorizer
+druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span>.type=basic
+druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span>.initialAdminPassword=password1
+druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span>.initialInternalClientPassword=password2
+druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span><span class="hljs-selector-class">.credentialsValidator</span>.type=metadata
+druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span>.skipOnFailure=false
+druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyBasicMetadataAuthenticator</span>.authorizerName=MyBasicMetadataAuthorizer
 </code></pre>
 <p>To use the Basic authenticator, add an authenticator with type <code>basic</code> to the authenticatorChain.
 The authenticator needs to also define a credentialsValidator with type 'metadata' or 'ldap'.
 If credentialsValidator is not specified, type 'metadata' will be used as default.</p>
 <p>Configuration of the named authenticator is assigned through properties with the form:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span>.&lt;authenticatorName&gt;.&lt;authenticatorProperty&gt;
+<pre><code class="hljs">druid.auth.authenticator.<span class="hljs-tag">&lt;<span class="hljs-name">authenticatorName</span>&gt;</span>.<span class="hljs-tag">&lt;<span class="hljs-name">authenticatorProperty</span>&gt;</span>
 </code></pre>
 <p>The authenticator configuration examples in the rest of this document will use &quot;MyBasicMetadataAuthenticator&quot; or &quot;MyBasicLDAPAuthenticator&quot; as the name of the authenticators being configured.</p>
 <h4><a class="anchor" aria-hidden="true" id="properties-for-druid-metadata-store-user-authentication"></a><a href="#properties-for-druid-metadata-store-user-authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22- [...]
@@ -123,8 +123,8 @@ If credentialsValidator is not specified, type 'metadata' will be used as defaul
 <tr><th>Property</th><th>Description</th><th>Default</th><th>required</th></tr>
 </thead>
 <tbody>
-<tr><td><code>druid.auth.authenticator.MyBasicMetadataAuthenticator.initialAdminPassword</code></td><td>Initial <a href="/docs/latest/operations/password-provider.html">Password Provider</a> for the automatically created default admin user. If no password is specified, the default admin user will not be created. If the default admin user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
-<tr><td><code>druid.auth.authenticator.MyBasicMetadataAuthenticator.initialInternalClientPassword</code></td><td>Initial <a href="/docs/latest/operations/password-provider.html">Password Provider</a> for the default internal system user, used for internal process communication. If no password is specified, the default internal system user will not be created. If the default internal system user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
+<tr><td><code>druid.auth.authenticator.MyBasicMetadataAuthenticator.initialAdminPassword</code></td><td>Initial <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> for the automatically created default admin user. If no password is specified, the default admin user will not be created. If the default admin user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
+<tr><td><code>druid.auth.authenticator.MyBasicMetadataAuthenticator.initialInternalClientPassword</code></td><td>Initial <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> for the default internal system user, used for internal process communication. If no password is specified, the default internal system user will not be created. If the default internal system user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicMetadataAuthenticator.enableCacheNotifications</code></td><td>If true, the Coordinator will notify Druid processes whenever a configuration change to this Authenticator occurs, allowing them to immediately update their state without waiting for polling.</td><td>true</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicMetadataAuthenticator.cacheNotificationTimeout</code></td><td>The timeout in milliseconds for the cache notifications.</td><td>5000</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicMetadataAuthenticator.credentialIterations</code></td><td>Number of iterations to use for password hashing.</td><td>10000</td><td>No</td></tr>
@@ -139,15 +139,15 @@ If credentialsValidator is not specified, type 'metadata' will be used as defaul
 <tr><th>Property</th><th>Description</th><th>Default</th><th>required</th></tr>
 </thead>
 <tbody>
-<tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.initialAdminPassword</code></td><td>Initial <a href="/docs/latest/operations/password-provider.html">Password Provider</a> for the automatically created default admin user. If no password is specified, the default admin user will not be created. If the default admin user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
-<tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.initialInternalClientPassword</code></td><td>Initial <a href="/docs/latest/operations/password-provider.html">Password Provider</a> for the default internal system user, used for internal process communication. If no password is specified, the default internal system user will not be created. If the default internal system user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
+<tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.initialAdminPassword</code></td><td>Initial <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> for the automatically created default admin user. If no password is specified, the default admin user will not be created. If the default admin user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
+<tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.initialInternalClientPassword</code></td><td>Initial <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> for the default internal system user, used for internal process communication. If no password is specified, the default internal system user will not be created. If the default internal system user already exists, setting this property will not affect its password.</td><td>null</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.enableCacheNotifications</code></td><td>If true, the Coordinator will notify Druid processes whenever a configuration change to this Authenticator occurs, allowing them to immediately update their state without waiting for polling.</td><td>true</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.cacheNotificationTimeout</code></td><td>The timeout in milliseconds for the cache notifications.</td><td>5000</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialIterations</code></td><td>Number of iterations to use for password hashing.</td><td>10000</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.type</code></td><td>The type of credentials store (ldap) to validate requests credentials.</td><td>metadata</td><td>No</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.url</code></td><td>URL of the LDAP server.</td><td>null</td><td>Yes</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.bindUser</code></td><td>LDAP bind user username.</td><td>null</td><td>Yes</td></tr>
-<tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.bindPassword</code></td><td><a href="/docs/latest/operations/password-provider.html">Password Provider</a> LDAP bind user password.</td><td>null</td><td>Yes</td></tr>
+<tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.bindPassword</code></td><td><a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> LDAP bind user password.</td><td>null</td><td>Yes</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.baseDn</code></td><td>The point from where the LDAP server will search for users.</td><td>null</td><td>Yes</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.userSearch</code></td><td>The filter/expression to use for the search. For example, (&amp;(sAMAccountName=%s)(objectClass=user))</td><td>null</td><td>Yes</td></tr>
 <tr><td><code>druid.auth.authenticator.MyBasicLDAPAuthenticator.credentialsValidator.userAttribute</code></td><td>The attribute id identifying the attribute that will be returned as part of the search. For example, sAMAccountName.</td><td>null</td><td>Yes</td></tr>
@@ -172,18 +172,18 @@ If credentialsValidator is not specified, type 'metadata' will be used as defaul
 </thead>
 <tbody>
 <tr><td><code>druid.escalator.internalClientUsername</code></td><td>The escalator will use this username for requests made as the internal system user.</td><td>n/a</td><td>Yes</td></tr>
-<tr><td><code>druid.escalator.internalClientPassword</code></td><td>The escalator will use this <a href="/docs/latest/operations/password-provider.html">Password Provider</a> for requests made as the internal system user.</td><td>n/a</td><td>Yes</td></tr>
+<tr><td><code>druid.escalator.internalClientPassword</code></td><td>The escalator will use this <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a> for requests made as the internal system user.</td><td>n/a</td><td>Yes</td></tr>
 <tr><td><code>druid.escalator.authorizerName</code></td><td>Authorizer that requests should be directed to.</td><td>n/a</td><td>Yes</td></tr>
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="creating-an-authorizer"></a><a href="#creating-an-authorizer" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authorizers</span>=[<span class="hljs-string">"MyBasicMetadataAuthorizer"</span>]
+<pre><code class="hljs"><span class="hljs-attr">druid.auth.authorizers</span>=[<span class="hljs-string">"MyBasicMetadataAuthorizer"</span>]
 
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authorizer</span><span class="hljs-selector-class">.MyBasicMetadataAuthorizer</span><span class="hljs-selector-class">.type</span>=basic
+<span class="hljs-attr">druid.auth.authorizer.MyBasicMetadataAuthorizer.type</span>=basic
 </code></pre>
 <p>To use the Basic authorizer, add an authorizer with type <code>basic</code> to the authorizers list.</p>
 <p>Configuration of the named authorizer is assigned through properties with the form:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authorizer</span>.&lt;authorizerName&gt;.&lt;authorizerProperty&gt;
+<pre><code class="hljs">druid.auth.authorizer.<span class="hljs-tag">&lt;<span class="hljs-name">authorizerName</span>&gt;</span>.<span class="hljs-tag">&lt;<span class="hljs-name">authorizerProperty</span>&gt;</span>
 </code></pre>
 <p>The authorizer configuration examples in the rest of this document will use &quot;MyBasicMetadataAuthorizer&quot; or &quot;MyBasicLDAPAuthorizer&quot; as the name of the authenticators being configured.</p>
 <h4><a class="anchor" aria-hidden="true" id="properties-for-druid-metadata-store-user-authorization"></a><a href="#properties-for-druid-metadata-store-user-authorization" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2  [...]
@@ -220,7 +220,7 @@ druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-cl
 <h4><a class="anchor" aria-hidden="true" id="authentication-api"></a><a href="#authentication-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>Root path: <code>/druid-ext/basic-security/authentication</code></p>
 <p>Each API endpoint includes {authenticatorName}, specifying which Authenticator instance is being configured.</p>
-<h5><a class="anchor" aria-hidden="true" id="user-credential-management"></a><a href="#user-credential-management" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
+<h5><a class="anchor" aria-hidden="true" id="usercredential-management"></a><a href="#usercredential-management" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
 <p><code>GET(/druid-ext/basic-security/authentication/db/{authenticatorName}/users)</code>
 Return a list of all user names.</p>
 <p><code>GET(/druid-ext/basic-security/authentication/db/{authenticatorName}/users/{userName})</code>
@@ -243,7 +243,7 @@ Return the current load status of the local caches of the authentication Druid m
 <h4><a class="anchor" aria-hidden="true" id="authorization-api"></a><a href="#authorization-api" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2- [...]
 <p>Root path: <code>/druid-ext/basic-security/authorization</code></p>
 <p>Each API endpoint includes {authorizerName}, specifying which Authorizer instance is being configured.</p>
-<h5><a class="anchor" aria-hidden="true" id="user-creation-deletion"></a><a href="#user-creation-deletion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<h5><a class="anchor" aria-hidden="true" id="user-creationdeletion"></a><a href="#user-creationdeletion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p><code>GET(/druid-ext/basic-security/authorization/db/{authorizerName}/users)</code>
 Return a list of all user names.</p>
 <p><code>GET(/druid-ext/basic-security/authorization/db/{authorizerName}/users/{userName})</code>
@@ -327,7 +327,7 @@ Return the name and role information of the user with name {userName}</p>
 Create a new user with name {userName}</p>
 <p><code>DELETE(/druid-ext/basic-security/authorization/db/{authorizerName}/users/{userName})</code>
 Delete the user with name {userName}</p>
-<h5><a class="anchor" aria-hidden="true" id="group-mapping-creation-deletion"></a><a href="#group-mapping-creation-deletion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 [...]
+<h5><a class="anchor" aria-hidden="true" id="group-mapping-creationdeletion"></a><a href="#group-mapping-creationdeletion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
 <p><code>GET(/druid-ext/basic-security/authorization/db/{authorizerName}/groupMappings)</code>
 Return a list of all group mappings.</p>
 <p><code>GET(/druid-ext/basic-security/authorization/db/{authorizerName}/groupMappings/{groupMappingName})</code>
@@ -346,7 +346,7 @@ Example request body:</p>
 </code></pre>
 <p><code>DELETE(/druid-ext/basic-security/authorization/db/{authorizerName}/groupMappings/{groupMappingName})</code>
 Delete the group mapping with name {groupMappingName}</p>
-<h4><a class="anchor" aria-hidden="true" id="role-creation-deletion"></a><a href="#role-creation-deletion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<h4><a class="anchor" aria-hidden="true" id="role-creationdeletion"></a><a href="#role-creationdeletion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2 [...]
 <p><code>GET(/druid-ext/basic-security/authorization/db/{authorizerName}/roles)</code>
 Return a list of all role names.</p>
 <p><code>GET(/druid-ext/basic-security/authorization/db/{authorizerName}/roles/{roleName})</code>
@@ -501,7 +501,7 @@ Return the current load status of the local caches of the authorization Druid me
 </tbody>
 </table>
 <h3><a class="anchor" aria-hidden="true" id="http-methods"></a><a href="#http-methods" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
-<p>For information on what HTTP methods are supported on a particular request endpoint, please refer to the <a href="/docs/latest/operations/api-reference.html">API documentation</a>.</p>
+<p>For information on what HTTP methods are supported on a particular request endpoint, please refer to the <a href="/docs/0.19.0/operations/api-reference.html">API documentation</a>.</p>
 <p>GET requires READ permission, while POST and DELETE require WRITE permission.</p>
 <h3><a class="anchor" aria-hidden="true" id="sql-permissions"></a><a href="#sql-permissions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
 <p>Queries on Druid datasources require DATASOURCE READ permissions for the specified datasource.</p>
@@ -520,7 +520,7 @@ datasources will be omitted.</p>
 <p>Each process will periodically poll the Coordinator for the latest Druid metadata store state, controlled by the <code>druid.auth.basic.common.pollingPeriod</code> and <code>druid.auth.basic.common.maxRandomDelay</code> properties.</p>
 <p>When a configuration update occurs, the Coordinator can optionally notify each process with the updated Druid metadata store state. This behavior is controlled by the <code>enableCacheNotifications</code> and <code>cacheNotificationTimeout</code> properties on Authenticators and Authorizers.</p>
 <p>Note that because of the caching, changes made to the user/role Druid metadata store may not be immediately reflected at each Druid process.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/datasketches-tuple.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches Tuple Sketch module</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/druid-kerberos.html"><span>Kerberos</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings">< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/datasketches-tuple.html"><span class="arrow-prev">← </span><span class="function-name-prevnext">DataSketches Tuple Sketch module</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/druid-kerberos.html"><span>Kerberos</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings">< [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -537,6 +537,6 @@ datasources will be omitted.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/druid-kerberos.html b/docs/0.19.0/development/extensions-core/druid-kerberos.html
similarity index 61%
copy from docs/latest/development/extensions-core/druid-kerberos.html
copy to docs/0.19.0/development/extensions-core/druid-kerberos.html
index 79940f5..ce6cc21 100644
--- a/docs/latest/development/extensions-core/druid-kerberos.html
+++ b/docs/0.19.0/development/extensions-core/druid-kerberos.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Kerberos · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/druid-kerberos.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Kerberos · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/druid-kerberos.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/druid-kerberos.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Kerberos</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/druid-kerberos.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Kerberos</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -79,16 +79,16 @@
   -->
 <p>Apache Druid Extension to enable Authentication for Druid Processes using Kerberos.
 This extension adds an Authenticator which is used to protect HTTP Endpoints using the simple and protected GSSAPI negotiation mechanism <a href="https://en.wikipedia.org/wiki/SPNEGO">SPNEGO</a>.
-Make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-kerberos</code> as an extension.</p>
+Make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-kerberos</code> as an extension.</p>
 <h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <h3><a class="anchor" aria-hidden="true" id="creating-an-authenticator"></a><a href="#creating-an-authenticator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticatorChain</span>=[<span class="hljs-string">"MyKerberosAuthenticator"</span>]
+<pre><code class="hljs"><span class="hljs-attr">druid.auth.authenticatorChain</span>=[<span class="hljs-string">"MyKerberosAuthenticator"</span>]
 
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.MyKerberosAuthenticator</span><span class="hljs-selector-class">.type</span>=kerberos
+<span class="hljs-attr">druid.auth.authenticator.MyKerberosAuthenticator.type</span>=kerberos
 </code></pre>
 <p>To use the Kerberos authenticator, add an authenticator with type <code>kerberos</code> to the authenticatorChain. The example above uses the name &quot;MyKerberosAuthenticator&quot; for the Authenticator.</p>
 <p>Configuration of the named authenticator is assigned through properties with the form:</p>
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span>.&lt;authenticatorName&gt;.&lt;authenticatorProperty&gt;
+<pre><code class="hljs">druid.auth.authenticator.<span class="hljs-tag">&lt;<span class="hljs-name">authenticatorName</span>&gt;</span>.<span class="hljs-tag">&lt;<span class="hljs-name">authenticatorProperty</span>&gt;</span>
 </code></pre>
 <p>The configuration examples in the rest of this document will use &quot;kerberos&quot; as the name of the authenticator being configured.</p>
 <h3><a class="anchor" aria-hidden="true" id="properties"></a><a href="#properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
@@ -107,7 +107,7 @@ druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-cl
 <p>As a note, it is required that the SPNego principal in use by the druid processes must start with HTTP (This specified by <a href="https://tools.ietf.org/html/rfc4559">RFC-4559</a>) and must be of the form &quot;HTTP/_HOST@REALM&quot;.
 The special string _HOST will be replaced automatically with the value of config <code>druid.host</code></p>
 <h3><a class="anchor" aria-hidden="true" id="druidauthauthenticatorkerberosexcludedpaths"></a><a href="#druidauthauthenticatorkerberosexcludedpaths" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h [...]
-<p>In older releases, the Kerberos authenticator had an <code>excludedPaths</code> property that allowed the user to specify a list of paths where authentication checks should be skipped. This property has been removed from the Kerberos authenticator because the path exclusion functionality is now handled across all authenticators/authorizers by setting <code>druid.auth.unsecuredPaths</code>, as described in the <a href="/docs/latest/design/auth.html">main auth documentation</a>.</p>
+<p>In older releases, the Kerberos authenticator had an <code>excludedPaths</code> property that allowed the user to specify a list of paths where authentication checks should be skipped. This property has been removed from the Kerberos authenticator because the path exclusion functionality is now handled across all authenticators/authorizers by setting <code>druid.auth.unsecuredPaths</code>, as described in the <a href="/docs/0.19.0/design/auth.html">main auth documentation</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="auth-to-local-syntax"></a><a href="#auth-to-local-syntax" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1 [...]
 <p><code>druid.auth.authenticator.kerberos.authToLocal</code> allows you to set a general rules for mapping principal names to local user names.
 The syntax for mapping rules is <code>RULE:\[n:string](regexp)s/pattern/replacement/g</code>. The integer n indicates how many components the target principal should have. If this matches, then a string will be formed from string, substituting the realm of the principal for $0 and the nth component of the principal for $n. e.g. if the principal was druid/admin then <code>\[2:$2$1suffix]</code> would result in the string <code>admindruidsuffix</code>.
@@ -133,14 +133,14 @@ In such cases, max request header size that druid can handle can be increased by
 <h2><a class="anchor" aria-hidden="true" id="accessing-druid-http-end-points-when-kerberos-security-is-enabled"></a><a href="#accessing-druid-http-end-points-when-kerberos-security-is-enabled" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4  [...]
 <ol>
 <li><p>To access druid HTTP endpoints via curl user will need to first login using <code>kinit</code> command as follows -</p>
-<pre><code class="hljs"><span class="hljs-selector-tag">kinit</span> <span class="hljs-selector-tag">-k</span> <span class="hljs-selector-tag">-t</span> &lt;<span class="hljs-selector-tag">path_to_keytab_file</span>&gt; <span class="hljs-selector-tag">user</span>@<span class="hljs-keyword">REALM</span>.<span class="hljs-keyword">COM</span>
+<pre><code class="hljs">kinit -k -t <span class="hljs-variable">&lt;path_to_keytab_file&gt;</span> user<span class="hljs-meta">@REALM.COM</span>
 </code></pre></li>
 <li><p>Once the login is successful verify that login is successful using <code>klist</code> command</p></li>
 <li><p>Now you can access druid HTTP endpoints using curl command as follows -</p>
 <pre><code class="hljs">curl --negotiate -u:anyUser -<span class="hljs-selector-tag">b</span> ~/cookies<span class="hljs-selector-class">.txt</span> -c ~/cookies<span class="hljs-selector-class">.txt</span> -X POST -H<span class="hljs-string">'Content-Type: application/json'</span> &lt;HTTP_END_POINT&gt;
 </code></pre>
 <p>e.g to send a query from file <code>query.json</code> to the Druid Broker use this command -</p>
-<pre><code class="hljs">curl --negotiate -u:anyUser -<span class="hljs-selector-tag">b</span> ~/cookies<span class="hljs-selector-class">.txt</span> -c ~/cookies<span class="hljs-selector-class">.txt</span> -X POST -H<span class="hljs-string">'Content-Type: application/json'</span>  http:<span class="hljs-comment">//broker-host:port/druid/v2/?pretty -d @query.json</span>
+<pre><code class="hljs">curl --negotiate -<span class="hljs-string">u:</span>anyUser -b <span class="hljs-regexp">~/cookies.txt -c ~/</span>cookies.txt -X POST -H<span class="hljs-string">'Content-Type: application/json'</span>  <span class="hljs-string">http:</span><span class="hljs-comment">//broker-host:port/druid/v2/?pretty -d @query.json</span>
 </code></pre>
 <p>Note: Above command will authenticate the user first time using SPNego negotiate mechanism and store the authentication cookie in file. For subsequent requests the cookie will be used for authentication.</p></li>
 </ol>
@@ -166,7 +166,7 @@ In such cases, max request header size that druid can handle can be increased by
 </ol>
 <h2><a class="anchor" aria-hidden="true" id="sending-queries-programmatically"></a><a href="#sending-queries-programmatically" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13. [...]
 <p>Many HTTP client libraries, such as Apache Commons <a href="https://hc.apache.org/">HttpComponents</a>, already have support for performing SPNEGO authentication. You can use any of the available HTTP client library to communicate with druid cluster.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/druid-basic-security.html"><span class="arrow-prev">← </span><span>Basic Security</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/druid-lookups.html"><span>Cached Lookup Module</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configur [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/druid-basic-security.html"><span class="arrow-prev">← </span><span>Basic Security</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/druid-lookups.html"><span>Cached Lookup Module</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configur [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -183,6 +183,6 @@ In such cases, max request header size that druid can handle can be increased by
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/druid-lookups.html b/docs/0.19.0/development/extensions-core/druid-lookups.html
similarity index 61%
copy from docs/latest/development/extensions-core/druid-lookups.html
copy to docs/0.19.0/development/extensions-core/druid-lookups.html
index 6935cea..d62562a 100644
--- a/docs/latest/development/extensions-core/druid-lookups.html
+++ b/docs/0.19.0/development/extensions-core/druid-lookups.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Cached Lookup Module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/druid-lookups.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:versi [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Cached Lookup Module · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/druid-lookups.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:versi [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/druid-lookups.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Cached Lookup Module</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/druid-lookups.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Cached Lookup Module</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -85,7 +85,7 @@
 The main goal of this cache is to speed up the access to a high latency lookup sources and to provide a caching isolation for every lookup source.
 Thus user can define various caching strategies or and implementation per lookup, even if the source is the same.
 This module can be used side to side with other lookup module like the global cached lookup module.</p>
-<p>To use this extension please make sure to  <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-lookups-cached-single</code> as an extension.</p>
+<p>To use this extension please make sure to  <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-lookups-cached-single</code> as an extension.</p>
 <blockquote>
 <p>If using JDBC, you will need to add your database's client JAR files to the extension's directory.
 For Postgres, the connector JAR is already included.
@@ -195,7 +195,7 @@ Same for Loading cache, developer can implement a new type of loading cache by i
    <span class="hljs-attr">"reverseLoadingCacheSpec"</span>:{<span class="hljs-attr">"type"</span>:<span class="hljs-string">"mapDb"</span>, <span class="hljs-attr">"maxStoreSize"</span>:<span class="hljs-number">5</span>, <span class="hljs-attr">"expireAfterAccess"</span>:<span class="hljs-number">100000</span>, <span class="hljs-attr">"expireAfterAccess"</span>:<span class="hljs-number">10000</span>}
 }
 </code></pre>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/druid-kerberos.html"><span class="arrow-prev">← </span><span>Kerberos</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/google.html"><span>Google Cloud Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#description">Description</a></li><li><a hr [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/druid-kerberos.html"><span class="arrow-prev">← </span><span>Kerberos</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/druid-ranger-security.html"><span>Apache Ranger Security</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#description">Description< [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -212,6 +212,6 @@ Same for Loading cache, developer can implement a new type of loading cache by i
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/druid-pac4j.html b/docs/0.19.0/development/extensions-core/druid-pac4j.html
similarity index 88%
copy from docs/latest/development/extensions-core/druid-pac4j.html
copy to docs/0.19.0/development/extensions-core/druid-pac4j.html
index 1e73265..21b93fa 100644
--- a/docs/latest/development/extensions-core/druid-pac4j.html
+++ b/docs/0.19.0/development/extensions-core/druid-pac4j.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Druid pac4j based Security extension · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/druid-pac4j.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="d [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Druid pac4j based Security extension · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/druid-pac4j.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="d [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -26,19 +26,19 @@ This can be used  with any authentication server that supports same e.g. <a href
 This extension should only be used at the router node to enable a group of users in existing authentication server to interact with Druid cluster, using the <a href="../../operations/druid-console.html">Web Console</a>. This extension does not support JDBC client authentication.</p>
 <h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
 <h3><a class="anchor" aria-hidden="true" id="creating-an-authenticator"></a><a href="#creating-an-authenticator" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
-<pre><code class="hljs">druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticatorChain</span>=[<span class="hljs-string">"pac4j"</span>]
-druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-class">.authenticator</span><span class="hljs-selector-class">.pac4j</span><span class="hljs-selector-class">.type</span>=pac4j
+<pre><code class="hljs"><span class="hljs-attr">druid.auth.authenticatorChain</span>=[<span class="hljs-string">"pac4j"</span>]
+<span class="hljs-attr">druid.auth.authenticator.pac4j.type</span>=pac4j
 </code></pre>
 <h3><a class="anchor" aria-hidden="true" id="properties"></a><a href="#properties" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>|Property|Description|Default|required|
 |--------|---------------|-----------|-------|--------|
-|<code>druid.auth.pac4j.cookiePassphrase</code>|passphrase for encrypting the cookies used to manage authentication session with browser. It can be provided as plaintext string or The <a href="/docs/latest/operations/password-provider.html">Password Provider</a>.|none|Yes|
+|<code>druid.auth.pac4j.cookiePassphrase</code>|passphrase for encrypting the cookies used to manage authentication session with browser. It can be provided as plaintext string or The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a>.|none|Yes|
 |<code>druid.auth.pac4j.readTimeout</code>|Socket connect and read timeout duration used when communicating with authentication server|PT5S|No|
-|<code>druid.auth.pac4j.enableCustomSslContext</code>|Whether to use custom SSLContext setup via <a href="/docs/latest/development/extensions-core/simple-client-sslcontext.html">simple-client-sslcontext</a> extension which must be added to extensions list when this property is set to true.|false|No|
+|<code>druid.auth.pac4j.enableCustomSslContext</code>|Whether to use custom SSLContext setup via <a href="/docs/0.19.0/development/extensions-core/simple-client-sslcontext.html">simple-client-sslcontext</a> extension which must be added to extensions list when this property is set to true.|false|No|
 |<code>druid.auth.pac4j.oidc.clientID</code>|OAuth Client Application id.|none|Yes|
-|<code>druid.auth.pac4j.oidc.clientSecret</code>|OAuth Client Application secret. It can be provided as plaintext string or The <a href="/docs/latest/operations/password-provider.html">Password Provider</a>.|none|Yes|
+|<code>druid.auth.pac4j.oidc.clientSecret</code>|OAuth Client Application secret. It can be provided as plaintext string or The <a href="/docs/0.19.0/operations/password-provider.html">Password Provider</a>.|none|Yes|
 |<code>druid.auth.pac4j.oidc.discoveryURI</code>|discovery URI for fetching OP metadata <a href="http://openid.net/specs/openid-connect-discovery-1_0.html">see this</a>.|none|Yes|</p>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#creating-an-authenticator">Creating an Authenticator</a></li><li><a href="#properties">Properties</a></li></ul></li></ul></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology">Technology</a> · <a href="/ [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a><ul class="toc-headings"><li><a href="#creating-an-authenticator">Creating an Authenticator</a></li><li><a href="#properties">Properties</a></li></ul></li></ul></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology">Technology</a> · <a href="/ [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -55,6 +55,6 @@ druid<span class="hljs-selector-class">.auth</span><span class="hljs-selector-cl
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-core/druid-ranger-security.html b/docs/0.19.0/development/extensions-core/druid-ranger-security.html
new file mode 100644
index 0000000..90eabe7
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/druid-ranger-security.html
@@ -0,0 +1,182 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Ranger Security · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/druid-ranger-security.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docse [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/druid-ranger-security.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Ranger Security</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<p>This Apache Druid extension adds an Authorizer which implements access control for Druid, backed by <a href="https://ranger.apache.org/">Apache Ranger</a>. Please see <a href="/docs/0.19.0/design/auth.html">Authentication and Authorization</a> for more information on the basic facilities this extension provides.</p>
+<p>Make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-ranger-security</code> as an extension.</p>
+<blockquote>
+<p>The latest release of Apache Ranger is at the time of writing version 2.0. This version has a dependency on <code>log4j 1.2.17</code> which has a vulnerability if you configure it to use a <code>SocketServer</code> (CVE-2019-17571). Next to that, it also includes Kafka 2.0.0 which has 2 known vulnerabilities (CVE-2019-12399, CVE-2018-17196). Kafka can be used by the audit component in Ranger, but is not required.</p>
+</blockquote>
+<h2><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>Support for Apache Ranger authorization consists of three elements:</p>
+<ul>
+<li>configuring the extension in Apache Druid</li>
+<li>configuring the connection to Apache Ranger</li>
+<li>providing the service definition for Druid to Apache Ranger</li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="enabling-the-extension"></a><a href="#enabling-the-extension" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<p>Ensure that you have a valid authenticator chain and escalator set in your <code>common.runtime.properties</code>. For every authenticator your wish to use the authorizer for, set <code>druid.auth.authenticator.&lt;authenticatorName&gt;.authorizerName</code> to the name you will give the authorizer, e.g. <code>ranger</code>.</p>
+<p>Then add the following and amend to your needs (in case you need to use multiple authorizers):</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.auth.authorizers</span>=[<span class="hljs-string">"ranger"</span>]
+<span class="hljs-attr">druid.auth.authorizer.ranger.type</span>=ranger
+</code></pre>
+<p>The following is an example that showcases using <code>druid-basic-security</code> for authentication and <code>druid-ranger-security</code> for authorization.</p>
+<pre><code class="hljs"><span class="hljs-attr">druid.auth.authenticatorChain</span>=[<span class="hljs-string">"basic"</span>]
+<span class="hljs-attr">druid.auth.authenticator.basic.type</span>=basic
+<span class="hljs-attr">druid.auth.authenticator.basic.initialAdminPassword</span>=password1
+<span class="hljs-attr">druid.auth.authenticator.basic.initialInternalClientPassword</span>=password2
+<span class="hljs-attr">druid.auth.authenticator.basic.credentialsValidator.type</span>=metadata
+<span class="hljs-attr">druid.auth.authenticator.basic.skipOnFailure</span>=<span class="hljs-literal">false</span>
+<span class="hljs-attr">druid.auth.authenticator.basic.enableCacheNotifications</span>=<span class="hljs-literal">true</span>
+<span class="hljs-attr">druid.auth.authenticator.basic.authorizerName</span>=ranger
+
+<span class="hljs-attr">druid.auth.authorizers</span>=[<span class="hljs-string">"ranger"</span>]
+<span class="hljs-attr">druid.auth.authorizer.ranger.type</span>=ranger
+
+<span class="hljs-comment"># Escalator</span>
+<span class="hljs-attr">druid.escalator.type</span>=basic
+<span class="hljs-attr">druid.escalator.internalClientUsername</span>=druid_system
+<span class="hljs-attr">druid.escalator.internalClientPassword</span>=password2
+<span class="hljs-attr">druid.escalator.authorizerName</span>=ranger
+</code></pre>
+<blockquote>
+<p>Contrary to the documentation of <code>druid-basic-auth</code> Ranger does not automatically provision a highly privileged system user, you will need to do this yourself. This system user in the case of <code>druid-basic-auth</code> is named <code>druid_system</code> and for the escalator it is configurable, as shown above. Make sure to take note of these user names and configure <code>READ</code> access to <code>state:STATE</code> and to <code>config:security</code> in your ranger po [...]
+</blockquote>
+<h4><a class="anchor" aria-hidden="true" id="properties-to-configure-the-extension-in-apache-druid"></a><a href="#properties-to-configure-the-extension-in-apache-druid" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2. [...]
+<table>
+<thead>
+<tr><th>Property</th><th>Description</th><th>Default</th><th>required</th></tr>
+</thead>
+<tbody>
+<tr><td><code>druid.auth.ranger.keytab</code></td><td>Defines the keytab to be used while authenticating against Apache Ranger to obtain policies and provide auditing</td><td>null</td><td>No</td></tr>
+<tr><td><code>druid.auth.ranger.principal</code></td><td>Defines the principal to be used while authenticating against Apache Ranger to obtain policies and provide auditing</td><td>null</td><td>No</td></tr>
+<tr><td><code>druid.auth.ranger.use_ugi</code></td><td>Determines if groups that the authenticated user belongs to should be obtained from Hadoop's <code>UserGroupInformation</code></td><td>null</td><td>No</td></tr>
+</tbody>
+</table>
+<h3><a class="anchor" aria-hidden="true" id="configuring-the-connection-to-apache-ranger"></a><a href="#configuring-the-connection-to-apache-ranger" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h [...]
+<p>The Apache Ranger authorization extension will read several configuration files. Discussing the contents of those files is beyond the scope of this document. Depending on your needs you will need to create them. The minimum you will need to have is a <code>ranger-druid-security.xml</code> file that you will need to put in the classpath (e.g. <code>_common</code>). For auditing, the configuration is in <code>ranger-druid-audit.xml</code>.</p>
+<h3><a class="anchor" aria-hidden="true" id="adding-the-service-definition-for-apache-druid-to-apache-ranger"></a><a href="#adding-the-service-definition-for-apache-druid-to-apache-ranger" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H [...]
+<p>At the time of writing of this document Apache Ranger (2.0) does not include an out of the box service and service definition for Druid. You can add the service definition to Apache Ranger by entering the following command:</p>
+<p><code>curl -u &lt;user&gt;:&lt;password&gt; -d &quot;@ranger-servicedef-druid.json&quot; -X POST -H &quot;Accept: application/json&quot; -H &quot;Content-Type: application/json&quot; http://localhost:6080/service/public/v2/api/servicedef/</code></p>
+<p>You should get back <code>json</code> describing the service definition you just added. You can now go to the web interface of Apache Ranger which should now include a widget for &quot;Druid&quot;. Click the plus sign and create the new service. Ensure your service name is equal to what you configured in <code>ranger-druid-security.xml</code>.</p>
+<h4><a class="anchor" aria-hidden="true" id="configuring-apache-ranger-policies"></a><a href="#configuring-apache-ranger-policies" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5 [...]
+<p>When installing a new Druid service in Apache Ranger for the first time, Ranger will provision the policies to allow the administrative user <code>read/write</code> access to all properties and data sources. You might want to limit this. Do not forget to add the correct policies for the <code>druid_system</code> user and the <code>internalClientUserName</code> of the escalator.</p>
+<blockquote>
+<p>Loading new data sources requires <code>write</code> access to the <code>datasource</code> prior to the loading itself. So if you want to create a datasource <code>wikipedia</code> you are required to have an <code>allow</code> policy inside Apache Ranger before trying to load the spec.</p>
+</blockquote>
+<h2><a class="anchor" aria-hidden="true" id="usage"></a><a href="#usage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09 [...]
+<h3><a class="anchor" aria-hidden="true" id="http-methods"></a><a href="#http-methods" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>For information on what HTTP methods are supported for a particular request endpoint, please refer to the <a href="/docs/0.19.0/operations/api-reference.html">API documentation</a>.</p>
+<p>GET requires READ permission, while POST and DELETE require WRITE permission.</p>
+<h3><a class="anchor" aria-hidden="true" id="sql-permissions"></a><a href="#sql-permissions" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5  [...]
+<p>Queries on Druid datasources require DATASOURCE READ permissions for the specified datasource.</p>
+<p>Queries on the <a href="../../querying/sql.html#information-schema">INFORMATION_SCHEMA tables</a> will return information about datasources that the caller has DATASOURCE READ access to. Other datasources will be omitted.</p>
+<p>Queries on the <a href="../../querying/sql.html#system-schema">system schema tables</a> require the following permissions:</p>
+<ul>
+<li><code>segments</code>: Segments will be filtered based on DATASOURCE READ permissions.</li>
+<li><code>servers</code>: The user requires STATE READ permissions.</li>
+<li><code>server_segments</code>: The user requires STATE READ permissions and segments will be filtered based on DATASOURCE READ permissions.</li>
+<li><code>tasks</code>: Tasks will be filtered based on DATASOURCE READ permissions.</li>
+</ul>
+<h3><a class="anchor" aria-hidden="true" id="debugging"></a><a href="#debugging" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
+<p>If you face difficulty grasping why access is denied to certain elements, and the <code>audit</code> section in Apache Ranger does not give you any detail, you can enable debug logging for <code>org.apache.druid.security.ranger</code>. To do so add the following in your <code>log4j2.xml</code>:</p>
+<pre><code class="hljs css language-xml"><span class="hljs-comment">&lt;!-- Set level="debug" to see access requests to Apache Ranger --&gt;</span>
+<span class="hljs-tag">&lt;<span class="hljs-name">Logger</span> <span class="hljs-attr">name</span>=<span class="hljs-string">"org.apache.druid.security"</span> <span class="hljs-attr">level</span>=<span class="hljs-string">"debug"</span> <span class="hljs-attr">additivity</span>=<span class="hljs-string">"false"</span>&gt;</span>
+  <span class="hljs-tag">&lt;<span class="hljs-name">Appender-ref</span> <span class="hljs-attr">ref</span>=<span class="hljs-string">"Console"</span>/&gt;</span>
+<span class="hljs-tag">&lt;/<span class="hljs-name">Logger</span>&gt;</span>
+</code></pre>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/druid-lookups.html"><span class="arrow-prev">← </span><span>Cached Lookup Module</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/google.html"><span>Google Cloud Storage</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#configuration">Configuration</a [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/examples.html b/docs/0.19.0/development/extensions-core/examples.html
similarity index 89%
copy from docs/latest/development/extensions-core/examples.html
copy to docs/0.19.0/development/extensions-core/examples.html
index 153e3db..91cd744 100644
--- a/docs/latest/development/extensions-core/examples.html
+++ b/docs/0.19.0/development/extensions-core/examples.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extension Examples · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/examples.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" con [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Extension Examples · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/examples.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" con [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -22,7 +22,7 @@
   ~ under the License.
   -->
 <p>This extension was removed in Apache Druid 0.16.0. In prior versions, the extension provided obsolete facilities to ingest data from the Twitter 'Spritzer' data stream as well as the Wikipedia changes IRC channel.</p>
-</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology">Technology</a> · <a href="/use-cases">Use Cases</a> · <a href="/druid-powered">Powered by Druid</a> · <a href="/docs/latest/latest">Docs</a> · <a href="/community/">Community</a> · <a href="/downloads.html">Download</a> · <a href="/faq">FAQ</a></p></div><div [...]
+</span></div></article></div><div class="docs-prevnext"></div></div></div><nav class="onPageNav"></nav></div><footer class="nav-footer druid-footer" id="footer"><div class="container"><div class="text-center"><p><a href="/technology">Technology</a> · <a href="/use-cases">Use Cases</a> · <a href="/druid-powered">Powered by Druid</a> · <a href="/docs/0.19.0/latest">Docs</a> · <a href="/community/">Community</a> · <a href="/downloads.html">Download</a> · <a href="/faq">FAQ</a></p></div><div [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -39,6 +39,6 @@
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-core/google.html b/docs/0.19.0/development/extensions-core/google.html
new file mode 100644
index 0000000..1c00567
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/google.html
@@ -0,0 +1,128 @@
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Google Cloud Storage · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/google.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" con [...]
+              window.dataLayer = window.dataLayer || [];
+              function gtag(){dataLayer.push(arguments); }
+              gtag('js', new Date());
+              gtag('config', 'UA-131010415-1');
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            var coll = document.getElementsByClassName('collapsible');
+            var checkActiveCategory = true;
+            for (var i = 0; i < coll.length; i++) {
+              var links = coll[i].nextElementSibling.getElementsByTagName('*');
+              if (checkActiveCategory){
+                for (var j = 0; j < links.length; j++) {
+                  if (links[j].classList.contains('navListItemActive')){
+                    coll[i].nextElementSibling.classList.toggle('hide');
+                    coll[i].childNodes[1].classList.toggle('rotate');
+                    checkActiveCategory = false;
+                    break;
+                  }
+                }
+              }
+
+              coll[i].addEventListener('click', function() {
+                var arrow = this.childNodes[1];
+                arrow.classList.toggle('rotate');
+                var content = this.nextElementSibling;
+                content.classList.toggle('hide');
+              });
+            }
+
+            document.addEventListener('DOMContentLoaded', function() {
+              createToggler('#navToggler', '#docsNav', 'docsSliderActive');
+              createToggler('#tocToggler', 'body', 'tocActive');
+
+              var headings = document.querySelector('.toc-headings');
+              headings && headings.addEventListener('click', function(event) {
+                var el = event.target;
+                while(el !== headings){
+                  if (el.tagName === 'A') {
+                    document.body.classList.remove('tocActive');
+                    break;
+                  } else{
+                    el = el.parentNode;
+                  }
+                }
+              }, false);
+
+              function createToggler(togglerSelector, targetSelector, className) {
+                var toggler = document.querySelector(togglerSelector);
+                var target = document.querySelector(targetSelector);
+
+                if (!toggler) {
+                  return;
+                }
+
+                toggler.onclick = function(event) {
+                  event.preventDefault();
+
+                  target.classList.toggle(className);
+                };
+              }
+            });
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/google.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Google Cloud Storage</h1></header><article><div><span><!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<h2><a class="anchor" aria-hidden="true" id="google-cloud-storage-extension"></a><a href="#google-cloud-storage-extension" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 1 [...]
+<p>This extension allows you to do 2 things:</p>
+<ul>
+<li><a href="#reading-data-from-google-cloud-storage">Ingest data</a> from files stored in Google Cloud Storage.</li>
+<li>Write segments to <a href="#deep-storage">deep storage</a> in GCS.</li>
+</ul>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-google-extensions</code> extension.</p>
+<h3><a class="anchor" aria-hidden="true" id="required-configuration"></a><a href="#required-configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<p>To configure connectivity to google cloud, run druid processes with <code>GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_keyfile</code> in the environment.</p>
+<h3><a class="anchor" aria-hidden="true" id="reading-data-from-google-cloud-storage"></a><a href="#reading-data-from-google-cloud-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1. [...]
+<p>The <a href="/docs/0.19.0/ingestion/native-batch.html#google-cloud-storage-input-source">Google Cloud Storage input source</a> is supported by the <a href="/docs/0.19.0/ingestion/native-batch.html#parallel-task">Parallel task</a>
+to read objects directly from Google Cloud Storage. If you use the <a href="/docs/0.19.0/ingestion/hadoop.html">Hadoop task</a>,
+you can read data from Google Cloud Storage by specifying the paths in your <a href="/docs/0.19.0/ingestion/hadoop.html#inputspec"><code>inputSpec</code></a>.</p>
+<p>Objects can also be read directly from Google Cloud Storage via the <a href="/docs/0.19.0/ingestion/native-batch.html#staticgoogleblobstorefirehose">StaticGoogleBlobStoreFirehose</a></p>
+<h3><a class="anchor" aria-hidden="true" id="deep-storage"></a><a href="#deep-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
+<p>Deep storage can be written to Google Cloud Storage either via this extension or the <a href="/docs/0.19.0/development/extensions-core/hdfs.html">druid-hdfs-storage extension</a>.</p>
+<h4><a class="anchor" aria-hidden="true" id="configuration"></a><a href="#configuration" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.8 [...]
+<p>To configure connectivity to google cloud, run druid processes with <code>GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_keyfile</code> in the environment.</p>
+<table>
+<thead>
+<tr><th>Property</th><th>Description</th><th>Possible Values</th><th>Default</th></tr>
+</thead>
+<tbody>
+<tr><td><code>druid.storage.type</code></td><td>google</td><td></td><td>Must be set.</td></tr>
+<tr><td><code>druid.google.bucket</code></td><td></td><td>Google Storage bucket name.</td><td>Must be set.</td></tr>
+<tr><td><code>druid.google.prefix</code></td><td>A prefix string that will be prepended to the blob names for the segments published to Google deep storage</td><td></td><td>&quot;&quot;</td></tr>
+<tr><td><code>druid.google.maxListingLength</code></td><td>maximum number of input files matching a given prefix to retrieve at a time</td><td></td><td>1024</td></tr>
+</tbody>
+</table>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/druid-ranger-security.html"><span class="arrow-prev">← </span><span>Apache Ranger Security</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/hdfs.html"><span>HDFS</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#google-cloud-storage-extension">Google  [...]
+                document.addEventListener('keyup', function(e) {
+                  if (e.target !== document.body) {
+                    return;
+                  }
+                  // keyCode for '/' (slash)
+                  if (e.keyCode === 191) {
+                    const search = document.getElementById('search_input_react');
+                    search && search.focus();
+                  }
+                });
+              </script><script>
+              var search = docsearch({
+                
+                apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
+                indexName: 'apache_druid',
+                inputSelector: '#search_input_react',
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
+              });
+            </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/hdfs.html b/docs/0.19.0/development/extensions-core/hdfs.html
similarity index 63%
copy from docs/latest/development/extensions-core/hdfs.html
copy to docs/0.19.0/development/extensions-core/hdfs.html
index a9ea3e6..a0db56e 100644
--- a/docs/latest/development/extensions-core/hdfs.html
+++ b/docs/0.19.0/development/extensions-core/hdfs.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>HDFS · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/hdfs.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.18.1" /><m [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>HDFS · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/hdfs.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:version" content="0.19.0" /><m [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/hdfs.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">HDFS</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/hdfs.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">HDFS</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,7 +77,7 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-hdfs-storage</code> as an extension and run druid processes with <code>GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_keyfile</code> in the environment.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-hdfs-storage</code> as an extension and run druid processes with <code>GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account_keyfile</code> in the environment.</p>
 <h2><a class="anchor" aria-hidden="true" id="deep-storage"></a><a href="#deep-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83. [...]
 <h3><a class="anchor" aria-hidden="true" id="configuration-for-hdfs"></a><a href="#configuration-for-hdfs" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
 <table>
@@ -195,19 +195,19 @@ and <a href="https://github.com/GoogleCloudPlatform/bdutil/blob/master/conf/hado
 <p>Tested with Druid 0.17.0, Hadoop 2.8.5 and gcs-connector jar 2.0.0-hadoop2.</p>
 <h2><a class="anchor" aria-hidden="true" id="reading-data-from-hdfs-or-cloud-storage"></a><a href="#reading-data-from-hdfs-or-cloud-storage" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2  [...]
 <h3><a class="anchor" aria-hidden="true" id="native-batch-ingestion"></a><a href="#native-batch-ingestion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>The <a href="/docs/latest/ingestion/native-batch.html#hdfs-input-source">HDFS input source</a> is supported by the <a href="/docs/latest/ingestion/native-batch.html#parallel-task">Parallel task</a>
+<p>The <a href="/docs/0.19.0/ingestion/native-batch.html#hdfs-input-source">HDFS input source</a> is supported by the <a href="/docs/0.19.0/ingestion/native-batch.html#parallel-task">Parallel task</a>
 to read files directly from the HDFS Storage. You may be able to read objects from cloud storage
 with the HDFS input source, but we highly recommend to use a proper
-<a href="/docs/latest/ingestion/native-batch.html#input-sources">Input Source</a> instead if possible because
-it is simple to set up. For now, only the <a href="/docs/latest/ingestion/native-batch.html#s3-input-source">S3 input source</a>
-and the <a href="/docs/latest/ingestion/native-batch.html#google-cloud-storage-input-source">Google Cloud Storage input source</a>
+<a href="/docs/0.19.0/ingestion/native-batch.html#input-sources">Input Source</a> instead if possible because
+it is simple to set up. For now, only the <a href="/docs/0.19.0/ingestion/native-batch.html#s3-input-source">S3 input source</a>
+and the <a href="/docs/0.19.0/ingestion/native-batch.html#google-cloud-storage-input-source">Google Cloud Storage input source</a>
 are supported for cloud storage types, and so you may still want to use the HDFS input source
 to read from cloud storage other than those two.</p>
 <h3><a class="anchor" aria-hidden="true" id="hadoop-based-ingestion"></a><a href="#hadoop-based-ingestion" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>If you use the <a href="/docs/latest/ingestion/hadoop.html">Hadoop ingestion</a>, you can read data from HDFS
-by specifying the paths in your <a href="/docs/latest/ingestion/hadoop.html#inputspec"><code>inputSpec</code></a>.
-See the <a href="/docs/latest/ingestion/hadoop.html#static">Static</a> inputSpec for details.</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/google.html"><span class="arrow-prev">← </span><span>Google Cloud Storage</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/kafka-extraction-namespace.html"><span>Apache Kafka Lookups</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#deep-storage">Deep [...]
+<p>If you use the <a href="/docs/0.19.0/ingestion/hadoop.html">Hadoop ingestion</a>, you can read data from HDFS
+by specifying the paths in your <a href="/docs/0.19.0/ingestion/hadoop.html#inputspec"><code>inputSpec</code></a>.
+See the <a href="/docs/0.19.0/ingestion/hadoop.html#static">Static</a> inputSpec for details.</p>
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/google.html"><span class="arrow-prev">← </span><span>Google Cloud Storage</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/kafka-extraction-namespace.html"><span>Apache Kafka Lookups</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#deep-storage">Deep [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -224,6 +224,6 @@ See the <a href="/docs/latest/ingestion/hadoop.html#static">Static</a> inputSpec
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/0.19.0/development/extensions-core/kafka-eight-firehose.html b/docs/0.19.0/development/extensions-core/kafka-eight-firehose.html
new file mode 100644
index 0000000..4d4bfd2
--- /dev/null
+++ b/docs/0.19.0/development/extensions-core/kafka-eight-firehose.html
@@ -0,0 +1,8 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Redirecting...</title>
+<link rel="canonical" href="../../ingestion/standalone-realtime.html">
+<meta http-equiv="refresh" content="0; url=../../ingestion/standalone-realtime.html">
+<h1>Redirecting...</h1>
+<a href="../../ingestion/standalone-realtime.html">Click here if you are not redirected.</a>
+<script>location="../../ingestion/standalone-realtime.html"</script>
diff --git a/docs/latest/development/extensions-core/kafka-extraction-namespace.html b/docs/0.19.0/development/extensions-core/kafka-extraction-namespace.html
similarity index 51%
copy from docs/latest/development/extensions-core/kafka-extraction-namespace.html
copy to docs/0.19.0/development/extensions-core/kafka-extraction-namespace.html
index 9efb856..6e9ba9e 100644
--- a/docs/latest/development/extensions-core/kafka-extraction-namespace.html
+++ b/docs/0.19.0/development/extensions-core/kafka-extraction-namespace.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Kafka Lookups · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/kafka-extraction-namespace.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="do [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Kafka Lookups · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/kafka-extraction-namespace.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="do [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/kafka-extraction-namespace.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Apache Kafka Lookups</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/kafka-extraction-namespace.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Kafka Lookups</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -78,9 +78,9 @@
   ~ under the License.
   -->
 <blockquote>
-<p>Lookups are an <a href="/docs/latest/development/experimental.html">experimental</a> feature.</p>
+<p>Lookups are an <a href="/docs/0.19.0/development/experimental.html">experimental</a> feature.</p>
 </blockquote>
-<p>To use this Apache Druid extension, make sure to <a href="/docs/latest/development/extensions.html#loading-extensions">include</a> <code>druid-lookups-cached-global</code> and <code>druid-kafka-extraction-namespace</code> as an extension.</p>
+<p>To use this Apache Druid extension, make sure to <a href="/docs/0.19.0/development/extensions.html#loading-extensions">include</a> <code>druid-lookups-cached-global</code> and <code>druid-kafka-extraction-namespace</code> as an extension.</p>
 <p>If you need updates to populate as promptly as possible, it is possible to plug into a Kafka topic whose key is the old value and message is the desired new value (both in UTF-8) as a LookupExtractorFactory.</p>
 <pre><code class="hljs css language-json">{
   <span class="hljs-attr">"type"</span>:<span class="hljs-string">"kafka"</span>,
@@ -96,12 +96,12 @@
 <tr><td><code>kafkaTopic</code></td><td>The Kafka topic to read the data from</td><td>Yes</td><td></td></tr>
 <tr><td><code>kafkaProperties</code></td><td>Kafka consumer properties. At least&quot;zookeeper.connect&quot; must be specified. Only the zookeeper connector is supported</td><td>Yes</td><td></td></tr>
 <tr><td><code>connectTimeout</code></td><td>How long to wait for an initial connection</td><td>No</td><td><code>0</code> (do not wait)</td></tr>
-<tr><td><code>isOneToOne</code></td><td>The map is a one-to-one (see <a href="/docs/latest/querying/dimensionspecs.html">Lookup DimensionSpecs</a>)</td><td>No</td><td><code>false</code></td></tr>
+<tr><td><code>isOneToOne</code></td><td>The map is a one-to-one (see <a href="/docs/0.19.0/querying/dimensionspecs.html">Lookup DimensionSpecs</a>)</td><td>No</td><td><code>false</code></td></tr>
 </tbody>
 </table>
 <p>The extension <code>kafka-extraction-namespace</code> enables reading from a Kafka feed which has name/key pairs to allow renaming of dimension values. An example use case would be to rename an ID to a human readable format.</p>
 <p>The consumer properties <code>group.id</code> and <code>auto.offset.reset</code> CANNOT be set in <code>kafkaProperties</code> as they are set by the extension as <code>UUID.randomUUID().toString()</code> and <code>smallest</code> respectively.</p>
-<p>See <a href="/docs/latest/querying/lookups.html">lookups</a> for how to configure and use lookups.</p>
+<p>See <a href="/docs/0.19.0/querying/lookups.html">lookups</a> for how to configure and use lookups.</p>
 <h2><a class="anchor" aria-hidden="true" id="limitations"></a><a href="#limitations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42 [...]
 <p>Currently the Kafka lookup extractor feeds the entire Kafka stream into a local cache. If you are using on-heap caching, this can easily clobber your java heap if the Kafka stream spews a lot of unique keys.
 off-heap caching should alleviate these concerns, but there is still a limit to the quantity of data that can be stored.
@@ -111,7 +111,7 @@ There is currently no eviction policy.</p>
 <pre><code class="hljs">./bin/kafka-console-producer.sh --<span class="hljs-keyword">property</span><span class="hljs-title"> </span>parse.<span class="hljs-attr">key=</span><span class="hljs-literal">true</span> --<span class="hljs-keyword">property</span><span class="hljs-title"> </span>key.<span class="hljs-attr">separator=</span><span class="hljs-string">"-&gt;"</span> --broker-list localhost:<span class="hljs-number">9092</span> --topic testTopic
 </code></pre>
 <p>Renames can then be published as <code>OLD_VAL-&gt;NEW_VAL</code> followed by newline (enter or return)</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/hdfs.html"><span class="arrow-prev">← </span><span>HDFS</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/lookups-cached-global.html"><span>Globally Cached Lookups</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#limitations">Limitations</a></li><li>< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/hdfs.html"><span class="arrow-prev">← </span><span>HDFS</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/lookups-cached-global.html"><span>Globally Cached Lookups</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#limitations">Limitations</a></li><li>< [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -128,6 +128,6 @@ There is currently no eviction policy.</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/kafka-ingestion.html b/docs/0.19.0/development/extensions-core/kafka-ingestion.html
similarity index 73%
copy from docs/latest/development/extensions-core/kafka-ingestion.html
copy to docs/0.19.0/development/extensions-core/kafka-ingestion.html
index ba26475..7eaf5fa 100644
--- a/docs/latest/development/extensions-core/kafka-ingestion.html
+++ b/docs/0.19.0/development/extensions-core/kafka-ingestion.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Kafka ingestion · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/kafka-ingestion.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:v [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Apache Kafka ingestion · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/kafka-ingestion.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsearch:v [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/kafka-ingestion.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Apache Kafka ingestion</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/kafka-ingestion.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Apache Kafka ingestion</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -83,7 +83,7 @@ partition and offset mechanism and are therefore able to provide guarantees of e
 The supervisor oversees the state of the indexing tasks to coordinate handoffs,
 manage failures, and ensure that the scalability and replication requirements are maintained.</p>
 <p>This service is provided in the <code>druid-kafka-indexing-service</code> core Apache Druid extension (see
-<a href="/docs/latest/development/extensions.html#loading-extensions">Including Extensions</a>).</p>
+<a href="/docs/0.19.0/development/extensions.html#loading-extensions">Including Extensions</a>).</p>
 <blockquote>
 <p>The Kafka indexing service supports transactional topics which were introduced in Kafka 0.11.x. These changes make the
 Kafka consumer that Druid uses incompatible with older brokers. Ensure that your Kafka brokers are version 0.11.x or
@@ -92,7 +92,7 @@ if you are using older version of Kafka brokers.</p>
 </blockquote>
 <h2><a class="anchor" aria-hidden="true" id="tutorial"></a><a href="#tutorial" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64  [...]
 <p>This page contains reference documentation for Apache Kafka-based ingestion.
-For a walk-through instead, check out the <a href="/docs/latest/tutorials/tutorial-kafka.html">Loading from Apache Kafka</a> tutorial.</p>
+For a walk-through instead, check out the <a href="/docs/0.19.0/tutorials/tutorial-kafka.html">Loading from Apache Kafka</a> tutorial.</p>
 <h2><a class="anchor" aria-hidden="true" id="submitting-a-supervisor-spec"></a><a href="#submitting-a-supervisor-spec" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <p>The Kafka indexing service requires that the <code>druid-kafka-indexing-service</code> extension be loaded on both the Overlord and the
 MiddleManagers. A supervisor for a dataSource is started by submitting a supervisor spec via HTTP POST to
@@ -142,10 +142,6 @@ MiddleManagers. A supervisor for a dataSource is started by submitting a supervi
       <span class="hljs-attr">"queryGranularity"</span>: <span class="hljs-string">"NONE"</span>
     }
   },
-  <span class="hljs-attr">"tuningConfig"</span>: {
-    <span class="hljs-attr">"type"</span>: <span class="hljs-string">"kafka"</span>,
-    <span class="hljs-attr">"maxRowsPerSegment"</span>: <span class="hljs-number">5000000</span>
-  },
   <span class="hljs-attr">"ioConfig"</span>: {
     <span class="hljs-attr">"topic"</span>: <span class="hljs-string">"metrics"</span>,
     <span class="hljs-attr">"inputFormat"</span>: {
@@ -157,6 +153,10 @@ MiddleManagers. A supervisor for a dataSource is started by submitting a supervi
     <span class="hljs-attr">"taskCount"</span>: <span class="hljs-number">1</span>,
     <span class="hljs-attr">"replicas"</span>: <span class="hljs-number">1</span>,
     <span class="hljs-attr">"taskDuration"</span>: <span class="hljs-string">"PT1H"</span>
+  },
+  <span class="hljs-attr">"tuningConfig"</span>: {
+    <span class="hljs-attr">"type"</span>: <span class="hljs-string">"kafka"</span>,
+    <span class="hljs-attr">"maxRowsPerSegment"</span>: <span class="hljs-number">5000000</span>
   }
 }
 </code></pre>
@@ -167,11 +167,43 @@ MiddleManagers. A supervisor for a dataSource is started by submitting a supervi
 </thead>
 <tbody>
 <tr><td><code>type</code></td><td>The supervisor type, this should always be <code>kafka</code>.</td><td>yes</td></tr>
-<tr><td><code>dataSchema</code></td><td>The schema that will be used by the Kafka indexing task during ingestion, see <a href="/docs/latest/ingestion/index.html#dataschema"><code>dataSchema</code></a> for details.</td><td>yes</td></tr>
-<tr><td><code>ioConfig</code></td><td>A KafkaSupervisorIOConfig to configure the supervisor and indexing tasks, see below.</td><td>yes</td></tr>
-<tr><td><code>tuningConfig</code></td><td>A KafkaSupervisorTuningConfig to configure the supervisor and indexing tasks, see below.</td><td>no</td></tr>
+<tr><td><code>dataSchema</code></td><td>The schema that will be used by the Kafka indexing task during ingestion. See <a href="/docs/0.19.0/ingestion/index.html#dataschema"><code>dataSchema</code></a> for details.</td><td>yes</td></tr>
+<tr><td><code>ioConfig</code></td><td>A KafkaSupervisorIOConfig object for configuring Kafka connection and I/O-related settings for the supervisor and indexing task. See <a href="#kafkasupervisorioconfig">KafkaSupervisorIOConfig</a> below.</td><td>yes</td></tr>
+<tr><td><code>tuningConfig</code></td><td>A KafkaSupervisorTuningConfig object for configuring performance-related settings for the supervisor and indexing tasks. See <a href="#kafkasupervisortuningconfig">KafkaSupervisorTuningConfig</a> below.</td><td>no</td></tr>
+</tbody>
+</table>
+<h3><a class="anchor" aria-hidden="true" id="kafkasupervisorioconfig"></a><a href="#kafkasupervisorioconfig" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
+<table>
+<thead>
+<tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr>
+</thead>
+<tbody>
+<tr><td><code>topic</code></td><td>String</td><td>The Kafka topic to read from. This must be a specific topic as topic patterns are not supported.</td><td>yes</td></tr>
+<tr><td><code>inputFormat</code></td><td>Object</td><td><a href="/docs/0.19.0/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> to specify how to parse input data. See <a href="#specifying-data-format">the below section</a> for details about specifying the input format.</td><td>yes</td></tr>
+<tr><td><code>consumerProperties</code></td><td>Map&lt;String, Object&gt;</td><td>A map of properties to be passed to the Kafka consumer. This must contain a property <code>bootstrap.servers</code> with a list of Kafka brokers in the form: <code>&lt;BROKER_1&gt;:&lt;PORT_1&gt;,&lt;BROKER_2&gt;:&lt;PORT_2&gt;,...</code>. For SSL connections, the <code>keystore</code>, <code>truststore</code> and <code>key</code> passwords can be provided as a <a href="/docs/0.19.0/operations/password-prov [...]
+<tr><td><code>pollTimeout</code></td><td>Long</td><td>The length of time to wait for the Kafka consumer to poll records, in milliseconds</td><td>no (default == 100)</td></tr>
+<tr><td><code>replicas</code></td><td>Integer</td><td>The number of replica sets, where 1 means a single set of tasks (no replication). Replica tasks will always be assigned to different workers to provide resiliency against process failure.</td><td>no (default == 1)</td></tr>
+<tr><td><code>taskCount</code></td><td>Integer</td><td>The maximum number of <em>reading</em> tasks in a <em>replica set</em>. This means that the maximum number of reading tasks will be <code>taskCount * replicas</code> and the total number of tasks (<em>reading</em> + <em>publishing</em>) will be higher than this. See <a href="#capacity-planning">Capacity Planning</a> below for more details. The number of reading tasks will be less than <code>taskCount</code> if <code>taskCount &gt; {n [...]
+<tr><td><code>taskDuration</code></td><td>ISO8601 Period</td><td>The length of time before tasks stop reading and begin publishing their segment.</td><td>no (default == PT1H)</td></tr>
+<tr><td><code>startDelay</code></td><td>ISO8601 Period</td><td>The period to wait before the supervisor starts managing tasks.</td><td>no (default == PT5S)</td></tr>
+<tr><td><code>period</code></td><td>ISO8601 Period</td><td>How often the supervisor will execute its management logic. Note that the supervisor will also run in response to certain events (such as tasks succeeding, failing, and reaching their taskDuration) so this value specifies the maximum time between iterations.</td><td>no (default == PT30S)</td></tr>
+<tr><td><code>useEarliestOffset</code></td><td>Boolean</td><td>If a supervisor is managing a dataSource for the first time, it will obtain a set of starting offsets from Kafka. This flag determines whether it retrieves the earliest or latest offsets in Kafka. Under normal circumstances, subsequent tasks will start from where the previous segments ended so this flag will only be used on first run.</td><td>no (default == false)</td></tr>
+<tr><td><code>completionTimeout</code></td><td>ISO8601 Period</td><td>The length of time to wait before declaring a publishing task as failed and terminating it. If this is set too low, your tasks may never publish. The publishing clock for a task begins roughly after <code>taskDuration</code> elapses.</td><td>no (default == PT30M)</td></tr>
+<tr><td><code>lateMessageRejectionStartDateTime</code></td><td>ISO8601 DateTime</td><td>Configure tasks to reject messages with timestamps earlier than this date time; for example if this is set to <code>2016-01-01T11:00Z</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps earlier than <em>2016-01-01T11:00Z</em> will be dropped. This may help prevent concurrency issues if your data stream has late messages and you have multiple pipelines that  [...]
+<tr><td><code>lateMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps earlier than this period before the task was created; for example if this is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps earlier than <em>2016-01-01T11:00Z</em> will be dropped. This may help prevent concurrency issues if your data stream has late messages and you have multiple pipelines th [...]
+<tr><td><code>earlyMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps later than this period after the task reached its taskDuration; for example if this is set to <code>PT1H</code>, the taskDuration is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps later than <em>2016-01-01T14:00Z</em> will be dropped. <strong>Note:</strong> Tasks sometimes run past their task [...]
 </tbody>
 </table>
+<h4><a class="anchor" aria-hidden="true" id="specifying-data-format"></a><a href="#specifying-data-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<p>Kafka indexing service supports both <a href="/docs/0.19.0/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> and <a href="/docs/0.19.0/ingestion/data-formats.html#parser"><code>parser</code></a> to specify the data format.
+The <code>inputFormat</code> is a new and recommended way to specify the data format for Kafka indexing service,
+but unfortunately, it doesn't support all data formats supported by the legacy <code>parser</code>.
+(They will be supported in the future.)</p>
+<p>The supported <code>inputFormat</code>s include <a href="/docs/0.19.0/ingestion/data-formats.html#csv"><code>csv</code></a>,
+<a href="/docs/0.19.0/ingestion/data-formats.html#tsv-delimited"><code>delimited</code></a>, and <a href="/docs/0.19.0/ingestion/data-formats.html#json"><code>json</code></a>.
+You can also read <a href="/docs/0.19.0/ingestion/data-formats.html#avro-stream-parser"><code>avro_stream</code></a>,
+<a href="/docs/0.19.0/ingestion/data-formats.html#protobuf-parser"><code>protobuf</code></a>,
+and <a href="/docs/0.19.0/development/extensions-contrib/thrift.html"><code>thrift</code></a> formats using <code>parser</code>.</p>
 <p><a name="tuningconfig"></a></p>
 <h3><a class="anchor" aria-hidden="true" id="kafkasupervisortuningconfig"></a><a href="#kafkasupervisortuningconfig" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>The tuningConfig is optional and default parameters will be used if no tuningConfig is specified.</p>
@@ -192,7 +224,7 @@ MiddleManagers. A supervisor for a dataSource is started by submitting a supervi
 <tr><td><code>reportParseExceptions</code></td><td>Boolean</td><td><em>DEPRECATED</em>. If true, exceptions encountered during parsing will be thrown and will halt ingestion; if false, unparseable rows and fields will be skipped. Setting <code>reportParseExceptions</code> to true will override existing configurations for <code>maxParseExceptions</code> and <code>maxSavedParseExceptions</code>, setting <code>maxParseExceptions</code> to 0 and limiting <code>maxSavedParseExceptions</code>  [...]
 <tr><td><code>handoffConditionTimeout</code></td><td>Long</td><td>Milliseconds to wait for segment handoff. It must be &gt;= 0, where 0 means to wait forever.</td><td>no (default == 0)</td></tr>
 <tr><td><code>resetOffsetAutomatically</code></td><td>Boolean</td><td>Controls behavior when Druid needs to read Kafka messages that are no longer available (i.e. when OffsetOutOfRangeException is encountered).<br/><br/>If false, the exception will bubble up, which will cause your tasks to fail and ingestion to halt. If this occurs, manual intervention is required to correct the situation; potentially using the <a href="../../operations/api-reference.html#supervisors">Reset Supervisor AP [...]
-<tr><td><code>workerThreads</code></td><td>Integer</td><td>The number of threads that will be used by the supervisor for asynchronous operations.</td><td>no (default == min(10, taskCount))</td></tr>
+<tr><td><code>workerThreads</code></td><td>Integer</td><td>The number of threads that the supervisor uses to handle requests/responses for worker tasks, along with any other internal asynchronous operation.</td><td>no (default == min(10, taskCount))</td></tr>
 <tr><td><code>chatThreads</code></td><td>Integer</td><td>The number of threads that will be used for communicating with indexing tasks.</td><td>no (default == min(10, taskCount * replicas))</td></tr>
 <tr><td><code>chatRetries</code></td><td>Integer</td><td>The number of times HTTP requests to indexing tasks will be retried before considering tasks unresponsive.</td><td>no (default == 8)</td></tr>
 <tr><td><code>httpTimeout</code></td><td>ISO8601 Period</td><td>How long to wait for a HTTP response from an indexing task.</td><td>no (default == PT10S)</td></tr>
@@ -202,7 +234,7 @@ MiddleManagers. A supervisor for a dataSource is started by submitting a supervi
 <tr><td><code>intermediateHandoffPeriod</code></td><td>ISO8601 Period</td><td>How often the tasks should hand off segments. Handoff will happen either if <code>maxRowsPerSegment</code> or <code>maxTotalRows</code> is hit or every <code>intermediateHandoffPeriod</code>, whichever happens earlier.</td><td>no (default == P2147483647D)</td></tr>
 <tr><td><code>logParseExceptions</code></td><td>Boolean</td><td>If true, log an error message when a parsing exception occurs, containing information about the row where the error occurred.</td><td>no, default == false</td></tr>
 <tr><td><code>maxParseExceptions</code></td><td>Integer</td><td>The maximum number of parse exceptions that can occur before the task halts ingestion and fails. Overridden if <code>reportParseExceptions</code> is set.</td><td>no, unlimited default</td></tr>
-<tr><td><code>maxSavedParseExceptions</code></td><td>Integer</td><td>When a parse exception occurs, Druid can keep track of the most recent parse exceptions. &quot;maxSavedParseExceptions&quot; limits how many exception instances will be saved. These saved exceptions will be made available after the task finishes in the <a href="/docs/latest/ingestion/tasks.html#reports">task completion report</a>. Overridden if <code>reportParseExceptions</code> is set.</td><td>no, default == 0</td></tr>
+<tr><td><code>maxSavedParseExceptions</code></td><td>Integer</td><td>When a parse exception occurs, Druid can keep track of the most recent parse exceptions. &quot;maxSavedParseExceptions&quot; limits how many exception instances will be saved. These saved exceptions will be made available after the task finishes in the <a href="/docs/0.19.0/ingestion/tasks.html#reports">task completion report</a>. Overridden if <code>reportParseExceptions</code> is set.</td><td>no, default == 0</td></tr>
 </tbody>
 </table>
 <h4><a class="anchor" aria-hidden="true" id="indexspec"></a><a href="#indexspec" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.6 [...]
@@ -211,9 +243,9 @@ MiddleManagers. A supervisor for a dataSource is started by submitting a supervi
 <tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr>
 </thead>
 <tbody>
-<tr><td>bitmap</td><td>Object</td><td>Compression format for bitmap indexes. Should be a JSON object; see below for options.</td><td>no (defaults to Roaring)</td></tr>
+<tr><td>bitmap</td><td>Object</td><td>Compression format for bitmap indexes. Should be a JSON object. See <a href="#bitmap-types">Bitmap types</a> below for options.</td><td>no (defaults to Roaring)</td></tr>
 <tr><td>dimensionCompression</td><td>String</td><td>Compression format for dimension columns. Choose from <code>LZ4</code>, <code>LZF</code>, or <code>uncompressed</code>.</td><td>no (default == <code>LZ4</code>)</td></tr>
-<tr><td>metricCompression</td><td>String</td><td>Compression format for metric columns. Choose from <code>LZ4</code>, <code>LZF</code>, <code>uncompressed</code>, or <code>none</code>.</td><td>no (default == <code>LZ4</code>)</td></tr>
+<tr><td>metricCompression</td><td>String</td><td>Compression format for primitive type metric columns. Choose from <code>LZ4</code>, <code>LZF</code>, <code>uncompressed</code>, or <code>none</code>.</td><td>no (default == <code>LZ4</code>)</td></tr>
 <tr><td>longEncoding</td><td>String</td><td>Encoding format for metric and dimension columns with type long. Choose from <code>auto</code> or <code>longs</code>. <code>auto</code> encodes the values using offset or lookup table depending on column cardinality, and store them with variable size. <code>longs</code> stores the value as is with 8 bytes each.</td><td>no (default == <code>longs</code>)</td></tr>
 </tbody>
 </table>
@@ -246,38 +278,6 @@ MiddleManagers. A supervisor for a dataSource is started by submitting a supervi
 <tr><td><code>type</code></td><td>String</td><td>See <a href="../../configuration/index.html#segmentwriteoutmediumfactory">Additional Peon Configuration: SegmentWriteOutMediumFactory</a> for explanation and available options.</td><td>yes</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="kafkasupervisorioconfig"></a><a href="#kafkasupervisorioconfig" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
-<table>
-<thead>
-<tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr>
-</thead>
-<tbody>
-<tr><td><code>topic</code></td><td>String</td><td>The Kafka topic to read from. This must be a specific topic as topic patterns are not supported.</td><td>yes</td></tr>
-<tr><td><code>inputFormat</code></td><td>Object</td><td><a href="/docs/latest/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> to specify how to parse input data. See <a href="#specifying-data-format">the below section</a> for details about specifying the input format.</td><td>yes</td></tr>
-<tr><td><code>consumerProperties</code></td><td>Map&lt;String, Object&gt;</td><td>A map of properties to be passed to the Kafka consumer. This must contain a property <code>bootstrap.servers</code> with a list of Kafka brokers in the form: <code>&lt;BROKER_1&gt;:&lt;PORT_1&gt;,&lt;BROKER_2&gt;:&lt;PORT_2&gt;,...</code>. For SSL connections, the <code>keystore</code>, <code>truststore</code> and <code>key</code> passwords can be provided as a <a href="/docs/latest/operations/password-prov [...]
-<tr><td><code>pollTimeout</code></td><td>Long</td><td>The length of time to wait for the Kafka consumer to poll records, in milliseconds</td><td>no (default == 100)</td></tr>
-<tr><td><code>replicas</code></td><td>Integer</td><td>The number of replica sets, where 1 means a single set of tasks (no replication). Replica tasks will always be assigned to different workers to provide resiliency against process failure.</td><td>no (default == 1)</td></tr>
-<tr><td><code>taskCount</code></td><td>Integer</td><td>The maximum number of <em>reading</em> tasks in a <em>replica set</em>. This means that the maximum number of reading tasks will be <code>taskCount * replicas</code> and the total number of tasks (<em>reading</em> + <em>publishing</em>) will be higher than this. See 'Capacity Planning' below for more details. The number of reading tasks will be less than <code>taskCount</code> if <code>taskCount &gt; {numKafkaPartitions}</code>.</td> [...]
-<tr><td><code>taskDuration</code></td><td>ISO8601 Period</td><td>The length of time before tasks stop reading and begin publishing their segment.</td><td>no (default == PT1H)</td></tr>
-<tr><td><code>startDelay</code></td><td>ISO8601 Period</td><td>The period to wait before the supervisor starts managing tasks.</td><td>no (default == PT5S)</td></tr>
-<tr><td><code>period</code></td><td>ISO8601 Period</td><td>How often the supervisor will execute its management logic. Note that the supervisor will also run in response to certain events (such as tasks succeeding, failing, and reaching their taskDuration) so this value specifies the maximum time between iterations.</td><td>no (default == PT30S)</td></tr>
-<tr><td><code>useEarliestOffset</code></td><td>Boolean</td><td>If a supervisor is managing a dataSource for the first time, it will obtain a set of starting offsets from Kafka. This flag determines whether it retrieves the earliest or latest offsets in Kafka. Under normal circumstances, subsequent tasks will start from where the previous segments ended so this flag will only be used on first run.</td><td>no (default == false)</td></tr>
-<tr><td><code>completionTimeout</code></td><td>ISO8601 Period</td><td>The length of time to wait before declaring a publishing task as failed and terminating it. If this is set too low, your tasks may never publish. The publishing clock for a task begins roughly after <code>taskDuration</code> elapses.</td><td>no (default == PT30M)</td></tr>
-<tr><td><code>lateMessageRejectionStartDateTime</code></td><td>ISO8601 DateTime</td><td>Configure tasks to reject messages with timestamps earlier than this date time; for example if this is set to <code>2016-01-01T11:00Z</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps earlier than <em>2016-01-01T11:00Z</em> will be dropped. This may help prevent concurrency issues if your data stream has late messages and you have multiple pipelines that  [...]
-<tr><td><code>lateMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps earlier than this period before the task was created; for example if this is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps earlier than <em>2016-01-01T11:00Z</em> will be dropped. This may help prevent concurrency issues if your data stream has late messages and you have multiple pipelines th [...]
-<tr><td><code>earlyMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps later than this period after the task reached its taskDuration; for example if this is set to <code>PT1H</code>, the taskDuration is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps later than <em>2016-01-01T14:00Z</em> will be dropped. <strong>Note:</strong> Tasks sometimes run past their task [...]
-</tbody>
-</table>
-<h4><a class="anchor" aria-hidden="true" id="specifying-data-format"></a><a href="#specifying-data-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Kafka indexing service supports both <a href="/docs/latest/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> and <a href="/docs/latest/ingestion/data-formats.html#parser"><code>parser</code></a> to specify the data format.
-The <code>inputFormat</code> is a new and recommended way to specify the data format for Kafka indexing service,
-but unfortunately, it doesn't support all data formats supported by the legacy <code>parser</code>.
-(They will be supported in the future.)</p>
-<p>The supported <code>inputFormat</code>s include <a href="/docs/latest/ingestion/data-formats.html#csv"><code>csv</code></a>,
-<a href="/docs/latest/ingestion/data-formats.html#tsv-delimited"><code>delimited</code></a>, and <a href="/docs/latest/ingestion/data-formats.html#json"><code>json</code></a>.
-You can also read <a href="/docs/latest/ingestion/data-formats.html#avro-stream-parser"><code>avro_stream</code></a>,
-<a href="/docs/latest/ingestion/data-formats.html#protobuf-parser"><code>protobuf</code></a>,
-and <a href="/docs/latest/development/extensions-contrib/thrift.html"><code>thrift</code></a> formats using <code>parser</code>.</p>
 <h2><a class="anchor" aria-hidden="true" id="operations"></a><a href="#operations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>This section gives descriptions of how some supervisor APIs work specifically in Kafka Indexing Service.
 For all supervisor APIs, please check <a href="../../operations/api-reference.html#supervisors">Supervisor APIs</a>.</p>
@@ -332,7 +332,7 @@ that is, once it has completed a full execution without encountering any issues
 state until it is stopped, suspended, or hits a failure threshold and transitions to an unhealthy state.</p>
 <h3><a class="anchor" aria-hidden="true" id="getting-supervisor-ingestion-stats-report"></a><a href="#getting-supervisor-ingestion-stats-report" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1  [...]
 <p><code>GET /druid/indexer/v1/supervisor/&lt;supervisorId&gt;/stats</code> returns a snapshot of the current ingestion row counters for each task being managed by the supervisor, along with moving averages for the row counters.</p>
-<p>See <a href="/docs/latest/ingestion/tasks.html#row-stats">Task Reports: Row Stats</a> for more information.</p>
+<p>See <a href="/docs/0.19.0/ingestion/tasks.html#row-stats">Task Reports: Row Stats</a> for more information.</p>
 <h3><a class="anchor" aria-hidden="true" id="supervisor-health-check"></a><a href="#supervisor-health-check" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 [...]
 <p><code>GET /druid/indexer/v1/supervisor/&lt;supervisorId&gt;/health</code> returns <code>200 OK</code> if the supervisor is healthy and
 <code>503 Service Unavailable</code> if it is unhealthy. Healthiness is determined by the supervisor's <code>state</code> (as returned by the
@@ -414,7 +414,7 @@ tombstone marker in the database (to prevent the supervisor from being reloaded
 shuts down the currently running supervisor. When a supervisor is shut down in this way, it will instruct its
 managed tasks to stop reading and begin publishing their segments immediately. The call to the shutdown endpoint will
 return after all tasks have been signaled to stop but before the tasks finish publishing their segments.</p>
-<h3><a class="anchor" aria-hidden="true" id="schema-configuration-changes"></a><a href="#schema-configuration-changes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
+<h3><a class="anchor" aria-hidden="true" id="schemaconfiguration-changes"></a><a href="#schemaconfiguration-changes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Schema and configuration changes are handled by submitting the new supervisor spec via the same
 <code>POST /druid/indexer/v1/supervisor</code> endpoint used to initially create the supervisor. The Overlord will initiate a
 graceful shutdown of the existing supervisor which will cause the tasks being managed by that supervisor to stop reading
@@ -434,10 +434,10 @@ without accumulating old segments locally on Middle Manager processes and it is
 is set to an HOUR and Supervisor was started at 9:10 then after 4 hours at 13:10, new set of tasks will be started and
 events for the interval 13:00 - 14:00 may be split across previous and new set of tasks. If you see it becoming a problem then
 one can schedule re-indexing tasks be run to merge segments together into new segments of an ideal size (in the range of ~500-700 MB per segment).
-Details on how to optimize the segment size can be found on <a href="/docs/latest/operations/segment-optimization.html">Segment size optimization</a>.
+Details on how to optimize the segment size can be found on <a href="/docs/0.19.0/operations/segment-optimization.html">Segment size optimization</a>.
 There is also ongoing work to support automatic segment compaction of sharded segments as well as compaction not requiring
 Hadoop (see <a href="https://github.com/apache/druid/pull/5102">here</a>).</p>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/ingestion/data-management.html"><span class="arrow-prev">← </span><span>Data management</span></a><a class="docs-next button" href="/docs/latest/development/extensions-core/kinesis-ingestion.html"><span>Amazon Kinesis</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tutorial">Tutorial</a></li><li><a href="#submit [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/ingestion/data-management.html"><span class="arrow-prev">← </span><span>Data management</span></a><a class="docs-next button" href="/docs/0.19.0/development/extensions-core/kinesis-ingestion.html"><span>Amazon Kinesis</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#tutorial">Tutorial</a></li><li><a href="#submit [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -454,6 +454,6 @@ Hadoop (see <a href="https://github.com/apache/druid/pull/5102">here</a>).</p>
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/kinesis-ingestion.html b/docs/0.19.0/development/extensions-core/kinesis-ingestion.html
similarity index 75%
copy from docs/latest/development/extensions-core/kinesis-ingestion.html
copy to docs/0.19.0/development/extensions-core/kinesis-ingestion.html
index dc373eb..7dc981b 100644
--- a/docs/latest/development/extensions-core/kinesis-ingestion.html
+++ b/docs/0.19.0/development/extensions-core/kinesis-ingestion.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Amazon Kinesis ingestion · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/kinesis-ingestion.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsear [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Amazon Kinesis ingestion · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/kinesis-ingestion.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docsear [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/kinesis-ingestion.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Amazon Kinesis ingestion</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/kinesis-ingestion.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Amazon Kinesis ingestion</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
@@ -77,15 +77,15 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
   -->
-<p>Similar to the <a href="/docs/latest/development/extensions-core/kafka-ingestion.html">Kafka indexing service</a>, the Kinesis indexing service enables the configuration of <em>supervisors</em> on the Overlord, which facilitate ingestion from
+<p>Similar to the <a href="/docs/0.19.0/development/extensions-core/kafka-ingestion.html">Kafka indexing service</a>, the Kinesis indexing service enables the configuration of <em>supervisors</em> on the Overlord, which facilitate ingestion from
 Kinesis by managing the creation and lifetime of Kinesis indexing tasks. These indexing tasks read events using Kinesis's own
 Shards and Sequence Number mechanism and are therefore able to provide guarantees of exactly-once ingestion.
 The supervisor oversees the state of the indexing tasks to coordinate handoffs, manage failures,
 and ensure that the scalability and replication requirements are maintained.</p>
 <p>The Kinesis indexing service is provided as the <code>druid-kinesis-indexing-service</code> core Apache Druid extension (see
-<a href="/docs/latest/development/extensions.html#loading-extensions">Including Extensions</a>). Please note that this is
+<a href="/docs/0.19.0/development/extensions.html#loading-extensions">Including Extensions</a>). Please note that this is
 currently designated as an <em>experimental feature</em> and is subject to the usual
-<a href="/docs/latest/development/experimental.html">experimental caveats</a>.</p>
+<a href="/docs/0.19.0/development/experimental.html">experimental caveats</a>.</p>
 <h2><a class="anchor" aria-hidden="true" id="submitting-a-supervisor-spec"></a><a href="#submitting-a-supervisor-spec" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
 <p>The Kinesis indexing service requires that the <code>druid-kinesis-indexing-service</code> extension be loaded on both the Overlord
 and the MiddleManagers. A supervisor for a dataSource is started by submitting a supervisor spec via HTTP POST to
@@ -135,10 +135,6 @@ and the MiddleManagers. A supervisor for a dataSource is started by submitting a
       <span class="hljs-attr">"queryGranularity"</span>: <span class="hljs-string">"NONE"</span>
     }
   },
-  <span class="hljs-attr">"tuningConfig"</span>: {
-    <span class="hljs-attr">"type"</span>: <span class="hljs-string">"kinesis"</span>,
-    <span class="hljs-attr">"maxRowsPerSegment"</span>: <span class="hljs-number">5000000</span>
-  },
   <span class="hljs-attr">"ioConfig"</span>: {
     <span class="hljs-attr">"stream"</span>: <span class="hljs-string">"metrics"</span>,
     <span class="hljs-attr">"inputFormat"</span>: {
@@ -150,6 +146,10 @@ and the MiddleManagers. A supervisor for a dataSource is started by submitting a
     <span class="hljs-attr">"taskDuration"</span>: <span class="hljs-string">"PT1H"</span>,
     <span class="hljs-attr">"recordsPerFetch"</span>: <span class="hljs-number">2000</span>,
     <span class="hljs-attr">"fetchDelayMillis"</span>: <span class="hljs-number">1000</span>
+  },
+  <span class="hljs-attr">"tuningConfig"</span>: {
+    <span class="hljs-attr">"type"</span>: <span class="hljs-string">"kinesis"</span>,
+    <span class="hljs-attr">"maxRowsPerSegment"</span>: <span class="hljs-number">5000000</span>
   }
 }
 </code></pre>
@@ -160,11 +160,46 @@ and the MiddleManagers. A supervisor for a dataSource is started by submitting a
 </thead>
 <tbody>
 <tr><td><code>type</code></td><td>The supervisor type, this should always be <code>kinesis</code>.</td><td>yes</td></tr>
-<tr><td><code>dataSchema</code></td><td>The schema that will be used by the Kinesis indexing task during ingestion, see <a href="/docs/latest/ingestion/index.html#dataschema"><code>dataSchema</code></a>.</td><td>yes</td></tr>
-<tr><td><code>ioConfig</code></td><td>A KinesisSupervisorIOConfig to configure the supervisor and indexing tasks, see below.</td><td>yes</td></tr>
-<tr><td><code>tuningConfig</code></td><td>A KinesisSupervisorTuningConfig to configure the supervisor and indexing tasks, see below.</td><td>no</td></tr>
+<tr><td><code>dataSchema</code></td><td>The schema that will be used by the Kinesis indexing task during ingestion. See <a href="/docs/0.19.0/ingestion/index.html#dataschema"><code>dataSchema</code></a>.</td><td>yes</td></tr>
+<tr><td><code>ioConfig</code></td><td>A KinesisSupervisorIOConfig object for configuring Kafka connection and I/O-related settings for the supervisor and indexing task. See <a href="#kinesissupervisorioconfig">KinesisSupervisorIOConfig</a> below.</td><td>yes</td></tr>
+<tr><td><code>tuningConfig</code></td><td>A KinesisSupervisorTuningConfig object for configuring performance-related settings for the supervisor and indexing tasks. See <a href="#kinesissupervisortuningconfig">KinesisSupervisorTuningConfig</a> below.</td><td>no</td></tr>
+</tbody>
+</table>
+<h3><a class="anchor" aria-hidden="true" id="kinesissupervisorioconfig"></a><a href="#kinesissupervisorioconfig" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
+<table>
+<thead>
+<tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr>
+</thead>
+<tbody>
+<tr><td><code>stream</code></td><td>String</td><td>The Kinesis stream to read.</td><td>yes</td></tr>
+<tr><td><code>inputFormat</code></td><td>Object</td><td><a href="/docs/0.19.0/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> to specify how to parse input data. See <a href="#specifying-data-format">the below section</a> for details about specifying the input format.</td><td>yes</td></tr>
+<tr><td><code>endpoint</code></td><td>String</td><td>The AWS Kinesis stream endpoint for a region. You can find a list of endpoints <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#ak_region">here</a>.</td><td>no (default == kinesis.us-east-1.amazonaws.com)</td></tr>
+<tr><td><code>replicas</code></td><td>Integer</td><td>The number of replica sets, where 1 means a single set of tasks (no replication). Replica tasks will always be assigned to different workers to provide resiliency against process failure.</td><td>no (default == 1)</td></tr>
+<tr><td><code>taskCount</code></td><td>Integer</td><td>The maximum number of <em>reading</em> tasks in a <em>replica set</em>. This means that the maximum number of reading tasks will be <code>taskCount * replicas</code> and the total number of tasks (<em>reading</em> + <em>publishing</em>) will be higher than this. See <a href="#capacity-planning">Capacity Planning</a> below for more details. The number of reading tasks will be less than <code>taskCount</code> if <code>taskCount &gt; {n [...]
+<tr><td><code>taskDuration</code></td><td>ISO8601 Period</td><td>The length of time before tasks stop reading and begin publishing their segment.</td><td>no (default == PT1H)</td></tr>
+<tr><td><code>startDelay</code></td><td>ISO8601 Period</td><td>The period to wait before the supervisor starts managing tasks.</td><td>no (default == PT5S)</td></tr>
+<tr><td><code>period</code></td><td>ISO8601 Period</td><td>How often the supervisor will execute its management logic. Note that the supervisor will also run in response to certain events (such as tasks succeeding, failing, and reaching their taskDuration) so this value specifies the maximum time between iterations.</td><td>no (default == PT30S)</td></tr>
+<tr><td><code>useEarliestSequenceNumber</code></td><td>Boolean</td><td>If a supervisor is managing a dataSource for the first time, it will obtain a set of starting sequence numbers from Kinesis. This flag determines whether it retrieves the earliest or latest sequence numbers in Kinesis. Under normal circumstances, subsequent tasks will start from where the previous segments ended so this flag will only be used on first run.</td><td>no (default == false)</td></tr>
+<tr><td><code>completionTimeout</code></td><td>ISO8601 Period</td><td>The length of time to wait before declaring a publishing task as failed and terminating it. If this is set too low, your tasks may never publish. The publishing clock for a task begins roughly after <code>taskDuration</code> elapses.</td><td>no (default == PT6H)</td></tr>
+<tr><td><code>lateMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps earlier than this period before the task was created; for example if this is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps earlier than <em>2016-01-01T11:00Z</em> will be dropped. This may help prevent concurrency issues if your data stream has late messages and you have multiple pipelines th [...]
+<tr><td><code>earlyMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps later than this period after the task reached its taskDuration; for example if this is set to <code>PT1H</code>, the taskDuration is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps later than <em>2016-01-01T14:00Z</em> will be dropped. <strong>Note:</strong> Tasks sometimes run past their task [...]
+<tr><td><code>recordsPerFetch</code></td><td>Integer</td><td>The number of records to request per GetRecords call to Kinesis. See 'Determining Fetch Settings' below.</td><td>no (default == 2000)</td></tr>
+<tr><td><code>fetchDelayMillis</code></td><td>Integer</td><td>Time in milliseconds to wait between subsequent GetRecords calls to Kinesis. See 'Determining Fetch Settings' below.</td><td>no (default == 1000)</td></tr>
+<tr><td><code>awsAssumedRoleArn</code></td><td>String</td><td>The AWS assumed role to use for additional permissions.</td><td>no</td></tr>
+<tr><td><code>awsExternalId</code></td><td>String</td><td>The AWS external id to use for additional permissions.</td><td>no</td></tr>
+<tr><td><code>deaggregate</code></td><td>Boolean</td><td>Whether to use the de-aggregate function of the KCL. See below for details.</td><td>no</td></tr>
 </tbody>
 </table>
+<h4><a class="anchor" aria-hidden="true" id="specifying-data-format"></a><a href="#specifying-data-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
+<p>Kinesis indexing service supports both <a href="/docs/0.19.0/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> and <a href="/docs/0.19.0/ingestion/data-formats.html#parser"><code>parser</code></a> to specify the data format.
+The <code>inputFormat</code> is a new and recommended way to specify the data format for Kinesis indexing service,
+but unfortunately, it doesn't support all data formats supported by the legacy <code>parser</code>.
+(They will be supported in the future.)</p>
+<p>The supported <code>inputFormat</code>s include <a href="/docs/0.19.0/ingestion/data-formats.html#csv"><code>csv</code></a>,
+<a href="/docs/0.19.0/ingestion/data-formats.html#tsv-delimited"><code>delimited</code></a>, and <a href="/docs/0.19.0/ingestion/data-formats.html#json"><code>json</code></a>.
+You can also read <a href="/docs/0.19.0/ingestion/data-formats.html#avro-stream-parser"><code>avro_stream</code></a>,
+<a href="/docs/0.19.0/ingestion/data-formats.html#protobuf-parser"><code>protobuf</code></a>,
+and <a href="/docs/0.19.0/development/extensions-contrib/thrift.html"><code>thrift</code></a> formats using <code>parser</code>.</p>
 <p><a name="tuningconfig"></a></p>
 <h3><a class="anchor" aria-hidden="true" id="kinesissupervisortuningconfig"></a><a href="#kinesissupervisortuningconfig" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12  [...]
 <p>The tuningConfig is optional and default parameters will be used if no tuningConfig is specified.</p>
@@ -186,7 +221,7 @@ and the MiddleManagers. A supervisor for a dataSource is started by submitting a
 <tr><td><code>handoffConditionTimeout</code></td><td>Long</td><td>Milliseconds to wait for segment handoff. It must be &gt;= 0, where 0 means to wait forever.</td><td>no (default == 0)</td></tr>
 <tr><td><code>resetOffsetAutomatically</code></td><td>Boolean</td><td>Controls behavior when Druid needs to read Kinesis messages that are no longer available.<br/><br/>If false, the exception will bubble up, which will cause your tasks to fail and ingestion to halt. If this occurs, manual intervention is required to correct the situation; potentially using the <a href="../../operations/api-reference.html#supervisors">Reset Supervisor API</a>. This mode is useful for production, since it [...]
 <tr><td><code>skipSequenceNumberAvailabilityCheck</code></td><td>Boolean</td><td>Whether to enable checking if the current sequence number is still available in a particular Kinesis shard. If set to false, the indexing task will attempt to reset the current sequence number (or not), depending on the value of <code>resetOffsetAutomatically</code>.</td><td>no (default == false)</td></tr>
-<tr><td><code>workerThreads</code></td><td>Integer</td><td>The number of threads that will be used by the supervisor for asynchronous operations.</td><td>no (default == min(10, taskCount))</td></tr>
+<tr><td><code>workerThreads</code></td><td>Integer</td><td>The number of threads that the supervisor uses to handle requests/responses for worker tasks, along with any other internal asynchronous operation.</td><td>no (default == min(10, taskCount))</td></tr>
 <tr><td><code>chatThreads</code></td><td>Integer</td><td>The number of threads that will be used for communicating with indexing tasks.</td><td>no (default == min(10, taskCount * replicas))</td></tr>
 <tr><td><code>chatRetries</code></td><td>Integer</td><td>The number of times HTTP requests to indexing tasks will be retried before considering tasks unresponsive.</td><td>no (default == 8)</td></tr>
 <tr><td><code>httpTimeout</code></td><td>ISO8601 Period</td><td>How long to wait for a HTTP response from an indexing task.</td><td>no (default == PT10S)</td></tr>
@@ -195,12 +230,12 @@ and the MiddleManagers. A supervisor for a dataSource is started by submitting a
 <tr><td><code>recordBufferOfferTimeout</code></td><td>Integer</td><td>Length of time in milliseconds to wait for space to become available in the buffer before timing out.</td><td>no (default == 5000)</td></tr>
 <tr><td><code>recordBufferFullWait</code></td><td>Integer</td><td>Length of time in milliseconds to wait for the buffer to drain before attempting to fetch records from Kinesis again.</td><td>no (default == 5000)</td></tr>
 <tr><td><code>fetchSequenceNumberTimeout</code></td><td>Integer</td><td>Length of time in milliseconds to wait for Kinesis to return the earliest or latest sequence number for a shard. Kinesis will not return the latest sequence number if no data is actively being written to that shard. In this case, this fetch call will repeatedly timeout and retry until fresh data is written to the stream.</td><td>no (default == 60000)</td></tr>
-<tr><td><code>fetchThreads</code></td><td>Integer</td><td>Size of the pool of threads fetching data from Kinesis. There is no benefit in having more threads than Kinesis shards.</td><td>no (default == max(1, {numProcessors} - 1))</td></tr>
+<tr><td><code>fetchThreads</code></td><td>Integer</td><td>Size of the pool of threads fetching data from Kinesis. There is no benefit in having more threads than Kinesis shards.</td><td>no (default == procs * 2, where &quot;procs&quot; is the number of processors on the server that the task is running on)</td></tr>
 <tr><td><code>segmentWriteOutMediumFactory</code></td><td>Object</td><td>Segment write-out medium to use when creating segments. See below for more information.</td><td>no (not specified by default, the value from <code>druid.peon.defaultSegmentWriteOutMediumFactory.type</code> is used)</td></tr>
 <tr><td><code>intermediateHandoffPeriod</code></td><td>ISO8601 Period</td><td>How often the tasks should hand off segments. Handoff will happen either if <code>maxRowsPerSegment</code> or <code>maxTotalRows</code> is hit or every <code>intermediateHandoffPeriod</code>, whichever happens earlier.</td><td>no (default == P2147483647D)</td></tr>
 <tr><td><code>logParseExceptions</code></td><td>Boolean</td><td>If true, log an error message when a parsing exception occurs, containing information about the row where the error occurred.</td><td>no, default == false</td></tr>
 <tr><td><code>maxParseExceptions</code></td><td>Integer</td><td>The maximum number of parse exceptions that can occur before the task halts ingestion and fails. Overridden if <code>reportParseExceptions</code> is set.</td><td>no, unlimited default</td></tr>
-<tr><td><code>maxSavedParseExceptions</code></td><td>Integer</td><td>When a parse exception occurs, Druid can keep track of the most recent parse exceptions. &quot;maxSavedParseExceptions&quot; limits how many exception instances will be saved. These saved exceptions will be made available after the task finishes in the <a href="/docs/latest/ingestion/tasks.html#reports">task completion report</a>. Overridden if <code>reportParseExceptions</code> is set.</td><td>no, default == 0</td></tr>
+<tr><td><code>maxSavedParseExceptions</code></td><td>Integer</td><td>When a parse exception occurs, Druid can keep track of the most recent parse exceptions. &quot;maxSavedParseExceptions&quot; limits how many exception instances will be saved. These saved exceptions will be made available after the task finishes in the <a href="/docs/0.19.0/ingestion/tasks.html#reports">task completion report</a>. Overridden if <code>reportParseExceptions</code> is set.</td><td>no, default == 0</td></tr>
 <tr><td><code>maxRecordsPerPoll</code></td><td>Integer</td><td>The maximum number of records/events to be fetched from buffer per poll. The actual maximum will be <code>Max(maxRecordsPerPoll, Max(bufferSize, 1))</code></td><td>no, default == 100</td></tr>
 <tr><td><code>repartitionTransitionDuration</code></td><td>ISO8601 Period</td><td>When shards are split or merged, the supervisor will recompute shard -&gt; task group mappings, and signal any running tasks created under the old mappings to stop early at (current time + <code>repartitionTransitionDuration</code>). Stopping the tasks early allows Druid to begin reading from the new shards more quickly. The repartition transition wait time controlled by this property gives the stream addit [...]
 </tbody>
@@ -211,9 +246,9 @@ and the MiddleManagers. A supervisor for a dataSource is started by submitting a
 <tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr>
 </thead>
 <tbody>
-<tr><td>bitmap</td><td>Object</td><td>Compression format for bitmap indexes. Should be a JSON object; see below for options.</td><td>no (defaults to Roaring)</td></tr>
+<tr><td>bitmap</td><td>Object</td><td>Compression format for bitmap indexes. Should be a JSON object. See <a href="#bitmap-types">Bitmap types</a> below for options.</td><td>no (defaults to Roaring)</td></tr>
 <tr><td>dimensionCompression</td><td>String</td><td>Compression format for dimension columns. Choose from <code>LZ4</code>, <code>LZF</code>, or <code>uncompressed</code>.</td><td>no (default == <code>LZ4</code>)</td></tr>
-<tr><td>metricCompression</td><td>String</td><td>Compression format for metric columns. Choose from <code>LZ4</code>, <code>LZF</code>, <code>uncompressed</code>, or <code>none</code>.</td><td>no (default == <code>LZ4</code>)</td></tr>
+<tr><td>metricCompression</td><td>String</td><td>Compression format for primitive type metric columns. Choose from <code>LZ4</code>, <code>LZF</code>, <code>uncompressed</code>, or <code>none</code>.</td><td>no (default == <code>LZ4</code>)</td></tr>
 <tr><td>longEncoding</td><td>String</td><td>Encoding format for metric and dimension columns with type long. Choose from <code>auto</code> or <code>longs</code>. <code>auto</code> encodes the values using sequence number or lookup table depending on column cardinality, and store them with variable size. <code>longs</code> stores the value as is with 8 bytes each.</td><td>no (default == <code>longs</code>)</td></tr>
 </tbody>
 </table>
@@ -246,47 +281,12 @@ and the MiddleManagers. A supervisor for a dataSource is started by submitting a
 <tr><td><code>type</code></td><td>String</td><td>See <a href="../../configuration/index.html#segmentwriteoutmediumfactory">Additional Peon Configuration: SegmentWriteOutMediumFactory</a> for explanation and available options.</td><td>yes</td></tr>
 </tbody>
 </table>
-<h3><a class="anchor" aria-hidden="true" id="kinesissupervisorioconfig"></a><a href="#kinesissupervisorioconfig" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c [...]
-<table>
-<thead>
-<tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th></tr>
-</thead>
-<tbody>
-<tr><td><code>stream</code></td><td>String</td><td>The Kinesis stream to read.</td><td>yes</td></tr>
-<tr><td><code>inputFormat</code></td><td>Object</td><td><a href="/docs/latest/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> to specify how to parse input data. See <a href="#specifying-data-format">the below section</a> for details about specifying the input format.</td><td>yes</td></tr>
-<tr><td><code>endpoint</code></td><td>String</td><td>The AWS Kinesis stream endpoint for a region. You can find a list of endpoints <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html#ak_region">here</a>.</td><td>no (default == kinesis.us-east-1.amazonaws.com)</td></tr>
-<tr><td><code>replicas</code></td><td>Integer</td><td>The number of replica sets, where 1 means a single set of tasks (no replication). Replica tasks will always be assigned to different workers to provide resiliency against process failure.</td><td>no (default == 1)</td></tr>
-<tr><td><code>taskCount</code></td><td>Integer</td><td>The maximum number of <em>reading</em> tasks in a <em>replica set</em>. This means that the maximum number of reading tasks will be <code>taskCount * replicas</code> and the total number of tasks (<em>reading</em> + <em>publishing</em>) will be higher than this. See 'Capacity Planning' below for more details. The number of reading tasks will be less than <code>taskCount</code> if <code>taskCount &gt; {numKinesisShards}</code>.</td><t [...]
-<tr><td><code>taskDuration</code></td><td>ISO8601 Period</td><td>The length of time before tasks stop reading and begin publishing their segment.</td><td>no (default == PT1H)</td></tr>
-<tr><td><code>startDelay</code></td><td>ISO8601 Period</td><td>The period to wait before the supervisor starts managing tasks.</td><td>no (default == PT5S)</td></tr>
-<tr><td><code>period</code></td><td>ISO8601 Period</td><td>How often the supervisor will execute its management logic. Note that the supervisor will also run in response to certain events (such as tasks succeeding, failing, and reaching their taskDuration) so this value specifies the maximum time between iterations.</td><td>no (default == PT30S)</td></tr>
-<tr><td><code>useEarliestSequenceNumber</code></td><td>Boolean</td><td>If a supervisor is managing a dataSource for the first time, it will obtain a set of starting sequence numbers from Kinesis. This flag determines whether it retrieves the earliest or latest sequence numbers in Kinesis. Under normal circumstances, subsequent tasks will start from where the previous segments ended so this flag will only be used on first run.</td><td>no (default == false)</td></tr>
-<tr><td><code>completionTimeout</code></td><td>ISO8601 Period</td><td>The length of time to wait before declaring a publishing task as failed and terminating it. If this is set too low, your tasks may never publish. The publishing clock for a task begins roughly after <code>taskDuration</code> elapses.</td><td>no (default == PT6H)</td></tr>
-<tr><td><code>lateMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps earlier than this period before the task was created; for example if this is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps earlier than <em>2016-01-01T11:00Z</em> will be dropped. This may help prevent concurrency issues if your data stream has late messages and you have multiple pipelines th [...]
-<tr><td><code>earlyMessageRejectionPeriod</code></td><td>ISO8601 Period</td><td>Configure tasks to reject messages with timestamps later than this period after the task reached its taskDuration; for example if this is set to <code>PT1H</code>, the taskDuration is set to <code>PT1H</code> and the supervisor creates a task at <em>2016-01-01T12:00Z</em>, messages with timestamps later than <em>2016-01-01T14:00Z</em> will be dropped. <strong>Note:</strong> Tasks sometimes run past their task [...]
-<tr><td><code>recordsPerFetch</code></td><td>Integer</td><td>The number of records to request per GetRecords call to Kinesis. See 'Determining Fetch Settings' below.</td><td>no (default == 2000)</td></tr>
-<tr><td><code>fetchDelayMillis</code></td><td>Integer</td><td>Time in milliseconds to wait between subsequent GetRecords calls to Kinesis. See 'Determining Fetch Settings' below.</td><td>no (default == 1000)</td></tr>
-<tr><td><code>awsAssumedRoleArn</code></td><td>String</td><td>The AWS assumed role to use for additional permissions.</td><td>no</td></tr>
-<tr><td><code>awsExternalId</code></td><td>String</td><td>The AWS external id to use for additional permissions.</td><td>no</td></tr>
-<tr><td><code>deaggregate</code></td><td>Boolean</td><td>Whether to use the de-aggregate function of the KCL. See below for details.</td><td>no</td></tr>
-</tbody>
-</table>
-<h4><a class="anchor" aria-hidden="true" id="specifying-data-format"></a><a href="#specifying-data-format" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0 [...]
-<p>Kinesis indexing service supports both <a href="/docs/latest/ingestion/data-formats.html#input-format"><code>inputFormat</code></a> and <a href="/docs/latest/ingestion/data-formats.html#parser"><code>parser</code></a> to specify the data format.
-The <code>inputFormat</code> is a new and recommended way to specify the data format for Kinesis indexing service,
-but unfortunately, it doesn't support all data formats supported by the legacy <code>parser</code>.
-(They will be supported in the future.)</p>
-<p>The supported <code>inputFormat</code>s include <a href="/docs/latest/ingestion/data-formats.html#csv"><code>csv</code></a>,
-<a href="/docs/latest/ingestion/data-formats.html#tsv-delimited"><code>delimited</code></a>, and <a href="/docs/latest/ingestion/data-formats.html#json"><code>json</code></a>.
-You can also read <a href="/docs/latest/ingestion/data-formats.html#avro-stream-parser"><code>avro_stream</code></a>,
-<a href="/docs/latest/ingestion/data-formats.html#protobuf-parser"><code>protobuf</code></a>,
-and <a href="/docs/latest/development/extensions-contrib/thrift.html"><code>thrift</code></a> formats using <code>parser</code>.</p>
 <h2><a class="anchor" aria-hidden="true" id="operations"></a><a href="#operations" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1 [...]
 <p>This section gives descriptions of how some supervisor APIs work specifically in Kinesis Indexing Service.
 For all supervisor APIs, please check <a href="../../operations/api-reference.html#supervisors">Supervisor APIs</a>.</p>
 <h3><a class="anchor" aria-hidden="true" id="aws-authentication"></a><a href="#aws-authentication" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22- [...]
 <p>To authenticate with AWS, you must provide your AWS access key and AWS secret key via runtime.properties, for example:</p>
-<pre><code class="hljs">-Ddruid<span class="hljs-selector-class">.kinesis</span><span class="hljs-selector-class">.accessKey</span>=<span class="hljs-number">123</span> -Ddruid<span class="hljs-selector-class">.kinesis</span><span class="hljs-selector-class">.secretKey</span>=<span class="hljs-number">456</span>
+<pre><code class="hljs">-<span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Ddruid</span>.</span></span>kinesis.accessKey=<span class="hljs-number">123</span> -<span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Ddruid</span>.</span></span>kinesis.secretKey=<span class="hljs-number">456</span>
 </code></pre>
 <p>The AWS access key ID and secret access key are used for Kinesis API requests. If this is not provided, the service will
 look for credentials set in environment variables, in the default profile configuration file, and from the EC2 instance
@@ -417,7 +417,7 @@ tombstone marker in the database (to prevent the supervisor from being reloaded
 shuts down the currently running supervisor. When a supervisor is shut down in this way, it will instruct its
 managed tasks to stop reading and begin publishing their segments immediately. The call to the shutdown endpoint will
 return after all tasks have been signalled to stop but before the tasks finish publishing their segments.</p>
-<h3><a class="anchor" aria-hidden="true" id="schema-configuration-changes"></a><a href="#schema-configuration-changes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 [...]
+<h3><a class="anchor" aria-hidden="true" id="schemaconfiguration-changes"></a><a href="#schemaconfiguration-changes" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 1 [...]
 <p>Schema and configuration changes are handled by submitting the new supervisor spec via the same
 <code>POST /druid/indexer/v1/supervisor</code> endpoint used to initially create the supervisor. The Overlord will initiate a
 graceful shutdown of the existing supervisor which will cause the tasks being managed by that supervisor to stop reading
@@ -437,7 +437,7 @@ without accumulating old segments locally on Middle Manager processes and it is
 is set to an HOUR and Supervisor was started at 9:10 then after 4 hours at 13:10, new set of tasks will be started and
 events for the interval 13:00 - 14:00 may be split across previous and new set of tasks. If you see it becoming a problem then
 one can schedule re-indexing tasks be run to merge segments together into new segments of an ideal size (in the range of ~500-700 MB per segment).
-Details on how to optimize the segment size can be found on <a href="/docs/latest/operations/segment-optimization.html">Segment size optimization</a>.
+Details on how to optimize the segment size can be found on <a href="/docs/0.19.0/operations/segment-optimization.html">Segment size optimization</a>.
 There is also ongoing work to support automatic segment compaction of sharded segments as well as compaction not requiring
 Hadoop (see <a href="https://github.com/apache/druid/pull/5102">here</a>).</p>
 <h3><a class="anchor" aria-hidden="true" id="determining-fetch-settings"></a><a href="#determining-fetch-settings" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H [...]
@@ -483,7 +483,7 @@ with an assignment of closed shards that have been fully read and to ensure a ba
 <li>All closed shards have been fully read and the Kinesis ingestion tasks have published the data from those shards, committing the &quot;closed&quot; state to metadata storage</li>
 <li>Any remaining tasks that had inactive shards in the assignment have been shutdown (these tasks would have been created before the closed shards were completely drained)</li>
 </ul>
-</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/latest/development/extensions-core/kafka-ingestion.html"><span class="arrow-prev">← </span><span>Apache Kafka</span></a><a class="docs-next button" href="/docs/latest/ingestion/tranquility.html"><span>Tranquility</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#submitting-a-supervisor-spec">Submitting a Supervisor Spec< [...]
+</span></div></article></div><div class="docs-prevnext"><a class="docs-prev button" href="/docs/0.19.0/development/extensions-core/kafka-ingestion.html"><span class="arrow-prev">← </span><span>Apache Kafka</span></a><a class="docs-next button" href="/docs/0.19.0/ingestion/tranquility.html"><span>Tranquility</span><span class="arrow-next"> →</span></a></div></div></div><nav class="onPageNav"><ul class="toc-headings"><li><a href="#submitting-a-supervisor-spec">Submitting a Supervisor Spec< [...]
                 document.addEventListener('keyup', function(e) {
                   if (e.target !== document.body) {
                     return;
@@ -500,6 +500,6 @@ with an assignment of closed shards that have been fully read and to ensure a ba
                 apiKey: '2de99082a9f38e49dfaa059bbe4c901d',
                 indexName: 'apache_druid',
                 inputSelector: '#search_input_react',
-                algoliaOptions: {"facetFilters":["language:en","version:0.18.1"]}
+                algoliaOptions: {"facetFilters":["language:en","version:0.19.0"]}
               });
             </script></body></html>
\ No newline at end of file
diff --git a/docs/latest/development/extensions-core/lookups-cached-global.html b/docs/0.19.0/development/extensions-core/lookups-cached-global.html
similarity index 70%
copy from docs/latest/development/extensions-core/lookups-cached-global.html
copy to docs/0.19.0/development/extensions-core/lookups-cached-global.html
index 3948c47..934e704 100644
--- a/docs/latest/development/extensions-core/lookups-cached-global.html
+++ b/docs/0.19.0/development/extensions-core/lookups-cached-global.html
@@ -1,9 +1,9 @@
-<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Globally Cached Lookups · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/latest/development/extensions-core/lookups-cached-global.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docs [...]
+<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Globally Cached Lookups · Apache Druid</title><meta name="viewport" content="width=device-width"/><link rel="canonical" href="https://druid.apache.org/docs/0.19.0/development/extensions-core/lookups-cached-global.html"/><meta name="generator" content="Docusaurus"/><meta name="description" content="&lt;!--"/><meta name="docsearch:language" content="en"/><meta name="docs [...]
               window.dataLayer = window.dataLayer || [];
               function gtag(){dataLayer.push(arguments); }
               gtag('js', new Date());
               gtag('config', 'UA-131010415-1');
-            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
+            </script><link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.2/css/all.css"/><link rel="stylesheet" href="/css/code-block-buttons.css"/><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.4/clipboard.min.js"></script><script type="text/javascript" src="/js/code-block-buttons.js"></script><script src="/js/scrollSpy.js"></script><link rel="stylesheet" href="/css/main.css"/><script src="/js/codetabs.js"></script></head>< [...]
             var coll = document.getElementsByClassName('collapsible');
             var checkActiveCategory = true;
             for (var i = 0; i < coll.length; i++) {
@@ -59,7 +59,7 @@
                 };
               }
             });
-        </script></nav></div><div class="container mainContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/lookups-cached-global.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 class="postHeaderTitle">Globally Cached Lookups</h1></header><article><div><span><!--
+        </script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://github.com/apache/druid/edit/master/docs/development/extensions-core/lookups-cached-global.md" target="_blank" rel="noreferrer noopener">Edit</a><h1 id="__docusaurus" class="postHeaderTitle">Globally Cached Lookups</h1></header><article><div><span><!--
   ~ Licensed to the Apache Software Foundation (ASF) under one
   ~ or more contributor license agreements.  See the NOTICE file
   ~ distributed with this work for additional information
... 21997 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org