Skip to content

Commit

Permalink
add migration guide
Browse files Browse the repository at this point in the history
  • Loading branch information
jonaslagoni committed Oct 9, 2023
1 parent 340e842 commit 2fd759a
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion migrations/migrate-to-version-6.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
# Migrating to version 6

In version 6 and onwards, all bindings will now be validated along side the specification. This means that documents that was valid before might not be valid anymore if the bindings in their document is incorrect.
In version 6 and onwards, all pre-release AsyncAPI specification versions will be released as a regular feature request, before the AsyncAPI specification itself is released.

The pre-release version will be released as if it was not a pre-release, for example for AsyncAPI 3.0, it will be released as normal:
```js
module.exports = {
'schemas': {
...
'3.0.0': require('./schemas/3.0.0.json'),
},
'schemasWithoutId': {
...
'3.0.0': require('./schemas/3.0.0-without-$id.json'),
}
};
```

However, while the it's still a pre-release, the underlying schemas CAN contain breaking changes from version to version, up until the AsyncAPI specification is released. This means that one AsyncAPI document using v3 in the pre-release stage might be valid in `6.0.0`, but invalid in the `6.1.0`. This ONLY applies to pre-release schemas, and NOT regular ones that is set in stone.

If you want to make sure you don't use a schema not released yet, you have to whitelist which versions you allow in your tool.

0 comments on commit 2fd759a

Please sign in to comment.