Just recently BerkeleyDB v4.5. My colleague Simon Yates and I made the BerkeleyDB interface for VisualWorks against BerkeleyDB v4.4. The API's changed only slightly between 4.4 and 4.5 - but the owner of the software changed dramatically. It's no longer a Sleepycat - but now an Oracle. You notice this straight away with the badly done graphics at the front of the Windows installer.
Not much had to change between versions in our code - but I will put it to you that we were scared shyteless that we'd have to refigure out all the structs ourselves. Why? Because DLLCC cannot parse a standard .h file for its life. That means we hand wrote all the procedures and structs the first time around. This means that if Oracle changes stuff, we have to change with it! In this case, we had to redo all the #define's as Oracle had changed most of them, shuffling them around and adding new options.
So - DLLCC.. we hate you. If you had done your job properly, we'd just hit 'regenerate' and be done. Instead we had to put aside 4 hours to fix what had changed. Stupidly old unix diff tools helped us do the job. In the end it only took us 2 hours, but we were slightly concerned at one stage.
The latest publish of BerkeleyDB in the public store links to 4.5, not 4.4. Enjoy.