NEW VERSION 3.2.0, AUGUST 30 2013
This release is the first of a new stable-focused 3.2.x branch. Many new improvements have been added, plus a merge from cgminer 3.4.0. BFGMiner 3.1.x is now discontinued, but bugfixes have been backported to 3.0.7 and 2.10.13.
...
Does not compile

My system: x86/Ubuntu/Linaro
./configure: all disabled except bitforce and ztex.
I'm using the source from the tgz in the first post.
First error:
CC bfgminer-httpsrv.o
In file included from httpsrv.c:16:0:
/usr/include/microhttpd.h:893:55: error: unknown type name va_list
make[2]: *** [bfgminer-httpsrv.o] Error 1
An #include is missing. Fixing this, I get the next error:
CC bfgminer-driver-getwork.o
driver-getwork.c: In function getwork_gen_error:
driver-getwork.c:109:9: warning: implicit declaration of function MHD_create_response_from_buffer [-Wimplicit-function-declaration]
driver-getwork.c:109:85: error: MHD_RESPMEM_MUST_FREE undeclared (first use in this function)
driver-getwork.c:109:85: note: each undeclared identifier is reported only once for each function it appears in
driver-getwork.c: In function handle_getwork:
driver-getwork.c:169:2: warning: implicit declaration of function MHD_basic_auth_get_username_password [-Wimplicit-function-declaration]
driver-getwork.c:169:7: warning: assignment makes pointer from integer without a cast [enabled by default]
driver-getwork.c:173:3: warning: implicit declaration of function MHD_queue_basic_auth_fail_response [-Wimplicit-function-declaration]
driver-getwork.c:252:58: error: MHD_RESPMEM_MUST_FREE undeclared (first use in this function)
make[2]: *** [bfgminer-driver-getwork.o] Error 1
Looks like a very old (pre-2011) libmicrohttpd.
Can you confirm the version?
grep Version $(pkg-config --variable=pcfiledir libmicrohttpd)/libmicrohttpd.pc
--without-libmicrohttpd
helps, but I want the builtin getwork server

I believe the oldest supported version is 0.9.5, released January 2011.
This should be fixed.
Is there a way to get the current share difficulty from the API? Would be useful for some monitoring tools.
The "pools" method has this info per-pool.
I guess someone should add a way to determine which pool(s) are actively in use?
Cool.
"Last Share Difficulty" would give me that info, right?
Sortof. It won't work until a share is found at the difficulty.
Also, keep in mind that it's possible for devices to be hashing different difficulty works, around changes.
To find out which pool is connected, I'd have to walk the list from priority 0-N and check which one is alive.
The one with the lowest priority and alive status is the one that is being connected to?
Only in Failover mode.