> For the complete documentation index, see [llms.txt](https://concordialang.gitbook.io/concordialang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://concordialang.gitbook.io/concordialang/upgrade/breaking-changes.md).

# Breaking Changes

Information about breaking changes.

## From `1.x` to `2.x`

Please read [Issue #56](https://github.com/thiagodp/concordialang/issues/56).

## From `0.x` to `1.x`

### **Concordia Compiler**

1. It changed the way that all the plug-in operations are handled. See [Issue #34](https://github.com/thiagodp/concordialang/issues/34) for details.
2. The behavior of the following plug-in commands were affected:

| COMMAND            | NOW                                                                           | BEFORE                                                                                               |
| ------------------ | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| `plugin-list`      | It lists all the plug-ins **installed for the application**.                  | It listed all the plug-ins **available** in the compiler.                                            |
| `plugin-install`   | It installs a **plug-in and its dependencies**.                               | **Only the plugin's dependencies** were installed, since the plug-in was embedded in the compiler.   |
| `plugin-uninstall` | It uninstalls a **plug-in and its dependencies** using `npm`.                 | **Only the plugin's dependencies** were uninstalled, since the plug-in was embedded in the compiler. |
| `plugin-info`      | It shows information about a plug-in **installed for the application**.       | It shows information about a plug-in **available** in the compiler.                                  |
| `plugin-serve`     | It starts a testing server using a plug-in **installed for the application**. | It started a testing server **available** in the compiler.                                           |

👉 See the [Command Documentation](https://app.gitbook.com/s/-LyZeGFeFI9v0gasbqLP/upgrade/commands.md) to know the commands' syntax.

### **Concordia Language**

No compatibility breaks.

### **Other relevant changes**

External tools used by plug-ins are now installed locally, per project, instead of installed globally. Their direct execution (without using Concordia) is now possible through NPX. For instance, the command `codeceptjs run test.js` must now be executed as `npx codeceptjs run test.js`. This change also allows the installation of different versions of external tools, when needed.

### FAQ

1. *Were there any changes in commands' syntaxes?*

   No, there were not.
2. *Is my configuration file still compatible?*

   It depends. All the properties are still compatible, except for `"plugin"`. Whether your configuration file has that property, you should [update it](/concordialang/upgrade/migration-guide.md).
3. *Is it possible now to install or uninstall a plug-in with NPM ?*

   Yes, it is possible to do both now.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://concordialang.gitbook.io/concordialang/upgrade/breaking-changes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
