Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Work on 3.0 release #691

Closed
jonaslagoni opened this issue Jan 19, 2022 · 52 comments
Closed

Work on 3.0 release #691

jonaslagoni opened this issue Jan 19, 2022 · 52 comments

Comments

@jonaslagoni
Copy link
Member

jonaslagoni commented Jan 19, 2022

Release 3.0.0 is scheduled for September.

Detailed info

Kick-off

Meetings

Previous meeting list:

Next meeting: asyncapi/community#857

Progress 🔥

All issues for v3 are now complete 🔥

"Completed"

All completed, either introduced, rejected, or not being to work on:

Tooling progression

This is the list of tooling issues and PR's that are tied together with the major version spec changes.

General Todo list

The Todo list is what is needed to be completed and in which order that is outside the general progress list.

I want to champion something!

First of all, thank you! 🙇

We use the following milestone https://github.com/asyncapi/spec/milestone/18 to track all the issues that needs to have been considered before we can release 3.0. So pick one the issues that needs champion, and drive it forward!

Reach out to slack, in the issue, or our regular meetings if you need anything!

If you need anything changed in this progress issue, leave a comment below with what to update 🙂

@magicmatatjahu
Copy link
Member

I don't think so that I should handle #596 I created issue but I don't know if I can find the time to do this, I would rather take these schema formats as well as #583 if anyone wants to take it, go ahead. @smoya maybe you? I know you know a lot about these changes in the new drafts and what impact they would have.

@damaru-inc
Copy link
Contributor

I'd like to see schema versioning considered as a feature in 3.0. Please see this issue: #697

@magicmatatjahu
Copy link
Member

I think that we should create branch for that 3.0.0 release like next-branch or 3.0.0-release and start creating PR proposals. I don't know if that topic was raised in other issue/discussion. What do you think?

@derberg
Copy link
Member

derberg commented Jan 27, 2022

yeah, I think we definitely cannot work with branch focused on given release month, and doo next-major as it is supported by semanic-release package. I think I talked about it somewhere already...or it is just deja vu. @magicmatatjahu maybe open a PR against the release_process document and suggest a change on what we should do when we know major release is approaching.

@jonaslagoni
Copy link
Member Author

I like next-major as well, always the same regardless of 3.0 or any other.

@char0n
Copy link
Collaborator

char0n commented Feb 4, 2022

I propose #699 to be added to the list for 3.0.0.

@smoya
Copy link
Member

smoya commented Feb 9, 2022

I think we also need to add #618 even though it has been split in several tasks, but still there are some pending work.

@jonaslagoni
Copy link
Member Author

I propose #699 to be added to the list for 3.0.0.

Added!

I think we also need to add #618 even though it has been split in several tasks, but still there are some pending work.

Added, wrapped the related issues for it 🙂

@jonaslagoni
Copy link
Member Author

jonaslagoni commented Mar 2, 2022

@derberg I have created a list of what is missing in terms of branches and settings, as I dont have any permissions in: bindings, spec and spec-json-schema can you take those repositories?

I can take the generator 🙂

PR here: asyncapi/generator#755

@magicmatatjahu
Copy link
Member

@jonaslagoni I don't think releasing 3.0.0 spec as a prerelease makes sense at this time. I would rather just have a branch and release the first prerelease in a few months.

@derberg Could you create such a branch?

@derberg
Copy link
Member

derberg commented Mar 3, 2022

I don't think releasing 3.0.0 spec as a prerelease makes sense at this time

but the idea is just to release it when there is something merged into release branch, some feature. what do you mean?

@derberg Could you create such a branch?

@jonaslagoni
Copy link
Member Author

jonaslagoni commented Apr 13, 2022

As agreed in #734 (comment) we should use next-major-spec branches when related to spec changes. This is the current todo by one of the spec code owners cc: @derberg @fmvilas @dalelane:

  • "Change" the name of next-major branch in spec repo to next-major-spec.
  • Add branch next-major-spec to spec-json-schema repo.
  • Add branch next-major-spec to bindings repo.

@fmvilas
Copy link
Member

