It's been a long time since the latest beta release (0.7.1915), and even 
a longer time since the last stable release (0.6.3). Today, we are happy 
to announce the release of symfony 1.0 Beta 1, and this is a major step 
towards the version 1.0, which should come shortly.

New features
------------

This release has almost all the features of the future 1.0 stable. Here 
is an extract of the most interesting changes since 0.6.3:

* **Easier installation and larger compatibility**. Symfony is now 
compatible with `magic_quotes_gpc` set to on and PHP 5.2. Pake and phing 
are now bundled with the core classes, so symfony has no more external 
dependency. It is very easy to link a symfony application to the symfony 
libraries (through the `config/config.php` file), and PEAR is no more a 
prerequisite. The symfony command line now works out the box (for PEAR, 
SVN or .tgz).

* **Major performance improvement**. Many parts of the code have been 
refactored, with performance in mind. The result is a performance 
increase of 50% to 500%, depending on your platform.

* **New plugin system**. Extending symfony has never been easier. A 
plugin can package classes, modules, helpers, filters, web assets, 
fixtures, data models, unit tests, and so on. Plugins can be installed 
with one command. Check the [Plugins 
page](http://www.symfony-project.com/trac/wiki/SymfonyPlugins) for a 
list of already available plugins.

* **New unit test library**. Symfony is now bundled with its own unit 
and functional test framework, called `lime`, and a bunch of automated 
tests utilities, such as the `sfTestBrowser` and `sfDomCssSelector` 
classes. Symfony itself has more than 2800 unit and functional tests 
that guarantee its quality of code.

* **Updated default pages** for error 404, error 500, insufficient 
credentials, unavailable page, and deactivated application (thanks 
**justinm** for the design!). These pages are both much nicer and much 
easier to customize than before.

* **Easier templating**. Components and components slots now work 
perfectly on every situation, even with cache set to on. Their code was 
refactored to be fast and effective. The new temlate fragment tools, 
called slots, are faster than component slots, require no extra file or 
configuration to add a dynamic zone to a layout. And the icing on the 
cake: Ajax actions have no layout by default.

* **Better and more flexible Model layer**. Symfony is now ORM 
independent: it is still bundled with Propel by default, but can work 
with others (such as Doctrine) in a snap. Database schemas can now be 
written in YAML instead of XML. Persistent support and specific database 
encoding are now supported natively.

* **New mixin feature**. The `sfMixin` class introduces mixins in PHP, 
allowing core classes modification without inheritance, addition of new 
methods to existing classes, and multiple inheritance.

* **New behaviors for Propel classes**. A behavior is a group of 
properties and methods that can alter the Propel generated classes. To 
make a Propel class sortable, to add a pessimistic lock, or to change 
the deletion by a `is_deleted` flag, you now need only one line of code 
with behaviors.

* **More user-friendly development tools**. The symfony logs and the web 
debug toolbar now display more information about time and execution 
bottlenecks, thanks to the new `sfTimer` class. The symfony command line 
now has a color output (in *nix). The logging mechanism (via the 
`sfLogger` class) is more flexible and easier to extend. Logs rotation 
and cleaning are automated.

* **More flexible filter system**. User filters can now be registered 
anywhere in the filter chain (even before the security filter).

* **New many-to-many relationships** are now supported in the admin 
generator.

* **Easier deployment**. The `freeze` task is implemented and fully 
functional. It transforms a symfony project into a self sufficient 
program by adding in the symfony libraries and assets.

* Updated creole, Propel, script.aculo.us (1.6.5) and prototype (1.5.0_rc1)
* And more than 200 bug fixes and small enhancements

All these features are not yet fully documented, but this will soon 
come. Also, guidelines for developers used to the 0.6.3 and outlining 
the changes in syntax will soon be published. In the meantime, please 
consult the full 
[changelog](http://www.symfony-project.com/trac/browser/trunk/CHANGELOG).

We want to thank all the contributors for their great efforts in making 
this release so full of great features.

What is a beta 1?
-----------------

This release is tagged "Beta", so it is not yet completely stable and 
there are some known bugs still to be fixed. If you are interested in 
the new features, or if you want to help to qualify the beta for a 
stable release, please try it. It you plan to develop a real web 
application, you should also use this beta.

We plan to release a few more betas (called Beta 2, Beta 3, and so on) 
each time we fix more bugs and stabilize the trunk further. We will not 
add new features, unless we meet a problem with the current release. 
Every feature addition will require a discussion on the mailing-list 
first. We may break compatibility with Beta 1 in following betas, in 
very specific areas.

Once we are satisfied with a beta release, we will release a Release 
Candidate for 1.0 (1.0RC1). Release Candidates are feature-frozen, and 
should be stable enough to qualify for 1.0 - except if bugs are found, 
which is the purpose of the RCs. Once we release the first RC, we won't 
add new functionality or break BC - except in case of major security breach.

We plan to release as few Release Candidates as possible, but you might 
expect to see a RC1 and a RC2 before the final 1.0 stable.

How to upgrade?
---------------

Depending on how you installed symfony, the upgrade process will differ. 
If you installed symfony via PEAR, type:

     > pear upgrade symfony/symfony-beta

If you used a checkout from the SVN repository, browse to the symfony 
root and type:

     > svn update -r2872

The most important thing to do is to **upgrade all the projects** that 
use the 1.0 beta distribution of symfony. Indeed, symfony 1.0 breaks 
backward compatibility in some parts, but the project upgrade is fully 
automated and transparent. This release comes with an upgrade script 
that will modify the code of a symfony project to make it symfony 1.0 
compatible. To upgrade, browse to the root of your symfony projects and 
type:

     > symfony upgrade 1.0

In case of PEAR installation, the command line may be broken. In that 
case, you can still launch the upgrade script by calling:

     > php /path/to/pear/data_dir/symfony/bin/symfony upgrade 1.0

If you experience problems while upgrading, report to the [dedicated 
forum](http://www.symfony-project.com/forum/index.php/f/14/).

What's next?
------------

What we deeply want is to release the 1.0 stable as fast as possible. 
But the more we get help, the faster we'll reach this point. You can 
help in many ways:

- By testing the beta 1 and submitting bug reports

Let me rephrase that: If you submit explicit bug reports with a 
step-by-step scenario to reproduce the bug, we'll pay more attention to 
it. If, in addition, you attach the functional tests to reproduce it 
automatically and a patch against the trunk, then the bug will probably 
be fixed within 48 hours.

- By contributing unit tests

Unit tests are very easy to write. The beta 1 already has 2800 unit and 
functional tests, and they can serve as a good example for the areas 
that are not yet covered by automated tests. Any help on that task will 
be much appreciated.

- By contributing documentation

You probably noticed that the trunk version of the documentation is not 
completely up to date with the latest functionality. We will do our best 
to have everything documented, but in this field as well, any help is 
welcome.

For tests and documentation, please announce the area in which you want 
to work on in the developers' mailing-list, to avoid duplicates. Then, 
contribute your work as a patch attached to a ticket (please don't do a 
direct commit to the trunk, nor send a mail with code).

We need you
-----------

Please help us to release the 1.0 stable quickly. We really need you!


--~--~---------~--~----~------------~-------~--~----~
 You received this message because you are subscribed to the Google Groups 
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to