A curtain call
[ed: updated to reflect the new svn layout. The concepts and structure haven’t changed, just the names]
The purpose of the various Textpattern branches (stable, releases and development) has been a source of confusion lately (even amongst the development team!), so here’s a quick overview of how each branch fits into the new development process.
Prior to the 4.0 release, there was only ever one branch (or stream) of development: “current”. Every now and then a snapshot of the txp-current was released as a new version or RC.
The trouble with that model is, it’s only really feasible to update to the latest version. If I run into a bug in RC3, and the bug isn’t fixed until a hundred revisions later, I have to accept all of those one hundred changes in order to get the bug fixed. And those hundred changes won’t include just bug fixes, but new features and design changes, which inevitably will introduce bugs of their own. A catch-22 situation when you’re using Textpattern on a live site.
Now that we’ve (finally!) released a stable version of Textpattern, we’ll be managing two separate streams of development:
/development/4.0– includes only bugfixes and (occasionally) well-tested, simple new features
/development/(to be decided)– the bleeding edge, where anything goes
The development team will be working on both streams simultaneously. New features and design changes intended for the next major release (4.1) will go into the bleeding edge branch. At the same time, we’ll be maintaining the 4.0 branch (4.0.1, 4.0.2, etc) so that we can release bugfixes independent of those big changes.
This means there are two different ways to get a copy of Textpattern 4.0.x:
- Releases. These are the most solid, well tested copies of Textpattern. If you’re running a live site, you should almost certainly be using a stable release.
- The 4.0 branch. This is the place where we’ll work towards the next 4.0.x release.
Not every revision in the 4.0 branch is release quality – it includes all the little changes that happen between releases. Think of this as the dress rehearsal. It’s where we’ll test out our changes prior to the release, so we can iron out the mistakes and conflicts, and make sure the next release really is as stable and reliable as it ought to be.
Most of the problems discovered in Textpattern releases aren’t out-and-out bugs. They’re obscure cases triggered only by specific server configurations, platforms or other environmental quirks. Most of the time, we on the development team have no way of reproducing these problems, because they happen only on a particular server or account that we have no access to. Sometimes these problems are specific not merely to a single server, but to an individual user’s account. In such cases, the expert tester and debugger is not us, on the dev team, but you, the person who has the problem sitting right in front of them.
Which is precisely why we’ve opened the stable branch to the public: we’d like to invite you, the Textpattern expert, to attend our dress rehearsals, and help make sure the next performance runs smoothly.
If you’re a confident Textpattern user, and you’d like to help make new releases as solid as possible, here’s what you can do:
- Set up a testbed site, perhaps on a subdomain or in a subdirectory of your regular host or server.
- Run the latest release on your live site.
- Run the latest revision from the 4.0 branch on your testbed site. It’s safest to use a completely separate database from your testbed install, in case something goes wrong.
- Test the hell out of it, and regularly update your testbed to the latest revision in the stable branch (there are often several updates every day).
- Post a bug report when you find a problem. The bug reports we love are clear and concise, containing enough information to identify the conditions necessary to reproduce the problem, without obscuring it with unnecesary or irrelevant information.
That’s it. You will see us make mistakes – that’s what dress rehearsals are for. And sometimes it might seem tedious and slow – after all, it’s the little details and tiny imperfections we’re trying to fix. But by watching closely, and giving us the information we need to correct our errors, you can make a big difference.

— Andrew · Aug 21, 06:38 PM · #
— Dean Allen · Aug 21, 08:23 PM · #