fmvilas commented Apr 13, 2022

All the three are done now @jonaslagoni

@jonaslagoni
Copy link
Member Author

jonaslagoni commented Apr 21, 2022

Next couple of blocking issues to continue:

cc code owners of spec: @derberg @fmvilas @dalelane

cc code owners of parser: @derberg @fmvilas @magicmatatjah

@char0n
Copy link
Collaborator

char0n commented May 4, 2022

@magicmatatjahu
Copy link
Member

@jonaslagoni Could you add to the list [3.0.0] Allow references to be used in any part of the specification I can me mentor it of course.

@jonaslagoni
Copy link
Member Author

@magicmatatjahu are #795 completely done regarding the schema files and parser implementation?

@jonaslagoni
Copy link
Member Author

@magicmatatjahu what is the status with #622?

@jonaslagoni
Copy link
Member Author

jonaslagoni commented Mar 2, 2023

An update from the last meeting: asyncapi/community#599

Moved from the backburner to WIP:

Moved from in progress to done:

Moved to the backburner:

Added items to todo list:

Status updates:

@smoya
Copy link
Member

smoya commented Mar 25, 2023

I updated the In Progress list with the following:

@smoya
Copy link
Member

smoya commented Mar 27, 2023

@jonaslagoni
Copy link
Member Author

jonaslagoni commented Mar 29, 2023

A new update to the work.

Added final release date, June.

New general todo items
Added new general todo items.

Moved to tooling todo list

Moved the following general todo items to tooling todo:

Removed backburner section
Because of the freeze period, there is no longer any backburners..

Backburner

PRs and issues that are on the backburner without much progress, but need to be kept track of:

@jonaslagoni
Copy link
Member Author

Here is the status of most of the tools and what is required to support v3. This generally does not take into account enabling features that are introduced in v3, unless it's required.

  • Parser JS
  • Generator
    • Update parser dependency once released (automated)
  • React components
    • Switch over to the new intent API
    • Update parser dependency once released (automated)
  • HTML template
    • Switch over to the new intent API (the generator already support it)
    • Update AsyncAPI react component dependency once released
  • Modelina
    • Update parser dependency once released (automated)
    • Make small change to the input processor to enable v3
  • CLI
    • Update parser dependency once released (automated)
    • Update all AsyncAPI dependencies once they are released with AsyncAPI v3 support (automated)
    • Potentially, disable certain commands if they don't support v3.
  • Studio
    • Update parser to v2 (fix: update parser-js to v2 studio#615)
    • Update parser dependency once released (automated)
    • Update all AsyncAPI dependencies once they are released with AsyncAPI v3 support (automated)
  • Server API
  • Glee
    • Switch to new parser API
    • Update all AsyncAPI dependencies once they are released with AsyncAPI v3 support (automated)
  • Converter JS
  • Markdown template
  • Java Spring template
    • Switch over to the new intent API (the generator already support it)
  • Go watermill template
    • Switch over to the new intent API (the generator already support it)
    • Update Modelina dependency (automated)
  • Java Spring cloud stream template
    • Switch over to the new intent API (the generator already support it)
  • Node.js template
    • Switch over to the new intent API (the generator already support it)
  • TS Nats template
    • Switch over to the new intent API (the generator already support it)
  • .NET Nats template
    • Switch over to the new intent API (the generator already support it)
  • Python Paho template
    • Switch over to the new intent API (the generator already support it)
  • VScode AsyncAPI preview
    • Update to new AsyncAPI React component, once released
    • Update snippets to be dynamic based on v2 and v3
  • Cupid
    • Switch over to the new intent API
    • Update parser dependency once released (automated)
  • AVRO schema parser
    • Support new schema union and schema format
    • Update parser dependency once released (automated)
  • OpenAPI schema parser
    • Support new schema union and schema format
    • Update parser dependency once released (automated)
  • Raml schema parser
    • Support new schema union and schema format
    • Update parser dependency once released (automated)
  • Diff
    • Switch over to the new intent API
    • Update parser dependency once released (automated)
  • Bundler
    • Update to support v3 + v2 structure

@jonaslagoni
Copy link
Member Author

jonaslagoni commented May 24, 2023

That means that tasks TODO are the following: (in that order with the blocked tasks tabbed)

  • parser: Add v3 models (feat!: add support for AsyncAPI v3 parser-js#526)
  • Studio: Update parser to v2
  • react components: Switch over to the new intent API
    • HTML template: Update AsyncAPI react component dependency once released
    • VScode AsyncAPI preview: Update to new AsyncAPI React component, once released
    • Studio: Update to new react component
  • Converter JS: Update to support v3
  • HTML template: Switch over to the new intent API
  • CLI: Potentially, disable certain commands if they don't support v3.
  • parser: Apply changes to traits
  • parser: Apply changes to schemas
    • AVRO schema parser: Support new schema union and schema format
    • OpenAPI schema parser: Support new schema union and schema format
    • Raml schema parser: Support new schema union and schema format
  • VScode AsyncAPI preview: Update snippets to be dynamic based on v2 and v3

These are the rest of updates to do:

  • Modelina: Make small change to the input processor to enable v3
  • Server API: Switch to new parser API
  • Glee: Switch to new parser API
  • Cupid: Switch over to the new intent API
  • Diff: Switch over to the new intent API
  • Bundler: Update to support v3 + v2 structure
  • Markdown template: Switch to new parser API
  • Java Spring template: Switch over to the new intent API
  • Go watermill template: Switch over to the new intent API
  • Java Spring cloud stream template: Switch over to the new intent API
  • Node.js template: Switch over to the new intent API
  • TS Nats template: Switch over to the new intent API
  • .NET Nats template: Switch over to the new intent API
  • Python Paho template: Switch over to the new intent API

I am gonna create 1 issue in each repository with the list of potential changes needed to support v3, and then invite all codeowners to help push this forward.

@jonaslagoni
Copy link
Member Author

As more and more people ask for updates on v3, I thought it made sense to do an official update post and give the user a little sneak peek on a 3.0 document

Gonna do it here: asyncapi/website#1757

@jonaslagoni
Copy link
Member Author

I am also proposing we use completed tasks as release date for 3.0: #944

@jonaslagoni
Copy link
Member Author

I am also adding a Create retrospective meeting for 3.0 once released to discuss improvements to major version releases to ensure we discuss what needs to be documented, changed, improved, or stay the same for the next major version.

@jonaslagoni
Copy link
Member Author

jonaslagoni commented Jun 13, 2023

Somehow the pathname and host change got missed in the list. Added it to the completed list of changes.

@jonaslagoni
Copy link
Member Author

Small changes which have gone unnoticed by me, we discussed them in the meetings, just haven't documented them here:

@smoya
Copy link
Member

smoya commented Jun 22, 2023

Here is the worklist I am currently focusing on

Would you mind "assigning" each of those in the list located in the issue description? It will improve readability and knowing who is working on what. I want to pick some tasks but I have to check if you took them already.

I did that + added the Setup website for v3 and Update all spec examples points to the main list and assigned them to you

@smoya
Copy link
Member

smoya commented Jun 22, 2023

In line with @jonaslagoni, here is the initial list of what I'm currently focused on:

@smoya
Copy link
Member

smoya commented Jun 22, 2023

In case someone else wants to help and pick up tasks for v3, and based on the list of tasks that are blockers for releasing AsyncAPI v3, those are the unassigned ones:

If no one takes them, I will after completing the ones I picked up.

@jonaslagoni
Copy link
Member Author

All RFC's for v3 have now reached RFC-3, meaning they are completed 100% :blobblewobble:

@jonaslagoni
Copy link
Member Author

I am gonna close this issue down now as the release process is complete. Thank you to everyone who participated in this release ❤️

The last point is the Create retrospective meeting for 3.0 once released to discuss improvements to major version releases. which I am gonna create an issue for next week to discuss when it should happen. Probably gonna at the start of the next year, lets see ✌️

@jonaslagoni
Copy link
Member Author

The retrospective can be found here: #1012

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants