Add TwitterOAuth library to core files which is used by new Twitter module to connect to Twitter. php/twitter.php provides a callback url for Twitter as well as being able to produce an h-feed for a home timeline. Also improved SimplePie feed discovery when an id is used.
Created a separate notify endpoint for Microsub, rather than extending Micropub protocol. Micropub settings are no longer required to use the new account on a Microsub server. When an IndieAuth user logs in their token endpoint is now stored in case it's required by the Microsub endpoint, which will now check the provided token. The Microsub endpoint now also expects external users to provide their url as a 'me' parameter added to the endpoint.
The url of a new notify endpoint is now provided by the client when first connecting to a Microsub server. Feed subscription limit is now requested from the Microsub server rather than requiring the limit be set on both the client and server.
Now provides UI for syndicate-to and destination settings found in Micropub config. Also improved native send to twitter option that checks if brid.gy has been set up and provides an option to start an account on brid.gy if not.
category_markup in style.php now only sets u-category on person tags and now that u-repost-of markup is handled by Post module only u-url is required when action provided is repost-of. Simplified the way the repost author is passed along in SimplePie->Parser parse_hcard method. Fixed a bug in parse_hcard in microformats.php where nickname and note were being overwritten with empty strings.
More improvements, feeds subscribed to automatically via a list are now only shown in the feed dialog. "Add Feed" label is now Search and will filter the feed list based on input so you can check if you're already subscribed to a feed.
Another fix related to the previous one. When the reader is checking for new items don't look at older tables because it's not required that a set amount of new items be returned. Also improved previous fix to channel count updates.
A few small fixes following last commit: unset cached token on microsub error, make sure a nickname result is returned when not found in the database, and fixed looking for the repost author when creating a tooltip.
Added a manual check feed button to feed settings. Improved microsub search, if there's only one feed returned just subscribe to that. Lots of small microsub bug fixes and improvements after trying to use it for a few weeks. Nickname method now returns all details for a url so that Post module can store them locally. Improved tooltips so that the channel matches the repost author.
install_module.php tried to fix a race condition bug where copied files are read before they are written to disk. remove.php was missing some includes that could be required due to extra work done by Post module Remove method.
Bug fixes following previous Cart module commit, now that date is not always selected need to make sure valid date checks are also done on the server. Also don't try and use the datepicker in js when the matching html hasn't been added to the page.
Made IndieAuth a bit friendlier by allow bare domains to be used as input and the endpoints will sort out what scheme to use. Microsub server wasn't looking in the right place for IndieAuth tokens and was also expecting all requests to come in via HTTP GET.
Added reader-microsub-client to the list of templates that can't be changed in single user mode. Improved control-page-options editing by resetting the session variable when changed so that the menu gets recreated on page refresh.
Fixed a few bugs in Exended module, tabs were switching after adding a new selector and extra rules were displayed when 'new style rule' button was clicked. Also fixed related bug in style.php where the new rule was set as readonly.
Post module now saves all comment types as normal comments and leaves display up to the Commenteditor module. Also fixed a bug that prevented comments with multiple photos being displayed with a lightbox.
Add customizable taxable header field to Stock module downloads. Stock module js now ignores the taxable header when checking for the header row and can also import the new file format for Sovereign Foods.
Fixed a bug in deploy.js where a class name wasn't removed so couldn't progress to the next step. Fixed a bug in deploy.php, HTMLPurifier wants a Serializer directory created for it. parse_hentry microformats function now uses SimplePie image cache when displaying photo properties for comments.
deploy.php doesn't set single user mode if username is admin. Exit testing if an out of date instance.php was found in create.php. category_markup function in style.php now supports an action parameter.
Reader module now avoids using SimplePie sanitation since HTMLPurifier is also used when the content is saved. No longer lower cases feed urls because it can contain a query string which is not case insensitive. Special case for twitter-atom was removed because the mf2 version of the feed is now available.
Post module removed hidden webaction link modified in previous commit because it required css which is not used when displayed on other sites. The proper markup is now added to the link saved as a category, which isn't displayed on other sites.
Cart module changed sorting cart items to only be available in edit mode. Shipping is no longer calculated for logged in customers. Tracked items are removed from the cart when tracking is turned off from the stock item.
Added new verification step to deploy.php. Dependency checks have changed, so installer.php now expects an array back from install_module and creates a message to return. User class will now check for a verification string when a code is used and look for a matching DNS TXT record.
Autoupdate module now stores the id's for the posts it creates so it can remove them if an update is removed. Also forgot to include call to AddTemplateDescription from Install method so try again on next Update. Title placement in module-info was right the first time, just needed to reset the margin. Removed call to sleep when extracting a tar file as the problem was actually a typo in install_module.
Improved UI for Autoupdate module, check version number for updates that haven't been installed so that it can be run manually. Fixed a bug where categories must be unique by changing the display value to a string. Updates that are removed from the feed now have their latest version number removed too.
Autoupdate->InstallModule required an extra step so that the new module could be included, so added FinishInstall function. Also made some changes to how updates feed is published on the build server. There's now an autoupdate-testing template to publish a testing feed when calling CreatePost. This means some sites can choose to receive automatic updates earlier, and if there are any problems the update can now be removed so that a new update can be built with the same version number.
Added support to User class for single user mode and using a login code. Both are used by deploy.php, single user mode will be set if an email address is passed to the script as a url parameter, a login code will be created if a password is not provided.
Added update_only parameter to install_module function since it can't include module.php when called from a module, which means new modules can only be autoloaded via a new request. Updated Mf2 parser to latest version. Fixed a bug in update.php, Reader module must be created with an owner set so that notifications can be created from the Autoupdate module which requires an owner.
Improved url checks for saving posts to Automatic Updates module. Fixed a bug in RenewHub due to urls containing a fragment identifier. Add a special case for twitter feed to look up old names in the nickname cache.
The previous core update to IDNA Convert class means npdata.ser file is no longer required, so try using core_update to remove it. Also fixed another SimplePie bug in Misc.php due to NULL empty string mismatch.
This is the first core update to Dobrado created using the new Automatic Updates module! It contains the new deploy.php file, which can be copied to a web server and run as a stand-alone file. It follows a step by step process to get Dobrado running on the server.