+ login + register + settings + upload avatar + change password + settings menu + disallow login if user is logged in + disallow register if user is logged in + common_current_user() + common_logged_in() + session variable for login + post notice + logout + subscribe + unsubscribe + subscribe links on profile + header menu + footer menu + disallow direct to PHP files + common_local_url() + configuration for DB_DataObject + date formatting + new notice redirects to notice page + date in shown notice links to notice page + common_redirect() + configuration system ($config) + release 0.1 + design from Open Source Web Designs + add H1 to each page + add H2 for each page section - doc action + default to public stream + default avatar + default HTML type + set Content-Type + show current values in profile settings + save profile URL in profilesettings + save profile URL on registration + require valid nicknames + reject empty notices + validate registration form results + validate profilesettings form results + validate newnotice form results + remove validation code from classes + use only canonical usernames + fix layout of textarea + make notices into "big links" + RSS 1.0 feeds of a user's notices - RSS 1.0 feeds of a user's notices + friends + RSS 1.0 dump of a user's notices - RSS 1.0 feed of all public notices - FOAF dump for user - license on showstream - license on shownotice - TOS checkbox on register - instructions - deal with PHP quotes escaping - fix spacing on notices - fix spacing in profile - limit entry in textarea to 140 chars - add a next page link to showstream - add a next page link to public - add a next page link to all - source link in footer menu - public stream link in top menu - AGPL notification - release 0.2 - Automatically linkify URLs in notices - RDF dump of entire site - pretty URLs - use only canonical email addresses - license per notice - allow mixed-case usernames - allow non-latin usernames - store canonical username for comparison and fetch - site logo - set Last-Modified - XML sitemap generation - theme per site - theme per profile - email confirmation for registration - change cookie handling for anon users to be more cache-friendly - gettext - subscribe remote - add subscriber remote - send remote notice - receive remote notice - confirmation email - tinyurl-ification of URLs - jQuery for as much as possible - themes - RDFa for stream pages - RDFa for subscriber pages - RDFa for subscribed pages - plugins and hooks - content negotiation for interface language - content negotiation for content type - content negotiation for encoding - content negotiation for charset - If-Modified-Since support - Vary - delete a notice - release 0.3 - @ messages - # tags - L: location - hreviews - stay logged in between sessions - use RSS as a subscription - URL notices - image notices - video notices - audio notices - license per attachment - release 0.4 - forward notices to Jabber - forward notices to other IM - forward notices to mobile phone - receive notices from Jabber - receive notices from other IM - receive notices from mobile phone - machine tags - release 0.5 - Twitter-compatible API - Pownce-compatible API - include twitter subscriptions - include Pownce subscriptions - privacy - Wrap DB_DataObject with memcached caching layer - login throttle to prevent brute-force attacks - form token in login to prevent XSS - release 1.0 - Atom Publishing Protocol - "Universal" public feed