github.com/dahs81/otto@v0.2.1-0.20160126165905-6400716cf085/website/source/docs/install/backwards-compatibility.html.md (about)

     1  ---
     2  layout: "docs"
     3  page_title: "Backwards Compatibility"
     4  sidebar_current: "docs-install-bc"
     5  description: |-
     6    Information about the backwards compatibility promise for Otto.
     7  ---
     8  
     9  # Backwards Compatibility
    10  
    11  When discussing backwards compatibility for Otto, there are usually two
    12  areas of primary concern: Appfile compatibility, and the safety of deployed
    13  applications.
    14  
    15  **Appfile**. Appfile syntax compatibility is not promised until version 1.0.
    16  Despite this, we don't plan on dramatically changing the format and any
    17  changes will be clearly documented in the
    18  [CHANGELOG](https://github.com/hashicorp/otto/blob/master/CHANGELOG.md).
    19  Due to Otto's model of compiling the Appfile, any backward incompatible
    20  changes won't affect existing Otto environments until a recompile
    21  occurs (via `otto compile`). This minimizes the affect of Otto upgrades
    22  on Appfiles.
    23  
    24  **Builds and Deployments**. Because Otto deploys your applications, it is
    25  important to understand the implications of upgrading Otto and whether your
    26  deploys will break or incur downtime. Safe upgrades for infrastructure and
    27  deployments aren't promised for Otto 0.1, but are a target for 0.2. For 0.1,
    28  please consider builds and deployments good for demos and hobby projects.
    29  You can expect with 0.2 that your deployments may be destroyed. However,
    30  0.2 should include features for safe upgrades from that point forward.
    31  
    32  **Other**. For internal folder structures such as `~/.otto.d`, `.otto`,
    33  and `.ottoid`, Otto keeps track of data format versions and will silently
    34  upgrade these. Note that once they're upgraded, an older version of Otto
    35  cannot safely be used. There are a lot of checks in Otto
    36  to verify this doesn't happen, and Otto should give you an error if it
    37  attempts to read data generated by a newer version.