StatusNet Changelog

What's new in StatusNet 1.1.0

Jul 5, 2012
  • Along with many bugfixes, this version includes the ActivitySpam plugin to check updates against spamicity.info, options to hide users who've been silenced or have posted spammy updates, an experimental OfflineBackup plugin, fixes for TwitterBridge to correctly handle replies through the bridge, improvements in ActivityStreams JSON output to better match the 1.0 spec, console scripts for managing groups, a bugfix for conversation counts in conversation streams, and rights for moderators to manage spam.

New in StatusNet 1.0.0 (Oct 3, 2011)

  • Private updates, including private-to-groups, private within a site, and private to followers only.
  • Conversation mode in streams.
  • Microapps can post different types of activities to timelines, with interaction.
  • Events, bookmarks, Q&A, blogs, and polls.
  • A new 3-column layout in the 'neo' theme by default.
  • Alphabetical, searchable user and group directories.
  • Better IM support with the addition of AIM, IRC, and MSN.
  • Twitter-like lists.
  • Subscription to searches.
  • Subscription to tags.
  • Extended profiles for private, enterprise sites.
  • Sites are private by default.
  • Daily email summaries.
  • An automated upgrade script.

New in StatusNet 0.9.9 (Aug 10, 2011)

  • This release includes a security fix for a cross-site scripting vulnerability discovered by the Mozilla Security team.
  • Other changes include updated Google Analytics and reCAPTCHA code, fixes to the Bookmark, Facebook, and Twitter plugins, as well as updates to data backup/restore.

New in StatusNet 0.9.7 (Mar 17, 2011)

  • This release includes private group messages, significant performance enhancements, an optional new menu, much better Facebook and Twitter integration, support for a new AtomPub-based social API, support for Activity Streams JSON, backup and restore of user account data, and experimental "live move" of user accounts.

New in StatusNet 0.9.6 (Oct 30, 2010)

  • Site moderators can now delete groups.
  • New themes: clean, shiny, mnml, victorian
  • New YammerImport plugin allows site admins to import non-private profiles and message from an authenticated Yammer site.
  • New experimental plugins: AnonFavorites, SlicedFavorites, GroupFavorited, ForceGroup, ShareNotice
  • OAuth upgraded to 1.0a
  • Localization updates now include plugins, thanks to translatewiki.net!
  • SSL link generation should be more consistent; alternate SSL URLs can be set in the admin UI for more parts of the system.
  • Experimental backupuser.php, restoreuser.php command-line scripts to dump/restore a user's complete activity stream. Can be used to transfer accounts manually between sites, or to save a backup before deleting.
  • Unicode fixes for OStatus notices
  • Header metadata on notice pages to aid in manual reposting on Facebook
  • Lots of little fixes...

New in StatusNet 0.9.5 (Sep 13, 2010)

  • This minor release includes improved support for two-way Twitter interaction, experimental plugins to support TinyMCE, Disqus, and Echo, a plugin for notice titles, and changes to the OStatus system to support the Social Web Acid Test Level 0 (SWAT0).

New in StatusNet 0.9.4 (Aug 17, 2010)

  • OpenID and OAuth libraries patched for potential timing attack
  • OStatus feed i/o updated for Activity Streams
  • Correctness fixes on XRD, other discovery bits
  • Support for contacting SNI-based SSL virtual hosts when SSL certificate verification is enabled (requires PHP 5.3.2+ or enabling CURL backend with $config['http']['curl'] = true)
  • Experimental SubMirror plugin
  • Multi-site status_network table mode has been tweaked to support multiple tags better
  • Many updates to user interface translation from TranslateWiki
  • Many other bugfixes

New in StatusNet 0.9.3 (Jun 30, 2010)

  • For best compatibility with client software and site federation, and a lot of bug fixes, it is highly recommended that all public sites upgrade.
  • Many translation updates and API fixes are in since 0.9.2; the API has also been extended to better support StatusNet-enhanced clients.
  • Compatibility has been improved: OpenID now works with PHP 5.3, and some updates to PostgreSQL support are included.

New in StatusNet 0.9.2 (May 5, 2010)

  • This release includes stability fixes for OStatus communications between sites, major performance improvements for Geonames location lookups, fixes to the groups support in API, and many other small improvements. The installer can also now be run from the command line (scripts/install_cli.php) which we expect to be helpful for those integrating StatusNet into existing server environments.
  • Note that due to major fixes in OStatus protocol, public sites still running version 0.9.0 are encouraged to upgrade to 0.9.2 as soon as possible to maintain compatibility.

New in StatusNet 0.9.1 (Mar 29, 2010)

  • A few weeks after the release of version 0.9.0 of StatusNet, we've packaged together bug fixes and minor feature enhancements and packaged them as StatusNet 0.9.1 (codename: "Everybody Hurts"). The software is available for download immediately.
  • A key goal of this release was improved OStatus support for other systems. In some cases, this has expanded coverage -- for example, we now support Activity Streams feeds encoded in RSS 2.0 as well as Atom format. In others, we've had to break backward compatibility to make the software correctly interact with other systems. Principly this was with digital signatures in our Salmon protocol support.
  • For this reason, public sites running version 0.9.0 are encouraged to upgrade to 0.9.1 as soon as possible.
  • Other notable changes in this release are somewhat more flexible OpenID support; better handling of very long notices in the Web UI; some additional plugins; and a number of bug fixes. A full changelog is included with the download.

