(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{595:function(t,e,a){"use strict";a.r(e);var o=a(70),r=Object(o.a)({},(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"release-version"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#release-version"}},[t._v("#")]),t._v(" Release version")]),t._v(" "),a("table",[a("tr",[a("th",[t._v("Version")]),t._v(" "),a("th",{attrs:{colspan:"3"}},[t._v("IoTDB Binaries")]),t._v(" "),a("th",{attrs:{colspan:"3"}},[t._v("IoTDB Sources")]),t._v(" "),a("th",[t._v("release notes")])]),t._v(" "),a("tr",[a("td",{attrs:{rowspan:"4"}},[t._v("0.12.1")]),t._v(" "),a("td",[a("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/iotdb/0.12.1/apache-iotdb-0.12.1-all-bin.zip"}},[t._v("All-in-one")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-all-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-all-bin.zip.asc"}},[t._v("ASC")])]),t._v(" "),a("td",{attrs:{rowspan:"4"}},[a("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/iotdb/0.12.1/apache-iotdb-0.12.1-source-release.zip"}},[t._v("Sources")])]),t._v(" "),a("td",{attrs:{rowspan:"4"}},[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-source-release.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),a("td",{attrs:{rowspan:"4"}},[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-source-release.zip.asc"}},[t._v("ASC")])]),t._v(" "),a("td",{attrs:{rowspan:"4"}},[a("a",{attrs:{href:"https://raw.githubusercontent.com/apache/iotdb/v0.12.1/RELEASE_NOTES.md"}},[t._v("release notes")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/iotdb/0.12.1/apache-iotdb-0.12.1-server-bin.zip"}},[t._v("Server")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-server-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-server-bin.zip.asc"}},[t._v("ASC")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/iotdb/0.12.1/apache-iotdb-0.12.1-cluster-bin.zip"}},[t._v("Cluster")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-cluster-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-cluster-bin.zip.asc"}},[t._v("ASC")])])]),t._v(" "),a("tr",[a("td",[a("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/iotdb/0.12.1/apache-iotdb-0.12.1-grafana-bin.zip"}},[t._v("Grafana-connector")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-grafana-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.12.1/apache-iotdb-0.12.1-grafana-bin.zip.asc"}},[t._v("ASC")])])]),t._v(" "),a("tr",[a("td",[t._v("0.11.4")]),t._v(" "),a("td",[a("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip"}},[t._v("Release")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.11.4/apache-iotdb-0.11.4-bin.zip.asc"}},[t._v("ASC")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://www.apache.org/dyn/closer.cgi/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip"}},[t._v("Sources")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.sha512"}},[t._v("SHA512")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://downloads.apache.org/iotdb/0.11.4/apache-iotdb-0.11.4-source-release.zip.asc"}},[t._v("ASC")])]),t._v(" "),a("td",[a("a",{attrs:{href:"https://raw.githubusercontent.com/apache/iotdb/v0.11.4/RELEASE_NOTES.md"}},[t._v("release notes")])])])]),t._v(" "),a("p",[t._v("Legacy version are available here: "),a("a",{attrs:{href:"https://archive.apache.org/dist/iotdb/",target:"_blank",rel:"noopener noreferrer"}},[t._v("https://archive.apache.org/dist/iotdb/"),a("OutboundLink")],1)]),t._v(" "),a("p",[a("strong",[a("font",{attrs:{color:"red"}},[t._v("Attention")])],1),t._v(":")]),t._v(" "),a("ul",[a("li",[a("p",[t._v("How to upgrade a minor version (e.g., from v0.11.0 to v0.11.3)?")]),t._v(" "),a("ul",[a("li",[t._v("versions which have the same major version are compatible.")]),t._v(" "),a("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(" "),a("li",[t._v("stop the old vesion instance, and start the new one.")])])]),t._v(" "),a("li",[a("p",[t._v("How to upgrade from v.11.x or v0.10.x to v0.12.x?")]),t._v(" "),a("ul",[a("li",[t._v("Upgrading from v0.11 or v0.10 to v0.12 is similar as v0.9 to v0.10. The upgrade tool will rewrite the data files automatically.")]),t._v(" "),a("li",[t._v("Stop writing new data.")]),t._v(" "),a("li",[t._v("Call "),a("code",[t._v("flush")]),t._v(" command using sbin/start-cli.sh in original version to close all TsFiles.")]),t._v(" "),a("li",[t._v("We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.")]),t._v(" "),a("li",[t._v("Just download, unzip v0.12.x.zip, and modify conf/iotdb-engine.proeprties to let all the\ndirectories point to the folders set in previous version (or the backup folder).\nYou can also modify other settings if you want. Any other config changes in v0.11 should be moved to v0.12.")]),t._v(" "),a("li",[t._v("Stop IoTDB v0.11 or v0.10 instance, and start v0.12.x, then the IoTDB will upgrade data file format automatically. It is ok to read and write data when the upgrading process works.")]),t._v(" "),a("li",[t._v("After a log "),a("code",[t._v("All files upgraded successfully!")]),t._v(" printed, the upgrading completes.")]),t._v(" "),a("li",[a("strong",[t._v("NOTICE 1: V0.12 changes many settings in conf/iotdb-engine.properties, so do not use previous\nconfiguration file directly.")])]),t._v(" "),a("li",[a("strong",[t._v("NOTICE 2: V0.12 doesn't support upgrade from v0.9 or lower version, please upgrade to v0.10 first if needed.")])]),t._v(" "),a("li",[a("strong",[t._v("NOTICE 3: We don't recommend to delete data before the upgrading finished. The deletion will fail if you try to delete data in the storage group with upgrading files.")])])])]),t._v(" "),a("li",[a("p",[t._v("How to upgrade from v.10.x to v0.11.x?")]),t._v(" "),a("ul",[a("li",[t._v("The data format (i.e., TsFile data) of v0.10.x and v0.11 are compatible, but the WAL file is\nincompatible. So, you can follow the steps:")]),t._v(" "),a("li",[t._v("Stop writing new data.")]),t._v(" "),a("li",[t._v("Call "),a("code",[t._v("flush")]),t._v(" command using "),a("code",[t._v("sbin/start-cli.sh")]),t._v(" in v0.10.x to close all TsFiles.")]),t._v(" "),a("li",[t._v("We recommend to backup the the wal files and mlog.txt before upgrading for rolling back.")]),t._v(" "),a("li",[t._v("Just download, unzip v0.11.x.zip, and modify conf/iotdb-engine.proeprties to let all the\ndirectories point to the data folder set in v0.10.x (or the backup folder). You can also modify\nother settings if you want.")]),t._v(" "),a("li",[t._v("Stop IoTDB v0.10.x instance, and start v0.11.x, then the IoTDB will upgrade data file format\nautomatically.")]),t._v(" "),a("li",[a("strong",[t._v("NOTICE: V0.11 changes many settings in conf/iotdb-engine.properties, so do not use v0.10's\nconfiguration file directly.")])])])]),t._v(" "),a("li",[a("p",[t._v("How to upgrade from v.9.x to v0.10.x?")]),t._v(" "),a("ul",[a("li",[t._v("Upgrading from v0.9 to v0.10 is more complex than v0.8 to v0.9.")]),t._v(" "),a("li",[t._v("Stop writing new data.")]),t._v(" "),a("li",[t._v("Call "),a("code",[t._v("flush")]),t._v(" command using sbin/start-client.sh in v0.9 to close all TsFiles.")]),t._v(" "),a("li",[t._v("We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.")]),t._v(" "),a("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(" "),a("li",[t._v("Stop IoTDB v0.9 instance, and start v0.10.x, then the IoTDB will upgrade data file format automatically.")])])]),t._v(" "),a("li",[a("p",[t._v("How to upgrade from 0.8.x to v0.9.x?")]),t._v(" "),a("ul",[a("li",[t._v("We recommend to backup the data file (also the wal files and mlog.txt) before upgrading for rolling back.")]),t._v(" "),a("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(" "),a("li",[t._v("Stop IoTDB v0.8 instance, and start v0.9.x, then the IoTDB will upgrade data file format automatically.")])])])]),t._v(" "),a("h1",{attrs:{id:"all-releases"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#all-releases"}},[t._v("#")]),t._v(" All releases")]),t._v(" "),a("p",[t._v("Find all releases in the "),a("a",{attrs:{href:"https://archive.apache.org/dist/iotdb/",target:"_blank",rel:"noopener noreferrer"}},[t._v("Archive repository"),a("OutboundLink")],1),t._v(".")]),t._v(" "),a("h1",{attrs:{id:"verifying-hashes-and-signatures"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#verifying-hashes-and-signatures"}},[t._v("#")]),t._v(" Verifying Hashes and Signatures")]),t._v(" "),a("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 "),a("a",{attrs:{href:"http://www.apache.org/info/verification.html",target:"_blank",rel:"noopener noreferrer"}},[t._v("verify hashes and signatures "),a("OutboundLink")],1),t._v("which you can follow by using any of these release-signing "),a("a",{attrs:{href:"https://downloads.apache.org/iotdb/KEYS",target:"_blank",rel:"noopener noreferrer"}},[t._v("KEYS "),a("OutboundLink")],1),t._v(".")])])}),[],!1,null,null,null);e.default=r.exports}}]);