{
    "href": "/post/2005/04/14/solar-010-released/",
    "relId": "2005/04/14/solar-010-released",
    "title": "Solar 0.1.0 Released",
    "author": "pmjones",
    "markup": "html",
    "tags": [
        {
            "href": "/tag/php/",
            "relId": "php",
            "title": "PHP",
            "author": null,
            "created": null,
            "updated": [],
            "markup": "markdown"
        },
        {
            "href": "/tag/solar/",
            "relId": "solar",
            "title": "Solar",
            "author": null,
            "created": null,
            "updated": [],
            "markup": "markdown"
        }
    ],
    "created": "2005-04-15 04:09:14 UTC",
    "updated": [
        "2005-04-15 04:09:14 UTC"
    ],
    "html": "<p><a href=\"http://solarphp.com\">Solar</a> is a simple object library and application repository for PHP5.  This is a development release made in the middle of the night due to insomnia.  ;-)</p>\n<p>Among other things, there is a second proof-of-concept application included; Solar_App_Bookmarks mimics and extends a lot of del.icio.us functionality.  I'm already using it instead of del.icio.us, as I can assign arbitrary ranks to links and then get an RSS feed in that order, instead of descending by timestamp.</p>\n<p>Finally, I've started an <a href=\"http://wiki.ciaweb.net/yawiki/?area=Solar\">open wiki for documentation</a> (now that I have two good working apps I think it's time to describe how to install and use them ;-).</p>\n<p>The change notes are:</p>\n<pre>\n* WARNING: This is a public development release, and is not\n  yet stable.\n\n* WARNING: There are database schema changes in this release.\n\n* Fixed bug in Solar::pathinfo(); elements were all off by 1\n  (needed to shift off the first returned element, as it\n  is always blank).\n\n* In Solar_Sql_Entity::buildSchema(), the 'join' value must\n  now be a $schema['rel'] keyword.\n\n* Solar_Sql_Entity::update() now retains primary keys in a\n  separate array (instead of unsetting them entirely) and\n  restores them after the update process; this will help\n  with post-update tasks that need the primary key.\n\n* Solar_Sql_Entity::selectCount() and selectPages() have\n  been combined into countPages(), which returns an array\n  with both the row count and the page count.\n\n* Solar_User_Auth_Htpasswd now rejects DES-encrypted\n  passwords longer than 8 characters due to a limitation\n  in crypt().  Have added support for SHA1 (thanks Tomas\n  Cox) and APR1-MD5 (thanks Mike Wallner) encrypted\n  passwords to offset this.\n\n* Added Solar_User_Auth_Multi to perform authentication\n  against multiple fallback sources.\n\n* Solar_User_Role now uses a single role driver class by\n  default.\n\n* Added Solar_User_Role_Multi to pull from multiple\n  group/role sources.\n\n* Renamed Solar_Cell_Talk to Solar_Cell_Comments for clarity\n  (this includes a set of schema changes as well as\n  in-place support for trackback and pingback storage).\n\n* Schema changes to Solar_Cell_Bugs.\n\n* Added Solar_Uri as a URI import/manipulate/export tool,\n  generally useful for building navigation links.  Works\n  with query elements as well as path_info elements.\n\n* Added Solar_Cell_Tags as a shared tag-search resource to\n  support ubiquitous tagging across all Solar applications.\n\n* Added Solar_Cell_Bookmarks and Solar_App_Bookmarks for\n  bookmark management similar to the del.icio.us service.\n\n* Various locale string additions and modifications.\n</pre>\n"
}
