Skip to content
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

The future of WeasyPrint #1232

Open
grewn0uille opened this issue Oct 12, 2020 · 57 comments
Open

The future of WeasyPrint #1232

grewn0uille opened this issue Oct 12, 2020 · 57 comments

Comments

@grewn0uille
Copy link
Member

Hello!

As you may have noticed, there was some activity on the repo. But no release.
Some "the project is no longer maintained by Kozea". But who?

So today is answer-day!

Like it has sometimes been said, a new organization maintains this project: CourtBouillon.

CourtBouillon is composed of @liZe and myself, @grewn0uille.

You can visit our website by starting with this article, and join us on Twitter, Gitter and OpenCollective :)

Have a nice day!

The CourtBouillon Team 🍲

@bolatuly
Copy link

bolatuly commented Nov 5, 2020

First of all thank you so much for a great repo.

I noticed you are working on your own pdf writer in pydyf branch to remove Cairo, may I know is there any plans on release? How stable this branch is now?

@grewn0uille
Copy link
Member Author

Hello!

After the releases last week, we prepared a roadmap for the projects.

You can have a look at it on our website :)

Have a nice day!

The CourtBouillon team 🍲

@grewn0uille
Copy link
Member Author

Hello!

We just published a quick update on where we are on the "get rid of Cairo" part, what has been done and what still needs to be done.

The CourtBouillon team 🍲

@grewn0uille
Copy link
Member Author

Hello!

We just released WeasyPrint 52.2, one of the last release with Cairo!
We also released pydyf and so the master branch is now working with it.
Cairo version is now on 52.x branch.

You can discover the differences between the two versions on our blog :)

The CourtBouillon team 🍲

@grewn0uille
Copy link
Member Author

Hello!

We sometimes talk about our OpenCollective page. But we never said why we chose OpenCollective nor why donations help to have better software.
It’s finally done in our last article!

The CourtBouillon team 🍲

@liZe
Copy link
Member

liZe commented Feb 5, 2021

More information about Cairo and the future of external dependencies: #841 (comment).

@grewn0uille
Copy link
Member Author

Hello!

Thanks to expert Germany, line-clamp has been implemented in WeasyPrint. You can use this property with the master branch and it has also been backported in the Cairo version.

There is a new release (with Cairo) for this new feature! 🎉

You can read more about this feature in our blog article 😉

The CourtBouillon team 🍲

@grewn0uille
Copy link
Member Author

Hello!

Thanks to Simonsoft, leader() is now implemented in WeasyPrint (only on the pydyf version aka master). You can read more in our blog article 😀

Also, we released WeasyPrint 52.4 (with Cairo). This release fixes a crash occuring with line-clamp and makes ellipsis nicer with hyphenation.

The CourtBouillon team 🍲

@grewn0uille
Copy link
Member Author

Hello!

You may know it (or not), this week is the 10 years anniversary of WeasyPrint 🎉
For this occasion, we just released a beta of version 53!

To know more about this beta, you can read our article 😀

That’s the first release without Cairo. Please give it a try and don’t hesitate to report the bugs you found 🐛

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

grewn0uille commented Apr 23, 2021

Hello again!

We prepared a short survey (CLOSED) to know more about your needs with WeasyPrint.
This survey is open until the end of May.
Your answers will help us to improve WeasyPrint!

Thanks for taking time to answer 😀

The CourtBouillon Team 🍲

@mikerockett
Copy link

I'm so glad that WeasyPrint now supports SVGs in v53. I plan to use the software to create labels with barcodes, and it's just so much more efficient to use an SVG (also reduces file size).

On macOS, I've found v53 to be bug-free so far (using the CLI as I'm interfacing via PHP). The kerning issues appear to be gone, and the output PDF is quite literally perfect in every way.

The only thing I noticed was file size – but this was due to the font being embedded. A tiny label seems to contain the entire font (Inter), resulting in a 1MB file. For the time being, I am using GhostScript to convert the text to outlines, which results a file less than 10% the original size.

As an aside, I also maintain a Laravel package for WeasyPrint and will need to update it to omit the --format argument, as it is no longer included in v53. It would be nice, however, if it would not produce an error when provided…

Great work on this!

