Nick's initial priorities for Tor 0.2.2: NOTE 1: I'm not looking at fiddly little stuff from TODO.021 yet. We can do a step where we triage the nice-to-have issues. NOTE 2: It's easy to list stuff like this with no time estimates and no target dates. I think we should pick a target date for 0.2.2, figure out how long the stuff we want will take, and triage accordingly, or vice versa. - Design - Begin design work for UDP transition; identify areas where we need to make changes or instrument stuff early. - Performance, mostly protocol-neutral. - Work with Libevent 2.0's bufferevent interface - Identify any performance stuff we need to push back into libevent to make it as fast as we want. - Revise how we do bandwidth limiting and round-robining between circuits on a connection. - Revise how we do bandwidth limiting and round-robining between connections. - Better flow-control to avoid filling buffers on routers. - Split AES across cores if possible. - Split SSL across cores (reach; may require Libevent 2.1). - Figure out good ways to instrument Tor internals so we can tell how well our bandwidth and flow-control stuff is actually working. - Features - Proposals to implement: - 146: reflect long-term stability - 147: Stop using v2 directories to generate v3 votes. - Proposals to improve and implement - 158: microdescriptors - Proposals to improve and implement if not broken - IPv6 support. (Parts of 117, but figure out how to handle DNS requests.) - 140: Directory diffs - 149: learn info from netinfo cells. - 134: handle authority fragmentation (Needs more analysis) - Deprecations - Make .exit safe, or make it off-by-default.