Hi,

I'm not sure that I understand your proposal. Even if we provide a Loader class in 2.0 it won't be compatible on a binary level as there are many other changes. The idea to use PDFBox 3.0.0 in environments where other dependencies are compiled against 2.0.x won't work. Or do I miss something?

Andreas

Am 11.01.23 um 12:43 schrieb Emmeran Seehuber:
Hi,

I’ve one point which is not per se related to the 3.0 beta release, but which 
should be considered:

The 3.0 release changed some APIs in a source and binary incompatible way. E.g 
instead of using the PDDocument.load() method you now use the Loader class etc.

It would be extremely helpful if PDFBox 2.0 could provide a kind of „Shim“ 
which provides the 3.0 API. E.g. implement a Loader class in PDFBox 2.0 - which 
internally just uses PDDocument.load(). At the same time you could depreciate 
the load() method in the PDDocument and document that the Loader should be used.

This would allow to „migrate“ projects using PDFBox 2.0 to the 3.0 API while 
staying on PDFBox 2.0. As PDFBox 3.0 has the same namespace as PDFBox 2.0 I 
think this is needed to make the migration path as smooth as possible.

Rational: More and more projects use PDFBox directly or indirectly (e.g. by 
using my PDFBox-Graphics2D wrapper - Apache POI for example). When you have a 
complex application you might have many dependencies which will pull in PDFBox 
2.0. If they can work with PDFBox 3.0 because they migrated the API usage to 
the new API using the shim in PDFBox 2.0 you can upgrade to PDFBox 3.0 in your 
project. I.e. the lib targets PDFBox 2.0 but would work with 3.0.

Otherwise you can only consider a upgrade to PDFBox 3.0 in your application 
after the last dependency has migrated to PDFBox 3.0. Which might take a long 
time…

I.e. at the moment as PDFBox 3.0 has the same namespace as PDFBox 2.0 just 
upgrading to PDFBox 3.0 will break many things in dependencies. So you have to 
stay on 2.0 as long as not all dependencies have migrated...

It would be very nice if we could avoid a version mess here.

Greetings

Emmeran

Am 11.01.2023 um 08:24 schrieb Andreas Lehmkuehler <andr...@lehmi.de>:

Hi,

I'm planning to cut our first beta release of 3.0.0. Be aware that the api is 
supposed to be stable after the release.

Are there any objections? Are there any tickets which should be solved before?

Andreas

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org


Mit freundlichen Grüßen aus Augsburg

Emmeran Seehuber
Dipl. Inf. (FH)
Schrannenstraße 8
86150 Augsburg
USt-IdNr.: DE266070804




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to