(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{582:function(t,a,e){"use strict";e.r(a);var i=e(69),o=Object(i.a)({},(function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[e("h1",{attrs:{id:"release-version"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#release-version"}},[t._v("#")]),t._v(" Release version")]),t._v(" "),e("table",[e("tr",[e("th",[t._v("Version")]),t._v(" "),e("th",{attrs:{colspan:"3"}},[t._v("IoTDB Binaries")]),t._v(" "),e("th",{attrs:{colspan:"3"}},[t._v("IoTDB Sources")]),t._v(" "),e("th",[t._v("release notes")])]),t._v(" "),e("tr",[e("td",[t._v("0.10.0")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/incubator/iotdb/0.10.0-incubating/apache-iotdb-0.10.0-incubating-bin.zip"}},[t._v("Release")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.10.0-incubating/apache-iotdb-0.10.0-incubating-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.10.0-incubating/apache-iotdb-0.10.0-incubating-bin.zip.asc"}},[t._v("ASC")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/incubator/iotdb/0.10.0-incubating/apache-iotdb-0.10.0-incubating-source-release.zip"}},[t._v("Sources")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.10.0-incubating/apache-iotdb-0.10.0-incubating-source-release.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.10.0-incubating/apache-iotdb-0.10.0-incubating-source-release.zip.asc"}},[t._v("ASC")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://raw.githubusercontent.com/apache/incubator-iotdb/release/0.10.0/RELEASE_NOTES.md"}},[t._v("release notes")])])]),t._v(" "),e("tr",[e("td",[t._v("0.9.3")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/incubator/iotdb/0.9.3-incubating/apache-iotdb-0.9.3-incubating-bin.zip"}},[t._v("Release")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.9.3-incubating/apache-iotdb-0.9.3-incubating-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.9.3-incubating/apache-iotdb-0.9.3-incubating-bin.zip.asc"}},[t._v("ASC")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/incubator/iotdb/0.9.3-incubating/apache-iotdb-0.9.3-incubating-source-release.zip"}},[t._v("Sources")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.9.3-incubating/apache-iotdb-0.9.3-incubating-source-release.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.9.3-incubating/apache-iotdb-0.9.3-incubating-source-release.zip.asc"}},[t._v("ASC")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://raw.githubusercontent.com/apache/incubator-iotdb/release/0.9.3/RELEASE_NOTES.md"}},[t._v("release notes")])])]),t._v(" "),e("tr",[e("td",[t._v("0.8.2")]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/incubator/iotdb/0.8.2-incubating/apache-iotdb-0.8.2-incubating-bin.zip"}},[t._v("Release")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.8.2-incubating/apache-iotdb-0.8.2-incubating-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.8.2-incubating/apache-iotdb-0.8.2-incubating-bin.zip.asc"}},[t._v("ASC")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/incubator/iotdb/0.8.2-incubating/apache-iotdb-0.8.2-incubating-source-release.zip"}},[t._v("Sources")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.8.2-incubating/apache-iotdb-0.8.2-incubating-source-release.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/0.8.2-incubating/apache-iotdb-0.8.2-incubating-source-release.zip.asc"}},[t._v("ASC")])]),t._v(" "),e("td",[e("a",{attrs:{href:"https://raw.githubusercontent.com/apache/incubator-iotdb/release/0.8.2/RELEASE_NOTES.md"}},[t._v("release notes")])])])]),t._v(" "),e("p",[e("strong",[e("font",{attrs:{color:"red"}},[t._v("Attention")])],1),t._v(":")]),t._v(" "),e("ul",[e("li",[e("p",[t._v("How to upgrade a minor version (e.g., from v0.9.0 to v0.9.3)?")]),t._v(" "),e("ul",[e("li",[t._v("versions which have the same major version are compatible.")]),t._v(" "),e("li",[t._v("Just download and unzip the new version. Then modify the configuration files to keep consistent\nwith what you set in the old version.")]),t._v(" "),e("li",[t._v("stop the old vesion instance, and start the new one.")])])]),t._v(" "),e("li",[e("p",[t._v("How to upgrade from v.9.x to v0.10.x?")]),t._v(" "),e("ul",[e("li",[t._v("Upgrading from v0.9 to v0.10 is more complex than v0.8 to v0.9.")]),t._v(" "),e("li",[t._v("Stop writing new data.")]),t._v(" "),e("li",[t._v("Call "),e("code",[t._v("flush")]),t._v(" command using sbin/start-client.sh in v0.9 to close all TsFiles.")]),t._v(" "),e("li",[t._v("We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.")]),t._v(" "),e("li",[t._v("Just download, unzip v0.10.x.zip, and modify conf/iotdb-engine.proeprties to let all the\ndirectories point to the folders set in v0.9.x  (or the backup folder).\nYou can also modify other settings if you want.")]),t._v(" "),e("li",[t._v("Stop IoTDB v0.9 instance, and start v0.10.x, then the IoTDB will upgrade data file format automatically.")])])]),t._v(" "),e("li",[e("p",[t._v("How to upgrade from 0.8.x to v0.9.x?")]),t._v(" "),e("ul",[e("li",[t._v("We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.")]),t._v(" "),e("li",[t._v("Just download, unzip v0.9.x.zip, and modify conf/iotdb-engine.proeprties to let all the\ndirectories point to the folders set in v0.8.x (or the backup folder).\nYou can also modify other settings if you want.")]),t._v(" "),e("li",[t._v("Stop IoTDB v0.8 instance, and start v0.9.x, then the IoTDB will upgrade data file format automatically.")])])])]),t._v(" "),e("h1",{attrs:{id:"all-releases"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#all-releases"}},[t._v("#")]),t._v(" All releases")]),t._v(" "),e("p",[t._v("Find all releases in the "),e("a",{attrs:{href:"https://archive.apache.org/dist/incubator/iotdb/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Archive incubating repository"),e("OutboundLink")],1),t._v(".")]),t._v(" "),e("h1",{attrs:{id:"verifying-hashes-and-signatures"}},[e("a",{staticClass:"header-anchor",attrs:{href:"#verifying-hashes-and-signatures"}},[t._v("#")]),t._v(" Verifying Hashes and Signatures")]),t._v(" "),e("p",[t._v("Along with our releases, we also provide sha512 hashes in *.sha512 files and cryptographic signatures in *.asc files. The Apache Software Foundation has an extensive tutorial to "),e("a",{attrs:{href:"http://www.apache.org/info/verification.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("verify hashes and signatures "),e("OutboundLink")],1),t._v("which you can follow by using any of these release-signing "),e("a",{attrs:{href:"https://downloads.apache.org/incubator/iotdb/KEYS",target:"_blank",rel:"noopener noreferrer"}},[t._v("KEYS "),e("OutboundLink")],1),t._v(".")])])}),[],!1,null,null,null);a.default=o.exports}}]);