-
Notifications
You must be signed in to change notification settings - Fork 688
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
do a prawn release? #1137
Comments
I commend you on checking master before reporting an issue. That is a right thing to go about this sort of things. I wonder what pdf-core 0.8+ feature you're after? |
Hi! I did check master, where I saw that master already allowed lastest pdf-core, although latest release of prawn does not. There are no particular pdf-core features I am after, just trying to practice good hygeine keeping everything up to date, perhaps there are bugfixes or performance improvements in there. Just try to keep everything up to date to take advantage of such without individually evaluating the hundreds of indirect dependencies in a project. |
I second what @jrochkind said! Disclaimer: I'm an OSS maintainer myself, and I am not feeling entitled to anything, just providing hopefully constructive feedback. Prawn is a great library, a jewel of Ruby, essential to the Ruby ecosystem. But having no release in more than 3 years sends the same signal that While it is not affecting long time users like us, it definitely instills doubt on the future. This shows up around:
I do not know who has releasing rights (@pointlessone maybe?), but it would serve the ecosystem well to make a RC then release a new version after 3 years! Thanks for considering this. |
OK. Real talk time. We recntly-ish released a major feature in TTFunk. It was a big change and we experienced a few issues with it (obviously, in hindsight). The feature was a blocker for Prawn release. Then the issues made me postpone Prawn release. It looks like most issues with TTFunk are resolved now (I haven't heard of any new issues recently) so we're clear to make that release. I need to finish a little PR for integration of that feature into Prawn. And I'm a little busy at the moment. I'll make my best to cut the gem in July. |
@pointlessone I definitely understand the pressure (I maintain a gem over there, and there are challenges for Ruby 2.7 etc!), so I do understand your position! Thanks for the visibility. On my hand I can help this way: on a specific project, I have visual regression testing (I store rendered PDF and compare them), on JRuby, which means that if you cut a release candidate (something that I think is a good idea to ensure people can help out iron out the release), I will definitely be able to try out on a decent project (it also uses prawn table). So: no pressure, do as you can, and happy to help by testing on that project, which could help! |
The next release most likely won't have a pre-release. It's not currently in our release procedure. However, I'm considering adding pre-release/alpha gems. Given that it will require additional work I don't want to make it a pre-requisite for the next release. We kinda sort of have a visual regression test in our suite. We have a test that makes sure we don't unexpectedly start generating different documents. We use Prawn manual for that. We don't do visual regression but a document hash instead. Two PDFs with identical hashes must produce identical rendering. In a way, our test is a bit more strict as it requires no changes in metadata or even file layout. It's by no mean a comprehensive test. We don't have tables in the manual, for instance. You can run your test suite against master if you wish to test newer version. We're trying to keep master in a usable state. |
This makes perfect sense, whatever works best for the maintainers team. I also use a Hash diff (with documents stored in Git) in addition to visual, it is very precious. I will run the suite against Thank you for your response, much appreciated. |
OK, I landed the OTF support in Prawn. I'll do a review of open PRs and see if anything can be merged without much delay. Then I'll work on prepaeing the release. Meanwhile I'd appreciate if you could test your code against Prawn master. I'd be glad to have some feedback before I cut the gem. Thank you for your patience. |
@pointlessone thank you! A first update: I've updated a client app ( The tests pass, but there are binary differences: lots of differences, but most if not all seem to be related to rounding changes in decimal coordinates. I will investigate the visual changes (PDF comparisons before/after) later this week, and will report back to confirm things work as expected on this project. |
@thbar Thanks. I'd expect lots of changes in the fonts. Not sure about rounding changes. There were changes there but I can't immediately recall if that happened before or after the last release. |
@pointlessone indeed there are visual changes even when bumping prawn from 2.1.0 to 2.2.0. This means I won't be able to test the latest release properly, I must figure out what is happening (I will review the various changelogs). I will comment back here if I'm able to make progress fast enough! |
@thbar Can you provide examples of the changes? |
@pointlessone I cannot at this point, but I will have more budget next month to investigate on that. I will definitely report back when I have more data though, thanks for asking. |
@thbar I'm trying to gauge how big of an issue this is. Is this a sub-pixel text positioning issue of something more severe? I promised a release this month. Is this something that should delay the release or a minor issue that can be fixed in a patch release? |
@pointlessone it is more severe, like full document margins quite off, but I think I found out! I believe this is #1011, fixed in 2.2.1. I can still see differences after that, but the biggest one disappeared after upgrading from 2.2.0 too 2.2.1. Something that is confusing is that #1003 is apparently still opened, but #1011 is closed (and 2.2.0...2.2.1 shows that indeed the fix was incorporated). Maybe closing #1011 would be a good idea!
What I'm describing has been fixed in 2.2.1, so I would definitely not wait on this specific point. |
@pointlessone I have good news: after investigating on the 2.2.0 regression, I took PDF snapshots (35 of them) at 2.2.1, and then upgraded to prawn If I'm not mistaken (long day here, but I wanted to reply to you as quickly as possible), there is no visual nor binary changes between 2.2.1 and prawn I still have a bit of changes to understand (in tables, introduced by 2.2.0, but this is already old), but as far as I am aware, prawn Thanks for your work & quick turn-around on this. |
@thbar Awesome news! Thank you. |
With 2.3.0 release I consider this issue to be resolved. |
There are at least some changes in master since the release of v2.2.2 in March 2017.
It's hard to say exactly how many, because there appears to be no tag in the repo for 2.2.2 to compare to master.
But one change I noticed is that 2.2.2 still expresses a dependency on
pdf-core "~> 0.7.0"
, so won't use the latest pdf-core release 0.8.1.I came here to report that, but then noticed it was already fixed in master.
Would it be possible to do a new prawn release, so I can update to latest pdf-core as well? (Ideally with a git tag for version for new release!)
The text was updated successfully, but these errors were encountered: