Manual upgrade procedure for Zeppelin
Basically, newer version of Zeppelin works with previous version notebook directory and configurations.
So, copying notebook and conf directory should be enough.
Instructions
- Stop Zeppelin: bin/zeppelin-daemon.sh stop
- Copy your notebookandconfdirectory into a backup directory
- Download newer version of Zeppelin and Install. See Install Guide.
- Copy backup notebookandconfdirectory into newer version of Zeppelinnotebookandconfdirectory
- Start Zeppelin:  bin/zeppelin-daemon.sh start
Migration Guide
Breaking changes in 0.8.x
From 0.8, Zeppelin has a new type of permission - Runners
As Runners list is empty in note so everybody can view note although Readers list is not empty. 
To set all your "writers" to "runners":
1. Copy notebook and conf directories to 0.8.0,
2. Move directory docs/assets/themes/zeppelin/note/FixReaders to new notebook directory,
3. Start the new Zeppelin and run note System/Migrate from 0.7.
Upgrading from Zeppelin 0.7 to 0.8
- From 0.8, we recommend to use PYSPARK_PYTHONandPYSPARK_DRIVER_PYTHONinstead ofzeppelin.pyspark.pythonaszeppelin.pyspark.pythononly effects driver. You can usePYSPARK_PYTHONandPYSPARK_DRIVER_PYTHONas using them in spark.
- From 0.8, depending on your device, the keyboard shortcut Ctrl-LorCommand-Lwhich goes to the line somewhere user wants is not supported.
Upgrading from Zeppelin 0.6 to 0.7
- From 0.7, we don't use ZEPPELIN_JAVA_OPTSas default value ofZEPPELIN_INTP_JAVA_OPTSand also the same forZEPPELIN_MEM/ZEPPELIN_INTP_MEM. If user want to configure the jvm opts of interpreter process, please setZEPPELIN_INTP_JAVA_OPTSandZEPPELIN_INTP_MEMexplicitly. If you don't setZEPPELIN_INTP_MEM, Zeppelin will set it to-Xms1024m -Xmx1024m -XX:MaxPermSize=512mby default.
- Mapping from %jdbc(prefix)to%prefixis no longer available. Instead, you can use %[interpreter alias] with multiple interpreter setttings on GUI.
- Usage of ZEPPELIN_PORTis not supported in ssl mode. Instead useZEPPELIN_SSL_PORTto configure the ssl port. Value fromZEPPELIN_PORTis used only whenZEPPELIN_SSLis set tofalse.
- The support on Spark 1.1.x to 1.3.x is deprecated.
- From 0.7, we uses pegdownas themarkdown.parser.typeoption for the%mdinterpreter. Rendered markdown might be different from what you expected
- From 0.7 note.json format has been changed to support multiple outputs in a paragraph. Zeppelin will automatically convert old format to new format. 0.6 or lower version can read new note.json format but output will not be displayed. For the detail, see ZEPPELIN-212 and pull request.
- From 0.7 note storage layer will utilize GitNotebookRepoby default instead ofVFSNotebookRepostorage layer, which is an extension of latter one with versioning capabilities on top of it.
