-
iText 2.1.6 released
iText is the #1 Java-PDF library in the F/OSS world: it's the PDF engine under the hood of JasperReports, Eclipse/BIRT, jBoss/SEAM, and many other tools. Yesterday iText 2.1.6 was released, an important milestone in the history of iText, because it's the last release before a license change.
iText was originally released under the LGPL: the Lesser (or Library) GNU Public License. In the year 2002 however, we had been receiving mail from different legal departments of companies, explaining some quirks in the LGPL that (at that time) prevented the use of iText by those companies. After a long discussion, we decided to move from LGPL to MPL, but to keep the LGPL for backward compatibility. That was seven years ago, and the LGPL is still there; even though the FSF no longer recommends the use of the LGPL.
Don't worry: we're keeping the MPL; so for those companies using iText under the MPL, nothing will change, but we want to replace the LGPL by something better. We realize that we can't just "remove" the LGPL. Several companies have been ignoring our advice to use iText as an MPL library; instead they have been using iText under the LGPL. The main reason was probably because they needed a license that is GPL compatible: in other words: they can't use iText under the MPL because of license incompatibilities. That's why we're not "throwing away" the alternative license, instead we'll be upgrading from the LGPL to the AGPL. The AGPL is compatible with GPLv3, so that should solve most of the compatibility problems. iText 2.1.6 is the final release as an MPL/LGPL library; the next release will be MPL/AGPL.
Although the migration from LGPL to AGPL allows people to continue using iText in a product with one of the GPL flavored licenses in their Free/Open Source Software, there will be an extra restriction for companies that use iText in a product that has a dual (or triple, or...) license of which one license is purely commercial. These companies will have to contact http://itextsoftware.com/ and will be asked to buy a license for the use of iText in the "non-free" part of their software. The same goes for companies that use iText in commercial SaaS applications. But that's something for the future; we're not there yet; we're still thinking about the wording of the extra restrictions.
Meanwhile iText 2.1.6 has brought some really interesting new functionality.
Many users of PdfPTable will be happy to see that PdfPTable finally supports rowspan. The fact that you couldn't define a rowspan for a PdfPCell caused developers to use Table instead of PdfPTable and as the Table class hasn't been supported anymore for years, this often led to a lot of frustration. We hope rowspan support for PdfPTable solves this problem.
Also new, is support for timestamping and OCSP. Timestamping is the process of securely keeping track of the creation and modification time of a document using a timestamp issued by a trusted third party acting as a timestamping authority (TSA). OCSP (Online Certificate Status Protocol) allows the document to check the revocation status of a certificate used for a signature online.
Other (minor) new features are the possibility to skip the last footer in a PdfPTable, a method to set the initial leading (which is zero by default), and so on.
iText 2.1.6 also solves a bug introduced in iText 2.1.5: some tagged PDF examples were broken, and in specific cases form fields weren't filled out. The code causing these bugs has been removed.
For a complete overview of all the other bugfixes and changes, please have a look at http://1t3xt.com/about/history.php?branch=history.21&node=216
2009-06-17 07:28:53 UTC by blowagie
-
iText 2.1.5 released
iText is probably the most used Java library to create and manipulate PDF. Last year some new developers joined the team and this resulted in a new release with a huge changelog:http://1t3xt.com/about/history.php?branch=history.21&node=215Although users probably won't notice a lot of changes in the API, they'll find out that iText now needs less memory and CPU. That's because iText is getting a makeover with plenty of internal optimizations.Due to the increased use of iText, more bugs are being reported on the mailing list. iText 2.1.5 fixes (almost) all the bugs that were posted in the last three months.There's also some new functionality: support for the JBIG2 image format, enhanced support for Tagged PDF (ongoing), a PdfCopy version that allows you to copy a form from one PDF to another.With this new release, we can also offer a 40% reduction on the book "iText in Action" (offer valid till April 1).See http://1t3xt.com/docs/book.php for more info.Finally, keep an eye on http://javaworld.com/ Next week, there will be an article on how to use iText in combination with Twitter!
2009-03-08 14:07:15 UTC by blowagie
-
iText 2.1.3 released
iText is a Java library used as PDF engine in popular Frameworks such as Spring, jBoss SEAM, JasperReports, and many others. It's the de facto standard library if you are looking for PDF creation and manipulation.
The 2.1.3 release fixes most of the issues reported on the itext-questions@list.sourceforge.net mailing list in the past few months.
As far as new functionality is concerned, this release brings an HTML related code contribution by Lubos Strapko, plenty of new RTF stuff by Howard Shank, and some new features that were asked for on the mailing list and that were implemented by Bruno 'doctor iText' Lowagie ;-)
2008-07-12 13:14:00 UTC by blowagie
-
iText: 2.1.2u released
This library contains classes that generate documents in the Portable Document Format (PDF) and/or HTML.
Some releases are simple. You have some bug fixes, you have some new functionality. And when you think there's sufficient new stuff to release, you just go ahead and make the release. That's how it has always been with iText. I admit it's not very organized, but... it works.
I've tried making an 'official TODO list' once, but apart from some major TODOs that would take weeks of work (for instance XFA support), development is mostly user driven. People post questions on the mailing list. If the functionality that is asked for isn't available yet and it's within our reach (not more than a few days work), we add it. That's how iText grows.
IMO that's the best way for a product to grow. If the market asks for something, provide it. Sure, there are always unanswerable questions, most of the times based on misunderstandings about the PDF specification. So apart from answering to the needs of the market, we also have an educational task. It's a great job; the only downside to it, is that (almost) nobody pays us for doing that job.
It's not easy to maintain such a project for free. The iText developers all have to feed a family; in my case, there are some complications that make it even more difficult to stay focused on iText. Two weeks ago I made the iText 2.1.1 release in a hurry. I was at the hospital with my son. I thought it would take two days to have the release shipped, but much to my surprise I was able to do it in one day. Once the release was out, the other iText developers were surprised too, because I didn't give them sufficient time to check the release and to make some final adjustments (for instance: one of my changes, broke some PDF/A functionality). That's why I didn't promote the 2.1.1 release on SF, JavaLobby and FreshMeat: I knew I'd have to release 2.1.2 soon after 2.1.1; more specifically: 15 days later, on May 16.
The 2.1.2 release was postponed a number of times because of some issues reported by users. Not all of them were real problems; most of the times an 'alleged iText bug' turns out to be 'wrong use of iText'. Last Friday I was quite happy when JUnit told me there were no errors in the project. Unfortunately, tests don't always cover the full functionality, and right after I had shipped the release, I ran some other tests, and found out we had introduced a subtle bug that would probably have gone unnoticed by most of the Western users, but that could be a problem for Asian iText users. That's why I immediately made release 2.1.2u; containing everything that was in iText 2.1.2, but with one small fix for a bug introduced in 2.1.1.
It's situations like this that make me wish we didn't only have a good product, but also a sound business (read: a good business model generating sufficient revenue for 1T3XT BVBA). That would give us the means to hire people to do the releases in a more professional way. In a few weeks, I'll have the results of a phone call I made over a week ago. We're planning to provide commercial iText licenses and I sincerely hope they will be a success, because IMHO iText deserves it. It would probably make many things much easier if there are sufficient funds to hire people to do some of the work that is now done by only a handful of people during their spare time.
2008-05-19 20:10:44 UTC by blowagie
-
iText 2.1.0 released
The 2.1 release of iText, a Free / Open Source Java-PDF library was announced for the end of February, but unfortunately the original developer and one of the current maintainers of the project received some very bad news: his son was diagnosed with cancer. This seriously compromised (and still compromises) some of the plans for iText. The treatment will take at least 30 weeks; let's hope everything turns out well.
The most important change in iText 2.1.0 is the fact that iText is now split into different jars:
* iText.jar is the core iText with the functionality as described in iText in Action (without RTF, without the Toolbox).
* iText-rtf.jar consists of the RTF packages. In 2.1.0, the old RtfWriter has been removed in favor of RtfWriter2. There's also a lot of new functionality written by Howard Shank that allows you to parse existing RTF files.
* iText-rups.jar is an analyzing tool for PDF. It's still in beta; use it, but take into account that you may have to tweak it to get it working.
In one of the next releases, the toolbox.jar will also be part of the release.
2008-03-27 17:15:27 UTC by blowagie