liZe added a commit that referenced this issue Apr 28, 2021
@liZe
Copy link
Member

liZe commented Apr 28, 2021

I'm so glad that WeasyPrint now supports SVGs in v53. I plan to use the software to create labels with barcodes, and it's just so much more efficient to use an SVG (also reduces file size).

On macOS, I've found v53 to be bug-free so far (using the CLI as I'm interfacing via PHP). The kerning issues appear to be gone, and the output PDF is quite literally perfect in every way.

Cool! Thanks a lot for the feedback.

The only thing I noticed was file size – but this was due to the font being embedded. A tiny label seems to contain the entire font (Inter), resulting in a 1MB file. For the time being, I am using GhostScript to convert the text to outlines, which results a file less than 10% the original size.

According to our tests, the new version of WeasyPrint is usually on par or much better than Cairo for PDF size. Is it possible for you to share your document (both HTML/CSS and generated PDF) with us?

As an aside, I also maintain a Laravel package for WeasyPrint and will need to update it to omit the --format argument, as it is no longer included in v53. It would be nice, however, if it would not produce an error when provided…

Deprecated options have been re-added with a deprecation warning (see b476f2f), will be available in versions 53.x, and will probably be removed from version 54.0. (Exception: -f png now raises an error.)

@mikerockett
Copy link

Cool! Thanks a lot for the feedback.

You're welcome :)

According to our tests, the new version of WeasyPrint is usually on par or much better than Cairo for PDF size. Is it possible for you to share your document (both HTML/CSS and generated PDF) with us?

I'm quite sure the font data is the issue at hand (the font is also loaded as a system font, not from an external source). That said, I can share the HTML+CSS+PDF with you. Would it be possible for me to send it via email? As much as the document doesn't include confidential information, it is company policy to share privately.

Deprecated options have been re-added with a deprecation warning…

That's great! However, I see that other args have been deprecated or changed, so I may as well have the package make decisions based on the actual version when v53 stable is released. Out of interest, do you know when that might be? 🙃

@liZe
Copy link
Member

liZe commented Aug 31, 2021

I was wondering what is behind the decision of not implementing such a modern browser feature? I can understand grid and all that new fancy stuff not being there, but flexbox is widely adopted. :)

The main reason is the lack of time and money. Nothing unusual 😄.

Having a good support of Flexbox requires a lot of work, including the 8-year-old #36 bug. As we don’t work (yet?) full time on WeasyPrint, it takes time. CSS is quite easy to use, but quite complex to implement, as you can imagine.

A better Flexbox support is in the roadmap, as explained in the WeasyPrint survey article. So, it may come in the next version, that will be released … when it is ready 😉. When a bug is 8 years old, it means that its complexity requires many weeks or months of hard work to be solved. And solving this bug is just a requirement for a good support of Flexbox and Grid, we need even more work to implement these layouts.

So… Don’t hesitate to help us by opening bug reports and pull requests, or by joining our OpenCollective campaign. We’ll do our best to provide a nice Flexbox support soon.

@Thorbenl
Copy link

Thorbenl commented Sep 1, 2021

I was wondering what is behind the decision of not implementing such a modern browser feature? I can understand grid and all that new fancy stuff not being there, but flexbox is widely adopted. :)

The main reason is the lack of time and money. Nothing unusual 😄.

Having a good support of Flexbox requires a lot of work, including the 8-year-old #36 bug. As we don’t work (yet?) full time on WeasyPrint, it takes time. CSS is quite easy to use, but quite complex to implement, as you can imagine.

A better Flexbox support is in the roadmap, as explained in the WeasyPrint survey article. So, it may come in the next version, that will be released … when it is ready 😉. When a bug is 8 years old, it means that its complexity requires many weeks or months of hard work to be solved. And solving this bug is just a requirement for a good support of Flexbox and Grid, we need even more work to implement these layouts.

So… Don’t hesitate to help us by opening bug reports and pull requests, or by joining our OpenCollective campaign. We’ll do our best to provide a nice Flexbox support soon.

Thanks a lot for the in-depth answer. I am always curious, what lays behind such decisions, because I know its for sure never "we dont want to do it" :)

I will see what I can do to help out on supporting these nifty handy css properties!
Cheers!

@grewn0uille
Copy link
Member Author

