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
Path to Releases #707
Comments
Since the API is very small you could also distribute the library as a static library so people can statically link it in their programs. |
@justjosias We have made quite a bit of progress since version 0.10.0. Are there any additional milestones we need to hit before we create the v0.11.0 release? @lolgab Really good idea. That can make it even easier to integrate into a preexisting build system. I know how to make a static lib on windows, but I will need to research it on Linux and MacOS a little more... though I think it is pretty simple. |
@dandeto The only blocking issue I see is figuring out the build system for Windows, since the behavior changed. What @abemedia mentioned about DLLs previously not being required to build has me concerned that this is too heavy a change. Can you elaborate? What do you think? |
@justjosias Thank you for pointing that out. I misunderstood the |
I think we are almost ready to make a release. We've done many fixes and improvements and changed enough behavior (particularly with Final changes to the build system should be made soon, including deciding how exactly to make the process easier for Go users and for those who want to use a static library. |
Since I have been working on the build script, I can make any improvements needed. What do you think should be changed for those use-cases? |
They're on my list! I've gotten very busy recently, but will get back to the code soon. |
When was 0.10.0 released? I have seen version 0.10.0 mentioned before but no tag for it. |
@SteffenL There has been no official 0.10.0 release. I was using it to refer to the general state of the repo when we started working on it, since that's what I believe the previous maintainers called it. It's not clear, so I was just going to bump the version number and start from there. |
@justjosias Oh, I see. In that case, is anything stopping us from using 0.10.0 as the next version instead 0.11.0? |
I am positive to preparing for a release and focusing more resources on improving stability. Here are my immediate thoughts on the proposal. I realize that the following may be a bit too much so feel free to disregard irrelevant parts.
Since 0.10.0 has never been officially released then to me it seems like we would be free to use 0.10.0 as the next version. It would be a nicer starting number but if that comes with complications then I do not mind using 0.11.0 too much. Maybe we need to decide on a few things when it comes to releases:
Anything else?
Agreed. We need at least
It makes sense to distribute prebuilt binaries for Windows. Now that we support both MSVC and MinGW-w64 we will need to decide on a few things:
Anything else?
I would like to see more thought going into API design before we think about a 1.0 release. In my opinion the current API makes it difficult to maintain high quality code, mainly due to questionable error handling and reporting, but also due to overlapping concerns that make features complicated to maintain and is prone to regressions.
To help with any pending decisions, I have the following suggestions.
RemarksPR #766 aims to solve many of the above points by embedding the library's version, introducing version checks, error codes, improved error handling and reporting, wider compatibility, etc. The foundation is there but it is considered to be a draft and I would appreciate more feedback so that we move in the right direction. Given that we have not officially released anything since before the major library rewrite more than two years ago, it could make a lot of sense to consider including #766 in the first release after the library rewrite—after a feedback/improvement cycle of course. |
I don't see a problem with using 0.10.0. I was just wary of using something already informally referred if we changed the API significantly. I can address some of the points related to security:
I don't have any thoughts on those at the moment. MAJOR.MINOR.PATCH is the minimum goal I'm looking towards.
If we can maintain backwards compatibility with minor releases for a while, I think waiting before considering 1.0 is acceptable.
All of those suggestions are reasonable. We need to make a first release for future releases to reference. We should avoid breaking API compatibility with existing |
Could publish webview as a MINGW package for MSYS2? |
It is a cool idea but to do it properly I imagine that the WebView2 SDK and maybe runtime would have to be available as packages as well. Just my immediate thought. |
We need to think about releases now. Currently everyone just uses master and hopes nothing breaks. We try to ensure stability with every change, but sometimes things slip through.
My proposal:
This will help us meaningfully communicate API changes, allow bindings to clearly state which versions they support, possibly backport relevant fixes, and give us a place to distribute official DDL builds.
This is based on @dandeto's proposal in #700.
The text was updated successfully, but these errors were encountered: