Support Joomla!
Roadmap PDF Print

Introduction

Joomla RoadmapJoomla! is a powerful, award winning content management system (CMS) and is one of the most popular open source software projects.

This document seeks to explain the version numbering schema used by Joomla! and to provide a roadmap that outlines in broad terms the development path of Joomla! for the foreseeable future, incorporating both new technologies and long sought after features.

Version Convention

Joomla! release versioning follows a numerical convention comprised of three numbers: Major, Minor and Maintenance.  The version is presented in the major.minor[.maintenance] format.

Major Release Number (X.1.1)

An increment of the major number generally indicates a major rework or rewrite of the code base.

May be completely incompatible with prior major releases.

Minor Release Number (1.X.1)

An increment of the minor number usually indicates a significant change to functionality or architecture.

Moderate to high level of backward compatibility with previous minor increments.

Maintenance Release Number (1.1.X)

An increment of the maintenance number usually indicates bug fixing within the minor release and possibly small enhancements and limited new features.

Fully backward compatible with previous maintenance increments.

Structure

Each full release of Joomla! exists in its own branch of the source tree where it is maintained independently of the trunk. For the purposes of the source tree each major or minor version number increment represents a new full release.

Full Releases are subject to both Alpha and Beta test periods. There is no set time period for these test periods but the Beta will not be less than three (3) calendar weeks. This is to provide adequate compatibility testing by third party developers.

Maintenance Releases are released on an as-needed basis.  These releases will be subject to in-house quality control only and be made available for immediate use. The frequency of Maintenance Releases will decrease as the codebase matures. Maintenance Releases aim to improve the quality of stable releases that have been deployed by users and administrators, yielding a better return on investment because you do not have to wait for a full release for a bug to be fixed.

Calendar

VersionDateComments
Joomla! 1.0.0
15 Sep 2005 First Joomla! Stable release
Rebranding of Mambo 4.5.2.3
Bug fixes and security patches, several core additions [Please do not use this version - vulnerable to Critical Security Threat]
Joomla! 1.0.1
21 Sep 2005 Stability release [Please do not use this version - vulnerable to Critical Security Threat]
Joomla! 1.0.2
2 Oct 2005 Stability release [Please do not use this version - vulnerable to Critical Security Threat]
Joomla! 1.0.3
14 Oct 2005 Security release [Please do not use this version - vulnerable to Critical Security Threat]
Joomla! 1.0.4
21 Nov 2005
Security release
Joomla! 1.0.5

24 Dec 2005

Stability release
Joomla! 1.0.6

15 Jan 2006

Security release [Please do not use this version - instead use 1.0.7]
Joomla! 1.0.7

15 Jan 2006

Critical Fix Release [Fixed 1 critical bug in 1.0.6]
Joomla! 1.0.8

26 Feb 2006

Security release
Joomla! 1.0.9

5 June 2006

Stability Release
Joomla! 1.0.1026 June 2006Security release [Please do not use this version - vulnerable to Critical Security Threat]
Joomla! 1.0.11

29 August

2006 

Security release 

 Joomla!

1.0.12 

25 December 2006
 Final stability release of the 1.0.x series

 Joomla!

1.0.13 

21 July 2007Security release, improvement of user password encryption

Developer Note

Version 1.5+ : register_globals=off emulation

Joomla! 1.5

Beta 1: 12 October 2006

Internationalization

User Plugins

Foundational work towards cross database support

FTP Filesystem Layer

Overhaul of Joomla! framework

Preparation for usability and accessibility extensions

Separation of logic and presentation layer

Joomla! 1.5

Beta 2: 4

May 2007

Developer documentation (API, Howto's)

Developer feedback and API finetuning

Improved caching

Improved SEF support 

Added mootools javascript framework

Added accessible 'BEEZ' template 

Joomla! 1.5 RC1

RC 1:

July 21 2007

User documentation

Help screens

Security and preformance improvements

User feedback and finetuning

Platform and browser testing

Joomla! 1.5 RC2

RC 2:

September 1 2007

User feedback

Bug and (probably) security fixing

Joomla! 1.5 RC3

RC 3:

5 October 2007

Bug and security fixing, user feedback. Don't use any previous versions.
Joomla! 1.5 RC4

RC 4:

19 December 2007 

Final bug fixing, security patching 
Joomla! 1.5.0

final:

21-January-2008

Stable version 

 

The Calendar should be used as a guide only and is subject to change at any time.

Future Versions

The amount of change that our codebase has undergone in the 1.5 development cycle has created a situation where we need to reflect and re-evalutate how we continue developing Joomla!  Until 1.5 is stable and we can properly address the goals for future versions we will have here a list of features that we intend to incorporate into future versions.  The list is non-exhaustive and in no particular order.

 

  • New user and access control system
  • New javascript framework
  • Useability and Accessibility compliance
  • Full version control of content
  • Multi-Site capabilities
  • Update manager
  • Virtual Filesystem
  • Cross database support

Details

The following provides a broad overview of planned items for future versions:

Internationalization

Major areas of internationalization

  • Translation of static text
  • Addition of basic right-to-left (RTL) support
  • UTF-8 character encoding 

User Plugins

The addition of user plugins allows for alternative user authentication methods as well as improved bridging support for other applications.  Some of the new events to be handled by user plugins include:

  • onAuthenticate
  • onLogin
  • onLogout
  • onActivate
  • onBlockUser
  • onUnblockUser

Cross Database Support

To achieve cross database support, a database abstraction library will be implemented. Core scripting will also be improved to prepare for compatibility with other platforms.  The first step towards this goal will be compatability with MySQL 5.0 which is tentatively slated for Joomla! 1.5

FTP Filesystem Layer

To overcome permissions problems on many systems, an FTP filesystem layer will be integrated into the Joomla! framework.  This integration willl allow for an FTP based installation mode as well as other filesystem operations.

Overhaul of Joomla! Framework

As the Joomla! project progresses, the need for a well defined, flexible and scalable framework becomes more and more necessary. Framework functionality needs to be separated from the core extensions and put into moved into a standalone API.  This separation will give third party developers a much more robust development environment for rapid extension development.

Improved SEF Support

SEF support will be moved into mambots to allow for easier integration of third-party alternatives.

User and Access Control sytem Improvements

This allows for the ability to add and edit the user groups system. It also allows for administrators to alter the access permissions based on function though the user interface. For example, you will be able to define which group(s) can install components or template, and so on.
Also, we will allow for controlling permissions at the object level in a more detailed way. For example, you will be able to select sections and categories that are viewable only to certain groups.

WCAG Compliance

Joomla! is committed to improving its compliance with web accessibility standards to increase access to users with disabilities. Compliance with WCAG A also means nearly all requirements of 508 compliance will be met.

This is achieved through the continuing process of completely separating the presentation layer (the HTML output) from the business logic. At the moment, the focus is on Front-End WCAG compliance. Priority 2 and 3 will be addressed once Priority 1 requirements have been met.

Summer of Code Projects

During 2005, we had the pleasure of mentoring several projects from some very talented students. These projects will be progressively implemented in Joomla! The projects include:

Virtual File System Support 

Using a common API to access files, ftp sources, etc.

Update Handler 

Much like the update handlers in popular applications like Firefox with the ability to check a server for new updates, etc.

Content Version Control 

A robust system for providing true version controlled content to meet many legislative and organisational requirements.

Caching and Performance Improvements

The performance of Joomla! is continually under review through the use of multi-level caching layers as well as memory efficient object construction.

 

Compatibility Issues

More information will be provided about the following issues closer to the release of the affected version:

register_globals emulation

Problem

Currently Joomla! emulates the PHP state for register_globals=on. This means that any variable passed through a URL or a form post will be initialised by PHP and made global. Unfortunately, where the programmer has not correctly sanitised input variables, this condition can be used to leverage security vulnerabilities in the code and leave your site open to attack.

What you need to know

From version 1.5 onwards, the state of register_globals=off will be emulated. While this does not stop all forms of attack, it does prevent some common forms due to poor programming style.

Database

Problem 

Some reserved words exist as field names at present.

[eg. #__content : fulltext, #__components : option, etc.]

What you need to know

In order to improve the ability of Joomla! to be cross-database capable we will be renaming them.  This may affect some existing third-party extensions that are based on the content table (we don't envisage any issues with the field name in the components table at this stage).

Joomla!'s database connector must be used to ensure portability across different database plaforms in the future.


Templates

Problem

Because of the extensive rationalisation of xhtml output to comply with Useability and Accessibility standards, templates at some point in the future will likely not be compatible with those produced for early versions of Joomla!.

What you need to know

Compatibility issues will be experienced in the templating system when we make these changes as some non-backward compatible changes will take place to allow for Useability and Accessibility compliance.

Last Updated ( Thursday, 20 March 2008 )