Various bugfixes. The most serious one was reported by Paul Miller: element_from_hash() was not returning the same point each time.
pbc.h now includes more header files so all the functions documented in the manual can be used without generating warnings (or learning about these extra header files).
I also added the pbc_mpz_randomb() function and a couple of test programs use this now.
Minor fixes: applied John Bethencourt's patch to address bugs that arose on 64-bit machines, added some comments from Dmitry Kosolapov, resolved a naming conflict that should solve compilation problems in some cases.
The official PBC library URL is now
which means PBC is hosted by a department webserver rather than my personal office machine. However, the git repository still lives on my system.
I'll try to keep the old URLs working for a while.
I reordered the arguments to element_from_hash(). It seems to be standard to pass the length of a buffer after the pointer to the buffer. This is incompatible with older versions of the library.
I renamed quan.c (contributed by Dmitry Kosolapov) to yuanli.c and removed workarounds that are not needed anymore.
I fixed a bug in element_init_same_as() (reported by John Bethencourt).
I also implemented some discrete log algorithms (brute force, Pollard rho and index calculus for some cases), but these aren't documented.