-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Greetings,
Wizards have foretold that May 28, 2025 marks the release of Magic
Wormhole version 0.19.0.
Magic Wormhole is a Python library and CLI tool to securely get
arbitrary data from one computer to another using short, one- time,
human- pronounceable codes and end-to-end encryption.
The library allows use of the lower-level protocol for things besides
file-transfer.
In this release are the following changes since 0.18.2:
* Add a "status" feedback API for Dilation (#591, @meejah)
* use new Status API to notify a sending user when a code is consumed (#575, @shapr + @meejah)
* add support for Ping/Pong timeouts in Dilation, improving re-connection speed (#590 @meejah)
* documentation improvements (#614, #615 @shapr + @meejah)
* improve Dilation version negotiation (#606, #611 @shapr + @meejah)
* convert test-suite to pytest (#603, #610 @shapr + @meejah)
* resize progress bar properly (#622 @shapr)
* Drop support for Python 3.9, upgrade github-actions (#596 @meejah)
* add a contribution guide (#597 @meejah)
* INCOMPAT: "sdist" files move to an underscore, so the source-package name is
now "magic_wormhole-0.19.0.tar.gz" (the wheel files always had an underscore).
This is because setuptools v69.3.0 in 2024 implemented PEP 625 from 2020.
You can find the release on PyPI:
https://pypi.org/project/magic-wormhole/
More information can be found:
https://magic-wormhole.readthedocs.io/en/latest/welcome.htmlhttps://github.com/magic-wormhole/magic-wormhole
thanks,
meejah
-----BEGIN PGP SIGNATURE-----
iQFFBAEBCgAvFiEEnVor1WiOy4id680/wmAoAxKAaacFAmg33IURHG1lZWphaEBt
ZWVqYWguY2EACgkQwmAoAxKAaaeUtQgAqtR8OfDXclj6YoeLc/Q594uI/ds0fvzA
OCzetbLzUZF0fkFIfyFCHPLvNBD+TYXLYfo0E/pbRPklGxrMcntrgmYFERet2ZA3
p7oUxc79ylEm7Pp9Z5p/1YhYsz8PtrsZd7QPlip9OdBnKC9JAiZWv/F+8BHnNtvg
OTfzK8to2wnPWR/XizFvk4X54p5PkczIo6nWOvscZ3FbtJErqZVTgSrfL9jNFFed
V/GLHU/V1HhkY7zITvwL8+q1reJwymkf2oznJ6/ezgTRYyR3ISwhf5jOHhTlwRl5
SgNwNwlQU2pX4uXWsdTyTcWYMctlHKIcnYxUtiNHpHVgQ+TOTOnxhw==
=wEqZ
-----END PGP SIGNATURE-----
On behalf of the Twisted contributors I announce the release candidate of
Twisted 25.5.0.
The main reason for this release is the added support to WebSocket via the
wsproto[1].
Thanks Glyph for this great feature.
The release and NEWS file is available for review at
https://github.com/twisted/twisted/pull/12449
Release candidate documentation is available at
https://twisted--12449.org.readthedocs.build/en/12449/
Wheels for the release candidate are available on PyPI
python -m pip install Twisted==25.05.0rc1
Please test it and report any issues here on GitHub PR
If nothing comes up in the next few days, 25.05.0 will be released based on
the latest release candidate.
I would like to use this opportunity and thank https://thinkst.com/ and
https://www.sftpplus.com/ for the ongoing financial support.
Regards
[1] https://github.com/python-hyper/wsproto/
--
Adi Roiban
Hi all
We are fortunate to be part of the Python Software Foundation (PSF) and
even more fortunate to receive donations from Thinkst [1] and from various
organizations via Tidelift and GitHub Sponsors [2].
Summary:
* At the start of 2024, cash on hand for the Twisted project was at
~$27,000 USD.
* We plan to have Glyph as a paid maintainer, 5 hours a week at $100/hour.
* Work will focus on code review, merge of PRs, documentation
* The paid maintainer will keep the community updated on the progress via
blog posts.
* Anyone is invited to decide the future of the Twisted project
--------
At this point only I and Glyph were involved in the discussions / decision
making with the PSF.
I know that the communication was not ideal.
We have quarterly meetings with the PSF.
If anyone wants to participate, let us know and we will ask PSF to send you
an invitation for the next meeting
The next meeting is scheduled for 7th of July, 16:00 UTC.
-------------
We plan to spend that money to pay for a maintainer, 5 hours a week at
$100/hour,
not to exceed our current budget.
The plan is to use the majority of the time to do reviews and merge any PRs
that are very close to the point where they can be merged.
The maintainer will write a public report / blog post that will support the
person/people reviewing/approving the invoices.
In this regard, the paid maintainer will also do a bit of community
management work.
Glyph has agreed to start working as a paid maintainer and he is available
starting with June 2025
--------------
I wish that in the near future we can increase the number of sponsors and
the number of paid maintainers.
For now the only maintainer that expressed the desire to help with paid
maintainer work was Glyph. If you would like to work as a paid maintainer,
let us know.
For now, the only public sponsors are Thinks and SFTPPlus [3]
To disclose, I partially own SFTPPlus.
If anyone has any suggestions or comments, please let us know.
Cheers
[1] https://thinkst.com/
[2] https://github.com/sponsors/twisted
[3] https://www.sftpplus.com/
--
Adi Roiban
Hello friends,
The native websockets branch that I've been puttering with is now available for review, so I'm asking for someone to review it:
https://github.com/twisted/twisted/pull/12397/files
I'm excited to get this landed and released. WebSockets are probably the most popular and common form of bidirectional asynchronous communication happening on the internet today, and it's been a bit of a weakness that we don't have a simple showcase for that in Twisted. IMAP and SSH are great to have, but they're not the first thing people go looking for these days when they're looking to do something async.
We have of course had some access to the WebSockets world via Autobahn, but first-party integration will have some significant advantages:
We can put a WebSockets example onto our minimal-examples showcase on twisted.org, because the example is similarly very small, and now included with no imports from other libraries. This is the major thing; a dozen or so lines of code illustrating how to push data from Twisted into a browser that a user can immediately interact with is an important missing piece of the pitch of Twisted both as a library and as a web server.
There will be a much simpler onboarding experience to this functionality. Autobahn is still there for anyone who wants WAMP or XBR, but users won't be presented with those confusing concepts when just trying to do simple server-side push.
Since the gross private API internals that we rely upon are our own, we don't have the version-skew problems that Autobahn does <https://github.com/crossbario/autobahn-python/blob/7bc85b34e200640ab98a41cf…>, nor do we need overhead like anyio.
Since this is a much more recent implementation it also comes with modern niceties like coroutines rather than inlineCallbacks, comprehensive type annotations, and 100% code coverage.
This should also be a pretty easy layup of a review:
There is full code coverage and I believe full public API documentation coverage.
There's new narrative documentation <https://twisted--12397.org.readthedocs.build/en/12397/web/howto/web-in-60/w…> explaining how to use it.
The protocol implementation itself is delegated to the existing, minimal, sans-io wsproto library <https://github.com/python-hyper/wsproto> so there's not a lot of protocol implementation stuff to review.
The tests are all the new, good kind (i.e.: no native sockets, no real reactors), using IOPump (and improving that infrastructure a bit as I passed through it), with (hopefully!) no new flakiness or weird slowdowns.
The downside is that it is brushing up against 1500 changed lines, with most of that being additions, so it is on the longer side.
Thanks in advance for volunteering,
-g