Preprocessing has been implemented for A and D pairings, the former benefiting greatly from this. See the benchmarks page.
Some minor bugfixes. Code cleanup: started removing include statements from header files that are used internally by PBC (see the last section in Rob Pike’s notes on programming in C). And the previous tarballs left out a header file.
I renamed type BGN pairings to type A1.
I wrote more of the manual. Now it describes how to generate pairing parameters, and some of the gory behind-the-scenes details of PBC.
I also modified the contributed code so it comforms to the way I do things.
I’ve been working on PBC fairly intensely and yet there have been no performance improvements. Most of the work has been manual labour. The documentation is in much better shape now, and includes a tutorial that I hope will show how easy it is to write cryptography applications using the library.
I also made some API changes. It is now possible to implement cryptosystems without knowing the details of PBC library types, and also without calling any GMP functions. I thought about adding more wrapper data types so that type checking will prevent elements of G1, G2, GT and Zr getting mixed up, but I felt that the library is usable enough as it is, and I have other priorities.
It might be a while before I can start working on optimizations. I still want to clean up the build system a little, make a few more API changes, and of course, keep adding documentation.
There were a few minor problems which I hastily corrected. Luckily, since the new build system gives the distribution the extension tar.gz instead of tgz I got the link to it wrong so no one could have downloaded it anyway.
I’ve started more work on the documentation, but there’s still a long way to go.