You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2021/06/21 02:16:09 UTC

svn commit: r48435 - /release/iotdb/0.11.4/

Author: hxd
Date: Mon Jun 21 02:16:09 2021
New Revision: 48435

Log:
release iotdb 0.11.4

Added:
    release/iotdb/0.11.4/
    release/iotdb/0.11.4/README.md
    release/iotdb/0.11.4/README_ZH.md
    release/iotdb/0.11.4/RELEASE_NOTES.md
    release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip   (with props)
    release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.asc
    release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.sha512
    release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip   (with props)
    release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.asc
    release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.sha512

Added: release/iotdb/0.11.4/README.md
==============================================================================
--- release/iotdb/0.11.4/README.md (added)
+++ release/iotdb/0.11.4/README.md Mon Jun 21 02:16:09 2021
@@ -0,0 +1,337 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+[English](./README.md) | [中文](./README_ZH.md)
+
+# IoTDB
+[![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb)
+[![coveralls](https://coveralls.io/repos/github/apache/iotdb/badge.svg?branch=master)](https://coveralls.io/repos/github/apache/iotdb/badge.svg?branch=master)
+[![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases)
+[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
+![](https://github-size-badge.herokuapp.com/apache/iotdb.svg)
+![](https://img.shields.io/github/downloads/apache/iotdb/total.svg)
+![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg)
+![](https://img.shields.io/badge/java--language-1.8-blue.svg)
+[![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/)
+[![Maven Version](https://maven-badges.herokuapp.com/maven-central/org.apache.iotdb/iotdb-parent/badge.svg)](http://search.maven.org/#search|gav|1|g:"org.apache.iotdb")
+[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/apache/iotdb) 
+
+# Overview
+
+IoTDB (Internet of Things Database) is a data management system for time series data, which can provide users specific services, such as, data collection, storage and analysis. Due to its light weight structure, high performance and usable features together with its seamless integration with the Hadoop and Spark ecology, IoTDB meets the requirements of massive dataset storage, high throughput data input, and complex data analysis in the industrial IoT field.
+
+# Main Features
+
+Main features of IoTDB are as follows:
+
+1. Flexible deployment strategy. IoTDB provides users a one-click installation tool on either the cloud platform or the terminal devices, and a data synchronization tool bridging the data on cloud platform and terminals.
+2. Low cost on hardware. IoTDB can reach a high compression ratio of disk storage.
+3. Efficient directory structure. IoTDB supports efficient organization for complex time series data structure from intelligent networking devices, organization for time series data from devices of the same type, fuzzy searching strategy for massive and complex directory of time series data.
+4. High-throughput read and write. IoTDB supports millions of low-power devices' strong connection data access, high-speed data read and write for intelligent networking devices and mixed devices mentioned above.
+5. Rich query semantics. IoTDB supports time alignment for time series data across devices and measurements, computation in time series field (frequency domain transformation) and rich aggregation function support in time dimension.
+6. Easy to get started. IoTDB supports SQL-Like language, JDBC standard API and import/export tools which is easy to use.
+7. Seamless integration with state-of-the-practice Open Source Ecosystem. IoTDB supports analysis ecosystems such as, Hadoop, Spark, and visualization tool, such as, Grafana.
+
+For the latest information about IoTDB, please visit [IoTDB official website](https://iotdb.apache.org/). If you encounter any problems or identify any bugs while using IoTDB, please report an issue in [jira](https://issues.apache.org/jira/projects/IOTDB/issues).
+
+<!-- TOC -->
+
+## Outline
+
+- [IoTDB](#iotdb)
+- [Overview](#overview)
+- [Main Features](#main-features)
+  - [Outline](#outline)
+- [Quick Start](#quick-start)
+  - [Prerequisites](#prerequisites)
+  - [Installation](#installation)
+    - [Build from source](#build-from-source)
+    - [Configurations](#configurations)
+  - [Start](#start)
+    - [Start IoTDB](#start-iotdb)
+    - [Use IoTDB](#use-iotdb)
+      - [Use Cli](#use-cli)
+      - [Basic commands for IoTDB](#basic-commands-for-iotdb)
+    - [Stop IoTDB](#stop-iotdb)
+  - [Only build server](#only-build-server)
+  - [Only build cli](#only-build-cli)
+  - [Usage of import-csv.sh](#usage-of-import-csvsh)
+    - [Create metadata](#create-metadata)
+    - [An example of import csv file](#an-example-of-import-csv-file)
+    - [Run import shell](#run-import-shell)
+    - [Error data file](#error-data-file)
+  - [Usage of export-csv.sh](#usage-of-export-csvsh)
+    - [Run export shell](#run-export-shell)
+    - [Input query](#input-query)
+
+<!-- /TOC -->
+
+# Quick Start
+
+This short guide will walk you through the basic process of using IoTDB. For a more detailed introduction, please visit our website's [User Guide](https://iotdb.apache.org/UserGuide/Master/Get%20Started/QuickStart.html).
+
+## Prerequisites
+
+To use IoTDB, you need to have:
+
+1. Java >= 1.8 (1.8, 11, and 13 are verified. Please make sure the environment path has been set accordingly).
+2. Maven >= 3.1 (If you want to compile and install IoTDB from source code).
+3. Set the max open files num as 65535 to avoid "too many open files" error.
+
+## Installation
+
+IoTDB provides three installation methods, you can refer to the following suggestions, choose the one fits you best:
+
+* Installation from source code. If you need to modify the code yourself, you can use this method.
+* Installation from binary files. Download the binary files from the official website. This is the recommended method, in which you will get a binary released package which is out-of-the-box.
+* Using Docker:The path to the dockerfile is https://github.com/apache/iotdb/tree/master/docker/src/main
+
+
+Here in the Quick Start, we give a brief introduction of using source code to install IoTDB. For further information, please refer to Chapter 3 of the User Guide.
+
+## Build from source
+
+You can download the source code from:
+
+```
+git clone https://github.com/apache/iotdb.git
+```
+
+The default master branch is the dev branch, If you want to use a released version x.x.x:
+
+```
+git checkout release/x.x.x
+```
+
+
+Under the root path of iotdb:
+
+```
+> mvn clean package -DskipTests
+```
+
+Then the binary version (including both server and cli) can be found at **distribution/target/apache-iotdb-{project.version}-bin.zip**
+
+> NOTE: Directories "thrift/target/generated-sources/thrift" and "antlr/target/generated-sources/antlr4" need to be added to sources roots to avoid compilation errors in the IDE.
+
+
+### Configurations
+
+configuration files are under "conf" folder
+
+  * environment config module (`iotdb-env.bat`, `iotdb-env.sh`),
+  * system config module (`iotdb-engine.properties`)
+  * log config module (`logback.xml`).
+
+For more information, please see [Chapter3: Server](http://iotdb.apache.org/UserGuide/Master/Server/Config%20Manual.html).
+
+## Start
+
+You can go through the following steps to test the installation, if there is no error returned after execution, the installation is completed.
+
+### Start IoTDB
+
+Users can start IoTDB by the start-server script under the sbin folder.
+
+```
+# Unix/OS X
+> nohup sbin/start-server.sh >/dev/null 2>&1 &
+or
+> nohup sbin/start-server.sh -c <conf_path> -rpc_port <rpc_port> >/dev/null 2>&1 &
+
+# Windows
+> sbin\start-server.bat -c <conf_path> -rpc_port <rpc_port>
+```
+
+- "-c" and "-rpc_port" are optional.
+- option "-c" specifies the system configuration file directory.
+- option "-rpc_port" specifies the rpc port.
+- if both option specified, the *rpc_port* will overrides the rpc_port in *conf_path*.
+
+
+### Use IoTDB
+
+#### Use Cli
+
+IoTDB offers different ways to interact with server, here we introduce the basic steps of using Cli tool to insert and query data.
+
+After installing IoTDB, there is a default user 'root', its default password is also 'root'. Users can use this
+default user to login Cli to use IoTDB. The startup script of Cli is the start-cli script in the folder sbin. When executing the script, user should assign
+IP, PORT, USER_NAME and PASSWORD. The default parameters are "-h 127.0.0.1 -p 6667 -u root -pw -root".
+
+Here is the command for starting the Cli:
+
+```
+# Unix/OS X
+> sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root
+
+# Windows
+> sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root
+```
+
+The command line cli is interactive, so you should see the welcome logo and statements if everything is ready:
+
+```
+ _____       _________  ______   ______
+|_   _|     |  _   _  ||_   _ `.|_   _ \
+  | |   .--.|_/ | | \_|  | | `. \ | |_) |
+  | | / .'`\ \  | |      | |  | | |  __'.
+ _| |_| \__. | _| |_    _| |_.' /_| |__) |
+|_____|'.__.' |_____|  |______.'|_______/  version x.x.x
+
+
+IoTDB> login successfully
+IoTDB>
+```
+
+#### Basic commands for IoTDB
+
+Now, let us introduce the way of creating timeseries, inserting data and querying data.
+
+The data in IoTDB is organized as timeseries. Each timeseries includes multiple data-time pairs, and is owned by a storage group. Before defining a timeseries, we should define a storage group using SET STORAGE GROUP first, and here is an example:
+
+```
+IoTDB> SET STORAGE GROUP TO root.ln
+```
+
+We can also use SHOW STORAGE GROUP to check the storage group being created:
+
+```
+IoTDB> SHOW STORAGE GROUP
++-----------------------------------+
+|                      Storage Group|
++-----------------------------------+
+|                            root.ln|
++-----------------------------------+
+storage group number = 1
+```
+
+After the storage group is set, we can use CREATE TIMESERIES to create a new timeseries. When creating a timeseries, we should define its data type and the encoding scheme. Here We create two timeseries:
+
+```
+IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
+IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE
+```
+
+In order to query the specific timeseries, we can use SHOW TIMESERIES <Path>. <Path> represent the location of the timeseries. The default value is "null", which queries all the timeseries in the system(the same as using "SHOW TIMESERIES root"). Here are some examples:
+
+1. Querying all timeseries in the system:
+
+```
+IoTDB> SHOW TIMESERIES
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|                   timeseries  | alias|storage group|dataType|encoding|compression|tags|attributes|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|       root.ln.wf01.wt01.status|  null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
+|  root.ln.wf01.wt01.temperature|  null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+Total timeseries number = 2
+```
+
+2. Querying a specific timeseries(root.ln.wf01.wt01.status):
+
+```
+IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|                   timeseries  | alias|storage group|dataType|encoding|compression|tags|attributes|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|       root.ln.wf01.wt01.status|  null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+Total timeseries number = 1
+```
+
+Insert timeseries data is a basic operation of IoTDB, you can use ‘INSERT’ command to finish this. Before insertion, you should assign the timestamp and the suffix path name:
+
+```
+IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);
+IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)
+```
+
+The data that you have just inserted will display as follows:
+
+```
+IoTDB> SELECT status FROM root.ln.wf01.wt01
++-----------------------+------------------------+
+|                   Time|root.ln.wf01.wt01.status|
++-----------------------+------------------------+
+|1970-01-01T08:00:00.100|                    true|
+|1970-01-01T08:00:00.200|                   false|
++-----------------------+------------------------+
+Total line number = 2
+```
+
+You can also query several timeseries data using one SQL statement:
+
+```
+IoTDB> SELECT * FROM root.ln.wf01.wt01
++-----------------------+--------------------------+-----------------------------+
+|                   Time|  root.ln.wf01.wt01.status|root.ln.wf01.wt01.temperature|
++-----------------------+--------------------------+-----------------------------+
+|1970-01-01T08:00:00.100|                      true|                         null|
+|1970-01-01T08:00:00.200|                     false|                        20.71|
++-----------------------+--------------------------+-----------------------------+
+Total line number = 2
+```
+
+The commands to exit the Cli are:
+
+```
+IoTDB> quit
+or
+IoTDB> exit
+```
+
+For more information about the commands supported by IoTDB SQL, please see [SQL Reference](http://iotdb.apache.org/UserGuide/Master/Operation%20Manual/SQL%20Reference.html).
+
+### Stop IoTDB
+
+The server can be stopped with "ctrl-C" or the following script:
+
+```
+# Unix/OS X
+> sbin/stop-server.sh
+
+# Windows
+> sbin\stop-server.bat
+```
+
+## Only build server
+
+Under the root path of iotdb:
+
+```
+> mvn clean package -pl server -am -DskipTests
+```
+
+After being built, the IoTDB server is located at the folder: "server/target/iotdb-server-{project.version}".
+
+
+## Only build cli
+
+Under the root path of iotdb:
+
+```
+> mvn clean package -pl cli -am -DskipTests
+```
+
+After being built, the IoTDB cli is located at the folder "cli/target/iotdb-cli-{project.version}".
+
+# Frequent Questions for Compiling
+see [Frequent Questions when Compiling the Source Code](https://iotdb.apache.org/Development/ContributeGuide.html#_Frequent-Questions-when-Compiling-the-Source-Code)

Added: release/iotdb/0.11.4/README_ZH.md
==============================================================================
--- release/iotdb/0.11.4/README_ZH.md (added)
+++ release/iotdb/0.11.4/README_ZH.md Mon Jun 21 02:16:09 2021
@@ -0,0 +1,337 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+[English](./README.md) | [中文](./README_ZH.md)
+
+# IoTDB
+[![Build Status](https://www.travis-ci.org/apache/iotdb.svg?branch=master)](https://www.travis-ci.org/apache/iotdb)
+[![coveralls](https://coveralls.io/repos/github/apache/iotdb/badge.svg?branch=master)](https://coveralls.io/repos/github/apache/iotdb/badge.svg?branch=master)
+[![GitHub release](https://img.shields.io/github/release/apache/iotdb.svg)](https://github.com/apache/iotdb/releases)
+[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
+![](https://github-size-badge.herokuapp.com/apache/iotdb.svg)
+![](https://img.shields.io/github/downloads/apache/iotdb/total.svg)
+![](https://img.shields.io/badge/platform-win10%20%7C%20macox%20%7C%20linux-yellow.svg)
+![](https://img.shields.io/badge/java--language-1.8-blue.svg)
+[![IoTDB Website](https://img.shields.io/website-up-down-green-red/https/shields.io.svg?label=iotdb-website)](https://iotdb.apache.org/)
+[![Maven Version](https://maven-badges.herokuapp.com/maven-central/org.apache.iotdb/iotdb-parent/badge.svg)](http://search.maven.org/#search|gav|1|g:"org.apache.iotdb")
+
+# 简介
+IoTDB (Internet of Things Database) 是一个时序数据的数据管理系统,可以为用户提供数据收集、存储和分析等特定的服务。IoTDB由于其轻量级的结构、高性能和可用的特性,以及与Hadoop和Spark生态的无缝集成,满足了工业IoTDB领域中海量数据存储、高吞吐量数据写入和复杂数据分析的需求。
+
+# 主要特点
+
+IoTDB的主要特点如下:
+
+1. 灵活的部署策略。IoTDB为用户提供了一个在云平台或终端设备上的一键安装工具,以及一个连接云平台和终端上的数据的数据同步工具。
+2. 硬件成本低。IoTDB可以达到很高的磁盘存储压缩比。
+3. 高效的目录结构。IoTDB支持智能网络设备对复杂时间序列数据结构的高效组织,同类设备对时间序列数据的组织,海量复杂时间序列数据目录的模糊搜索策略。
+4. 高吞吐量读写。IoTDB支持数以百万计的低功耗设备的强连接数据访问、高速数据读写,适用于上述智能网络设备和混合设备。
+5. 丰富的查询语义。IoTDB支持跨设备和测量的时间序列数据的时间对齐、时间序列字段的计算(频域转换)和时间维度的丰富聚合函数支持。
+6. 学习成本非常低。IoTDB支持类似sql的语言、JDBC标准API和易于使用的导入/导出工具。
+7. 与先进的开放源码生态系统的无缝集成。IoTDB支持分析生态系统,如Hadoop、Spark和可视化工具(如Grafana)。
+
+有关IoTDB的最新信息,请访问[IoTDB官方网站](https://iotdb.apache.org/)。如果您在使用IoTDB时遇到任何问题或发现任何bug,请在[jira]中提交(https://issues.apache.org/jira/projects/IOTDB/issues)。
+
+<!-- TOC -->
+
+## 目录
+
+- [IoTDB](#iotdb)
+- [简介](#简介)
+- [主要特点](#主要特点)
+  - [目录](#目录)
+- [快速开始](#快速开始)
+  - [环境准备](#环境准备)
+  - [安装](#安装)
+    - [从源码构建](#从源码构建)
+      - [配置](#配置)
+  - [开始](#开始)
+    - [启动 IoTDB](#启动-iotdb)
+    - [使用 IoTDB](#使用-iotdb)
+      - [使用 Cli 命令行](#使用-cli-命令行)
+      - [基本的 IoTDB 命令](#基本的-iotdb-命令)
+    - [停止 IoTDB](#停止-iotdb)
+  - [只编译 server](#只编译-server)
+  - [只编译 cli](#只编译-cli)
+  - [使用 import-csv.sh](#使用-import-csvsh)
+    - [创建元数据](#创建元数据)
+    - [从 csv 文件导入数据的示例](#从-csv-文件导入数据的示例)
+    - [运行 import shell](#运行-import-shell)
+    - [错误的数据文件](#错误的数据文件)
+  - [使用 export-csv.sh](#使用-export-csvsh)
+    - [运行 export shell](#运行-export-shell)
+    - [执行查询](#执行查询)
+
+<!-- /TOC -->
+
+# 快速开始
+
+这篇简短的指南将带您了解使用IoTDB的基本过程。如需更详细的介绍,请访问我们的网站[用户指南](http://iotdb.apache.org/zh/UserGuide/Master/Get%20Started/QuickStart.html)。
+
+## 环境准备
+
+要使用IoTDB,您需要:
+1. Java >= 1.8 (目前 1.8、11和13 已经被验证可用。请确保环变量境路径已正确设置)。
+2. Maven >= 3.1 (如果希望从源代码编译和安装IoTDB)。
+3. 设置 max open files 为 65535,以避免"too many open files"错误。
+
+## 安装
+
+IoTDB提供了三种安装方法,您可以参考以下建议,选择最适合您的一种:
+
+* 从源代码安装。如果需要自己修改代码,可以使用此方法。
+
+* 从二进制文件安装。推荐的方法是从官方网站下载二进制文件,您将获得一个开箱即用的二进制发布包。
+
+* 使用Docker: dockerfile的路径是https://github.com/apache/iotdb/tree/master/docker/src/main
+
+在这篇《快速入门》中,我们简要介绍如何使用源代码安装IoTDB。如需进一步资料,请参阅《用户指南》第3章。
+
+## 从源码构建
+
+从 git 克隆源代码:
+
+```
+git clone https://github.com/apache/iotdb.git
+```
+
+默认的主分支是dev分支,如果你想使用某个发布版本x.x.x,请切换分支:
+
+```
+git checkout release/x.x.x
+```
+
+在 iotdb 根目录下执行 maven 编译:
+
+```
+> mvn clean package -DskipTests
+```
+
+执行完成之后,可以在**distribution/target/apache-iotdb-{project.version}-bin.zip**找到编译完成的二进制版本(包括服务器和客户端)
+
+> 注意:"thrift/target/generated-sources/thrift" 和 "antlr/target/generated-sources/antlr4" 目录需要添加到源代码根中,以免在 IDE 中产生编译错误。
+
+### 配置
+
+配置文件在"conf"文件夹下
+* 环境配置模块(`iotdb-env.bat`, `iotdb-env.sh`),
+* 系统配置模块(`iotdb-engine.properties`)
+* 日志配置模块(`logback.xml`)。
+
+有关详细信息,请参见[Chapter3: Server](http://iotdb.apache.org/zh/UserGuide/Master/Server/Config%20Manual.html)。
+
+## 开始
+
+您可以通过以下步骤来测试安装,如果执行后没有返回错误,安装就完成了。
+
+### 启动 IoTDB
+
+可以通过运行 sbin 文件夹下的 start-server 脚本启动 IoTDB。
+
+```
+# Unix/OS X
+> nohup sbin/start-server.sh >/dev/null 2>&1 &
+or
+> nohup sbin/start-server.sh -c <conf_path> -rpc_port <rpc_port> >/dev/null 2>&1 &
+
+# Windows
+> sbin\start-server.bat -c <conf_path> -rpc_port <rpc_port>
+```
+- "-c" and "-rpc_port" 都是可选的。
+- 选项 "-c" 指定了配置文件所在的文件夹。
+- 选项 "-rpc_port" 指定了启动的 rpc port。
+- 如果两个选项同时指定,那么*rpc_port*将会覆盖*conf_path*下面的配置。
+
+### 使用 IoTDB
+
+#### 使用 Cli 命令行
+
+IoTDB提供了与服务器交互的不同方式,这里我们将介绍使用 Cli 工具插入和查询数据的基本步骤。
+
+安装 IoTDB 后,有一个默认的用户`root`,它的默认密码也是`root`。用户可以使用这个
+默认用户登录 Cli 并使用 IoTDB。Cli 的启动脚本是 sbin 文件夹中的 start-cli 脚本。
+在执行脚本时,用户应该指定 IP,端口,USER_NAME 和 密码。默认参数为`-h 127.0.0.1 -p 6667 -u root -pw root`。
+
+
+下面是启动 Cli 的命令:
+
+```
+# Unix/OS X
+> sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root
+
+# Windows
+> sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root
+```
+
+命令行客户端是交互式的,所以如果一切就绪,您应该看到欢迎标志和声明:
+
+```
+ _____       _________  ______   ______
+|_   _|     |  _   _  ||_   _ `.|_   _ \
+  | |   .--.|_/ | | \_|  | | `. \ | |_) |
+  | | / .'`\ \  | |      | |  | | |  __'.
+ _| |_| \__. | _| |_    _| |_.' /_| |__) |
+|_____|'.__.' |_____|  |______.'|_______/  version x.x.x
+
+
+IoTDB> login successfully
+IoTDB>
+```
+
+#### 基本的 IoTDB 命令
+
+现在,让我们介绍创建 timeseries、插入数据和查询数据的方法。
+
+
+IoTDB中的数据组织为 timeseries。每个 timeseries 包含多个`数据-时间`对,由一个存储组拥有。
+在定义 timeseries 之前,我们应该先使用SET storage group来定义一个存储组,下面是一个例子:
+
+```
+IoTDB> SET STORAGE GROUP TO root.ln
+```
+
+我们也可以使用`SHOW STORAGE GROUP`来检查正在创建的存储组:
+
+```
+IoTDB> SHOW STORAGE GROUP
++-----------------------------------+
+|                      Storage Group|
++-----------------------------------+
+|                            root.ln|
++-----------------------------------+
+storage group number = 1
+```
+
+在设置存储组之后,我们可以使用CREATE TIMESERIES来创建一个新的TIMESERIES。
+在创建 timeseries 时,我们应该定义它的数据类型和编码方案。这里我们创建两个 timeseries:
+
+
+```
+IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
+IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE
+```
+
+为了查询特定的timeseries,我们可以使用 `SHOW TIMESERIES <Path>`. <Path> 表示被查询的 timeseries 的路径. 默认值是`null`, 表示查询系统中所有的 timeseries (同`SHOW TIMESERIES root`). 
+以下是一些示例:
+
+1. 查询系统中所有 timeseries:
+
+```
+IoTDB> SHOW TIMESERIES
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|                   timeseries  | alias|storage group|dataType|encoding|compression|tags|attributes|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|       root.ln.wf01.wt01.status|  null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
+|  root.ln.wf01.wt01.temperature|  null|      root.ln|   FLOAT|     RLE|     SNAPPY|null|      null|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+Total timeseries number = 2
+```
+
+2. 查询指定的 timeseries(root.ln.wf01.wt01.status):
+
+```
+IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|                   timeseries  | alias|storage group|dataType|encoding|compression|tags|attributes|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+|       root.ln.wf01.wt01.status|  null|      root.ln| BOOLEAN|   PLAIN|     SNAPPY|null|      null|
++-------------------------------+------+-------------+--------+--------+-----------+----+----------+
+Total timeseries number = 1
+```
+
+插入 timeseries 数据是IoTDB的一个基本操作,你可以使用`INSERT` 命令来完成这个操作。
+在插入之前,您应该指定时间戳和后缀路径名:
+
+```
+IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);
+IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)
+```
+
+你刚才插入的数据会显示如下:
+
+```
+IoTDB> SELECT status FROM root.ln.wf01.wt01
++-----------------------+------------------------+
+|                   Time|root.ln.wf01.wt01.status|
++-----------------------+------------------------+
+|1970-01-01T08:00:00.100|                    true|
+|1970-01-01T08:00:00.200|                   false|
++-----------------------+------------------------+
+Total line number = 2
+```
+
+您还可以使用一条SQL语句查询多个 timeseries 数据:
+
+```
+IoTDB> SELECT * FROM root.ln.wf01.wt01
++-----------------------+--------------------------+-----------------------------+
+|                   Time|  root.ln.wf01.wt01.status|root.ln.wf01.wt01.temperature|
++-----------------------+--------------------------+-----------------------------+
+|1970-01-01T08:00:00.100|                      true|                         null|
+|1970-01-01T08:00:00.200|                     false|                        20.71|
++-----------------------+--------------------------+-----------------------------+
+Total line number = 2
+```
+
+你可以使用如下命令退出:
+
+```
+IoTDB> quit
+or
+IoTDB> exit
+```
+
+有关IoTDB SQL支持的命令的更多信息,请参见[SQL 参考文档](http://iotdb.apache.org/zh/UserGuide/Master/Operation%20Manual/SQL%20Reference.html)。
+
+### 停止 IoTDB
+
+server 可以使用 "ctrl-C" 或者执行下面的脚本:
+
+```
+# Unix/OS X
+> sbin/stop-server.sh
+
+# Windows
+> sbin\stop-server.bat
+```
+
+## 只编译 server
+
+在 iotdb 根目录下执行:
+
+```
+> mvn clean package -pl server -am -DskipTests
+```
+
+编译完成后, IoTDB server 将生成在: "server/target/iotdb-server-{project.version}".
+
+
+## 只编译 cli
+
+在 iotdb 根目录下执行:
+
+```
+> mvn clean package -pl cli -am -DskipTests
+```
+
+编译完成后, IoTDB cli 将生成在 "cli/target/iotdb-cli-{project.version}".
+
+# 常见编译错误
+see [Frequent Questions when Compiling the Source Code](https://iotdb.apache.org/zh/Development/ContributeGuide.html#%E5%B8%B8%E8%A7%81%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF)

Added: release/iotdb/0.11.4/RELEASE_NOTES.md
==============================================================================
--- release/iotdb/0.11.4/RELEASE_NOTES.md (added)
+++ release/iotdb/0.11.4/RELEASE_NOTES.md Mon Jun 21 02:16:09 2021
@@ -0,0 +1,682 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+-->
+
+# Apache IoTDB 0.11.4
+
+## Bug Fixes
+* IOTDB-1303 Disable group by without aggregation function in select clause
+* IOTDB-1306 Fix insertion blocked caused the deadlock in memory control module 
+* IOTDB-1308 Fix users with READ_TIMESERIES permission cannot execute group by fill queries
+* IOTDB-1344 Fix cannot create timeseries caused by the timeseries count doesn't reset when deleting storage group 
+* IOTDB-1384 Some value will disappear while using group by query
+* IOTDB-1398 Do not select unseq files when there are uncompacted old unseq files
+* ISSUE-3316 Fix query result with the same time range is inconsistent in group by query
+* Fix TotalSeriesNumber in MManager counted twice when recovering
+* Fix unseq compaction throws a wrong exception if some paths are not in the file
+* Fix overlapped data should be consumed first exception when query
+
+## Improvements
+* [IOTDB-1356] Separate unseq_file_num_in_each_level from selecting candidate file in unseq compaction
+* [IOTDB-1412] Unclear exception message thrown when executing empty InsertTabletPlan
+* continuous compaction in level compaction strategy when no tsfile is to be closed
+
+## New Features
+* support brackets with number in timeseries path
+
+# Apache IoTDB 0.11.3
+
+## Bug Fixes
+* ISSUE-2505 ignore PathNotExistException in recover and change recover error to warn
+* IOTDB-1119 Fix C++ SessionDataSet bug when reading value buffer
+* Fix SessionPool does not recycle session and can not offer new Session due to RunTimeException
+* ISSUE-2588 Fix dead lock between deleting data and querying in parallel
+* ISSUE-2546 Fix first chunkmetadata should be consumed first
+* IOTDB-1126 Fix unseq tsfile is deleted due to compaction
+* IOTDB-1137 MNode.getLeafCount error when existing sub-device
+* ISSUE-2624 ISSUE-2625 Avoid OOM if user don't close Statement and Session manually
+* ISSUE-2639 Fix possible NPE during end query process
+* Alter IT for An error is reported and the system is suspended occasionally
+* IOTDB-1149 print error for -e param when set maxPRC<=0
+* IOTDB-1247 Fix the insert blocked caused the bugs in mem control module
+* ISSUE-2648 Last query not right when having multiple devices
+* Delete mods files after compaction
+* ISSUE-2687 fix insert NaN bug
+* ISSUE-2598 Throw explicit exception when time series is unknown in where clause
+* Fix timeseriesMetadata cache is not cleared after the TsFile is deleted by a compaction
+* ISSUE-2611 An unsequence file that covers too many sequence file causes OOM query
+* IOTDB-1135 Fix count timeseries bug when the paths are nested
+* ISSUE-2709 IOTDB-1178 Fix cache is not cleared after compaction
+* ISSUE-2746 Fix data overlapped bug after the elimination unseq compaction process
+* Fix getObject method in JDBC should return an Object
+* IOTDB-1188 Fix IoTDB 0.11 unable to delete data bug
+* Fix when covering a tsfile resource with HistoricalVersion = null, it’ll throw a NPE
+* fix the elimination unseq compaction may loss data bug after a delete operation is executed
+* Fix a bug of checking time partition in DeviceTimeIndex
+* Throw exeception when device to be queried is not in tsFileMetaData
+* Fix unseq compaction file selector conflicts with time partition bug
+* Fix high CPU usage during the compaction process
+
+## Improvements
+* IOTDB-1140 optimize regular data encoding
+* Add more log for better tracing
+* Add backgroup exec for cli -e function
+* Add max direct memory size parameter to env.sh
+* Change last cache log to debug level
+
+## New Features
+* Add explain sql support
+
+
+# Apache IoTDB 0.11.2
+
+## Bug Fixes
+* IOTDB-1049 Fix Nullpointer exception and a delete bug in Last query
+* IOTDB-1060 Support full deletion for delete statement without where clause
+* IOTDB-1068 Fix Time series metadata cache bug
+* IOTDB-1069 restrict the flushing memtable number to avoid OOM when mem_control is disabled
+* IOTDB-1077 add insertOneDeviceRecords API in java session
+* IOTDB-1087 fix compaction block flush: flush do not return until compaction finished
+* IOTDB-1106 Delete timeseries statement will incorrectly delete other timeseries  
+* Github issue-2137 fix grafana value-time position bug
+* Github issue-2169 GetObject returns String for all data types
+* Github issue-2240 fix Sync failed: Socket is closed by peer
+* Github issue-2387 The deleteData method exists in Session but not in SessionPool.
+* add thrift_max_frame_size in iotdb-engine.properties
+* Fix incorrect last result after deleting all data
+* Fix compaction recover block restart: IoTDB cannot restart until last compaction recover task finished
+* Fix compaction ignore modification file: delete does not work after compaction
+* print more insert error message in client
+* expose enablePartition parameter into iotdb-engines.properpties
+
+# Apache IoTDB 0.11.1
+
+## Bug Fixes
+* IOTDB-990 cli parameter maxPRC shouldn't to be set zero 
+* IOTDB-993 Fix tlog bug 
+* IOTDB-994 Fix can not get last_value while doing the aggregation query along with first_value 
+* IOTDB-1000 Fix read redundant data while select with value filter with unseq data 
+* IOTDB-1007 Fix session pool concurrency and leakage issue when pool.close is called 
+* IOTDB-1016 overlapped data should be consumed first 
+* IOTDB-1021 Fix NullPointerException when showing child paths of non-existent path
+* IOTDB-1028 add MAX\_POINT\_NUMBER format check
+* IOTDB-1034 Fix Show timeseries error in Chinese on Windows
+* IOTDB-1035 Fix bug in getDeviceTimeseriesMetadata when querying non-exist device
+* IOTDB-1038 Fix flink set storage group bug
+* ISSUE-2179 fix insert partial tablet with binary NullPointer bug
+* add reject status code
+* Update compaction level list delete
+* Fix query result is not correct
+* Fix import errors in Session.py and SessionExample.py
+* Fix modules can not be found when using pypi to pack client-py
+* Fix Count timeseries group by level bug
+* Fix desc batchdata count bug
+
+# Apache IoTDB 0.11.0
+
+## New Features
+
+* IOTDB-627 Support range deletion for timeseries
+* IOTDB-670 Add raw data query interface in Session
+* IOTDB-716 add lz4 compression
+* IOTDB-736 Add query performance tracing
+* IOTDB-776 New memory control strategy
+* IOTDB-813 Show storage group under given path prefix
+* IOTDB-848 Support order by time asc/desc
+* IOTDB-863 add a switch to drop ouf-of-order data
+* IOTDB-873 Add count devices DDL
+* IOTDB-876 Add count storage group DDL
+* IOTDB-926 Support reconnection of Session
+* IOTDB-941 Support 'delete storage group <prefixPath>'
+* IOTDB-968 Support time predicate in select last, e.g., select last * from root where time >= T
+* Support alias if it is used in query (e.g., select s1 as temp from root.a.b)
+* Add level compaction strategy
+* Enable partial insert (some failed inserted columns do not impact others)
+
+## Incompatible changes
+
+* IOTDB-778 Support double/single quotation in Path
+* IOTDB-870 change tags and attributes output to two columns with json values
+
+## Miscellaneous changes
+
+* IOTDB-784 Update rpc protocol to V3
+* IOTDB-790 change base_dir to system_dir
+* IOTDB-829 Accelerate delete multiple timeseries
+* IOTDB-839 Make Tablet api more friendly
+* IOTDB-902 Optimize max_time aggregation
+* IOTDB-916 Add a config entry to make Last cache configurable
+* IOTDB-928 Make ENCODING optional in create time series sentence
+* IOTDB-938 Re-implement Gorilla encoding algorithm
+* IOTDB-942 Optimization of query with long time unsequence page
+* IOTDB-943 Fix cpu usage too high
+* Add query load log
+* Add merge rate limiting
+
+## Bug Fixes
+
+* IOTDB-749 Avoid select * from root OOM
+* IOTDB-774 Fix "show timeseries" OOM problem
+* IOTDB-832 Fix sessionPool logic when reconnection failed
+* IOTDB-833 Fix JMX cannot connect IoTDB in docker
+* IOTDB-835 Delete timeseries and change data type then write failed
+* IOTDB-836 Statistics classes mismatched when endFile (delete timeseries then recreate)
+* IOTDB-837 ArrayIndexOutOfBoundsException if the measurementId size is not consistent with the value size
+* IOTDB-847 Fix bug that 'List user privileges' cannot apply to 'root'
+* IOTDB-850 a user could list others privilege bug
+* IOTDB-851 Enhance failure tolerance when recover WAL (enable partial insertion)
+* IOTDB-855 Can not release Session in SessionPool if RuntimeException occurs
+* IOTDB-868 Can not redo mlogs with special characters like comma
+* IOTDB-872 Enable setting timezone at client
+* IOTDB-877 fix prefix bug on show storage group and show devices
+* IOTDB-904 fix update last cache NullPointerException
+* IOTDB-920 Disable insert row that only contains time/timestamp column
+* IOTDB-921 When execute two query simultaneously in one statement, got error
+* IOTDB-922 Int and Long can convert to each other in ResultSet
+* IOTDB-947 Fix error when counting node with wildcard
+* IOTDB-949 Align by device doesn't support 'T*' in path.
+* IOTDB-956 Filter will be missed in group by time align by device
+* IOTDB-963 Redo deleteStorageGroupPlan failed when recovering
+* IOTDB-967 Fix xxx does not have the child node xxx Bug in count timeseries
+* IOTDB-970 Restrict log file number and size
+* IOTDB-971 More precise error messages of slimit and soffset 
+* IOTDB-975 when series does not exist in TsFile, reading wrong ChunkMetadataList
+
+# Apache IoTDB (incubating) 0.10.1
+
+* [IOTDB-797] InsertTablet deserialization from WAL error
+* [IOTDB-788] Can not upgrade all storage groups
+* [IOTDB-792] deadlock when insert while show latest timeseries
+* [IOTDB-794] Rename file or delete file Error in start check in Windows
+* [IOTDB-795] BufferUnderflowException in Hive-connector
+* [IOTDB-766] Do not release unclosed file reader, a small memory leak
+* [IOTDB-796] Concurrent Query throughput is low
+* Query result is not correct when some unsequence data exists
+* Change the default fetch size to 10000 in session
+* [IOTDB-798] fix a set rowLimit and rowOffset bug
+* [IOTDB-800] Add a new config type for those parameters which could not be modified any more after the first start 
+* [IOTDB-802] Improve "group by" query performance
+* [IOTDB-799] remove log visualizer tool from v0.10 
+* fix license-binary  
+* [IOTDB-805] Fix BufferUnderflowException when querying TsFile stored in HDFS 
+* python session client ver-0.10.0
+* [IOTDB-808] fix bug in selfCheck() truncate 
+* fix doc of MeasurementSchema in Tablet 
+* [IOTDB-811] fix upgrading mlog many times when upgrading system.properties crashed
+* Improve IoTDB restart process
+* remove jol-core dependency which is introduced by hive-serde 2.8.4
+* remove org.json dependency because of license compatibility
+* [ISSUE-1551] fix set historical version when loading additional tsfile
+
+
+# Apache IoTDB (incubating) 0.10.0
+
+## New Features
+
+* IOTDB-217 A new GROUPBY syntax, e.g., select avg(s1) from root.sg.d1.s1 GROUP BY ([1, 50), 5ms)
+* IOTDB-220 Add hot-load configuration function
+* IOTDB-275 allow using user defined JAVA_HOME and allow blank space in the JAVA_HOME
+* IOTDB-287 Allow domain in JDBC URL
+* IOTDB-292 Add load external tsfile feature
+* IOTDB-297 Support "show flush task info"
+* IOTDB-298 Support new Last point query. e.g, select last * from root
+* IOTDB-305 Add value filter function while executing align by device
+* IOTDB-309 add Dockerfiles for 0.8.1, 0.9.0, and 0.9.1
+* IOTDB-313 Add RandomOnDiskUsableSpaceStrategy
+* IOTDB-323 Support insertRecords in session
+* IOTDB-337 Add timestamp precision properties for grafana
+* IOTDB-343 Add test method in session
+* IOTDB-396 Support new query clause: disable align, e.g., select * from root disable align
+* IOTDB-447 Support querying non-existing measurement and constant measurement
+* IOTDB-448 Add IN operation, e.g., where time in (1,2,3)
+* IOTDB-456 Support GroupByFill Query, e.g., select last_value(s1) from root.sg.d1 GROUP BY ([1, 10), 2ms) FILL(int32[previousUntilLast])
+* IOTDB-467 The CLI displays query results in a batch manner
+* IOTDB-497 Support Apache Flink Connector with IoTDB
+* IOTDB-558 add text support for grafana
+* IOTDB-560 Support Apache Flink connecter with TsFile
+* IOTDB-565 MQTT Protocol Support, disabled by default, open in iotdb-engine.properties
+* IOTDB-574 Specify configuration when start iotdb
+* IOTDB-588 Add tags and attributes management
+* IOTDB-607 add batch create timeseries in native interface
+* IOTDB-612 add limit&offset to show timeseries
+* IOTDB-615 Use TsDataType + Binary to replace String in insert plan
+* IOTDB-617 Support alter one time series's tag/attribute
+* IOTDB-630 Add a jdbc-like way to fetch data in session
+* IOTDB-640 Enable system admin sql (flush/merge) in JDBC or Other API
+* IOTDB-671 Add clear cache command
+* Support open and close time range in group by, e.g, [), (]
+* Online upgrade from 0.9.x
+* Support special characters in path: -/+&%$#@
+* IOTDB-446 Support path start with a digit, e.g., root.sg.12a
+* enable rpc compression in session pool
+* Make JDBC OSGi usable and added a feature file
+* add printing one resource file tool
+* Allow count timeseries group by level=x using default path
+* IOTDB-700 Add OpenID Connect based JWT Access as alternative to Username / Password
+* IOTDB-701 Set heap size by percentage of system total memory when starts
+* IOTDB-708 add config for inferring data type from string value
+* IOTDB-715 Support previous time range in previousuntillast
+* IOTDB-719 add avg_series_point_number_threshold in config
+* IOTDB-731 Continue write inside InsertPlan 
+* IOTDB-734 Add Support for NaN in Double / Floats in SQL Syntax.
+* IOTDB-744 Support upsert alias 
+
+
+## Incompatible changes
+
+* IOTDB-138 Move All metadata query to usual query
+* IOTDB-322 upgrade to thrift 0.12.0-0.13.0
+* IOTDB-325 Refactor Statistics in TsFile
+* IOTDB-419 Refactor the 'last' and 'first' aggregators to 'last_value' and 'first_value'
+* IOTDB-506 upgrade the rpc protocol to v2 to reject clients or servers that version < 0.10
+* IOTDB-587 TsFile is upgraded to version 2
+* IOTDB-593 add metaOffset in TsFileMetadata
+* IOTDB-597 Rename methods in Session: insertBatch to insertTablet, insertInBatch to insertRecords, insert to insertRecord
+* RPC is incompatible, you can not use client-v0.9 to connect with server-v0.10
+* TsFile format is incompatible, will be upgraded when starting 0.10
+* Refine exception code in native api
+
+## Miscellaneous changes
+
+* IOTDB-190 upgrade from antlr3 to antlr4
+* IOTDB-418 new query engine
+* IOTDB-429 return empty dataset instead of throw exception, e.g., show child paths root.*
+* IOTDB-445 Unify the keyword of "timestamp" and "time"
+* IOTDB-450 Add design documents
+* IOTDB-498 Support date format "2020-02-10"
+* IOTDB-503 Add checkTimeseriesExists in java native api
+* IOTDB-605 Add more levels of index in TsFileMetadata for handling too many series in one device
+* IOTDB-625 Change default level number: root is level 0
+* IOTDB-628 rename client to cli
+* IOTDB-621 Add Check isNull in Field for querying using session
+* IOTDB-632 Performance improve for PreviousFill/LinearFill
+* IOTDB-695 Accelerate the count timeseries query 
+* IOTDB-707 Optimize TsFileResource memory usage  
+* IOTDB-730 continue write in MQTT when some events are failed
+* IOTDB-729 shutdown uncessary threadpool 
+* IOTDB-733 Enable setting for mqtt max length 
+* IOTDB-732 Upgrade fastjson version to 1.2.70
+* Allow "count timeseries" without a prefix path
+* Add max backup log file number
+* add rpc compression api in client and session module
+* Continue writing the last unclosed file
+* Move the vulnera-checks section into the apache-release profile to accelerate compile
+* Add metaquery in python example
+* Set inferType of MQTT InsertPlan to true
+
+
+
+## Bug Fixes
+
+* IOTDB-125 Potential Concurrency bug while deleting and inserting happen together
+* IOTDB-185 fix start-client failed on WinOS if there is blank space in the file path; let start-server.bat suport jdk12,13 etc
+* IOTDB-304 Fix bug of incomplete HDFS URI
+* IOTDB-341 Fix data type bug in grafana
+* IOTDB-346 Fix a bug of renaming tsfile in loading function
+* IOTDB-370 fix a concurrent problem in parsing sql
+* IOTDB-376 fix metric to show executeQuery
+* IOTDB-392 fix export CSV
+* IOTDB-393 Fix unclear error message for no privilege users
+* IOTDB-401 Correct the calculation of a chunk if there is no data in the chunk, do not flush empty chunk
+* IOTDB-412 Paths are not correctly deduplicated
+* IOTDB-420 Avoid encoding task dying silently
+* IOTDB-425 fix can't change the root password.
+* IOTDB-459 Fix calmem tool bug
+* IOTDB-470fix IllegalArgumentException when there exists 0 byte TsFile
+* IOTDB-529 Relative times and NOW() operator cannot be used in Group By
+* IOTDB-531 fix issue when grafana visualize boolean data
+* IOTDB-546 Fix show child paths statement doesn't show quotation marks
+* IOTDB-643 Concurrent queries cause BufferUnderflowException when storage in HDFS
+* IOTDB-663 Fix query cache OOM while executing query
+* IOTDB-664 Win -e option
+* IOTDB-669 fix getting two columns bug while ”show devices“ in session
+* IOTDB-692 merge behaves incorrectly
+* IOTDB-712 Meet BufferUnderflowException and can not recover
+* IOTDB-718 Fix wrong time precision of NOW()
+* IOTDB-735 Fix Concurrent error for MNode when creating time series automatically 
+* IOTDB-738 Fix measurements has blank 
+
+* fix concurrent auto create schema conflict bug
+* fix meet incompatible file error in restart
+* Fix bugs of set core-site.xml and hdfs-site.xml paths in HDFS storage
+* fix execute flush command while inserting bug
+* Fix sync schema pos bug
+* Fix batch execution bug, the following sqls will all fail after one error sql
+* Fix recover endTime set bug
+
+
+# Apache IoTDB (incubating) 0.9.3
+
+## Bug Fixes
+- IOTDB-531 Fix that JDBC URL does not support domain issue
+- IOTDB-563 Fix pentaho cannot be downloaded because of spring.io address
+- IOTDB-608 Skip error Mlog
+- IOTDB-634 Fix merge caused errors for TsFile storage in HDFS
+- IOTDB-636 Fix Grafana connector does not use correct time unit
+
+## Miscellaneous changes
+- IOTDB-528 Modify grafana group by
+- IOTDB-635 Add workaround when doing Aggregation over boolean Series
+- Remove docs of Load External Tsfile
+- Add Grafana IoTDB Bridge Artifact to distribution in tools/grafana folder
+
+
+# Apache IoTDB (incubating) 0.9.2
+
+## Bug Fixes
+- IOTDB-553 Fix Return Empty ResultSet when queried series doesn't exist
+- IOTDB-575 add default jmx user and password; fix issues that jmx can't be accessed remotely
+- IOTDB-584 Fix InitializerError when recovering files on HDFS
+- Fix batch insert once an illegal sql occurs all the sqls after that will not succeed
+- Fix concurrent modification exception when iterator TsFileResourceList 
+- Fix some HDFS config issues 
+- Fix runtime exception not be catched and sync schema pos was nullpointer bug in DataTransferManager
+- Fix python rpc grammar mistakes
+- Fix upgrade ConcurrentModificationException
+
+## Miscellaneous changes
+- IOTDB-332 support Chinese characters in path
+- IOTDB-316 add AVG function to 4-SQL Reference.md and modify style 
+- improve start-server.bat by using quotes to protect against empty entries
+- Add Chinese documents for chapter 4.2
+- change download-maven-plugin to 1.3.0
+- add session pool 
+- add insertInBatch in Session
+- add insertInBatch to SessionPool
+- modify 0.9 docs to fit website
+- remove tsfile-format.properties
+- add bloom filter in iotdb-engien.properties
+- update server download doc
+- typos fix in Rel/0.9 docs
+- support 0.12.0 and 0.13.0 thrift
+
+# Apache IoTDB (incubating) 0.9.1
+
+## Bug Fixes
+
+- IOTDB-159 Fix NullPointerException in SeqTsFileRecoverTest and UnseqTsFileRecoverTest
+- IOTDB-317 Fix a bug that "flush + wrong aggregation query" causes the following queries to fail
+- IOTDB-324 Fix inaccurate statistics when writing in batch
+- IOTDB-327 Fix a groupBy-without-value-filter query bug caused by the wrong page skipping logic
+- IOTDB-331 Fix a groupBy query bug when axisOrigin-startTimeOfWindow is an integral multiple of interval
+- IOTDB-357 Fix NullPointerException in ActiveTimeSeriesCounter
+- IOTDB-359 Fix a wrong-data-type bug in TsFileSketchTool
+- IOTDB-360 Fix bug of a deadlock in CompressionRatio
+- IOTDB-363 Fix link errors in Development-Contributing.md and add Development-Document.md
+- IOTDB-392 Fix a bug in CSV export tool
+- Fix apache rat header format error in some files
+
+## Miscellaneous changes
+
+- IOTDB-321 Add definitions of time expression and LEVEL in related documents
+- Support pypi distribution for Python client
+
+# Apache IoTDB (incubating) 0.9.0
+
+## New Features
+
+* IOTDB-143 Compaction of data file
+* IOTDB-151 Support number format in timeseries path
+* IOTDB-158 Add metrics web service
+* IOTDB-173 Add batch write interface in session
+* IoTDB-174 Add interfaces for querying device or timeseries number
+* IOTDB-187 Enable to choose storage in local file system or HDFS
+* IOTDB-188 Delete storage group
+* IOTDB-193 Create schema automatically when inserting
+* IOTDB-198 Add sync module (Sync TsFiles between IoTDB instances)
+* IOTDB-199 Add a log visualization tool 
+* IOTDB-203 Add "group by device" function for narrow table display
+* IOTDB-205 Support storage-group-level Time To Live (TTL)
+* IOTDB-208 Add Bloom filter in TsFile
+* IOTDB-223 Add a TsFile sketch tool
+* IoTDB-226 Hive-TsFile connector
+* IOTDB-239 Add interface for showing devices
+* IOTDB-241 Add query and non query interface in session
+* IOTDB-249 Enable lowercase in create_timeseries sql
+* IOTDB-253 Support time expression 
+* IOTDB-259 Level query of path
+* IOTDB-282 Add "show version"
+* IOTDB-294 Online upgrade from 0.8.0 to 0.9.0
+* Spark-iotdb-connector
+* Support quoted measurement name
+* Generate cpp, go, and python thrift files under service-rpc
+* Display cache hit rate through jconsole
+* Support inserting data that time < 0
+* Add interface (Delete timeseries) in session 
+* Add a tool to print tsfileResources (each device's start and end time)
+* Support watermark feature
+* Add micro and nano timestamp precision
+
+## Incompatible changes
+
+* RPC is incompatible, you can not use client-0.8.0 to connect with server-0.9.0 or use client-0.9.0 to connect with server-0.8.0.
+* Server is backward compatible, server-0.9.0 could run on data folder of 0.8.0. The data file will be upgraded background.
+* Change map key in TsDigest from String to enum data type
+
+## Miscellaneous changes
+
+* IOTDB-144 Meta data cache for query
+* IOTDB-153 Further limit fetchSize to speed up LIMIT&OFFSET query
+* IOTDB-160 External sort
+* IOTDB-161 Add ErrorCode of different response errors
+* IOTDB-180 Get rid of JSON format in "show timeseries"
+* IOTDB-192 Improvement for LRUCache
+* IOTDB-210 One else if branch will never be reached in the method optimize of ExpressionOptimizer
+* IOTDB-215 Update TsFile sketch tool and TsFile docs for v0.9.0
+* IOTDB-221 Add a python client example
+* IOTDB-233 keep metadata plan clear
+* IOTDB-251 Improve TSQueryDataSet structure in RPC
+* IOTDB-257 Makes the client stop fetch when dataSize equals maxPrintRowCount and change client fetchSize less than maxPrintRowCount
+* IOTDB-258 Add documents for Query History Visualization Tool and Shared Storage Architecture
+* IOTDB-265 Re-adjust the threshold size of memtable
+* IOTDB-267 Reduce IO operations in deserializing chunk header
+* IOTDB-273 Parallel recovery
+* IOTDB-276 Fix inconsistent ways of judging whether a Field is null
+* IOTDB-285 Duplicate fields in EngineDataSetWithoutValueFilter.java
+* IOTDB-287 Restrict users to only use domain names and IP addresses.
+* IOTDB-293 Variable naming convention
+* IOTDB-295 Refactor db.exception
+* Reconstruct Antlr3 grammar to improve performance
+* Tooling for release
+* Modified Decoder and SequenceReader to support old version of TsFile 
+* Remove jdk constrain of jdk8 and 11
+* Modify print function in AbstractClient
+* Avoid second execution of parseSQLToPhysicalPlan in executeStatement
+
+## Known Issues
+
+* IOTDB-20 Need to support UPDATE
+
+## Bug Fixes
+
+* IOTDB-168&169 Fix a bug in export-csv tool and fix compatibility of timestamp formats in exportCsv, client display and sql
+* IOTDB-174 Fix querying timeseries interface cannot make a query by the specified path prefix
+* IOTDB-195 Using String.getBytes(utf-9).length to replace string.length() in ChunkGroupMetadata for supporting Chinese
+* IOTDB-211 Use "%IOTDB_HOME%\lib\*" to refers to all .jar files in the directory in start-server.bat
+* IOTDB-240 Fix unknown time series in where clause
+* IOTDB-244 Fix bug when querying with duplicated columns
+* IOTDB-252 Add/fix shell and bat for TsFileSketchTool/TsFileResourcePrinter
+* IOTDB-266 NullPoint exception when reading not existed devices using ReadOnlyTsFile
+* IOTDB-264 Restart failure due to WAL replay error
+* IOTDB-290 Bug about threadlocal field in TSServiceImpl.java
+* IOTDB-291 Statement close operation may cause the whole connection's resource to be released
+* IOTDB-296 Fix error when skip page data in sequence reader
+* IOTDB-301 Bug Fix: executing "count nodes root" in client gets "Msg:3"
+* Fix Dynamic Config when Creating Existing SG or Time-series
+* Fix start-walchecker scripts for letting user define the wal folder
+* Fix start script to set JAVA_HOME
+
+# Apache IoTDB (incubating) 0.8.2
+
+ This is a bug-fix version of 0.8.1 
+
+-  IOTDB-264 lack checking datatype before writing WAL 
+-  IOTDB-317 Fix "flush + wrong aggregation" causes failed query in v0.8.x 
+-  NOTICE and LICENSE file update 
+
+# Apache IoTDB (incubating) 0.8.1
+
+This is a bug-fix version of 0.8.0
+
+* IOTDB-172 Bug in updating startTime and endTime in TsFileResource
+* IOTDB-195 Bug about 'serializedSize' in ChunkGroupMetaData.java (for Chinese string)
+* IOTDB-202 fix tsfile example data type
+* IOTDB-242 fix mvn integration-test failed because the files in the target folder changes
+* Abnormal publishing of sequence and unsequence data folders in DirectoryManager
+* Fix a bug in TimeRange's intersects function
+
+
+# Apache IoTDB (incubating) 0.8.0
+
+This is the first official release of Apache IoTDB after joining the Incubator.
+
+## New Features
+
+* IOTDB-1 Add Aggregation query
+* IOTDB-4 Asynchronously force sync WAL periodically
+* IOTDB-5 Support data deletion
+* IOTDB-11 Support start script for jdk 11 on Windows OS
+* IOTDB-18 Improve startup script compatible for jdk11
+* IOTDB-36 [TsFile] Enable recover data from a incomplete TsFile and continue to write
+* IOTDB-37 Add WAL check tool script
+* IOTDB-51 Update post-back module to synchronization module
+* IOTDB-59 Support GroupBy query
+* IOTDB-60 Support Fill function when query
+* IOTDB-73 Add REGULAR encoding method for data with fixed frequency
+* IOTDB-80 Support custom export file name
+* IOTDB-81 Update travis for supporting JDK11 on Windows
+* IOTDB-83 Add process bar for import script and show how many rows have been exported
+* IOTDB-91 Improve tsfile-spark-connector to support spark-2.4.3
+* IOTDB-93 IoTDB Calcite integration
+* IOTDB-109 Support appending data at the end of a completed TsFile
+* IOTDB-122 Add prepared statement in JDBC
+* IOTDB-123 Add documents in Chinese
+* IOTDB-130 Dynamic parameters adapter
+* IOTDB-134 Add default parameter for client starting script
+* Add read-only mode of IoTDB
+* New storage engine with asynchronously flush and close data file
+* Adding english documents
+* Supporting travis + window + jdk8
+* Add skipping all UTs: maven integration-test -DskipUTS=true
+* Enable users define the location of their thrift compiler
+* Add example module
+* Add a log appender: put info, warn, error log into one file and disable log_info by default
+* Recover when resource file does not exist while tsfile is complete
+
+## Incompatible changes
+
+If you use the previous unofficial version 0.7.0. It is incompatible with 0.8.0.
+
+## Miscellaneous changes
+
+* IOTDB-21 Add ChunkGroup offset information in ChunkGroupMetaData
+* IOTDB-25 Add some introduction for JMX MBean Monitor in user guide
+* IOTDB-29 Multiple Exceptions when reading empty measurements from TsFileSequenceReader
+* IOTDB-39 Add auto repair functionality for RestorableTsFileIOWriter
+* IOTDB-45 Update the license in IoTDB
+* IOTDB-56 Faster getSortedTimeValuePairList() of Memtable
+* IOTDB-62 Change log level from error to debug in SQL parser
+* IoTDB-63 Use TsFileInput instead of FileChannel as the input parameter of some functions
+* IOTDB-76 Reformat MManager.getMetadataInString() in JSON format
+* IOTDB-78 Make unsequence file format more similar with TsFile
+* IOTDB-95 Keep stack trace when logging or throwing an exception
+* IOTDB-117 Add sync documents
+* Modify ASF header for each file and add related maven plugin
+* Add IoTDB env script test
+* Add sync function for jdbc server to close
+* Add cache directories for download jars and sonar plugin of maven in travis
+* Add partition start and end offset constraints when loading ChunkGroupMetaData
+* Check when creating Storage group
+* Try to release memory asap in ReadOnlyMemChunk
+* Add more physical plan serializer
+* Move all generated tsfiles for test into the target folder
+* Make TsFileWriter as AutoClosable
+* Print apache-rat violation result on console
+* Update multi dir avoid disk is full
+* Simplify Path construction
+* Separate documents into different chapter folders
+* Suppress mvn log in travis
+* Add mvn -B in travis
+
+## Known Issues
+
+* IOTDB-20 Need to support UPDATE
+* IOTDB-124 Lost timeseries info after restart IoTDB
+* IOTDB-125 [potential] a concurrency conflict may occur when a delete command and insertion command appears concurrently
+* IOTDB-126 IoTDB will not be closed immediately after run 'stop-server.sh' script
+* IOTDB-127 Chinese version documents problems
+
+## Bug Fixes
+
+* IOTDB-2 Maven Test failed before run mvn package -Dmaven.test.skip=true
+* IOTDB-7 OpenFileNumUtilTest failed
+* IOTDB-15 Fail to install IoTDB on Ubuntu 14.04
+* IOTDB-16 Invalid link on https://iotdb.apache.org/#/Documents/Quick Start
+* IOTDB-17 Need to update chapter Start of https://iotdb.apache.org/#/Documents/Quick Start
+* IOTDB-18 IoTDB startup script does not work on openjdk11
+* IOTDB-19 Fail to start start-server.sh script on Ubuntu 14.04/Ubuntu 16.04
+* IOTDB-22 BUG in TsFileSequenceReader when reading tsfile
+* IOTDB-24 DELETION error after restart a server
+* IOTDB-26 Return error when quit client
+* IOTDB-27 Delete error message
+* IOTDB-30 Flush timeseries cause select to returns "Msg:null"
+* IOTDB-31 Cannot set float number precision
+* IOTDB-34 Invalid message for show storage group
+* IOTDB-44 Error message in server log when select timeseries
+* IOTDB-49 Authorizer module outputs too many debug log info
+* IOTDB-50 DataSetWithoutTimeGenerator's initHeap behaves wrongly
+* IOTDB-52 Cli doesn't support aggregate
+* IOTDB-54 Predicates doesn't take effect
+* IOTDB-67 ValueDecoder reading new page bug
+* IOTDB-70 Disconnect from server when logging in fails
+* IOTDB-71 Improve readPositionInfo
+* IOTDB-74 THe damaged log will be skipped if it is the only log
+* IOTDB-79 Long term test failed because of the version control of deletion function
+* IOTDB-81 Fix Windows OS environment for Travis-CI
+* IOTDB-82 File not closed in PageHeaderTest and cause UT on Windows fails
+* IOTDB-84 Out-of-memory bug
+* IOTDB-94 IoTDB failed to start client since the required jars are not in the right folder
+* IOTDB-96 The JDBC interface throws an exception when executing the SQL statement "list user"
+* IOTDB-99 List privileges User <username> on <path> cannot be used properly
+* IOTDB-100 Return error message while executing sum aggregation query
+* IOTDB-103 Does not give a hint when encountering unsupported data types
+* IOTDB-104 MManager is incorrectly recovered when system reboots
+* IOTDB-108 Mistakes in documents
+* IOTDB-110 Cli inserts data normally even if there is no space left on the disk
+* IOTDB-118 When the disk space is full, the storage group is created successfully
+* IOTDB-121 A bug of query on value columns
+* IOTDB-128 Probably a bug in iotdb official website
+* IOTDB-129 A bug in restoring incomplete tsfile when system restart
+* IOTDB-131 IoTDB-Grafana module error when getting the timeseries list from Grafana
+* IOTDB-133 Some content is mistaken for links
+* System memory check failure in iotdb-env.sh
+* Time zone bug in different region
+* DateTimeUtilsTest UT bug
+* Problem discovered by Sonar
+* Openjdk11 + linux11 does not work on travis
+* Start JDBC service too slowly
+* JDBC cannot be closed
+* Close bug in sync thread
+* Bug in MManager to get all file names of a path
+* Version files of different storage groups are placed into the same place
+* Import/export csv script bug
+* Log level and stack print in test
+* Bug in TsFile-Spark-Connector
+* A doc bug of QuickStart.md

Added: release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip
==============================================================================
Binary file - no diff available.

Propchange: release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.asc
==============================================================================
--- release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.asc (added)
+++ release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.asc Mon Jun 21 02:16:09 2021
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEukXNu4fosUaoH1u+Igbvj2TDWIkFAmDIVd8ACgkQIgbvj2TD
+WIlKTA//ecnyN/zmgJ98DcWMDlNT5qvQVPCTrpFekyS7pkcebcpaZsoH47qS3aNz
+kxkzIKhiuKYw7v1vFU04n4BJoD/ETfc38P9WfErlWfPuPr8Mc4K5fzobVlhfxyqk
+knHO8wkS8r06sDpF9cOPUHmXj4ywjv0sgT8Z84KgDPJHQECokxw/9Re7hyYTRJ8/
+baGb8wz71h7zN0Dvr5Ac0c0BgqTrENey5FLxFTS8BFoUeao1QokNJMY+0oPA2HAx
+dmnLLmon2fbFLqYw5XTxS6VIIKwG3V63Qvit5fvzy8qlmQLAwPaMNXjS1lWC502y
+PVH+DDw9xFcd8gz2Idx3WeZlrUQhk1jFHG3sU7hLFPDsfUy4R0shH63kNLjxtuRR
+Ug60SjGmUmE+Pf6tCKMhuKMMLoB/DBKPLivFcC9KEYjim/fvnTGhCgiPv/yqfBUJ
+rer9NPQHke7c18LXpGNxKTdV0ScWnHr63ATJilbKEdMa4E0vfBJuvTP20w8xsjFh
+sePuo67snBjfYebKOF6G2/tLLdqk3UkYuoh80xtQ9hxZvKkiVIa2BNlhuOGZm+lN
+79+7x5m2Jm2Cwb9jSjB8Ff2zo6h6zpFcnsa3qTUekw3uiUhUB+SwEASNhRaGEbs5
+EsFZFmrw2+nNx7a6hvNt0NQTDapSbWNLHcfyz7N5viyTcaSbTfY=
+=CjE1
+-----END PGP SIGNATURE-----

Added: release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.sha512
==============================================================================
--- release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.sha512 (added)
+++ release/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.sha512 Mon Jun 21 02:16:09 2021
@@ -0,0 +1 @@
+4048ed04a8bae178a221fa8fe5b929e978fd19fc02c35be9487e341b6240a192f36701143ed8543b9cabab6f3bc2aaeb3bd96781caf85d3eb7d92a34ae929f1a
\ No newline at end of file

Added: release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip
==============================================================================
Binary file - no diff available.

Propchange: release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.asc
==============================================================================
--- release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.asc (added)
+++ release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.asc Mon Jun 21 02:16:09 2021
@@ -0,0 +1,16 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEukXNu4fosUaoH1u+Igbvj2TDWIkFAmDIUAIACgkQIgbvj2TD
+WIl8/Q//RaXKJlv5cDiblNHciuF4+KkLqE2ZmP585WNGCJgv6sfSmIi6EDI+kdo8
+ONxc0WEmJsD5fSxs0bzhOs+KSqZf/EoZLOxs5Y0gbczVnWf/NZ54mKPMcnddxDuK
+nZEW8GA9HAozGJCSae/wgw8kJPtBZw8X5eUdcHuFAO6FA1T1/GveYJaauAHNAcdA
+phK8HeeerM8GLc68xA0Yckl8sAX6qi2SLuec8GulKEwyv1BWoxExlvF3FU7Adu1X
+s7u5GX80dwa+6ZIZngkv/ZdpfJ/8mpWx3Vy8CZn8l4n7jBzDKjV83Uw+96ZwlFRB
+55bpnTORlv00XTzkJ5kNB09P7JYmsk5WsM0NC31ae6WdsdOKwxi6XmyUyXOcNL5n
+VxXgYTJCNe0tJopWiij0Egf/mce+i6IHRnBaTGDLoW7U3si3Mqh8OlNzhOg9hVEY
+eUla+7XO/37S99fxACP3bSp9jmxjAAWNhRLgh0FHVKjGblmM4mKLoAA1iDuAPoQZ
+sFKGf57uhpyFOsiUu+MjvnswdemIvWc5FP+8jjByzum4Cr7QIOZn4lbPa+nE8N+G
+cy11VQy0OcNTnS2Asd4zckepPzdp/tustMPDaSxdJ0gs7oIUgR8/5XFtDMHachaa
+a/AXSFd67KwlHOSt+bOi9WJZtGi4sHiwmHAfetBxR3wuVeshG/s=
+=FtQf
+-----END PGP SIGNATURE-----

Added: release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.sha512
==============================================================================
--- release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.sha512 (added)
+++ release/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.sha512 Mon Jun 21 02:16:09 2021
@@ -0,0 +1 @@
+bca48bb3b956aa62b0cf1b5f8215355fa68b092046a863e1ff07207d957c017de206da88a10b26a862f595f481d6738260da2c7a7552777cfe9941f80a9f9d2f
\ No newline at end of file