Hello!

Today it’s been one year since we launched CourtBouillon 😲

What happened during this year? Let’s discover it in this rewind!

The CourtBouillon Team 🍲

@mpth
Copy link

mpth commented Oct 12, 2021

Congrats 🎂 🍲🍻💐🥳

And thanks for all the work you've put into the project this year.

Very excited about the future of WeasyPrint.

@grewn0uille
Copy link
Member Author

Hi!

Thanks to the financial support of Code & Co., WeasyPrint now supports footnotes 🎉.

A beta has been released! Please give it a try and don’t hesitate to report the bugs you found 🪲.

This beta also contains support for parallel flows, colored emojis and more…
You can have a look at our last article to know more about this beta 🕵️.

The CourtBouillon team 🍲

@grewn0uille
Copy link
Member Author

Hi!

WeasyPrint v54.0 has just been released 🎉
Thanks to the financial support of Code & Co., WeasyPrint now supports footnotes!

If you want to know more about footnotes and how to use it, you can read our latest article.

With this release, WeasyPrint now also supports parallel flows, which means #36 is finally closed 🎊
Other new features are included, like support for SVG and PNG emojis, overflow-wrap: anywhere… and of course bug 🐛 fixes.

If you’re interested in sponsoring new features, don’t hesitate to contact us ☺️.
You can also help the project to grow and become better by becoming a sponsor!

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello!

The next major version of WeasyPrint, v55, is on the point of been released 🎉!

To help us having a nice release, please have a try to the related beta and don’t hesitate to report the bugs you find 🐞.

This version is mainly about performance improvements, to know more about it, you can read our latest article!

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello all!

WeasyPrint v55.0 has been released 🎉

Thanks to everyone who participated in this release 💜

This version provides enhancements in different fields:

You can read our last article to know more about this release and have some insights of what is coming 😉

You want to sponsor new features or need a hand for using WeasyPrint? Don’t hesitate to contact us 😄
You want to help the project to grow? You can become a sponsor!

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello everyone!

WeasyPrint got a new beta 🚀!

Thanks to financial support of Expert Germany and Blueshoe 💜, WeasyPrint has new features:

  • PDF/A support
  • Bitmap fonts (otb) support
  • line-clamp for nested blocks

To know more about this release, you can read our article.

Don’t hesitate to give this beta a shot, report bugs you may found and help WeasyPrint to have a nice and clean v56 🦋!

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hi!

WeasyPrint v56.0 has been released 🎉!

What will you find in this version?

  • PDF/A generation
  • Bitmap fonts (otb) support
  • line-clamp for nested tags

This features have been possible thanks to the financial support of Expert Germany and Blueshoe 💜.

If you want to know more about this release, don’t hesitate to read our blog article!

You want to sponsor new features or need a hand for using WeasyPrint? Don’t hesitate to contact us 😼
You want to help the project to grow? You can become a sponsor!

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hi everyone!

It’s soon CourtBouillon 2-year anniversary and so we thought it’s the perfect opportunity to ask you about how you use our products, like WeasyPrint, and what do you expect for the following!

In order to do that, we prepared this short survey!

The survey will be opened until October 10th.

Thanks for taking the time to answer 💜

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hi there!

A new beta for WeasyPrint has been released!

Thanks to financial support of Novareto, Code & Co., OpenZeppelin and our sweets backers and sponsors, you can now try:

  • PDF/UA generation
  • Variable fonts
  • Better footnotes support with multicolumn layouts
  • Better list management on page breaks

You can know more about this beta in our last article.

Don’t hesitate to try this beta and report bugs you found!

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello!

Today is CourtBouillon’s 2-year anniversary 🎉

If you’re interested in knowing what happened during this year, what we’re up to for the next year and our source of income, you can have a look at our last article ✨️!

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello!

WeasyPrint v57.0 has been released 🎉!

What will you find in this version?

  • PDF/UA generation
  • Variable fonts support
  • Better footnotes support with multicolumn
  • And a lot of bug fixes

This features and improvements have been possible thanks to the financial support of Novareto, Code & Co., OpenZeppelin and our Opencollective backers and sponsors 💜.

If you want to know more about this release, don’t hesitate to read our blog article!

