Well. I've been using PunBB 1.3 quite successfully on a rather active forum, and I've written some extensions for it. 'Tis time to start sharing them.
jquery
A very basic extension which makes it easy to install JQuery and to access it from other extensions.
js_read_mark
Thanks to PunBB 1.3's $tracked_topics, once you read a topic marked as having unread posts, it will no longer appear unread for the rest of the session. This extension takes it a bit further -- it clears the read marker as soon as you click the link to the associated topic, instead of waiting until the next time you reload the listing. Requires JQuery
love_based
Purely as a matter of personal taste, I happen to hate the "File-based" and "Folder-based" (and "fancy" variations thereof) URL schemes. So I made my own, based not on comparison to files or folders, but to LOVE! (*shrug* I couldn't think of a more specific explanation. Suffice it to say, I designed it with REST style in mind.) Maybe you'll like it, maybe you won't; all a matter of personal preference, of course. (To install it, you'll have to move (or symlink) the Love_based.php file into the /includes/url directory. Also, make sure MultiViews is disabled in your PunBB directory.)
read_tracking
Grand finale (for now): This extension provides permanent tracking of topic readness. It distinguishes between "new" topics (meaning the same as it does now -- new unread posts since last visit) and "unread" topics (ones that have had new posts since the user last actually viewed the topic (or explicitly marked all posts as read)). Any topic marked "new" will also be marked "unread" (I'm talking about CSS classes here), so you'll have to add some style so that it'll actually look like something. I edited my Oxygen_cs.css thus:
[Find]
td.tcl span.new img {
border-color: #2B75AD #235E8C #1F537B #266799
}
[Replace with]
td.tcl span.unread img {
border-color: #E6E6E6 #235E8C #1F537B #E2E2E2
}
td.tcl span.unread.new img {
border-color: #2B75AD #235E8C #1F537B #266799
}
That gives unread-but-not-new topics a marker with colours halfway between the read marker and the new posts marker.
I know there are usually efficiency concerns (time and storage space) when it comes to things like this, but I've made an effort to make it as optimized as possible.
How for you to be downloading things
I'd consider all of these alpha-quality (other than jquery, since there's so little to it), and I haven't packaged them up for release, but I have Bazaar repositories for all of them. Of course, I do not recommend trying these on a live forum; I only do because I'm intimately familiar with them. But test them as you please.
http://bzr.adamatlas.org/jquery/
http://bzr.adamatlas.org/js_read_mark/
http://bzr.adamatlas.org/love_based/
http://bzr.adamatlas.org/read_tracking/
So you can download the files from these indexes directly, or, preferably, if you have Bazaar installed, branch them (these are the branch URLs too) so you can automatically keep up with changes.
TEH FUTURE!!!!
Please let me know any problems you encounter. The Internet appreciates your help. Meanwhile, in the pipeline is rearrange, an extension that will let users customize their index pages -- rearrange categories and individual forums, or hide some altogether, so each user can make their index page as subjectively useful as possible. Unfortunately, it's not in any remotely usable state yet, but I'll post it as soon as it is.