---
layout: docs
title:  Release Notes
categories: gettingstarted
permalink: /docs/release_notes.html
---

To download the latest release, please visit: [http://kylin.apache.org/download/](http://kylin.apache.org/download/), 
there are source code package, binary package and installation guide avaliable.

Any problem or issue, please report to Apache Kylin JIRA project: [https://issues.apache.org/jira/browse/KYLIN](https://issues.apache.org/jira/browse/KYLIN)

or send to Apache Kylin mailing list:

* User relative: [user@kylin.apache.org](mailto:user@kylin.apache.org)
* Development relative: [dev@kylin.apache.org](mailto:dev@kylin.apache.org)

## v4.0.3 - 2022-12-22

__New Feature__

* [KYLIN-5181] - Support postgresql to store kylin metadata

__Bug Fix__

* [KYLIN-5008] - When backend spark was failed, but corresponding job status is shown as finished in WebUI
* [KYLIN-5245] - When a job is submitted with deployMode=cluster and the application driver is abnormal, Kylin displays the job status as success
* [KYLIN-5271] - Query memory leaks
* [KYLIN-5285] - Performance optimization for sharby column

__Improvement__

* [KYLIN-5246] - Long running job's log staying in mem, may cause job server oom
* [KYLIN-5250] - Add a switch for no hack aggregation group
* [KYLIN-5251] - On hadoop 3 platform and start with class not found: org/apache/commons/Configuration



## v4.0.2 - 2022-10-10

__New Feature__

* [KYLIN-4954] - Cardinality statistics for Kylin 4
* [KYLIN-5181] - support postgresql to store kylin metadata
* [KYLIN-5183] - Set specific query id for devops
* [KYLIN-5187] - Support Alluxio Local Cache + Soft Affinity to speed up the query performance on the cloud

__Bug Fix__

* [KYLIN-5058] - Throws ConcurrentModificationException when building cube
* [KYLIN-5177] - Kylin4.0.1使用S3存储无法清理数据
* [KYLIN-5182] - build job throw error fail to build lookup table snapshot for dup key found
* [KYLIN-5185] - Found error Public key for mysql-community-libs-compat-xxx.rpm is not installed in building docker image
* [KYLIN-5188] - No need to send email,user list is empty
* [KYLIN-5190] - kylin.sh error when directory starts with s3a://
* [KYLIN-5191] - Can not see executors on spardar page on AWS EMR 6
* [KYLIN-5193] - input login url manually will din to the login page but current already login
* [KYLIN-5194] - deleted user can login to kylin when the user login before one time at least

__Improvement__

* [KYLIN-5056] - Implement Column Cardinality Statistics Job for Kylin 4
* [KYLIN-5166] - Use SQL hint to specify the cube that the user wants to query
* [KYLIN-5184] - Using precise statics for cuboid
* [KYLIN-5195] - update spark from 3.1.1 to 3.1.3 in kylin4
* [KYLIN-5214] - Fix CVE-2022-22978 in Kylin
* [KYLIN-5225] - Make "spark3" as the default profile
* [KYLIN-5250] - Add a switch for no hack aggregation group
* [KYLIN-5251] - when kylin run on hadoop 3 platform and start with class not found: org/apache/commons/Configuration

## v4.0.1 - 2022-01-05

__New Feature__

* [KYLIN-5117] - Support percentile function after aggregate sub query

__Bug Fix__

* [KYLIN-5067] - CubeBuildJob build unnecessary snapshot
* [KYLIN-5071] - kylin.engine.build-base-cuboid-enabled=false and kylin.cube.cubeplanner.enabled=true are conflict on build cube step, and will throw NPE.
* [KYLIN-5083] - Docker for kylin4 need to check hadoop service before start kylin
* [KYLIN-5086] - When query pushdown, only measure result is empty
* [KYLIN-5112] - Use 'return' instead of 'exit' in script prepare_hadoop_dependency.sh
* [KYLIN-5131] - java.lang.UnsupportedOperationException: API getTableSnapshots is not supported in Kylin 4.0

__Improvement__

* [KYLIN-4864] - Support building and testing Kylin on ARM64 architecture platform
* [KYLIN-5069] - Remove find-hive-dependency.sh in Kylin 4
* [KYLIN-5076] - Missing tracking URL in spark standalone mode in kylin4
* [KYLIN-5082] - Exactly aggregation for percentile function
* [KYLIN-5084] - Kylin4.0.0 is incompatible with HDP-3.1.5's Hive-3.1.0
* [KYLIN-5090] - The error message was not printed in class JobWoker
* [KYLIN-5111] - Record the time spent for each stage of query in kylin4's log

## v3.1.3 - 2022-01-05

__New Feature__

* [KYLIN-4947] - Implement spark engine for cube optimization jobs
* [KYLIN-4948] - Provide an API to allow users to adjust cuboids manually
* [KYLIN-4982] - Add special spark-sql conf in create intermediate flat table

__Bug Fix__

* [KYLIN-3996] - postgresql can not to be used to construct the flat hive table in NO.1 step in building cube via datasourcedefaultSdk
* [KYLIN-4964] - Receiver consumer thread should be stoped while encounting unrecoverable error
* [KYLIN-4970] - Fix spark.executor.extraJavaOptions args
* [KYLIN-4974] - Kylin does not handle fucntion CURRENT_TIME().
* [KYLIN-4978] - NPE: submit refresh request using restful api when there is no segments
* [KYLIN-4983] - The stream cube will be paused when user append a batch segment first
* [KYLIN-4992] - Source row count statistics calculated in a wrong way in MergeDictionaryMapper
* [KYLIN-4995] - Query exception when the query statement contains a single left parenthesis
* [KYLIN-5003] - Fail to package Kylin due to legacy front end dependencies
* [KYLIN-5007] - queries with limit clause may fail when string dimension is encoded in integer type
* [KYLIN-5035] - Fix Merge Cuboid Statistics EOFException
* [KYLIN-5036] - The hive dependency of directory type is filtered out by mistake
* [KYLIN-5054] - Kylin_System project and cubes create time is wrong (1970).
* [KYLIN-5097] - modify hive dict table format from textfile to orc

__Improvement__

* [KYLIN-4554] - Validate "filter condition" on model saving
* [KYLIN-4864] - Support building and testing Kylin on ARM64 architecture platform
* [KYLIN-4944] - Upgrade CentOS version, Hadoop version and Spark version for Kylin Docker image
* [KYLIN-4972] - Don't allow segment merge when use dict.global.SegmentAppendTrieDictBuilder to build bitmap measure
* [KYLIN-5016] - Avoid potential NPE issue in RDBMS Pushdown case

__Task__

* [KYLIN-4971] - Add new measure bitmap_map for count distinct measure in UI
* [KYLIN-5053] - Update the website to link to TravisCI and Github Actions instead of Jenkins

## v4.0.0 - 2021-08-30

__New Feature__

* [KYLIN-4498] - CubePlaner for Kylin on Parquet
* [KYLIN-4895] - change spark deploy mode of kylin4.0 engine from local to cluster
* [KYLIN-4905] - Support limit .. offset ... in spark query engine
* [KYLIN-4925] - Use Spark 3 as build and query engine for Kylin 4
* [KYLIN-4948] - Provide an API to allow users to adjust cuboids manually
* [KYLIN-4966] - Refresh the existing segment according to the new cuboid list in kylin4
* [KYLIN-5011] - Detect and scatter skewed data in dict encoding step
* [KYLIN-5019] - Avoid building global dictionary from all data of fact table each time
* [KYLIN-5059] - Fix error when using different HDFS cluster in cube building

__Bug Fix__

* [KYLIN-4729] - The hive table will be overwrited when add csv table with the same name
* [KYLIN-4879] - The function of sql to remove comments is not perfect. In some cases, the sql query conditions used will be modified
* [KYLIN-4887] - Segment pruner support string type partition col in spark query engine
* [KYLIN-4889] - Query error when spark engine in local mode
* [KYLIN-4935] - Existing JobOutput's extend info will be lost when it is updated
* [KYLIN-4967] - Forbid to set 'spark.sql.adaptive.enabled' to true when building cube with Spark 2.X
* [KYLIN-5013] - Write table_snapshot to wrong cluster in Kylin4.0
* [KYLIN-5014] - Spark driver log is abnormal in yarn cluster mode
* [KYLIN-5021] - FilePruner in Spark3 throws NPE when no partition columns in cube
* [KYLIN-5040] - Cuboid should not be exactly matched when there is no group by time partition column and there are multiple segments in the query

__Improvement__

* [KYLIN-4554] - Validate "filter condition" on model saving
* [KYLIN-4888] - Performance optimization of union query with spark engine
* [KYLIN-4890] - Use numSlices = 1 to reduce task num when executing sparder canary
* [KYLIN-4892] - Reduce the times of fetching files status from HDFS in FilePruner
* [KYLIN-4893] - Optimize query performance when using shard by column
* [KYLIN-4894] - Upgrade Apache Spark version to 2.4.7
* [KYLIN-4897] - Add table snapshot and global dictionary cleaning in StorageCleanupJob
* [KYLIN-4898] - Add automated test cases
* [KYLIN-4903] - cache parent datasource to accelerate next layer's cuboid building
* [KYLIN-4906] - support query/job server dynamic register and discovery in kylin4
* [KYLIN-4908] - Segment pruner support integer partition col in spark query engine
* [KYLIN-4910] - Return hostname as Sparder URL address when spark master is set to local
* [KYLIN-4917] - Fix some problem of logger system in kylin4
* [KYLIN-4923] - CubeMigration Tools support migrate meta from 2.x/3.x cluster to 4.0 cluster
* [KYLIN-4926] - Optimize Global Dict building: replace operation 'mapPartitions.count()' with 'foreachPartitions'
* [KYLIN-4927] - Forbid to use AE when building Global Dict
* [KYLIN-4936] - Exactly aggregation can't transform to project
* [KYLIN-4937] - Verify the uniqueness of the global dictionary after building global dictionary
* [KYLIN-4944] - Upgrade CentOS version, Hadoop version and Spark version for Kylin Docker image
* [KYLIN-4945] - Repartition encoded dataset to avoid data skew caused by a single column
* [KYLIN-4980] - Support prunning segments from complex filter conditions
* [KYLIN-5027] - Add the config of whether to build base cuboid in kylin4
* [KYLIN-5031] - The last_build_job_id of segment is null when the semgent status is RUNNING or ERROR.

## v3.1.2 - 2021-04-26

__New Feature__

* [KYLIN-4794] - Make it possible to force hit a cube set for sqls with cube join
* [KYLIN-4938] - Remove segment by UUID
* [KYLIN-4939] - Transform lookup table snapshot from segment level to cube level
* [KYLIN-4940] - Implement the step of "Extract Dictionary from Global Dictionary" for spark cubing engine

__Improvement__

* [KYLIN-4613] - add buildCubeCLi as hadoop main class and jobRestClient
* [KYLIN-4636] - Make /api/admin/public_config callable for profile saml
* [KYLIN-4658] - Union all issue with regarding to windows function & aggregation on
* [KYLIN-4667] - Automatically set kylin.query.cache-signature-enabled to be true when memcached is enabled
* [KYLIN-4702] - Missing cube-level lookup table snapshot when doing cube migration
* [KYLIN-4711] - Change default value to 3 for kylin.metadata.hbase-client-retries-number
* [KYLIN-4827] - SparkMergingDictionary parallelize not work
* [KYLIN-4833] - use distcp to control the speed of writting hfile data to hbase cluster
* [KYLIN-4836] - fix CubeMigrationCLI bug
* [KYLIN-4837] - optimize CubeMigrationCLI
* [KYLIN-4838] - fix KYLIN-4679 bug
* [KYLIN-4854] - the official website document about system cube have some errors
* [KYLIN-4862] - Build Cube use two job engine, cause there is no valid state transfer from:ERROR to:SUCCEED
* [KYLIN-4863] - dependency cache script files not fully used
* [KYLIN-4920] - stream lambda: hive table can be in database other than default
* [KYLIN-4929] - Skip metrics update for simple queries to avoid NPE warnings
* [KYLIN-4933] - Support set cache strength for dict cache
* [KYLIN-4955] - fix typo in KYLIN UI when not set dictionary for count_distinct measure

__Bug Fix__

* [KYLIN-4640] - StepInfo saved wrong key about flink or spark
* [KYLIN-4771] - Query streaming cube - Thread pool of MultiThreadsResultCollector be blocked.
* [KYLIN-4787] - The script sample.sh cannot automatically switch to the hive database set by the user to create sample hive tables
* [KYLIN-4810] - TrieDictionary is not correctly build
* [KYLIN-4819] - build cube failed when `kylin.metadata.hbase-client-retries-number` great than 1
* [KYLIN-4826] - The value of config kylin.source.hive.warehouse-dir can not be found
* [KYLIN-4841] - Spark RDD cache is invalid when building with spark engine
* [KYLIN-4847] - Cuboid to HFile step failed on multiple job server env because of trying to read the metric jar file from the inactive job server's location.
* [KYLIN-4855] - kylin metrics prefix bug in system-cube.sh
* [KYLIN-4879] - The function of sql to remove comments is not perfect. In some cases, the sql query conditions used will be modified
* [KYLIN-4882] - config["kylin.engine.spark-fact-distinct"] overwrite in the Cube-level is invalid
* [KYLIN-4896] - cube metadata miss
* [KYLIN-4900] - The result of derived time columns are error, when timezone is GMT-1 or GMT-N
* [KYLIN-4901] - Query result use diff timezone in real-time stream
* [KYLIN-4921] - stream config lost when create table with same table_name in diff project.
* [KYLIN-4930] - unexpected empty search result in group/user management page
* [KYLIN-4962] - Fix NPE in ShrunkDict step
* [KYLIN-4979] - Fix flink shaded jar version error in download-flink.sh

## v4.0.0-beta - 2021-02-07
_Tag:_ [kylin-4.0.0-beta](https://github.com/apache/kylin/tree/kylin-4.0.0-beta)
This is a major release after 4.0.0-alpha, with 25 new features/improvements and 14 bug fixes.

__New Feature__

* [KYLIN-4842] - Supports grouping sets function for Kylin 4
* [KYLIN-4843] - Support INTERSECT_COUNT/INTERSECT_VALUE function for Kylin 4

__Improvement__

* [KYLIN-4712] - Optimize CubeMetaIngester.java CLI
* [KYLIN-4754] - The Cleanup tool cannot clean the the parquet file of the deleted cube and project
* [KYLIN-4760] - Optimize TopN measure
* [KYLIN-4763] - Rename ISourceAware.ID_SPARK to ISourceAware.ID_CSV
* [KYLIN-4766] - After the job is discarded, the temporary file and segment file are not deleted
* [KYLIN-4782] - Verify if the query hit the true cuboid in IT
* [KYLIN-4790] - Automaticly copy required jars to SPARK_HOME/jars for HDI3.6
* [KYLIN-4792] - Verify several attribute values of segment in the build/merge test
* [KYLIN-4800] - Add canary tool for sparder-context
* [KYLIN-4808] - Auto copy hive-site.xml to hadoop_conf_dir in kylin4
* [KYLIN-4811] - Support cube level configuration for BuildingJob
* [KYLIN-4813] - Refine spark logger for Kylin 4 build engine
* [KYLIN-4814] - Support Kylin4 delopyment on EMR 5.X
* [KYLIN-4815] - Support Kylin4 delopyment on EMR 6.x
* [KYLIN-4817] - Refine Cube Migration Tool for Kylin4
* [KYLIN-4825] - Add spark job tracking url in step details page
* [KYLIN-4828] - Add more sql test cases into NBuildAndQueryTest
* [KYLIN-4829] - Support to use thread-level SparkSession to execute query
* [KYLIN-4844] - Add lookup table duplicate key check when building job
* [KYLIN-4850] - Cube's override kylin_properties were ignored in building jobs
* [KYLIN-4857] - Refactor system cube for kylin4
* [KYLIN-4875] - Remove executor configurations when execute resource detect step (local mode)
* [KYLIN-4877] - Use all dimension columns as sort columns when saving cuboid data

__Bug Fix__

* [KYLIN-4737] - The precision in the returned result is different from the one by Spark SQL
* [KYLIN-4738] - The order in the returned result is wrong when use window function to query in kylin
* [KYLIN-4751] - Throws NPE when run test case TestTopNUDAF
* [KYLIN-4761] - Update some missing values of new segment when merge segments
* [KYLIN-4764] - Throws NoClassDefFoundError when run query test cases
* [KYLIN-4791] - Throws exception 'UnsupportedOperationException: empty.reduceLeft' when there are cast expressions in the filters of FilePruner
* [KYLIN-4793] - In some Hadoop versions, kylin calcite reported error because there is no guava14
* [KYLIN-4820] - Can not auto set spark resources configurations when building cube
* [KYLIN-4822] - The metrics 'Total spark scan time' of query log is negative in some cases
* [KYLIN-4824] - The metric 'Total scan bytes' of 'Query Log' is always 0 when querying
* [KYLIN-4853] - QueryPreparedStatementCache invalid in Spark Query Engine
* [KYLIN-4858] - Support Kylin4 deployment on CDH 6.X
* [KYLIN-4872] - Fix NPE when there are more than one segment if cube planner is open
* [KYLIN-4874] - Fix CubeMigrationCLI bug for kylin4

__Sub-task__

* [KYLIN-4818] - Calculate cuboid statistics in Kylin 4

## v3.1.1 - 2020-10-18
_Tag:_ [kylin-3.1.1](https://github.com/apache/kylin/tree/kylin-3.1.1)
This is a bug-fix release after 3.1.0, with 37 improvements and 21 bug fixes.

__Sub-task__

* [KYLIN-4557] - Refactor JobService to improve code readability
* [KYLIN-4558] - get all chained executable jobs through job API
* [KYLIN-4559] - show cardinality and lookup snapshot job on job page
* [KYLIN-4560] - support to re-run/delete cardinality and lookup snapshot job
* [KYLIN-4561] - overall job number statistics in monitor page is incorrect after change the job status

__Bug Fix__

* [KYLIN-4515] - could not send mail on ssl port
* [KYLIN-4578] - Throws TableNotFoundException in step 'Convert Cuboid Data to HFile' when the value of property * 'kylin.storage.hbase.table-name-prefix' or 'kylin.storage.hbase.namespace' is lowercase.
* [KYLIN-4603] - listjob return NPE
* [KYLIN-4610] - update kylin.engine.livy.backtick.quote default value
* [KYLIN-4617] - Check whether project/jobid exists before download diagnosis package
* [KYLIN-4628] - Fail to use custom measure type when specifying cube to query
* [KYLIN-4634] - Fail to specify cube in model of low priority to query
* [KYLIN-4656] - Guava classpath conflict caused by kylin-jdbc 3.1.0 jar
* [KYLIN-4657] - dead-loop in org.apache.kylin.engine.mr.common.MapReduceExecutable.doWork
* [KYLIN-4672] - Using Real-time Lambda to refresh the data lead to result not incorrect
* [KYLIN-4677] - StorageCleanupJob throw NPE
* [KYLIN-4683] - Fail to consume kafka when partition number get larger
* [KYLIN-4684] - Streaming Table V2创建 - TSPattern下拉选项前端bug修复
* [KYLIN-4688] - Too many tmp files in HDFS tmp directory
* [KYLIN-4697] - User info update logic is not correct
* [KYLIN-4700] - Wrong engine type for realtime streaming
* [KYLIN-4731] - Kylin query failing with 'null while executing SQL'
* [KYLIN-4753] - Merging job stop working after Kylin upgrade
* [KYLIN-4755] - Error while compiling generated Java code when using Kylin UDF in "case when"
* [KYLIN-4756] - user/group page has duplicate information between adjacent page numbers
* [KYLIN-4757] - Impossible precision for decimal datatype in kylin if the source column is numeric in postgres

__Improvement__

* [KYLIN-4527] - Beautify the drop-down list of the cube on query page
* [KYLIN-4549] - Show column cardinality in rowkeys area of advanced settings
* [KYLIN-4550] - Provide advanced refresh interface inside the refresh panel
* [KYLIN-4551] - Provide interfaces to transfer cube/model/project ownership
* [KYLIN-4576] - Add hint about password length
* [KYLIN-4581] - Add spark and flink engine test case for release test
* [KYLIN-4585] - Add cube count column for project table
* [KYLIN-4606] - throw olap exception when olap query and pushdown both error
* [KYLIN-4608] - add deletecubefast api for delete 300 cubes fast
* [KYLIN-4609] - setenv.sh add zgc config for big memory
* [KYLIN-4611] - modify PATTERN_SPARK_APP_URL to Tracking URL，ignore case
* [KYLIN-4612] - Support job status write to kafka
* [KYLIN-4616] - The value of config kylin.source.hive.databasedir can be self detected
* [KYLIN-4618] - Upgrade kylin docker image for kylin 3.1.0
* [KYLIN-4619] - Make shrunken dict able to coexist with mr-hive global dict
* [KYLIN-4626] - add set kylin home sh
* [KYLIN-4635] - Set Kylin default log level to info
* [KYLIN-4653] - Make the capacity for the LinkedBlockingQueue of BlockingReservoir configurable
* [KYLIN-4665] - set flink job name shown in resource manager
* [KYLIN-4678] - continue execute job when StorageCleanupJob sub step has error
* [KYLIN-4679] - StorageCleanupJob clean hive table support hive table prefix
* [KYLIN-4685] - return user friendly msg when stackoverflowerror
* [KYLIN-4686] - clean metadata support to delete all jobs
* [KYLIN-4687] - add unify clean sh to excute some clean shells
* [KYLIN-4709] - Upgrade spring to 4.3.26
* [KYLIN-4712] - Optimize CubeMetaIngester.java CLI
* [KYLIN-4714] - Failed to revoke role access of the project
* [KYLIN-4716] - Optimize the project page
* [KYLIN-4752] - Refine server mode checking
* [KYLIN-4770] - Move Kylin service on k8s from background to foreground

__Task__

* [KYLIN-4526] - Enhance get the hive table rows
* [KYLIN-4648] - Upgrade Spark to latest 2.3 or 2.4 version

## v4.0.0-alpha - 2020-09-13
_Tag:_ [kylin-4.0.0-alpha](https://github.com/apache/kylin/tree/kylin-4.0.0-alpha)
This is a major release after 3.1.0, with 35 new features/improvements and 22 bug fixes.

__New Feature__

* [KYLIN-4188] - Parquet as Cube storage V2
* [KYLIN-4213] - The new build engine with Spark-SQL
* [KYLIN-4452] - Kylin on Parquet with Docker
* [KYLIN-4462] - Support Count Distinct,TopN and Percentile by kylin on Parquet
* [KYLIN-4659] - Prepare a technical preview version for Parquet Storage

__Improvement__

* [KYLIN-4449] - A running build job will still running when cancel from front end
* [KYLIN-4450] - Add the feature that adjusting spark driver memory adaptively
* [KYLIN-4456] - Temporary files generated by UT or Integration Tests need to be deleted
* [KYLIN-4458] - FilePruner prune shards
* [KYLIN-4459] - Continuous print warning log-DFSInputStream has been closed already
* [KYLIN-4467] - Support TopN by kylin on Parquet
* [KYLIN-4468] - Support Percentile by kylin on Parquet
* [KYLIN-4474] - Support window function for Kylin on Parquet
* [KYLIN-4475] - Support intersect count for Kylin on Parquet
* [KYLIN-4541] - Kylin.log output error information during build job
* [KYLIN-4542] - After downloading spark with bin/download-spark.sh , still need set SPARK_HOME manually .
* [KYLIN-4621] - Avoid annoying log message when build cube and query
* [KYLIN-4625] - Debug the code of Kylin on Parquet without hadoop environment
* [KYLIN-4631] - Set the default build engine type to spark for Kylin on Parquet
* [KYLIN-4644] - New tool to clean up  intermediate files for Kylin 4.0
* [KYLIN-4680] - Avoid annoying log messages of unit test and integration test
* [KYLIN-4695] - Automatically start sparder (for query) application when start kylin instance.
* [KYLIN-4699] - Delete job_tmp path after build/merge successfully
* [KYLIN-4713] - Support use diff spark schedule pool for diff query
* [KYLIN-4722] - Add more statistics to the query results
* [KYLIN-4723] - Set the configurations about shard by to cube level
* [KYLIN-4744] - Add tracking URL for build spark job on yarn
* [KYLIN-4746] - Improve build performance by reducing the count of calling 'count()' function
* [KYLIN-4747] - Use the first dimension column as sort column within a partition

__Bug Fix__

* [KYLIN-4444] - Error when refresh segment
* [KYLIN-4451] - ClassCastException when querying on cluster with binary package
* [KYLIN-4453] - Query on refreshed cube failed with FileNotFoundException
* [KYLIN-4454] - Query snapshot table failed
* [KYLIN-4455] - Query will fail when set calcite.debug=true
* [KYLIN-4457] - Query cube result doesn't math with spark sql
* [KYLIN-4461] - When querying with measure whose return type is decimal, it will throw type cast exception
* [KYLIN-4465] - Will get direct parent and ancestor cuboids with method findDirectParentCandidates
* [KYLIN-4466] - Cannot unload table which is loaded from CSV source
* [KYLIN-4469] - Cannot clone model
* [KYLIN-4471] - Cannot query sql about left join
* [KYLIN-4482] - Too many logging segment info with CubeBuildJob step
* [KYLIN-4483] - Avoid to build global dictionaries with empty ColumnDesc collection
* [KYLIN-4632] - No such element exception:spark.driver.cores
* [KYLIN-4681] - Use KylinSession instead of SparkSession for some test cases
* [KYLIN-4694] - Fix 'NoClassDefFoundError: Lcom/esotericsoftware/kryo/io/Output' when query with sparder on yarn
* [KYLIN-4698] - Delete segment storage path after merging segment, deleting segment and droping cube
* [KYLIN-4721] - The default source source type should be CSV not Hive with the local debug mode
* [KYLIN-4732] - The cube size is wrong after disabling the cube
* [KYLIN-4733] - the cube size is inconsistent with the size of all segments
* [KYLIN-4734] - the duration is still increasing after discarding the job
* [KYLIN-4742] - NullPointerException when auto merge segments if exist discard jobs* 

## v3.1.0 - 2020-07-02
_Tag:_ [kylin-3.1.0](https://github.com/apache/kylin/tree/kylin-3.1.0)
This is a major release after 3.0.0, with 10 new features and 68 enhancements and 75 bug fixes.

__New Feature__

* [KYLIN-3361] - Add a two layer udaf stddev_sum
* [KYLIN-3758] - Flink Cube Build Engine
* [KYLIN-3832] - Kylin pushdown to support postgresql
* [KYLIN-4104] - Support multi jdbc pushdown runners to execute query/update
* [KYLIN-4240] - Use SSO without LDAP
* [KYLIN-4335] - Reuse global dictionary from other cube,global domain dict
* [KYLIN-4445] - Provide a kylin on kubernetes solution
* [KYLIN-4480] - Implement runtime non-equi join
* [KYLIN-4485] - Create a self service interface for cube migration
* [KYLIN-4491] - Query push down to Presto

__Improvement__

* [KYLIN-2230] - can not catch kylin.sh path in linux resouce PATH setting
* [KYLIN-3237] - Fix NPE
* [KYLIN-3487] - Create a new measure for precise count distinct
* [KYLIN-3698] - check-env.sh should print more details about checking items
* [KYLIN-3844] - Add instruction about config 'kylin.metadata.hbasemapping-adapter'
* [KYLIN-3956] - Segments of not only streaming cube but also batch cube need to show their status
* [KYLIN-4168] - Fix sonar reported static code issues phase 2
* [KYLIN-4185] - CubeStatsReader estimate wrong cube size
* [KYLIN-4192] - Build UHC dictionary with spark
* [KYLIN-4197] - DiagnosisInfoCLI block forever at "beeline --version"
* [KYLIN-4211] - PartitionDesc support custom year、month、day partitions name
* [KYLIN-4212] - Add a user profile page
* [KYLIN-4225] - unclosed hive session cause too many temp file
* [KYLIN-4226] - Skip current unavailable tables when updating hbase coprocessor
* [KYLIN-4237] - Return error when execute 'explain plan for SQL' to get the execution plan of SQL
* [KYLIN-4249] - DistributedScheduler can selectively assign task nodes according to cube extra configuration
* [KYLIN-4251] - Add livy to docker
* [KYLIN-4255] - Display detailed error message when using livy build error
* [KYLIN-4271] - Use configurable certificate to support LDAPs authentication of Kylin
* [KYLIN-4280] - SegmentPruner add the checks for "OR" filtering
* [KYLIN-4281] - Precisely set the data type of tuple expression
* [KYLIN-4282] - support case when in count (distinct)
* [KYLIN-4287] - SegmentPruner cannot prune segment with "IN" or "OR" CompareTupleFilter
* [KYLIN-4290] - Add file lock to kylin startup script to avoid starting multiple instances on one node
* [KYLIN-4292] - Use HFileOutputFormat3 in all places to replace HFileOutputFormat2
* [KYLIN-4293] - Backport HBASE-22887 to Kylin HFileOutputFormat3
* [KYLIN-4294] - Add http api for metrics 
* [KYLIN-4305] - Streaming Receiver cannot limit income query request or cancel long-running query
* [KYLIN-4308] - Make kylin.sh tips clearer and more explicit
* [KYLIN-4311] - Fix bugs in Sonar to be compliant
* [KYLIN-4312] - Specified cube when querying by API
* [KYLIN-4314] - Support union in intersect_count() function
* [KYLIN-4315] - Use metadata numRows in beeline client for quick row counting
* [KYLIN-4317] - Update doc for KYLIN-4104
* [KYLIN-4319] - in "Extract Dictionary from Global Dictionary" step, only need load global dictonaries instead of all dictonaries.
* [KYLIN-4321] - Create fact distinct columns using spark by default when build engine is spark
* [KYLIN-4327] - TOPN Comparator may  violate its general contract
* [KYLIN-4328] - Kylin should skip succeed jobs in scheduler
* [KYLIN-4333] - Build Server OOM
* [KYLIN-4342] - Build Global Dict by MR/Hive New Version
* [KYLIN-4356] - Failed "Hive Column Cardinality calculation for table" jobs cannot be delete 
* [KYLIN-4358] - statement cache eviction invalidation base on time
* [KYLIN-4364] - Limit varchar length to DefaultVarcharPrecison in RDBMS Source
* [KYLIN-4371] - Integrate System Cube with Real-time OLAP
* [KYLIN-4390] - Update tomcat to 7.0.100
* [KYLIN-4394] - Upgrade dependency version for several CVEs
* [KYLIN-4399] - Redirect http url is not override as https when using vip
* [KYLIN-4407] - Protect query engine to provide more stable service
* [KYLIN-4411] - Job Engine Improvement
* [KYLIN-4412] - Show cluster name in job notification email title
* [KYLIN-4419] - Make it possible to change metadata in some cases without rebuilding data
* [KYLIN-4437] - Should replace deprecated  "mapred.job.name"
* [KYLIN-4424] - use static web server to help frontend development
* [KYLIN-4441] - Add restart command to kylin.sh
* [KYLIN-4477] - Usage of "TLS" is insecure
* [KYLIN-4478] - Usage of "AES/ECB/PKCS5Padding" is insecure
* [KYLIN-4495] - Support custom date formats for partition date column
* [KYLIN-4504] - Cache usage improvement
* [KYLIN-4508] - Add more unit tests to improve test coverage
* [KYLIN-4510] - Automatically refresh the page after reload table
* [KYLIN-4511] - Support project admin user to calculate column cardinality by web
* [KYLIN-4512] - Update NOTICE file
* [KYLIN-4520] - Improve StorageCleanJobHbaseUtil to cleanup HBase tables in parallel
* [KYLIN-4537] - Give a friendly tips to the user when getting task list fails
* [KYLIN-4543] - Remove the usage for jackson enableDefaultTyping()
* [KYLIN-4571] - Always set GMT timezone for RecordEventTimeDetail
* [KYLIN-4573] - Add option to indicate whether to close file for every append for Hive Producer
* [KYLIN-4580] - Add 90, 360 days auto-merge thresholds for system cubes

__Bug Fix__

* [KYLIN-2214] - NOT IN result incorrect result
* [KYLIN-2971] - Fix the wrong "Realization Names" in logQuery when hit cache
* [KYLIN-3409] - Write metric error when run a query.
* [KYLIN-3733] - kylin can't response correct data when using "in" filter
* [KYLIN-4080] - Project schema update event causes error reload NEW DataModelDesc
* [KYLIN-4119] - The admin of project can't operate the action of Hybrids
* [KYLIN-4120] - Failed to query "select * from {lookup}" if a lookup table joined in two different models
* [KYLIN-4124] - Fix bug in map partition function en cuboid children is empty or null
* [KYLIN-4145] - Compile failed due to incompatible version between scala and scala-maven-plugin
* [KYLIN-4151] - FileSplit ClassCastException in KafkaMRInput
* [KYLIN-4161] - exception in update metrics when the response is null 
* [KYLIN-4166] - kylin parse sql error
* [KYLIN-4206] - Build kylin on EMR 5.23. The kylin version is 2.6.4. When building the cube, the hive table cannot be found
* [KYLIN-4235] - Failed to load table metadata from JDBC data source
* [KYLIN-4238] - kylin_streaming_model broke when changing kylin.source.hive.database-for-flat-table to non-default value
* [KYLIN-4243] - read function in NoCompressedColumnReader is wrong.
* [KYLIN-4245] - SqlConverter returns wrong syntax SQL when SqlParser fails for JDBC source
* [KYLIN-4250] - FechRunnner should skip the job to process other jobs instead of throwing exception when the job section metadata is not found
* [KYLIN-4252] - Fix the error "Cannot read property 'index' of null" in visualization page
* [KYLIN-4259] - potential NPE bug reported by Findbugs
* [KYLIN-4260] - When using server side PreparedStatement cache, the query result are not match on TopN scenario
* [KYLIN-4263] - Inapproprate exception handling causes job stuck on running status
* [KYLIN-4272] - problems of docker/build_image.sh
* [KYLIN-4275] - Result of count(case when) is not correct
* [KYLIN-4291] - Parallel segment building may causes WriteConflictException
* [KYLIN-4295] - Instances displayed on Query Node are inconsistent with Job Node
* [KYLIN-4297] - Build cube throw NPE error when partition column is not set in JDBC Data Source
* [KYLIN-4298] - Issue with shrunken dictionary on S3
* [KYLIN-4299] - Issue with building real-time segment cache into HBase when using S3 as working dir
* [KYLIN-4300] - Create a Real-time streaming cube but not define a partition column should throw a exception 
* [KYLIN-4302] - Fix the bug that InputStream is not closed properly
* [KYLIN-4303] - Fix the bug that HBaseAdmin is not closed properly
* [KYLIN-4304] - Project list cannot be correctly sorted by "Create Time"
* [KYLIN-4307] - ExponentialBackoffRetry implemented a incorrect retry policy
* [KYLIN-4309] - One user's mailbox is not suffixed and other messages cannot be sent
* [KYLIN-4320] - number of replicas of Cuboid files cannot be configured for Spark engine
* [KYLIN-4324] - User query returns Unknown error
* [KYLIN-4340] - Fix bug of get value of isSparkFactDistinctEnable for cube not correct
* [KYLIN-4352] - A empty segment will cause incomplete query result in Realtime OLAP
* [KYLIN-4354] - Prune segment not using given filter when using jdbc preparestatement
* [KYLIN-4355] - Add validation for cube re-assignmnet(Realtime OLAP)
* [KYLIN-4357] - NPE in drop/cancel unexist job
* [KYLIN-4359] - Param Value should be required when creating a cube and adding a new measure
* [KYLIN-4363] - Query failed with "I failed to find one of the right cookies" error
* [KYLIN-4365] - RDBMS pushdown failed with with clause
* [KYLIN-4377] - Project's admin cannot operate Hybrid model
* [KYLIN-4383] - Kylin Integrated Issue with Amazon EMR and AWS Glue in HiveMetaStoreClientFactory.java
* [KYLIN-4384] - Spark build failed in EMR when KYLIN-4224 introduced
* [KYLIN-4385] - KYLIN system cube failing to update table when run on EMR with S3 as storage and EMRFS
* [KYLIN-4386] - Use LinkedHashMap for a deterministic order in test
* [KYLIN-4387] - Flink cubing merge step failed
* [KYLIN-4393] - There are several CVEs in the project dependencies
* [KYLIN-4396] - File Descriptor Leakage in MR Build Engine
* [KYLIN-4397] - Use newLinkedHashMap in AssignmentUtil.java
* [KYLIN-4405] - Internal exception when trying to build cube whose modal has null PartitionDesc 
* [KYLIN-4425] - Refactor Diagnosis Tool
* [KYLIN-4426] - Refine CliCommandExecutor 
* [KYLIN-4432] - Duplicated queries with sytax error take unexpect long time when lazy query enabled
* [KYLIN-4434] - The segment build job was not submitted successfully, but the storage of the cube has saved this segment.
* [KYLIN-4438] - Null password may cause RuntimeException when starting up
* [KYLIN-4464] - Query ... row_number over(order by c1) ... order by c2 ... get wrong order result
* [KYLIN-4469] - Cannot clone model
* [KYLIN-4470] - The user cannot log in kylin normally after being assigned to a group
* [KYLIN-4472] - After running docker image, it sometimes failed to run kylin successfully.
* [KYLIN-4481] - Project-level ACL lookups not working for non-admin SAML-federated users
* [KYLIN-4490] - Fix minor bug which add measure on frontend
* [KYLIN-4492] - Bad query leads to full gc
* [KYLIN-4496] - Metric data missing
* [KYLIN-4521] - The default-time-filter config is not available
* [KYLIN-4523] - Loading HttpContext class twice leads to LinkageError error.
* [KYLIN-4524] - system-cube.sh script can't work.
* [KYLIN-4539] - Spark build failed due to com.codahale.metrics.json.MetricsModule loaded  from kylin job jar
* [KYLIN-4577] - Throw UnrecognizedPropertyException when server self discovery enables on cdh5.7 env
* [KYLIN-4597] - Throws NPE when download diagnosis info for a job
* [KYLIN-4598] - Missing dependency when run kylin.sh org.apache.kylin.*


## v3.0.2 - 2020-05-19
_Tag:_ [kylin-3.0.2](https://github.com/apache/kylin/tree/kylin-3.0.2)
This is a bugfix release after 3.0.1, with 6 enhancements and 19 bug fixes.

__Improvement__

* [KYLIN-3628] - Query with lookup table always use latest snapshot
* [KYLIN-4132] - Kylin needn't use "org.apache.directory.api.util.Strings" to import api-util.jar
* [KYLIN-4388] - Refine the Dockerfile
* [KYLIN-4390] - Update tomcat to 7.0.100
* [KYLIN-4400] - Use beeline as hive client in system-cube.sh
* [KYLIN-4437] - Should replace deprecated "mapred.job.name"

__Bug Fix__

* [KYLIN-4119] - The admin of project can't operate the action of Hybrids
* [KYLIN-4206] - Build kylin on EMR 5.23. The kylin version is 2.6.4. When building the cube, the hive table cannot be found
* [KYLIN-4340] - Fix bug of get value of isSparkFactDistinctEnable for cube not correct
* [KYLIN-4353] - Realtime Segment is not closed in expected duration
* [KYLIN-4354] - Prune segment not using given filter when using jdbc preparestatement
* [KYLIN-4370] - Spark job failing with JDBC source on 8th step with error : org.apache.kylin.engine.spark.SparkCubingByLayer. Root cause: Table or view not found: `default`.`kylin_intermediate table'
* [KYLIN-4372] - Docker entrypoint delete file too later cause ZK started by HBase crash
* [KYLIN-4379] - Calculate column cardinality cannot use kylin config overwrite cause job failed
* [KYLIN-4383] - Kylin Integrated Issue with Amazon EMR and AWS Glue in HiveMetaStoreClientFactory.java
* [KYLIN-4385] - KYLIN system cube failing to update table when run on EMR with S3 as storage and EMRFS
* [KYLIN-4396] - File Descriptor Leakage in MR Build Engine
* [KYLIN-4397] - Use newLinkedHashMap in AssignmentUtil.java
* [KYLIN-4405] - Internal exception when trying to build cube whose modal has null PartitionDesc
* [KYLIN-4425] - Refactor Diagnosis Tool
* [KYLIN-4426] - Refine CliCommandExecutor
* [KYLIN-4433] - When uhc step is turned on, Build Dimension Dictionary job cannot get correct configuration
* [KYLIN-4438] - Null password may cause RuntimeException when starting up
* [KYLIN-4470] - The user cannot log in kylin normally after being assigned to a group
* [KYLIN-4481] - Project-level ACL lookups not working for non-admin SAML-federated users

## v3.0.1 - 2020-02-20
_Tag:_ [kylin-3.0.1](https://github.com/apache/kylin/tree/kylin-3.0.1)
This is a bugfix release after 3.0.0, with 10 enhancements and 14 bug fixes.

__Improvement__

* [KYLIN-3956] - Segments of not only streaming cube but also batch cube need to show their status
* [KYLIN-4197] - DiagnosisInfoCLI block forever at "beeline --version"
* [KYLIN-4225] - unclosed hive session cause too many temp file
* [KYLIN-4237] - Return error when execute 'explain plan for SQL' to get the execution plan of SQL
* [KYLIN-4280] - SegmentPruner add the checks for "OR" filtering
* [KYLIN-4287] - SegmentPruner cannot prune segment with "IN" or "OR" CompareTupleFilter
* [KYLIN-4292] - Use HFileOutputFormat3 in all places to replace HFileOutputFormat2
* [KYLIN-4327] - TOPN Comparator may violate its general contract
* [KYLIN-4333] - Build Server OOM
* [KYLIN-4374] - Fix security issues reported by code analysis platform LGTM

__Bug Fix__

* [KYLIN-4080] - Project schema update event causes error reload NEW DataModelDesc
* [KYLIN-4161] - exception in update metrics when the response is null
* [KYLIN-4166] - kylin parse sql error
* [KYLIN-4235] - Failed to load table metadata from JDBC data source
* [KYLIN-4238] - kylin_streaming_model broke when changing kylin.source.hive.database-for-flat-table to non-default value
* [KYLIN-4243] - read function in NoCompressedColumnReader is wrong.
* [KYLIN-4250] - FechRunnner should skip the job to process other jobs instead of throwing exception when the job section metadata is not found
* [KYLIN-4252] - Fix the error "Cannot read property 'index' of null" in visualization page
* [KYLIN-4260] - When using server side PreparedStatement cache, the query result are not match on TopN scenario
* [KYLIN-4295] - Instances displayed on Query Node are inconsistent with Job Node
* [KYLIN-4297] - Build cube throw NPE error when partition column is not set in JDBC Data Source
* [KYLIN-4300] - Create a Real-time streaming cube but not define a partition column should throw a exception
* [KYLIN-4304] - Project list cannot be correctly sorted by "Create Time"
* [KYLIN-4359] - Param Value should be required when creating a cube and adding a new measure

## v3.0.0 - 2019-12-20
_Tag:_ [kylin-3.0.0](https://github.com/apache/kylin/tree/kylin-3.0.0)
This is the GA release of Kylin's next generation after 2.x, with the new real-time OLAP feature.

__New Feature__

* [KYLIN-4098] - Add cube auto merge api
* [KYLIN-3883] - Kylin supports column count aggregation

__Improvement__

* [KYLIN-565] - Unsupported SQL Functions
* [KYLIN-1772] - Highlight segment at HBase tab page of cube admin view when the segment is not healthy.
* [KYLIN-1850] - Show Kylin Version on GUI
* [KYLIN-2431] - StorageCleanupJob will remove intermediate tables created by other kylin instances
* [KYLIN-3756] - Support check-port-availability script for mac os x
* [KYLIN-3865] - Centralize the zookeeper related info
* [KYLIN-3906] - ExecutableManager is spelled as ExecutableManger
* [KYLIN-3907] - Sort the cube list by create time in descending order.
* [KYLIN-3917] - Add max segment merge span to cleanup intermediate data of cube building
* [KYLIN-4010] - Auto adjust offset according to query server's timezone for time derived column
* [KYLIN-4096] - Make cube metadata validator rules configuable
* [KYLIN-4097] - Throw exception when too many dict slice eviction in AppendTrieDictionary
* [KYLIN-4163] - CreateFlatHiveTableStep has not yarn app url when hive job running
* [KYLIN-4167] - Refactor streaming coordinator
* [KYLIN-4175] - Support secondary hbase storage config for hbase cluster migration
* [KYLIN-4178] - Job scheduler support safe mode
* [KYLIN-4180] - Prevent abnormal CPU usage by limiting flat filters length
* [KYLIN-4187] - Building dimension dictionary using spark
* [KYLIN-4193] - More user-friendly page for loading streaming tables
* [KYLIN-4198] - “bin/system-cube.sh cron” will overwrite user's crontab
* [KYLIN-4201] - Allow users to delete unused receivers from streaming page
* [KYLIN-4208] - RT OLAP kylin.stream.node configure optimization support all receiver can have the same config
* [KYLIN-4257] - Build historical data by layer in real time Lambda cube
* [KYLIN-4258] - Real-time OLAP may return incorrect result for some case
* [KYLIN-4273] - Make cube planner works for real-time streaming job
* [KYLIN-4283] - FileNotFound error in "Garbage Collection" step should not break cube building.

__Bug Fix__

* [KYLIN-1716] - leave executing query page action stop bug
* [KYLIN-3730] - TableMetadataManager.reloadSourceTableQuietly is wrong
* [KYLIN-3741] - when the sql result is empty and limit is 0 , should not have "load more" bar
* [KYLIN-3842] - kylinProperties.js Unable to get the public configuration of the first line in the front end
* [KYLIN-3881] - Calcite isolating expression with its condition may throw 'Division Undefined' exception
* [KYLIN-3887] - Query with decimal sum measure of double complied failed after KYLIN-3703
* [KYLIN-3933] - Currently replica set related operation need refresh current front-end page
* [KYLIN-4135] - Real time streaming segment build task discard but can't be rebuilt
* [KYLIN-4147] - User has project's admin permission but doesn't have permission to see the Storage/Planner/streaming tab in Model page
* [KYLIN-4162] - After drop the build task on the monitor page, subsequent segments cannot be constructed.
* [KYLIN-4165] - RT OLAP building job on "Save Cube Dictionaries" step concurrency error
* [KYLIN-4169] - Too many logs while DataModelManager init, cause the first RESTful API hang for a long time
* [KYLIN-4172] - Can't rename field when map streaming schema to table
* [KYLIN-4176] - Filter the intermediate tables when loading table metadata from tree
* [KYLIN-4183] - Clicking 'Submit' button is unresponsive, when the segment is not selected.
* [KYLIN-4190] - hiveproducer write() function throw exception because hive mertics table location path prefix is different with defaut fs when hdfs uses router-based federation
* [KYLIN-4194] - Throw KylinConfigCannotInitException at STEP "Extract Fact Table Distinct Columns" with spark
* [KYLIN-4203] - Disable a real time cube and then enable it ,this cube may can't submit build job anymore
* [KYLIN-4229] - String index out of range -1
* [KYLIN-4242] - Usage instructions in 'PasswordPlaceholderConfigurer' doesn't work
* [KYLIN-4244] - ClassNotFoundException while use org.apache.kylin.engine.mr.common.CubeStatsReader in bash
* [KYLIN-4246] - Wrong results from real-time streaming when an optional field is used as a dimension
* [KYLIN-4248] - When adding a user, the prompt message is incorrect when the user name is empty.
* [KYLIN-4254] - The result exporting from Insight with CSV format is empty, when sql contains Chinese
* [KYLIN-4262] - pid in GC filename inconsistent with real pid
* [KYLIN-4265] - SQL tab of cube failed when filter is not empty

## v3.0.0-beta - 2019-10-25
_Tag:_ [kylin-3.0.0-beta](https://github.com/apache/kylin/tree/kylin-3.0.0-beta)
This is the beta release of Kylin's next generation after 2.x, with the new real-time OLAP feature.

__New Feature__

* [KYLIN-4114] - Provided a self-contained docker image for Kylin
* [KYLIN-4122] - Add kylin user and group manage modules

__Improvement__

* [KYLIN-3519] - Upgrade Jacoco version to 0.8.2
* [KYLIN-3628] - Query with lookup table always use latest snapshot
* [KYLIN-3901] - Use multi threads to speed up the storage cleanup job
* [KYLIN-4010] - Auto adjust offset according to query server's timezone for time derived column
* [KYLIN-4055] - cube quey and ad-hoc query return different meta info
* [KYLIN-4067] - Speed up response of kylin cube page
* [KYLIN-4091] - support fast mode and simple mode for running CI
* [KYLIN-4092] - Support setting seperate jvm params for kylin backgroud tools
* [KYLIN-4093] - Slow query pages should be open to all users of the project
* [KYLIN-4095] - Add RESOURCE_PATH_PREFIX option in ResourceTool
* [KYLIN-4099] - Using no blocking RDD unpersist in spark cubing job
* [KYLIN-4100] - Add overall job number statistics in monitor page
* [KYLIN-4101] - set hive and spark job name when building cube
* [KYLIN-4108] - Show slow query hit cube in slow query page
* [KYLIN-4112] - Add hdfs keberos token delegation in Spark to support HBase and MR use different HDFSclusters
* [KYLIN-4121] - Cleanup hive view intermediate tables after job be finished
* [KYLIN-4127] - Remove never called classes
* [KYLIN-4128] - Remove never called methods
* [KYLIN-4129] - Remove useless code
* [KYLIN-4130] - Coordinator->StreamingBuildJobStatusChecker thread always hold a old CubeManager
* [KYLIN-4133] - support override configuration in kafka job
* [KYLIN-4137] - Accelerate metadata reloading
* [KYLIN-4139] -  Compatible old user security xml config when user upgrate new kylin version
* [KYLIN-4140] - Add the time filter for current day jobs and make default values for web configurable
* [KYLIN-4141] - Build Global Dictionary in no time
* [KYLIN-4149] - Allow user to edit streaming v2 table's  kafka cluster address and topic name
* [KYLIN-4150] - Improve docker for kylin instructions
* [KYLIN-4160] - Auto redirect to host:port/kylin when user only enter host:port in broswer
* [KYLIN-4167] - Refactor streaming coordinator
* [KYLIN-4180] - Prevent abnormal CPU usage by limiting flat filters length

__Bug Fix__

 * [KYLIN-1856] - Kylin shows old error in job step output after resume - specifically in #4 Step Name:Build Dimension Dictionary
 * [KYLIN-2820] - Query can't read window function's result from subquery
 * [KYLIN-3121] - NPE while executing a query with two left outer joins and floating point expressionson nullable fields
 * [KYLIN-3845] - Kylin build error If the Kafka data source lacks selected dimensions or metrics in thekylin stream build.
 * [KYLIN-4034] - The table should not display in Insight page when the user has no access to the table
 * [KYLIN-4039] - ZookeeperDistributedLock may not release lock when unlock operation was interrupted
 * [KYLIN-4049] - Refresh segment job will always delete old segment storage
 * [KYLIN-4057] - autoMerge job can not stop
 * [KYLIN-4066] - No planner for not ROLE_ADMIN user on WebSite
 * [KYLIN-4072] - CDH 6.x find-hbase-dependency.sh return with "base-common lib not found"
 * [KYLIN-4085] - Segment parallel building may cause segment not found
 * [KYLIN-4089] - Integration test failed with JDBCMetastore
 * [KYLIN-4103] - Make the user string in granting operation of project is case insensitive
 * [KYLIN-4106] - Illegal partition for SelfDefineSortableKey when “Extract Fact Table Distinct Columns”
 * [KYLIN-4107] - StorageCleanupJob fails to delete Hive tables with "Argument list too long" error
 * [KYLIN-4111] - drop table failed with no valid privileges after KYLIN-3857
 * [KYLIN-4115] - Always load KafkaConsumerProperties
 * [KYLIN-4117] - Intersect_count() return wrong result when column type is time
 * [KYLIN-4120] - Failed to query "select * from {lookup}" if a lookup table joined in two differentmodels
 * [KYLIN-4126] - cube name validate code cause the wrong judge of streaming type
 * [KYLIN-4135] - Real time streaming segment build task discard but can't  be rebuilt
 * [KYLIN-4143] - truncate spark executable job output
 * [KYLIN-4148] - Execute 'bin/kylin-port-replace-util.sh' to change port will cause the configurationof  'kylin.metadata.url' lost
 * [KYLIN-4153] - Failed to read big resource  /dict/xxxx at "Build Dimension Dictionary" Step
 * [KYLIN-4154] - Metadata inconsistency between multi Kylin server caused by Broadcaster closing
 * [KYLIN-4155] - Cube status can not change immediately when executed disable or enable button in web
 * [KYLIN-4157] - When using PrepareStatement query, functions within WHERE will causeInternalErrorException
 * [KYLIN-4158] - Query failed for GroupBy an expression of column with limit in SQL
 * [KYLIN-4159] - The first step of build cube job will fail and throw "Column 'xx' in where clause isambiguous" in jdbc datasource.
 * [KYLIN-4162] - After drop the build task on the monitor page, subsequent segments cannot beconstructed.
 * [KYLIN-4173] - cube list search can not work

__Test__

* [KYLIN-3878] - NPE to run sonar analysis

## v3.0.0-alpha2 - 2019-07-31
_Tag:_ [kylin-3.0.0-alpha2](https://github.com/apache/kylin/tree/kylin-3.0.0-alpha2)
This is the alpha2 release of Kylin's next generation after 2.x, with the new real-time OLAP feature.

__New Feature__

* [KYLIN-3843] - List kylin instances with their server mode on web

__Improvement__

* [KYLIN-3628] - Query with lookup table always use latest snapshot
* [KYLIN-3812] - optimize the child CompareTupleFilter in a CompareTupleFilter
* [KYLIN-3813] - don't do push down when both of the children of CompareTupleFilter are CompareTupleFilter with column included
* [KYLIN-3841] - Build Global Dict by MR/Hive
* [KYLIN-3912] - Support cube level mapreduce queue config for BeelineHiveClient
* [KYLIN-3918] - Add project name in cube and job pages
* [KYLIN-3925] - Add reduce step for FilterRecommendCuboidDataJob & UpdateOldCuboidShardJob to avoid generating small hdfs files
* [KYLIN-3932] - KafkaConfigOverride to take effect
* [KYLIN-3958] - MrHive-Dict support build by livy
* [KYLIN-3960] - Only update user when login in LDAP environment
* [KYLIN-3997] - Add a health check job of Kylin
* [KYLIN-4001] - Allow user-specified time format using real-time
* [KYLIN-4012] - optimize cache in TrieDictionary/TrieDictionaryForest
* [KYLIN-4013] - Only show the cubes under one model
* [KYLIN-4026] - Avoid too many file append operations in HiveProducer of hive metrics reporter
* [KYLIN-4028] - Speed up startup progress using cached dependency
* [KYLIN-4031] - RestClient will throw exception with message contains clear-text password
* [KYLIN-4033] - Can not access Kerberized Cluster with DebugTomcat
* [KYLIN-4035] - Calculate column cardinality by using spark engine
* [KYLIN-4041] - CONCAT NULL not working properly
* [KYLIN-4062] - Too many "if else" clause in PushDownRunnerJdbcImpl#toSqlType
* [KYLIN-4081] - Use absolute path instead of relative path for local segment cache
* [KYLIN-4084] - Reset kylin.stream.node in kylin-port-replace-util.sh
* [KYLIN-4086] - Support connect Kylin with Tableau by JDBC

__Bug Fix__

* [KYLIN-3935] - ZKUtil acquire the wrong Zookeeper Path on windows
* [KYLIN-3942] - Rea-time OLAP don't support multi-level json event
* [KYLIN-3946] - No cube for AVG measure after include count column
* [KYLIN-3959] - Realtime OLAP query result should not be cached
* [KYLIN-3981] - Auto Merge Job failed to execute on windows
* [KYLIN-4005] - Saving Cube of a aggregation Groups(40 Dimensions, Max Dimension Combination:5) may cause kylin server OOM
* [KYLIN-4017] - Build engine get zk(zookeeper) lock failed when building job, it causes the whole build engine doesn't work.
* [KYLIN-4027] - Kylin-jdbc module has tcp resource leak
* [KYLIN-4037] - Can't Cleanup Data in Hbase's HDFS Storage When Deploy Apache Kylin with Standalone HBase Cluster
* [KYLIN-4039] - ZookeeperDistributedLock may not release lock when unlock operation was interrupted
* [KYLIN-4044] - CuratorScheduler may throw NPE when init service Cache
* [KYLIN-4046] - Refine JDBC Source(source.default=8)
* [KYLIN-4064] - parameter 'engineType' is not working when running integration test
* [KYLIN-4072] - CDH 6.x find-hbase-dependency.sh return with "base-common lib not found"
* [KYLIN-4074] - Exception in thread "Memcached IO over {MemcachedConnection to ..." java.lang.NullPointerException

## v3.0.0-alpha - 2019-04-12
_Tag:_ [kylin-3.0.0-alpha](https://github.com/apache/kylin/tree/kylin-3.0.0-alpha)
This is the alpha release of Kylin's next generation after 2.x, with the new real-time OLAP feature.

__New Feature__

* [KYLIN-3654] - Kylin Real-time Streaming
* [KYLIN-3795] - Submit Spark jobs via Apache Livy
* [KYLIN-3820] - Add a curator-based scheduler

__Improvement__

* [KYLIN-3716] - FastThreadLocal replaces ThreadLocal
* [KYLIN-3744] - Add javadoc and unittest for Kylin New Streaming Solution
* [KYLIN-3759] - Streaming ClassNotFoundExeception when lambda is enable in MR job
* [KYLIN-3786] - Add integration test for real-time streaming
* [KYLIN-3791] - Map return by Maps.transformValues is a immutable view
* [KYLIN-3797] - Too many or filters may break Kylin server when flatting filter
* [KYLIN-3814] - Add pause interval for job retry
* [KYLIN-3821] - Expose real-time streaming data consuming lag info
* [KYLIN-3834] - Add monitor for curator-based scheduler
* [KYLIN-3839] - Storage clean up after refreshing or deleting a segment
* [KYLIN-3864] - Provide a function to judge whether the os type is Mac os x or not
* [KYLIN-3867] - Enable JDBC to use key store & trust store for https connection
* [KYLIN-3901] - Use multi threads to speed up the storage cleanup job
* [KYLIN-3905] - Enable shrunken dictionary default
* [KYLIN-3908] - KylinClient's HttpRequest.releaseConnection is not needed in retrieveMetaData & executeKylinQuery
* [KYLIN-3929] - Check satisfaction before execute cubeplanner algorithm
* [KYLIN-3690] - New streaming backend implementation
* [KYLIN-3691] - New streaming ui implementation
* [KYLIN-3692] - New streaming ui implementation
* [KYLIN-3745] - Real-time segment state changed from active to immutable is not sequently
* [KYLIN-3747] - Use FQDN to register a streaming receiver instead of ip
* [KYLIN-3768] - Save streaming metadata a standard kylin path in zookeeper

__Bug Fix__

* [KYLIN-3787] - NPE throws when dimension value has null when query real-time data
* [KYLIN-3789] - Stream receiver admin page issue fix
* [KYLIN-3800] - Real-time streaming count distinct result wrong
* [KYLIN-3817] - Duration in Cube building is a negative number
* [KYLIN-3818] - After Cube disabled, auto-merge cube job still running
* [KYLIN-3830] - Wrong result when 'SELECT SUM(dim1)' without set a relative metric of dim1.
* [KYLIN-3866] - Whether to set mapreduce.application.classpath is determined by the user
* [KYLIN-3880] - DataType is incompatible in Kylin HBase coprocessor
* [KYLIN-3888] - TableNotDisabledException when running "Convert Lookup Table to HFile"
* [KYLIN-3898] - Cube level properties are ineffective in the some build steps
* [KYLIN-3902] - NoRealizationFoundException due to creating a wrong JoinDesc
* [KYLIN-3909] - Spark cubing job failed for MappeableRunContainer is not registered
* [KYLIN-3911] - Check if HBase table is enabled before diabling table in DeployCoprocessorCLI
* [KYLIN-3916] - Fix cube build action issue after streaming migrate
* [KYLIN-3922] - Fail to update coprocessor when run DeployCoprocessorCLI
* [KYLIN-3923] - UT GeneralColumnDataTest fail

## v2.6.6 - 2020-05-19
_Tag:_ [kylin-2.6.6](https://github.com/apache/kylin/tree/kylin-2.6.6)
This is a bugfix release after 2.6.5, with 6 enhancements and 14 bug fixes.

__Improvement__

* [KYLIN-3628] - Query with lookup table always use latest snapshot
* [KYLIN-4132] - Kylin needn't use "org.apache.directory.api.util.Strings" to import api-util.jar
* [KYLIN-4160] - Auto redirect to host:port/kylin when user only enter host:port in broswer
* [KYLIN-4314] - Support union in intersect_count() function
* [KYLIN-4390] - Update tomcat to 7.0.100
* [KYLIN-4400] - Use beeline as hive client in system-cube.sh

__Bug Fix__

* [KYLIN-4072] - CDH 6.x find-hbase-dependency.sh return with "base-common lib not found"
* [KYLIN-4119] - The admin of project can't operate the action of Hybrids
* [KYLIN-4206] - Build kylin on EMR 5.23. The kylin version is 2.6.4. When building the cube, the hive table cannot be found
* [KYLIN-4245] - SqlConverter returns wrong syntax SQL when SqlParser fails for JDBC source
* [KYLIN-4354] - Prune segment not using given filter when using jdbc preparestatement
* [KYLIN-4370] - Spark job failing with JDBC source on 8th step with error : org.apache.kylin.engine.spark.SparkCubingByLayer. Root cause: Table or view not found: `default`.`kylin_intermediate table'
* [KYLIN-4379] - Calculate column cardinality cannot use kylin config overwrite cause job failed
* [KYLIN-4383] - Kylin Integrated Issue with Amazon EMR and AWS Glue in HiveMetaStoreClientFactory.java
* [KYLIN-4385] - KYLIN system cube failing to update table when run on EMR with S3 as storage and EMRFS
* [KYLIN-4405] - Internal exception when trying to build cube whose modal has null PartitionDesc
* [KYLIN-4426] - Refine CliCommandExecutor
* [KYLIN-4433] - When uhc step is turned on, Build Dimension Dictionary job cannot get correct configuration
* [KYLIN-4438] - Null password may cause RuntimeException when starting up
* [KYLIN-4481] - Project-level ACL lookups not working for non-admin SAML-federated users

## v2.6.5 - 2020-02-20
_Tag:_ [kylin-2.6.5](https://github.com/apache/kylin/tree/kylin-2.6.5)
This is a bugfix release after 2.6.4, with 12 enhancements and 20 bug fixes.

__Improvement__

* [KYLIN-2230] - Can not catch kylin.sh path in linux resouce PATH setting
* [KYLIN-2431] - StorageCleanupJob will remove intermediate tables created by other kylin instances
* [KYLIN-4180] - Prevent abnormal CPU usage by limiting flat filters length
* [KYLIN-4198] - “bin/system-cube.sh cron” will overwrite user's crontab
* [KYLIN-4225] - Unclosed hive session cause too many temp file
* [KYLIN-4226] - Skip current unavailable tables when updating hbase coprocessor
* [KYLIN-4280] - SegmentPruner add the checks for "OR" filtering
* [KYLIN-4283] - FileNotFound error in "Garbage Collection" step should not break cube building.
* [KYLIN-4290] - Add file lock to kylin startup script to avoid starting multiple instances on one node
* [KYLIN-4292] - Use HFileOutputFormat3 in all places to replace HFileOutputFormat2
* [KYLIN-4293] - Backport HBASE-22887 to Kylin HFileOutputFormat3
* [KYLIN-4374] - Fix security issues reported by code analysis platform LGTM

__Bug Fix__

* [KYLIN-1716] - Leave executing query page action stop bug
* [KYLIN-3409] - Write metric error when run a query.
* [KYLIN-3741] - when the sql result is empty and limit is 0 , should not have "load more" bar
* [KYLIN-4080] - Project schema update event causes error reload NEW DataModelDesc
* [KYLIN-4161] - exception in update metrics when the response is null
* [KYLIN-4166] - kylin parse sql error
* [KYLIN-4169] - Too many logs while DataModelManager init, cause the first RESTful API hang for a long time
* [KYLIN-4183] - Clicking 'Submit' button is unresponsive, when the segment is not selected.
* [KYLIN-4195] - The cube size is "NaN KB" after purging one cube.
* [KYLIN-4238] - kylin_streaming_model broke when changing kylin.source.hive.database-for-flat-table to non-default value
* [KYLIN-4244] - ClassNotFoundException while use org.apache.kylin.engine.mr.common.CubeStatsReader in bash
* [KYLIN-4250] - FechRunnner should skip the job to process other jobs instead of throwing exception when the job section metadata is not found
* [KYLIN-4252] - Fix the error "Cannot read property 'index' of null" in visualization page
* [KYLIN-4254] - The result exporting from Insight with CSV format is empty, when sql contains Chinese
* [KYLIN-4262] - pid in GC filename inconsistent with real pid
* [KYLIN-4263] - Inappropriate exception handling causes job stuck on running status
* [KYLIN-4291] - Parallel segment building may causes WriteConflictException
* [KYLIN-4304] - Project list cannot be correctly sorted by "Create Time"
* [KYLIN-4309] - One user's mailbox is not suffixed and other messages cannot be sent
* [KYLIN-4359] - Param Value should be required when creating a cube and adding a new measure

## v2.6.4 - 2019-10-12
_Tag:_ [kylin-2.6.4](https://github.com/apache/kylin/tree/kylin-2.6.4)
This is a bugfix release after 2.6.3, with 10 enhancements and 17 bug fixes.

__Improvement__

* [KYLIN-3628] - Query with lookup table always use latest snapshot
* [KYLIN-3797] - Too many or filters may break Kylin server when flatting filter
* [KYLIN-4013] - Only show the cubes under one model
* [KYLIN-4047] - Use push-down query when division dynamic column cube query is not supported
* [KYLIN-4055] - cube quey and ad-hoc query return different meta info
* [KYLIN-4093] - Slow query pages should be open to all users of the project
* [KYLIN-4099] - Using no blocking RDD unpersist in spark cubing job
* [KYLIN-4121] - Cleanup hive view intermediate tables after job be finished
* [KYLIN-4140] - Add the time filter for current day jobs and make default values for web configurable

__Bug Fix__

* [KYLIN-1856] - Kylin shows old error in job step output after resume - specifically in #4 Step Name: Build Dimension Dictionary
* [KYLIN-4034] - The table should not display in Insight page when the user has no access to the table
* [KYLIN-4037] - Can't Cleanup Data in Hbase's HDFS Storage When Deploy Apache Kylin with Standalone HBase Cluster
* [KYLIN-4046] - Refine JDBC Source(source.default=8)
* [KYLIN-4057] - autoMerge job can not stop
* [KYLIN-4066] - No planner for not ROLE_ADMIN user on WebSite
* [KYLIN-4074] - Exception in thread "Memcached IO over {MemcachedConnection to ..." java.lang.NullPointerException
* [KYLIN-4103] - Make the user string in granting operation of project is case insensitive
* [KYLIN-4106] - Illegal partition for SelfDefineSortableKey when “Extract Fact Table Distinct Columns”
* [KYLIN-4111] - drop table failed with no valid privileges after KYLIN-3857
* [KYLIN-4115] - Always load KafkaConsumerProperties
* [KYLIN-4131] - Broadcaster memory leak
* [KYLIN-4152] - Should Disable Before Deleting HBase Table using HBaseAdmin
* [KYLIN-4153] - Failed to read big resource  /dict/xxxx at "Build Dimension Dictionary" Step
* [KYLIN-4157] - When using PrepareStatement query, functions within WHERE will cause InternalErrorException
* [KYLIN-4158] - Query failed for GroupBy an expression of column with limit in SQL
* [KYLIN-4159] - The first step of build cube job will fail and throw "Column 'xx' in where clause is ambiguous" in jdbc datasource.

## v2.6.3 - 2019-07-06
_Tag:_ [kylin-2.6.3](https://github.com/apache/kylin/tree/kylin-2.6.3)
This is a bugfix release after 2.6.2, with 7 enhancements and 9 bug fixes.

__Improvement__

* [KYLIN-4024] - Support pushdown to Presto
* [KYLIN-3977] - Avoid mistaken deleting dicts by storage cleanup while building jobs are running
* [KYLIN-4023] - Convert to local time for column with timestamp or date type of queries by Jdbc
* [KYLIN-3893] - Cube build failed for wrong row key column description
* [KYLIN-4020] - Add  check for the input of fix_length rowkey encoding
* [KYLIN-3998] - Make "bpus-min-benefit-ratio" configurable in cube planner phase 1
* [KYLIN-4025] - Add detail exception in kylin http response

__Bug Fix__

* [KYLIN-4015] - Fix build cube error at the "Build UHC Dictionary" step
* [KYLIN-4022] - Error with message "Unrecognized column type: DECIMAL(xx,xx)" happens when do query pushdown
* [KYLIN-3994] - Storage cleanup job may delete data of newly built segment because of cube cache in CubeManager
* [KYLIN-2620] - Result of sum measure may by replaced by the TopN measure with the same column during query
* [KYLIN-4041] - Concat function with null value does not work correctly
* [KYLIN-3978] - InternalErrorException happens for queries with precise count distinct measures
* [KYLIN-3845] - Streaming cube build error if the Kafka data source lacks selected dimensions or metrics
* [KYLIN-3980] - Cube planner cuboid id error there are too many dimensions
* [KYLIN-4049] - Storage should be cleaned after cube refreshing with config kylin.storage.clean-after-delete-operation set to true

## v2.6.2 - 2019-05-19
_Tag:_ [kylin-2.6.2](https://github.com/apache/kylin/tree/kylin-2.6.2)
This is a bugfix release after 2.6.1, with 9 enhancements and 27 bug fixes.

__Improvement__

* [KYLIN-3905] - Enable shrunken dictionary default
* [KYLIN-3571] - Do not package Spark in Kylin's binary package
* [KYLIN-3866] - Add config to determine whether use local classpath for mapreduce's classpath
* [KYLIN-3839] - Storage clean up after refreshing or deleting a segment
* [KYLIN-3885] - Build dimension dictionary with spark costs too much time
* [KYLIN-3873] - Fix inappropriate use of memory in SparkFactDistinct.java
* [KYLIN-3892] - Enable set job's building priority
* [KYLIN-3857] - Add parameter to change sql quoting character for sqoop
* [KYLIN-3987] - Give more reducer for ultra high cardinality columns in fact distinct job

__Bug Fix__

* [KYLIN-3835] - Source table reloading does not check table's reference by models
* [KYLIN-2620] - Result of sum(measure) may not be accurate if there exists a topn measure for the same column
* [KYLIN-3838] - Retry mechanism is invalid when build cube with spark
* [KYLIN-3808] - Some time fields in response of rest api for listing jobs are always 0
* [KYLIN-3818] - After Cube disabled, auto-merge cube job still running
* [KYLIN-3830] - Wrong result for query 'SELECT SUM(dim1)' without setting a relative measure of dim1
* [KYLIN-3817] - Duration in Cube building is a negative number
* [KYLIN-3874] - Building step "Convert Cuboid Data to HFile" failed when HBase and MR use different HDFS clusters
* [KYLIN-3880] - DataType is incompatible in Kylin HBase coprocessor
* [KYLIN-3888] - TableNotDisabledException when run step "Convert Lookup Table to HFile"
* [KYLIN-3884] - Loading hfile to HBase failed for temporary dir in output path
* [KYLIN-3474] - Tableau 10.5 gets malformed token after connected with Kylin
* [KYLIN-3895] - Failed to register new MBean when "kylin.server.query-metrics-enabled" set true
* [KYLIN-3909] - Spark cubing job failed for MappeableRunContainer is not registered
* [KYLIN-3898] - Cube level properties are ineffective in the some build steps
* [KYLIN-3911] - Check if HBase table is enabled before disabling tables when update coprocessor
* [KYLIN-3922] - Fail to update coprocessor when run DeployCoprocessorCLI
* [KYLIN-3938] - Can't delete job with type "OPTIMIZE CHECKPOINT"
* [KYLIN-3950] - Cube planner optimize job only use inmem algorithm
* [KYLIN-3788] - Incorrect time zone conversion in parsing Kafka Streaming Data
* [KYLIN-3957] - Query system cube get exception "cannot cast java.math.BigDecimal to java.lang.Double"
* [KYLIN-3943] - Fix hardcode in system-cube.sh
* [KYLIN-3936] - MR/Spark task will still run after the job is stopped
* [KYLIN-3968] - Customized precision of sum measure doesn't work on web
* [KYLIN-3965] - SQLException with message "No suitable driver found for jdbc:kylin://" when try to connect Kylin with JDBC
* [KYLIN-3926] - Set source record count for cubes with topn and count distinct measures when updating statistics
* [KYLIN-3934] - Sqoop import param '--null-string' result in null value become blank string in hive table

## v2.6.1 - 2019-03-08
_Tag:_ [kylin-2.6.1](https://github.com/apache/kylin/tree/kylin-2.6.1)
This is a bugfix release after 2.6.0, with 7 enhancements and 19 bug fixes.

__Improvement__

* [KYLIN-3780] - Add built instance in Job info and email notification
* [KYLIN-3794] - mergeToInClause in TupleFilterVisitor cannot work properly in some edge cases
* [KYLIN-3804] - Advanced Snapshot Table save not friendly
* [KYLIN-3816] - Current CI doesn't cover the case of streaming table join lookup table
* [KYLIN-3819] - kylin.sh run in the foreground
* [KYLIN-3822] - "bin/kylin.sh org.apache.kylin.storage.hbase.util.DeployCoprocessorCLI [file_path] [nOfThread] all" can not run successfully
* [KYLIN-3826] - MergeCuboidJob only uploads necessary segment's dictionary

__Bug Fix__

* [KYLIN-3494] - Build cube with spark reports ArrayIndexOutOfBoundsException
* [KYLIN-3537] - Use Spark to build Cube on Yarn faild at Setp8 on HDP3.0
* [KYLIN-3703] - Get negative value when sum on an integer column
* [KYLIN-3714] - com.esotericsoftware.kryo.KryoException: java.lang.IllegalArgumentException: Class is not registered: scala.reflect.ManifestFactory$$anon$2
* [KYLIN-3727] - Can not build empty segment, HadoopShellException
* [KYLIN-3770] - ZipFileUtils is not compatible CubeMetaIngester
* [KYLIN-3772] - CubeMetaIngester works abnormally
* [KYLIN-3773] - Using Mysql instead of Hive as Data Source fails with LinkageError
* [KYLIN-3776] - Float type in MySQL not properly converted to HIVE Double Type
* [KYLIN-3778] - Invalid data source for each project at project level
* [KYLIN-3782] - ZookeeperDistributedLock can't acquir lock on windows because wrong Path
* [KYLIN-3790] - Wrong error code when command executor is interrupted
* [KYLIN-3793] - org.apache.kylin.source.kafka.util.KafkaSampleProducer exit after generating 1 message
* [KYLIN-3798] - SQL Server cannot list databases
* [KYLIN-3799] - Wrong hive-exec jar may be found by find-hive-dependency.sh on CDH
* [KYLIN-3801] - find-hive-dependency.sh fail to grep env:CLASSPATH from beeline output
* [KYLIN-3815] - Unexpected behavior when joinning streaming table and hive table
* [KYLIN-3828] - ArrayIndexOutOfBoundsException thrown when build a streaming cube with empty data in its first dimension
* [KYLIN-3833] - Potential OOM in Spark Extract Fact Table Distinct Columns step
* [KYLIN-3836] - Kylin StringUtil.join() may cause NPE if iterator is empty


## v2.6.0 - 2019-01-12
_Tag:_ [kylin-2.6.0](https://github.com/apache/kylin/tree/kylin-2.6.0)
This is a major release after 2.5, with more than 90 bug fixes and enhancements.

__New Feature__

* [KYLIN-3552] - Data Source SDK to ingest data from different JDBC sources

__Improvement__

* [KYLIN-1111] - Ignore unsupported hive column types when sync hive table
* [KYLIN-2861] - For dictionary building of lookup table columns, reduce the table scan chance
* [KYLIN-2895] - Refine query cache
* [KYLIN-2932] - Simplify the thread model for in-memory cubing
* [KYLIN-2972] - CacheKey from SQLRequest should ignore the case of project name
* [KYLIN-3005] - getAllDictColumnsOnFact in CubeManager may include fact table's foreign key
* [KYLIN-3021] - Check MapReduce job failed reason and include the diagnostics into email notification
* [KYLIN-3272] - Upgrade Spark dependency to 2.3.2
* [KYLIN-3326] - Better way to update migration target cluster's metadata after cube migration
* [KYLIN-3430] - Global Dictionary Cleanup
* [KYLIN-3445] - Upgrade checkstyle version to 8.6
* [KYLIN-3496] - Make calcite extras props available in JDBC Driver
* [KYLIN-3497] - Make JDBC Module more testable
* [KYLIN-3499] - Double check timestamp in HBase when got "RetriesExhaustedException"
* [KYLIN-3540] - Improve Mandatory Cuboid Recommendation Algorithm
* [KYLIN-3544] - Refine guava cache for the recommended cuboids of cube planner
* [KYLIN-3570] - Scripts to automatically build system cube
* [KYLIN-3592] - Synchronized should be placed after static in declaration
* [KYLIN-3597] - Fix sonar reported static code issues phase 1
* [KYLIN-3600] - Utility classes should not have public constructors
* [KYLIN-3602] - Enable more checkstyle rules
* [KYLIN-3611] - Upgrade Tomcat to 7.0.91, 8.5.34 or later
* [KYLIN-3617] - Reduce number of visiting metastore for job scheduler
* [KYLIN-3628] - Query with lookup table always use latest snapshot
* [KYLIN-3630] - Remove unused fields in the implementations of MeasureType
* [KYLIN-3631] - Utilize Arrays#parallelSort for better performance
* [KYLIN-3640] - Cube with desc broken should be able to delete
* [KYLIN-3655] - Reinitialize CubeInstance when clear segments
* [KYLIN-3656] - Improve HLLCounter performance
* [KYLIN-3670] - Misspelled constant DEFAUL_JOB_CONF_SUFFIX
* [KYLIN-3671] - Improve ResourceTool and JDBCResourceStore's performance
* [KYLIN-3700] - Quote sql identities when creating flat table
* [KYLIN-3707] - Add configuration for setting isolation-level for sqoop
* [KYLIN-3720] - Add column family check when save/update cube desc
* [KYLIN-3729] - CLUSTER BY CAST(field AS STRING) will accelerate base cuboid build with UHC global dict
* [KYLIN-3737] - Refactor cache part for RDBMS
* [KYLIN-3749] - Add configuration to override xml for RDBMS

__Bug Fix__

* [KYLIN-1819] - Exception swallowed when start DefaultScheduler fail
* [KYLIN-2841] - LIMIT pushdown should be applied to subquery
* [KYLIN-2973] - Potential issue of not atomically update cube instance map
* [KYLIN-3291] - 在构建好的cube上提交逻辑相同的sql查询结果不同
* [KYLIN-3406] - When the /execute_output/ metadata file sinking to HDFS is deleted, the monitoring page does not display any tasks.
* [KYLIN-3416] - Kylin bitmap null pointer exception when "group by" is an expression
* [KYLIN-3439] - configuration "kylin.web.timezone" is Inconsistent between kylin-defaults.properties and KylinConfigBase.java
* [KYLIN-3515] - Cubing jobs may interfere with each other if use same hive view
* [KYLIN-3574] - Unclosed lookup table in DictionaryGeneratorCLI#processSegment
* [KYLIN-3575] - Unclosed Connection in DriverTest
* [KYLIN-3576] - IllegalArgumentException: No enum constant org.apache.kylin.rest.service.JobService.JobSearchMode.
* [KYLIN-3578] - Do not synchronize on the intrinsic locks of high-level concurrency objects
* [KYLIN-3579] - entrySet iterator should be used in BPUSCalculator
* [KYLIN-3580] - CuboidStatsUtil#complementRowCountForMandatoryCuboids uses entrySet to add elements
* [KYLIN-3581] - compareTo method should be paired with equals method
* [KYLIN-3586] - Boxing/unboxing to parse a primitive is suboptimal
* [KYLIN-3588] - Potentially duplicate put to RemoveBlackoutRealizationsRule#filters map
* [KYLIN-3589] - Different type is used to check presence in Collection in AclPermissionUtil
* [KYLIN-3590] - Missing argument to exception message String in ModelController
* [KYLIN-3594] - Select with Catalog fails
* [KYLIN-3603] - HBase connection isn't closed in UpdateHTableHostCLI
* [KYLIN-3607] - can't build cube with spark in v2.5.0
* [KYLIN-3619] - Some job won't clean up temp directory after finished
* [KYLIN-3620] - "--" should not be a comment marker use between single quotes in SQL
* [KYLIN-3643] - Derived column from windowSpec not working in where
* [KYLIN-3653] - After kylin configured with hive data source with beeline, build failed if two jobs for creating flat table submitted at same time
* [KYLIN-3662] - exception message "Cannot find project '%s'." should be formated
* [KYLIN-3663] - Failed to delete project when project has more than one table
* [KYLIN-3665] - Partition time column may never be added
* [KYLIN-3680] - Spark cubing failed with JDBC resource
* [KYLIN-3684] - [Script] find-hive-dependency.sh HIVE_LIB is not set or not resolved correctly
* [KYLIN-3695] - Error while creating hive table through Kylin build cube with mysql imported tables
* [KYLIN-3697] - check port availability when starts kylin instance
* [KYLIN-3699] - SparkCubingByLayer. Root cause: null
* [KYLIN-3710] - JDBC data source not support Spark cubing
* [KYLIN-3715] - ProjectL2Cache don't be invalidated when adding override config in cube level
* [KYLIN-3718] - Segments in volatile range is more than designated value
* [KYLIN-3721] - Failed to get source table when write the wrong password at the first time
* [KYLIN-3722] - Error Limit Push Down in Join Related Query
* [KYLIN-3724] - Kylin IT test sql is unreasonable
* [KYLIN-3731] - java.lang.IllegalArgumentException: Unsupported data type array<string> at
* [KYLIN-3734] - UT Failed:Invalid path string "/kylin/../examples/test_metadata/job_engine/global_job_engine_lock"
* [KYLIN-3740] - system_cube构建出现bug
* [KYLIN-3748] - No realization found exception thrown when a ready cube is building
* [KYLIN-3752] - NullPointerException in the first cubing step：org.apache.kylin.source.hive.CreateFlatHiveTableStep.getCubeSpecificConfig(CreateFlatHiveTableStep.java:92)

__Task__

* [KYLIN-3232] - Need document for ops tools
* [KYLIN-3290] - Avoid calling Class#newInstance
* [KYLIN-3559] - Use Splitter for splitting String
* [KYLIN-3560] - Should not depend on personal repository
* [KYLIN-3642] - Exclude conflict jar

__Sub-task__

* [KYLIN-2894] - Change the query cache expiration strategy by signature checking
* [KYLIN-2896] - Refine query exception cache
* [KYLIN-2897] - Improve the query execution for a set of duplicate queries in a short period
* [KYLIN-2898] - Introduce memcached as a distributed cache for queries
* [KYLIN-2899] - Introduce segment level query cache

__Test__

* [KYLIN-3365] - Add unit test for the coprocessor code, CubeVisitService

## v2.5.2 - 2018-12-04
_Tag:_ [kylin-2.5.2](https://github.com/apache/kylin/tree/kylin-2.5.2)
This is a bugfix release after 2.5.1, with 12 bug fixes and enhancement. 

__Improvement__

* [KYLIN-3669] - Add log to GTStreamAggregateScanner
* [KYLIN-3676] - Update to custom calcite and remove the "atopcalcite" module
* [KYLIN-3704] - Upgrade the calcite version to 1.16

__Bug fix__

* [KYLIN-3187] - JDK APIs using the default locale, time zone or character set should be avoided
* [KYLIN-3636] - Wrong "storage_type" in CubeDesc causing cube building error
* [KYLIN-3666] - Mege cube step 2: Update dictionary throws IllegalStateException
* [KYLIN-3672] - Performance is poor when multiple queries occur in short period
* [KYLIN-3678] - CacheStateChecker may remove a cache file that under building
* [KYLIN-3683] - package org.apache.commons.lang3 not exists
* [KYLIN-3689] - When the startTime is equal to the endTime in build request, the segment will build all data.
* [KYLIN-3693] - TopN, Count distinct incorrect in Spark engine
* [KYLIN-3705] - Segment Pruner mis-functions when the source data has Chinese characters

## v2.5.1 - 2018-11-06
_Tag:_ [kylin-2.5.1](https://github.com/apache/kylin/tree/kylin-2.5.1)
This is a bugfix release after 2.5.0, with 30 bug fixes and enhancement. Check [How to upgrade](/docs/howto/howto_upgrade.html).

__Improvement__

* [KYLIN-3520] - Deal with NULL values of measures for inmem cubing
* [KYLIN-3526] - No check for hybrid name with special character
* [KYLIN-3528] - No details page for hybrid
* [KYLIN-3599] - Bulk Add Measures
* [KYLIN-3611] - Upgrade Tomcat to 7.0.91, 8.5.34 or later
* [KYLIN-3632] - Add configuration that can switch on/off preparedStatement cache in Kylin server
* [KYLIN-3646] - Add instruction about rowkey sequence in "Advanced setting" page

__Bug fix__

* [KYLIN-2200] - CompileException on UNION ALL query when result only contains one column
* [KYLIN-3439] - configuration "kylin.web.timezone" is Inconsistent between kylin-defaults.properties and KylinConfigBase.java
* [KYLIN-3527] - Hybrid couldn't save when there is only 1 cube
* [KYLIN-3531] - Login failed with case-insensitive username
* [KYLIN-3543] - Unclosed Job instance in CreateHTableJob#exportHBaseConfiguration
* [KYLIN-3546] - Kylin doesn't persist FK to intermediate table if FK is not a dimension
* [KYLIN-3556] - Interned string should not be used as lock object
* [KYLIN-3562] - TS conflict when kylin update metadata in HBase
* [KYLIN-3565] - User login error message is inaccurate
* [KYLIN-3567] - Change scala dependency to provided
* [KYLIN-3582] - String comparison should not use == in RecordEvent
* [KYLIN-3595] - Beeline does not retrieve CLASSPATH and hangs
* [KYLIN-3604] - Can't build cube with spark in HBase standalone mode
* [KYLIN-3613] - Kylin with Standalone HBase Cluster (enabled kerberos) could not find the main cluster namespace at "Create HTable" step
* [KYLIN-3629] - NullPointException throws when use preparedStatement cache in some case
* [KYLIN-3633] - Dead lock may happen in building global dictionary
* [KYLIN-3634] - When filter column has null value may cause incorrect query result
* [KYLIN-3635] - Percentile calculation on Spark engine is wrong
* [KYLIN-3644] - NumberFormatExcetion on null values when building cube with Spark
* [KYLIN-3645] - Kylin does not clean table metadata when drop project(Kafka Source)
* [KYLIN-3647] - Fix inconsistent states of job and its sub-task
* [KYLIN-3649] - segment region count and size are not correct when using mysql as Kylin metadata storage
* [KYLIN-3651] - JDBCResourceStore doesn't list all resources

## v2.5.0 - 2018-09-16
_Tag:_ [kylin-2.5.0](https://github.com/apache/kylin/tree/kylin-2.5.0)
This is a major release after 2.4, with 96 bug fixes and enhancement. Check [How to upgrade](/docs/howto/howto_upgrade.html).

__New Feature__

* [KYLIN-2565] - Support Hadoop 3.0
* [KYLIN-3488] - Support MySQL as Kylin metadata storage
* [KYLIN-3366] - Configure automatic enabling of cubes after a build process

__Improvement__

* [KYLIN-2998] - Kill spark app when cube job was discarded
* [KYLIN-3033] - Support HBase 2.0
* [KYLIN-3071] - Add config to reuse dict to reduce dict size
* [KYLIN-3094] - Upgrade zookeeper to 3.4.12
* [KYLIN-3146] - Response code and exception should be standardised for cube checking
* [KYLIN-3186] - Add support for partitioning columns that combine date and time (e.g. YYYYMMDDHHMISS)
* [KYLIN-3250] - Upgrade jetty version to 9.3.22
* [KYLIN-3259] - When a cube is deleted, remove it from the hybrid cube definition
* [KYLIN-3321] - Set MALLOC_ARENA_MAX in script
* [KYLIN-3355] - Improve the HTTP return code of Rest API
* [KYLIN-3370] - Enhance segment pruning
* [KYLIN-3384] - Allow setting REPLICATION_SCOPE on newly created tables
* [KYLIN-3414] - Optimize the cleanup of project L2 cache
* [KYLIN-3418] - User interface for hybrid model
* [KYLIN-3419] - Upgrade to Java 8
* [KYLIN-3421] - Improve job scheduler fetch performance
* [KYLIN-3423] - Performance improvement in FactDistinctColumnsMapper
* [KYLIN-3424] - Missing invoke addCubingGarbageCollectionSteps in the cleanup step for HBaseMROutput2Transition
* [KYLIN-3427] - Convert to HFile in Spark
* [KYLIN-3434] - Support prepare statement in Kylin server side
* [KYLIN-3441] - Merge cube segments in Spark
* [KYLIN-3442] - Fact distinct columns in Spark
* [KYLIN-3449] - Should allow deleting a segment in NEW status
* [KYLIN-3452] - Optimize spark cubing memory footprint
* [KYLIN-3453] - Improve cube size estimation for TOPN, COUNT DISTINCT
* [KYLIN-3454] - Fix potential thread-safe problem in ResourceTool
* [KYLIN-3457] - Distribute by multiple columns if not set shard-by column
* [KYLIN-3463] - Improve optimize job by avoiding creating empty output files on HDFS
* [KYLIN-3464] - Less user confirmation
* [KYLIN-3470] - Add cache for execute and execute_output to speed up list job api
* [KYLIN-3471] - Merge dictionary and statistics on Yarn
* [KYLIN-3472] - TopN merge in Spark engine performance tunning
* [KYLIN-3475] - Make calcite case handling and quoting method more configurable.
* [KYLIN-3478] - Enhance backwards compatibility
* [KYLIN-3479] - Model can save when kafka partition date column not select
* [KYLIN-3480] - Change the conformance of calcite from default to lenient
* [KYLIN-3481] - Kylin Jdbc: Shaded dependencies should not be transitive
* [KYLIN-3485] - Make unloading table more flexible
* [KYLIN-3489] - Improve the efficiency of enumerating dictionary values
* [KYLIN-3490] - For single column queries, only dictionaries are enough
* [KYLIN-3491] - Improve the cube building process when using global dictionary
* [KYLIN-3503] - Missing java.util.logging.config.file when starting kylin instance
* [KYLIN-3507] - Query NPE when project is not found
* [KYLIN-3509] - Allocate more memory for "Merge dictionary on yarn" step
* [KYLIN-3510] - Correct sqoopHome at 'createSqoopToFlatHiveStep'
* [KYLIN-3521] - Enable Cube Planner by default
* [KYLIN-3539] - Hybrid segment overlap not cover some case
* [KYLIN-3317] - Replace UUID.randomUUID with deterministic PRNG
* [KYLIN-3436] - Refactor code related to loading hive/stream table

__Bug fix__

* [KYLIN-2522] - Compilation fails with Java 8 when upgrading to hbase 1.2.5
* [KYLIN-2662] - NegativeArraySizeException in "Extract Fact Table Distinct Columns"
* [KYLIN-2933] - Fix compilation against the Kafka 1.0.0 release
* [KYLIN-3025] - kylin odbc error : {fn CONVERT} for bigint type in tableau 10.4
* [KYLIN-3255] - Cannot save cube
* [KYLIN-3258] - No check for duplicate cube name when creating a hybrid cube
* [KYLIN-3379] - timestampadd bug fix and add test
* [KYLIN-3382] - YARN job link wasn't displayed when job is running
* [KYLIN-3385] - Error when have sum(1) measure
* [KYLIN-3390] - QueryInterceptorUtil.queryInterceptors is not thread safe
* [KYLIN-3391] - BadQueryDetector only detect first query
* [KYLIN-3399] - Leaked lookup table in DictionaryGeneratorCLI#processSegment
* [KYLIN-3403] - Querying sample cube with filter "KYLIN_CAL_DT.WEEK_BEG_DT >= CAST('2001-09-09' AS DATE)" returns unexpected empty result set
* [KYLIN-3428] - java.lang.OutOfMemoryError: Requested array size exceeds VM limit
* [KYLIN-3438] - mapreduce.job.queuename does not work at 'Convert Cuboid Data to HFile' Step
* [KYLIN-3446] - Convert to HFile in spark reports ZK connection refused
* [KYLIN-3451] - Cloned cube doesn't have Mandatory Cuboids copied
* [KYLIN-3456] - Cube level's snapshot config does not work
* [KYLIN-3458] - Enabling config kylin.job.retry will cause log info incomplete
* [KYLIN-3461] - "metastore.sh refresh-cube-signature" not updating cube signature as expected
* [KYLIN-3462] - "dfs.replication=2" and compression not work in Spark cube engine
* [KYLIN-3476] - Fix TupleExpression verification when parsing sql
* [KYLIN-3477] - Spark job size not available when deployMode is cluster
* [KYLIN-3482] - Unclosed SetAndUnsetThreadLocalConfig in SparkCubingByLayer
* [KYLIN-3483] - Imprecise comparison between double and integer division
* [KYLIN-3492] - Wrong constant value in KylinConfigBase.getDefaultVarcharPrecision
* [KYLIN-3500] - kylin 2.4 use jdbc datasource :Unknown column 'A.A.CRT_DATE' in 'where clause'
* [KYLIN-3505] - DataType.getType wrong usage of cache
* [KYLIN-3516] - Job status not updated after job discarded
* [KYLIN-3517] - Couldn't update coprocessor on HBase 2.0
* [KYLIN-3518] - Coprocessor reports NPE when execute a query on HBase 2.0
* [KYLIN-3522] - PrepareStatement cache issue
* [KYLIN-3525] - kylin.source.hive.keep-flat-table=true will delete data
* [KYLIN-3529] - Prompt not friendly
* [KYLIN-3533] - Can not save hybrid
* [KYLIN-3534] - Failed at update cube info step
* [KYLIN-3535] - "kylin-port-replace-util.sh" changed port but not uncomment it
* [KYLIN-3536] - PrepareStatement cache issue when there are new segments built
* [KYLIN-3538] - Automatic cube enabled functionality is not merged into 2.4.0
* [KYLIN-3547] - DimensionRangeInfo: Unsupported data type boolean
* [KYLIN-3550] - "kylin.source.hive.flat-table-field-delimiter" has extra "\"
* [KYLIN-3551] - Spark job failed with "FileNotFoundException"
* [KYLIN-3553] - Upgrade Tomcat to 7.0.90.
* [KYLIN-3554] - Spark job failed but Yarn shows SUCCEED, causing Kylin move to next step
* [KYLIN-3557] - PreparedStatement should be closed in JDBCResourceDAO#checkTableExists

## v2.4.1 - 2018-09-09
_Tag:_ [kylin-2.4.1](https://github.com/apache/kylin/tree/kylin-2.4.1)
This is a bug fix release after 2.4.0, with 22 bug fixes and enhancement. Check [How to upgrade](/docs/howto/howto_upgrade.html).

__Improvement__

* [KYLIN-3421] - Improve job scheduler fetch performance
* [KYLIN-3424] - Missing invoke addCubingGarbageCollectionSteps in the cleanup step for HBaseMROutput2Transition
* [KYLIN-3422] - Support multi-path of domain for kylin connection
* [KYLIN-3463] - Improve optimize job by avoiding creating empty output files on HDFS
* [KYLIN-3503] - Missing java.util.logging.config.file when starting kylin instance
* [KYLIN-3507] - Query NPE when project is not found

__Bug fix__

* [KYLIN-2662] - NegativeArraySizeException in "Extract Fact Table Distinct Columns
* [KYLIN-3025] - kylin odbc error : {fn CONVERT} for bigint type in tableau 10.4
* [KYLIN-3255] - Cannot save cube
* [KYLIN-3347] - QueryService Exception when using calcite function ex : {fn CURRENT_TIMESTAMP(0)}
* [KYLIN-3391] - BadQueryDetector only detect first query
* [KYLIN-3403] - Querying sample cube with filter "KYLIN_CAL_DT.WEEK_BEG_DT >= CAST('2001-09-09' AS DATE)" returns unexpected empty result set
* [KYLIN-3428] - java.lang.OutOfMemoryError: Requested array size exceeds VM limit
* [KYLIN-3438] - mapreduce.job.queuename does not work at 'Convert Cuboid Data to HFile' Step
* [KYLIN-3451] - Cloned cube doesn't have Mandatory Cuboids copied
* [KYLIN-3456] - Cube level's snapshot config does not work
* [KYLIN-3460] - {fn CURRENT_DATE()} parse error
* [KYLIN-3461] - "metastore.sh refresh-cube-signature" not updating cube signature as expected
* [KYLIN-3476] - Fix TupleExpression verification when parsing sql
* [KYLIN-3492] - Wrong constant value in KylinConfigBase.getDefaultVarcharPrecision
* [KYLIN-3500] - kylin 2.4 use jdbc datasource :Unknown column 'A.A.CRT_DATE' in 'where clause'
* [KYLIN-3505] - DataType.getType wrong usage of cache


## v2.4.0 - 2018-06-23
_Tag:_ [kylin-2.4.0](https://github.com/apache/kylin/tree/kylin-2.4.0)
This is a major release after 2.3.x, with 8 new features and more than 30 bug fixes bug fixes and enhancement. Check [How to upgrade](/docs/howto/howto_upgrade.html).

__New Feature__

* [KYLIN-2484] - Spark engine to support source from Kafka
* [KYLIN-3221] - Allow externalizing lookup table snapshot
* [KYLIN-3283] - Support values RelNode
* [KYLIN-3315] - Allow each project to set its own source at project level
* [KYLIN-3343] - Support JDBC source on UI
* [KYLIN-3358] - Support sum(case when...), sum(2*price+1), count(column) and more
* [KYLIN-3378] - Support Kafka table join with Hive tables

__Improvement__

* [KYLIN-3137] - Spark cubing without hive-site.xml
* [KYLIN-3174] - Default scheduler enhancement
* [KYLIN-3220] - Add manager for project ACL.
* [KYLIN-3234] - ResourceStore should add a API that can recursively list path.
* [KYLIN-3246] - Add manager for user.
* [KYLIN-3248] - Add batch grant API for project ACL.
* [KYLIN-3251] - Add a hook that can customer made test_case_data
* [KYLIN-3266] - Improve CI coverage
* [KYLIN-3267] - add override MR config at project/cube level only for mem-hungry build steps 
* [KYLIN-3271] - Optimize sub-path check of ResourceTool
* [KYLIN-3275] - Add unit test for StorageCleanupJob
* [KYLIN-3279] - Util Class for encryption and decryption
* [KYLIN-3284] - Refactor all OLAPRel computeSelfCost
* [KYLIN-3289] - Refactor the storage garbage clean up code
* [KYLIN-3294] - Remove HBaseMROutput.java, RangeKeyDistributionJob.java and other sunset classes
* [KYLIN-3314] - Refactor code for cube planner algorithm
* [KYLIN-3320] - CubeStatsReader cannot print stats properly for some cube 
* [KYLIN-3328] - Upgrade the metadata of sample cube to latest
* [KYLIN-3331] - Kylin start script hangs during retrieving hive dependencys
* [KYLIN-3345] - Use Apache Parent POM 19
* [KYLIN-3354] - KeywordDefaultDirtyHack cannot handle double-quoted defaultCatalog identifier
* [KYLIN-3369] - Reduce the data size sink from Kafka topic to HDFS
* [KYLIN-3380] - Allow to configure sqoop for jdbc source with a kylin_sqoop_conf.xml like hive
* [KYLIN-3386] - TopN measure validate code refactor to make it more clear

__Bug fix__

* [KYLIN-1768] - NDCuboidMapper throws ArrayIndexOutOfBoundsException when dimension is fixed length encoded to more than 256 bytes
* [KYLIN-1948] - IntegerDimEnc, does not encode -1 correctly
* [KYLIN-3115] - Incompatible RowKeySplitter initialize between build and merge job
* [KYLIN-3122] - Partition elimination algorithm seems to be inefficient and have serious issues with handling date/time ranges, can lead to very slow queries and OOM/Java heap dump conditions
* [KYLIN-3149] - Calcite's ReduceExpressionsRule.PROJECT_INSTANCE not working as expected
* [KYLIN-3168] - CubeHFileJob should use currentHBaseConfiguration but not new create hbase configuration
* [KYLIN-3257] - Useless call in FuzzyValueCombination
* [KYLIN-3277] - Override hiveconf settings when connecting to hive using jdbc
* [KYLIN-3281] - OLAPProjectRule can't normal working with  projectRel[input=sortRel]
* [KYLIN-3292] - The setting config dialog will cause NPE in Kylin server
* [KYLIN-3293] - FixedLenHexDimEnc return a wrong code length leads to cut bytes error.
* [KYLIN-3295] - Unused method SQLDigestUtil#appendTsFilterToExecute
* [KYLIN-3296] - When merge cube，get java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method)
* [KYLIN-3311] - Segments overlap error (refactor write conflict exception)
* [KYLIN-3324] - NegativeArraySizeException in CreateDictionaryJob$2.getDictionary()
* [KYLIN-3336] - java.lang.NoSuchMethodException: org.apache.kylin.tool.HBaseUsageExtractor.execute([Ljava.lang.String;)
* [KYLIN-3348] - "missing LastBuildJobID" error when building new cube segment
* [KYLIN-3352] - Segment pruning bug, e.g. date_col > "max_date+1"
* [KYLIN-3363] - Wrong partition condition appended in JDBC Source
* [KYLIN-3367] - Add the compatibility for new version of hbase
* [KYLIN-3368] - "/kylin/kylin_metadata/metadata/" has many garbage for spark cubing
* [KYLIN-3388] - Data may become not correct if mappers fail during the redistribute step, "distribute by rand()"
* [KYLIN-3396] - NPE throws when materialize lookup table to HBase
* [KYLIN-3398] - Inaccurate arithmetic operation in LookupTableToHFileJob#calculateShardNum
* [KYLIN-3400] - WipeCache and createCubeDesc causes deadlock
* [KYLIN-3401] - The current using zip compress tool has an arbitrary file write vulnerability
* [KYLIN-3404] - Last optimized time detail was not showing after cube optimization

__Task__

* [KYLIN-3327] - Upgrade surefire version to 2.21.0
* [KYLIN-3372] - Upgrade jackson-databind version due to security concerns
* [KYLIN-3415] - Remove "external" module

__Sub-task__

* [KYLIN-3359] - Support sum(expression) if possible
* [KYLIN-3362] - Support dynamic dimension push down
* [KYLIN-3364] - Make the behavior of BigDecimalSumAggregator consistent with hive
* [KYLIN-3373] - Some improvements for lookup table - UI part change
* [KYLIN-3374] - Some improvements for lookup table - metadata change
* [KYLIN-3375] - Some improvements for lookup table - build change
* [KYLIN-3376] - Some improvements for lookup table - query change
* [KYLIN-3377] - Some improvements for lookup table - snapshot management

## v2.3.2 - 2018-07-08
_Tag:_ [kylin-2.3.2](https://github.com/apache/kylin/tree/kylin-2.3.2)
This is a bug fix release after 2.3.1, with 12 bug fixes and enhancement. Check [How to upgrade](/docs23/howto/howto_upgrade.html).

__Improvement__

* [KYLIN-3345] - Use Apache Parent POM 19
* [KYLIN-3372] - Upgrade jackson-databind version due to security concerns
* [KYLIN-3415] - Remove "external" module

__Bug fix__

* [KYLIN-3115] - Incompatible RowKeySplitter initialize between build and merge job
* [KYLIN-3336] - java.lang.NoSuchMethodException: org.apache.kylin.tool.HBaseUsageExtractor.execute([Ljava.lang.String;)
* [KYLIN-3348] - "missing LastBuildJobID" error when building new cube segment
* [KYLIN-3352] - Segment pruning bug, e.g. date_col > "max_date+1"
* [KYLIN-3363] - Wrong partition condition appended in JDBC Source
* [KYLIN-3388] - Data may become not correct if mappers fail during the redistribute step, "distribute by rand()"
* [KYLIN-3400] - WipeCache and createCubeDesc causes deadlock
* [KYLIN-3401] - The current using zip compress tool has an arbitrary file write vulnerability
* [KYLIN-3404] - Last optimized time detail was not showing after cube optimization

## v2.3.1 - 2018-03-28
_Tag:_ [kylin-2.3.1](https://github.com/apache/kylin/tree/kylin-2.3.1)
This is a bug fix release after 2.3.0, with 12 bug fixes and enhancement. Check [How to upgrade](/docs/howto/howto_upgrade.html).

__Improvement__

* [KYLIN-3233] - CacheController can not handle if cacheKey has "/"
* [KYLIN-3278] - Kylin should not distribute hive table by random at Step1
* [KYLIN-3300] - Upgrade jackson-databind to 2.6.7.1 with security issue fixed
* [KYLIN-3301] - Upgrade opensaml to 2.6.6 with security issue fixed

__Bug fix__

* [KYLIN-3270] - Fix the blocking issue in Cube optimizing job
* [KYLIN-3276] - Fix the query cache bug with dynamic parameter
* [KYLIN-3288] - "Sqoop To Flat Hive Table" step should specify "mapreduce.queue.name"
* [KYLIN-3306] - Fix the rarely happened unit test exception of generic algorithm
* [KYLIN-3287] - When a shard by column is in dict encoding, dict building error.
* [KYLIN-3280] - The delete button should not be enabled without any segment in cube segment delete confirm dialog
* [KYLIN-3119] - A few bugs in the function 'massageSql' of 'QueryUtil.java'
* [KYLIN-3236] - The function 'reGenerateAdvancedDict()' has an error logical judgment, which will cause an exception when you edit the cube.


## v2.3.0 - 2018-03-04
_Tag:_ [kylin-2.3.0](https://github.com/apache/kylin/tree/kylin-2.3.0)
This is a major release after 2.2, with more than 250 bug fixes and enhancement. Check [How to upgrade](/docs/howto/howto_upgrade.html).

__New Feature__

* [KYLIN-3125] - Support SparkSql in Cube building step "Create Intermediate Flat Hive Table"
* [KYLIN-3052] - Support Redshift as data source
* [KYLIN-3044] - Support SQL Server as data source
* [KYLIN-2999] - One click migrate cube in web
* [KYLIN-2960] - Support user/group and role authentication for LDAP
* [KYLIN-2902] - Introduce project-level concurrent query number control
* [KYLIN-2776] - New metric framework based on dropwizard
* [KYLIN-2727] - Introduce cube planner able to select cost-effective cuboids to be built by cost-based algorithms
* [KYLIN-2726] - Introduce a dashboard for showing kylin service related metrics, like query count, query latency, job count, etc
* [KYLIN-1892] - Support volatile range for segments auto merge

__Improvement__

* [KYLIN-3265] - Add "jobSearchMode" as a condition to "/kylin/api/jobs" API
* [KYLIN-3245] - Searching cube support fuzzy search
* [KYLIN-3243] - Optimize the code and keep the code consistent in the access.html
* [KYLIN-3239] - Refactor the ACL code about "checkPermission" and "hasPermission"
* [KYLIN-3215] - Remove 'drop' option when job status is stopped and error
* [KYLIN-3214] - Initialize ExternalAclProvider when starting kylin
* [KYLIN-3209] - Optimize job partial statistics path be consistent with existing one
* [KYLIN-3196] - Replace StringUtils.containsOnly with Regex
* [KYLIN-3194] - Tolerate broken job metadata caused by executable ClassNotFoundException
* [KYLIN-3193] - No model clone across projects
* [KYLIN-3182] - Update Kylin help menu links
* [KYLIN-3181] - The submit button status of refreshing cube is not suitable when the start time is equal or more than the end time.
* [KYLIN-3162] - Fix alignment problem of 'Save Query' pop-up box
* [KYLIN-3159] - Remove unnecessary cube access request
* [KYLIN-3158] - Metadata broadcast should only retry failed node
* [KYLIN-3157] - Enhance query timeout to entire query life cycle
* [KYLIN-3151] - Enable 'Query History' to show items filtered by different projects
* [KYLIN-3150] - Support different compression in PercentileCounter measure
* [KYLIN-3145] - Support Kafka JSON message whose property name includes "_"
* [KYLIN-3144] - Adopt Collections.emptyList() for empty list values
* [KYLIN-3129] - Fix the joda library conflicts during Kylin start on EMR 5.8+
* [KYLIN-3128] - Configs for allowing export query results for admin/nonadmin user
* [KYLIN-3127] - In the Insights tab, results section, make the list of Cubes hit by the query either scrollable or multiline
* [KYLIN-3124] - Support horizontal scroll bar in 'Insight'
* [KYLIN-3117] - Hide project config in cube level
* [KYLIN-3114] - Enable kylin.web.query-timeout for web query request
* [KYLIN-3113] - Editing Measure supports fuzzy search in web
* [KYLIN-3108] - Change IT embedded Kafka broker path to /kylin/streaming_config/UUID
* [KYLIN-3105] - Interface Scheduler's stop method should be removed
* [KYLIN-3100] - Building empty partitioned cube with rest api supports partition_start_date
* [KYLIN-3098] - Enable kylin.query.max-return-rows to limit the maximum row count returned to user
* [KYLIN-3092] - Synchronize read/write operations on Managers
* [KYLIN-3090] - Refactor to consolidate all caches and managers under KylinConfig
* [KYLIN-3088] - Spell Error of isCubeMatch
* [KYLIN-3086] - Ignore the intermediate tables when loading Hive source tables
* [KYLIN-3079] - Use Docker for document build environment
* [KYLIN-3078] - Optimize the estimated size of percentile measure
* [KYLIN-3076] - Make kylin remember the choices we have made in the "Monitor>Jobs" page
* [KYLIN-3074] - Change cube access to project access in ExternalAclProvider.java
* [KYLIN-3073] - Automatically refresh the 'Saved Queries' tab page when new query saved. 
* [KYLIN-3070] - Enable 'kylin.source.hive.flat-table-storage-format' for flat table storage format
* [KYLIN-3067] - Provide web interface for dimension capping feature
* [KYLIN-3065] - Add 'First' and 'Last' button in case 'Query History' is too much
* [KYLIN-3064] - Turn off Yarn timeline-service when submit mr job
* [KYLIN-3048] - Give warning when merge with holes, but allow user to force proceed at the same time
* [KYLIN-3043] - Don't need create materialized view for lookup tables without snapshot
* [KYLIN-3039] - Unclosed hbaseAdmin in ITAclTableMigrationToolTest
* [KYLIN-3036] - Allow complex column type when loading source table
* [KYLIN-3024] - Input Validator for "Auto Merge Thresholds" text box
* [KYLIN-3019] - The pop-up window of 'Calculate Cardinality' and 'Load Hive Table' should have the same hint
* [KYLIN-3009] - Rest API to get Cube join SQL
* [KYLIN-3008] - Introduce "submit-patch.py"
* [KYLIN-3006] - Upgrade Spark to 2.1.2
* [KYLIN-2997] - Allow change engineType even if there are segments in cube
* [KYLIN-2996] - Show DeployCoprocessorCLI Log failed tables info
* [KYLIN-2993] - Add special mr config for base cuboid step
* [KYLIN-2992] - Avoid OOM in  CubeHFileJob.Reducer
* [KYLIN-2990] - Add warning window of exist model names for other project selected
* [KYLIN-2987] - Add 'auto.purge=true' when creating intermediate hive table or redistribute a hive table
* [KYLIN-2985] - Cache temp json file created by each Calcite Connection
* [KYLIN-2984] - Only allow delete FINISHED or DISCARDED job
* [KYLIN-2982] - Avoid upgrade column in OLAPTable
* [KYLIN-2981] - Typo in Cube refresh setting page.
* [KYLIN-2980] - Remove getKey/Value setKey/Value from Kylin's Pair.
* [KYLIN-2975] - Unclosed Statement in test
* [KYLIN-2966] - push down jdbc column type id mapping
* [KYLIN-2965] - Keep the same cost calculation logic between RealizationChooser and CubeInstance
* [KYLIN-2947] - Changed the Pop-up box when no project selected
* [KYLIN-2941] - Configuration setting for SSO
* [KYLIN-2940] - List job restful throw NPE when time filter not set
* [KYLIN-2935] - Improve the way to deploy coprocessor
* [KYLIN-2928] - PUSH DOWN query cannot use order by function
* [KYLIN-2921] - Refactor DataModelDesc
* [KYLIN-2918] - Table ACL needs GUI
* [KYLIN-2913] - Enable job retry for configurable exceptions
* [KYLIN-2912] - Remove "hfile" folder after bulk load to HBase
* [KYLIN-2909] - Refine Email Template for notification by freemarker
* [KYLIN-2908] - Add one option for migration tool to indicate whether to migrate segment data
* [KYLIN-2905] - Refine the process of submitting a job
* [KYLIN-2884] - Add delete segment function for portal
* [KYLIN-2881] - Improve hbase coprocessor exception handling at kylin server side 
* [KYLIN-2875] - Cube e-mail notification Validation
* [KYLIN-2867] - split large fuzzy Key set
* [KYLIN-2866] - Enlarge the reducer number for hyperloglog statistics calculation at step FactDistinctColumnsJob
* [KYLIN-2847] - Avoid doing useless work by checking query deadline
* [KYLIN-2846] - Add a config of hbase namespace for cube storage
* [KYLIN-2809] - Support operator "+" as string concat operator
* [KYLIN-2801] - Make default precision and scale in DataType (for hive) configurable
* [KYLIN-2764] - Build the dict for UHC column with MR
* [KYLIN-2736] - Use multiple threads to calculate HyperLogLogPlusCounter in FactDistinctColumnsMapper
* [KYLIN-2672] - Only clean necessary cache for CubeMigrationCLI
* [KYLIN-2656] - Support Zookeeper ACL
* [KYLIN-2649] - Tableau could send "select *" on a big table
* [KYLIN-2645] - Upgrade Kafka version to 0.11.0.1
* [KYLIN-2556] - Switch Findbugs to Spotbugs
* [KYLIN-2363] - Prune cuboids by capping number of dimensions
* [KYLIN-1925] - Do not allow cross project clone for cube
* [KYLIN-1872] - Make query visible and interruptible, improve server's stablility

__Bug fix__

* [KYLIN-3268] - Tomcat Security Vulnerability Alert. The version of the tomcat for kylin should upgrade to 7.0.85.
* [KYLIN-3263] - AbstractExecutable's retry has problem
* [KYLIN-3247] - REST API 'GET /api/cubes/{cubeName}/segs/{segmentName}/sql' should return a cube segment sql
* [KYLIN-3242] - export result should use alias too
* [KYLIN-3241] - When refresh on 'Add Cube Page', a blank page will appear.
* [KYLIN-3228] - Should remove the related segment when deleting a job
* [KYLIN-3227] - Automatically remove the blank at the end of lines in properties files
* [KYLIN-3226] - When user logs in with only query permission, 'N/A' is displayed in the cube's action list.
* [KYLIN-3224] - data can't show when use kylin pushdown model 
* [KYLIN-3223] - Query for the list of hybrid cubes results in NPE
* [KYLIN-3222] - The function of editing 'Advanced Dictionaries' in cube is unavailable.
* [KYLIN-3219] - Fix NPE when updating metrics during Spark CubingJob
* [KYLIN-3216] - Remove the hard-code of spark-history path in 'check-env.sh'
* [KYLIN-3213] - Kylin help has duplicate items
* [KYLIN-3211] - Class IntegerDimEnc shuould give more exception information when the length is exceed the max or less than the min
* [KYLIN-3210] - The project shows '_null' in result page.
* [KYLIN-3205] - Allow one column is used for both dimension and precisely count distinct measure
* [KYLIN-3204] - Potentially unclosed resources in JdbcExplorer#evalQueryMetadata
* [KYLIN-3199] - The login dialog should be closed when ldap user with no permission login correctly
* [KYLIN-3190] - Fix wrong parameter in revoke access API
* [KYLIN-3184] - Fix '_null' project on the query page
* [KYLIN-3183] - Fix the bug of the 'Remove' button in 'Query History'
* [KYLIN-3178] - Delete table acl failed will cause the wabpage awalys shows "Please wait..."
* [KYLIN-3177] - Merged Streaming cube segment has no start/end time
* [KYLIN-3175] - Streaming segment lost TSRange after merge
* [KYLIN-3173] - DefaultScheduler shutdown didn't reset field initialized.
* [KYLIN-3172] - No such file or directory error with CreateLookupHiveViewMaterializationStep 
* [KYLIN-3167] - Datatype lost precision when using beeline
* [KYLIN-3165] - Fix the IllegalArgumentException during segments auto merge
* [KYLIN-3164] - HBase connection must be closed when clearing connection pool
* [KYLIN-3143] - Wrong use of Preconditions.checkNotNull() in ManagedUser#removeAuthoritie
* [KYLIN-3139] - Failure in map-reduce job due to undefined hdp.version variable when using HDP stack and remote HBase cluster
* [KYLIN-3136] - Endless status while subtask happens to be the illegal RUNNING
* [KYLIN-3135] - Fix regular expression bug in SQL comments
* [KYLIN-3131] - After refresh the page,the cubes can't sort by 'create_time'
* [KYLIN-3130] - If we add new cube then refresh the page,the page is blank
* [KYLIN-3116] - Fix cardinality caculate checkbox issue when loading tables
* [KYLIN-3112] - The job 'Pause' operation has logic bug in the kylin server.
* [KYLIN-3111] - Close of HBaseAdmin instance should be placed in finally block
* [KYLIN-3110] - The dashboard page has some display problems.
* [KYLIN-3106] - DefaultScheduler.shutdown should use ExecutorService.shutdownNow instead of ExecutorService.shutdown
* [KYLIN-3104] - When the user log out from "Monitor" page, an alert dialog will pop up warning "Failed to load query."
* [KYLIN-3102] - Solve the problems for incomplete display of Hive Table tree.
* [KYLIN-3101] - The "search" icon will separate from the "Filter" textbox when click the "showSteps" button of a job in the jobList
* [KYLIN-3097] - A few spell error in partials directory
* [KYLIN-3087] - Fix the DistributedLock release bug in GlobalDictionaryBuilder
* [KYLIN-3085] - CubeManager.updateCube() must not update the cached CubeInstance
* [KYLIN-3084] - File not found Exception when processing union-all in TEZ mode
* [KYLIN-3083] - potential overflow in CubeHBaseRPC#getCoprocessorTimeoutMillis
* [KYLIN-3082] - Close of GTBuilder should be placed in finally block in InMemCubeBuilder
* [KYLIN-3081] - Ineffective null check in CubeController#cuboidsExport
* [KYLIN-3077] - EDW.TEST_SELLER_TYPE_DIM_TABLE is not being created by the integration test, but it's presence in the Hive is expected
* [KYLIN-3069] - Add proper time zone support to the WebUI instead of GMT/PST kludge
* [KYLIN-3063] - load-hive-conf.sh should not get the commented configuration item
* [KYLIN-3061] - When we cancel the Topic modification for 'Kafka Setting' of streaming table, the 'Cancel' operation will make a mistake.
* [KYLIN-3060] - The logical processing of creating or updating streaming table has a bug in server, which will cause a NullPointerException.
* [KYLIN-3058] - We should limit the integer type ID and Port for "Kafka Setting" in "Streaming Cluster" page
* [KYLIN-3056] - Fix 'Cannot find segment null' bug when click 'SQL' in the cube view page
* [KYLIN-3055] - Fix NullPointerException for intersect_count
* [KYLIN-3054] - The drop-down menu in the grid column of query results missing a little bit.
* [KYLIN-3053] - When aggregation group verification failed, the error message about aggregation group number does not match with the actual on the Advanced Setting page
* [KYLIN-3049] - Filter the invalid zero value of "Auto Merge Thresholds" parameter when you create or upate a cube.
* [KYLIN-3047] - Wrong column type when sync hive table via beeline
* [KYLIN-3042] - In query results page, the results data table should resize when click "fullScreen" button
* [KYLIN-3040] - Refresh a non-partitioned cube changes the segment name to "19700101000000_2922789940817071255"
* [KYLIN-3038] - cannot support sum of type-converted column SQL
* [KYLIN-3034] - In the models tree, the "Edit(JSON)" option is missing partly.
* [KYLIN-3032] - Cube size shows 0 but actually it isn't empty
* [KYLIN-3031] - KeywordDefaultDirtyHack should ignore case of default like other database does
* [KYLIN-3030] - In the cubes table, the options of last column action are missing partly.
* [KYLIN-3029] - The warning window of existing cube name does not work
* [KYLIN-3028] - Build cube error when set S3 as working-dir
* [KYLIN-3026] - Can not see full cube names on insight page
* [KYLIN-3020] - Improve org.apache.hadoop.util.ToolRunner to be threadsafe
* [KYLIN-3017] - Footer covers the selection box and some options can not be selected
* [KYLIN-3016] - StorageCleanup job doesn't clean up all the legacy fiels in a in Read/Write seperation environment
* [KYLIN-3004] - Update validation when deleting segment
* [KYLIN-3001] - Fix the wrong Cache key issue 
* [KYLIN-2995] - Set SparkContext.hadoopConfiguration to HadoopUtil in Spark Cubing
* [KYLIN-2994] - Handle NPE when load dict in DictionaryManager
* [KYLIN-2991] - Query hit NumberFormatException if partitionDateFormat is not yyyy-MM-dd
* [KYLIN-2989] - Close of BufferedWriter should be placed in finally block in SCCreator
* [KYLIN-2974] - zero joint group can lead to query error
* [KYLIN-2971] - Fix the wrong "Realization Names" in logQuery when hit cache
* [KYLIN-2969] - Fix the wrong NumberBytesCodec cache in Number2BytesConverter 
* [KYLIN-2968] - misspelled word in table_load.html
* [KYLIN-2967] - Add the dependency check when deleting a  project
* [KYLIN-2962] - drop error job not delete segment
* [KYLIN-2959] - SAML logout issue
* [KYLIN-2956] - building trie dictionary blocked on value of length over 4095 
* [KYLIN-2953] - List readable project not correct if add limit and offset
* [KYLIN-2939] - Get config properties not correct in UI
* [KYLIN-2933] - Fix compilation against the Kafka 1.0.0 release
* [KYLIN-2930] - Selecting one column in union causes compile error
* [KYLIN-2929] - speed up Dump file performance
* [KYLIN-2922] - Query fails when a column is used as dimension and sum(column) at the same time
* [KYLIN-2917] - Dup alias on OLAPTableScan
* [KYLIN-2907] - Check if a number is a positive integer 
* [KYLIN-2901] - Update correct cardinality for empty table
* [KYLIN-2887] - Subquery columns not exported in OLAPContext allColumns
* [KYLIN-2876] - Ineffective check in ExternalAclProvider
* [KYLIN-2874] - Ineffective check in CubeDesc#getInitialCuboidScheduler
* [KYLIN-2849] - duplicate segmentÔºåcannot be deleted and data cannot be refreshed and merged
* [KYLIN-2837] - Ineffective call to toUpperCase() in MetadataManager
* [KYLIN-2836] - Lack of synchronization in CodahaleMetrics#close
* [KYLIN-2835] - Unclosed resources in JdbcExplorer
* [KYLIN-2794] - MultipleDictionaryValueEnumerator should output values in sorted order
* [KYLIN-2756] - Let "LIMIT" be optional in "Inspect" page
* [KYLIN-2470] - cube build failed when 0 bytes input for non-partition fact table
* [KYLIN-1664] - Harden security check for '/kylin/api/admin/config' API

__Task__

* [KYLIN-3207] - Blog for Kylin Superset Integration
* [KYLIN-3200] - Enable SonarCloud for Code Analysis
* [KYLIN-3198] - More Chinese Howto Documents
* [KYLIN-3195] - Kylin v2.3.0 Release
* [KYLIN-3191] - Remove the deprecated configuration item kylin.security.acl.default-role
* [KYLIN-3189] - Documents for kylin python client
* [KYLIN-3080] - Kylin Qlik Sense Integration Documentation
* [KYLIN-3068] - Rename deprecated parameter for HDFS block size in HiveColumnCardinalityJob
* [KYLIN-3062] - Hide RAW measure
* [KYLIN-3010] - Remove v1 Spark engine code
* [KYLIN-2843] - Upgrade nvd3 version
* [KYLIN-2797] - Remove MR engine V1
* [KYLIN-2796] - Remove the legacy "statisticsenabled" codes in FactDistinctColumnsJob

__Sub-Task__

* [KYLIN-3235] - add null check for SQL
* [KYLIN-3202] - Doc directory for 2.3
* [KYLIN-3155] - Create a document for how to use dashboard
* [KYLIN-3154] - Create a document for cube planner
* [KYLIN-3153] - Create a document for system cube creation
* [KYLIN-3018] - Change maxLevel for layered cubing
* [KYLIN-2946] - Introduce a tool for batch incremental building of system cubes
* [KYLIN-2934] - Provide user guide for KYLIN-2656(Support Zookeeper ACL)
* [KYLIN-2822] - Introduce sunburst chart to show cuboid tree
* [KYLIN-2746] - Separate filter row count & aggregated row count for metrics collection returned by coprocessor
* [KYLIN-2735] - Introduce an option to make job scheduler consider job priority
* [KYLIN-2734] - Introduce hot cuboids export & import
* [KYLIN-2733] - Introduce optimize job for adjusting cuboid set
* [KYLIN-2732] - Introduce base cuboid as a new input for cubing job
* [KYLIN-2731] - Introduce checkpoint executable
* [KYLIN-2725] - Introduce a tool for creating system cubes relating to query & job metrics
* [KYLIN-2723] - Introduce metrics collector for query & job metrics
* [KYLIN-2722] - Introduce a new measure, called active reservoir, for actively pushing metrics to reporters

## v2.2.0 - 2017-11-03

_Tag:_ [kylin-2.2.0](https://github.com/apache/kylin/tree/kylin-2.2.0)
This is a major release after 2.1, with more than 70 bug fixes and enhancements. Check [How to upgrade](/docs21/howto/howto_upgrade.html).

__New Feature__

* [KYLIN-2703] - Manage ACL through Apache Ranger
* [KYLIN-2752] - Make HTable name prefix configurable
* [KYLIN-2761] - Table Level ACL
* [KYLIN-2775] - Streaming Cube Sample

__Improvement__

* [KYLIN-2535] - Use ResourceStore to manage ACL files
* [KYLIN-2604] - Use global dict as the default encoding for precise distinct count in web
* [KYLIN-2606] - Only return counter for precise count_distinct if query is exactAggregate
* [KYLIN-2622] - AppendTrieDictionary support not global
* [KYLIN-2623] - Move output(Hbase) related code from MR engine to outputside
* [KYLIN-2653] - Spark Cubing read metadata from HDFS
* [KYLIN-2717] - Move concept Table under Project
* [KYLIN-2790] - Add an extending point to support other types of column family
* [KYLIN-2795] - Improve REST API document, add get/list jobs
* [KYLIN-2803] - Pushdown non "select" query
* [KYLIN-2818] - Refactor dateRange & sourceOffset on CubeSegment
* [KYLIN-2819] - Add "kylin.env.zookeeper-base-path" for zk path
* [KYLIN-2823] - Trim TupleFilter after dictionary-based filter optimization
* [KYLIN-2844] - Override "max-visit-scanrange" and "max-fuzzykey-scan" at cube level
* [KYLIN-2854] - Remove duplicated controllers
* [KYLIN-2856] - Log pushdown query as a kind of BadQuery
* [KYLIN-2857] - MR configuration should be overwritten by user specified parameters when resuming MR jobs
* [KYLIN-2858] - Add retry in cache sync
* [KYLIN-2879] - Upgrade Spring & Spring Security to fix potential vulnerability
* [KYLIN-2891] - Upgrade Tomcat to 7.0.82.
* [KYLIN-2963] - Remove Beta for Spark Cubing

__Bug__

* [KYLIN-1794] - Enable job list even some job metadata parsing failed
* [KYLIN-2600] - Incorrectly set the range start when filtering by the minimum value
* [KYLIN-2705] - Allow removing model's "partition_date_column" on web
* [KYLIN-2706] - Fix the bug for the comparator in SortedIteratorMergerWithLimit
* [KYLIN-2707] - Fix NPE in JobInfoConverter
* [KYLIN-2716] - Non-thread-safe WeakHashMap leading to high CPU
* [KYLIN-2718] - Overflow when calculating combination amount based on static rules
* [KYLIN-2753] - Job duration may become negative
* [KYLIN-2766] - Kylin uses default FS to put the coprocessor jar, instead of the working dir
* [KYLIN-2773] - Should not push down join condition related columns are compatible while not consistent
* [KYLIN-2781] - Make 'find-hadoop-conf-dir.sh' executable
* [KYLIN-2786] - Miss "org.apache.kylin.source.kafka.DateTimeParser"
* [KYLIN-2788] - HFile is not written to S3
* [KYLIN-2789] - Cube's last build time is wrong
* [KYLIN-2791] - Fix bug in readLong function in BytesUtil
* [KYLIN-2798] - Can't rearrange the order of rowkey columns though web UI
* [KYLIN-2799] - Building cube with percentile measure encounter with NullPointerException
* [KYLIN-2800] - All dictionaries should be built based on the flat hive table
* [KYLIN-2806] - Empty results from JDBC with Date filter in prepareStatement
* [KYLIN-2812] - Save to wrong database when loading Kafka Topic
* [KYLIN-2814] - HTTP connection may not be released in RestClient
* [KYLIN-2815] - Empty results with prepareStatement but OK with KylinStatement
* [KYLIN-2824] - Parse Boolean type in JDBC driver
* [KYLIN-2832] - Table meta missing from system diagnosis
* [KYLIN-2833] - Storage cleanup job could delete the intermediate hive table used by running jobs
* [KYLIN-2834] - Bug in metadata sync, Broadcaster lost listener after cache wipe
* [KYLIN-2838] - Should get storageType in changeHtableHost of CubeMigrationCLI
* [KYLIN-2862] - BasicClientConnManager in RestClient can't do well with syncing many query severs
* [KYLIN-2863] - Double caret bug in sample.sh for old version bash
* [KYLIN-2865] - Wrong fs when use two cluster
* [KYLIN-2868] - Include and exclude filters not work on ResourceTool
* [KYLIN-2870] - Shortcut key description is error at Kylin-Web
* [KYLIN-2871] - Ineffective null check in SegmentRange
* [KYLIN-2877] - Unclosed PreparedStatement in QueryService#execute()
* [KYLIN-2906] - Check model/cube name is duplicated when creating model/cube
* [KYLIN-2915] - Exception during query on lookup table
* [KYLIN-2920] - Failed to get streaming config on WebUI
* [KYLIN-2944] - HLLCSerializer, RawSerializer, PercentileSerializer returns shared object in serialize()
* [KYLIN-2949] - Couldn't get authorities with LDAP in RedHat Linux


__Task__

* [KYLIN-2782] - Replace DailyRollingFileAppender with RollingFileAppender to allow log retention
* [KYLIN-2925] - Provide document for Ranger security integration
* [KYLIN-2549] - Modify tools that related to Acl
* [KYLIN-2728] - Introduce a new cuboid scheduler based on cuboid tree rather than static rules
* [KYLIN-2729] - Introduce greedy algorithm for cube planner
* [KYLIN-2730] - Introduce genetic algorithm for cube planner
* [KYLIN-2802] - Enable cube planner phase one
* [KYLIN-2826] - Add basic support classes for cube planner algorithms
* [KYLIN-2961] - Provide user guide for Ranger Kylin Plugin

## v2.1.0 - 2017-08-17

_Tag:_ [kylin-2.1.0](https://github.com/apache/kylin/tree/kylin-2.1.0)
This is a major release after 2.0, with more than 100 bug fixes and enhancements. Check [How to upgrade](/docs21/howto/howto_upgrade.html).

__New Feature__

* [KYLIN-1351] - Support RDBMS as data source
* [KYLIN-2515] - Route unsupported query back to source
* [KYLIN-2646] - Project level query authorization
* [KYLIN-2665] - Add model JSON edit in web 

__Improvement__

* [KYLIN-2506] - Refactor Global Dictionary
* [KYLIN-2562] - Allow configuring yarn app tracking URL pattern
* [KYLIN-2578] - Refactor DistributedLock
* [KYLIN-2579] - Improvement on subqueries: reorder subqueries joins with RelOptRule
* [KYLIN-2580] - Improvement on subqueries: allow grouping by columns from subquery
* [KYLIN-2586] - use random port for CacheServiceTest as fixed port 7777 might have been occupied
* [KYLIN-2596] - Enable generating multiple streaming messages with one input message in streaming parser
* [KYLIN-2597] - Deal with trivial expression in filters like x = 1 + 2
* [KYLIN-2598] - Should not translate filter to a in-clause filter with too many elements
* [KYLIN-2599] - select * in subquery fail due to bug in hackSelectStar 
* [KYLIN-2602] - Add optional job threshold arg for MetadataCleanupJob
* [KYLIN-2603] - Push 'having' filter down to storage
* [KYLIN-2607] - Add http timeout for RestClient
* [KYLIN-2610] - Optimize BuiltInFunctionTransformer performance
* [KYLIN-2616] - GUI for multiple column count distinct measure
* [KYLIN-2624] - Correct reporting of HBase errors
* [KYLIN-2627] - ResourceStore to support simple rollback
* [KYLIN-2628] - Remove synchronized modifier for reloadCubeLocalAt
* [KYLIN-2633] - Upgrade Spark to 2.1
* [KYLIN-2642] - Relax check in RowKeyColDesc to keep backward compatibility
* [KYLIN-2667] - Ignore whitespace when caching query
* [KYLIN-2668] - Support Calcites Properties in JDBC URL
* [KYLIN-2673] - Support change the fact table when the cube is disable
* [KYLIN-2676] - Keep UUID in metadata constant 
* [KYLIN-2677] - Add project configuration view page
* [KYLIN-2689] - Only dimension columns can join when create a model
* [KYLIN-2691] - Support delete broken cube
* [KYLIN-2695] - Allow override spark conf in cube
* [KYLIN-2696] - Check SQL injection in model filter condition
* [KYLIN-2700] - Allow override Kafka conf at cube level
* [KYLIN-2704] - StorageCleanupJob should deal with a new metadata path
* [KYLIN-2742] - Specify login page for Spring security 4.x
* [KYLIN-2757] - Get cube size when using Azure Data Lake Store
* [KYLIN-2783] - Refactor CuboidScheduler to be extensible
* [KYLIN-2784] - Set User-Agent for ODBC/JDBC Drivers
* [KYLIN-2793] - ODBC Driver - Bypass cert validation when connect to SSL service

__Bug fix__

* [KYLIN-1668] - Rowkey column shouldn't allow delete and add
* [KYLIN-1683] - Row key could drag and drop in view state of cube - advanced settings tabpage
* [KYLIN-2472] - Support Unicode chars in kylin.properties
* [KYLIN-2493] - Fix BufferOverflowException in FactDistinctColumnsMapper when value exceeds 4096 bytes
* [KYLIN-2540] - concat cascading is not supported
* [KYLIN-2544] - Fix wrong left join type when editing lookup table
* [KYLIN-2557] - Fix creating HBase table conflict when multiple kylin instances are starting concurrently
* [KYLIN-2559] - Enhance check-env.sh to check 'kylin.env.hdfs-working-dir' to be mandatory
* [KYLIN-2563] - Fix preauthorize-annotation bugs in query authorization
* [KYLIN-2568] - 'kylin_port_replace_util.sh' should only modify the kylin port and keep other properties unchanged. 
* [KYLIN-2571] - Return correct driver version from kylin jdbc driver
* [KYLIN-2572] - Fix parsing 'hive_home' error in 'find-hive-dependency.sh'
* [KYLIN-2573] - Enhance 'kylin.sh stop' to terminate kylin process finally
* [KYLIN-2574] - RawQueryLastHacker should group by all possible dimensions
* [KYLIN-2581] - Fix deadlock bugs in broadcast sync
* [KYLIN-2582] - 'Server Config' should be refreshed automatically in web page 'System', after we update it successfully. 
* [KYLIN-2588] - Query failed when two top-n measure with order by count(*) exists in one cube
* [KYLIN-2589] - Enhance thread-safe in Authentication
* [KYLIN-2592] - Fix distinct count measure build failed issue with spark cubing 
* [KYLIN-2593] - Fix NPE issue when querying with Ton-N by count(*) 
* [KYLIN-2594] - After reloading metadata, the project list should refresh
* [KYLIN-2595] - Display column alias name when query with keyword 'As'
* [KYLIN-2601] - The return type of tinyint for sum measure should be bigint
* [KYLIN-2605] - Remove the hard-code sample data path in 'sample.sh'
* [KYLIN-2608] - Bubble sort bug in JoinDesc
* [KYLIN-2609] - Fix grant role access issue on project page.
* [KYLIN-2611] - Unclosed HBaseAdmin in AclTableMigrationTool#checkTableExist
* [KYLIN-2612] - Potential NPE accessing familyMap in AclTableMigrationTool#getAllAceInfo
* [KYLIN-2613] - Wrong variable is used in DimensionDesc#hashCode
* [KYLIN-2621] - Fix issue on mapping LDAP group to the admin group
* [KYLIN-2637] - Show tips after creating project successfully
* [KYLIN-2641] - The current selected project is incorrect after we delete a project.
* [KYLIN-2643] - PreparedStatement should be closed in QueryServiceV2#execute()
* [KYLIN-2644] - Fix "Add Project" after refreshing Insight page
* [KYLIN-2647] - Should get FileSystem from HBaseConfiguration in HBaseResourceStore
* [KYLIN-2648] - kylin.env.hdfs-working-dir should be qualified and absolute path
* [KYLIN-2652] - Make KylinConfig threadsafe in CubeVisitService
* [KYLIN-2655] - Fix wrong job duration issue when resuming the error or stopped job.
* [KYLIN-2657] - Fix Cube merge NPE whose TopN dictionary not found
* [KYLIN-2658] - Unclosed ResultSet in JdbcExplorer#loadTableMetadata()
* [KYLIN-2660] - Show error tips if load hive error occurs and can not be connected.
* [KYLIN-2661] - Fix Cube list page display issue when using MODELER or ANALYST
* [KYLIN-2664] - Fix Extended column bug in web
* [KYLIN-2670] - Fix CASE WHEN issue in orderby clause
* [KYLIN-2674] - Should not catch OutOfMemoryError in coprocessor
* [KYLIN-2678] - Fix minor issues in KylinConfigCLITest
* [KYLIN-2684] - Fix Object.class not registered in Kyro issue with spark cubing
* [KYLIN-2687] - When the model has a ready cube, should not allow user to edit model JSON in web.
* [KYLIN-2688] - When the model has a ready cube, should not allow user to edit model JSON in web.
* [KYLIN-2693] - Should use overrideHiveConfig for LookupHiveViewMaterialization and RedistributeFlatHiveTable
* [KYLIN-2694] - Fix ArrayIndexOutOfBoundsException in SparkCubingByLayer
* [KYLIN-2699] - Tomcat LinkageError for curator-client jar file conflict
* [KYLIN-2701] - Unclosed PreparedStatement in QueryService#getPrepareOnlySqlResponse
* [KYLIN-2702] - Ineffective null check in DataModelDesc#initComputedColumns()
* [KYLIN-2707] - Fix NPE in JobInfoConverter
* [KYLIN-2708] - cube merge operations can not execute success
* [KYLIN-2711] - NPE if job output is lost
* [KYLIN-2713] - Fix ITJdbcSourceTableLoaderTest.java and ITJdbcTableReaderTest.java missing license header
* [KYLIN-2719] - serviceStartTime of CubeVisitService should not be an attribute which may be shared by multi-thread
* [KYLIN-2743] - Potential corrupt TableDesc when loading an existing Hive table
* [KYLIN-2748] - Calcite code generation can not gc cause OOM
* [KYLIN-2754] - Fix Sync issue when reload existing hive table
* [KYLIN-2758] - Query pushdown should be able to skip database prefix
* [KYLIN-2762] - Get "Owner required" error on saving data model
* [KYLIN-2767] - 404 error on click "System" tab
* [KYLIN-2768] - Wrong UI for count distinct measure
* [KYLIN-2769] - Non-partitioned cube doesn't need show start/end time
* [KYLIN-2778] - Sample cube doesn't have ACL info
* [KYLIN-2780] - QueryController.getMetadata and CacheController.wipeCache may be deadlock
* [KYLIN-2548] - Keep ACL information backward compatibile

## v2.0.0 - 2017-04-30

_Tag:_ [kylin-2.0.0](https://github.com/apache/kylin/tree/kylin-2.0.0)
This is a major release with **Spark Cubing**, **Snowflake Data Model** and runs **TPC-H Benchmark**. Check out [the download](/download/) and the [how to upgrade guide](/docs20/howto/howto_upgrade.html).

__New Feature__

* [KYLIN-744] - Spark Cube Build Engine
* [KYLIN-2006] - Make job engine distributed and HA
* [KYLIN-2031] - New Fix_length_Hex encoding to support hash value and better Integer encoding to support negative value
* [KYLIN-2180] - Add project config and make config priority become "cube > project > server"
* [KYLIN-2240] - Add a toggle to ignore all cube signature inconsistency temporally
* [KYLIN-2317] - Hybrid Cube CLI Tools
* [KYLIN-2331] - By layer Spark cubing
* [KYLIN-2351] - Support Cloud DFS as kylin.env.hdfs-working-dir
* [KYLIN-2388] - Hot load kylin config from web
* [KYLIN-2394] - Upgrade Calcite to 1.11 and Avatica to 1.9
* [KYLIN-2396] - Percentile pre-aggregation implementation

__Improvements__

* [KYLIN-227] - Support "Pause" on Kylin Job
* [KYLIN-490] - Support multiple column distinct count
* [KYLIN-995] - Enable kylin to support joining the same lookup table more than once
* [KYLIN-1832] - HyperLogLog codec performance improvement
* [KYLIN-1875] - Snowflake schema support
* [KYLIN-1971] - Cannot support columns with same name under different table
* [KYLIN-2029] - lookup table support count(distinct column)
* [KYLIN-2030] - lookup table support group by primary key when no derived dimension
* [KYLIN-2096] - Support "select version()" SQL statement
* [KYLIN-2131] - Load Kafka client configuration from properties files
* [KYLIN-2133] - Check web server port availability when startup
* [KYLIN-2135] - Enlarge FactDistinctColumns reducer number
* [KYLIN-2136] - Enhance cubing algorithm selection
* [KYLIN-2141] - Add include/exclude interface for ResourceTool
* [KYLIN-2144] - move useful operation tools to org.apache.kylin.tool
* [KYLIN-2163] - Refine kylin scripts, less verbose during start up
* [KYLIN-2165] - Use hive table statistics data to get the total count
* [KYLIN-2169] - Refactor AbstractExecutable to respect KylinConfig
* [KYLIN-2170] - Mapper/Reducer cleanup() exception handling
* [KYLIN-2175] - cubestatsreader support reading unfinished segments
* [KYLIN-2181] - remove integer as fixed_length in test_kylin_cube_with_slr_empty desc
* [KYLIN-2187] - Enhance TableExt metadata
* [KYLIN-2192] - More Robust Global Dictionary
* [KYLIN-2193] - parameterise org.apache.kylin.storage.translate.DerivedFilterTranslator#IN_THRESHOLD
* [KYLIN-2195] - Setup naming convention for kylin properties
* [KYLIN-2196] - Update Tomcat clas loader to parallel loader
* [KYLIN-2198] - Add a framework to allow major changes in DimensionEncoding
* [KYLIN-2205] - Use column name as the default dimension name
* [KYLIN-2215] - Refactor DimensionEncoding.encode(byte[]) to encode(String)
* [KYLIN-2217] - Reducers build dictionaries locally
* [KYLIN-2220] - Enforce same name between Cube & CubeDesc
* [KYLIN-2222] - web ui uses rest api to decide which dim encoding is valid for different typed columns
* [KYLIN-2227] - rename kylin-log4j.properties to kylin-tools-log4j.properties and move it to global conf folder
* [KYLIN-2238] - Add query server scan threshold
* [KYLIN-2244] - "kylin.job.cuboid.size.memhungry.ratio" shouldn't be applied on measures like TopN
* [KYLIN-2246] - redesign the way to decide layer cubing reducer count
* [KYLIN-2248] - TopN merge further optimization after KYLIN-1917
* [KYLIN-2252] - Enhance project/model/cube name check
* [KYLIN-2255] - Drop v1 CubeStorageQuery, Storage Engine ID=0
* [KYLIN-2263] - Display reasonable exception message if could not find kafka dependency for streaming build
* [KYLIN-2266] - Reduce memory usage for building global dict
* [KYLIN-2269] - Reduce MR memory usage for global dict
* [KYLIN-2280] - A easier way to change all the conflict ports when start multi kylin instance in the same server
* [KYLIN-2283] - Have a general purpose data generation tool
* [KYLIN-2287] - Speed up model and cube list load in Web
* [KYLIN-2290] - minor improvements on limit
* [KYLIN-2294] - Refactor CI, merge with_slr and without_slr cubes
* [KYLIN-2295] - Refactor CI, blend view cubes into the rest
* [KYLIN-2296] - Allow cube to override kafka configuration
* [KYLIN-2304] - Only copy latest version dict for global dict
* [KYLIN-2306] - Tolerate Class missing when loading job list
* [KYLIN-2307] - Make HBase 1.x the default of master
* [KYLIN-2308] - Allow user to set more columnFamily in web
* [KYLIN-2310] - Refactor CI, add IT for date/time encoding & extended column
* [KYLIN-2312] - Display Server Config/Environment by order in system tab
* [KYLIN-2314] - Add Integration Test (IT) for snowflake
* [KYLIN-2323] - Refine Table load/unload error message
* [KYLIN-2328] - Reduce the size of metadata uploaded to distributed cache
* [KYLIN-2338] - refactor BitmapCounter.DataInputByteBuffer
* [KYLIN-2349] - Serialize BitmapCounter with peekLength
* [KYLIN-2353] - Serialize BitmapCounter with distinct count
* [KYLIN-2358] - CuboidReducer has too many "if (aggrMask[i])" checks
* [KYLIN-2359] - Update job build step name
* [KYLIN-2364] - Output table name to error info in LookupTable
* [KYLIN-2375] - Default cache size (10M) is too small
* [KYLIN-2377] - Add kylin client query timeout
* [KYLIN-2378] - Set job thread name with job uuid
* [KYLIN-2379] - Add UseCMSInitiatingOccupancyOnly to KYLIN_JVM_SETTINGS
* [KYLIN-2380] - Refactor DbUnit assertions
* [KYLIN-2387] - A new BitmapCounter with better performance
* [KYLIN-2389] - Improve resource utilization for DistributedScheduler
* [KYLIN-2393] - Add "hive.auto.convert.join" and "hive.stats.autogather" to kylin_hive_conf.xml
* [KYLIN-2400] - Simplify Dictionary interface
* [KYLIN-2404] - Add "hive.merge.mapfiles" and "hive.merge.mapredfiles" to kylin_hive_conf.xml
* [KYLIN-2409] - Performance tunning for in-mem cubing
* [KYLIN-2411] - Kill MR job on pause
* [KYLIN-2414] - Distinguish UHC columns from normal columns in KYLIN-2217
* [KYLIN-2415] - Change back default metadata name to "kylin_metadata"
* [KYLIN-2418] - Refactor pom.xml, drop unused parameter
* [KYLIN-2422] - NumberDictionary support for decimal with extra 0 after "."
* [KYLIN-2423] - Model should always include PK/FK as dimensions
* [KYLIN-2424] - Optimize the integration test's performance
* [KYLIN-2428] - Cleanup unnecessary shaded libraries for job/coprocessor/jdbc/server
* [KYLIN-2436] - add a configuration knob to disable spilling of aggregation cache
* [KYLIN-2437] - collect number of bytes scanned to query metrics
* [KYLIN-2438] - replace scan threshold with max scan bytes
* [KYLIN-2442] - Re-calculate expansion rate, count raw data size regardless of flat table compression
* [KYLIN-2443] - Report coprocessor error information back to client
* [KYLIN-2446] - Support project names filter in DeployCoprocessorCLI
* [KYLIN-2451] - Set HBASE_RPC_TIMEOUT according to kylin.storage.hbase.coprocessor-timeout-seconds
* [KYLIN-2489] - Upgrade zookeeper dependency to 3.4.8
* [KYLIN-2494] - Model has no dup column on dimensions and measures
* [KYLIN-2501] - Stream Aggregate GTRecords at Query Server
* [KYLIN-2503] - Spark cubing step should show YARN app link
* [KYLIN-2518] - Improve the sampling performance of FactDistinctColumns step
* [KYLIN-2525] - Smooth upgrade to 2.0.0 from older metadata
* [KYLIN-2527] - Speedup LookupStringTable, use HashMap instead of ConcurrentHashMap
* [KYLIN-2528] - refine job email notification to support starttls and customized port
* [KYLIN-2529] - Allow thread-local override of KylinConfig
* [KYLIN-2545] - Number2BytesConverter could tolerate malformed numbers
* [KYLIN-2560] - Fix license headers for 2.0.0 release

__Bug fix__

* [KYLIN-1603] - Building job still finished even MR job error happened.
* [KYLIN-1770] - Upgrade Calcite dependency (v1.10)
* [KYLIN-1793] - Job couldn't stop when hive commands got error with beeline
* [KYLIN-1945] - Cuboid.translateToValidCuboid method throw exception while cube building or query execute
* [KYLIN-2077] - Inconsistent cube desc signature for CubeDesc
* [KYLIN-2153] - Allow user to skip the check in CubeMetaIngester
* [KYLIN-2155] - get-properties.sh doesn't support parameters starting with "-n"
* [KYLIN-2166] - Unclosed HBaseAdmin in StorageCleanupJob#cleanUnusedHBaseTables
* [KYLIN-2172] - Potential NPE in ExecutableManager#updateJobOutput
* [KYLIN-2174] - partitoin column format visibility issue
* [KYLIN-2176] - org.apache.kylin.rest.service.JobService#submitJob will leave orphan NEW segment in cube when exception is met
* [KYLIN-2191] - Integer encoding error for width from 5 to 7
* [KYLIN-2197] - Has only base cuboid for some cube desc
* [KYLIN-2202] - Fix the conflict between KYLIN-1851 and KYLIN-2135
* [KYLIN-2207] - Ineffective null check in ExtendCubeToHybridCLI#createFromCube()
* [KYLIN-2208] - Unclosed FileReader in HiveCmdBuilder#build()
* [KYLIN-2209] - Potential NPE in StreamingController#deserializeTableDesc()
* [KYLIN-2211] - IDictionaryValueEnumerator should return String instead of byte[]
* [KYLIN-2212] - 'NOT' operator in filter on derived column may get incorrect result
* [KYLIN-2213] - UnsupportedOperationException when excute 'not like' query on cube v1
* [KYLIN-2216] - Potential NPE in model#findTable() call
* [KYLIN-2224] - "select * from fact inner join lookup " does not return values for look up columns
* [KYLIN-2232] - cannot set partition date column pattern when edit a model
* [KYLIN-2236] - JDBC statement.setMaxRows(10) is not working
* [KYLIN-2237] - Ensure dimensions and measures of model don't have null column
* [KYLIN-2242] - Directly write hdfs file in reducer is dangerous
* [KYLIN-2243] - TopN memory estimation is inaccurate in some cases
* [KYLIN-2251] - JDBC Driver httpcore dependency conflict
* [KYLIN-2254] - A kind of sub-query does not work
* [KYLIN-2262] - Get "null" error when trigger a build with wrong cube name
* [KYLIN-2268] - Potential NPE in ModelDimensionDesc#init()
* [KYLIN-2271] - Purge cube may delete building segments
* [KYLIN-2275] - Remove dimensions cause wrong remove in advance settings
* [KYLIN-2277] - SELECT * query returns a "COUNT__" column, which is not expected
* [KYLIN-2282] - Step name "Build N-Dimension Cuboid Data : N-Dimension" is inaccurate
* [KYLIN-2284] - intersect_count function error
* [KYLIN-2288] - Kylin treat empty string as error measure which is inconsistent with hive
* [KYLIN-2292] - workaround for CALCITE-1540
* [KYLIN-2297] - Manually edit cube segment start/end time will throw error in UI
* [KYLIN-2298] - timer component get wrong seconds
* [KYLIN-2300] - Show MapReduce waiting time for each build step
* [KYLIN-2301] - ERROR when executing query with subquery in "NOT IN" clause.
* [KYLIN-2305] - Unable to use long searchBase/Pattern for LDAP
* [KYLIN-2313] - Cannot find a cube in a subquery case with count distinct
* [KYLIN-2316] - Build Base Cuboid Data ERROR
* [KYLIN-2320] - TrieDictionaryForest incorrect getSizeOfId() when empty dictionary
* [KYLIN-2326] - ERROR: ArrayIndexOutOfBoundsException: -1
* [KYLIN-2329] - Between 0.06 - 0.01 and 0.06 + 0.01, returns incorrect result
* [KYLIN-2330] - CubeDesc returns redundant DerivedInfo
* [KYLIN-2337] - Remove expensive toString in SortedIteratorMergerWithLimit
* [KYLIN-2340] - Some subquery returns incorrect result
* [KYLIN-2341] - sum(case .. when ..) is not supported
* [KYLIN-2342] - When NoClassDefFoundError occurred in building cube, no error in kylin.log
* [KYLIN-2343] - When syn hive table, got error but actually the table is synced
* [KYLIN-2347] - TPC-H query 13, too many HLLC objects exceed memory budget
* [KYLIN-2348] - TPC-H query 20, requires multiple models in one query
* [KYLIN-2356] - Incorrect result when filter on numeric columns
* [KYLIN-2357] - Make ERROR_RECORD_LOG_THRESHOLD configurable
* [KYLIN-2362] - Unify shell interpreter in scripts to avoid syntax diversity
* [KYLIN-2367] - raw query like select * where ... returns empty columns
* [KYLIN-2376] - Upgrade checkstyle plugin
* [KYLIN-2382] - The column order of "select *" is not as defined in the table
* [KYLIN-2383] - count distinct should not include NULL
* [KYLIN-2390] - Wrong argument order for WinAggResetContextImpl()
* [KYLIN-2391] - Unclosed FileInputStream in KylinConfig#getConfigAsString()
* [KYLIN-2395] - Lots of warning messages about failing to scan jars in kylin.out
* [KYLIN-2406] - TPC-H query 20, prevent NPE and give error hint
* [KYLIN-2407] - TPC-H query 20, routing bug in lookup query and cube query
* [KYLIN-2410] - Global dictionary does not respect the Hadoop configuration in mapper & reducer
* [KYLIN-2416] - Max LDAP password length is 15 chars
* [KYLIN-2419] - Rollback KYLIN-2292 workaround
* [KYLIN-2426] - Tests will fail if env not satisfy hardcoded path in ITHDFSResourceStoreTest
* [KYLIN-2429] - Variable initialized should be declared volatile in SparkCubingByLayer#execute()
* [KYLIN-2430] - Unnecessary exception catching in BulkLoadJob
* [KYLIN-2432] - Couldn't select partition column in some old browser (such as Google Chrome 18.0.1025.162)
* [KYLIN-2433] - Handle the column that all records is null in MergeCuboidMapper
* [KYLIN-2434] - Spark cubing does not respect config kylin.source.hive.database-for-flat-table
* [KYLIN-2440] - Query failed if join condition columns not appear on cube
* [KYLIN-2448] - Cloning a Model with a '-' in the name
* [KYLIN-2449] - Rewrite should not run on OLAPAggregateRel if has no OLAPTable
* [KYLIN-2452] - Throw NoSuchElementException when AggregationGroup size is 0
* [KYLIN-2454] - Data generation tool will fail if column name is hive reserved keyword
* [KYLIN-2457] - Should copy the latest dictionaries on dimension tables in a batch merge job
* [KYLIN-2462] - PK and FK both as dimensions causes save cube failure
* [KYLIN-2464] - Use ConcurrentMap instead of ConcurrentHashMap to avoid runtime errors
* [KYLIN-2465] - Web page still has "Streaming cube build is not supported on UI" statements
* [KYLIN-2474] - Build snapshot should check lookup PK uniqueness
* [KYLIN-2481] - NoRealizationFoundException when there are similar cubes and models
* [KYLIN-2487] - IN condition will convert to subquery join when its elements number exceeds 20
* [KYLIN-2490] - Couldn't get cube size on Azure HDInsight
* [KYLIN-2491] - Cube with error job can be dropped
* [KYLIN-2502] - "Create flat table" and "redistribute table" steps don't show YARN application link
* [KYLIN-2504] - Clone cube didn't keep the "engine_type" property
* [KYLIN-2508] - Trans the time to UTC time when set the range of building cube
* [KYLIN-2510] - Unintended NPE in CubeMetaExtractor#requireProject()
* [KYLIN-2514] - Joins in data model fail to save when they disorder
* [KYLIN-2516] - a table field can not be used as both dimension and measure in kylin 2.0
* [KYLIN-2530] - Build cube failed with NoSuchObjectException, hive table not found 'default.kylin_intermediate_xxxx'
* [KYLIN-2536] - Replace the use of org.codehaus.jackson
* [KYLIN-2537] - HBase Read/Write separation bug introduced by KYLIN-2351
* [KYLIN-2539] - Useless filter dimension will impact cuboid selection.
* [KYLIN-2541] - Beeline SQL not printed in logs
* [KYLIN-2543] - Still build dictionary for TopN group by column even using non-dict encoding
* [KYLIN-2555] - minor issues about acl and granted autority

__Tasks__

* [KYLIN-1799] - Add a document to setup kylin on spark engine?
* [KYLIN-2293] - Refactor KylinConfig to remove test related code
* [KYLIN-2327] - Enable check-style for test code
* [KYLIN-2344] - Package spark into Kylin binary package
* [KYLIN-2368] - Enable Findbugs plugin
* [KYLIN-2386] - Revert KYLIN-2349 and KYLIN-2353
* [KYLIN-2521] - upgrade to calcite 1.12.0


## v1.6.0 - 2016-11-26

_Tag:_ [kylin-1.6.0](https://github.com/apache/kylin/tree/kylin-1.6.0)
This is a major release with better support for using Apache Kafka as data source. Check [how to upgrade](/docs16/howto/howto_upgrade.html) to do the upgrading.

__New Feature__

* [KYLIN-1726] - Scalable streaming cubing
* [KYLIN-1919] - Support Embedded Structure when Parsing Streaming Message
* [KYLIN-2055] - Add an encoder for Boolean type
* [KYLIN-2067] - Add API to check and fill segment holes
* [KYLIN-2079] - add explicit configuration knob for coprocessor timeout
* [KYLIN-2088] - Support intersect count for calculation of retention or conversion rates
* [KYLIN-2125] - Support using beeline to load hive table metadata

__Bug fix__

* [KYLIN-1565] - Read the kv max size from HBase config
* [KYLIN-1820] - Column autocomplete should remove the user input in model designer
* [KYLIN-1828] - java.lang.StringIndexOutOfBoundsException in org.apache.kylin.storage.hbase.util.StorageCleanupJob
* [KYLIN-1967] - Dictionary rounding can cause IllegalArgumentException in GTScanRangePlanner
* [KYLIN-1978] - kylin.sh compatible issue on Ubuntu
* [KYLIN-1990] - The SweetAlert at the front page may out of the page if the content is too long.
* [KYLIN-2007] - CUBOID_CACHE is not cleared when rebuilding ALL cache
* [KYLIN-2012] - more robust approach to hive schema changes
* [KYLIN-2024] - kylin TopN only support the first measure 
* [KYLIN-2027] - Error "connection timed out" occurs when zookeeper's port is set in hbase.zookeeper.quorum of hbase-site.xml
* [KYLIN-2028] - find-*-dependency script fail on Mac OS
* [KYLIN-2035] - Auto Merge Submit Continuously
* [KYLIN-2041] - Wrong parameter definition in Get Hive Tables REST API
* [KYLIN-2043] - Rollback httpclient to 4.2.5 to align with Hadoop 2.6/2.7
* [KYLIN-2044] - Unclosed DataInputByteBuffer in BitmapCounter#peekLength
* [KYLIN-2045] - Wrong argument order in JobInstanceExtractor#executeExtract()
* [KYLIN-2047] - Ineffective null check in MetadataManager
* [KYLIN-2050] - Potentially ineffective call to close() in QueryCli
* [KYLIN-2051] - Potentially ineffective call to IOUtils.closeQuietly()
* [KYLIN-2052] - Edit "Top N" measure, the "group by" column wasn't displayed
* [KYLIN-2059] - Concurrent build issue in CubeManager.calculateToBeSegments()
* [KYLIN-2069] - NPE in LookupStringTable
* [KYLIN-2078] - Can't see generated SQL at Web UI
* [KYLIN-2084] - Unload sample table failed
* [KYLIN-2085] - PrepareStatement return incorrect result in some cases
* [KYLIN-2086] - Still report error when there is more than 12 dimensions in one agg group
* [KYLIN-2093] - Clear cache in CubeMetaIngester
* [KYLIN-2097] - Get 'Column does not exist in row key desc" on cube has TopN measure
* [KYLIN-2099] - Import table error of sample table KYLIN_CAL_DT
* [KYLIN-2106] - UI bug - Advanced Settings - Rowkeys - new Integer dictionary encoding - could possibly impact also cube metadata
* [KYLIN-2109] - Deploy coprocessor only this server own the table
* [KYLIN-2110] - Ineffective comparison in BooleanDimEnc#equals()
* [KYLIN-2114] - WEB-Global-Dictionary bug fix and improve
* [KYLIN-2115] - some extended column query returns wrong answer
* [KYLIN-2116] - when hive field delimitor exists in table field values, fields order is wrong
* [KYLIN-2119] - Wrong chart value and sort when process scientific notation 
* [KYLIN-2120] - kylin1.5.4.1 with cdh5.7 cube sql Oops Faild to take action
* [KYLIN-2121] - Failed to pull data to PowerBI or Excel on some query
* [KYLIN-2127] - UI bug fix for Extend Column
* [KYLIN-2130] - QueryMetrics concurrent bug fix
* [KYLIN-2132] - Unable to pull data from Kylin Cube ( learn_kylin cube ) to Excel or Power BI for Visualization and some dimensions are not showing up.
* [KYLIN-2134] - Kylin will treat empty string as NULL by mistake
* [KYLIN-2137] - Failed to run mr job when user put a kafka jar in hive's lib folder
* [KYLIN-2138] - Unclosed ResultSet in BeelineHiveClient
* [KYLIN-2146] - "Streaming Cluster" page should remove "Margin" inputbox
* [KYLIN-2152] - TopN group by column does not distinguish between NULL and ""
* [KYLIN-2154] - source table rows will be skipped if TOPN's group column contains NULL values
* [KYLIN-2158] - Delete joint dimension not right
* [KYLIN-2159] - Redistribution Hive Table Step always requires row_count filename as 000000_0 
* [KYLIN-2167] - FactDistinctColumnsReducer may get wrong max/min partition col value
* [KYLIN-2173] - push down limit leads to wrong answer when filter is loosened
* [KYLIN-2178] - CubeDescTest is unstable
* [KYLIN-2201] - Cube desc and aggregation group rule combination max check fail
* [KYLIN-2226] - Build Dimension Dictionary Error

__Improvement__

* [KYLIN-1042] - Horizontal scalable solution for streaming cubing
* [KYLIN-1827] - Send mail notification when runtime exception throws during build/merge cube
* [KYLIN-1839] - improvement set classpath before submitting mr job
* [KYLIN-1917] - TopN counter merge performance improvement
* [KYLIN-1962] - Split kylin.properties into two files
* [KYLIN-1999] - Use some compression at UT/IT
* [KYLIN-2019] - Add license checker into checkstyle rule
* [KYLIN-2033] - Refactor broadcast of metadata change
* [KYLIN-2042] - QueryController puts entry in Cache w/o checking QueryCacheEnabled
* [KYLIN-2054] - TimedJsonStreamParser should support other time format
* [KYLIN-2068] - Import hive comment when sync tables
* [KYLIN-2070] - UI changes for allowing concurrent build/refresh/merge
* [KYLIN-2073] - Need timestamp info for diagnose  
* [KYLIN-2075] - TopN measure: need select "constant" + "1" as the SUM|ORDER parameter
* [KYLIN-2076] - Improve sample cube and data
* [KYLIN-2080] - UI: allow multiple building jobs for the same cube
* [KYLIN-2082] - Support to change streaming configuration
* [KYLIN-2089] - Make update HBase coprocessor concurrent
* [KYLIN-2090] - Allow updating cube level config even the cube is ready
* [KYLIN-2091] - Add API to init the start-point (of each parition) for streaming cube
* [KYLIN-2095] - Hive mr job use overrided MR job configuration by cube properties
* [KYLIN-2098] - TopN support query UHC column without sorting by sum value
* [KYLIN-2100] - Allow cube to override HIVE job configuration by properties
* [KYLIN-2108] - Support usage of schema name "default" in SQL
* [KYLIN-2111] - only allow columns from Model dimensions when add group by column to TOP_N
* [KYLIN-2112] - Allow a column be a dimension as well as "group by" column in TopN measure
* [KYLIN-2113] - Need sort by columns in SQLDigest
* [KYLIN-2118] - allow user view CubeInstance json even cube is ready
* [KYLIN-2122] - Move the partition offset calculation before submitting job
* [KYLIN-2126] - use column name as default dimension name when auto generate dimension for lookup table
* [KYLIN-2140] - rename packaged js with different name when build
* [KYLIN-2143] - allow more options from Extended Columns,COUNT_DISTINCT,RAW_TABLE
* [KYLIN-2162] - Improve the cube validation error message
* [KYLIN-2221] - rethink on KYLIN-1684
* [KYLIN-2083] - more RAM estimation test for MeasureAggregator and GTAggregateScanner
* [KYLIN-2105] - add QueryId
* [KYLIN-1321] - Add derived checkbox for lookup table columns on Auto Generate Dimensions panel
* [KYLIN-1995] - Upgrade MapReduce properties which are deprecated

__Task__

* [KYLIN-2072] - Cleanup old streaming code
* [KYLIN-2081] - UI change to support embeded streaming message
* [KYLIN-2171] - Release 1.6.0


## v1.5.4.1 - 2016-09-28
_Tag:_ [kylin-1.5.4.1](https://github.com/apache/kylin/tree/kylin-1.5.4.1)
This version fixes two major bugs introduced in 1.5.4; The metadata and HBase coprocessor is compatible with 1.5.4.

__Bug fix__

* [KYLIN-2010] - Date dictionary return wrong SQL result
* [KYLIN-2026] - NPE occurs when build a cube without partition column
* [KYLIN-2032] - Cube build failed when partition column isn't in dimension list

## v1.5.4 - 2016-09-15
_Tag:_ [kylin-1.5.4](https://github.com/apache/kylin/tree/kylin-1.5.4)
This version includes bug fixs/enhancements as well as new features; It is backward compatiple with v1.5.3; While after upgrade, you still need update coprocessor, refer to [How to update coprocessor](/docs15/howto/howto_update_coprocessor.html).

__New Feature__

* [KYLIN-1732] - Support Window Function
* [KYLIN-1767] - UI for TopN: specify encoding and multiple "group by"
* [KYLIN-1849] - Search cube by name in Web UI
* [KYLIN-1908] - Collect Metrics to JMX
* [KYLIN-1921] - Support Grouping Funtions
* [KYLIN-1964] - Add a companion tool of CubeMetaExtractor for cube importing

__Bug__

* [KYLIN-962] - [UI] Cube Designer can't drag rowkey normally
* [KYLIN-1194] - Filter(CubeName) on Jobs/Monitor page works only once
* [KYLIN-1488] - When modifying a model, Save after deleting a lookup table. The internal error will pop up.
* [KYLIN-1760] - Save query hits org.apache.hadoop.hbase.TableNotFoundException: kylin_metadata_user
* [KYLIN-1808] - unload non existing table cause NPE
* [KYLIN-1834] - java.lang.IllegalArgumentException: Value not exists! - in Step 4 - Build Dimension Dictionary
* [KYLIN-1883] - Consensus Problem when running the tool, MetadataCleanupJob
* [KYLIN-1889] - Didn't deal with the failure of renaming folder in hdfs when running the tool CubeMigrationCLI
* [KYLIN-1929] - Error to load slow query in "Monitor" page for non-admin user
* [KYLIN-1933] - Deploy in cluster mode, the "query" node report "scheduler has not been started" every second
* [KYLIN-1934] - 'Value not exist' During Cube Merging Caused by Empty Dict
* [KYLIN-1939] - Linkage error while executing any queries
* [KYLIN-1942] - Models are missing after change project's name
* [KYLIN-1953] - Error handling for diagnosis
* [KYLIN-1956] - Can't query from child cube of a hybrid cube after its status changed from disabled to enabled
* [KYLIN-1961] - Project name is always constant instead of real project name in email notification
* [KYLIN-1970] - System Menu UI ACL issue
* [KYLIN-1972] - Access denied when query seek to hybrid
* [KYLIN-1973] - java.lang.NegativeArraySizeException when Build Dimension Dictionary
* [KYLIN-1982] - CubeMigrationCLI: associate model with project
* [KYLIN-1986] - CubeMigrationCLI: make global dictionary unique
* [KYLIN-1992] - Clear ThreadLocal Contexts when query failed before scaning HBase
* [KYLIN-1996] - Keep original column order when designing cube
* [KYLIN-1998] - Job engine lock is not release at shutdown
* [KYLIN-2003] - error start time at query result page
* [KYLIN-2005] - Move all storage side behavior hints to GTScanRequest

__Improvement__

* [KYLIN-672] - Add Env and Project Info in job email notification
* [KYLIN-1702] - The Key of the Snapshot to the related lookup table may be not informative
* [KYLIN-1855] - Should exclude those joins in whose related lookup tables no dimensions are used in cube
* [KYLIN-1858] - Remove all InvertedIndex(Streaming purpose) related codes and tests
* [KYLIN-1866] - Add tip for field at 'Add Streaming' table page.
* [KYLIN-1867] - Upgrade dependency libraries
* [KYLIN-1874] - Make roaring bitmap version determined
* [KYLIN-1898] - Upgrade to Avatica 1.8 or higher
* [KYLIN-1904] - WebUI for GlobalDictionary
* [KYLIN-1906] - Add more comments and default value for kylin.properties
* [KYLIN-1910] - Support Separate HBase Cluster with NN HA and Kerberos Authentication
* [KYLIN-1920] - Add view CubeInstance json function
* [KYLIN-1922] - Improve the logic to decide whether to pre aggregate on Region server
* [KYLIN-1923] - Add access controller to query
* [KYLIN-1924] - Region server metrics: replace int type for long type for scanned row count
* [KYLIN-1925] - Do not allow cross project clone for cube
* [KYLIN-1926] - Loosen the constraint on FK-PK data type matching
* [KYLIN-1936] - Improve enable limit logic (exactAggregation is too strict)
* [KYLIN-1940] - Add owner for DataModel
* [KYLIN-1941] - Show submitter for slow query
* [KYLIN-1954] - BuildInFunctionTransformer should be executed per CubeSegmentScanner
* [KYLIN-1963] - Delegate the loading of certain package (like slf4j) to tomcat's parent classloader
* [KYLIN-1965] - Check duplicated measure name
* [KYLIN-1966] - Refactor IJoinedFlatTableDesc
* [KYLIN-1979] - Move hackNoGroupByAggregation to cube-based storage implementations
* [KYLIN-1984] - Don't use compression in packaging configuration
* [KYLIN-1985] - SnapshotTable should only keep the columns described in tableDesc
* [KYLIN-1997] - Add pivot feature back in query result page
* [KYLIN-2004] - Make the creating intermediate hive table steps configurable (two options)

## v1.5.3 - 2016-07-28
_Tag:_ [kylin-1.5.3](https://github.com/apache/kylin/tree/kylin-1.5.3)
This version includes many bug fixs/enhancements as well as new features; It is backward compatiple with v1.5.2; But after upgrade, you need to update coprocessor, refer to [How to update coprocessor](/docs15/howto/howto_update_coprocessor.html).

__New Feature__

* [KYLIN-1478] - TopN measure should support non-dictionary encoding for ultra high cardinality
* [KYLIN-1693] - Support multiple group-by columns for TOP_N meausre
* [KYLIN-1752] - Add an option to fail cube build job when source table is empty
* [KYLIN-1756] - Allow user to run MR jobs against different Hadoop queues

__Bug fix__

* [KYLIN-1499] - Couldn't save query, error in backend
* [KYLIN-1568] - Calculate row value buffer size instead of hard coded ROWVALUE_BUFFER_SIZE
* [KYLIN-1645] - Exception inside coprocessor should report back to the query thread
* [KYLIN-1646] - Column appeared twice if it was declared as both dimension and measure
* [KYLIN-1676] - High CPU in TrieDictionary due to incorrect use of HashMap
* [KYLIN-1679] - bin/get-properties.sh cannot get property which contains space or equals sign
* [KYLIN-1684] - query on table "kylin_sales" return empty resultset after cube "kylin_sales_cube" which generated by sample.sh is ready
* [KYLIN-1694] - make multiply coefficient configurable when estimating cuboid size
* [KYLIN-1695] - Skip cardinality calculation job when loading hive table
* [KYLIN-1703] - The not-thread-safe ToolRunner.run() will cause concurrency issue in job engine
* [KYLIN-1704] - When load empty snapshot, NULL Pointer Exception occurs
* [KYLIN-1723] - GTAggregateScanner$Dump.flush() must not write the WHOLE metrics buffer
* [KYLIN-1738] - MRJob Id is not saved to kylin jobs if MR job is killed
* [KYLIN-1742] - kylin.sh should always set KYLIN_HOME to an absolute path
* [KYLIN-1755] - TopN Measure IndexOutOfBoundsException
* [KYLIN-1760] - Save query hits org.apache.hadoop.hbase.TableNotFoundException: kylin_metadata_user
* [KYLIN-1762] - Query threw NPE with 3 or more join conditions
* [KYLIN-1769] - There is no response when click "Property" button at Cube Designer
* [KYLIN-1777] - Streaming cube build shouldn't check working segment
* [KYLIN-1780] - Potential issue in SnapshotTable.equals()
* [KYLIN-1781] - kylin.properties encoding error while contain chinese prop key or value
* [KYLIN-1783] - Can't add override property at cube design 'Configuration Overwrites' step.
* [KYLIN-1785] - NoSuchElementException when Mandatory Dimensions contains all Dimensions
* [KYLIN-1787] - Properly deal with limit clause in CubeHBaseEndpointRPC (SELECT * problem)
* [KYLIN-1788] - Allow arbitrary number of mandatory dimensions in one aggregation group
* [KYLIN-1789] - Couldn't use View as Lookup when join type is "inner"
* [KYLIN-1795] - bin/sample.sh doesn't work when configured hive client is beeline
* [KYLIN-1800] - IllegalArgumentExceptio: Too many digits for NumberDictionary: -0.009999999999877218. Expect 19 digits before decimal point at max.
* [KYLIN-1803] - ExtendedColumn Measure Encoding with Non-ascii Characters
* [KYLIN-1811] - Error step may be skipped sometimes when resume a cube job
* [KYLIN-1816] - More than one base KylinConfig exist in spring JVM
* [KYLIN-1817] - No result from JDBC with Date filter in prepareStatement
* [KYLIN-1838] - Fix sample cube definition
* [KYLIN-1848] - Can't sort cubes by any field in Web UI
* [KYLIN-1862] - "table not found" in "Build Dimension Dictionary" step
* [KYLIN-1879] - RestAPI /api/jobs always returns 0 for exec_start_time and exec_end_time fields
* [KYLIN-1882] - it report can't find the intermediate table in '#4 Step Name: Build Dimension Dictionary' when use hive view as lookup table
* [KYLIN-1896] - JDBC support mybatis
* [KYLIN-1905] - Wrong Default Date in Cube Build Web UI
* [KYLIN-1909] - Wrong access control to rest get cubes
* [KYLIN-1911] - NPE when extended column has NULL value
* [KYLIN-1912] - Create Intermediate Flat Hive Table failed when using beeline
* [KYLIN-1913] - query log printed abnormally if the query contains "\r" (not "\r\n")
* [KYLIN-1918] - java.lang.UnsupportedOperationException when unload hive table

__Improvement__

* [KYLIN-1319] - Find a better way to check hadoop job status
* [KYLIN-1379] - More stable and functional precise count distinct implements after KYLIN-1186
* [KYLIN-1656] - Improve performance of MRv2 engine by making each mapper handles a configured number of records
* [KYLIN-1657] - Add new configuration kylin.job.mapreduce.min.reducer.number
* [KYLIN-1669] - Deprecate the "Capacity" field from DataModel
* [KYLIN-1677] - Distribute source data by certain columns when creating flat table
* [KYLIN-1705] - Global (and more scalable) dictionary
* [KYLIN-1706] - Allow cube to override MR job configuration by properties
* [KYLIN-1714] - Make job/source/storage engines configurable from kylin.properties
* [KYLIN-1717] - Make job engine scheduler configurable
* [KYLIN-1718] - Grow ByteBuffer Dynamically in Cube Building and Query
* [KYLIN-1719] - Add config in scan request to control compress the query result or not
* [KYLIN-1724] - Support Amazon EMR
* [KYLIN-1725] - Use KylinConfig inside coprocessor
* [KYLIN-1728] - Introduce dictionary metadata
* [KYLIN-1731] - allow non-admin user to edit 'Advenced Setting' step in CubeDesigner
* [KYLIN-1747] - Calculate all 0 (except mandatory) cuboids
* [KYLIN-1749] - Allow mandatory only cuboid
* [KYLIN-1751] - Make kylin log configurable
* [KYLIN-1766] - CubeTupleConverter.translateResult() is slow due to date conversion
* [KYLIN-1775] - Add Cube Migrate Support for Global Dictionary
* [KYLIN-1782] - API redesign for CubeDesc
* [KYLIN-1786] - Frontend work for KYLIN-1313 (extended columns as measure)
* [KYLIN-1792] - behaviours for non-aggregated queries
* [KYLIN-1805] - It's easily got stuck when deleting HTables during running the StorageCleanupJob
* [KYLIN-1815] - Cleanup package size
* [KYLIN-1818] - change kafka dependency to provided
* [KYLIN-1821] - Reformat all of the java files and enable checkstyle to enforce code formatting
* [KYLIN-1823] - refactor kylin-server packaging
* [KYLIN-1846] - minimize dependencies of JDBC driver
* [KYLIN-1884] - Reload metadata automatically after migrating cube
* [KYLIN-1894] - GlobalDictionary may corrupt when server suddenly crash
* [KYLIN-1744] - Separate concepts of source offset and date range on cube segments
* [KYLIN-1654] - Upgrade httpclient dependency
* [KYLIN-1774] - Update Kylin's tomcat version to 7.0.69
* [KYLIN-1861] - Hive may fail to create flat table with "GC overhead error"

## v1.5.2.1 - 2016-06-07
_Tag:_ [kylin-1.5.2.1](https://github.com/apache/kylin/tree/kylin-1.5.2.1)

This is a hot-fix version on v1.5.2, no new feature introduced, please upgrade to this version;

__Bug fix__

* [KYLIN-1758] - createLookupHiveViewMaterializationStep will create intermediate table for fact table
* [KYLIN-1739] - kylin_job_conf_inmem.xml can impact non-inmem MR job


## v1.5.2 - 2016-05-26
_Tag:_ [kylin-1.5.2](https://github.com/apache/kylin/tree/kylin-1.5.2)

This version is backward compatiple with v1.5.1. But after upgrade to v1.5.2 from v1.5.1, you need to update coprocessor, refer to [How to update coprocessor](/docs15/howto/howto_update_coprocessor.html).

__Highlights__

* [KYLIN-1077] - Support Hive View as Lookup Table
* [KYLIN-1515] - Make Kylin run on MapR
* [KYLIN-1600] - Download diagnosis zip from GUI
* [KYLIN-1672] - support kylin on cdh 5.7

__New Feature__

* [KYLIN-1016] - Count distinct on any dimension should work even not a predefined measure
* [KYLIN-1077] - Support Hive View as Lookup Table
* [KYLIN-1441] - Display time column as partition column
* [KYLIN-1515] - Make Kylin run on MapR
* [KYLIN-1600] - Download diagnosis zip from GUI
* [KYLIN-1672] - support kylin on cdh 5.7

__Improvement__

* [KYLIN-869] - Enhance mail notification
* [KYLIN-955] - HiveColumnCardinalityJob should use configurations in conf/kylin_job_conf.xml
* [KYLIN-1313] - Enable deriving dimensions on non PK/FK
* [KYLIN-1323] - Improve performance of converting data to hfile
* [KYLIN-1340] - Tools to extract all cube/hybrid/project related metadata to facilitate diagnosing/debugging/* sharing
* [KYLIN-1381] - change RealizationCapacity from three profiles to specific numbers
* [KYLIN-1391] - quicker and better response to v2 storage engine's rpc timeout exception
* [KYLIN-1418] - Memory hungry cube should select LAYER and INMEM cubing smartly
* [KYLIN-1432] - For GUI, to add one option "yyyy-MM-dd HH:MM:ss" for Partition Date Column
* [KYLIN-1453] - cuboid sharding based on specific column
* [KYLIN-1487] - attach a hyperlink to introduce new aggregation group
* [KYLIN-1526] - Move query cache back to query controller level
* [KYLIN-1542] - Hfile owner is not hbase
* [KYLIN-1544] - Make hbase encoding and block size configurable just like hbase compression
* [KYLIN-1561] - Refactor storage engine(v2) to be extension friendly
* [KYLIN-1566] - Add and use a separate kylin_job_conf.xml for in-mem cubing
* [KYLIN-1567] - Front-end work for KYLIN-1557
* [KYLIN-1578] - Coprocessor thread voluntarily stop itself when it reaches timeout
* [KYLIN-1579] - IT preparation classes like BuildCubeWithEngine should exit with status code upon build * exception
* [KYLIN-1580] - Use 1 byte instead of 8 bytes as column indicator in fact distinct MR job
* [KYLIN-1584] - Specify region cut size in cubedesc and leave the RealizationCapacity in model as a hint
* [KYLIN-1585] - make MAX_HBASE_FUZZY_KEYS in GTScanRangePlanner configurable
* [KYLIN-1587] - show cube level configuration overwrites properties in CubeDesigner
* [KYLIN-1591] - enabling different block size setting for small column families
* [KYLIN-1599] - Add "isShardBy" flag in rowkey panel
* [KYLIN-1601] - Need not to shrink scan cache when hbase rows can be large
* [KYLIN-1602] - User could dump hbase usage for diagnosis
* [KYLIN-1614] - Bring more information in diagnosis tool
* [KYLIN-1621] - Use deflate level 1 to enable compression "on the fly"
* [KYLIN-1623] - Make the hll precision for data samping configurable
* [KYLIN-1624] - HyperLogLogPlusCounter will become inaccurate when there're billions of entries
* [KYLIN-1625] - GC log overwrites old one after restart Kylin service
* [KYLIN-1627] - add backdoor toggle to dump binary cube storage response for further analysis
* [KYLIN-1731] - allow non-admin user to edit 'Advenced Setting' step in CubeDesigner

__Bug fix__

* [KYLIN-989] - column width is too narrow for timestamp field
* [KYLIN-1197] - cube data not updated after purge
* [KYLIN-1305] - Can not get more than one system admin email in config
* [KYLIN-1551] - Should check and ensure TopN measure has two parameters specified
* [KYLIN-1563] - Unsafe check of initiated in HybridInstance#init()
* [KYLIN-1569] - Select any column when adding a custom aggregation in GUI
* [KYLIN-1574] - Unclosed ResultSet in QueryService#getMetadata()
* [KYLIN-1581] - NPE in Job engine when execute MR job
* [KYLIN-1593] - Agg group info will be blank when trying to edit cube
* [KYLIN-1595] - columns in metric could also be in filter/groupby
* [KYLIN-1596] - UT fail, due to String encoding CharsetEncoder mismatch
* [KYLIN-1598] - cannot run complete UT at windows dev machine
* [KYLIN-1604] - Concurrent write issue on hdfs when deploy coprocessor
* [KYLIN-1612] - Cube is ready but insight tables not result
* [KYLIN-1615] - UT 'HiveCmdBuilderTest' fail on 'testBeeline'
* [KYLIN-1619] - Can't find any realization coursed by Top-N measure
* [KYLIN-1622] - sql not executed and report topN error
* [KYLIN-1631] - Web UI of TopN, "group by" column couldn't be a dimension column
* [KYLIN-1634] - Unclosed OutputStream in SSHClient#scpFileToLocal()
* [KYLIN-1637] - Sample cube build error
* [KYLIN-1638] - Unclosed HBaseAdmin in ToolUtil#getHBaseMetaStoreId()
* [KYLIN-1639] - Wrong logging of JobID in MapReduceExecutable.java
* [KYLIN-1643] - Kylin's hll counter count "NULL" as a value
* [KYLIN-1647] - Purge a cube, and then build again, the start date is not updated
* [KYLIN-1650] - java.io.IOException: Filesystem closed - in Cube Build Step 2 (MapR)
* [KYLIN-1655] - function name 'getKylinPropertiesAsInputSteam' misspelt
* [KYLIN-1660] - Streaming/kafka config not match with table name
* [KYLIN-1662] - tableName got truncated during request mapping for /tables/tableName
* [KYLIN-1666] - Should check project selection before add a stream table
* [KYLIN-1667] - Streaming table name should allow enter "DB.TABLE" format
* [KYLIN-1673] - make sure metadata in 1.5.2 compatible with 1.5.1
* [KYLIN-1678] - MetaData clean just clean FINISHED and DISCARD jobs,but job correct status is SUCCEED
* [KYLIN-1685] - error happens while execute a sql contains '?' using Statement
* [KYLIN-1688] - Illegal char on result dataset table
* [KYLIN-1721] - KylinConfigExt lost base properties when store into file
* [KYLIN-1722] - IntegerDimEnc serialization exception inside coprocessor

## v1.5.1 - 2016-04-13
_Tag:_ [kylin-1.5.1](https://github.com/apache/kylin/tree/kylin-1.5.1)

This version is backward compatiple with v1.5.0. But after upgrade to v1.5.1 from v1.5.0, you need to update coprocessor, refer to [How to update coprocessor](/docs15/howto/howto_update_coprocessor.html).

__Highlights__

* [KYLIN-1122] - Kylin support detail data query from fact table
* [KYLIN-1492] - Custom dimension encoding
* [KYLIN-1495] - Metadata upgrade from 1.0~1.3 to 1.5, including metadata correction, relevant tools, etc.
* [KYLIN-1534] - Cube specific config, override global kylin.properties
* [KYLIN-1546] - Tool to dump information for diagnosis

__New Feature__

* [KYLIN-1122] - Kylin support detail data query from fact table
* [KYLIN-1378] - Add UI for TopN measure
* [KYLIN-1492] - Custom dimension encoding
* [KYLIN-1495] - Metadata upgrade from 1.0~1.3 to 1.5, including metadata correction, relevant tools, etc.
* [KYLIN-1501] - Run some classes at the beginning of kylin server startup
* [KYLIN-1503] - Print version information with kylin.sh
* [KYLIN-1531] - Add smoke test scripts
* [KYLIN-1534] - Cube specific config, override global kylin.properties
* [KYLIN-1540] - REST API for deleting segment
* [KYLIN-1541] - IntegerDimEnc, custom dimension encoding for integers
* [KYLIN-1546] - Tool to dump information for diagnosis
* [KYLIN-1550] - Persist some recent bad query

__Improvement__

* [KYLIN-1490] - Use InstallShield 2015 to generate ODBC Driver setup files
* [KYLIN-1498] - cube desc signature not calculated correctly
* [KYLIN-1500] - streaming_fillgap cause out of memory
* [KYLIN-1502] - When cube is not empty, only signature consistent cube desc updates are allowed
* [KYLIN-1504] - Use NavigableSet to store rowkey and use prefix filter to check resource path prefix instead String comparison on tomcat side
* [KYLIN-1505] - Combine guava filters with Predicates.and
* [KYLIN-1543] - GTFilterScanner performance tuning
* [KYLIN-1557] - Enhance the check on aggregation group dimension number

__Bug fix__

* [KYLIN-1373] - need to encode export query url to get right result in query page
* [KYLIN-1434] - Kylin Job Monitor API: /kylin/api/jobs is too slow in large kylin deployment
* [KYLIN-1472] - Export csv get error when there is a plus sign in the sql
* [KYLIN-1486] - java.lang.IllegalArgumentException: Too many digits for NumberDictionary
* [KYLIN-1491] - Should return base cuboid as valid cuboid if no aggregation group matches
* [KYLIN-1493] - make ExecutableManager.getInstance thread safe
* [KYLIN-1497] - Make three <class>.getInstance thread safe
* [KYLIN-1507] - Couldn't find hive dependency jar on some platform like CDH
* [KYLIN-1513] - Time partitioning doesn't work across multiple days
* [KYLIN-1514] - MD5 validation of Tomcat does not work when package tar
* [KYLIN-1521] - Couldn't refresh a cube segment whose start time is before 1970-01-01
* [KYLIN-1522] - HLLC is incorrect when result is feed from cache
* [KYLIN-1524] - Get "java.lang.Double cannot be cast to java.lang.Long" error when Top-N metris data type is BigInt
* [KYLIN-1527] - Columns with all NULL values can't be queried
* [KYLIN-1537] - Failed to create flat hive table, when name is too long
* [KYLIN-1538] - DoubleDeltaSerializer cause obvious error after deserialize and serialize
* [KYLIN-1553] - Cannot find rowkey column "COL_NAME" in cube CubeDesc
* [KYLIN-1564] - Unclosed table in BuildCubeWithEngine#checkHFilesInHBase()
* [KYLIN-1569] - Select any column when adding a custom aggregation in GUI

## v1.5.0 - 2016-03-12
_Tag:_ [kylin-1.5.0](https://github.com/apache/kylin/tree/kylin-1.5.0)

__This version is not backward compatible.__ The format of cube and metadata has been refactored in order to get times of performance improvement. We recommend this version, but does not suggest upgrade from previous deployment directly. A clean and new deployment of this version is strongly recommended. If you have to upgrade from previous deployment, an upgrade guide will be provided by community later.

__Highlights__

* [KYLIN-875] - A plugin-able architecture, to allow alternative cube engine / storage engine / data source.
* [KYLIN-1245] - A better MR cubing algorithm, about 1.5 times faster by comparing hundreds of jobs.
* [KYLIN-942] - A better storage engine, makes query roughly 2 times faster (especially for slow queries) by comparing tens of thousands sqls.
* [KYLIN-738] - Streaming cubing EXPERIMENTAL support, source from kafka, build cube in-mem at minutes interval.
* [KYLIN-242] - Redesign aggregation group, support of 20+ dimensions made easy.
* [KYLIN-976] - Custom aggregation types (or UDF in other words).
* [KYLIN-943] - TopN aggregation type.
* [KYLIN-1065] - ODBC compatible with Tableau 9.1, MS Excel, MS PowerBI.
* [KYLIN-1219] - Kylin support SSO with Spring SAML.

__New Feature__

* [KYLIN-528] - Build job flow for Inverted Index building
* [KYLIN-579] - Unload table from Kylin
* [KYLIN-596] - Support Excel and Power BI
* [KYLIN-599] - Near real-time support
* [KYLIN-607] - More efficient cube building
* [KYLIN-609] - Add Hybrid as a federation of Cube and Inverted-index realization
* [KYLIN-625] - Create GridTable, a data structure that abstracts vertical and horizontal partition of a table
* [KYLIN-728] - IGTStore implementation which use disk when memory runs short
* [KYLIN-738] - StreamingOLAP
* [KYLIN-749] - support timestamp type in II and cube
* [KYLIN-774] - Automatically merge cube segments
* [KYLIN-868] - add a metadata backup/restore script in bin folder
* [KYLIN-886] - Data Retention for streaming data
* [KYLIN-906] - cube retention
* [KYLIN-943] - Approximate TopN supported by Cube
* [KYLIN-986] - Generalize Streaming scripts and put them into code repository
* [KYLIN-1219] - Kylin support SSO with Spring SAML
* [KYLIN-1277] - Upgrade tool to put old-version cube and new-version cube into a hybrid model
* [KYLIN-1458] - Checking the consistency of cube segment host with the environment after cube migration

* [KYLIN-976] - Support Custom Aggregation Types
* [KYLIN-1054] - Support Hive client Beeline
* [KYLIN-1128] - Clone Cube Metadata
* [KYLIN-1186] - Support precise Count Distinct using bitmap (under limited conditions)
* [KYLIN-1458] - Checking the consistency of cube segment host with the environment after cube migration
* [KYLIN-1483] - Command tool to visualize all cuboids in a cube/segment

__Improvement__

* [KYLIN-225] - Support edit "cost" of cube
* [KYLIN-410] - table schema not expand when clicking the database text
* [KYLIN-589] - Cleanup Intermediate hive table after cube build
* [KYLIN-623] - update Kylin UI Style to latest AdminLTE
* [KYLIN-633] - Support Timestamp for cube partition
* [KYLIN-649] - move the cache layer from service tier back to storage tier
* [KYLIN-655] - Migrate cube storage (query side) to use GridTable API
* [KYLIN-663] - Push time condition down to ii endpoint
* [KYLIN-668] - Out of memory in mapper when building cube in mem
* [KYLIN-671] - Implement fine grained cache for cube and ii
* [KYLIN-674] - IIEndpoint return metrics as well
* [KYLIN-675] - cube&model designer refactor
* [KYLIN-678] - optimize RowKeyColumnIO
* [KYLIN-697] - Reorganize all test cases to unit test and integration tests
* [KYLIN-702] - When Kylin create the flat hive table, it generates large number of small files in HDFS
* [KYLIN-708] - replace BitSet for AggrKey
* [KYLIN-712] - some enhancement after code review
* [KYLIN-717] - optimize OLAPEnumerator.convertCurrentRow()
* [KYLIN-718] - replace aliasMap in storage context with a clear specified return column list
* [KYLIN-719] - bundle statistics info in endpoint response
* [KYLIN-720] - Optimize endpoint's response structure to suit with no-dictionary data
* [KYLIN-721] - streaming cli support third-party streammessage parser
* [KYLIN-726] - add remote cli port configuration for KylinConfig
* [KYLIN-729] - IIEndpoint eliminate the non-aggregate routine
* [KYLIN-734] - Push cache layer to each storage engine
* [KYLIN-752] - Improved IN clause performance
* [KYLIN-753] - Make the dependency on hbase-common to "provided"
* [KYLIN-755] - extract copying libs from prepare.sh so that it can be reused
* [KYLIN-760] - Improve the hasing performance in Sampling cuboid size
* [KYLIN-772] - Continue cube job when hive query return empty resultset
* [KYLIN-773] - performance is slow list jobs
* [KYLIN-783] - update hdp version in test cases to 2.2.4
* [KYLIN-796] - Add REST API to trigger storage cleanup/GC
* [KYLIN-809] - Streaming cubing allow multiple kafka clusters/topics
* [KYLIN-816] - Allow gap in cube segments, for streaming case
* [KYLIN-822] - list cube overview in one page
* [KYLIN-823] - replace fk on fact table on rowkey & aggregation group generate
* [KYLIN-838] - improve performance of job query
* [KYLIN-844] - add backdoor toggles to control query behavior
* [KYLIN-845] - Enable coprocessor even when there is memory hungry distinct count
* [KYLIN-858] - add snappy compression support
* [KYLIN-866] - Confirm with user when he selects empty segments to merge
* [KYLIN-869] - Enhance mail notification
* [KYLIN-870] - Speed up hbase segments info by caching
* [KYLIN-871] - growing dictionary for streaming case
* [KYLIN-874] - script for fill streaming gap automatically
* [KYLIN-875] - Decouple with Hadoop to allow alternative Input / Build Engine / Storage
* [KYLIN-879] - add a tool to collect orphan hbases
* [KYLIN-880] - Kylin should change the default folder from /tmp to user configurable destination
* [KYLIN-881] - Upgrade Calcite to 1.3.0
* [KYLIN-882] - check access to kylin.hdfs.working.dir
* [KYLIN-883] - Using configurable option for Hive intermediate tables created by Kylin job
* [KYLIN-893] - Remove the dependency on quartz and metrics
* [KYLIN-895] - Add "retention_range" attribute for cube instance, and automatically drop the oldest segment when exceeds retention
* [KYLIN-896] - Clean ODBC code, add them into main repository and write docs to help compiling
* [KYLIN-901] - Add tool for cleanup Kylin metadata storage
* [KYLIN-902] - move streaming related parameters into StreamingConfig
* [KYLIN-909] - Adapt GTStore to hbase endpoint
* [KYLIN-919] - more friendly UI for 0.8
* [KYLIN-922] - Enforce same code style for both intellij and eclipse user
* [KYLIN-926] - Make sure Kylin leaves no garbage files in local OS and HDFS/HBASE
* [KYLIN-927] - Real time cubes merging skipping gaps
* [KYLIN-933] - friendly UI to use data model
* [KYLIN-938] - add friendly tip to page when rest request failed
* [KYLIN-942] - Cube parallel scan on Hbase
* [KYLIN-956] - Allow users to configure hbase compression algorithm in kylin.properties
* [KYLIN-957] - Support HBase in a separate cluster
* [KYLIN-960] - Split storage module to core-storage and storage-hbase
* [KYLIN-973] - add a tool to analyse streaming output logs
* [KYLIN-984] - Behavior change in streaming data consuming
* [KYLIN-987] - Rename 0.7-staging and 0.8 branch
* [KYLIN-1014] - Support kerberos authentication while getting status from RM
* [KYLIN-1018] - make TimedJsonStreamParser default parser
* [KYLIN-1019] - Remove v1 cube model classes from code repository
* [KYLIN-1021] - upload dependent jars of kylin to HDFS and set tmpjars
* [KYLIN-1025] - Save cube change is very slow
* [KYLIN-1036] - Code Clean, remove code which never used at front end
* [KYLIN-1041] - ADD Streaming UI
* [KYLIN-1048] - CPU and memory killer in Cuboid.findById()
* [KYLIN-1058] - Remove "right join" during model creation
* [KYLIN-1061] - "kylin.sh start" should check whether kylin has already been running
* [KYLIN-1064] - restore disabled queries in KylinQueryTest.testVerifyQuery
* [KYLIN-1065] - ODBC driver support tableau 9.1
* [KYLIN-1068] - Optimize the memory footprint for TopN counter
* [KYLIN-1069] - update tip for 'Partition Column' on UI
* [KYLIN-1074] - Load hive tables with selecting mode
* [KYLIN-1095] - Update AdminLTE to latest version
* [KYLIN-1096] - Deprecate minicluster
* [KYLIN-1099] - Support dictionary of cardinality over 10 millions
* [KYLIN-1101] - Allow "YYYYMMDD" as a date partition column
* [KYLIN-1105] - Cache in AbstractRowKeyEncoder.createInstance() is useless
* [KYLIN-1116] - Use local dictionary for InvertedIndex batch building
* [KYLIN-1119] - refine find-hive-dependency.sh to correctly get hcatalog path
* [KYLIN-1126] - v2 storage(for parallel scan) backward compatibility with v1 storage
* [KYLIN-1135] - Pscan use share thread pool
* [KYLIN-1136] - Distinguish fast build mode and complete build mode
* [KYLIN-1139] - Hive job not starting due to error "conflicting lock present for default mode EXCLUSIVE "
* [KYLIN-1149] - When yarn return an incomplete job tracking URL, Kylin will fail to get job status
* [KYLIN-1154] - Load job page is very slow when there are a lot of history job
* [KYLIN-1157] - CubeMigrationCLI doesn't copy ACL
* [KYLIN-1160] - Set default logger appender of log4j for JDBC
* [KYLIN-1161] - Rest API /api/cubes?cubeName= is doing fuzzy match instead of exact match
* [KYLIN-1162] - Enhance HadoopStatusGetter to be compatible with YARN-2605
* [KYLIN-1190] - Make memory budget per query configurable
* [KYLIN-1211] - Add 'Enable Cache' button in System page
* [KYLIN-1234] - Cube ACL does not work
* [KYLIN-1235] - allow user to select dimension column as options when edit COUNT_DISTINCT measure
* [KYLIN-1237] - Revisit on cube size estimation
* [KYLIN-1239] - attribute each htable with team contact and owner name
* [KYLIN-1244] - In query window, enable fast copy&paste by double clicking tables/columns' names.
* [KYLIN-1245] - Switch between layer cubing and in-mem cubing according to stats
* [KYLIN-1246] - get cubes API update - offset,limit not required
* [KYLIN-1251] - add toggle event for tree label
* [KYLIN-1259] - Change font/background color of job progress
* [KYLIN-1265] - Make sure 1.4-rc query is no slower than 1.0
* [KYLIN-1266] - Tune release package size
* [KYLIN-1267] - Check Kryo performance when spilling aggregation cache
* [KYLIN-1268] - Fix 2 kylin logs
* [KYLIN-1270] - improve TimedJsonStreamParser to support month_start,quarter_start,year_start
* [KYLIN-1281] - Add "partition_date_end", and move "partition_date_start" into cube descriptor
* [KYLIN-1283] - Replace GTScanRequest's SerDer form Kryo to manual
* [KYLIN-1287] - UI update for streaming build action
* [KYLIN-1297] - Diagnose query performance issues in 1.4 branch
* [KYLIN-1301] - fix segment pruning failure
* [KYLIN-1308] - query storage v2 enable parallel cube visiting
* [KYLIN-1312] - Enhance DeployCoprocessorCLI to support Cube level filter
* [KYLIN-1317] - Kill underlying running hadoop job while discard a job
* [KYLIN-1318] - enable gc log for kylin server instance
* [KYLIN-1323] - Improve performance of converting data to hfile
* [KYLIN-1327] - Tool for batch updating host information of htables
* [KYLIN-1333] - Kylin Entity Permission Control
* [KYLIN-1334] - allow truncating string for fixed length dimensions
* [KYLIN-1341] - Display JSON of Data Model in the dialog
* [KYLIN-1350] - hbase Result.binarySearch is found to be problematic in concurrent environments
* [KYLIN-1365] - Kylin ACL enhancement
* [KYLIN-1368] - JDBC Driver is not generic to restAPI json result
* [KYLIN-1424] - Should support multiple selection in picking up dimension/measure column step in data model wizard
* [KYLIN-1438] - auto generate aggregation group
* [KYLIN-1474] - expose list, remove and cat in metastore.sh
* [KYLIN-1475] - Inject ehcache manager for any test case that will touch ehcache manager

* [KYLIN-242] - Redesign aggregation group
* [KYLIN-770] - optimize memory usage for GTSimpleMemStore GTAggregationScanner
* [KYLIN-955] - HiveColumnCardinalityJob should use configurations in conf/kylin_job_conf.xml
* [KYLIN-980] - FactDistinctColumnsJob to support high cardinality columns
* [KYLIN-1079] - Manager large number of entries in metadata store
* [KYLIN-1082] - Hive dependencies should be add to tmpjars
* [KYLIN-1201] - Enhance project level ACL
* [KYLIN-1222] - restore testing v1 query engine in case need it as a fallback for v2
* [KYLIN-1232] - Refine ODBC Connection UI
* [KYLIN-1237] - Revisit on cube size estimation
* [KYLIN-1239] - attribute each htable with team contact and owner name
* [KYLIN-1245] - Switch between layer cubing and in-mem cubing according to stats
* [KYLIN-1265] - Make sure 1.4-rc query is no slower than 1.0
* [KYLIN-1266] - Tune release package size
* [KYLIN-1270] - improve TimedJsonStreamParser to support month_start,quarter_start,year_start
* [KYLIN-1283] - Replace GTScanRequest's SerDer form Kryo to manual
* [KYLIN-1297] - Diagnose query performance issues in 1.4 branch
* [KYLIN-1301] - fix segment pruning failure
* [KYLIN-1308] - query storage v2 enable parallel cube visiting
* [KYLIN-1318] - enable gc log for kylin server instance
* [KYLIN-1327] - Tool for batch updating host information of htables
* [KYLIN-1343] - Upgrade calcite version to 1.6
* [KYLIN-1350] - hbase Result.binarySearch is found to be problematic in concurrent environments
* [KYLIN-1366] - Bind metadata version with release version
* [KYLIN-1389] - Formatting ODBC Drive C++ code
* [KYLIN-1405] - Aggregation group validation
* [KYLIN-1465] - Beautify kylin log to convenience both production trouble shooting and CI debuging
* [KYLIN-1475] - Inject ehcache manager for any test case that will touch ehcache manager

__Bug__

* [KYLIN-404] - Can't get cube source record size.
* [KYLIN-457] - log4j error and dup lines in kylin.log
* [KYLIN-521] - No verification even if join condition is invalid
* [KYLIN-632] - "kylin.sh stop" doesn't check whether KYLIN_HOME was set
* [KYLIN-635] - IN clause within CASE when is not working
* [KYLIN-656] - REST API get cube desc NullPointerException when cube is not exists
* [KYLIN-660] - Make configurable of dictionary cardinality cap
* [KYLIN-665] - buffer error while in mem cubing
* [KYLIN-688] - possible memory leak for segmentIterator
* [KYLIN-731] - Parallel stream build will throw OOM
* [KYLIN-740] - Slowness with many IN() values
* [KYLIN-747] - bad query performance when IN clause contains a value doesn't exist in the dictionary
* [KYLIN-748] - II returned result not correct when decimal omits precision and scal
* [KYLIN-751] - Max on negative double values is not working
* [KYLIN-766] - round BigDecimal according to the DataType scale
* [KYLIN-769] - empty segment build fail due to no dictionary
* [KYLIN-771] - query cache is not evicted when metadata changes
* [KYLIN-778] - can't build cube after package to binary
* [KYLIN-780] - Upgrade Calcite to 1.0
* [KYLIN-797] - Cuboid cache will cache massive invalid cuboid if existed many cubes which already be deleted
* [KYLIN-801] - fix remaining issues on query cache and storage cache
* [KYLIN-805] - Drop useless Hive intermediate table and HBase tables in the last step of cube build/merge
* [KYLIN-807] - Avoid write conflict between job engine and stream cube builder
* [KYLIN-817] - Support Extract() on timestamp column
* [KYLIN-824] - Cube Build fails if lookup table doesn't have any files under HDFS location
* [KYLIN-828] - kylin still use ldap profile when comment the line "kylin.sandbox=false" in kylin.properties
* [KYLIN-834] - optimize StreamingUtil binary search perf
* [KYLIN-837] - fix submit build type when refresh cube
* [KYLIN-873] - cancel button does not work when [resume][discard] job
* [KYLIN-889] - Support more than one HDFS files of lookup table
* [KYLIN-897] - Update CubeMigrationCLI to copy data model info
* [KYLIN-898] - "CUBOID_CACHE" in Cuboid.java never flushes
* [KYLIN-905] - Boolean type not supported
* [KYLIN-911] - NEW segments not DELETED when cancel BuildAndMerge Job
* [KYLIN-912] - $KYLIN_HOME/tomcat/temp folder takes much disk space after long run
* [KYLIN-913] - Cannot find rowkey column XXX in cube CubeDesc
* [KYLIN-914] - Scripts shebang should use /bin/bash
* [KYLIN-918] - Calcite throws "java.lang.Float cannot be cast to java.lang.Double" error while executing SQL
* [KYLIN-929] - can not sort cubes by [Source Records] at cubes list page
* [KYLIN-930] - can't see realizations under each project at project list page
* [KYLIN-934] - Negative number in SUM result and Kylin results not matching exactly Hive results
* [KYLIN-935] - always loading when try to view the log of the sub-step of cube build job
* [KYLIN-936] - can not see job step log
* [KYLIN-944] - update doc about how to consume kylin API in javascript
* [KYLIN-946] - [UI] refresh page show no results when Project selected as [--Select All--]
* [KYLIN-950] - Web UI "Jobs" tab view the job reduplicated
* [KYLIN-951] - Drop RowBlock concept from GridTable general API
* [KYLIN-952] - User can trigger a Refresh job on an non-existing cube segment via REST API
* [KYLIN-967] - Dump running queries on memory shortage
* [KYLIN-975] - change kylin.job.hive.database.for.intermediatetable cause job to fail
* [KYLIN-978] - GarbageCollectionStep dropped Hive Intermediate Table but didn't drop external hdfs path
* [KYLIN-982] - package.sh should grep out "Download*" messages when determining version
* [KYLIN-983] - Query sql offset keyword bug
* [KYLIN-985] - Don't suppoprt aggregation AVG while executing SQL
* [KYLIN-991] - StorageCleanupJob may clean a newly created HTable in streaming cube building
* [KYLIN-992] - ConcurrentModificationException when initializing ResourceStore
* [KYLIN-993] - implement substr support in kylin
* [KYLIN-1001] - Kylin generates wrong HDFS path in creating intermediate table
* [KYLIN-1004] - Dictionary with '' value cause cube merge to fail
* [KYLIN-1020] - Although "kylin.query.scan.threshold" is set, it still be restricted to less than 4 million
* [KYLIN-1026] - Error message for git check is not correct in package.sh
* [KYLIN-1027] - HBase Token not added after KYLIN-1007
* [KYLIN-1033] - Error when joining two sub-queries
* [KYLIN-1039] - Filter like (A or false) yields wrong result
* [KYLIN-1047] - Upgrade to Calcite 1.4
* [KYLIN-1066] - Only 1 reducer is started in the "Build cube" step of MR_Engine_V2
* [KYLIN-1067] - Support get MapReduce Job status for ResourceManager HA Env
* [KYLIN-1075] - select [MeasureCol] from [FactTbl] is not supported
* [KYLIN-1093] - Consolidate getCurrentHBaseConfiguration() and newHBaseConfiguration() in HadoopUtil
* [KYLIN-1106] - Can not send email caused by Build Base Cuboid Data step failed
* [KYLIN-1108] - Return Type Empty When Measure-> Count In Cube Design
* [KYLIN-1113] - Support TopN query in v2/CubeStorageQuery.java
* [KYLIN-1115] - Clean up ODBC driver code
* [KYLIN-1121] - ResourceTool download/upload does not work in binary package
* [KYLIN-1127] - Refactor CacheService
* [KYLIN-1137] - TopN measure need support dictionary merge
* [KYLIN-1138] - Bad CubeDesc signature cause segment be delete when enable a cube
* [KYLIN-1140] - Kylin's sample cube "kylin_sales_cube" couldn't be saved.
* [KYLIN-1151] - Menu items should be aligned when create new model
* [KYLIN-1152] - ResourceStore should read content and timestamp in one go
* [KYLIN-1153] - Upgrade is needed for cubedesc metadata from 1.3 to 1.4
* [KYLIN-1171] - KylinConfig truncate bug
* [KYLIN-1179] - Cannot use String as partition column
* [KYLIN-1180] - Some NPE in Dictionary
* [KYLIN-1181] - Split metadata size exceeded when data got huge in one segment
* [KYLIN-1182] - DataModelDesc needs to be updated from v1.x to v2.0
* [KYLIN-1192] - Cannot edit data model desc without name change
* [KYLIN-1205] - hbase RpcClient java.io.IOException: Unexpected closed connection
* [KYLIN-1216] - Can't parse DateFormat like 'YYYYMMDD' correctly in query
* [KYLIN-1218] - java.lang.NullPointerException in MeasureTypeFactory when sync hive table
* [KYLIN-1220] - JsonMappingException: Can not deserialize instance of java.lang.String out of START_ARRAY
* [KYLIN-1225] - Only 15 cubes listed in the /models page
* [KYLIN-1226] - InMemCubeBuilder throw OOM for multiple HLLC measures
* [KYLIN-1230] - When CubeMigrationCLI copied ACL from one env to another, it may not work
* [KYLIN-1236] - redirect to home page when input invalid url
* [KYLIN-1250] - Got NPE when discarding a job
* [KYLIN-1260] - Job status labels are not in same style
* [KYLIN-1269] - Can not get last error message in email
* [KYLIN-1271] - Create streaming table layer will disappear if click on outside
* [KYLIN-1274] - Query from JDBC is partial results by default
* [KYLIN-1282] - Comparison filter on Date/Time column not work for query
* [KYLIN-1289] - Click on subsequent wizard steps doesn't work when editing existing cube or model
* [KYLIN-1303] - Error when in-mem cubing on empty data source which has boolean columns
* [KYLIN-1306] - Null strings are not applied during fast cubing
* [KYLIN-1314] - Display issue for aggression groups
* [KYLIN-1315] - UI: Cannot add normal dimension when creating new cube
* [KYLIN-1316] - Wrong label in Dialog CUBE REFRESH CONFIRM
* [KYLIN-1328] - "UnsupportedOperationException" is thrown when remove a data model
* [KYLIN-1330] - UI create model: Press enter will go back to pre step
* [KYLIN-1336] - 404 errors of model page and api 'access/DataModelDesc' in console
* [KYLIN-1337] - Sort cube name doesn't work well
* [KYLIN-1346] - IllegalStateException happens in SparkCubing
* [KYLIN-1347] - UI: cannot place cursor in front of the last dimension
* [KYLIN-1349] - 'undefined' is logged in console when adding lookup table
* [KYLIN-1352] - 'Cache already exists' exception in high-concurrency query situation
* [KYLIN-1356] - use exec-maven-plugin for IT environment provision
* [KYLIN-1357] - Cloned cube has build time information
* [KYLIN-1372] - Query using PrepareStatement failed with multi OR clause
* [KYLIN-1382] - CubeMigrationCLI reports error when migrate cube
* [KYLIN-1387] - Streaming cubing doesn't generate cuboids files on HDFS, cause cube merge failure
* [KYLIN-1396] - minor bug in BigDecimalSerializer - avoidVerbose should be incremented each time when input scale is larger than given scale
* [KYLIN-1400] - kylin.metadata.url with hbase namespace problem
* [KYLIN-1402] - StringIndexOutOfBoundsException in Kylin Hive Column Cardinality Job
* [KYLIN-1412] - Widget width of "Partition date column" is too small to select
* [KYLIN-1413] - Row key column's sequence is wrong after saving the cube
* [KYLIN-1414] - Couldn't drag and drop rowkey, js error is thrown in browser console
* [KYLIN-1417] - TimedJsonStreamParser is case sensitive for message's property name
* [KYLIN-1419] - NullPointerException occurs when query from subqueries with order by
* [KYLIN-1420] - Query returns empty result on partition column's boundary condition
* [KYLIN-1421] - Cube "source record" is always zero for streaming
* [KYLIN-1423] - HBase size precision issue
* [KYLIN-1430] - Not add "STREAMING_" prefix when import a streaming table
* [KYLIN-1443] - For setting Auto Merge Time Ranges, before sending them to backend, the related time ranges should be sorted increasingly
* [KYLIN-1456] - Shouldn't use "1970-01-01" as the default end date
* [KYLIN-1471] - LIMIT after having clause should not be pushed down to storage context
* ​
* [KYLIN-1104] - Long dimension value cause ArrayIndexOutOfBoundsException
* [KYLIN-1331] - UI Delete Aggregation Groups: cursor disappeared after delete 1 dimension
* [KYLIN-1344] - Bitmap measure defined after TopN measure can cause merge to fail
* [KYLIN-1356] - use exec-maven-plugin for IT environment provision
* [KYLIN-1386] - Duplicated projects appear in connection dialog after clicking CONNECT button multiple times
* [KYLIN-1396] - minor bug in BigDecimalSerializer - avoidVerbose should be incremented each time when input scale is larger than given scale
* [KYLIN-1419] - NullPointerException occurs when query from subqueries with order by
* [KYLIN-1445] - Kylin should throw error if HIVE_CONF dir cannot be found
* [KYLIN-1466] - Some environment variables are not used in bin/kylin.sh <RUNNABLE_CLASS_NAME>
* [KYLIN-1469] - Hive dependency jars are hard coded in test
* [KYLIN-1471] - LIMIT after having clause should not be pushed down to storage context
* [KYLIN-1473] - Cannot have comments in the end of New Query textbox

__Task__

* [KYLIN-529] - Migrate ODBC source code to Apache Git
* [KYLIN-650] - Move all document from github wiki to code repository (using md file)
* [KYLIN-762] - remove quartz dependency
* [KYLIN-763] - remove author name
* [KYLIN-820] - support streaming cube of exact timestamp range
* [KYLIN-907] - Improve Kylin community development experience
* [KYLIN-1112] - Reorganize InvertedIndex source codes into plug-in architecture

* [KYLIN-808] - streaming cubing support split by data timestamp
* [KYLIN-1427] - Enable partition date column to support date and hour as separate columns for increment cube build

__Test__

* [KYLIN-677] - benchmark for Endpoint without dictionary
* [KYLIN-826] - create new test case for streaming building & queries


## v1.3.0 - 2016-03-14
_Tag:_ [kylin-1.3.0](https://github.com/apache/kylin/tree/kylin-1.3.0)

__New Feature__

* [KYLIN-579] - Unload table from Kylin
* [KYLIN-976] - Support Custom Aggregation Types
* [KYLIN-1054] - Support Hive client Beeline
* [KYLIN-1128] - Clone Cube Metadata
* [KYLIN-1186] - Support precise Count Distinct using bitmap (under limited conditions)

__Improvement__

* [KYLIN-955] - HiveColumnCardinalityJob should use configurations in conf/kylin_job_conf.xml
* [KYLIN-1014] - Support kerberos authentication while getting status from RM
* [KYLIN-1074] - Load hive tables with selecting mode
* [KYLIN-1082] - Hive dependencies should be add to tmpjars
* [KYLIN-1132] - make filtering input easier in creating cube
* [KYLIN-1201] - Enhance project level ACL
* [KYLIN-1211] - Add 'Enable Cache' button in System page
* [KYLIN-1234] - Cube ACL does not work
* [KYLIN-1240] - Fix link and typo in README
* [KYLIN-1244] - In query window, enable fast copy&paste by double clicking tables/columns' names.
* [KYLIN-1246] - get cubes API update - offset,limit not required
* [KYLIN-1251] - add toggle event for tree label
* [KYLIN-1259] - Change font/background color of job progress
* [KYLIN-1312] - Enhance DeployCoprocessorCLI to support Cube level filter
* [KYLIN-1317] - Kill underlying running hadoop job while discard a job
* [KYLIN-1323] - Improve performance of converting data to hfile
* [KYLIN-1333] - Kylin Entity Permission Control 
* [KYLIN-1343] - Upgrade calcite version to 1.6
* [KYLIN-1365] - Kylin ACL enhancement
* [KYLIN-1368] - JDBC Driver is not generic to restAPI json result

__Bug fix__

* [KYLIN-918] - Calcite throws "java.lang.Float cannot be cast to java.lang.Double" error while executing SQL
* [KYLIN-1075] - select [MeasureCol] from [FactTbl] is not supported
* [KYLIN-1078] - Cannot have comments in the end of New Query textbox
* [KYLIN-1104] - Long dimension value cause ArrayIndexOutOfBoundsException
* [KYLIN-1110] - can not see project options after clear brower cookie and cache
* [KYLIN-1159] - problem about kylin web UI
* [KYLIN-1214] - Remove "Back to My Cubes" link in non-edit mode
* [KYLIN-1215] - minor, update website member's info on community page
* [KYLIN-1230] - When CubeMigrationCLI copied ACL from one env to another, it may not work
* [KYLIN-1236] - redirect to home page when input invalid url
* [KYLIN-1250] - Got NPE when discarding a job
* [KYLIN-1254] - cube model will be overridden while creating a new cube with the same name
* [KYLIN-1260] - Job status labels are not in same style
* [KYLIN-1274] - Query from JDBC is partial results by default
* [KYLIN-1316] - Wrong label in Dialog CUBE REFRESH CONFIRM
* [KYLIN-1330] - UI create model: Press enter will go back to pre step
* [KYLIN-1331] - UI Delete Aggregation Groups: cursor disappeared after delete 1 dimension
* [KYLIN-1342] - Typo in doc
* [KYLIN-1354] - Couldn't edit a cube if it has no "partition date" set
* [KYLIN-1372] - Query using PrepareStatement failed with multi OR clause
* [KYLIN-1396] - minor bug in BigDecimalSerializer - avoidVerbose should be incremented each time when input scale is larger than given scale 
* [KYLIN-1400] - kylin.metadata.url with hbase namespace problem
* [KYLIN-1402] - StringIndexOutOfBoundsException in Kylin Hive Column Cardinality Job
* [KYLIN-1412] - Widget width of "Partition date column"  is too small to select
* [KYLIN-1419] - NullPointerException occurs when query from subqueries with order by
* [KYLIN-1423] - HBase size precision issue
* [KYLIN-1443] - For setting Auto Merge Time Ranges, before sending them to backend, the related time ranges should be sorted increasingly
* [KYLIN-1445] - Kylin should throw error if HIVE_CONF dir cannot be found
* [KYLIN-1456] - Shouldn't use "1970-01-01" as the default end date
* [KYLIN-1466] - Some environment variables are not used in bin/kylin.sh <RUNNABLE_CLASS_NAME>
* [KYLIN-1469] - Hive dependency jars are hard coded in test

__Test__

* [KYLIN-1335] - Disable PrintResult in KylinQueryTest


## v1.2 - 2015-12-15
_Tag:_ [kylin-1.2](https://github.com/apache/kylin/tree/kylin-1.2)

__New Feature__

* [KYLIN-596] - Support Excel and Power BI

__Improvement__

* [KYLIN-389] - Can't edit cube name for existing cubes
* [KYLIN-702] - When Kylin create the flat hive table, it generates large number of small files in HDFS 
* [KYLIN-1021] - upload dependent jars of kylin to HDFS and set tmpjars
* [KYLIN-1058] - Remove "right join" during model creation
* [KYLIN-1064] - restore disabled queries in KylinQueryTest.testVerifyQuery
* [KYLIN-1065] - ODBC driver support tableau 9.1
* [KYLIN-1069] - update tip for 'Partition Column' on UI
* [KYLIN-1081] - ./bin/find-hive-dependency.sh may not find hive-hcatalog-core.jar
* [KYLIN-1095] - Update AdminLTE to latest version
* [KYLIN-1099] - Support dictionary of cardinality over 10 millions
* [KYLIN-1101] - Allow "YYYYMMDD" as a date partition column
* [KYLIN-1105] - Cache in AbstractRowKeyEncoder.createInstance() is useless
* [KYLIN-1119] - refine find-hive-dependency.sh to correctly get hcatalog path
* [KYLIN-1139] - Hive job not starting due to error "conflicting lock present for default mode EXCLUSIVE "
* [KYLIN-1149] - When yarn return an incomplete job tracking URL, Kylin will fail to get job status
* [KYLIN-1154] - Load job page is very slow when there are a lot of history job
* [KYLIN-1157] - CubeMigrationCLI doesn't copy ACL
* [KYLIN-1160] - Set default logger appender of log4j for JDBC
* [KYLIN-1161] - Rest API /api/cubes?cubeName=  is doing fuzzy match instead of exact match
* [KYLIN-1162] - Enhance HadoopStatusGetter to be compatible with YARN-2605
* [KYLIN-1166] - CubeMigrationCLI should disable and purge the cube in source store after be migrated
* [KYLIN-1168] - Couldn't save cube after doing some modification, get "Update data model is not allowed! Please create a new cube if needed" error
* [KYLIN-1190] - Make memory budget per query configurable

__Bug fix__

* [KYLIN-693] - Couldn't change a cube's name after it be created
* [KYLIN-930] - can't see realizations under each project at project list page
* [KYLIN-966] - When user creates a cube, if enter a name which already exists, Kylin will thrown expection on last step
* [KYLIN-1033] - Error when joining two sub-queries
* [KYLIN-1039] - Filter like (A or false) yields wrong result
* [KYLIN-1067] - Support get MapReduce Job status for ResourceManager HA Env
* [KYLIN-1070] - changing  case in table name in  model desc
* [KYLIN-1093] - Consolidate getCurrentHBaseConfiguration() and newHBaseConfiguration() in HadoopUtil
* [KYLIN-1098] - two "kylin.hbase.region.count.min" in conf/kylin.properties
* [KYLIN-1106] - Can not send email caused by Build Base Cuboid Data step failed
* [KYLIN-1108] - Return Type Empty When Measure-> Count In Cube Design
* [KYLIN-1120] - MapReduce job read local meta issue
* [KYLIN-1121] - ResourceTool download/upload does not work in binary package
* [KYLIN-1140] - Kylin's sample cube "kylin_sales_cube" couldn't be saved.
* [KYLIN-1148] - Edit project's name and cancel edit, project's name still modified
* [KYLIN-1152] - ResourceStore should read content and timestamp in one go
* [KYLIN-1155] - unit test with minicluster doesn't work on 1.x
* [KYLIN-1203] - Cannot save cube after correcting the configuration mistake
* [KYLIN-1205] - hbase RpcClient java.io.IOException: Unexpected closed connection
* [KYLIN-1216] - Can't parse DateFormat like 'YYYYMMDD' correctly in query

__Task__

* [KYLIN-1170] - Update website and status files to TLP


## v1.1.1-incubating - 2015-11-04
_Tag:_ [kylin-1.1.1-incubating](https://github.com/apache/kylin/tree/kylin-1.1.1-incubating)

__Improvement__

* [KYLIN-999] - License check and cleanup for release

## v1.1-incubating - 2015-10-25
_Tag:_ [kylin-1.1-incubating](https://github.com/apache/kylin/tree/kylin-1.1-incubating)

__New Feature__

* [KYLIN-222] - Web UI to Display CubeInstance Information
* [KYLIN-906] - cube retention
* [KYLIN-910] - Allow user to enter "retention range" in days on Cube UI

__Bug fix__

* [KYLIN-457] - log4j error and dup lines in kylin.log
* [KYLIN-632] - "kylin.sh stop" doesn't check whether KYLIN_HOME was set
* [KYLIN-740] - Slowness with many IN() values
* [KYLIN-747] - bad query performance when IN clause contains a value doesn't exist in the dictionary
* [KYLIN-771] - query cache is not evicted when metadata changes
* [KYLIN-797] - Cuboid cache will cache massive invalid cuboid if existed many cubes which already be deleted 
* [KYLIN-847] - "select * from fact" does not work on 0.7 branch
* [KYLIN-913] - Cannot find rowkey column XXX in cube CubeDesc
* [KYLIN-918] - Calcite throws "java.lang.Float cannot be cast to java.lang.Double" error while executing SQL
* [KYLIN-944] - update doc about how to consume kylin API in javascript
* [KYLIN-950] - Web UI "Jobs" tab view the job reduplicated
* [KYLIN-952] - User can trigger a Refresh job on an non-existing cube segment via REST API
* [KYLIN-958] - update cube data model may fail and leave metadata in inconsistent state
* [KYLIN-961] - Can't get cube  source record count.
* [KYLIN-967] - Dump running queries on memory shortage
* [KYLIN-968] - CubeSegment.lastBuildJobID is null in new instance but used for rowkey_stats path
* [KYLIN-975] - change kylin.job.hive.database.for.intermediatetable cause job to fail
* [KYLIN-978] - GarbageCollectionStep dropped Hive Intermediate Table but didn't drop external hdfs path
* [KYLIN-982] - package.sh should grep out "Download*" messages when determining version
* [KYLIN-983] - Query sql offset keyword bug
* [KYLIN-985] - Don't suppoprt aggregation AVG while executing SQL
* [KYLIN-1001] - Kylin generates wrong HDFS path in creating intermediate table
* [KYLIN-1004] - Dictionary with '' value cause cube merge to fail
* [KYLIN-1005] - fail to acquire ZookeeperJobLock when hbase.zookeeper.property.clientPort is configured other than 2181
* [KYLIN-1015] - Hive dependency jars appeared twice on job configuration
* [KYLIN-1020] - Although "kylin.query.scan.threshold" is set, it still be restricted to less than 4 million 
* [KYLIN-1026] - Error message for git check is not correct in package.sh

__Improvement__

* [KYLIN-343] - Enable timeout on query 
* [KYLIN-367] - automatically backup metadata everyday
* [KYLIN-589] - Cleanup Intermediate hive table after cube build
* [KYLIN-772] - Continue cube job when hive query return empty resultset
* [KYLIN-858] - add snappy compression support
* [KYLIN-882] - check access to kylin.hdfs.working.dir
* [KYLIN-895] - Add "retention_range" attribute for cube instance, and automatically drop the oldest segment when exceeds retention
* [KYLIN-901] - Add tool for cleanup Kylin metadata storage
* [KYLIN-956] - Allow users to configure hbase compression algorithm in kylin.properties
* [KYLIN-957] - Support HBase in a separate cluster
* [KYLIN-965] - Allow user to configure the region split size for cube
* [KYLIN-971] - kylin display timezone on UI
* [KYLIN-987] - Rename 0.7-staging and 0.8 branch
* [KYLIN-998] - Finish the hive intermediate table clean up job in org.apache.kylin.job.hadoop.cube.StorageCleanupJob
* [KYLIN-999] - License check and cleanup for release
* [KYLIN-1013] - Make hbase client configurations like timeout configurable
* [KYLIN-1025] - Save cube change is very slow
* [KYLIN-1034] - Faster bitmap indexes with Roaring bitmaps
* [KYLIN-1035] - Validate [Project] before create Cube on UI
* [KYLIN-1037] - Remove hardcoded "hdp.version" from regression tests
* [KYLIN-1047] - Upgrade to Calcite 1.4
* [KYLIN-1048] - CPU and memory killer in Cuboid.findById()
* [KYLIN-1061] - "kylin.sh start" should check whether kylin has already been running
* [KYLIN-1048] - CPU and memory killer in Cuboid.findById()
* [KYLIN-1061] - "kylin.sh start" should check whether kylin has already been running


## v1.0-incubating - 2015-09-06
_Tag:_ [kylin-1.0-incubating](https://github.com/apache/kylin/tree/kylin-1.0-incubating)

__New Feature__

* [KYLIN-591] - Leverage Zeppelin to interactive with Kylin

__Bug fix__

* [KYLIN-404] - Can't get cube source record size.
* [KYLIN-626] - JDBC error for float and double values
* [KYLIN-751] - Max on negative double values is not working
* [KYLIN-757] - Cache wasn't flushed in cluster mode
* [KYLIN-780] - Upgrade Calcite to 1.0
* [KYLIN-805] - Drop useless Hive intermediate table and HBase tables in the last step of cube build/merge
* [KYLIN-889] - Support more than one HDFS files of lookup table
* [KYLIN-897] - Update CubeMigrationCLI to copy data model info
* [KYLIN-898] - "CUBOID_CACHE" in Cuboid.java never flushes
* [KYLIN-911] - NEW segments not DELETED when cancel BuildAndMerge Job
* [KYLIN-912] - $KYLIN_HOME/tomcat/temp folder takes much disk space after long run
* [KYLIN-914] - Scripts shebang should use /bin/bash
* [KYLIN-915] - appendDBName in CubeMetadataUpgrade will return null
* [KYLIN-921] - Dimension with all nulls cause BuildDimensionDictionary failed due to FileNotFoundException
* [KYLIN-923] - FetcherRunner will never run again if encountered exception during running
* [KYLIN-929] - can not sort cubes by [Source Records] at cubes list page
* [KYLIN-934] - Negative number in SUM result and Kylin results not matching exactly Hive results
* [KYLIN-935] - always loading when try to view the log of the sub-step of cube build job
* [KYLIN-936] - can not see job step log 
* [KYLIN-940] - NPE when close the null resouce
* [KYLIN-945] - Kylin JDBC - Get Connection from DataSource results in NullPointerException
* [KYLIN-946] - [UI] refresh page show no results when Project selected as [--Select All--]
* [KYLIN-949] - Query cache doesn't work properly for prepareStatement queries

__Improvement__

* [KYLIN-568] - job support stop/suspend function so that users can manually resume a job
* [KYLIN-717] - optimize OLAPEnumerator.convertCurrentRow()
* [KYLIN-792] - kylin performance insight [dashboard]
* [KYLIN-838] - improve performance of job query
* [KYLIN-842] - Add version and commit id into binary package
* [KYLIN-844] - add backdoor toggles to control query behavior 
* [KYLIN-857] - backport coprocessor improvement in 0.8 to 0.7
* [KYLIN-866] - Confirm with user when he selects empty segments to merge
* [KYLIN-867] - Hybrid model for multiple realizations/cubes
* [KYLIN-880] -  Kylin should change the default folder from /tmp to user configurable destination
* [KYLIN-881] - Upgrade Calcite to 1.3.0
* [KYLIN-883] - Using configurable option for Hive intermediate tables created by Kylin job
* [KYLIN-893] - Remove the dependency on quartz and metrics
* [KYLIN-922] - Enforce same code style for both intellij and eclipse user
* [KYLIN-926] - Make sure Kylin leaves no garbage files in local OS and HDFS/HBASE
* [KYLIN-933] - friendly UI to use data model
* [KYLIN-938] - add friendly tip to page when rest request failed

__Task__

* [KYLIN-884] - Restructure docs and website
* [KYLIN-907] - Improve Kylin community development experience
* [KYLIN-954] - Release v1.0 (formerly v0.7.3)
* [KYLIN-863] - create empty segment when there is no data in one single streaming batch
* [KYLIN-908] - Help community developer to setup develop/debug environment
* [KYLIN-931] - Port KYLIN-921 to 0.8 branch

## v0.7.2-incubating - 2015-07-21
_Tag:_ [kylin-0.7.2-incubating](https://github.com/apache/kylin/tree/kylin-0.7.2-incubating)

__Main Changes:__  
Critical bug fixes after v0.7.1 release, please go with this version directly for new case and upgrade to this version for existing deployment.

__Bug__  

* [KYLIN-514] - Error message is not helpful to user when doing something in Jason Editor window
* [KYLIN-598] - Kylin detecting hive table delim failure
* [KYLIN-660] - Make configurable of dictionary cardinality cap
* [KYLIN-765] - When a cube job is failed, still be possible to submit a new job
* [KYLIN-814] - Duplicate columns error for subqueries on fact table
* [KYLIN-819] - Fix necessary ColumnMetaData order for Calcite (Optic)
* [KYLIN-824] - Cube Build fails if lookup table doesn't have any files under HDFS location
* [KYLIN-829] - Cube "Actions" shows "NA"; but after expand the "access" tab, the button shows up
* [KYLIN-830] - Cube merge failed after migrating from v0.6 to v0.7
* [KYLIN-831] - Kylin report "Column 'ABC' not found in table 'TABLE' while executing SQL", when that column is FK but not define as a dimension
* [KYLIN-840] - HBase table compress not enabled even LZO is installed
* [KYLIN-848] - Couldn't resume or discard a cube job
* [KYLIN-849] - Couldn't query metrics on lookup table PK
* [KYLIN-865] - Cube has been built but couldn't query; In log it said "Realization 'CUBE.CUBE_NAME' defined under project PROJECT_NAME is not found
* [KYLIN-873] - cancel button does not work when [resume][discard] job
* [KYLIN-888] - "Jobs" page only shows 15 job at max, the "Load more" button was disappeared

__Improvement__

* [KYLIN-159] - Metadata migrate tool 
* [KYLIN-199] - Validation Rule: Unique value of Lookup table's key columns
* [KYLIN-207] - Support SQL pagination
* [KYLIN-209] - Merge tail small MR jobs into one
* [KYLIN-210] - Split heavy MR job to more small jobs
* [KYLIN-221] - Convert cleanup and GC to job 
* [KYLIN-284] - add log for all Rest API Request
* [KYLIN-488] - Increase HDFS block size 1GB
* [KYLIN-600] - measure return type update
* [KYLIN-611] - Allow Implicit Joins
* [KYLIN-623] - update Kylin UI Style to latest AdminLTE
* [KYLIN-727] - Cube build in BuildCubeWithEngine does not cover incremental build/cube merge
* [KYLIN-752] - Improved IN clause performance
* [KYLIN-773] - performance is slow list jobs
* [KYLIN-839] - Optimize Snapshot table memory usage 

__New Feature__

* [KYLIN-211] - Bitmap Inverted Index
* [KYLIN-285] - Enhance alert program for whole system
* [KYLIN-467] - Validataion Rule: Check duplicate rows in lookup table
* [KYLIN-471] - Support "Copy" on grid result

__Task__

* [KYLIN-7] - Enable maven checkstyle plugin
* [KYLIN-885] - Release v0.7.2
* [KYLIN-812] - Upgrade to Calcite 0.9.2

## v0.7.1-incubating (First Apache Release) - 2015-06-10  
_Tag:_ [kylin-0.7.1-incubating](https://github.com/apache/kylin/tree/kylin-0.7.1-incubating)

Apache Kylin v0.7.1-incubating has rolled out on June 10, 2015. This is also the first Apache release after join incubating. 

__Main Changes:__

* Package renamed from com.kylinolap to org.apache.kylin
* Code cleaned up to apply Apache License policy
* Easy install and setup with bunch of scripts and automation
* Job engine refactor to be generic job manager for all jobs, and improved efficiency
* Support Hive database other than 'default'
* JDBC driver avaliable for client to interactive with Kylin server
* Binary pacakge avaliable download 

__New Feature__

* [KYLIN-327] - Binary distribution 
* [KYLIN-368] - Move MailService to Common module
* [KYLIN-540] - Data model upgrade for legacy cube descs
* [KYLIN-576] - Refactor expansion rate expression

__Task__

* [KYLIN-361] - Rename package name with Apache Kylin
* [KYLIN-531] - Rename package name to org.apache.kylin
* [KYLIN-533] - Job Engine Refactoring
* [KYLIN-585] - Simplify deployment
* [KYLIN-586] - Add Apache License header in each source file
* [KYLIN-587] - Remove hard copy of javascript libraries
* [KYLIN-624] - Add dimension and metric info into DataModel
* [KYLIN-650] - Move all document from github wiki to code repository (using md file)
* [KYLIN-669] - Release v0.7.1 as first apache release
* [KYLIN-670] - Update pom with "incubating" in version number
* [KYLIN-737] - Generate and sign release package for review and vote
* [KYLIN-795] - Release after success vote

__Bug__

* [KYLIN-132] - Job framework
* [KYLIN-194] - Dict & ColumnValueContainer does not support number comparison, they do string comparison right now
* [KYLIN-220] - Enable swap column of Rowkeys in Cube Designer
* [KYLIN-230] - Error when create HTable
* [KYLIN-255] - Error when a aggregated function appear twice in select clause
* [KYLIN-383] - Sample Hive EDW database name should be replaced by "default" in the sample
* [KYLIN-399] - refreshed segment not correctly published to cube
* [KYLIN-412] - No exception or message when sync up table which can't access
* [KYLIN-421] - Hive table metadata issue
* [KYLIN-436] - Can't sync Hive table metadata from other database rather than "default"
* [KYLIN-508] - Too high cardinality is not suitable for dictionary!
* [KYLIN-509] - Order by on fact table not works correctly
* [KYLIN-517] - Always delete the last one of Add Lookup page buttom even if deleting the first join condition
* [KYLIN-524] - Exception will throw out if dimension is created on a lookup table, then deleting the lookup table.
* [KYLIN-547] - Create cube failed if column dictionary sets false and column length value greater than 0
* [KYLIN-556] - error tip enhance when cube detail return empty
* [KYLIN-570] - Need not to call API before sending login request
* [KYLIN-571] - Dimensions lost when creating cube though Joson Editor
* [KYLIN-572] - HTable size is wrong
* [KYLIN-581] - unable to build cube
* [KYLIN-583] - Dependency of Hive conf/jar in II branch will affect auto deploy
* [KYLIN-588] - Error when run package.sh
* [KYLIN-593] - angular.min.js.map and angular-resource.min.js.map are missing in kylin.war
* [KYLIN-594] - Making changes in build and packaging with respect to apache release process
* [KYLIN-595] - Kylin JDBC driver should not assume Kylin server listen on either 80 or 443
* [KYLIN-605] - Issue when install Kylin on a CLI which does not have yarn Resource Manager
* [KYLIN-614] - find hive dependency shell fine is unable to set the hive dependency correctly
* [KYLIN-615] - Unable add measures in Kylin web UI
* [KYLIN-619] - Cube build fails with hive+tez
* [KYLIN-620] - Wrong duration number
* [KYLIN-621] - SecurityException when running MR job
* [KYLIN-627] - Hive tables' partition column was not sync into Kylin
* [KYLIN-628] - Couldn't build a new created cube
* [KYLIN-629] - Kylin failed to run mapreduce job if there is no mapreduce.application.classpath in mapred-site.xml
* [KYLIN-630] - ArrayIndexOutOfBoundsException when merge cube segments 
* [KYLIN-638] - kylin.sh stop not working
* [KYLIN-639] - Get "Table 'xxxx' not found while executing SQL" error after a cube be successfully built
* [KYLIN-640] - sum of float not working
* [KYLIN-642] - Couldn't refresh cube segment
* [KYLIN-643] - JDBC couldn't connect to Kylin: "java.sql.SQLException: Authentication Failed"
* [KYLIN-644] - join table as null error when build the cube
* [KYLIN-652] - Lookup table alias will be set to null
* [KYLIN-657] - JDBC Driver not register into DriverManager
* [KYLIN-658] - java.lang.IllegalArgumentException: Cannot find rowkey column XXX in cube CubeDesc
* [KYLIN-659] - Couldn't adjust the rowkey sequence when create cube
* [KYLIN-666] - Select float type column got class cast exception
* [KYLIN-681] - Failed to build dictionary if the rowkey's dictionary property is "date(yyyy-mm-dd)"
* [KYLIN-682] - Got "No aggregator for func 'MIN' and return type 'decimal(19,4)'" error when build cube
* [KYLIN-684] - Remove holistic distinct count and multiple column distinct count from sample cube
* [KYLIN-691] - update tomcat download address in download-tomcat.sh
* [KYLIN-696] - Dictionary couldn't recognize a value and throw IllegalArgumentException: "Not a valid value"
* [KYLIN-703] - UT failed due to unknown host issue
* [KYLIN-711] - UT failure in REST module
* [KYLIN-739] - Dimension as metrics does not work with PK-FK derived column
* [KYLIN-761] - Tables are not shown in the "Query" tab, and couldn't run SQL query after cube be built

__Improvement__

* [KYLIN-168] - Installation fails if multiple ZK
* [KYLIN-182] - Validation Rule: columns used in Join condition should have same datatype
* [KYLIN-204] - Kylin web not works properly in IE
* [KYLIN-217] - Enhance coprocessor with endpoints 
* [KYLIN-251] - job engine refactoring
* [KYLIN-261] - derived column validate when create cube
* [KYLIN-317] - note: grunt.json need to be configured when add new javascript or css file
* [KYLIN-324] - Refactor metadata to support InvertedIndex
* [KYLIN-407] - Validation: There's should no Hive table column using "binary" data type
* [KYLIN-445] - Rename cube_desc/cube folder
* [KYLIN-452] - Automatically create local cluster for running tests
* [KYLIN-498] - Merge metadata tables 
* [KYLIN-532] - Refactor data model in kylin front end
* [KYLIN-539] - use hbase command to launch tomcat
* [KYLIN-542] - add project property feature for cube
* [KYLIN-553] - From cube instance, couldn't easily find the project instance that it belongs to
* [KYLIN-563] - Wrap kylin start and stop with a script 
* [KYLIN-567] - More flexible validation of new segments
* [KYLIN-569] - Support increment+merge job
* [KYLIN-578] - add more generic configuration for ssh
* [KYLIN-601] - Extract content from kylin.tgz to "kylin" folder
* [KYLIN-616] - Validation Rule: partition date column should be in dimension columns
* [KYLIN-634] - Script to import sample data and cube metadata
* [KYLIN-636] - wiki/On-Hadoop-CLI-installation is not up to date
* [KYLIN-637] - add start&end date for hbase info in cubeDesigner
* [KYLIN-714] - Add Apache RAT to pom.xml
* [KYLIN-753] - Make the dependency on hbase-common to "provided"
* [KYLIN-758] - Updating port forwarding issue Hadoop Installation on Hortonworks Sandbox.
* [KYLIN-779] - [UI] jump to cube list after create cube
* [KYLIN-796] - Add REST API to trigger storage cleanup/GC