You want to sponsor new features or need a hand for using WeasyPrint? Don’t hesitate to contact us 😊

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello there!

A new beta of WeasyPrint has been released 🎉

Thanks to the financial support of Personalkollen, PDF forms are now supported in WeasyPrint.

You can have a look at this article to know more about the beta.

Don’t hesitate to try this beta and report bugs you may found 🐞

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hi!

WeasyPrint v58.0 has been released 🎉!

This new version includes:

  • PDF forms support, thanks to the financial support of Personalkollen
  • Better SVG gradient
  • A lot of bug fixes

Don’t hesitate to read our article to know more about this new version 👀.

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello there!

A new WeasyPrint beta has been released 🎉!

Thanks to the financial support of Code & Co., the size of the PDFs generated by WeasyPrint is reduced.
New options have been added and some changes have been made to the API ⚠️.

You can read our last article to know more about this new beta.

Don’t hesitate to try this beta and report bugs you may find 🐛.

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello!

WeasyPrint v59.0 has been released 🎉!

Thanks to the financial support of Code & Co., WeasyPrint can now generate smaller PDFs.

The API got some changes ⚠️.

If you want to know more about this new version, you can have a look at our last article 🤓.

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello!

WeasyPrint v60.0 has been released 🎉!

This new version comes with a lot of bug fixes and new features.
Discover everything about this release in our article!

And welcome to all the new contributors on this new release 💜

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello!

Today is CourtBouillon’s 3-year anniversary 🎉

If you’re interested in knowing what happened during this year, what we’re up to for the next year and our source of income, you can have a look at our last article ✨️!

We also prepared a short survey to have your opinion about this year’s features and to know what you’d like to see in the future!
The survey is opened until November 19.

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hello!

WeasyPrint v61.0 has been released 🎉

This new version adds support for var() everywhere, fixes a lot of bugs and… comes with a Windows executable!
Discover everything about this release in our article.

And welcome to all the new contributors on this new release 💜

The CourtBouillon Team 🍲

@grewn0uille
Copy link
Member Author

Hi!

WeasyPrint v62.0 has been released 🎉

Thanks to the financial support of a nice anonymous company, WeasyPrint now supports Grid layout 🎉
This version also comes with CSS nesting support, and more!

If you want to know everything about this release, don’t hesitate to read our article 🗞️

The CourtBouillon Team 🍲

@ousia
Copy link

ousia commented Aug 5, 2024

Some "the project is no longer maintained by Kozea". But who?
Like it has sometimes been said, a new organization maintains this project: CourtBouillon.

Many thanks for your explanation, @grewn0uille.

I think it would make sense to move all projects effectively maintained by @CourtBouillon, from @Kozea to them.

Many thaks for your help and your excellent work.

@grewn0uille
Copy link
Member Author

Hi @ousia,

Indeed moving WeasyPrint and all its dependencies in the CourtBouillon org would make more sense.
However, due to some legal stuff, it’s not possible yet. But we’ll do that as soon as we can!

@ousia
Copy link

ousia commented Aug 30, 2024

Many thanks for your reply, @grewn0uille (and sorry for the delay in mine).

@grewn0uille
Copy link
Member Author

Hi everyone!

Today is CourtBouillon 4-year anniversary 🎂

Let’s talk about metrics on the projects, community, money and what’s coming next in this article! 🎉

@grewn0uille
Copy link
Member Author

Hello!

WeasyPrint v63 has been released 🎉

WeasyPrint now supports CSS Color Level 4, page groups (thanks to the financial support of Code & Co.), submit and radio inputs for PDF forms.

You can learn more about this version in our blog post.

For maintainers, a quick note, WeasyPrint now relies on tinyhtml5 instead of html5lib.

@FelixSchwarz
Copy link
Contributor

FelixSchwarz commented Oct 29, 2024

I'm grateful for to the financial contributors but also of course kudos to the developers. I'll try to get tinyhtml5 into Fedora soon.

Just a quick question: Are there known incompatibilities with v62 and Python 3.13? I think the test suite did pass on in our Fedora builds.

@grewn0uille
Copy link
Member Author

@FelixSchwarz 💜

There are no known incompatibilities between v62 and Python 3.13!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants