On the Road
You may have noticed some releases last week. It’s time to share with you what is coming next!
Releases Last Week
Last week, we made releases for many projects. If you didn’t know, you can have a look at the different changelogs:
These releases include a lot of bug fixes and new features. For tinycss2 and cssselect2, you’ll also find a new documentation structure and packaging system.
Don’t hesitate to tell us your impressions, and to open tickets if you encounter any bugs! 😄
What’s Coming After That?
For the next releases, our main goal is to get rid of Cairo for WeasyPrint 🎉.
This work has already begun on the pydyf
branch.
To remove Cairo, we are writing our own PDF generator called
pydyf
. You can see its evolution on
this GitHub repository.
For now, almost everything that WeasyPrint actually does is implemented with pydyf. It mainly misses SVG support, which means that we have to rewrite CairoSVG, but for pydyf!
Removing Cairo will allow us to have a better control on PDF genaration and to resolve a lot of issues related to:
- WOFF support,
- linear gradients,
- repeated gradients,
- kerning,
- and more.
And After That?
After Cairo removal, there are a lot of features and improvements we want to work on, like:
- advanced PDF formats and features: X/3, PDF/A, accessibility, digital signature…;
- documentation structure: new structure like tinycss2 and cssselect2;
- package creation: flit packaging;
- CMYK support: CMYK images, color profile;
- RTL and bidi support: writing mode, rtl support;
- paged layout features: page floats, footnotes, page groups, named areas, page breaks;
- modern layout: grid, a better flex and columns support;
- performance: long documents, long tables, memory leak…;
- CSS features, functions and keywords: inherit, calc, string, var, MathML, ruby, first-line.
We don’t know yet in which order it will be done. Don’t worry: we’ll ask for your opinion at the appropriate time 📆.
As you can imagine, all of this will require a lot of work and we won’t fix a date for the main goal (or the other ones after), as we don’t work full-time (yet!) on it. But you can make things go faster by supporting us on OpenCollective 😉.