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
UltraJSON 2.0.0 release checklist #352
Comments
I'm happy to help. I've added @rstms and @hugovk to test.pypi.org. @cgbystrom needs to create an account on that site before they can be added. |
I suggest we use Github Actions with supports Win, Mac and Linux and is nicely integrated with Github. A single file can setup and test everything. I can help in this direction. I would add to the list that wheels are needed! right now is one of the hurdles we are experiencing with Spyder and PyLS (this project is also used by many other IDEs) We really want to help and contribute to bringing this project up to date so if you could also add me as contributor I could start the work on the CI. Thanks! |
I went through the PR listed when I forked and established the |
@goanpeca GHA would be great! As would wheels! There's already a GHA workflow for testing here: .github/workflows/test.yml, and a PR to add a lint workflow in #354. So just a new thing for deploying is needed. I don't have access to add anyone to PyPI or TestPyPI, @segfault please could you add @goanpeca to TestPyPI? Looks like same username. Then we get things moving. For reference, the wheel building/uploading in @segfault's fork is done here: https://github.com/segfault/ultrajson/blob/master/.travis.yml |
I've created #357 to autodeploy to TestPyPI for on non-tagged merges to master, and to PyPI for tags. I wanted to get something ready so we can get a release out soon, and I've used Travis for this before, but I'd still be very happy to change this over to GHA when ready. And it lays some useful groundwork for that. It will generate an sdist and a bdist_wheel. I'm not sure exactly what sort of wheel it will create, I suggest we have a look at TestPyPI when it's merged, and we can decide whether to keep it, or remove it pending #219. Wheels are important for UltraJSON, but I'd suggest we don't hold off an sdist-only release until we've got that set up. Even if we do an sdist-only release first, that's on par with the last release 4 years ago and we can make a new release (or just upload wheels) as soon as we're ready with that. (Release early, release often!) @segfault Do you think you could delete the test releases at https://test.pypi.org/project/ujson/#history? It might be confusing to see 2.1.x versions when #357 will be putting 1.36.x and 2.0.x files there. Thanks! |
Just an idea: Based on the commit message of eb7d894…
…the upcoming 2.0.0 may have different characteristics with regard to both correctness and performance compared to ancestor 1.35. I see a window in Git history that could make for a release 1.36 — in case you want to make some — that would be close to 1.35 and usable, e.g. in benchmarks. Here's a complete list of candidate commits — most recent on top — to base a 1.36 release on in case you want to make some:
What do you think? |
Thanks for the suggestion, and for checking this. My feeling is, that at this stage of the project, it would be simpler and better to move ahead with 2.0.0. I'm not sure of the benefits of making an incremental 1.35, as the earlier maintainers had already merged breaking changes (as seen by the major version bump in 7b5dc31), and efforts are best put in moving forward. |
I also think moving to 2.0 would be the best course of action for bringing this project back to life :-) |
OK, looks like everything that can be merged right now is merged. We don't have wheels yet, but I think I think we're ready to do a release. Let's say version 1.36.dev87 on TestPyPI is the release candidate, to be released as 2.0.0. Please could you give it a go? If there's no major regressions in a few days, let's do the release.
Draft release notes: Added
Changed
Removed
Fixed
|
This is the main reason why the Spyder team started the thread on the status of the project. So this release unfortunately will not solve our issues :-( (on windows) |
Sounds great! 🎉
Does not work (neither with 2.7 nor 3.7): # pip install -i https://test.pypi.org/simple/ ujson==1.36.dev87
[..]
ERROR: No matching distribution found for setuptools>=40.8.0
[..] Prior # pip install git+https://github.com/ultrajson/ultrajson && python -c 'import ujson; print(ujson.loads("[1, 2]"))'
Looks pretty good to me 👍 |
Thanks, let's double check the TestPyPI installation in #366. |
OK, this is the correct command, need to let it fetch other dependencies from the main PyPI:
Re: https://packaging.python.org/guides/using-testpypi/#using-testpypi-with-pip I've fixed the command in #352 (comment). Thanks for checking! |
Sorry for cross-posting, but: |
Amazing to see this project resurrected! When are you planning to release the new version? Your checklist looks done 🙂 |
🚀 UltraJSON 2.0.0 released! Thanks everyone! Let's try and get wheels included for the next one: #219. |
Seeing as it's been over 4 years since the last release, and because support some EOL Python versions have been dropped in that time, I propose the next release should bump to version 2.0.0. Python 2.7 support should be retained for this one.
Some things that come to mind to make a new release:
Move https://github.com/esnme/ultrajson to https://github.com/ultrajson/ultrajson
Review and merge open PRs
Get access to https://pypi.org/project/ujson/
Get access to https://test.pypi.org/project/ujson/
Set up Travis CI to deploy to TestPyPI on merge to master (to test the release machinery) and to PyPI on tags
Anything else?
The text was updated successfully, but these errors were encountered: