# Upgrade guide

## Upgrading from 1.1

See discussion in [Github issue](https://github.com/petalframework/petal_pro/issues/14).

Version 1.2 is a large upgrade over 1.1. It features a number of added features as well as some folder reorganization to help with the upgrade process in future. We also have run the new mix formatter which changed a lot of files. Unfortunately, this means upgrading existing projects from 1.1 to 1.2 is quite difficult.&#x20;

### Options

#### Copy your files into a fresh 1.2 project

If you haven't changed too many existing file and added mostly new ones, you could start a fresh 1.2 project and migrate over the work you've done on the 1.1 project. This is likely the easiest route.

#### Attempt a git merge

```
git remote add petal_pro git@github.com:petalframework/petal_pro.git
git fetch petal_pro
git merge petal_pro/main --allow-unrelated-histories
```

Comment from a Pro user:

* Use rename\_phoenix\_project.sh to rename back to PetalPro
* rsync -r --delete --exclude=.git \~/code/petal\_pro-1.3.0/ \~/code/your-app
* git checkout HEAD path/to/files/rsync/deleted/but/shouldnt/have (I used --delete with rsync so I'd know about files that were removed, for example, I think some of the org stuff was moved, and I don't want cruft)
* git add -p
* Use rename\_phoenix\_project.sh to rename back to your app name

#### Git diffing

Comment from a Pro user:&#x20;

The easiest way for me is to create a fresh project from the updated petal\_pro, rename it to the same name as your existing project, and then run a diff tool like Araxis merge against the root directories. As long as you have mostly added your own files and not modified the template files much it doesn't take too long. You can either merge the template changes into your existing project (better for git history) or merge your customizations into the fresh project.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.petal.build/petal-pro-documentation/v1.3.0/upgrade-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
