nx10 / httpgd

Asynchronous http server graphics device for R.
https://nx10.github.io/httpgd
GNU General Public License v2.0
368 stars 19 forks source link

httpgd 2.0 #111

Closed nx10 closed 1 year ago

nx10 commented 2 years ago

This PR tracks my progress towards the major restructuring described in https://github.com/nx10/httpgd/issues/92#issuecomment-1055800004 .

This is a major rewrite and I decided to take this opportunity to make many breaking API changes (hence the 2.0 instead of 1.4).

~There is still a lot to do and I do not recommend testing the code yet, but I will update this description once it is.~

Update 1:

httpgd will break up into two R packages and 4 repositories to increase maintainability:

Roadmap to httpgd 2.0 / unigd 1.0 release:

Still not ready for testing, but getting closer.

Update 2:

unigd is getting closer to stabilization. I decided to fully implement the binary API in C instead of C++ which was far more time intensive, but should future proof everything (C++ standard can be increased independently; languages like C, Rust or Zig can be used to interface with unigd...). Also added a base64 PNG renderer to unigd.

Update 3:

The release is coming closer.

If you want to test the development version please install the newest version of unigd first and then the unigd branch of httpgd:

remotes::install_github("nx10/unigd")
remotes::install_github("nx10/httpgd@unigd")

Edit: If you find any bugs or have feedback or suggestions just post them as a comment to this PR. As soon as this is merged I will migrate issues to the respective repos.

nx10 commented 1 year ago

I consider this stable enough for widespread testing now and will merge when the CI is finished. There have been a number of bug fixes in the last couple of ~weeks~ months so I think we should test and release 2.0 without waiting for me to finish the new httpgd-client. Once the unigd/httpgd is released on CRAN subsequent non-breaking releases should be much easier.