Posted by Kris |
Comments ( 3 ) |
Filed in: Release |
|
|
|
|
It's been a long journey since the release of .12 in April. With the exciting release of PHP 5.3 we wanted to push out bulk of the planned .2 changes as soon as possible, which include some fixes to not break a couple of PHP features deprecated in 5.3. Other features that are in this release:
Get the bits in zip or tarball form while they're hot!
We learned a big lesson in the 4 month development process moving Recess from 0.12 to 0.20: we were ambitious and took a big bite, perhaps a bit more than we could chew. The new controls/validation model still isn't ready for this release. (If you're adventurous you can find some prototyping in 0.20's bits!) Lesson learned: moving forward development be focused on fewwer features at a time and released as they are completed.
With the release of 5.3 now nearly a month past it is clear that namespaces, late static binding, lambdas, and the dramatic performance improvements are going to make 5.3 the PHP version of choice for new PHP projects. Our next focus is on a 5.3 Recess branch that leverages these powerful, fundamental language features to make developing in PHP more enjoyable.
Next week there will be more discussion on what to expect with Recess 5.3, the launch of a Recess wiki (finally!), and some tutorials on new features in PHP 5.3.
Posted by Kris Jordan |
Comments ( 0 ) |
Filed in: Release |
|
|
|
|
Announcing a new maintenance release on the 0.1x line of the Recess PHP Framework.
Included in this release:
- Fixed sporadic behavior when text editors like emacs create temporary files in src directories
- Improved support for JSON as an input from POST/PUT requests.
- Improved installation experience that detects availability of PDO, SqlitePdo, and MySql PDO.
- jQuery included in distribution for off-line development support.
- 10 other minor bug fixes.
This should be the final maintenance release on 0.1x barring unforeseen troubles. Remember to report any bugs to our ticket system over at lighthouse: http://recess.lighthouseapp.com/projects/19507-recess-framework/overview
Next Up: Recess v0.20
We're in full stride working on the next major release which will be Recess 0.20. This previous blog post covered the major features in depth. To summarize, here is what is on deck:
- Revamped Infrastructure in PHP Views
- Layouts - no more include('header')/include('footer.php')!
- Partials - rendering snippets
- Helpers - commonly used output methods
- New Extensibility Points
- Wrapped Methods - think "Aspect Oriented Programming"-lite
- Custom Annotations - write your own, roll into a plugin
- Plugins - allow developers to share commonly used components
- More RESTful PHP
- Robust content-negotiation
- Improved ACCEPTS header support
- View selection respects requested content-type
- Model Improvements
- Validations - exploiting the new extensibility points!
- Nestable boolean conditions
Recess 0.20 is turning out to be the most significant release since the public preview opened up back in December! Subscribe to this RSS feed and follow RecessFramework on Twitter for the most up-to-date notices on 0.20 in upcoming weeks.
Posted by Kris Jordan |
Comments ( 2 ) |
Filed in: News, Release |
|
|
|
|
A new version of the Recess PHP Framework has been pushed up to Github, tagged, and is ready for download (zip or tarball)!
There are a number of bug fixes included in this release. Some have been talked about in the previous post. The rest are centered primarily around database stability and improved MySQL support. Thanks to all of you who submitted bugs to Lighthouse or suggestions on the discussion board.
Changes to v0.11.1 that are not bug-fixes are the removal of 3rd party packages SimpleUnit and Smarty and shifting the supported unit testing framework from SimpleTest to PHPUnit. Though SimpleTest served us well for initial development purposes it's just not as robust or well supported as PHPUnit is. Moving the unit tests from SimpleTest to PHPUnit made for a fun, all-night project and led to a better testing suite. Now all database unit tests are executed on both MySQL and Sqlite without any manual switching. This allowed us to remove SimpleTest from the package and reduces Recess' footprint. Instructions for getting PHPUnit tests running
The other big 3rd party package to get moved outside of the source tree is Smarty. Smarty support can now be achieved through an add-on download (zip or tarball). Removing these two 3rd-party packages has trimmed the size of Recess significantly: the v0.10 tarball was 490kb, v0.11.1 is 67kb. Though Smarty users now have an extra step and folks interested in running unit tests will need PHPUnit, the experience for average users should improve with a smaller footprint and less loose files that go unused. At some point we may move the unit tests out of the main distributable and into a "Recess Hackers" distributable, but for now they're bundled with the code.
Running the Recess Unit Tests with PHPUnit
In order to run the unit tests for Recess take the following steps:
- Install PEAR – Typically this is done by executing the go-pear script in your PHP installation directory.
- Install PHPUnit (Instructions)
- First add the PHPUnit channel to PEAR:
pear channel-discover pear.phpunit.de
- Next install PHPUnit with
pear install phpunit/PHPUnit
- Setup MySQL & DSN for Database Tests
- The default MySQL test DSN is localhost,dbname=recess, user=recess, password=recess
- To use settings other than default modify
recess/test/recess/database/PdoDsnSettings.php
- At a command prompt,navigate to recess/test/
- Run the Unit Tests: phpunit —bootstrap bootstrap.php AllTests.php
To contribute unit tests to Recess, fork the source on Git Hub, commit your unit tests to the fork, and request a pull from Recess. Happy testing!