New in StatusNet 0.9.0 (Mar 5, 2010)

  • fc3b538 Make indenting consistent in README
  • be4b482 Updated note on geo location and added a note on user roles
  • 89833ce Set up subscription to [email protected] for admin user on new installation, if OStatus is set up and working. (Will fail gracefully on a behind-the-firewall site.)
  • e6f379f Normalize whitespace in the README -- all tabs to (4) spaces
  • 96c06dd note betas are obsolete now
  • 7d1ba4f Remove reference to $config['profile']['banned'] -- superceded by blacklist
  • 1b49e9d banned no longer supported
  • a4ec64f Slight right alignment for remote button in minilists
  • 22c0633 updates to queue info in readme
  • 8242dba Fix link to StatusNet bug tracker in README
  • b98fcff some more editorial on README
  • 36d8646 Increased admin navigation width to handle longer text length
  • 938c595 add blacklist and throttle plugin notes
  • 15aaae6 Another update to admin navigation alignment
  • 1f15e52 change lede so it doesn't talk about Laconica
  • 80b58db change 'mublog' to 'statusnet' in README
  • bf0e29b change lacuser/lacpassword to statusnet-like ones
  • 7bd0b8e Pull latest .po files from 0.9.x to testing
  • f7f7f16 update version number
  • 046e2b7 change URLs and versions in README
  • 26f78f5 change changelog and version
  • a3cb285 Add link to http://status.net/wiki/Getting_started on installer success screen.
  • 6b4c3e5 Showing a vertical navigation for admin panels.
  • 74dbd37 Bringing aside back because it is needed for Design values. Will hide from CSS instead.
  • a6a0560 Dropping the earlier PubSubHubbub plugin; OStatus plugin is taking that portion over (with both internal and external hub options for user and group feeds). Todo: add support for other feeds to OStatus PuSH hub implementation.
  • 8f1762c OStatus: fix for remote group join via non-logged-in 'join' button. Bad lookup was sending us to the first group instead of the selected group.
  • 45f11d9 adding plugin version to OStatus
  • 0ddd1ef Ignore API 'since' silently as Twitter does instead of throwing a 403 error. Getting extra results is less disruptive than total failure. Threw in an X-StatusNet-Warning header on the off chance some API client developer notices it. :)
  • 02f4919 adding checkschema to setup script
  • af04973 Roll up some missing items from 08to09.sql; now hits all changed tables/columns/keys in core.
  • fd4eefe OStatus enabled by default
  • 1831506 Moved database hostname in install to db fieldset
  • 3d2bf5c Create new field in consumer table in 08to09.sql
  • 67e4c5d Added oauth_appication tables to 08to09.sql
  • 0cf0a68 Updated SN install UI. Using separate fieldsets
  • 8b3feba Installer tweaks: maintain form values when redisplaying form after error, add pass confirmation and optional email forms for administrator. Caveat: fancy URLs value isn't currently maintained; JS needs updating to not overwrite the value or we should kill it entirely.
  • 9f861e9 Fix on sitenotice admin panel save
  • 14d7f4a Removed unused stub class
  • 79b392a Add generator tag into Atom feeds.
  • 507454d Couple of tweaks to the HTML to try and make installer look bettter. This still needs some work.
  • 44462ac Create an initial user during install, and grant owner, moderator and administrator roles.
  • 37b106d Fix variable name in NoConfigException
  • ddc4a7d Catch a previously uncaught exception and add some additional debug logs for signature verification
  • 849f578 update xrd -> userxrd
  • 4b99bfc Updated styles for unsandbox, unsilence, revoke administrator and moderator icons
  • ce9d161 Added the inverse icons for badge, sandbox, speech, admin
  • 8ffb34a Temp fix for problem getting actor from PuSH updates where actor is only specified in subject
  • 0e360ad Test a small user feed to ensure we're taking the activity actor from the subject
  • f210cad Revert "Revert "Show and no activity actors for user feed""
  • b97ac60 Changed text for authorizing/confirming remote profile
  • 3850309 Puts All groups and Remote sub button in the mini list on the same line
  • 1c8399f refactor xrd to allow for ownerxrd - xrd document for the site owner. introduced $config['webfinger']['owner'] for a custom xrd subject
  • de687d0 Updated OStatus subscription error messages to be more user friendly. Hopefully.
  • 24835c1 OStatus: catchable exception instead of fatal when parsing valid XML that isn't a valid XRD doc
  • 14065ca OStatus: code cleanup on webfinger fallback path
  • a4d9171 Fix up catching of webfinger setup fails
  • 6a5a629 Updated label and note text for user and group remote subscribe forms
  • 1761b18 Removed clipboard icon from core
  • a26d23b Changed clipboard icon to magic wand for user role button
  • 61de37e Move snapshot configuration to its own admin panel Turn on with: $config['admin']['panels'][] = 'snapshot';
  • 8436306 Fix notice warning in RSS friends timeline
  • 9fadf8d Put all required field setup into AtomUserNoticeFeed and AtomGroupNoticeFeed, consolidating some code. (RSS feeds pulling title, logo etc from the Atom data structure so we don't dupe it.) OStatus now calling the feed classes directly instead of faking a call into the API, should be less flakey.
  • 04e474c Updated icons README
  • 6ebc0f8 Updated identica theme for User Role styles
  • 6102384 Added styles for User Role
  • 4a25111 Initial user role controls on profile pages, for owner to add/remove administrator and moderator options. Buttons need to be themed.
  • 4103e85 Making one time passwords work on private sites
  • 06db00d remove debug line
  • b3969be Updated remote subscribe button style in aside
  • 337b1aa Site-wide notice text admin panel
  • 6283382 OStatus: fix up remote join button on group profiles
  • a42d111 Separate the UI paths for ostatussub and ostatusgroup. They'll redirect to each other transparently if they find you've put a remote entity of the other type.
  • 219e15a Returning true instead for group remote subscription. If not logged in, it gives the chance to use the logged in join/leave instead.
  • 6ff994b Fix to group join event position.
  • 339b0b0 Don't expose global Twitter consumer key and secret, because that would be idiotic.
  • c04c8ae quick fix: skip notice from unused variable on group atom feed generation
  • 7e5bf39 Avoid notice on local group creation when uri isn't passed in at create time (needs to be generated)
  • 5c70481 Using the full width for the content area for the admin section. It also makes the local navigation's tabs stay in context with the content
  • ef6bf8f Removed aside container from output for the admin panel sections
  • d3c1888 Generalized style for remote subscription button
  • 3c55edd Showing the remote subscribe button on the user groups page
  • 2ce9ae0 Added event hooks for before and after user groups content
  • c7d390e Add class="admin" to the content div of admin panels for styling
  • 0881eba Language setting fixes: - switch 'en_US' to 'en', fixes the "admin panel switches to Arabic" bug - tweak setting descriptions to clarify that most of the time we'll be using browser language - add a backend switch to disable language detection (should this be exposed to ui?)
  • 2f167f2 Fix syntax errors
  • c82efb7 subscribers list wasn't firing correct events
  • ccd0db1 add remote subscribe button for not-logged-in users looking a profile list with local users in it
  • 33af29b Fix for 4113f2884113f288: show regular subscribe form for all non-OMB profiles. We can't initiate remote sub for an OMB from our end, so dropping there.
  • 3bb42d1 Use poster's subscribed groups to disambiguate group linking when a remote group and a local group exist with the same name. (If you're a member of two groups with the same name though, there's not a defined winner.)
  • 023b9bb Renamed subscribe button from New to Remote since it only does remote subscriptions at the moment.
  • 61ada45 Fix for disappearing 'connect' menu if xmpp and sms are disabled. All 'connect' menu panels used to be optional, so Action tried to figure out what the first item on the 'connect' menu should be. This is no longer necessary because we have the non-optional OAuth client connections panel now, which is not optional and can't be turned off.
  • 7d78472 Using position relative only for the remote subscription in section
  • c8bdf3c Added group subscription button to groups mini list
  • 15574c5 Added event hooks at the start and end of groups mini list
  • 4aa516d Make Facebook plugin look for API key and secret before doing anything
  • ecccb34 Show global key and secret, if defined, in Twitter bridge admin panel
  • 9342e6f Remove double word from Twitter bridge README
  • ca86a4e - Have Twitter bridge check for a global key and secret if it can't find one in the local config - Refuse to work at all if the consumer key and secret aren't set
  • b1e172a stupid mistake... let's not talk about this.
  • 8a3f27a Updated some references to the long gnone "isEnclosure" function to the new "getEnclosure"
  • b533e0e Update Facebook plugin README with info about new admin panel
  • 84663dc Initial Facebook admin panel
  • 625215c Some wording / spelling fixes
  • 6103695 - Make 'Sign in with Twitter' optional - Updates to the Twitter bridge plugin README
  • 705891f Remove un-needed config variable for enabling/disabling Twitter integration
  • de65b15 Initial Twitter bridge admin panel
  • 1fd91de Upgrade XML output scrubbing to better deal with newline and a few other chars
  • f3cea24 Fix for hcard parsing: typo caused notice spew accessing unset array index
  • 1e63fda Clean up OStatus mentions finding; separate regexes keeps the code paths a bit clearer. Also switched to hitting HTTP profile first; as the common case it'll be faster.
  • ffa1931 Avoid warning/notice spew in XRD parser. Not all DOM nodes are elements.
  • 11750e8 Added remote join action for group profile
  • b65ee23 Added event hooks for group subscribe
  • ea10805 Moved the remote subscription button to subscription mini list
  • 06fb112 Added event hooks for start and end of subscriptions mini list
  • 1a4652b Changed label text for remote subscription to something similar. Given that this button will be used within context of subscriptions, 'New' works along with the '+' icon.
  • f7ba556 Make Facebook plugin look for API key and secret before doing anything
  • 32c08f5 Show global key and secret, if defined, in Twitter bridge admin panel
  • 08422df Remove double word from Twitter bridge README
  • ca21f1d - Have Twitter bridge check for a global key and secret if it can't find one in the local config - Refuse to work at all if the consumer key and secret aren't set
  • 79ffebb OStatus: save file records for enclosures Also stripping id from foreign HTML messages (could interfere with UI) and disabled failing attachment popup for a.attachment links that don't have a proper id, so you can click through instead of getting an error.
  • 9f94d6d Changed the geo location cookie Expire to Session.
  • 49a872b OStatus: support @example.com/path/to/profile mentions as well as @[email protected] (latter requires webfinger, former doesn't) Plus misc warnings/notices cleanup in the submission path.
  • 8da1b71 Fix a bunch of notice & warning-level messages that were breaking my inter-instance communications
  • 7175e7c OStatus fix: look for s in the current element's children, not in all its descendants. Was breaking notice URL transfer, pulling a profile link by mistake.
  • 09705a1 stupid mistake... let's not talk about this.
  • c30f95c Updated some references to the long gnone "isEnclosure" function to the new "getEnclosure"
  • 4113f28 Added Subscribe button to remote user entity actions in profie lists
  • 1550d10 Don't need to float the anchor
  • b1ffbf1 Performance fix on Sphinx search results: use id instead of created timestamp for reverse date sorting; should give same result but doesn't trigger a filesort.
  • 6b134ae Dropped deprecated timestamp-based 'since' parameter for all API methods. When it sneaks in it can cause some very slow queries due to mismatches with the indexing. Twitter removed 'since' support some time ago, and we've already removed it from the public timeline, so it shouldn't be missed.
  • f596e07 Fix for regression in updated mention checks, sometimes lost links to folks mentioned in the replied message.
  • e3c2b8e Refactored remote subscribe action in OStatus
  • 88c33bb Showing remote subscription button on the personal timeline
  • 5abff91 Generalized style for entity remote subscription action
  • 350e128 Added event hook for before and after personal timeline content
  • 623faf9 Just a label change. Since the user already went ahead with subscribing, in this step we are just confirming the profile.
  • e2578cf Revert "Show and no activity actors for user feed"
  • 9816b35 Update Facebook plugin README with info about new admin panel
  • 40ac724 don't duplicate title in summary in Atom output per RFC4287 4.2.13
  • c25fc8a Show and no activity actors for user feed
  • 40e1b24 Initial Facebook admin panel
  • 1df8c2a Some wording / spelling fixes
  • 27a4936 - Make 'Sign in with Twitter' optional - Updates to the Twitter bridge plugin README
  • 871b3aa Remove un-needed config variable for enabling/disabling Twitter integration
  • 6b2d672 Initial Twitter bridge admin panel
  • c38ed1b High-priority OStatus fixes: * PuSHing out to multiple client services could fail; only first callback got reached * Correction for re-sub request to a known sub
  • 680ace1 High-priority OStatus fixes: * PuSHing out to multiple client services could fail; only first callback got reached * Correction for re-sub request to a known sub
  • 493b547 OStatus: support @example.com/path/to/profile mentions as well as @[email protected] (latter requires webfinger, former doesn't) Plus misc warnings/notices cleanup in the submission path.
  • 45e8819 Fix a bunch of notice & warning-level messages that were breaking my inter-instance communications
  • 2c677e0 Revert "show service debug info"
  • 0512151 more output in updateostatus.php
  • f7c2c19 lost important fields when switching queries
  • 19ec0e3 show service debug info
  • 64918cf pass listener URI into consumer for OMB
  • 656a977 remove strict check on OMB exception strings
  • c7d8641 return correct HTTP status code for OMB errors
  • 1414b6b send smaller error pages for OMB API endpoints
  • 17c2c79 Remove check for secret in token deletion on Subscription::cancel()
  • 48ce511 Better logging on bad token in subscription
  • c3ba26b Return empty array when no subscriptions to remote
  • 320036d drop tokens for OMB on unsubscribe
  • d772483 fix path for updateostatus.php
  • 3ff3abb Script to convert OMB subscriptions to OStatus subscriptions
  • a5dc5f9 Upgrade XML output scrubbing to better deal with newline and a few other chars
  • 79b2e67 show service debug info
  • 00f724d Localization tweak: include doc comments marked as 'TRANS' in .po file output; these should now get automatically pulled through to the TranslateWiki interface as translator help hints.
  • 946445e Add index on group_index.notice_id, needed to pull list of target groups for inbox delivery. Index was present on live identi.ca database but missing from master definitions: group_inbox_notice_id_idx
  • 1ac3d15 pass listener URI into consumer for OMB
  • baee6da remove strict check on OMB exception strings
  • 9b4ee90 return correct HTTP status code for OMB errors
  • e529cee Add index on post_id for file_to_post, needed for efficient lookups of files/urls attached to a given post.
  • 9068900 send smaller error pages for OMB API endpoints
  • 486cbac Remove check for secret in token deletion on Subscription::cancel()
  • 30c9920 Better logging on bad token in subscription
  • ef54702 Return empty array when no subscriptions to remote
  • 6f20b74 drop tokens for OMB on unsubscribe
  • caab6dd fix path for updateostatus.php
  • cac6d42 Script to convert OMB subscriptions to OStatus subscriptions
  • 6ea9eb3 Update pot file
  • 04c4fac fix call of common_find_mentions() in Notice::saveReplies()
  • 4d9daf2 Use notice for context when deciding who @nickname refers to
  • 55f27fe Plugin to restrict too many registrations from one IP
  • babca69 add bugfix to version number.
  • 31ecc86 Fixes entity_tags alignment
  • 2344db1 Revert "change function name"
  • 831eb0d renaming sha256 to prevent conflict
  • 21edb98 change function name
  • ee7603b better return check in Magicsig::staticGet()
  • a5cfda8 blow cache on known replies
  • d3fc8e2 Pull conversation URL from Conversation instead of assuming it's local
  • 4b696cf add a flag to impede adding sessions to URLs (for permanent stuff)
  • 1cf08c7 MagicEnvelope::parse shouldn't be called statically
  • 6ee7660 should be sequenceKey (singular)
  • 0ecf435 adding sequenceKeys() to magicsig
  • c82cee1 removing some extraneous debug logging
  • b0acaea Check for conversation with unique conversation ID
  • e4c4625 move salmon posting to send application/magic-envelope+xml per http://salmon-protocol.googlecode.com/svn/trunk/draft-panzer-salmon-00.html#RPF
  • f23a877 Discovery::lookup now throws an exception
  • c95daac Updated ShowGroup to Resolve Aliases Again.
  • 223ebc7 move signing to take a local actor profile and use local keys
  • 3a7eef1 only put public keys in XRD
  • bbb0a7d updating to use latest salmon NS definitions
  • 0060163 Temp fix for mismatched newlines in Telugu; gettext sometimes refuses to complete when such mismatches are present. (Needs to be fixed upstream in TranslateWiki separately so it doesn't revert.)
  • c188ae1 Blacklist user nickname and password on delete
  • ea04472 'on' is what checkboxes use for boolean true
  • 200a32b don't choke on dupelimit in createsim.php
  • 6ae39da Fixed object name
  • ab8bb4d more cleanup
  • d1256b5 bad merge.. cleaning up missing webfinger bits
  • 22062b6 remove webfinger.php
  • 84d0c86 salmon actually fetching remote keypairs
  • 6cc26a6 Remove unnecessary requires
  • eabae96 Get ApiAction autoloading properly
  • e650794 Remove unnecessary requires
  • 3daf17d Get ApiAction autoloading properly
  • 3aee8e0 Fix a few keys that got dropped from statusnet.ini by mistake
  • b573c5e Fix for group timeline feeds by name
  • 08c17bf try/catch on omb profile pings
  • da4b21d try/catch on omb profile pings
  • 8556921 use a real keypair from discovery
  • 0afb09a er. right.
  • 417f5d6 update to beta6
  • 2528bb4 OStatus: clean up known-URL hinting during profile setup, saves some extra HTTP hits we were getting when mentioning Buzz feeds.
  • 00aba4a add beta5 to beta6 script
  • 8274bbe Fix test to account for new way avatars are stored in ActivityObject
  • d8d8d59 - Updates to use new activity object factories - Prune obsolete feed creation method
  • f9e5acb remove linkback from default plugins
  • 2feb09f OStatus: pull best-sized avatar image (96x96 if found, otherwise largest, otherwise if none labeled takes the first)
  • 792f094 Fix atom feed IDs in user and group atom feeds
  • e197208 info about discovery in Ostatus_profile::ensureWebfinger()
  • a43598c cache Web responses in Webfinger library
  • 207cc89 Set avatar height correctly
  • c8ddcbe init_conversation.php script to copy old notice conversations into the conversation table
  • c693365 cache results of webfinger lookups
  • 894b221 Parse an hcard for hints, if available
  • cc06707 use new hcard method for webfinger
  • 36f02f4 add hkit for hCard parsing
  • 7922edb Add lots of fun avatars to our Atom output
  • 45435a7 OStatus: if no available and no profileurl hint passed in, use object id if it's an HTTP(S) URL. Fixes profile link for Google accounts.
  • 593885f Tweak common_url_to_nickname to take the last path component; fixes pulling nicks from Google profile pages (path is "/profile/")
  • 6578e0e use new dedicated hcard method for Webfinger profile
  • 76216af Add an hcard action
  • e254c66 Fix bug on subscribe/unsubscribe in profile lists. Bogus call to nonexisting profile->getProfile() was masked by DB_DataObject
  • 0841342 typo
  • 93f4f07 moving webfinger action to xrdaction
  • 5ae64a7 moving references to Webfinger to Discovery
  • bd90ef9 replace webfinger usage in hostmeta.php
  • b2dabe6 removing the webfinger lib
  • 3d0ba3e adding a new, more generic "discovery" class that does LRDD disco (rather than webfinger specific)
  • 5cb6e54 call-time pass by reference
  • e62e49e adding some exception handling for magicenv parsing
  • e61edb5 Rationalize group activity stuff
  • 8278eca Not sure how this ended up in wrong-cased dir...
  • b5b5184 OStatus: fix remote groups to work with new user_groups/local_groups split. - fix generation so we get the profile info (what's available so far) - use id instead of nickname for group join/leave forms so we can join/leave remote groups while the rest of the groups UI remains limited to local groups (plugins are responsible for making sure remote notifications and permission checks are done) - fix remote notification when joining group through OStatus's remote subscribe form
  • 7e0872c Add local_group.sql with DB changes to user_group, setup and populate local_group.
  • a8d0c8d Normalize nickname case on login; fixes failed logins where people were typing MixedCase nicknames (if browser saved this form, it would never work again until clearing the saved form data; very icky.)
  • 79c0d52 OStatus: save categories from the Atom entry as hashtags.
  • 39a8e9d Ensure that shortened URLs haven't accumulated whitespace when fetched by a plugin. Some shorteners have ended up inserting extra newlines when the string gets extracted from tidied HTML.
  • 2f03b2c method for getting a group's URI
  • d53b4b9 save mainpage element for groups
  • 8f42d37 Add 'mainpage' to User_group
  • ffdcdbc Removed dangling icons in Realtime plugin
  • a0f6977 Fixes replyto JS after the upgrade from jQuery 1.4.2
  • b544802 Updated jQuery JavaScript Library from v1.4.1 to v1.4.2
  • e6858d7 modify group actions so they use Local_group to look up by nickname
  • 90d396a Moved otalk theme out of core. It will be updated separately and may be reintruced back to core when appropriate.
  • 3299078 Updated pigeonthoughts theme
  • 5061fb7 Updated cloudy theme
  • 58d8b25 Removed dangling geo icon
  • b33f9a2 Added author, license information for the icons that are in base theme
  • 9ef7eb0 Moved common icons from Realtime plugin to core icons file
  • 44cb354 Added external, play, pause icons to main icons file
  • ddc3671 recover user_openid tables, which got lost in generation
  • 68a1097 fixup exe bits
  • bd68154 Make user_group able to handle remote groups
  • 374c488 return attachement from saveHTMLFile()
  • b08a527 content_* to common_*
  • 942521e if OStatus post is too long, show the summary and save it as an HTML attachment
  • 58e232a OStatus: when finding webfinger @-replies, override a local profile match if found at the same location (eg @someguy vs @[email protected]) Fixes inconsistent application of webfinger @-mentions in OStatus; once a local profile is set up the local name would often match first and ended up overriding in output.
  • b798faf OStatus: abort processing of this PuSH in item if we got an exception, rather than letting it be re-run.
  • 543ff40 Populate more profile information when doing a remote subscribe
  • 5173d92 Merge StatusNet core localization updates from 0.9.x branch
  • 3b7084c Fix update_po_templates.php to support the plural and context variants of _m() in plugins
  • e18e659 Drop HTMLPurifier; we don't need its extra capabilities and we're already using htmLawed which is lighter-weight.
  • 93507a1 OStatus: handle update-profile Salmon pings
  • b782225 Revert "Updated jQuery Form Plugin from v2.17 to v2.36"
  • ec4899e OStatus: disable HTMLPurify cache unless we've configured a writable path for it. Updated plugin README with available config options. Cleanup for a bad element fallback lookup in Activity
  • c0d1309 use Notice::bestUrl() to determine notice url in NoticeListItem::showNoticeLink()
  • c36bdc1 - break OMB profile update pings to a background queue - add event hooks to profile update pings - send Salmon pings with custom update-profile event to OStatus subscribees and groups (subscribers will see it on your next post) - fix OStatus queues with overlong transport names, should work on DB queues now - Ostatus_profile::notifyActivity() and ::notifyDeferred() now can take XML, Notice, or Activity for convenience
  • 269d567 use Subscription::start() for remote subscribes
  • 07214f1 OStatus: save updated profile bits when they come in over the wire; fix up nicknames
  • 5cabb63 Include with actor ID and name in Activity::asString(); fixes Salmon signature on OStatus unsub pings
  • 959171a Added a cookie for the nickname cookie for the login page and prefill the input field.
  • 1f45273 Moved StatusNetInstance into SN in util.js
  • 8e7606c Added processing indicator for .form_remote_authorize on ostatussub page
  • 2466dbf Break long strings in tagcloud
  • 618ce6a - Move ActivityParseTests to core - Add test for Portable Contacts stuff
  • 3a3af67 Add PoCo parsing and some other fixes.
  • 2e58802 OStatus: fix group delivery, send reply/group Salmon pings from background.
  • 584b87c OStatus: consolidate the low-level notice save code between Salmon and PuSH input paths. Validation etc remains at higher levels.
  • 2aaf8d4 Add class and (if present) id to DB_DataObject error exceptions; often they're VERRRRRY vague, and it helps to know what type of item is failing!
  • 25864ae Using the default abbr class pattern for geo microformats instead of the shorthand that I've proposed at http://microformats.org/wiki/geo-brainstorming#latitude_longitude_shorthand_and_geo_link
  • 391b459 adding xfn, foaf and hcard rel's to our webfinger output
  • fa178a8 Add poco:displayName to Atom output for person object
  • d6ad733 OStatus: fixes for link/id and text extraction gets import of Buzz feeds working.
  • f5ec7c2 some logging for OStatusPlugin::onStartFindMentions()
  • 5f9a8ca OStatus: accept webfinger addresses as well as profile URLs in the explicit remote subscribe form.
  • a0c255e move mention detection before default in OStatusPlugin
  • 90d34b2 OStatus: do PuSH subscription setup from subscribe/join event hooks, so resubscribing directly from a profile/group list works correctly if there aren't active subscriptions at the moment.
  • c79c70e OStatus subscription UI tweak: if we're already subscribed/joined, say so and don't offer a 'subscribe'/'join' button on the profile preview page.
  • e070fca OStatus: fix for avatars, submit button in updated remote profile preview
  • 1bffe42 Drop user-only requirement for subscribe action
  • 1fe0318 er typo
  • 9494b0e magicsig shuffling
  • 17b8020 clean up error logging
  • cd56165 missing return value check
  • f4b34d6 generate keypairs for users, and put them in the XRD for discovery
  • 74f5c1e db_objectified magic sig - for persistence of local keypairs
  • cb32b67 moving magicsig.php to classes - to add storage
  • b67bb18 Refactored preview info and form for authorizing a remote subscription
  • a306ac3 Added a general classname for remote authorization
  • 193448d OStatus: cleanup on ostatussub preparing for final UI work on the remote sub/join forms.
  • 89dc6de Add PoCo namespace to optional ns output in Notice::asAtomEntry()
  • 1f859e7 Add activity.php to common includes
  • 6a711c6 Move ActivityObject and related stuff to core
  • a3e800e Add PoCo bits, avatar link, geo point, etc. to person activity obj output
  • d410df0 OStatus group delivery initial implementation. - added rel="ostatus:attention" links for group delivery - added events for plugins to override group profile/permalink pages - pulled Notice::saveGroups up to save-time so we can override; it's relatively cheap and gives us a clean list of target groups for distrib time even with customized delivery. - fixed notice::getGroups to return group objects as expected - added some doc on new parameters to Notice::saveNew - 'groups' list of group IDs to push to in place of parsing - messages that come in via PuSH and contain local group targets are delivered to local group members - messages that come in via PuSH and contain remote group targets are delivered to local members of the remote group
  • caad585 swapping pear error handling so Crypt_RSA can properly detect available math libraries
  • 3b823f8 Leaves the original URL alone and adds ? or & when it does the XHR.
  • 3c00472 Removed unnecessary assignment to SN.C.I.OStatusProfile. It can be brought back in the future if the value is to be set directly from the HTML script output.
  • 06f155c OStatus: initial hookup of remote group membership (notice delivery not yet working quite right) - added a temp config var to disable salmon magic signatures until they're working consistently
  • 7e8c3ea Removed extra comma
  • a1549eb Minor JSLinting
  • 3ed3796 Added licensing info and a note about migrating
  • 85cb850 Set and reuse a cookie with own profile value at a StatusNet instance
  • 2b16532 OStatus: use 'profile' consistently as param on ostatussub and ostatusinit to help us stay sane.
  • a6afc1c Made Blogspam Plugin Respect textlimit Setting.
  • 1e8e1e8 Rewrote How Blogspam Plugin Made HTTP Requests.
  • 3569493 Added link to Subscriptions page to XHR get the ostatus sub form
  • e6ce04c Generalised Subscription XHR dialogbox
  • 5a6967d clear the site owner when profile changes
  • 8ccc9e2 Added before and after event hooks for subscriptions content
  • 2f65fa6 wiring in magicsig
  • e0388cc adding magic sig stuff
  • 75fdef2 handle poco nicknames in Ostatus_profile
  • b79d4ed add PoCo preferredUsername for nickname in Profile::asActivityNoun()
  • fae5a15 add strongly-suggested link to Profile::asActivityNoun()
  • e94800c fix broken link in OpenID documentation
  • f54c9b7 Fixed error/warning message location in OStatus autorize subscription page
  • 47300a2 Upgrade profile-based activity noun to have more complete set of profile fields
  • effa4f5 adding extlib for Crypt_RSA
  • 17ed30d OStatus: fix remote subscription when putting webfinger address in the little box
  • 891e002 don't calculate replies for remote notices
  • a9599d5 some info code for usersalmon.php
  • e4c4f90 don't save Notices that already exist in Salmon
  • 48839a1 change erroneous common_sql_time() to common_sql_date()
  • e39e6cd was using HTMLPurifier::purify() as a static method, which it is not
  • 17c329b add HTMLPurifier config
  • 5207783 OStatus: record source profile & saving method in ostatus_source table; this allows us to distinguish posts that have come through an unverified group feed
  • cc18f75 hook in OStatusPlugin to return Ostatus_profile URIs where applicable
  • a745d38 slight rearrangement of getting profile URIs
  • 232b5ef Add error info for missing URI in attention
  • 13fb7be reversed in_array() arguments in UsersalmonAction
  • de522d7 Wasn't putting in namespaces for reply salmons
  • bd21f48 Notice::getReplies() returns array of profile IDs
  • ad10e6e OStatus: drop the remnants of feedsubsettings, replaced by ostatussub and no longer linked in UI
  • be70dd3 work harder to preserve info when creating new Ostatus_profile
  • 78ca45c OStatus PuSH fixes: - hub now defers subscription state updates until after verification, per spec - hub now supports synchronous verification when requested (if async is not requested after) - client now requests synchronous verification (it's a bit safer) - cleanup on subscription logging/error responses
  • 912814f use some constants and do some extra output in webfinger output
  • bd74f05 Do mention lookup for Webfinger accounts in OStatusPlugin
  • bf23c35 Add OStatus_profile::ensureWebfinger()
  • fde64dd make some of the Webfinger magic strings constants
  • f6ebe81 Performance fix for FriendFeed sup interface: MySQL query optimizer was doing a table scan on notice; explicit subquery makes it run much more efficiently, only scanning items within the period under consideration. Standard subquery should be PostgreSQL-compatible.
  • 10281d5 Add PoCo namespace to notice feeds
  • aa0b2ce OStatus PuSH fixlets: - set minimal error page output on PuSH callback - allow hub to retry ($config['ostatus']['hub_retries']), simplify internal iface a bit. Retries are pushed to end of queue but otherwise not delayed yet; makes delivery more robust to one-off transitory errors but not yet against downtime.
  • 1c22bf2 fixup activity serialization so salmon notifications work
  • 5349aa4 OStatus feedsub fixlets: - actually udpate feedsub.last_update when we get a new PuSH update in - move incoming PuSH processing to a queue handler to minimize time spent before POST return, as recommended by PuSH spec. When queues are disabled this'll still be handled immediately.
  • 10f6c02 include namespaces in posted activities in notifyActivity()
  • ab3db8c Combine code that finds mentions into one place and add hook points
  • ad3406a use Ostatus_profile::ensureActivityObjectProfile() in SalmonAction::ensureProfile()
  • 16a43b1 slightly more robust remote profile creation
  • 3e7a2a4 Fix for doc action on systems that return false for globbing in a non-existing dir
  • 588fe5d OStatus: debug aid - log the received Salmon post when it can't be parsed properly as an
  • de09353 correct actor for OStatusPlugin::onEndUnsubscribe()
  • 068d8f9 correct call to time() in Ostatus_profile::notify()
  • f83941a correct name check in ActivityObject::fromProfile()
  • 5aeed9e add activity:subject to atom feeds
  • d5ba9e1 add feed-level author for user atom feeds
  • 1a86bf9 try different ways to get a profile from a feed
  • d372a35 make avatar attribute explicit for ActivityObject
  • 09e2d18 remove unused profile code from salmonaction
  • 727773c redirect ostatussub if not logged in
  • df7c6b3 use notifyActivity() for notifications in OStatusPlugin
  • 4e90bd3 activity notification in Ostatus_profile
  • ff2efd3 let activities generate their own XML
  • e9d2213 permalink on a note represented by rel=alternate
  • 7f471bd more tests for Activity parsing
  • 4a4c34d Save posted notices in usersalmon
  • 9498a16 Notice::saveNew() accepts url and rendered options
  • 6169d8a saving notices in salmon actions
  • 229f9bd more complete content retrieval in ActivityObject::__construct()
  • 5df6114 OStatus: fix regressions from merge
  • 6f1ccfc Subscription::start() should be enough, right?
  • 0c62c68 do some double-checks on favor and disfavor handlers in OStatusPlugin
  • a3de4ca make sure argument to Fave::addNew() is a profile
  • 96c6019 Add support for favor and disfavor notification
  • 145a199 OStatus: Salmon favorite & unfavorite events now handled
  • 9c2fe84 OStatus: send favorite/unfavorite notifications to remote authors
  • ea9d6f2 OStatus subscription page fixups; works but needs lots of UI loving! - ostatussub via subscribe button now works again (changed to take profile instead of feed, patched up to the new discovery) - added a quickie hack to allow putting your remote profile URI in place of webfinger acct through the remote-sub button (needs to be patched up to do proper discovery via XRDS or a link or something)
  • f3b0846 Change to use TagURI::base() instead of common_config()
  • f891b13 OStatus: fix regressions in plugin & usersalmon action. Sub/unsub notifications are working again.
  • 61a072b Add a library to mint tag URIs
  • 97b0143 drop no-longer-used XML_Feed_Parser extlib package from OStatus plugin
  • 36d21fa Add events for favor and disfavor
  • 866b647 add hooks for OStatus notification on subscribe/unsubscribe
  • ab4ec09 adjust URI, URL, and location in Ostatus_profile::processPost
  • 81ea0f8 Add HTMLPurifier to extlib
  • ed45df0 Cool bug! Technically good PHP syntax
  • 2df3bbc Move some salmon processing to a superclass
  • 50db2d5 OStatus: Salmon notifications now being generated moderately correctly. :) Needs to be an not a .
  • 557df3d OStatus: sub/unsub notifications working again. Fixed up autodetection of feed info at profile setup time
  • b032750 some more salmon stuff
  • a1a3ab1 OStatus: hooked up follow/unfollow events on Salmon endpoint to create/destroy remote subscriber relationships
  • 114eb31 OStatus: fix up Salmon endpoint detection/saving, timestamp fixes.
  • 512e8b6 remove unused subs_(un)subscribe_user functions
  • b0a75a2 replace calls to subs_(un)subscribe_user with Subscription methods
  • 52e8aa7 Refactor subs_* functions for remote use
  • 8d59f7c Using inlineScript instead for clickjacking check
  • b03c7a3 Only load json2.js if native JSON is not supported
  • 48edade add ActivityContext class and test it
  • 3d665f8 add type='text/html' to alternate link in Notice Atom
  • 0dac13d OStatus refactoring to clean up profile vs feed and fix up subscription issues. PuSH subscription maintenance broken back out to FeedSub, letting Ostatus_profile deal with the profile level (user or group, with unique id URI)
  • e717cba Add Script To Update Group Avatar URLs
  • 22ff358 OStatus sub/unsub updates: - fix for PuSH unsub verification - send Salmon notification on unsub
  • ddef800 Update Avatar URL Did Weird Stuff.
  • 310ac31 Minor adjustment to edit icon position
  • c36155e Fixes long strings from not breaking
  • c2ba764 always distribute to inbox of author immediately
  • 80ef394 more work on salmon
  • 1aeca39 Fix for cross site OMB posting problem
  • f55ef87 Fix for cross site OMB posting problem
  • ce6be4f Queues: redid the breakout control model so we can start up and subscribe to queues without running through the complete site list, which is ok at 1k sites but too slow at 10k. All breakout queues that we're going to need to listen to now need to be explicitly listed in $config['queue']['breakout'].
  • 73ba26e Twitter bridge - fix for Ticket #2192
  • 05c5049 Better logging for Twitter bridge account linking process
  • c201baf Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows us to automatically send in a callback url instead of having to manually configure one for each StatusNet instance.
  • c498f6e Twitter bridge - fix for Ticket #2192
  • 6b88772 Better logging for Twitter bridge account linking process
  • e8275aa Fix exception on bad plugin load
  • 8e07926 parse_url returns an associative array - not an object
  • 9f32461 PostDebug plugin - saves POST data to debug log or directory to help debug form submission and server-to-server communications. Some sensitive items are sanitized but not all - don't just shove out the log results publicly!
  • 198c046 - Set the root of a new local conversation to a new conversation.id - Output conversation URIs from conversation.uri
  • ed46a38 - conversation.uri needs to be nullable - factory method for creating new local conversations
  • a2f8c5d New Conversation DO to handle remote notices as conversation roots
  • 2cb2438 More sensical profile::getUri()
  • e51e96d OStatus: override source link with the source domain and link to original message
  • 454d0b5 OStatus: moving parts of profile processing to Activity from feedmunger. Pausing before refactoring DB schema a bit to clean up feed vs person vs group info
  • c892726 Take remote profiles into account when looking up canonical profile URIs
  • 4a139d1 OStatus: migrated notice parsing to use Activity helper classes; on the way to killing FeedMunger
  • 014a32e OStatus: check only direct children in ActivityUtil::child; fixes pulling actor's info when we wanted post info
  • 880acb0 OStatus: temporary output mode hack for apitimelineuser until PuSH feed generation is updated to use the shared code instead of output buffering
  • 440ab90 OStatus: fix up some recent regressions in subscription setup; fix state checks and verification token, and avatar save on setup. Needs updates for new atom code next...
  • a116cde OStatus: fix for low-level remote subscribe
  • eea52c7 Add rel="avatar" to img links in stanzas
  • 201110f restructure Activity classes to push more DOM stuff to ActivityUtils
  • 71ecd68 add a FIXME to Profile
  • c74aea5 Stomp queue restructuring for mass scalability: - Multiplexing queues into groups and for multiple sites. - Sharing vs breakout configurable per site and per queue via $config['queue']['breakout'] - Detect how many times a message is redelivered, discard if it's killed too many daemons - count configurable with $config['queue']['max_retries'] - can dump the items to files in $config['queue']['dead_letter_dir']
  • 3d0c3f0 Pull fix from testing branch: use new encoding funcs w/ stomp queues
  • 2e25845 Minor optimization to only bind an hover event to the notice at hand.
  • 3b8d060 Fix to allow any notice item with an attachment to use the overlay view
  • a8c2a82 move some nickname-guessing code to lib/util.php from OpenID
  • 813451c add a couple of FIXME comments
  • 5a357d5 change find() to staticGet() to use cache
  • f414544 Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows us to automatically send in a callback url instead of having to manually configure one for each StatusNet instance.
  • 8869ccc Temporary debug hack tracking down 'revoked accesstoken' issue with OMB posts
  • 0ba3759 Use static class method for looking up Twitter user
  • 9f8e25b Use static class method for looking up Twitter user
  • 01c4287 Twitter-bridge: lookup old foreign_user by primary key not url
  • 66f427c Twitter-bridge: lookup old foreign_user by primary key not url
  • a69863e Better log msgs. Removed debugging statement.
  • fdf6ed7 Better log msgs. Removed debugging statement.
  • 5cc1f8b Fix for regression introduced with my last update to the TwitterStatusFetcher: the Twitter bridge was not saving a foreign user record when making a foreign link.
  • 2b6a39f Fix for regression introduced with my last update to the TwitterStatusFetcher: the Twitter bridge was not saving a foreign user record when making a foreign link.
  • f5c69df Updated the base stylesheet for minor fixes (which relied on indenting)
  • 350f90e Added another single whitespace
  • 03edbfe Added single whitespace to separate inline text words.
  • 73e2264 test parsing a default atom feed for activities
  • f78cf31 update activity and salmon for previous commit
  • 62f5c04 More complete activity parsing
  • 171bf30 Dialogbox for OStatus remote subscription
  • 1cb94e0 Added dialogbox styles for OStatus subscribe form
  • 4d050f9 Added XHR channel for OStatus Subscribe button
  • f30af70 Updated feed subscription form markup
  • 2439426 Updated OStatus form markup
  • f6e766d Using the new remote subscription event and updated subscribe label
  • fc19179 Added event hook to remote subscription
  • f3a82e7 Add OStatus PuSH hub and Salmon links back into user and group feeds
  • d6f1df8 fix for Atom notice output: correct check against conversation & current id
  • 38f42d5 Session fix for PHP 5.3 configurations where cookies are excluded from $_REQUEST via request_order in php.ini (Fedora 12, MacPorts known to be affected)
  • 506c2d7 Initial upgraded Atom output for group timelines
  • fd3c933 PHP 5.3 compatibility hack for DB_DataObject
  • b39047d OStatus: prep work for sending notifications on sub/unsub/join/leave/favorite/unfavorite via Salmon; needs to be completed and hooked up once feed gen is fixed.
  • 47f6b0a Revert "Added 'pre' to pick up Palm Pre's UA string:"
  • 094565b Added 'pre' to pick up Palm Pre's UA string: Mozilla/5.0 (webOS/1.3.5.1; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0
  • b57e3df More style generalisation for dialogbox
  • 42679a2 Extracted default values for dialogbox layout and uniqe for form_repeat
  • fd527b8 Moved colour properties out of base stylesheet
  • 3205325 flesh out salmon endpoint
  • 5f94efc stub for activities
  • bc46621 OStatus sub setup code cleanup and partial group fixes (needs more work after the Atom updates are done)
  • 525358f Fix retarded spelling mistake
  • 3beddff ostatus:attention links in Notice Atom output
  • 8e6b52e OStatus: renamed feedinfo table to ostatus_profile -- will cover remote ostatus people and groups whether a subscription's active or not (maintains identity over unsub/resub, and between subscribers and subscribees)
  • e08657d OStatus: correct parsing of georss:point for max interop (commas allowed, whitespace not strictly defined)
  • 31461e1 let files go to SSL dir too
  • 3018683 let backgrounds be put under SSL
  • b96af33 put Javascript files under SSL
  • c465f67 Make Atom timelines in the API use Atom10feed
  • c8d5c84 Added some boilerplate class comments, etc.
  • e2c0f59 Some upgrades to Atom output for OStatus
  • ce3c3be Utility classes for atom feeds
  • d6869cd let avatars be served over SSL
  • 5175b50 default theme ssl to null
  • 316ed3f null theme ssl setting means 'guess'
  • a6ab9c4 Themes can be served from an SSL server
  • 1773d12 OStatus: save Salmon postback URI in feed subscription info, if provided. Will need it for sub/unsub postbacks and other notifications.
  • 21bfbc4 OStatus: fix salmon link on Atom feeds; add a url spec for group feeds as well (endpoint needs impl)
  • 20714d1 OStatus fix: include feed profile at notice text processing time, fixes replies
  • 71151b2 OStatus: garbage collect unused PuSH subscriptions when the last local subscriber unsubs
  • 4ae760c OStatus PuSH fixes: * HMAC now calculated correctly - confirmed interop with Google's public hub * Can optionally use an external PuSH hub, set URL in $config['ostatus']['hub'] (may have issues in replication environment, and will ping the hub for every update rather than just those with subscribers) Internal hub will still function when this is set, but won't be advertised. Warning: setting this, then turning it off later will break subscriptions as that hub will no longer receive pings.
  • 162868a OStatus update: now using standard save/delivery for incoming ostatus messages -- they get reflected to realtime and everything! woooo Group delivery may still need some munging
  • 7752612 fix hubdistrib
  • 0457973 fix up hub queueing to work w/ stomp queues
  • d9c9b2a Queue daemon fixes: * skip unnecessary unsubscribes on graceful shutdown -- takes a long time for many queues, slows down our restarts when hitting graceful mem limit * fix control channel (was broken when we switched to support multiple queue servers)
  • f37063c Filename case fix
  • 6b10c26 Fix to Realtime's repeat notice form legend and notice id
  • dcd9b2a Refactored repeat confirmation dialog. Also fixes dialog skipping.
  • f4ebac5 removing the webfinger hack for Notice::asAtomEntry since salmon can use a profile URL
  • 46f90f7 moving salmon endpoint under 'main/'
  • 8449256 OStatus partial support for group subscriptions: * detection of group feeds is currently a nasty hack based on presence of '/groups/' in URL -- should use some property on the feed? * listing for the remote group is kinda cruddy; needs to be named more cleanly * still need to establish per-author profiles (easier once we have the updated Atom code in) * group delivery probably not right yet * saving of group messages still triggering some weird behavior
  • e856af3 Configurable delay between queuedaemon.php spawns/respawns to help stagger out startups and subscriptions. Defaults to 1 second. $config['queue']['spawndelay'] = 1;
  • cd0f288 Configurable delay between queuedaemon.php spawns/respawns to help stagger out startups and subscriptions. Defaults to 1 second. $config['queue']['spawndelay'] = 1;
  • c2475f8 in progress Salmon responses
  • 841981a discovery piece - hand merged :P
  • 70d5f39 Better checking for duplicate app names
  • b56b154 Better checking for duplicate app names
  • bc4e843 Disable deprecated 'since' parameter on public_timeline API; causes performance problems. (since_id will work cleanly)
  • b9b0f04 Pull GeoRSS locations over OStatus feeds
  • 96ef443 Allow scripts/decache.php to blow out cache for objects that don't exist (anymore). May miss keys other than the given or primary key, but should work for a lot of common cases where a bad entry's been removed from DB but lingers in cache.
  • 384387c OStatus cleanup... * Treat linkless feed posts as status updates; drop the "New post:" prefix and quotes on them. * Use stable user IDs for atom/rss2 feed links instead of unstable nicknames * Pull Atom feed preferentially when subscribing -- can now put the remote user's profile page straight into the feed subscription form and get to the right place. * Clean up naming for push endpoints
  • 9cac8ea readme and version for beta5
  • c83d0b5 Delete old Twitter user record when user changes screen name instead of updating. Simpler.
  • 21c0e75 Store Twitter screen_name, not name, for foreign_user.nickname when saving Twitter user.
  • dc09453 First steps on converting FeedSub into the pub/sub basis for OStatus communications: * renamed FeedSub plugin to OStatus * now setting avatar on subscriptions * general fixes for subscription * integrated PuSH hub to handle only user timelines on canonical ID url; sends updates directly * set $config['feedsub']['nohub'] = true to test w/ foreign feeds that don't have hubs (won't actually receive updates though) * a few bits of code documentation * HMAC support for verified distributions (safest if sub setup is on HTTPS)
  • b0a3105 Blacklist admin panel
  • 6e58095 Move authorization for admin panels to AdminPanelAction class
  • 8f3c0ef BlacklistPlugin accepts config values for patterns
  • ceb0236 update copyright date for Blacklist
  • a092aac add events to fine-tune user deletion
  • 5fdcd88 Moderator can make users admins of a group
  • 70abea3 Delete old Twitter user record when user changes screen name instead of updating. Simpler.
  • 558934d Store Twitter screen_name, not name, for foreign_user.nickname when saving Twitter user.
  • 875e1a7 Don't spew warnings on usage of MEMCACHE_COMPRESSED constant when memcache PHP extension is not present. Switched to a locally-defined Cache::COMPRESSED, translating that to MEMCACHE_COMPRESSED in the plugin.
  • 857494c Actually store the timestamp on each nonce
  • 208eec6 OAuth app name should not be null
  • 4379027 Fix issue with OAuth request parameters being parsed/stored twice when calling /api/account/verify_credentials.:format
  • af9f23c - Fix cache handling in TwitterStatusFetcher - Other stability fixes
  • 586d8e8 Added right margin for notice text. Helps Conversation notices look better.
  • 7931875 Confirm dialog for reset OAuth consumer key and secret button
  • 4041a59 Always check for an OAuth request. This allows OAuth clients to set an auth user, similar to how they can set one via http basic auth, even if one is not required. I think I finally got this right.
  • 5417124 Linkify notice source when posting from registered OAuth apps
  • e9ecd80 Suppress notice input box on OAuth authorization page
  • b31c79c Better token revocation
  • e495ac3 Allow developers to delete OAuth applications
  • dc183f2 OAuth app names should be unique.
  • 8a0a891 Prevents app statistic text from wrapping around avatar
  • 52397f1 Sentence case for app statistics
  • 10dfcde Actually store the timestamp on each nonce
  • 82f1119 OAuth app name should not be null
  • 5e0cc07 Fix issue with OAuth request parameters being parsed/stored twice when calling /api/account/verify_credentials.:format
  • 4502bea drop debug messages from inbox deletion fix
  • bb16898 Inbox::streamNotices() with deletion compensation: inbox paging should more or less work with deleted items now. No change in efficiency for the common case where nothing's deleted: does the same bulk fetch of just the notices we think we'll need as before, then if we turned up short keeps checking one by one until we've filled up to our $limit.
  • 9554b4c Inbox::streamNotices() with deletion compensation: inbox paging should more or less work with deleted items now. No change in efficiency for the common case where nothing's deleted: does the same bulk fetch of just the notices we think we'll need as before, then if we turned up short keeps checking one by one until we've filled up to our $limit.
  • 2eadeca Missed change when refactoring groups. Thanks macno
  • 37f3a3d Missed change when refactoring groups. Thanks macno
  • 239b880 Should fix spurious 'nickname taken' and 'email taken' errors on registration. Form's checks for existing nicks & emails would incorrectly return true on the second lookup due to bad interaction with negative caching. (was checking $obj !== false but we return null now on negative cache hits, with false for cache misses)
  • 5bdc6fa Moved hardcoded identica theme out of MobileProfile. In this case, it will use whichever theme is loaded as its base and then add its own mobile styles. Of course, if a theme comes with its own mobile styles, it will use that instead as an addition to its own base.
  • 5a1cbdc Add time-based cutoffs for public tag cloud, favorited lists to speed up those queries. Defaulting to only looking at last 90 days of activity, can be adjusted up or down.
  • c56250f Added accept and reject icons to remote subscription authorization
  • d2dc3e4 Fixes minor remote subscription profile layout
  • 9ca4fd6 - Fix cache handling in TwitterStatusFetcher - Other stability fixes
  • 7a7e216 Script to update profile URLs
  • dbeb388 clear cache for Profile::hasRepeated() at Notice::insert() time
  • efa930a Added right margin for notice text. Helps Conversation notices look better.
  • 0e0beea clearcache.php column flag was conflicting with default flag
  • aee73d8 showcache.php column flag was conflicting with default flag
  • 644a916 change 'sitetype' to 'siteplan' to use consistent language
  • 6215b97 add nickname as unique key for user_group table
  • ac8a4a7 Confirm dialog for reset OAuth consumer key and secret button
  • 2085b50 Always check for an OAuth request. This allows OAuth clients to set an auth user, similar to how they can set one via http basic auth, even if one is not required. I think I finally got this right.
  • 51c3606 Fix regression breaking file attachments. This is what I get for rushing fixes and not properly testing them. :P
  • 027c7e6 Fix regression breaking file attachments. This is what I get for rushing fixes and not properly testing them. :P
  • 245610d Removed entity flag stylesheet and icons from plugin to core.
  • a1f55c3 Added flag icon to core
  • 7cecd7f Added single icon for Clear
  • 65c5d78 Added icon to Clear label for UserFlag plugin
  • 5f14301 setconfig.php: list all current settings if no parameters given
  • 4f6052d Apply xopher's fix to add 'sitetype' parameter to setup_status_network.sh, exposed to the email
  • 7b690da Minor alignment notice form alignment for default theme
  • cc256aa Updated StatusNet logos
  • dae28d9 Linkify notice source when posting from registered OAuth apps
  • 3906713 Suppress notice input box on OAuth authorization page
  • 8191273 Better token revocation
  • f0875ce Allow developers to delete OAuth applications
  • df2a081 OAuth app names should be unique.
  • dabfe19 Fixed margin-left on lists inside .hentry and .form_settings
  • 803c6d9 Revert "Removed hAtom pattern from registration page."
  • d40e72b Prevents app statistic text from wrapping around avatar
  • 0e49b35 Sentence case for app statistics
  • f964357 readme and version for beta5
  • fba4153 Don't enqueue into plugin or SMS queues when disabled (breaks unqueuehandler if SMS queue isn't attached)
  • 6159edc Improve name validation checks on local File references
  • 57d8f22 fix local file include vulnerability in doc.php
  • d737466 Reusing fixed selector name for 'processing' in util.js
  • d6fe865 Removed hAtom pattern from registration page.
  • f9cb1c3 restructuring of User::registerNew() lost password munging
  • 5d2c083 Add a script to clear the cache for a given key
  • fb36094 buggy fetch for site owner
  • 0c838f8 Added missing concat of in Realtime response
  • 9f36c10 Updated XHR binded events to work better in jQuery 1.4.1. Using .live() for event delegation instead of jQuery.data() and checking to see if an element was previously binded.
  • 72037d6 Updated jQuery Form Plugin from v2.17 to v2.36
  • 99a7dd6 Updated jQuery JavaScript Library from v1.3.2 to v1.4.1
  • 81087e4 move schema.type.php to typeschema.php like other files
  • 30268cf Add Really Simple Discovery (RSD) support
  • dc62246 Add a robots.txt URL to the site root
  • fec8066 error clearing tags for profiles from memcached
  • 4ae31f3 on exceptions, stomp logs the error and reenqueues
  • def5d56 add lat, lon, location and remove closing tag from geocode.php
  • 1b7cc33 Use passed-in lat long in geocode.php
  • a1c9874 better handling of null responses from geonames.org
  • 4d0ee6a Globalized form notice data geo values
  • aa3170c Using jQuery chaining in FormNoticeXHR
  • bb0bf63 Using form object instead of form_id and find(). Slightly faster and easier to read.
  • 22a6e46 removed describeTable from base class, and fixed it up in pgsql
  • 870c83c getTableDef() mostly working in postgres
  • e765a96 move the schema DDL sql off into seperate files for each db we support
  • 8318f19 plugin to limit number of registered users
  • 8cb8b35 add hooks for user registration
  • 2a054a5 live fast, die young in bash scripts
  • a7b2a08 for single-user mode, retrieve either site owner or defined nickname
  • 70a4f8c method to get the site owner
  • d437b76 define a constant for the 'owner' role of a site
  • f6eecf0 add simple cache getter/setter static functions to Memcached_DataObject
  • b68a21d Adds notice author's name to @title in Realtime response
  • f6c8b8a Hides .author from XHR response in showstream
  • efb3934 Hides .author from XHR response in showstream
  • 4d3808a Fix more fatal errors in queue edge cases
  • e5eca9b Don't attempt to resend XMPP messages that can't be broadcast due to the profile being deleted.
  • ccb678a Wrap each bit of distrib queue handler's saving operation in a try/catch; log exceptions but let everything else continue.
  • 288dc34 Log exceptions from queuedaemon.php if they're not already caught
  • 440ee00 Move sessions settings to its own panel
  • 864ce8e Fixes for status_network db object .ini and tag setter script
  • 4a0413c Add a script to set tags for sites
  • 48a1a5a Adjust API authentication to also check for OAuth protocol params in the HTTP Authorization header, as defined in OAuth HTTP Authorization Scheme.
  • d13d73c Last-chance distribution if enqueueing fails
  • 155a5d4 Manual failover for stomp queues.
  • 63a0e84 lost config in index.php made all traffic go to master
  • a33194e Revert "Revert "move RW setup above user get in index.php so remember_me works""
  • be7bca2 Revert "move RW setup above user get in index.php so remember_me works"
  • fa78953 move RW setup above user get in index.php so remember_me works
  • 513f8be hide most DB_DataObject errors
  • 74a03cb always set up database_rw, regardless, so cached sessions work
  • 84b5480 update mysqltimestamps on insert and update
  • c81318d additional debugging data for Sessions
  • e5ff610 'Sign in with Twitter' button img
  • 171c97f Update to aside styles in biz theme
  • 1e8b14d Update to notice item in biz theme
  • 8eec008 Update to biz theme button close and minimize styles
  • 72fc0f6 Update to biz theme's input styles
  • f66e0ed Updated biz theme entity_actions styles
  • 9af751c Updated biz theme to use dialogbox styles
  • 852a8b8 Updated biz theme notice options
  • 8a18fd9 Updated biz theme to hide form_repeat legend
  • f4c037f Updated biz theme to use the single icons file
  • 108aa05 Updated geo sharing styles for biz
  • df2390a Fixed layout when ad plugin is on for biz
  • 612dce4 Fixed layout for powered by statusnet in biz
  • d773ed8 Remove redundant session token field from form (was already being added by base class).
  • 558bf0f 'Sign in with Twitter' button img
  • a868a52 Can now set $config['queue']['stomp_persistent'] = false; to explicitly disable persistence when we queue items
  • 22d9c32 Update to aside styles in biz theme
  • b4babed Update to notice item in biz theme
  • 1662aa1 Update to biz theme button close and minimize styles
  • d29af38 Update to biz theme's input styles
  • d955fb5 Updated biz theme entity_actions styles
  • 156efda Updated biz theme to use dialogbox styles
  • 83087e9 Updated biz theme notice options
  • 6e556e5 Updated biz theme to hide form_repeat legend
  • e881888 Updated biz theme to use the single icons file
  • b969fba Updated geo sharing styles for biz
  • d4289cb Fixed layout when ad plugin is on for biz
  • 61114ce Fixed layout for powered by statusnet in biz
  • c6f8b94 Showing processing indicator for form_repeat on submit instead of form
  • 5b1245a Removed avatar from repeat of username (matches noticelist)
  • dcce323 Removed unused variable assignment for avatar URL and added missing fn
  • ffaaf9d Don't preemptively close existing DB connections for web views (needed to keep # of conns from going insane on multi-site queue daemons, so just doing for CLI) May, or may not, help with mystery session problems
  • 78fe76b dropping the setcookie() call from common_ensure_session() since we're pretty sure it's unnecessary
  • 65c4cff append '/' on cookie path for now (may still need some refactoring)
  • 1ba8045 set session cookie correctly
  • 7347381 Fix for Mapstraction plugin's zoomed map links
  • 427ac3a debug log line for control channel sub
  • c2c262e Move faceboookapp.js to the Facebook plugin
  • 644c319 fix notice -- drop unused return value of variable that isn't initialized :) thx @ g0 for the catch
  • fbd5211 fix notice -- drop unused return value of variable that isn't initialized :) thx @ g0 for the catch
  • f026ece fix for fix for bad realtime JS load
  • 5c0560a fix for fix for bad realtime JS load
  • ee4ea3f increment software beta version
  • c805a5e Update queue, translation notes in readme
  • 3abfb45 Adds an emergency switch so we can run inbox distribution at save time (bypassing 'distrib' queue) Set $config['queue']['inboxes'] = false to do so
  • 5182cc6 Numbered format specifiers
  • 07d50a0 fix update script -- read the diff wrong and put a couple fields on wrong table (whoops)
  • f296f04 Remove debugging statement
  • 324590c Some adjustments to the way API auth works after merging testing and 0.9.x
  • 420ae06 These API methods should return true for ->isReadOnly($args)!
  • fe531df Shuffle params on setup_status_network; adding fullname and pushing tags up
  • dd413ff move script into OpenXPlugin::showAd() so it works
  • 97a1ef1 using an action for output in OpenX plugin
  • e7a5471 add additional post-install shell script option for setup_status_network.sh to do any other site-specific setup
  • 0373ab6 Plugin to enable OpenX ads
  • 06cd335 Add scripts/sendemail.php to send email to a user's address. Updated setup_status_network.sh to create a user with the site's nick, accept site tags, and send a mail to the user (if a template is set)
  • 2aba2ee width and height should be integers in AdsensePlugin
  • 00d9b21 Plugin to support Google Adsense
  • b0a325f HTTP auth provided is evaluated even if it's not required
  • 9a54745 Rename rc3to09.sql to rc3torc4.sql to avoid confusion if we add a last-minute change after this!
  • 4764522 Add new oauth tables and modifications to 'consumer' table for rc4
  • 5e31ecd Centred leaderboard ad
  • 760be76 camelcase the uap param names
  • ea12380 move leaderboard to after the header
  • 1c875a5 Moved rectangle ad into aside and leaderboard to the right in header. Intention for this layout was to reduce whitespace in header area
  • e3bd97b Aligning wide skyscraper to the right instead of left
  • e9feafc CSS ids and classes fixed in UAPPlugin
  • 4ad931a wrong height for rectangle in BlankAd
  • e4393ee Add the moved BlankAdPlugin
  • b2b95bd make BlankAd dir and change to use a 1x1 image
  • b412eba move BlankAdPlugin to its own dir
  • 9decd98 Add BlankAdPlugin to test ad layout in different themes
  • 7c54591 make uapplugin an abstract class
  • 1758ed4 move UAP plugin to core
  • 58fde0d Lowercased switch cases in UAP Plugin
  • 61a7a7b Plugin for Universal Ad Package. Outputs four most widely used ad types.
  • c515398 Add persistent:true property to Stomp messages so ActiveMQ doesn't decide to discard them even though persistence is enabled on the broker. :) (Thanks Aric!)
  • b140289 Set default 24-hour expiry on Memcached objects where not specified.
  • 7aeb03f quick fix: use common_path() on realtime update JS so it works with the new JS path code (will pull from main server for now)
  • c52951c Optionally set a separate Javascript server and path
  • 2e0297b Better alignment for notice in shownotice page
  • 04a37fa Better alignment for notice in shownotice page
  • 54d04a0 Test script to update your status via OAuth
  • 756da7b s/LOG_WARN/LOG_WARNING/
  • 923b7de - Check for read-only vs. read-write access to protected API resources (OAuth) - Some cleanup
  • 4202fff Make more complete sentence.
  • 97e1acd Fix casing for HMAC-SHA1.
  • 492950b Fix inconsistent title case in page title
  • aad4242 New access admin panel for site registration settings
  • 03685bb - Remove redudant/unused 'server' setting from site admin panel - Move 'fancy urls' checkbox from site admin panel to paths admin panel
  • 58be61b Control channel for queue daemons to request graceful shutdown, restart, or update to listen to a newly added or reconfigured site.
  • ad6f050 Site metadata tags in status_network: single 'tags' field, pipe-separated. $sn->tags() returns tag list as array; $sn->hasTag('blah') to check for a particular tag only
  • cebab43 Updated geolocation sharing in notice form for Realtime pop
  • e05c325 Updated geolocation sharing in notice form for Realtime pop
  • 02957d2 Add Julien C to author comments
  • f7450d2 - Remove redundant function - clean up log msgs
  • ce44008 Use "Sign in with Twitter" auth pattern and official Twitter button for Twitter-based login. See: http://apiwiki.twitter.com/Sign-in-with-Twitter
  • 1c1abfc Ask the user to set a password before disconnecting from Twitter
  • 2d97e15 - Twitter username wasn't getting stored in Foreign_user when linking Twitter account (fixed) - Updates to comments
  • 7fc5588 Allow logging in using Twitter
  • 655573c Single-user mode
  • 817f01c Setting the geo location cookie expire date far into the future: 2029 ;)
  • d17b7fa Setting the geo location cookie expire date far into the future: 2029 ;)
  • 9bacdb9 Updated howto create a theme
  • 23e96dd Added version info for MobileProfile plugin
  • 6ae453b Fixed innerHTML problem in IE7 and 8 for badge script
  • 72ae0ec Removed mobile stylesheet from core o

New in StatusNet 0.8.0 (Jul 16, 2009)

  • Support for a hosted service (status network). Multiple sites can share the same codebase but use different databases.
  • OEmbed. Links to pages that support OEmbed (http://www.oembed.com/) become popup links, and the media are shown in a special lightbox.
  • File attachments. Users can attach files of the size and type approved by an administrator, and a shortened link will be included in the notice.
  • Related notices are organized into conversations, with each reply a branch in a tree. Conversations have pages and are linked to from each notice in the conversation.
  • User designs. Users can specify colours and backgrounds for their profile pages and other "personal" pages.
  • Group designs. Group administrators can specify similar designs for group profiles and related pages.
  • Site designs. Site authors can specify a design (background and colors) for the site.
  • New themes. Five new themes are added to the base release; these show off the flexibility of Laconica's theming system.
  • Statistics. Public sites will periodically send usage statistics, configuration options, and dependency information to Laconica dev site. This will help us understand how the software is used and plan future versions of the software.
  • Additional hooks. The hooks and plugins system introduced in 0.7.x was expanded with additional points of access.
  • Facebook Connect. A new plugin allows logging in with Facebook Connect (http://developers.facebook.com/connect.php).
  • A session handler. A new optional session handler class to manage PHP sessions reliably and quickly for large sites.
  • STOMP queuing. Queue management for offline daemons has been abstracted with three concrete instances. A new interface that should work with STOMP servers like ActiveMQ and RabbitMQ is available, which should make things scale better.
  • Group block. Group admins can block users from joining or posting to a group.
  • Group aliases. Groups can be referred to with aliases, additional names. For example, "!yul" and "!montreal" can be the same group.
  • Bidirectional Twitter bridge. Users can read the tweets their Twitter friends post on Twitter.
  • Adaptation of WordPress?.com Terms of Service (http://en.wordpress.com/tos/) as default TOS for Laconica sites.
  • Better command-line handling for scripts, including standard options and ability to set hostname and path from the command line.
  • An experimental plugin to use Meteor (http://www.meteorserver.org/) for "real-time" updates.
  • A new framework for "real-time" updates, making it easier to develop plugins for different browser-based update modes.
  • RSS 2.0 and Atom feeds for groups.
  • RSS 2.0 and Atom feeds for tags.
  • Attachments can be sent by email.
  • Attachments are encoded as enclosures in RSS 2.0 and Atom.
  • Notices with attachments display in Facebook as media inline.

New in StatusNet 0.7.3 (Apr 9, 2009)

  • A plugin to allow a templating language for customization
  • A plugin for Piwik Analytics engine
  • A bookmarklet for posting a notice about a Web page you're reading
  • A welcome notice ('welcomebot') and default subscription for new users
  • Support for SSL for some or all pages on the site
  • Better handling of empty notice lists on many pages
  • Major improvements to the Twitter friend-sync offline processing
  • Subscribers, subscriptions, groups are listed on the Personal page.
  • "Invite" link restored to main menu
  • Better memory handling in FOAF output
  • Fix for SUP support (FriendFeed)
  • Correct and intelligent redirect HTTP status codes
  • Fix DB collations for search and sort
  • Better H1s and Titles using user full names
  • Fixes to make the linkback plugin operational
  • Better indication that a notice is being published by Ajax (spinner)
  • Better and unified Atom output
  • Hiding "register" and "join now" messages when site is closed
  • Ping, twitter and facebook queuehandlers working better
  • Updated RPM spec