{
    "href": "/post/2005/04/24/solar-020-released/",
    "relId": "2005/04/24/solar-020-released",
    "title": "Solar 0.2.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-24 13:18:25 UTC",
    "updated": [
        "2005-04-24 13:18:25 UTC"
    ],
    "html": "<p><a href=\"http://solarphp.com/\">Solar</a> is a simple object library and application repository for PHP5 under E_STRICT.  It takes hints from PEAR and Horde, and bears some superficial resemblance to Ruby on Rails for its MVC application directory structure.</p>\n<p><a href=\"http://solarphp.com/api/\">API documentation</a> is becoming voluminous, and is bundled with the package now, along with an example Solar.config.php file.</p>\n<p>The change notes for this release are:</p>\n<pre>\n* WARNING: This is a public development release, and is not\n    yet stable.\n\n* API documentation is now distributed with Solar\n    installations; this accounts for 90% or more of the\n    package size.  Look in your PEAR docs/ directory for the\n    new files.\n\n* Added a Solar.config.php example to documentation.  Look\n    for it in your PEAR docs/ directory.\n\n* Added Solar_Template class (is an extended and customized\n    Savant3 class).  Savant3 is now distributed in the\n    Template/ directory.\n\n* Solar_App:\n\n    * Converted $action_src, $action_var, and\n        $action_default to array keys ($action['src'],\n        $action['var'], $action['default']).\n\n    * Added a $view property (is a reference to the shared\n        object called 'template'; i.e., a Solar_Template\n        object).  Sets up the views directory\n        (template_path) automatically, and sets up the added\n        paths for user-developed themes automatically.\n\n    * Calling view() now returns the output of the named\n        named view, not the path to the file for that view.\n\n    * Calling model() now returns a new instance of the\n        named model, instead of the path to the file for\n        that model.\n\n* Converted Solar_App_Bugs and Solar_App_Bookmarks to use\n    the new and different Solar_App features for $action,\n    $view, and view().\n\n* Solar_Cache_File:\n\n    * Now uses '.serial' as the filename extension for\n        serialized files no matter what\n\n    * No more prefixing of file names\n\n    * Config values are transferred to protected properties\n        so they cannot be changed after instantiation\n\n    * Creates the cache directory if it does not already\n        exist.\n\n    * Always hashes the cache entry key (prevents directory\n        traversals)\n\n* Solar_Cache_Mem renamed to Solar_Cache_Memcache.\n\n* Solar_App_Bookmarks: if you try to QuickMark a URI that\n    you already have bookmarked, you are redirected to that\n    entry in your bookmarks (instead of it being stored more\n    than once).\n\n* Solar_Sql_Driver: now uses lazy connections. it connects\n    at exec() time instead of __construct() time.  This puts\n    the speed hit of connecting to the database until the\n    last possible instant, which means merely instantiating\n    an Sql object should not slow you down.\n</pre>\n"
}
