Closed tatosjb closed 8 months ago
A new release is required for proper dependencies for Ruby 3.1:
https://github.com/prawnpdf/prawn/commit/3658d5125c3b20eb11484c3b039ca6b89dc7d1b7
Hi folks, any news on this?
OK, I will push a new release before the snow melts away. But to set expectations right it won't happen in the next two weeks.
Hey, folks! Any news on this issue?
A prawn version 3.0 would be pretty neat eventually.
We have some competition e. g. hexapdf by gettalong. I have quite a lot of pdf-generation code in different projects, so I am re-evaluating old code every now and then. One advantage gettalong has is that he is quite active (and home boy in my city too! \o/ ).
Any news on this?
@pointlessone If you need help with a new release, let me know! But no stress, when you have time, you have time..
@gettalong We've got a bunch of PRs open. I'd love some help with reviews. That extends to the broader community, too. Thank you.
@pointlessone any reason the master branch can't be released "as-is"? Are there any specific open PRs blocking the release?
I don't think any of the PRs are blocking release. It's just an area where I could use some help.
Perhaps we should decouple the two? Do a release, and then the good folks on this thread can chip in to help with PRs?
To be clear, I'm not waiting on PRs to merge before cutting a release. Prawn release is a somewhat complicated process so I need a solid block of time for it. That's the blocker. While we're waiting on that PRs might as well get reviewed.
@pointlessone I have created pull requests https://github.com/prawnpdf/prawn/pull/1242 and https://github.com/prawnpdf/pdf-core/pull/48 for open issues. Those are rather small changes and would be good candidates for merging before making the new release.
Is the master branch stable? Can I use it directly with gem 'prawn', github: 'prawnpdf/prawn'
for now or is it better to just add gem 'matrix'
to my Gemfile?
Generally we're trying not to break master branch. However, sometimes it might be a little confusing because master might depend on unreleased changes in ttfunk or pdf-core. You might need to use those from their master barnaches as well.
Prawn release is a somewhat complicated process so I need a solid block of time for it.
Is this process described somewhere and could parts of it be automated?
This is not described and hard to impossible to automate. The main issue is that there are at least three gems whose releases need to be coordinated. Dependencies are not strictly acyclic, too.
Is the master branch stable? Can I use it directly with
gem 'prawn', github: 'prawnpdf/prawn'
for now or is it better to just addgem 'matrix'
to my Gemfile?
@zavan Save yourself the future headache and just use the gem.
Here's to adding more noise in hopes it pushes this release out quicker
@shirts I would gladly accept a contribution that gets us there. Maybe start with something less ambitious than fully automated dependency resolution.
One Idea I muled over for a while is to have alpha/beta gem builds on every commit to master. I believe it might be a bit easier to achieve. GitHub Actions + GitHub Packages looks like a viable option.
@pointlessone please let us know the status of getting a new release out?
@johnnyshields Please see https://github.com/prawnpdf/ttfunk/issues/91#issuecomment-1110585178 which also applies here.
@gettalong the war is truly a catastrophe and I appreciate that it is disruptive for many.
That being said, there are highly qualified people in the community, e.g. @petergoldstein, who have volunteered to help with the maintainership of this gem. Can we please appoint someone to help move this forward and unblock issues?
@johnnyshields As far as I know only @pointlessone has all the permissions and means to do a release which is quite complicated involving multiple libraries. @petergoldstein volunteered to help out and he massively did but I don't think @pointlessone got to the point where he was able to explain the release process and assign permissions.
@pointlessone time to pass the baton on to @petergoldstein ?
It happens in many projects. For instance, andlabs who used to maintain libui stopped adding code or reviewing code changes since about 2 years. Someone eventually overcame the inertia and added libui-ng, which is more active. I think having a project base with more different people in charge who can push at the least new patch sets in would be useful. They can focus on the quality of these patches and contributions which worked for libui-ng very well.
Is any news about this issue? @pointlessone
Maybe a new release before the snow falls this time? :grin:
Yeah, any news on this?
Is any news about this issue?
Not really. The war is still on.
Maybe a new release before the snow falls this time? š
The snow has fallen over here so that ship has sailed. Maybe Christmas? š
Now seriously. I will spend some time on Prawn this month. To set expectations properly: that is not a promise of a release by any specific date.
Let me know if I can help with things!
It's one week to Christmas and I'm stuck on Ruby 2.7.7 as I upgrade to a new VPS and Rails 7. Is there a planned release of prawn or a reliable workaround or replacement?
@PeterWooster The latest release supports Ruby 3.0. Other than that you can try using master
branch if you desperately need unreleased changes. A new release isā¦ "planned" but there's no timeframe.
For a replacement you might take a look at HexaPDF. I haven't used it myself but from its homepage it seem like a very capable library. Licenses are reasonably priced, too.
Thanks @pointlessone , I tried ruby 3.1.3 and it didn't work, which is what led me here. I'll try 3.0, this app is really dependant on Prawn, which has been excellent for several years.
@PeterWooster Have you tried the solution mentioned in https://github.com/prawnpdf/prawn/issues/1273? I.e. add gem "matrix", "~> 0.4"
to your Gemfile?
Thanks @gettalong, I'll give that a try once I get past all the install nonsense for Puma. Right now I'm going to stick with ruby 2.7.7 on Ubuntu and 2.7.4 on my Mac.
Ruby 3.0.x won't install on my Mac Silicon M1 using rbenv, but 3.0.5 installs on Ubuntu so I may try with 3.0.5 once I get the app ported to Ubuntu.
i would also love to see a release. i would love to pitch in.
Unfortunately, I think it is time to fork this gem and release it under new maintainers. There hasn't been a release in 2 years, meanwhile bugfix PRs and issues have piled up.
@petergoldstein and anyone else interested, shall we go ahead and do it? Maybe call it something like prawnpdf-continued
? @pointlessone would be welcome as a co-maintainer (or to merge the code back to this repo) if/when he is able to assist in maintenance again.
@johnnyshields Unfortunately at this point I don't have time to take on maintenance responsibilities for another repo. Especially one that's going to need a lot of work to bring it up to snuff. That said, I agree the current situation is problematic and it's probably time to fork.
I'm with Jonny on this one. I don't know who this maintainer guy is but he clearly sucks. It's been 2 years and gems are not released, bugs are not fixed, rainforests are not regrowing, wars raging everywhere and we're still not back to the Moon! This "AS IS" business is clearly nonsense and we can not stand it any more! We should fork Prawn now! Someone has to fix it all! As long as someone is not me. I'm, like Jonny, very busy right now. But I certainly can chime in on any topic in comments any time because my opinion and extensive expertise are very valuable.
Now, on a more serious note. I'm as frustrated about the situation as all you are. I'm also as frustrated with most of you as you are with me. I understand it but it's not helpful. Somehow, set of the most demanding people and those who actually put in work doesn't intersect.
I'm calling you out, Jonny, specifically because you're one of the most demanding people who put in only nominal amount of work. My previous hints were, apparently, too subtle so I'm asking you specifically, and everyone behaving in a similar manner, to reconsider. I personally don't respond well to demands or threats. This is not a productive approach.
People who want to fork are welcome to do so. It's one of the tenets of FOSS. One thing I ask of you is to have these discussions elsewhere. Also please choose names that are unambiguously different.
People who want things to change here be the change you want to see in the world. Be like Peter, or Thomas, or Dan, or Cameron, or dozens of people who contributed in a meaningful way.
I understand that I'm the bottleneck but I don't have to be the one who does all the work. There's a lot you (every single one of you) can do that would help. For most of it you don't need the ability to push a gem or even to merge a PR.
As a quick update. I actually spent a little time on Prawn in December. It didn't result in any code I can push or a release but it was work. I will have a little time for Prawn soon again but I can't make any specific promises for what actually is going to be achieved. I can promise at least one release of Prawn. Eventually. No specific timeframe.
With that a few administrative announcements:
I just compared master
with 2.4.0
there are a few fixes under lib/
, but it mostly typo and code style improvements.
we should make a release ASAP
2.4.1 or 2.5.0 both makes sense, former because changes are minor, but the diff is long and its been a few years, so 2.5.0 sounds good as well.
@pointlessone you do have access to the repo and rubygems right? why don't you make a release?
Any news on a release? I'm happy to take the Gem and Repo over if you don't have the time to maintain it anymore?
Aww guys I'm so glad you're still thinking of me. ā¤ļø
@mathieujobin Yes, I do have access to the repo and rubygems, right. I think I'll find some time this year to write another of those status updates. If you read the past ones you might have some insight. But if you want an answer earlierālet me be a sphinx for a minuteāI'll give it if you fail to guess with 3 tries.
@deanpcmad What is your experience with PDF in general and Prawn in particular? I mean, I use Prawn myself. I wouldn't want to just get rid of it. If I give it away I want to be sure to some extent it'll thrive.
Please make a release before this Christmas.
I'm currently stuck at Ruby 2.7 for my Rails time tracking project because of Prawn, which is an absolute requirement to create invoices. All my other projects are on Ruby 3.2.2 or PHP. I'm sure you want me to stick with Ruby and not convert that project to Laravel or Django.
@PeterWooster There is no reason you are stuck on Ruby 2.7 because of Prawn. It works just fine with Ruby 3.x, I'm using it myself with Ruby 3.2.2. The only thing you need to ensure is that you add the matrix
gem yourself to the Gemfile.
And there are alternatives to Prawn in Ruby, you don't need to waste all the code moving to Laravel or Django.
@pointlessone I'm happy to volunteer my company TableCheck with 200 employees (even one in Ukraine) to take over maintenance of Prawn. We will make sure it thrives.
We use Prawn to generate internal print-outs and reports used in ~9,000 restaurants in Japan and across Asia, it's mission-critical for us.
@johnnyshields Hi Johnny,
I recognise your name. Unfortunately, it's not a good thing in your case. You see, I know your name because you made requests of me and past Prawn maintainers but your other contributions to the projects are quire scarce even counting in contributions of people who I believe worked with you. You're one of the most demanding and least contributing people I had misfortune to cross paths in the FOSS context. I'm not even completely sure you fully grasp the concept of free/open-source software, its processes, and the "AS IS" part in particular.
Oh, I'm sure you will maintain Prawn. However, I'm afraid there's an obvious conflict of interest: your business versus community (including otherāpotentially competingābusinesses). I don't want Prawn to follow Rails as in whatever DHH's business does that's what goes into Rails and whatever anyone else's need that's third-party concerns.
On multiple occasions I prompted people to write code, improve docs, review PRs. With 200 employees and being at the core of the business one might've expected a bit of enthusiasm around Prawn but the best I can see from you is a few clicks on Approve PR button and cheers for Peter.
So yeah, I'm not too thrilled about your proposal. But! You and your employees still can be an active contributors. I know I'm a blocker on a few things but certainly not on everything, right? Do what you think needs to be done and can be done without me. Maybe fix a bug or two, a couple of typos in the docs, propose a feature. I'm sure, you'll be able to find something to contribute if you care about the project and community. I promise to make full effort to change my opinion when there will be something to cause that change.
@pointlessone as your handle implies, it's pointless to argue with you.
For the adults in the room > I've released prawn-continued gem v3.0.0.rc2 which is up-to-date with the current master of prawn.
You can install it with:
gem 'prawn-continued', '~> 3.0.0.rc2'
gem 'prawn-table-continued', '~> 1.0.0.rc3'
IMPORTANT: Other plug-in gems like prawn-svg
are not yet compatible. They will inadvertently install the prawn
(original) gem, which will cause issues (to use them, you'll need to fork them an change their gemspec
dependency.) Check your Gemfile.lock when installing to make sure 'prawn' is not present, and use at your own risk for now. I will add a guard to catch such gem conflicts in a future release.
That being said, prawn-continued
should be a drop-in replacement for prawn
. I've done some sanity checks in my own app and it seems fine. Please reach out to me if you are interested to help with maintenance. CC: @petergoldstein.
Reason for forking (as explained in README):
Our goal is to continue development and releases of Prawn for the benefit of the user
community, as the original gem has had minimal activity since late 2020.
We welcome the changes in this fork to be upstreamed back into the original
Prawn gem, and we harbor no ill will towards it or its maintainers.
Recently was integrated a PR who solves the font cache issue.
Is possible to release a version? The last release is from December 31.
https://rubygems.org/gems/prawn