You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2018/11/07 06:08:05 UTC

svn commit: r1845984 [13/25] - in /kylin/site: ./ about/ blog/ blog/2015/01/25/introduce-data-model/ blog/2015/06/10/release-v0.7.1-incubating/ blog/2015/08/13/kylin-dictionary/ blog/2015/08/15/fast-cubing/ blog/2015/09/06/release-v1.0-incubating/ blog...

Modified: kylin/site/docs/release_notes.html
URL: http://svn.apache.org/viewvc/kylin/site/docs/release_notes.html?rev=1845984&r1=1845983&r2=1845984&view=diff
==============================================================================
--- kylin/site/docs/release_notes.html (original)
+++ kylin/site/docs/release_notes.html Wed Nov  7 06:08:00 2018
@@ -1403,6 +1403,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/web.html" class="list-group-item-lay pjaxlink">Web Interface</a>
       </li>      
@@ -1817,6 +1819,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/project_level_acl.html" class="list-group-item-lay pjaxlink">Project Level ACL</a>
       </li>      
@@ -2547,6 +2551,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/setup_systemcube.html" class="list-group-item-lay pjaxlink">Set Up System Cube</a>
       </li>      
@@ -2753,6 +2759,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/use_cube_planner.html" class="list-group-item-lay pjaxlink">Use Cube Planner</a>
       </li>      
@@ -2963,6 +2971,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/use_dashboard.html" class="list-group-item-lay pjaxlink">Use Dashboard</a>
       </li>      
@@ -3141,6 +3151,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/setup_jdbc_datasource.html" class="list-group-item-lay pjaxlink">Setup JDBC Data Source</a>
       </li>      
@@ -3462,6 +3474,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/odbc.html" class="list-group-item-lay pjaxlink">Kylin ODBC Driver</a>
       </li>      
@@ -3808,6 +3822,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/tableau.html" class="list-group-item-lay pjaxlink">Tableau 8</a>
       </li>      
@@ -4010,6 +4026,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/tableau_91.html" class="list-group-item-lay pjaxlink">Tableau 9</a>
       </li>      
@@ -4176,6 +4194,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/powerbi.html" class="list-group-item-lay pjaxlink">MS Excel and Power BI</a>
       </li>      
@@ -4524,6 +4544,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/squirrel.html" class="list-group-item-lay pjaxlink">SQuirreL</a>
       </li>      
@@ -4848,6 +4870,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/spark.html" class="list-group-item-lay pjaxlink">Apache Spark</a>
       </li>      
@@ -5294,6 +5318,8 @@ var _hmt = _hmt || [];
     
   
     
+  
+    
       <li class="navlist">
         <a href="/docs/tutorial/superset.html" class="list-group-item-lay pjaxlink">Superset</a>
       </li>      
@@ -6043,641 +6069,711 @@ This is a bugfix release after 2.5.0, wi
   <li>[KYLIN-3646] - Add instruction about rowkey sequence in “Advanced setting” page</li>
 </ul>
 
-<p><strong>Bug fix</strong><br />
-* [KYLIN-2200] - CompileException on UNION ALL query when result only contains one column<br />
-* [KYLIN-3439] - configuration “kylin.web.timezone” is Inconsistent between kylin-defaults.properties and KylinConfigBase.java<br />
-* [KYLIN-3527] - Hybrid couldn’t save when there is only 1 cube<br />
-* [KYLIN-3531] - Login failed with case-insensitive username<br />
-* [KYLIN-3543] - Unclosed Job instance in CreateHTableJob#exportHBaseConfiguration<br />
-* [KYLIN-3546] - Kylin doesn’t persist FK to intermediate table if FK is not a dimension<br />
-* [KYLIN-3556] - Interned string should not be used as lock object<br />
-* [KYLIN-3562] - TS conflict when kylin update metadata in HBase<br />
-* [KYLIN-3565] - User login error message is inaccurate<br />
-* [KYLIN-3567] - Change scala dependency to provided<br />
-* [KYLIN-3582] - String comparison should not use == in RecordEvent<br />
-* [KYLIN-3595] - Beeline does not retrieve CLASSPATH and hangs<br />
-* [KYLIN-3604] - Can’t build cube with spark in HBase standalone mode<br />
-* [KYLIN-3613] - Kylin with Standalone HBase Cluster (enabled kerberos) could not find the main cluster namespace at “Create HTable” step<br />
-* [KYLIN-3629] - NullPointException throws when use preparedStatement cache in some case<br />
-* [KYLIN-3633] - Dead lock may happen in building global dictionary<br />
-* [KYLIN-3634] - When filter column has null value may cause incorrect query result<br />
-* [KYLIN-3635] - Percentile calculation on Spark engine is wrong<br />
-* [KYLIN-3644] - NumberFormatExcetion on null values when building cube with Spark<br />
-* [KYLIN-3645] - Kylin does not clean table metadata when drop project(Kafka Source)<br />
-* [KYLIN-3647] - Fix inconsistent states of job and its sub-task<br />
-* [KYLIN-3649] - segment region count and size are not correct when using mysql as Kylin metadata storage<br />
-* [KYLIN-3651] - JDBCResourceStore doesn’t list all resources</p>
+<p><strong>Bug fix</strong></p>
+
+<ul>
+  <li>[KYLIN-2200] - CompileException on UNION ALL query when result only contains one column</li>
+  <li>[KYLIN-3439] - configuration “kylin.web.timezone” is Inconsistent between kylin-defaults.properties and KylinConfigBase.java</li>
+  <li>[KYLIN-3527] - Hybrid couldn’t save when there is only 1 cube</li>
+  <li>[KYLIN-3531] - Login failed with case-insensitive username</li>
+  <li>[KYLIN-3543] - Unclosed Job instance in CreateHTableJob#exportHBaseConfiguration</li>
+  <li>[KYLIN-3546] - Kylin doesn’t persist FK to intermediate table if FK is not a dimension</li>
+  <li>[KYLIN-3556] - Interned string should not be used as lock object</li>
+  <li>[KYLIN-3562] - TS conflict when kylin update metadata in HBase</li>
+  <li>[KYLIN-3565] - User login error message is inaccurate</li>
+  <li>[KYLIN-3567] - Change scala dependency to provided</li>
+  <li>[KYLIN-3582] - String comparison should not use == in RecordEvent</li>
+  <li>[KYLIN-3595] - Beeline does not retrieve CLASSPATH and hangs</li>
+  <li>[KYLIN-3604] - Can’t build cube with spark in HBase standalone mode</li>
+  <li>[KYLIN-3613] - Kylin with Standalone HBase Cluster (enabled kerberos) could not find the main cluster namespace at “Create HTable” step</li>
+  <li>[KYLIN-3629] - NullPointException throws when use preparedStatement cache in some case</li>
+  <li>[KYLIN-3633] - Dead lock may happen in building global dictionary</li>
+  <li>[KYLIN-3634] - When filter column has null value may cause incorrect query result</li>
+  <li>[KYLIN-3635] - Percentile calculation on Spark engine is wrong</li>
+  <li>[KYLIN-3644] - NumberFormatExcetion on null values when building cube with Spark</li>
+  <li>[KYLIN-3645] - Kylin does not clean table metadata when drop project(Kafka Source)</li>
+  <li>[KYLIN-3647] - Fix inconsistent states of job and its sub-task</li>
+  <li>[KYLIN-3649] - segment region count and size are not correct when using mysql as Kylin metadata storage</li>
+  <li>[KYLIN-3651] - JDBCResourceStore doesn’t list all resources</li>
+</ul>
 
 <h2 id="v250---2018-09-16">v2.5.0 - 2018-09-16</h2>
 <p><em>Tag:</em> <a href="https://github.com/apache/kylin/tree/kylin-2.5.0">kylin-2.5.0</a><br />
 This is a major release after 2.4, with 96 bug fixes and enhancement. Check <a href="/docs/howto/howto_upgrade.html">How to upgrade</a>.</p>
 
-<p><strong>New Feature</strong><br />
-* [KYLIN-2565] - Support Hadoop 3.0<br />
-* [KYLIN-3488] - Support MySQL as Kylin metadata storage<br />
-* [KYLIN-3366] - Configure automatic enabling of cubes after a build process</p>
-
-<p><strong>Improvement</strong><br />
-* [KYLIN-2998] - Kill spark app when cube job was discarded<br />
-* [KYLIN-3033] - Support HBase 2.0<br />
-* [KYLIN-3071] - Add config to reuse dict to reduce dict size<br />
-* [KYLIN-3094] - Upgrade zookeeper to 3.4.12<br />
-* [KYLIN-3146] - Response code and exception should be standardised for cube checking<br />
-* [KYLIN-3186] - Add support for partitioning columns that combine date and time (e.g. YYYYMMDDHHMISS)<br />
-* [KYLIN-3250] - Upgrade jetty version to 9.3.22<br />
-* [KYLIN-3259] - When a cube is deleted, remove it from the hybrid cube definition<br />
-* [KYLIN-3321] - Set MALLOC_ARENA_MAX in script<br />
-* [KYLIN-3355] - Improve the HTTP return code of Rest API<br />
-* [KYLIN-3370] - Enhance segment pruning<br />
-* [KYLIN-3384] - Allow setting REPLICATION_SCOPE on newly created tables<br />
-* [KYLIN-3414] - Optimize the cleanup of project L2 cache<br />
-* [KYLIN-3418] - User interface for hybrid model<br />
-* [KYLIN-3419] - Upgrade to Java 8<br />
-* [KYLIN-3421] - Improve job scheduler fetch performance<br />
-* [KYLIN-3423] - Performance improvement in FactDistinctColumnsMapper<br />
-* [KYLIN-3424] - Missing invoke addCubingGarbageCollectionSteps in the cleanup step for HBaseMROutput2Transition<br />
-* [KYLIN-3427] - Convert to HFile in Spark<br />
-* [KYLIN-3434] - Support prepare statement in Kylin server side<br />
-* [KYLIN-3441] - Merge cube segments in Spark<br />
-* [KYLIN-3442] - Fact distinct columns in Spark<br />
-* [KYLIN-3449] - Should allow deleting a segment in NEW status<br />
-* [KYLIN-3452] - Optimize spark cubing memory footprint<br />
-* [KYLIN-3453] - Improve cube size estimation for TOPN, COUNT DISTINCT<br />
-* [KYLIN-3454] - Fix potential thread-safe problem in ResourceTool<br />
-* [KYLIN-3457] - Distribute by multiple columns if not set shard-by column<br />
-* [KYLIN-3463] - Improve optimize job by avoiding creating empty output files on HDFS<br />
-* [KYLIN-3464] - Less user confirmation<br />
-* [KYLIN-3470] - Add cache for execute and execute_output to speed up list job api<br />
-* [KYLIN-3471] - Merge dictionary and statistics on Yarn<br />
-* [KYLIN-3472] - TopN merge in Spark engine performance tunning<br />
-* [KYLIN-3475] - Make calcite case handling and quoting method more configurable.<br />
-* [KYLIN-3478] - Enhance backwards compatibility<br />
-* [KYLIN-3479] - Model can save when kafka partition date column not select<br />
-* [KYLIN-3480] - Change the conformance of calcite from default to lenient<br />
-* [KYLIN-3481] - Kylin Jdbc: Shaded dependencies should not be transitive<br />
-* [KYLIN-3485] - Make unloading table more flexible<br />
-* [KYLIN-3489] - Improve the efficiency of enumerating dictionary values<br />
-* [KYLIN-3490] - For single column queries, only dictionaries are enough<br />
-* [KYLIN-3491] - Improve the cube building process when using global dictionary<br />
-* [KYLIN-3503] - Missing java.util.logging.config.file when starting kylin instance<br />
-* [KYLIN-3507] - Query NPE when project is not found<br />
-* [KYLIN-3509] - Allocate more memory for “Merge dictionary on yarn” step<br />
-* [KYLIN-3510] - Correct sqoopHome at ‘createSqoopToFlatHiveStep’<br />
-* [KYLIN-3521] - Enable Cube Planner by default<br />
-* [KYLIN-3539] - Hybrid segment overlap not cover some case<br />
-* [KYLIN-3317] - Replace UUID.randomUUID with deterministic PRNG<br />
-* [KYLIN-3436] - Refactor code related to loading hive/stream table</p>
-
-<p><strong>Bug fix</strong><br />
-* [KYLIN-2522] - Compilation fails with Java 8 when upgrading to hbase 1.2.5<br />
-* [KYLIN-2662] - NegativeArraySizeException in “Extract Fact Table Distinct Columns”<br />
-* [KYLIN-2933] - Fix compilation against the Kafka 1.0.0 release<br />
-* [KYLIN-3025] - kylin odbc error : {fn CONVERT} for bigint type in tableau 10.4<br />
-* [KYLIN-3255] - Cannot save cube<br />
-* [KYLIN-3258] - No check for duplicate cube name when creating a hybrid cube<br />
-* [KYLIN-3379] - timestampadd bug fix and add test<br />
-* [KYLIN-3382] - YARN job link wasn’t displayed when job is running<br />
-* [KYLIN-3385] - Error when have sum(1) measure<br />
-* [KYLIN-3390] - QueryInterceptorUtil.queryInterceptors is not thread safe<br />
-* [KYLIN-3391] - BadQueryDetector only detect first query<br />
-* [KYLIN-3399] - Leaked lookup table in DictionaryGeneratorCLI#processSegment<br />
-* [KYLIN-3403] - Querying sample cube with filter “KYLIN_CAL_DT.WEEK_BEG_DT &gt;= CAST(‘2001-09-09’ AS DATE)” returns unexpected empty result set<br />
-* [KYLIN-3428] - java.lang.OutOfMemoryError: Requested array size exceeds VM limit<br />
-* [KYLIN-3438] - mapreduce.job.queuename does not work at ‘Convert Cuboid Data to HFile’ Step<br />
-* [KYLIN-3446] - Convert to HFile in spark reports ZK connection refused<br />
-* [KYLIN-3451] - Cloned cube doesn’t have Mandatory Cuboids copied<br />
-* [KYLIN-3456] - Cube level’s snapshot config does not work<br />
-* [KYLIN-3458] - Enabling config kylin.job.retry will cause log info incomplete<br />
-* [KYLIN-3461] - “metastore.sh refresh-cube-signature” not updating cube signature as expected<br />
-* [KYLIN-3462] - “dfs.replication=2” and compression not work in Spark cube engine<br />
-* [KYLIN-3476] - Fix TupleExpression verification when parsing sql<br />
-* [KYLIN-3477] - Spark job size not available when deployMode is cluster<br />
-* [KYLIN-3482] - Unclosed SetAndUnsetThreadLocalConfig in SparkCubingByLayer<br />
-* [KYLIN-3483] - Imprecise comparison between double and integer division<br />
-* [KYLIN-3492] - Wrong constant value in KylinConfigBase.getDefaultVarcharPrecision<br />
-* [KYLIN-3500] - kylin 2.4 use jdbc datasource :Unknown column ‘A.A.CRT_DATE’ in ‘where clause’<br />
-* [KYLIN-3505] - DataType.getType wrong usage of cache<br />
-* [KYLIN-3516] - Job status not updated after job discarded<br />
-* [KYLIN-3517] - Couldn’t update coprocessor on HBase 2.0<br />
-* [KYLIN-3518] - Coprocessor reports NPE when execute a query on HBase 2.0<br />
-* [KYLIN-3522] - PrepareStatement cache issue<br />
-* [KYLIN-3525] - kylin.source.hive.keep-flat-table=true will delete data<br />
-* [KYLIN-3529] - Prompt not friendly<br />
-* [KYLIN-3533] - Can not save hybrid<br />
-* [KYLIN-3534] - Failed at update cube info step<br />
-* [KYLIN-3535] - “kylin-port-replace-util.sh” changed port but not uncomment it<br />
-* [KYLIN-3536] - PrepareStatement cache issue when there are new segments built<br />
-* [KYLIN-3538] - Automatic cube enabled functionality is not merged into 2.4.0<br />
-* [KYLIN-3547] - DimensionRangeInfo: Unsupported data type boolean<br />
-* [KYLIN-3550] - “kylin.source.hive.flat-table-field-delimiter” has extra “"<br />
-* [KYLIN-3551] - Spark job failed with “FileNotFoundException”<br />
-* [KYLIN-3553] - Upgrade Tomcat to 7.0.90.<br />
-* [KYLIN-3554] - Spark job failed but Yarn shows SUCCEED, causing Kylin move to next step<br />
-* [KYLIN-3557] - PreparedStatement should be closed in JDBCResourceDAO#checkTableExists</p>
+<p><strong>New Feature</strong></p>
+
+<ul>
+  <li>[KYLIN-2565] - Support Hadoop 3.0</li>
+  <li>[KYLIN-3488] - Support MySQL as Kylin metadata storage</li>
+  <li>[KYLIN-3366] - Configure automatic enabling of cubes after a build process</li>
+</ul>
+
+<p><strong>Improvement</strong></p>
+
+<ul>
+  <li>[KYLIN-2998] - Kill spark app when cube job was discarded</li>
+  <li>[KYLIN-3033] - Support HBase 2.0</li>
+  <li>[KYLIN-3071] - Add config to reuse dict to reduce dict size</li>
+  <li>[KYLIN-3094] - Upgrade zookeeper to 3.4.12</li>
+  <li>[KYLIN-3146] - Response code and exception should be standardised for cube checking</li>
+  <li>[KYLIN-3186] - Add support for partitioning columns that combine date and time (e.g. YYYYMMDDHHMISS)</li>
+  <li>[KYLIN-3250] - Upgrade jetty version to 9.3.22</li>
+  <li>[KYLIN-3259] - When a cube is deleted, remove it from the hybrid cube definition</li>
+  <li>[KYLIN-3321] - Set MALLOC_ARENA_MAX in script</li>
+  <li>[KYLIN-3355] - Improve the HTTP return code of Rest API</li>
+  <li>[KYLIN-3370] - Enhance segment pruning</li>
+  <li>[KYLIN-3384] - Allow setting REPLICATION_SCOPE on newly created tables</li>
+  <li>[KYLIN-3414] - Optimize the cleanup of project L2 cache</li>
+  <li>[KYLIN-3418] - User interface for hybrid model</li>
+  <li>[KYLIN-3419] - Upgrade to Java 8</li>
+  <li>[KYLIN-3421] - Improve job scheduler fetch performance</li>
+  <li>[KYLIN-3423] - Performance improvement in FactDistinctColumnsMapper</li>
+  <li>[KYLIN-3424] - Missing invoke addCubingGarbageCollectionSteps in the cleanup step for HBaseMROutput2Transition</li>
+  <li>[KYLIN-3427] - Convert to HFile in Spark</li>
+  <li>[KYLIN-3434] - Support prepare statement in Kylin server side</li>
+  <li>[KYLIN-3441] - Merge cube segments in Spark</li>
+  <li>[KYLIN-3442] - Fact distinct columns in Spark</li>
+  <li>[KYLIN-3449] - Should allow deleting a segment in NEW status</li>
+  <li>[KYLIN-3452] - Optimize spark cubing memory footprint</li>
+  <li>[KYLIN-3453] - Improve cube size estimation for TOPN, COUNT DISTINCT</li>
+  <li>[KYLIN-3454] - Fix potential thread-safe problem in ResourceTool</li>
+  <li>[KYLIN-3457] - Distribute by multiple columns if not set shard-by column</li>
+  <li>[KYLIN-3463] - Improve optimize job by avoiding creating empty output files on HDFS</li>
+  <li>[KYLIN-3464] - Less user confirmation</li>
+  <li>[KYLIN-3470] - Add cache for execute and execute_output to speed up list job api</li>
+  <li>[KYLIN-3471] - Merge dictionary and statistics on Yarn</li>
+  <li>[KYLIN-3472] - TopN merge in Spark engine performance tunning</li>
+  <li>[KYLIN-3475] - Make calcite case handling and quoting method more configurable.</li>
+  <li>[KYLIN-3478] - Enhance backwards compatibility</li>
+  <li>[KYLIN-3479] - Model can save when kafka partition date column not select</li>
+  <li>[KYLIN-3480] - Change the conformance of calcite from default to lenient</li>
+  <li>[KYLIN-3481] - Kylin Jdbc: Shaded dependencies should not be transitive</li>
+  <li>[KYLIN-3485] - Make unloading table more flexible</li>
+  <li>[KYLIN-3489] - Improve the efficiency of enumerating dictionary values</li>
+  <li>[KYLIN-3490] - For single column queries, only dictionaries are enough</li>
+  <li>[KYLIN-3491] - Improve the cube building process when using global dictionary</li>
+  <li>[KYLIN-3503] - Missing java.util.logging.config.file when starting kylin instance</li>
+  <li>[KYLIN-3507] - Query NPE when project is not found</li>
+  <li>[KYLIN-3509] - Allocate more memory for “Merge dictionary on yarn” step</li>
+  <li>[KYLIN-3510] - Correct sqoopHome at ‘createSqoopToFlatHiveStep’</li>
+  <li>[KYLIN-3521] - Enable Cube Planner by default</li>
+  <li>[KYLIN-3539] - Hybrid segment overlap not cover some case</li>
+  <li>[KYLIN-3317] - Replace UUID.randomUUID with deterministic PRNG</li>
+  <li>[KYLIN-3436] - Refactor code related to loading hive/stream table</li>
+</ul>
+
+<p><strong>Bug fix</strong></p>
+
+<ul>
+  <li>[KYLIN-2522] - Compilation fails with Java 8 when upgrading to hbase 1.2.5</li>
+  <li>[KYLIN-2662] - NegativeArraySizeException in “Extract Fact Table Distinct Columns”</li>
+  <li>[KYLIN-2933] - Fix compilation against the Kafka 1.0.0 release</li>
+  <li>[KYLIN-3025] - kylin odbc error : {fn CONVERT} for bigint type in tableau 10.4</li>
+  <li>[KYLIN-3255] - Cannot save cube</li>
+  <li>[KYLIN-3258] - No check for duplicate cube name when creating a hybrid cube</li>
+  <li>[KYLIN-3379] - timestampadd bug fix and add test</li>
+  <li>[KYLIN-3382] - YARN job link wasn’t displayed when job is running</li>
+  <li>[KYLIN-3385] - Error when have sum(1) measure</li>
+  <li>[KYLIN-3390] - QueryInterceptorUtil.queryInterceptors is not thread safe</li>
+  <li>[KYLIN-3391] - BadQueryDetector only detect first query</li>
+  <li>[KYLIN-3399] - Leaked lookup table in DictionaryGeneratorCLI#processSegment</li>
+  <li>[KYLIN-3403] - Querying sample cube with filter “KYLIN_CAL_DT.WEEK_BEG_DT &gt;= CAST(‘2001-09-09’ AS DATE)” returns unexpected empty result set</li>
+  <li>[KYLIN-3428] - java.lang.OutOfMemoryError: Requested array size exceeds VM limit</li>
+  <li>[KYLIN-3438] - mapreduce.job.queuename does not work at ‘Convert Cuboid Data to HFile’ Step</li>
+  <li>[KYLIN-3446] - Convert to HFile in spark reports ZK connection refused</li>
+  <li>[KYLIN-3451] - Cloned cube doesn’t have Mandatory Cuboids copied</li>
+  <li>[KYLIN-3456] - Cube level’s snapshot config does not work</li>
+  <li>[KYLIN-3458] - Enabling config kylin.job.retry will cause log info incomplete</li>
+  <li>[KYLIN-3461] - “metastore.sh refresh-cube-signature” not updating cube signature as expected</li>
+  <li>[KYLIN-3462] - “dfs.replication=2” and compression not work in Spark cube engine</li>
+  <li>[KYLIN-3476] - Fix TupleExpression verification when parsing sql</li>
+  <li>[KYLIN-3477] - Spark job size not available when deployMode is cluster</li>
+  <li>[KYLIN-3482] - Unclosed SetAndUnsetThreadLocalConfig in SparkCubingByLayer</li>
+  <li>[KYLIN-3483] - Imprecise comparison between double and integer division</li>
+  <li>[KYLIN-3492] - Wrong constant value in KylinConfigBase.getDefaultVarcharPrecision</li>
+  <li>[KYLIN-3500] - kylin 2.4 use jdbc datasource :Unknown column ‘A.A.CRT_DATE’ in ‘where clause’</li>
+  <li>[KYLIN-3505] - DataType.getType wrong usage of cache</li>
+  <li>[KYLIN-3516] - Job status not updated after job discarded</li>
+  <li>[KYLIN-3517] - Couldn’t update coprocessor on HBase 2.0</li>
+  <li>[KYLIN-3518] - Coprocessor reports NPE when execute a query on HBase 2.0</li>
+  <li>[KYLIN-3522] - PrepareStatement cache issue</li>
+  <li>[KYLIN-3525] - kylin.source.hive.keep-flat-table=true will delete data</li>
+  <li>[KYLIN-3529] - Prompt not friendly</li>
+  <li>[KYLIN-3533] - Can not save hybrid</li>
+  <li>[KYLIN-3534] - Failed at update cube info step</li>
+  <li>[KYLIN-3535] - “kylin-port-replace-util.sh” changed port but not uncomment it</li>
+  <li>[KYLIN-3536] - PrepareStatement cache issue when there are new segments built</li>
+  <li>[KYLIN-3538] - Automatic cube enabled functionality is not merged into 2.4.0</li>
+  <li>[KYLIN-3547] - DimensionRangeInfo: Unsupported data type boolean</li>
+  <li>[KYLIN-3550] - “kylin.source.hive.flat-table-field-delimiter” has extra “"</li>
+  <li>[KYLIN-3551] - Spark job failed with “FileNotFoundException”</li>
+  <li>[KYLIN-3553] - Upgrade Tomcat to 7.0.90.</li>
+  <li>[KYLIN-3554] - Spark job failed but Yarn shows SUCCEED, causing Kylin move to next step</li>
+  <li>[KYLIN-3557] - PreparedStatement should be closed in JDBCResourceDAO#checkTableExists</li>
+</ul>
 
 <h2 id="v241---2018-09-09">v2.4.1 - 2018-09-09</h2>
 <p><em>Tag:</em> <a href="https://github.com/apache/kylin/tree/kylin-2.4.1">kylin-2.4.1</a><br />
 This is a bug fix release after 2.4.0, with 22 bug fixes and enhancement. Check <a href="/docs/howto/howto_upgrade.html">How to upgrade</a>.</p>
 
-<p><strong>Improvement</strong><br />
-* [KYLIN-3421] - Improve job scheduler fetch performance<br />
-* [KYLIN-3424] - Missing invoke addCubingGarbageCollectionSteps in the cleanup step for HBaseMROutput2Transition<br />
-* [KYLIN-3422] - Support multi-path of domain for kylin connection<br />
-* [KYLIN-3463] - Improve optimize job by avoiding creating empty output files on HDFS<br />
-* [KYLIN-3503] - Missing java.util.logging.config.file when starting kylin instance<br />
-* [KYLIN-3507] - Query NPE when project is not found</p>
-
-<p><strong>Bug fix</strong><br />
-* [KYLIN-2662] - NegativeArraySizeException in “Extract Fact Table Distinct Columns<br />
-* [KYLIN-3025] - kylin odbc error : {fn CONVERT} for bigint type in tableau 10.4<br />
-* [KYLIN-3255] - Cannot save cube<br />
-* [KYLIN-3347] - QueryService Exception when using calcite function ex : {fn CURRENT_TIMESTAMP(0)}<br />
-* [KYLIN-3391] - BadQueryDetector only detect first query<br />
-* [KYLIN-3403] - Querying sample cube with filter “KYLIN_CAL_DT.WEEK_BEG_DT &gt;= CAST(‘2001-09-09’ AS DATE)” returns unexpected empty result set<br />
-* [KYLIN-3428] - java.lang.OutOfMemoryError: Requested array size exceeds VM limit<br />
-* [KYLIN-3438] - mapreduce.job.queuename does not work at ‘Convert Cuboid Data to HFile’ Step<br />
-* [KYLIN-3451] - Cloned cube doesn’t have Mandatory Cuboids copied<br />
-* [KYLIN-3456] - Cube level’s snapshot config does not work<br />
-* [KYLIN-3460] - {fn CURRENT_DATE()} parse error<br />
-* [KYLIN-3461] - “metastore.sh refresh-cube-signature” not updating cube signature as expected<br />
-* [KYLIN-3476] - Fix TupleExpression verification when parsing sql<br />
-* [KYLIN-3492] - Wrong constant value in KylinConfigBase.getDefaultVarcharPrecision<br />
-* [KYLIN-3500] - kylin 2.4 use jdbc datasource :Unknown column ‘A.A.CRT_DATE’ in ‘where clause’<br />
-* [KYLIN-3505] - DataType.getType wrong usage of cache</p>
+<p><strong>Improvement</strong></p>
+
+<ul>
+  <li>[KYLIN-3421] - Improve job scheduler fetch performance</li>
+  <li>[KYLIN-3424] - Missing invoke addCubingGarbageCollectionSteps in the cleanup step for HBaseMROutput2Transition</li>
+  <li>[KYLIN-3422] - Support multi-path of domain for kylin connection</li>
+  <li>[KYLIN-3463] - Improve optimize job by avoiding creating empty output files on HDFS</li>
+  <li>[KYLIN-3503] - Missing java.util.logging.config.file when starting kylin instance</li>
+  <li>[KYLIN-3507] - Query NPE when project is not found</li>
+</ul>
+
+<p><strong>Bug fix</strong></p>
+
+<ul>
+  <li>[KYLIN-2662] - NegativeArraySizeException in “Extract Fact Table Distinct Columns</li>
+  <li>[KYLIN-3025] - kylin odbc error : {fn CONVERT} for bigint type in tableau 10.4</li>
+  <li>[KYLIN-3255] - Cannot save cube</li>
+  <li>[KYLIN-3347] - QueryService Exception when using calcite function ex : {fn CURRENT_TIMESTAMP(0)}</li>
+  <li>[KYLIN-3391] - BadQueryDetector only detect first query</li>
+  <li>[KYLIN-3403] - Querying sample cube with filter “KYLIN_CAL_DT.WEEK_BEG_DT &gt;= CAST(‘2001-09-09’ AS DATE)” returns unexpected empty result set</li>
+  <li>[KYLIN-3428] - java.lang.OutOfMemoryError: Requested array size exceeds VM limit</li>
+  <li>[KYLIN-3438] - mapreduce.job.queuename does not work at ‘Convert Cuboid Data to HFile’ Step</li>
+  <li>[KYLIN-3451] - Cloned cube doesn’t have Mandatory Cuboids copied</li>
+  <li>[KYLIN-3456] - Cube level’s snapshot config does not work</li>
+  <li>[KYLIN-3460] - {fn CURRENT_DATE()} parse error</li>
+  <li>[KYLIN-3461] - “metastore.sh refresh-cube-signature” not updating cube signature as expected</li>
+  <li>[KYLIN-3476] - Fix TupleExpression verification when parsing sql</li>
+  <li>[KYLIN-3492] - Wrong constant value in KylinConfigBase.getDefaultVarcharPrecision</li>
+  <li>[KYLIN-3500] - kylin 2.4 use jdbc datasource :Unknown column ‘A.A.CRT_DATE’ in ‘where clause’</li>
+  <li>[KYLIN-3505] - DataType.getType wrong usage of cache</li>
+</ul>
 
 <h2 id="v240---2018-06-23">v2.4.0 - 2018-06-23</h2>
 <p><em>Tag:</em> <a href="https://github.com/apache/kylin/tree/kylin-2.4.0">kylin-2.4.0</a><br />
 This is a major release after 2.3.x, with 8 new features and more than 30 bug fixes bug fixes and enhancement. Check <a href="/docs/howto/howto_upgrade.html">How to upgrade</a>.</p>
 
-<p><strong>New Feature</strong><br />
-* [KYLIN-2484] - Spark engine to support source from Kafka<br />
-* [KYLIN-3221] - Allow externalizing lookup table snapshot<br />
-* [KYLIN-3283] - Support values RelNode<br />
-* [KYLIN-3315] - Allow each project to set its own source at project level<br />
-* [KYLIN-3343] - Support JDBC source on UI<br />
-* [KYLIN-3358] - Support sum(case when…), sum(2*price+1), count(column) and more<br />
-* [KYLIN-3378] - Support Kafka table join with Hive tables</p>
-
-<p><strong>Improvement</strong><br />
-* [KYLIN-3137] - Spark cubing without hive-site.xml<br />
-* [KYLIN-3174] - Default scheduler enhancement<br />
-* [KYLIN-3220] - Add manager for project ACL.<br />
-* [KYLIN-3234] - ResourceStore should add a API that can recursively list path.<br />
-* [KYLIN-3246] - Add manager for user.<br />
-* [KYLIN-3248] - Add batch grant API for project ACL.<br />
-* [KYLIN-3251] - Add a hook that can customer made test_case_data<br />
-* [KYLIN-3266] - Improve CI coverage<br />
-* [KYLIN-3267] - add override MR config at project/cube level only for mem-hungry build steps <br />
-* [KYLIN-3271] - Optimize sub-path check of ResourceTool<br />
-* [KYLIN-3275] - Add unit test for StorageCleanupJob<br />
-* [KYLIN-3279] - Util Class for encryption and decryption<br />
-* [KYLIN-3284] - Refactor all OLAPRel computeSelfCost<br />
-* [KYLIN-3289] - Refactor the storage garbage clean up code<br />
-* [KYLIN-3294] - Remove HBaseMROutput.java, RangeKeyDistributionJob.java and other sunset classes<br />
-* [KYLIN-3314] - Refactor code for cube planner algorithm<br />
-* [KYLIN-3320] - CubeStatsReader cannot print stats properly for some cube <br />
-* [KYLIN-3328] - Upgrade the metadata of sample cube to latest<br />
-* [KYLIN-3331] - Kylin start script hangs during retrieving hive dependencys<br />
-* [KYLIN-3345] - Use Apache Parent POM 19<br />
-* [KYLIN-3354] - KeywordDefaultDirtyHack cannot handle double-quoted defaultCatalog identifier<br />
-* [KYLIN-3369] - Reduce the data size sink from Kafka topic to HDFS<br />
-* [KYLIN-3380] - Allow to configure sqoop for jdbc source with a kylin_sqoop_conf.xml like hive<br />
-* [KYLIN-3386] - TopN measure validate code refactor to make it more clear</p>
-
-<p><strong>Bug</strong><br />
-* [KYLIN-1768] - NDCuboidMapper throws ArrayIndexOutOfBoundsException when dimension is fixed length encoded to more than 256 bytes<br />
-* [KYLIN-1948] - IntegerDimEnc, does not encode -1 correctly<br />
-* [KYLIN-3115] - Incompatible RowKeySplitter initialize between build and merge job<br />
-* [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<br />
-* [KYLIN-3149] - Calcite’s ReduceExpressionsRule.PROJECT_INSTANCE not working as expected<br />
-* [KYLIN-3168] - CubeHFileJob should use currentHBaseConfiguration but not new create hbase configuration<br />
-* [KYLIN-3257] - Useless call in FuzzyValueCombination<br />
-* [KYLIN-3277] - Override hiveconf settings when connecting to hive using jdbc<br />
-* [KYLIN-3281] - OLAPProjectRule can’t normal working with  projectRel[input=sortRel]<br />
-* [KYLIN-3292] - The setting config dialog will cause NPE in Kylin server<br />
-* [KYLIN-3293] - FixedLenHexDimEnc return a wrong code length leads to cut bytes error.<br />
-* [KYLIN-3295] - Unused method SQLDigestUtil#appendTsFilterToExecute<br />
-* [KYLIN-3296] - When merge cube,get java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method)<br />
-* [KYLIN-3311] - Segments overlap error (refactor write conflict exception)<br />
-* [KYLIN-3324] - NegativeArraySizeException in CreateDictionaryJob$2.getDictionary()<br />
-* [KYLIN-3336] - java.lang.NoSuchMethodException: org.apache.kylin.tool.HBaseUsageExtractor.execute([Ljava.lang.String;)<br />
-* [KYLIN-3348] - “missing LastBuildJobID” error when building new cube segment<br />
-* [KYLIN-3352] - Segment pruning bug, e.g. date_col &gt; “max_date+1”<br />
-* [KYLIN-3363] - Wrong partition condition appended in JDBC Source<br />
-* [KYLIN-3367] - Add the compatibility for new version of hbase<br />
-* [KYLIN-3368] - “/kylin/kylin_metadata/metadata/” has many garbage for spark cubing<br />
-* [KYLIN-3388] - Data may become not correct if mappers fail during the redistribute step, “distribute by rand()”<br />
-* [KYLIN-3396] - NPE throws when materialize lookup table to HBase<br />
-* [KYLIN-3398] - Inaccurate arithmetic operation in LookupTableToHFileJob#calculateShardNum<br />
-* [KYLIN-3400] - WipeCache and createCubeDesc causes deadlock<br />
-* [KYLIN-3401] - The current using zip compress tool has an arbitrary file write vulnerability<br />
-* [KYLIN-3404] - Last optimized time detail was not showing after cube optimization</p>
-
-<p><strong>Task</strong><br />
-* [KYLIN-3327] - Upgrade surefire version to 2.21.0<br />
-* [KYLIN-3372] - Upgrade jackson-databind version due to security concerns<br />
-* [KYLIN-3415] - Remove “external” module</p>
-
-<p><strong>Sub-task</strong><br />
-* [KYLIN-3359] - Support sum(expression) if possible<br />
-* [KYLIN-3362] - Support dynamic dimension push down<br />
-* [KYLIN-3364] - Make the behavior of BigDecimalSumAggregator consistent with hive<br />
-* [KYLIN-3373] - Some improvements for lookup table - UI part change<br />
-* [KYLIN-3374] - Some improvements for lookup table - metadata change<br />
-* [KYLIN-3375] - Some improvements for lookup table - build change<br />
-* [KYLIN-3376] - Some improvements for lookup table - query change<br />
-* [KYLIN-3377] - Some improvements for lookup table - snapshot management</p>
+<p><strong>New Feature</strong></p>
+
+<ul>
+  <li>[KYLIN-2484] - Spark engine to support source from Kafka</li>
+  <li>[KYLIN-3221] - Allow externalizing lookup table snapshot</li>
+  <li>[KYLIN-3283] - Support values RelNode</li>
+  <li>[KYLIN-3315] - Allow each project to set its own source at project level</li>
+  <li>[KYLIN-3343] - Support JDBC source on UI</li>
+  <li>[KYLIN-3358] - Support sum(case when…), sum(2*price+1), count(column) and more</li>
+  <li>[KYLIN-3378] - Support Kafka table join with Hive tables</li>
+</ul>
+
+<p><strong>Improvement</strong></p>
+
+<ul>
+  <li>[KYLIN-3137] - Spark cubing without hive-site.xml</li>
+  <li>[KYLIN-3174] - Default scheduler enhancement</li>
+  <li>[KYLIN-3220] - Add manager for project ACL.</li>
+  <li>[KYLIN-3234] - ResourceStore should add a API that can recursively list path.</li>
+  <li>[KYLIN-3246] - Add manager for user.</li>
+  <li>[KYLIN-3248] - Add batch grant API for project ACL.</li>
+  <li>[KYLIN-3251] - Add a hook that can customer made test_case_data</li>
+  <li>[KYLIN-3266] - Improve CI coverage</li>
+  <li>[KYLIN-3267] - add override MR config at project/cube level only for mem-hungry build steps</li>
+  <li>[KYLIN-3271] - Optimize sub-path check of ResourceTool</li>
+  <li>[KYLIN-3275] - Add unit test for StorageCleanupJob</li>
+  <li>[KYLIN-3279] - Util Class for encryption and decryption</li>
+  <li>[KYLIN-3284] - Refactor all OLAPRel computeSelfCost</li>
+  <li>[KYLIN-3289] - Refactor the storage garbage clean up code</li>
+  <li>[KYLIN-3294] - Remove HBaseMROutput.java, RangeKeyDistributionJob.java and other sunset classes</li>
+  <li>[KYLIN-3314] - Refactor code for cube planner algorithm</li>
+  <li>[KYLIN-3320] - CubeStatsReader cannot print stats properly for some cube</li>
+  <li>[KYLIN-3328] - Upgrade the metadata of sample cube to latest</li>
+  <li>[KYLIN-3331] - Kylin start script hangs during retrieving hive dependencys</li>
+  <li>[KYLIN-3345] - Use Apache Parent POM 19</li>
+  <li>[KYLIN-3354] - KeywordDefaultDirtyHack cannot handle double-quoted defaultCatalog identifier</li>
+  <li>[KYLIN-3369] - Reduce the data size sink from Kafka topic to HDFS</li>
+  <li>[KYLIN-3380] - Allow to configure sqoop for jdbc source with a kylin_sqoop_conf.xml like hive</li>
+  <li>[KYLIN-3386] - TopN measure validate code refactor to make it more clear</li>
+</ul>
+
+<p><strong>Bug fix</strong></p>
+
+<ul>
+  <li>[KYLIN-1768] - NDCuboidMapper throws ArrayIndexOutOfBoundsException when dimension is fixed length encoded to more than 256 bytes</li>
+  <li>[KYLIN-1948] - IntegerDimEnc, does not encode -1 correctly</li>
+  <li>[KYLIN-3115] - Incompatible RowKeySplitter initialize between build and merge job</li>
+  <li>[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</li>
+  <li>[KYLIN-3149] - Calcite’s ReduceExpressionsRule.PROJECT_INSTANCE not working as expected</li>
+  <li>[KYLIN-3168] - CubeHFileJob should use currentHBaseConfiguration but not new create hbase configuration</li>
+  <li>[KYLIN-3257] - Useless call in FuzzyValueCombination</li>
+  <li>[KYLIN-3277] - Override hiveconf settings when connecting to hive using jdbc</li>
+  <li>[KYLIN-3281] - OLAPProjectRule can’t normal working with  projectRel[input=sortRel]</li>
+  <li>[KYLIN-3292] - The setting config dialog will cause NPE in Kylin server</li>
+  <li>[KYLIN-3293] - FixedLenHexDimEnc return a wrong code length leads to cut bytes error.</li>
+  <li>[KYLIN-3295] - Unused method SQLDigestUtil#appendTsFilterToExecute</li>
+  <li>[KYLIN-3296] - When merge cube,get java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method)</li>
+  <li>[KYLIN-3311] - Segments overlap error (refactor write conflict exception)</li>
+  <li>[KYLIN-3324] - NegativeArraySizeException in CreateDictionaryJob$2.getDictionary()</li>
+  <li>[KYLIN-3336] - java.lang.NoSuchMethodException: org.apache.kylin.tool.HBaseUsageExtractor.execute([Ljava.lang.String;)</li>
+  <li>[KYLIN-3348] - “missing LastBuildJobID” error when building new cube segment</li>
+  <li>[KYLIN-3352] - Segment pruning bug, e.g. date_col &gt; “max_date+1”</li>
+  <li>[KYLIN-3363] - Wrong partition condition appended in JDBC Source</li>
+  <li>[KYLIN-3367] - Add the compatibility for new version of hbase</li>
+  <li>[KYLIN-3368] - “/kylin/kylin_metadata/metadata/” has many garbage for spark cubing</li>
+  <li>[KYLIN-3388] - Data may become not correct if mappers fail during the redistribute step, “distribute by rand()”</li>
+  <li>[KYLIN-3396] - NPE throws when materialize lookup table to HBase</li>
+  <li>[KYLIN-3398] - Inaccurate arithmetic operation in LookupTableToHFileJob#calculateShardNum</li>
+  <li>[KYLIN-3400] - WipeCache and createCubeDesc causes deadlock</li>
+  <li>[KYLIN-3401] - The current using zip compress tool has an arbitrary file write vulnerability</li>
+  <li>[KYLIN-3404] - Last optimized time detail was not showing after cube optimization</li>
+</ul>
+
+<p><strong>Task</strong></p>
+
+<ul>
+  <li>[KYLIN-3327] - Upgrade surefire version to 2.21.0</li>
+  <li>[KYLIN-3372] - Upgrade jackson-databind version due to security concerns</li>
+  <li>[KYLIN-3415] - Remove “external” module</li>
+</ul>
+
+<p><strong>Sub-task</strong></p>
+
+<ul>
+  <li>[KYLIN-3359] - Support sum(expression) if possible</li>
+  <li>[KYLIN-3362] - Support dynamic dimension push down</li>
+  <li>[KYLIN-3364] - Make the behavior of BigDecimalSumAggregator consistent with hive</li>
+  <li>[KYLIN-3373] - Some improvements for lookup table - UI part change</li>
+  <li>[KYLIN-3374] - Some improvements for lookup table - metadata change</li>
+  <li>[KYLIN-3375] - Some improvements for lookup table - build change</li>
+  <li>[KYLIN-3376] - Some improvements for lookup table - query change</li>
+  <li>[KYLIN-3377] - Some improvements for lookup table - snapshot management</li>
+</ul>
 
 <h2 id="v232---2018-07-08">v2.3.2 - 2018-07-08</h2>
 <p><em>Tag:</em> <a href="https://github.com/apache/kylin/tree/kylin-2.3.2">kylin-2.3.2</a><br />
 This is a bug fix release after 2.3.1, with 12 bug fixes and enhancement. Check <a href="/docs23/howto/howto_upgrade.html">How to upgrade</a>.</p>
 
-<p><strong>Improvement</strong><br />
-* [KYLIN-3345] - Use Apache Parent POM 19<br />
-* [KYLIN-3372] - Upgrade jackson-databind version due to security concerns<br />
-* [KYLIN-3415] - Remove “external” module</p>
-
-<p><strong>Bug</strong><br />
-* [KYLIN-3115] - Incompatible RowKeySplitter initialize between build and merge job<br />
-* [KYLIN-3336] - java.lang.NoSuchMethodException: org.apache.kylin.tool.HBaseUsageExtractor.execute([Ljava.lang.String;)<br />
-* [KYLIN-3348] - “missing LastBuildJobID” error when building new cube segment<br />
-* [KYLIN-3352] - Segment pruning bug, e.g. date_col &gt; “max_date+1”<br />
-* [KYLIN-3363] - Wrong partition condition appended in JDBC Source<br />
-* [KYLIN-3388] - Data may become not correct if mappers fail during the redistribute step, “distribute by rand()”<br />
-* [KYLIN-3400] - WipeCache and createCubeDesc causes deadlock<br />
-* [KYLIN-3401] - The current using zip compress tool has an arbitrary file write vulnerability<br />
-* [KYLIN-3404] - Last optimized time detail was not showing after cube optimization</p>
+<p><strong>Improvement</strong></p>
+
+<ul>
+  <li>[KYLIN-3345] - Use Apache Parent POM 19</li>
+  <li>[KYLIN-3372] - Upgrade jackson-databind version due to security concerns</li>
+  <li>[KYLIN-3415] - Remove “external” module</li>
+</ul>
+
+<p><strong>Bug fix</strong></p>
+
+<ul>
+  <li>[KYLIN-3115] - Incompatible RowKeySplitter initialize between build and merge job</li>
+  <li>[KYLIN-3336] - java.lang.NoSuchMethodException: org.apache.kylin.tool.HBaseUsageExtractor.execute([Ljava.lang.String;)</li>
+  <li>[KYLIN-3348] - “missing LastBuildJobID” error when building new cube segment</li>
+  <li>[KYLIN-3352] - Segment pruning bug, e.g. date_col &gt; “max_date+1”</li>
+  <li>[KYLIN-3363] - Wrong partition condition appended in JDBC Source</li>
+  <li>[KYLIN-3388] - Data may become not correct if mappers fail during the redistribute step, “distribute by rand()”</li>
+  <li>[KYLIN-3400] - WipeCache and createCubeDesc causes deadlock</li>
+  <li>[KYLIN-3401] - The current using zip compress tool has an arbitrary file write vulnerability</li>
+  <li>[KYLIN-3404] - Last optimized time detail was not showing after cube optimization</li>
+</ul>
 
 <h2 id="v231---2018-03-28">v2.3.1 - 2018-03-28</h2>
 <p><em>Tag:</em> <a href="https://github.com/apache/kylin/tree/kylin-2.3.1">kylin-2.3.1</a><br />
 This is a bug fix release after 2.3.0, with 12 bug fixes and enhancement. Check <a href="/docs/howto/howto_upgrade.html">How to upgrade</a>.</p>
 
-<p><strong>Improvement</strong><br />
-* [KYLIN-3233] - CacheController can not handle if cacheKey has “/”<br />
-* [KYLIN-3278] - Kylin should not distribute hive table by random at Step1<br />
-* [KYLIN-3300] - Upgrade jackson-databind to 2.6.7.1 with security issue fixed<br />
-* [KYLIN-3301] - Upgrade opensaml to 2.6.6 with security issue fixed</p>
-
-<p><strong>Bug</strong><br />
-* [KYLIN-3270] - Fix the blocking issue in Cube optimizing job<br />
-* [KYLIN-3276] - Fix the query cache bug with dynamic parameter<br />
-* [KYLIN-3288] - “Sqoop To Flat Hive Table” step should specify “mapreduce.queue.name”<br />
-* [KYLIN-3306] - Fix the rarely happened unit test exception of generic algorithm<br />
-* [KYLIN-3287] - When a shard by column is in dict encoding, dict building error.<br />
-* [KYLIN-3280] - The delete button should not be enabled without any segment in cube segment delete confirm dialog<br />
-* [KYLIN-3119] - A few bugs in the function ‘massageSql’ of ‘QueryUtil.java’<br />
-* [KYLIN-3236] - The function ‘reGenerateAdvancedDict()’ has an error logical judgment, which will cause an exception when you edit the cube.</p>
+<p><strong>Improvement</strong></p>
+
+<ul>
+  <li>[KYLIN-3233] - CacheController can not handle if cacheKey has “/”</li>
+  <li>[KYLIN-3278] - Kylin should not distribute hive table by random at Step1</li>
+  <li>[KYLIN-3300] - Upgrade jackson-databind to 2.6.7.1 with security issue fixed</li>
+  <li>[KYLIN-3301] - Upgrade opensaml to 2.6.6 with security issue fixed</li>
+</ul>
+
+<p><strong>Bug fix</strong></p>
+
+<ul>
+  <li>[KYLIN-3270] - Fix the blocking issue in Cube optimizing job</li>
+  <li>[KYLIN-3276] - Fix the query cache bug with dynamic parameter</li>
+  <li>[KYLIN-3288] - “Sqoop To Flat Hive Table” step should specify “mapreduce.queue.name”</li>
+  <li>[KYLIN-3306] - Fix the rarely happened unit test exception of generic algorithm</li>
+  <li>[KYLIN-3287] - When a shard by column is in dict encoding, dict building error.</li>
+  <li>[KYLIN-3280] - The delete button should not be enabled without any segment in cube segment delete confirm dialog</li>
+  <li>[KYLIN-3119] - A few bugs in the function ‘massageSql’ of ‘QueryUtil.java’</li>
+  <li>[KYLIN-3236] - The function ‘reGenerateAdvancedDict()’ has an error logical judgment, which will cause an exception when you edit the cube.</li>
+</ul>
 
 <h2 id="v230---2018-03-04">v2.3.0 - 2018-03-04</h2>
 <p><em>Tag:</em> <a href="https://github.com/apache/kylin/tree/kylin-2.3.0">kylin-2.3.0</a><br />
 This is a major release after 2.2, with more than 250 bug fixes and enhancement. Check <a href="/docs/howto/howto_upgrade.html">How to upgrade</a>.</p>
 
-<p><strong>New Feature</strong><br />
-* [KYLIN-3125] - Support SparkSql in Cube building step “Create Intermediate Flat Hive Table”<br />
-* [KYLIN-3052] - Support Redshift as data source<br />
-* [KYLIN-3044] - Support SQL Server as data source<br />
-* [KYLIN-2999] - One click migrate cube in web<br />
-* [KYLIN-2960] - Support user/group and role authentication for LDAP<br />
-* [KYLIN-2902] - Introduce project-level concurrent query number control<br />
-* [KYLIN-2776] - New metric framework based on dropwizard<br />
-* [KYLIN-2727] - Introduce cube planner able to select cost-effective cuboids to be built by cost-based algorithms<br />
-* [KYLIN-2726] - Introduce a dashboard for showing kylin service related metrics, like query count, query latency, job count, etc<br />
-* [KYLIN-1892] - Support volatile range for segments auto merge</p>
-
-<p><strong>Improvement</strong><br />
-* [KYLIN-3265] - Add “jobSearchMode” as a condition to “/kylin/api/jobs” API<br />
-* [KYLIN-3245] - Searching cube support fuzzy search<br />
-* [KYLIN-3243] - Optimize the code and keep the code consistent in the access.html<br />
-* [KYLIN-3239] - Refactor the ACL code about “checkPermission” and “hasPermission”<br />
-* [KYLIN-3215] - Remove ‘drop’ option when job status is stopped and error<br />
-* [KYLIN-3214] - Initialize ExternalAclProvider when starting kylin<br />
-* [KYLIN-3209] - Optimize job partial statistics path be consistent with existing one<br />
-* [KYLIN-3196] - Replace StringUtils.containsOnly with Regex<br />
-* [KYLIN-3194] - Tolerate broken job metadata caused by executable ClassNotFoundException<br />
-* [KYLIN-3193] - No model clone across projects<br />
-* [KYLIN-3182] - Update Kylin help menu links<br />
-* [KYLIN-3181] - The submit button status of refreshing cube is not suitable when the start time is equal or more than the end time.<br />
-* [KYLIN-3162] - Fix alignment problem of ‘Save Query’ pop-up box<br />
-* [KYLIN-3159] - Remove unnecessary cube access request<br />
-* [KYLIN-3158] - Metadata broadcast should only retry failed node<br />
-* [KYLIN-3157] - Enhance query timeout to entire query life cycle<br />
-* [KYLIN-3151] - Enable ‘Query History’ to show items filtered by different projects<br />
-* [KYLIN-3150] - Support different compression in PercentileCounter measure<br />
-* [KYLIN-3145] - Support Kafka JSON message whose property name includes “_”<br />
-* [KYLIN-3144] - Adopt Collections.emptyList() for empty list values<br />
-* [KYLIN-3129] - Fix the joda library conflicts during Kylin start on EMR 5.8+<br />
-* [KYLIN-3128] - Configs for allowing export query results for admin/nonadmin user<br />
-* [KYLIN-3127] - In the Insights tab, results section, make the list of Cubes hit by the query either scrollable or multiline<br />
-* [KYLIN-3124] - Support horizontal scroll bar in ‘Insight’<br />
-* [KYLIN-3117] - Hide project config in cube level<br />
-* [KYLIN-3114] - Enable kylin.web.query-timeout for web query request<br />
-* [KYLIN-3113] - Editing Measure supports fuzzy search in web<br />
-* [KYLIN-3108] - Change IT embedded Kafka broker path to /kylin/streaming_config/UUID<br />
-* [KYLIN-3105] - Interface Scheduler’s stop method should be removed<br />
-* [KYLIN-3100] - Building empty partitioned cube with rest api supports partition_start_date<br />
-* [KYLIN-3098] - Enable kylin.query.max-return-rows to limit the maximum row count returned to user<br />
-* [KYLIN-3092] - Synchronize read/write operations on Managers<br />
-* [KYLIN-3090] - Refactor to consolidate all caches and managers under KylinConfig<br />
-* [KYLIN-3088] - Spell Error of isCubeMatch<br />
-* [KYLIN-3086] - Ignore the intermediate tables when loading Hive source tables<br />
-* [KYLIN-3079] - Use Docker for document build environment<br />
-* [KYLIN-3078] - Optimize the estimated size of percentile measure<br />
-* [KYLIN-3076] - Make kylin remember the choices we have made in the “Monitor&gt;Jobs” page<br />
-* [KYLIN-3074] - Change cube access to project access in ExternalAclProvider.java<br />
-* [KYLIN-3073] - Automatically refresh the ‘Saved Queries’ tab page when new query saved. <br />
-* [KYLIN-3070] - Enable ‘kylin.source.hive.flat-table-storage-format’ for flat table storage format<br />
-* [KYLIN-3067] - Provide web interface for dimension capping feature<br />
-* [KYLIN-3065] - Add ‘First’ and ‘Last’ button in case ‘Query History’ is too much<br />
-* [KYLIN-3064] - Turn off Yarn timeline-service when submit mr job<br />
-* [KYLIN-3048] - Give warning when merge with holes, but allow user to force proceed at the same time<br />
-* [KYLIN-3043] - Don’t need create materialized view for lookup tables without snapshot<br />
-* [KYLIN-3039] - Unclosed hbaseAdmin in ITAclTableMigrationToolTest<br />
-* [KYLIN-3036] - Allow complex column type when loading source table<br />
-* [KYLIN-3024] - Input Validator for “Auto Merge Thresholds” text box<br />
-* [KYLIN-3019] - The pop-up window of ‘Calculate Cardinality’ and ‘Load Hive Table’ should have the same hint<br />
-* [KYLIN-3009] - Rest API to get Cube join SQL<br />
-* [KYLIN-3008] - Introduce “submit-patch.py”<br />
-* [KYLIN-3006] - Upgrade Spark to 2.1.2<br />
-* [KYLIN-2997] - Allow change engineType even if there are segments in cube<br />
-* [KYLIN-2996] - Show DeployCoprocessorCLI Log failed tables info<br />
-* [KYLIN-2993] - Add special mr config for base cuboid step<br />
-* [KYLIN-2992] - Avoid OOM in  CubeHFileJob.Reducer<br />
-* [KYLIN-2990] - Add warning window of exist model names for other project selected<br />
-* [KYLIN-2987] - Add ‘auto.purge=true’ when creating intermediate hive table or redistribute a hive table<br />
-* [KYLIN-2985] - Cache temp json file created by each Calcite Connection<br />
-* [KYLIN-2984] - Only allow delete FINISHED or DISCARDED job<br />
-* [KYLIN-2982] - Avoid upgrade column in OLAPTable<br />
-* [KYLIN-2981] - Typo in Cube refresh setting page.<br />
-* [KYLIN-2980] - Remove getKey/Value setKey/Value from Kylin’s Pair.<br />
-* [KYLIN-2975] - Unclosed Statement in test<br />
-* [KYLIN-2966] - push down jdbc column type id mapping<br />
-* [KYLIN-2965] - Keep the same cost calculation logic between RealizationChooser and CubeInstance<br />
-* [KYLIN-2947] - Changed the Pop-up box when no project selected<br />
-* [KYLIN-2941] - Configuration setting for SSO<br />
-* [KYLIN-2940] - List job restful throw NPE when time filter not set<br />
-* [KYLIN-2935] - Improve the way to deploy coprocessor<br />
-* [KYLIN-2928] - PUSH DOWN query cannot use order by function<br />
-* [KYLIN-2921] - Refactor DataModelDesc<br />
-* [KYLIN-2918] - Table ACL needs GUI<br />
-* [KYLIN-2913] - Enable job retry for configurable exceptions<br />
-* [KYLIN-2912] - Remove “hfile” folder after bulk load to HBase<br />
-* [KYLIN-2909] - Refine Email Template for notification by freemarker<br />
-* [KYLIN-2908] - Add one option for migration tool to indicate whether to migrate segment data<br />
-* [KYLIN-2905] - Refine the process of submitting a job<br />
-* [KYLIN-2884] - Add delete segment function for portal<br />
-* [KYLIN-2881] - Improve hbase coprocessor exception handling at kylin server side <br />
-* [KYLIN-2875] - Cube e-mail notification Validation<br />
-* [KYLIN-2867] - split large fuzzy Key set<br />
-* [KYLIN-2866] - Enlarge the reducer number for hyperloglog statistics calculation at step FactDistinctColumnsJob<br />
-* [KYLIN-2847] - Avoid doing useless work by checking query deadline<br />
-* [KYLIN-2846] - Add a config of hbase namespace for cube storage<br />
-* [KYLIN-2809] - Support operator “+” as string concat operator<br />
-* [KYLIN-2801] - Make default precision and scale in DataType (for hive) configurable<br />
-* [KYLIN-2764] - Build the dict for UHC column with MR<br />
-* [KYLIN-2736] - Use multiple threads to calculate HyperLogLogPlusCounter in FactDistinctColumnsMapper<br />
-* [KYLIN-2672] - Only clean necessary cache for CubeMigrationCLI<br />
-* [KYLIN-2656] - Support Zookeeper ACL<br />
-* [KYLIN-2649] - Tableau could send “select *” on a big table<br />
-* [KYLIN-2645] - Upgrade Kafka version to 0.11.0.1<br />
-* [KYLIN-2556] - Switch Findbugs to Spotbugs<br />
-* [KYLIN-2363] - Prune cuboids by capping number of dimensions<br />
-* [KYLIN-1925] - Do not allow cross project clone for cube<br />
-* [KYLIN-1872] - Make query visible and interruptible, improve server’s stablility</p>
-
-<p><strong>Bug</strong><br />
-* [KYLIN-3268] - Tomcat Security Vulnerability Alert. The version of the tomcat for kylin should upgrade to 7.0.85.<br />
-* [KYLIN-3263] - AbstractExecutable’s retry has problem<br />
-* [KYLIN-3247] - REST API ‘GET /api/cubes/{cubeName}/segs/{segmentName}/sql’ should return a cube segment sql<br />
-* [KYLIN-3242] - export result should use alias too<br />
-* [KYLIN-3241] - When refresh on ‘Add Cube Page’, a blank page will appear.<br />
-* [KYLIN-3228] - Should remove the related segment when deleting a job<br />
-* [KYLIN-3227] - Automatically remove the blank at the end of lines in properties files<br />
-* [KYLIN-3226] - When user logs in with only query permission, ‘N/A’ is displayed in the cube’s action list.<br />
-* [KYLIN-3224] - data can’t show when use kylin pushdown model <br />
-* [KYLIN-3223] - Query for the list of hybrid cubes results in NPE<br />
-* [KYLIN-3222] - The function of editing ‘Advanced Dictionaries’ in cube is unavailable.<br />
-* [KYLIN-3219] - Fix NPE when updating metrics during Spark CubingJob<br />
-* [KYLIN-3216] - Remove the hard-code of spark-history path in ‘check-env.sh’<br />
-* [KYLIN-3213] - Kylin help has duplicate items<br />
-* [KYLIN-3211] - Class IntegerDimEnc shuould give more exception information when the length is exceed the max or less than the min<br />
-* [KYLIN-3210] - The project shows ‘_null’ in result page.<br />
-* [KYLIN-3205] - Allow one column is used for both dimension and precisely count distinct measure<br />
-* [KYLIN-3204] - Potentially unclosed resources in JdbcExplorer#evalQueryMetadata<br />
-* [KYLIN-3199] - The login dialog should be closed when ldap user with no permission login correctly<br />
-* [KYLIN-3190] - Fix wrong parameter in revoke access API<br />
-* [KYLIN-3184] - Fix ‘_null’ project on the query page<br />
-* [KYLIN-3183] - Fix the bug of the ‘Remove’ button in ‘Query History’<br />
-* [KYLIN-3178] - Delete table acl failed will cause the wabpage awalys shows “Please wait…”<br />
-* [KYLIN-3177] - Merged Streaming cube segment has no start/end time<br />
-* [KYLIN-3175] - Streaming segment lost TSRange after merge<br />
-* [KYLIN-3173] - DefaultScheduler shutdown didn’t reset field initialized.<br />
-* [KYLIN-3172] - No such file or directory error with CreateLookupHiveViewMaterializationStep <br />
-* [KYLIN-3167] - Datatype lost precision when using beeline<br />
-* [KYLIN-3165] - Fix the IllegalArgumentException during segments auto merge<br />
-* [KYLIN-3164] - HBase connection must be closed when clearing connection pool<br />
-* [KYLIN-3143] - Wrong use of Preconditions.checkNotNull() in ManagedUser#removeAuthoritie<br />
-* [KYLIN-3139] - Failure in map-reduce job due to undefined hdp.version variable when using HDP stack and remote HBase cluster<br />
-* [KYLIN-3136] - Endless status while subtask happens to be the illegal RUNNING<br />
-* [KYLIN-3135] - Fix regular expression bug in SQL comments<br />
-* [KYLIN-3131] - After refresh the page,the cubes can’t sort by ‘create_time’<br />
-* [KYLIN-3130] - If we add new cube then refresh the page,the page is blank<br />
-* [KYLIN-3116] - Fix cardinality caculate checkbox issue when loading tables<br />
-* [KYLIN-3112] - The job ‘Pause’ operation has logic bug in the kylin server.<br />
-* [KYLIN-3111] - Close of HBaseAdmin instance should be placed in finally block<br />
-* [KYLIN-3110] - The dashboard page has some display problems.<br />
-* [KYLIN-3106] - DefaultScheduler.shutdown should use ExecutorService.shutdownNow instead of ExecutorService.shutdown<br />
-* [KYLIN-3104] - When the user log out from “Monitor” page, an alert dialog will pop up warning “Failed to load query.”<br />
-* [KYLIN-3102] - Solve the problems for incomplete display of Hive Table tree.<br />
-* [KYLIN-3101] - The “search” icon will separate from the “Filter” textbox when click the “showSteps” button of a job in the jobList<br />
-* [KYLIN-3097] - A few spell error in partials directory<br />
-* [KYLIN-3087] - Fix the DistributedLock release bug in GlobalDictionaryBuilder<br />
-* [KYLIN-3085] - CubeManager.updateCube() must not update the cached CubeInstance<br />
-* [KYLIN-3084] - File not found Exception when processing union-all in TEZ mode<br />
-* [KYLIN-3083] - potential overflow in CubeHBaseRPC#getCoprocessorTimeoutMillis<br />
-* [KYLIN-3082] - Close of GTBuilder should be placed in finally block in InMemCubeBuilder<br />
-* [KYLIN-3081] - Ineffective null check in CubeController#cuboidsExport<br />
-* [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<br />
-* [KYLIN-3069] - Add proper time zone support to the WebUI instead of GMT/PST kludge<br />
-* [KYLIN-3063] - load-hive-conf.sh should not get the commented configuration item<br />
-* [KYLIN-3061] - When we cancel the Topic modification for ‘Kafka Setting’ of streaming table, the ‘Cancel’ operation will make a mistake.<br />
-* [KYLIN-3060] - The logical processing of creating or updating streaming table has a bug in server, which will cause a NullPointerException.<br />
-* [KYLIN-3058] - We should limit the integer type ID and Port for “Kafka Setting” in “Streaming Cluster” page<br />
-* [KYLIN-3056] - Fix ‘Cannot find segment null’ bug when click ‘SQL’ in the cube view page<br />
-* [KYLIN-3055] - Fix NullPointerException for intersect_count<br />
-* [KYLIN-3054] - The drop-down menu in the grid column of query results missing a little bit.<br />
-* [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<br />
-* [KYLIN-3049] - Filter the invalid zero value of “Auto Merge Thresholds” parameter when you create or upate a cube.<br />
-* [KYLIN-3047] - Wrong column type when sync hive table via beeline<br />
-* [KYLIN-3042] - In query results page, the results data table should resize when click “fullScreen” button<br />
-* [KYLIN-3040] - Refresh a non-partitioned cube changes the segment name to “19700101000000_2922789940817071255”<br />
-* [KYLIN-3038] - cannot support sum of type-converted column SQL<br />
-* [KYLIN-3034] - In the models tree, the “Edit(JSON)” option is missing partly.<br />
-* [KYLIN-3032] - Cube size shows 0 but actually it isn’t empty<br />
-* [KYLIN-3031] - KeywordDefaultDirtyHack should ignore case of default like other database does<br />
-* [KYLIN-3030] - In the cubes table, the options of last column action are missing partly.<br />
-* [KYLIN-3029] - The warning window of existing cube name does not work<br />
-* [KYLIN-3028] - Build cube error when set S3 as working-dir<br />
-* [KYLIN-3026] - Can not see full cube names on insight page<br />
-* [KYLIN-3020] - Improve org.apache.hadoop.util.ToolRunner to be threadsafe<br />
-* [KYLIN-3017] - Footer covers the selection box and some options can not be selected<br />
-* [KYLIN-3016] - StorageCleanup job doesn’t clean up all the legacy fiels in a in Read/Write seperation environment<br />
-* [KYLIN-3004] - Update validation when deleting segment<br />
-* [KYLIN-3001] - Fix the wrong Cache key issue <br />
-* [KYLIN-2995] - Set SparkContext.hadoopConfiguration to HadoopUtil in Spark Cubing<br />
-* [KYLIN-2994] - Handle NPE when load dict in DictionaryManager<br />
-* [KYLIN-2991] - Query hit NumberFormatException if partitionDateFormat is not yyyy-MM-dd<br />
-* [KYLIN-2989] - Close of BufferedWriter should be placed in finally block in SCCreator<br />
-* [KYLIN-2974] - zero joint group can lead to query error<br />
-* [KYLIN-2971] - Fix the wrong “Realization Names” in logQuery when hit cache<br />
-* [KYLIN-2969] - Fix the wrong NumberBytesCodec cache in Number2BytesConverter <br />
-* [KYLIN-2968] - misspelled word in table_load.html<br />
-* [KYLIN-2967] - Add the dependency check when deleting a  project<br />
-* [KYLIN-2962] - drop error job not delete segment<br />
-* [KYLIN-2959] - SAML logout issue<br />
-* [KYLIN-2956] - building trie dictionary blocked on value of length over 4095 <br />
-* [KYLIN-2953] - List readable project not correct if add limit and offset<br />
-* [KYLIN-2939] - Get config properties not correct in UI<br />
-* [KYLIN-2933] - Fix compilation against the Kafka 1.0.0 release<br />
-* [KYLIN-2930] - Selecting one column in union causes compile error<br />
-* [KYLIN-2929] - speed up Dump file performance<br />
-* [KYLIN-2922] - Query fails when a column is used as dimension and sum(column) at the same time<br />
-* [KYLIN-2917] - Dup alias on OLAPTableScan<br />
-* [KYLIN-2907] - Check if a number is a positive integer <br />
-* [KYLIN-2901] - Update correct cardinality for empty table<br />
-* [KYLIN-2887] - Subquery columns not exported in OLAPContext allColumns<br />
-* [KYLIN-2876] - Ineffective check in ExternalAclProvider<br />
-* [KYLIN-2874] - Ineffective check in CubeDesc#getInitialCuboidScheduler<br />
-* [KYLIN-2849] - duplicate segment,cannot be deleted and data cannot be refreshed and merged<br />
-* [KYLIN-2837] - Ineffective call to toUpperCase() in MetadataManager<br />
-* [KYLIN-2836] - Lack of synchronization in CodahaleMetrics#close<br />
-* [KYLIN-2835] - Unclosed resources in JdbcExplorer<br />
-* [KYLIN-2794] - MultipleDictionaryValueEnumerator should output values in sorted order<br />
-* [KYLIN-2756] - Let “LIMIT” be optional in “Inspect” page<br />
-* [KYLIN-2470] - cube build failed when 0 bytes input for non-partition fact table<br />
-* [KYLIN-1664] - Harden security check for ‘/kylin/api/admin/config’ API</p>
-
-<p><strong>Task</strong><br />
-* [KYLIN-3207] - Blog for Kylin Superset Integration<br />
-* [KYLIN-3200] - Enable SonarCloud for Code Analysis<br />
-* [KYLIN-3198] - More Chinese Howto Documents<br />
-* [KYLIN-3195] - Kylin v2.3.0 Release<br />
-* [KYLIN-3191] - Remove the deprecated configuration item kylin.security.acl.default-role<br />
-* [KYLIN-3189] - Documents for kylin python client<br />
-* [KYLIN-3080] - Kylin Qlik Sense Integration Documentation<br />
-* [KYLIN-3068] - Rename deprecated parameter for HDFS block size in HiveColumnCardinalityJob<br />
-* [KYLIN-3062] - Hide RAW measure<br />
-* [KYLIN-3010] - Remove v1 Spark engine code<br />
-* [KYLIN-2843] - Upgrade nvd3 version<br />
-* [KYLIN-2797] - Remove MR engine V1<br />
-* [KYLIN-2796] - Remove the legacy “statisticsenabled” codes in FactDistinctColumnsJob</p>
-
-<p><strong>Sub-Task</strong><br />
-* [KYLIN-3235] - add null check for SQL<br />
-* [KYLIN-3202] - Doc directory for 2.3<br />
-* [KYLIN-3155] - Create a document for how to use dashboard<br />
-* [KYLIN-3154] - Create a document for cube planner<br />
-* [KYLIN-3153] - Create a document for system cube creation<br />
-* [KYLIN-3018] - Change maxLevel for layered cubing<br />
-* [KYLIN-2946] - Introduce a tool for batch incremental building of system cubes<br />
-* [KYLIN-2934] - Provide user guide for KYLIN-2656(Support Zookeeper ACL)<br />
-* [KYLIN-2822] - Introduce sunburst chart to show cuboid tree<br />
-* [KYLIN-2746] - Separate filter row count &amp; aggregated row count for metrics collection returned by coprocessor<br />
-* [KYLIN-2735] - Introduce an option to make job scheduler consider job priority<br />
-* [KYLIN-2734] - Introduce hot cuboids export &amp; import<br />
-* [KYLIN-2733] - Introduce optimize job for adjusting cuboid set<br />
-* [KYLIN-2732] - Introduce base cuboid as a new input for cubing job<br />
-* [KYLIN-2731] - Introduce checkpoint executable<br />
-* [KYLIN-2725] - Introduce a tool for creating system cubes relating to query &amp; job metrics<br />
-* [KYLIN-2723] - Introduce metrics collector for query &amp; job metrics<br />
-* [KYLIN-2722] - Introduce a new measure, called active reservoir, for actively pushing metrics to reporters</p>
+<p><strong>New Feature</strong></p>
+
+<ul>
+  <li>[KYLIN-3125] - Support SparkSql in Cube building step “Create Intermediate Flat Hive Table”</li>
+  <li>[KYLIN-3052] - Support Redshift as data source</li>
+  <li>[KYLIN-3044] - Support SQL Server as data source</li>
+  <li>[KYLIN-2999] - One click migrate cube in web</li>
+  <li>[KYLIN-2960] - Support user/group and role authentication for LDAP</li>
+  <li>[KYLIN-2902] - Introduce project-level concurrent query number control</li>
+  <li>[KYLIN-2776] - New metric framework based on dropwizard</li>
+  <li>[KYLIN-2727] - Introduce cube planner able to select cost-effective cuboids to be built by cost-based algorithms</li>
+  <li>[KYLIN-2726] - Introduce a dashboard for showing kylin service related metrics, like query count, query latency, job count, etc</li>
+  <li>[KYLIN-1892] - Support volatile range for segments auto merge</li>
+</ul>
+
+<p><strong>Improvement</strong></p>
+
+<ul>
+  <li>[KYLIN-3265] - Add “jobSearchMode” as a condition to “/kylin/api/jobs” API</li>
+  <li>[KYLIN-3245] - Searching cube support fuzzy search</li>
+  <li>[KYLIN-3243] - Optimize the code and keep the code consistent in the access.html</li>
+  <li>[KYLIN-3239] - Refactor the ACL code about “checkPermission” and “hasPermission”</li>
+  <li>[KYLIN-3215] - Remove ‘drop’ option when job status is stopped and error</li>
+  <li>[KYLIN-3214] - Initialize ExternalAclProvider when starting kylin</li>
+  <li>[KYLIN-3209] - Optimize job partial statistics path be consistent with existing one</li>
+  <li>[KYLIN-3196] - Replace StringUtils.containsOnly with Regex</li>
+  <li>[KYLIN-3194] - Tolerate broken job metadata caused by executable ClassNotFoundException</li>
+  <li>[KYLIN-3193] - No model clone across projects</li>
+  <li>[KYLIN-3182] - Update Kylin help menu links</li>
+  <li>[KYLIN-3181] - The submit button status of refreshing cube is not suitable when the start time is equal or more than the end time.</li>
+  <li>[KYLIN-3162] - Fix alignment problem of ‘Save Query’ pop-up box</li>
+  <li>[KYLIN-3159] - Remove unnecessary cube access request</li>
+  <li>[KYLIN-3158] - Metadata broadcast should only retry failed node</li>
+  <li>[KYLIN-3157] - Enhance query timeout to entire query life cycle</li>
+  <li>[KYLIN-3151] - Enable ‘Query History’ to show items filtered by different projects</li>
+  <li>[KYLIN-3150] - Support different compression in PercentileCounter measure</li>
+  <li>[KYLIN-3145] - Support Kafka JSON message whose property name includes “_”</li>
+  <li>[KYLIN-3144] - Adopt Collections.emptyList() for empty list values</li>
+  <li>[KYLIN-3129] - Fix the joda library conflicts during Kylin start on EMR 5.8+</li>
+  <li>[KYLIN-3128] - Configs for allowing export query results for admin/nonadmin user</li>
+  <li>[KYLIN-3127] - In the Insights tab, results section, make the list of Cubes hit by the query either scrollable or multiline</li>
+  <li>[KYLIN-3124] - Support horizontal scroll bar in ‘Insight’</li>
+  <li>[KYLIN-3117] - Hide project config in cube level</li>
+  <li>[KYLIN-3114] - Enable kylin.web.query-timeout for web query request</li>
+  <li>[KYLIN-3113] - Editing Measure supports fuzzy search in web</li>
+  <li>[KYLIN-3108] - Change IT embedded Kafka broker path to /kylin/streaming_config/UUID</li>
+  <li>[KYLIN-3105] - Interface Scheduler’s stop method should be removed</li>
+  <li>[KYLIN-3100] - Building empty partitioned cube with rest api supports partition_start_date</li>
+  <li>[KYLIN-3098] - Enable kylin.query.max-return-rows to limit the maximum row count returned to user</li>
+  <li>[KYLIN-3092] - Synchronize read/write operations on Managers</li>
+  <li>[KYLIN-3090] - Refactor to consolidate all caches and managers under KylinConfig</li>
+  <li>[KYLIN-3088] - Spell Error of isCubeMatch</li>
+  <li>[KYLIN-3086] - Ignore the intermediate tables when loading Hive source tables</li>
+  <li>[KYLIN-3079] - Use Docker for document build environment</li>
+  <li>[KYLIN-3078] - Optimize the estimated size of percentile measure</li>
+  <li>[KYLIN-3076] - Make kylin remember the choices we have made in the “Monitor&gt;Jobs” page</li>
+  <li>[KYLIN-3074] - Change cube access to project access in ExternalAclProvider.java</li>
+  <li>[KYLIN-3073] - Automatically refresh the ‘Saved Queries’ tab page when new query saved.</li>
+  <li>[KYLIN-3070] - Enable ‘kylin.source.hive.flat-table-storage-format’ for flat table storage format</li>
+  <li>[KYLIN-3067] - Provide web interface for dimension capping feature</li>
+  <li>[KYLIN-3065] - Add ‘First’ and ‘Last’ button in case ‘Query History’ is too much</li>
+  <li>[KYLIN-3064] - Turn off Yarn timeline-service when submit mr job</li>
+  <li>[KYLIN-3048] - Give warning when merge with holes, but allow user to force proceed at the same time</li>
+  <li>[KYLIN-3043] - Don’t need create materialized view for lookup tables without snapshot</li>
+  <li>[KYLIN-3039] - Unclosed hbaseAdmin in ITAclTableMigrationToolTest</li>
+  <li>[KYLIN-3036] - Allow complex column type when loading source table</li>
+  <li>[KYLIN-3024] - Input Validator for “Auto Merge Thresholds” text box</li>
+  <li>[KYLIN-3019] - The pop-up window of ‘Calculate Cardinality’ and ‘Load Hive Table’ should have the same hint</li>
+  <li>[KYLIN-3009] - Rest API to get Cube join SQL</li>
+  <li>[KYLIN-3008] - Introduce “submit-patch.py”</li>
+  <li>[KYLIN-3006] - Upgrade Spark to 2.1.2</li>
+  <li>[KYLIN-2997] - Allow change engineType even if there are segments in cube</li>
+  <li>[KYLIN-2996] - Show DeployCoprocessorCLI Log failed tables info</li>
+  <li>[KYLIN-2993] - Add special mr config for base cuboid step</li>
+  <li>[KYLIN-2992] - Avoid OOM in  CubeHFileJob.Reducer</li>
+  <li>[KYLIN-2990] - Add warning window of exist model names for other project selected</li>
+  <li>[KYLIN-2987] - Add ‘auto.purge=true’ when creating intermediate hive table or redistribute a hive table</li>
+  <li>[KYLIN-2985] - Cache temp json file created by each Calcite Connection</li>
+  <li>[KYLIN-2984] - Only allow delete FINISHED or DISCARDED job</li>
+  <li>[KYLIN-2982] - Avoid upgrade column in OLAPTable</li>
+  <li>[KYLIN-2981] - Typo in Cube refresh setting page.</li>
+  <li>[KYLIN-2980] - Remove getKey/Value setKey/Value from Kylin’s Pair.</li>
+  <li>[KYLIN-2975] - Unclosed Statement in test</li>
+  <li>[KYLIN-2966] - push down jdbc column type id mapping</li>
+  <li>[KYLIN-2965] - Keep the same cost calculation logic between RealizationChooser and CubeInstance</li>
+  <li>[KYLIN-2947] - Changed the Pop-up box when no project selected</li>
+  <li>[KYLIN-2941] - Configuration setting for SSO</li>
+  <li>[KYLIN-2940] - List job restful throw NPE when time filter not set</li>
+  <li>[KYLIN-2935] - Improve the way to deploy coprocessor</li>
+  <li>[KYLIN-2928] - PUSH DOWN query cannot use order by function</li>
+  <li>[KYLIN-2921] - Refactor DataModelDesc</li>
+  <li>[KYLIN-2918] - Table ACL needs GUI</li>
+  <li>[KYLIN-2913] - Enable job retry for configurable exceptions</li>
+  <li>[KYLIN-2912] - Remove “hfile” folder after bulk load to HBase</li>
+  <li>[KYLIN-2909] - Refine Email Template for notification by freemarker</li>
+  <li>[KYLIN-2908] - Add one option for migration tool to indicate whether to migrate segment data</li>
+  <li>[KYLIN-2905] - Refine the process of submitting a job</li>
+  <li>[KYLIN-2884] - Add delete segment function for portal</li>
+  <li>[KYLIN-2881] - Improve hbase coprocessor exception handling at kylin server side</li>
+  <li>[KYLIN-2875] - Cube e-mail notification Validation</li>
+  <li>[KYLIN-2867] - split large fuzzy Key set</li>
+  <li>[KYLIN-2866] - Enlarge the reducer number for hyperloglog statistics calculation at step FactDistinctColumnsJob</li>
+  <li>[KYLIN-2847] - Avoid doing useless work by checking query deadline</li>
+  <li>[KYLIN-2846] - Add a config of hbase namespace for cube storage</li>
+  <li>[KYLIN-2809] - Support operator “+” as string concat operator</li>
+  <li>[KYLIN-2801] - Make default precision and scale in DataType (for hive) configurable</li>
+  <li>[KYLIN-2764] - Build the dict for UHC column with MR</li>
+  <li>[KYLIN-2736] - Use multiple threads to calculate HyperLogLogPlusCounter in FactDistinctColumnsMapper</li>
+  <li>[KYLIN-2672] - Only clean necessary cache for CubeMigrationCLI</li>
+  <li>[KYLIN-2656] - Support Zookeeper ACL</li>
+  <li>[KYLIN-2649] - Tableau could send “select *” on a big table</li>
+  <li>[KYLIN-2645] - Upgrade Kafka version to 0.11.0.1</li>
+  <li>[KYLIN-2556] - Switch Findbugs to Spotbugs</li>
+  <li>[KYLIN-2363] - Prune cuboids by capping number of dimensions</li>
+  <li>[KYLIN-1925] - Do not allow cross project clone for cube</li>
+  <li>[KYLIN-1872] - Make query visible and interruptible, improve server’s stablility</li>
+</ul>
+
+<p><strong>Bug fix</strong></p>
+
+<ul>
+  <li>[KYLIN-3268] - Tomcat Security Vulnerability Alert. The version of the tomcat for kylin should upgrade to 7.0.85.</li>
+  <li>[KYLIN-3263] - AbstractExecutable’s retry has problem</li>
+  <li>[KYLIN-3247] - REST API ‘GET /api/cubes/{cubeName}/segs/{segmentName}/sql’ should return a cube segment sql</li>
+  <li>[KYLIN-3242] - export result should use alias too</li>
+  <li>[KYLIN-3241] - When refresh on ‘Add Cube Page’, a blank page will appear.</li>
+  <li>[KYLIN-3228] - Should remove the related segment when deleting a job</li>
+  <li>[KYLIN-3227] - Automatically remove the blank at the end of lines in properties files</li>
+  <li>[KYLIN-3226] - When user logs in with only query permission, ‘N/A’ is displayed in the cube’s action list.</li>
+  <li>[KYLIN-3224] - data can’t show when use kylin pushdown model</li>
+  <li>[KYLIN-3223] - Query for the list of hybrid cubes results in NPE</li>
+  <li>[KYLIN-3222] - The function of editing ‘Advanced Dictionaries’ in cube is unavailable.</li>
+  <li>[KYLIN-3219] - Fix NPE when updating metrics during Spark CubingJob</li>
+  <li>[KYLIN-3216] - Remove the hard-code of spark-history path in ‘check-env.sh’</li>
+  <li>[KYLIN-3213] - Kylin help has duplicate items</li>
+  <li>[KYLIN-3211] - Class IntegerDimEnc shuould give more exception information when the length is exceed the max or less than the min</li>
+  <li>[KYLIN-3210] - The project shows ‘_null’ in result page.</li>
+  <li>[KYLIN-3205] - Allow one column is used for both dimension and precisely count distinct measure</li>
+  <li>[KYLIN-3204] - Potentially unclosed resources in JdbcExplorer#evalQueryMetadata</li>
+  <li>[KYLIN-3199] - The login dialog should be closed when ldap user with no permission login correctly</li>
+  <li>[KYLIN-3190] - Fix wrong parameter in revoke access API</li>
+  <li>[KYLIN-3184] - Fix ‘_null’ project on the query page</li>
+  <li>[KYLIN-3183] - Fix the bug of the ‘Remove’ button in ‘Query History’</li>
+  <li>[KYLIN-3178] - Delete table acl failed will cause the wabpage awalys shows “Please wait…”</li>
+  <li>[KYLIN-3177] - Merged Streaming cube segment has no start/end time</li>
+  <li>[KYLIN-3175] - Streaming segment lost TSRange after merge</li>
+  <li>[KYLIN-3173] - DefaultScheduler shutdown didn’t reset field initialized.</li>
+  <li>[KYLIN-3172] - No such file or directory error with CreateLookupHiveViewMaterializationStep</li>
+  <li>[KYLIN-3167] - Datatype lost precision when using beeline</li>
+  <li>[KYLIN-3165] - Fix the IllegalArgumentException during segments auto merge</li>
+  <li>[KYLIN-3164] - HBase connection must be closed when clearing connection pool</li>
+  <li>[KYLIN-3143] - Wrong use of Preconditions.checkNotNull() in ManagedUser#removeAuthoritie</li>
+  <li>[KYLIN-3139] - Failure in map-reduce job due to undefined hdp.version variable when using HDP stack and remote HBase cluster</li>
+  <li>[KYLIN-3136] - Endless status while subtask happens to be the illegal RUNNING</li>
+  <li>[KYLIN-3135] - Fix regular expression bug in SQL comments</li>
+  <li>[KYLIN-3131] - After refresh the page,the cubes can’t sort by ‘create_time’</li>
+  <li>[KYLIN-3130] - If we add new cube then refresh the page,the page is blank</li>
+  <li>[KYLIN-3116] - Fix cardinality caculate checkbox issue when loading tables</li>
+  <li>[KYLIN-3112] - The job ‘Pause’ operation has logic bug in the kylin server.</li>
+  <li>[KYLIN-3111] - Close of HBaseAdmin instance should be placed in finally block</li>
+  <li>[KYLIN-3110] - The dashboard page has some display problems.</li>
+  <li>[KYLIN-3106] - DefaultScheduler.shutdown should use ExecutorService.shutdownNow instead of ExecutorService.shutdown</li>
+  <li>[KYLIN-3104] - When the user log out from “Monitor” page, an alert dialog will pop up warning “Failed to load query.”</li>
+  <li>[KYLIN-3102] - Solve the problems for incomplete display of Hive Table tree.</li>
+  <li>[KYLIN-3101] - The “search” icon will separate from the “Filter” textbox when click the “showSteps” button of a job in the jobList</li>
+  <li>[KYLIN-3097] - A few spell error in partials directory</li>
+  <li>[KYLIN-3087] - Fix the DistributedLock release bug in GlobalDictionaryBuilder</li>
+  <li>[KYLIN-3085] - CubeManager.updateCube() must not update the cached CubeInstance</li>
+  <li>[KYLIN-3084] - File not found Exception when processing union-all in TEZ mode</li>
+  <li>[KYLIN-3083] - potential overflow in CubeHBaseRPC#getCoprocessorTimeoutMillis</li>
+  <li>[KYLIN-3082] - Close of GTBuilder should be placed in finally block in InMemCubeBuilder</li>
+  <li>[KYLIN-3081] - Ineffective null check in CubeController#cuboidsExport</li>
+  <li>[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</li>
+  <li>[KYLIN-3069] - Add proper time zone support to the WebUI instead of GMT/PST kludge</li>
+  <li>[KYLIN-3063] - load-hive-conf.sh should not get the commented configuration item</li>
+  <li>[KYLIN-3061] - When we cancel the Topic modification for ‘Kafka Setting’ of streaming table, the ‘Cancel’ operation will make a mistake.</li>
+  <li>[KYLIN-3060] - The logical processing of creating or updating streaming table has a bug in server, which will cause a NullPointerException.</li>
+  <li>[KYLIN-3058] - We should limit the integer type ID and Port for “Kafka Setting” in “Streaming Cluster” page</li>
+  <li>[KYLIN-3056] - Fix ‘Cannot find segment null’ bug when click ‘SQL’ in the cube view page</li>
+  <li>[KYLIN-3055] - Fix NullPointerException for intersect_count</li>
+  <li>[KYLIN-3054] - The drop-down menu in the grid column of query results missing a little bit.</li>
+  <li>[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</li>
+  <li>[KYLIN-3049] - Filter the invalid zero value of “Auto Merge Thresholds” parameter when you create or upate a cube.</li>
+  <li>[KYLIN-3047] - Wrong column type when sync hive table via beeline</li>
+  <li>[KYLIN-3042] - In query results page, the results data table should resize when click “fullScreen” button</li>
+  <li>[KYLIN-3040] - Refresh a non-partitioned cube changes the segment name to “19700101000000_2922789940817071255”</li>
+  <li>[KYLIN-3038] - cannot support sum of type-converted column SQL</li>
+  <li>[KYLIN-3034] - In the models tree, the “Edit(JSON)” option is missing partly.</li>
+  <li>[KYLIN-3032] - Cube size shows 0 but actually it isn’t empty</li>
+  <li>[KYLIN-3031] - KeywordDefaultDirtyHack should ignore case of default like other database does</li>
+  <li>[KYLIN-3030] - In the cubes table, the options of last column action are missing partly.</li>
+  <li>[KYLIN-3029] - The warning window of existing cube name does not work</li>
+  <li>[KYLIN-3028] - Build cube error when set S3 as working-dir</li>
+  <li>[KYLIN-3026] - Can not see full cube names on insight page</li>
+  <li>[KYLIN-3020] - Improve org.apache.hadoop.util.ToolRunner to be threadsafe</li>
+  <li>[KYLIN-3017] - Footer covers the selection box and some options can not be selected</li>
+  <li>[KYLIN-3016] - StorageCleanup job doesn’t clean up all the legacy fiels in a in Read/Write seperation environment</li>
+  <li>[KYLIN-3004] - Update validation when deleting segment</li>
+  <li>[KYLIN-3001] - Fix the wrong Cache key issue</li>
+  <li>[KYLIN-2995] - Set SparkContext.hadoopConfiguration to HadoopUtil in Spark Cubing</li>
+  <li>[KYLIN-2994] - Handle NPE when load dict in DictionaryManager</li>
+  <li>[KYLIN-2991] - Query hit NumberFormatException if partitionDateFormat is not yyyy-MM-dd</li>
+  <li>[KYLIN-2989] - Close of BufferedWriter should be placed in finally block in SCCreator</li>
+  <li>[KYLIN-2974] - zero joint group can lead to query error</li>
+  <li>[KYLIN-2971] - Fix the wrong “Realization Names” in logQuery when hit cache</li>
+  <li>[KYLIN-2969] - Fix the wrong NumberBytesCodec cache in Number2BytesConverter</li>
+  <li>[KYLIN-2968] - misspelled word in table_load.html</li>
+  <li>[KYLIN-2967] - Add the dependency check when deleting a  project</li>
+  <li>[KYLIN-2962] - drop error job not delete segment</li>
+  <li>[KYLIN-2959] - SAML logout issue</li>
+  <li>[KYLIN-2956] - building trie dictionary blocked on value of length over 4095</li>
+  <li>[KYLIN-2953] - List readable project not correct if add limit and offset</li>
+  <li>[KYLIN-2939] - Get config properties not correct in UI</li>
+  <li>[KYLIN-2933] - Fix compilation against the Kafka 1.0.0 release</li>
+  <li>[KYLIN-2930] - Selecting one column in union causes compile error</li>
+  <li>[KYLIN-2929] - speed up Dump file performance</li>
+  <li>[KYLIN-2922] - Query fails when a column is used as dimension and sum(column) at the same time</li>
+  <li>[KYLIN-2917] - Dup alias on OLAPTableScan</li>
+  <li>[KYLIN-2907] - Check if a number is a positive integer</li>
+  <li>[KYLIN-2901] - Update correct cardinality for empty table</li>
+  <li>[KYLIN-2887] - Subquery columns not exported in OLAPContext allColumns</li>
+  <li>[KYLIN-2876] - Ineffective check in ExternalAclProvider</li>
+  <li>[KYLIN-2874] - Ineffective check in CubeDesc#getInitialCuboidScheduler</li>
+  <li>[KYLIN-2849] - duplicate segment,cannot be deleted and data cannot be refreshed and merged</li>
+  <li>[KYLIN-2837] - Ineffective call to toUpperCase() in MetadataManager</li>
+  <li>[KYLIN-2836] - Lack of synchronization in CodahaleMetrics#close</li>
+  <li>[KYLIN-2835] - Unclosed resources in JdbcExplorer</li>
+  <li>[KYLIN-2794] - MultipleDictionaryValueEnumerator should output values in sorted order</li>
+  <li>[KYLIN-2756] - Let “LIMIT” be optional in “Inspect” page</li>
+  <li>[KYLIN-2470] - cube build failed when 0 bytes input for non-partition fact table</li>
+  <li>[KYLIN-1664] - Harden security check for ‘/kylin/api/admin/config’ API</li>
+</ul>
+
+<p><strong>Task</strong></p>
+
+<ul>
+  <li>[KYLIN-3207] - Blog for Kylin Superset Integration</li>
+  <li>[KYLIN-3200] - Enable SonarCloud for Code Analysis</li>
+  <li>[KYLIN-3198] - More Chinese Howto Documents</li>
+  <li>[KYLIN-3195] - Kylin v2.3.0 Release</li>
+  <li>[KYLIN-3191] - Remove the deprecated configuration item kylin.security.acl.default-role</li>
+  <li>[KYLIN-3189] - Documents for kylin python client</li>
+  <li>[KYLIN-3080] - Kylin Qlik Sense Integration Documentation</li>
+  <li>[KYLIN-3068] - Rename deprecated parameter for HDFS block size in HiveColumnCardinalityJob</li>
+  <li>[KYLIN-3062] - Hide RAW measure</li>
+  <li>[KYLIN-3010] - Remove v1 Spark engine code</li>
+  <li>[KYLIN-2843] - Upgrade nvd3 version</li>
+  <li>[KYLIN-2797] - Remove MR engine V1</li>
+  <li>[KYLIN-2796] - Remove the legacy “statisticsenabled” codes in FactDistinctColumnsJob</li>
+</ul>
+
+<p><strong>Sub-Task</strong></p>
+
+<ul>
+  <li>[KYLIN-3235] - add null check for SQL</li>
+  <li>[KYLIN-3202] - Doc directory for 2.3</li>
+  <li>[KYLIN-3155] - Create a document for how to use dashboard</li>
+  <li>[KYLIN-3154] - Create a document for cube planner</li>
+  <li>[KYLIN-3153] - Create a document for system cube creation</li>
+  <li>[KYLIN-3018] - Change maxLevel for layered cubing</li>
+  <li>[KYLIN-2946] - Introduce a tool for batch incremental building of system cubes</li>
+  <li>[KYLIN-2934] - Provide user guide for KYLIN-2656(Support Zookeeper ACL)</li>
+  <li>[KYLIN-2822] - Introduce sunburst chart to show cuboid tree</li>
+  <li>[KYLIN-2746] - Separate filter row count &amp; aggregated row count for metrics collection returned by coprocessor</li>
+  <li>[KYLIN-2735] - Introduce an option to make job scheduler consider job priority</li>
+  <li>[KYLIN-2734] - Introduce hot cuboids export &amp; import</li>
+  <li>[KYLIN-2733] - Introduce optimize job for adjusting cuboid set</li>
+  <li>[KYLIN-2732] - Introduce base cuboid as a new input for cubing job</li>
+  <li>[KYLIN-2731] - Introduce checkpoint executable</li>
+  <li>[KYLIN-2725] - Introduce a tool for creating system cubes relating to query &amp; job metrics</li>
+  <li>[KYLIN-2723] - Introduce metrics collector for query &amp; job metrics</li>
+  <li>[KYLIN-2722] - Introduce a new measure, called active reservoir, for actively pushing metrics to reporters</li>
+</ul>
 
 <h2 id="v220---2017-11-03">v2.2.0 - 2017-11-03</h2>
 
 <p><em>Tag:</em> <a href="https://github.com/apache/kylin/tree/kylin-2.2.0">kylin-2.2.0</a><br />
 This is a major release after 2.1, with more than 70 bug fixes and enhancements. Check <a href="/docs21/howto/howto_upgrade.html">How to upgrade</a>.</p>
 
-<p><strong>New Feature</strong><br />
-* [KYLIN-2703] - Manage ACL through Apache Ranger<br />
-* [KYLIN-2752] - Make HTable name prefix configurable<br />
-* [KYLIN-2761] - Table Level ACL<br />
-* [KYLIN-2775] - Streaming Cube Sample</p>
-
-<p><strong>Improvement</strong><br />
-* [KYLIN-2535] - Use ResourceStore to manage ACL files<br />
-* [KYLIN-2604] - Use global dict as the default encoding for precise distinct count in web<br />
-* [KYLIN-2606] - Only return counter for precise count_distinct if query is exactAggregate<br />
-* [KYLIN-2622] - AppendTrieDictionary support not global<br />
-* [KYLIN-2623] - Move output(Hbase) related code from MR engine to outputside<br />
-* [KYLIN-2653] - Spark Cubing read metadata from HDFS<br />
-* [KYLIN-2717] - Move concept Table under Project<br />
-* [KYLIN-2790] - Add an extending point to support other types of column family<br />
-* [KYLIN-2795] - Improve REST API document, add get/list jobs<br />
-* [KYLIN-2803] - Pushdown non “select” query<br />
-* [KYLIN-2818] - Refactor dateRange &amp; sourceOffset on CubeSegment<br />
-* [KYLIN-2819] - Add “kylin.env.zookeeper-base-path” for zk path<br />
-* [KYLIN-2823] - Trim TupleFilter after dictionary-based filter optimization<br />

[... 408 lines stripped ...]