{"action":"created","issue":{"url":"https://api.github.com/repos/domaindrivendev/Swashbuckle.AspNetCore/issues/671","repository_url":"https://api.github.com/repos/domaindrivendev/Swashbuckle.AspNetCore","labels_url":"https://api.github.com/repos/domaindrivendev/Swashbuckle.AspNetCore/issues/671/labels{/name}","comments_url":"https://api.github.com/repos/domaindrivendev/Swashbuckle.AspNetCore/issues/671/comments","events_url":"https://api.github.com/repos/domaindrivendev/Swashbuckle.AspNetCore/issues/671/events","html_url":"https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/671","id":310105762,"number":671,"title":"Add support for OpenAPI v3","user":{"login":"darrelmiller","id":447694,"avatar_url":"https://avatars2.githubusercontent.com/u/447694?v=4","gravatar_id":"","url":"https://api.github.com/users/darrelmiller","html_url":"https://github.com/darrelmiller","followers_url":"https://api.github.com/users/darrelmiller/followers","following_url":"https://api.github.com/users/darrelmiller/following{/other_user}","gists_url":"https://api.github.com/users/darrelmiller/gists{/gist_id}","starred_url":"https://api.github.com/users/darrelmiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darrelmiller/subscriptions","organizations_url":"https://api.github.com/users/darrelmiller/orgs","repos_url":"https://api.github.com/users/darrelmiller/repos","events_url":"https://api.github.com/users/darrelmiller/events{/privacy}","received_events_url":"https://api.github.com/users/darrelmiller/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":6,"created_at":"2018-03-30T16:15:35Z","updated_at":"2018-04-18T00:32:19Z","closed_at":null,"author_association":"NONE","body":"I'm opening this issue to judge interest/openness to me submitting a PR for adding support for OpenAPI V3.  \r\n\r\nThe OpenAPI V3 model library we have been working on [here](https://github.com/microsoft/openapi.net) is getting very close to a 1.0 release and from my initial investigations around the Swashbuckle code base it appears like it would be fairly straightforward to replace the existing SwaggerDocument class with the model from the OpenAPI.NET library.  Even though it is a V3 model, it can still export V2 documents in both JSON and YAML format, so we should be able to add the functionality in a non-breaking way.\r\n\r\nThoughts? Interest?\r\n"},"comment":{"url":"https://api.github.com/repos/domaindrivendev/Swashbuckle.AspNetCore/issues/comments/382203220","html_url":"https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/671#issuecomment-382203220","issue_url":"https://api.github.com/repos/domaindrivendev/Swashbuckle.AspNetCore/issues/671","id":382203220,"user":{"login":"darrelmiller","id":447694,"avatar_url":"https://avatars2.githubusercontent.com/u/447694?v=4","gravatar_id":"","url":"https://api.github.com/users/darrelmiller","html_url":"https://github.com/darrelmiller","followers_url":"https://api.github.com/users/darrelmiller/followers","following_url":"https://api.github.com/users/darrelmiller/following{/other_user}","gists_url":"https://api.github.com/users/darrelmiller/gists{/gist_id}","starred_url":"https://api.github.com/users/darrelmiller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/darrelmiller/subscriptions","organizations_url":"https://api.github.com/users/darrelmiller/orgs","repos_url":"https://api.github.com/users/darrelmiller/repos","events_url":"https://api.github.com/users/darrelmiller/events{/privacy}","received_events_url":"https://api.github.com/users/darrelmiller/received_events","type":"User","site_admin":false},"created_at":"2018-04-18T00:32:19Z","updated_at":"2018-04-18T00:32:19Z","author_association":"NONE","body":"@domaindrivendev  I did look and realized that there are few approaches with varying degrees of benefit and work.  I could embed the OpenApiDocument inside the existing SwaggerDocument and output V3 versions of OpenAPI.  It would be very little work but it would not enable taking advantage of any of the V3 features.  So it would be very much a short term solution, but it would be non-breaking.\r\n\r\nThe other approach would be to add a new project Swashbuckle.AspNetCore.OpenApiGen.  This would require re-implementing/duplicating quite a bit of infrastructure.  But then the two models would live side by side and would be non-breaking.\r\n\r\nThe final approach which I had originally considered would be to just replace the SwaggerDocument with OpenApiDocument and make the adjustments where code interacts with the OpenApiDocument.  This would be breaking for any other library that takes a dependency on Swashbuckle.  When I was looking that this I had decided that making breaking changes was going to be a non-starter, but now thinking about it again, perhaps Swashbuckle is more self-contained than most libraries and maybe it isn't a major problem to make this breaking change?  "}}
{"actor":{"display_login":"darrelmiller"}}