Joomla! Developer Network

There is always a great deal of Joomla! development activity underway and communicating with other developers in the community is essential. This site is a resource for anyone looking to build or maintain software based on the Joomla platform

Version 11.1 was tagged on 5 July 2011. This was the inaugural release of the platform following its separation from the Joomla CMS trunk.


The following pull requests made by community contributors were merged:

  • #72 ] Some modifications to fix unit tests, etc. ( LouisLandry )

  • #67 ] Docblock Work ( elinw )

    Docblocks in database continued

  • #68 ] Docblocks ( elinw )

    More docblocks

  • #70 ] PHP Strict Errors ( AmyStephen )

    Commit 1 - Minor change made to JDate::setTimezone to correct PHP Strict Error Commit 2 - Remove JButton::fetchID parent class - child classes are not consistent with parameters so there is no easy way to make the parent class consistent. Since it is not used and since it only returns when executed, removing it will at least get rid of the Strict eror.

  • #25 ] Fixes for #22587 and #24285 ( klas )

    #22587 - Change modules cache lifetime to be set as intended (seconds must be converted to minutes) - Cache handler needs to use all parameters for static variable caching Also $_handler is a static variable and so can't be referenced as $this->_handler (this bug was introduced after #22587 report) - change back to self::$_handler #24285 Fix changes module caching to store only headers that changed after module was executed. Headers before and after callback are compared.

  • #65 ] Docblocks ( elinw )

    Some more work

  • #64 ] A couple minor adjustments to the JApplication constructor and JDocumentOpenSearch tests. (LouisLandry )

  • #62 ] Deprecate JException ( elinw )

    Deprecate JException I believe that's the intention see also mailing list discussion

  • #61 ] Rearranged if statement ( rcorral )

    It will be quicker to check for null every time than the $plugin variable

  • #60 ] Secruity ( realityking )

    These are tow security fixes/improvements I wrote a while ago but are only now public. They have already been committed to the 1.6.4 branch.

  • #59 ] Docblocks ( elinw )

    New version of the old pull request

  • #48 ] Docblocks ( elinw )

    More updating of doc blocks

  • #57 ] Restoring memory limit after daemon test ( ianmacl )

    The daemon class sets the maximum memory to 256M which causes the code coverage report to fail. This change will restore the default value after the test is run.

  • #58 ] Adding files for continuous integration ( ianmacl )

    Added an ant script and moved the phpunit.xml.dist file into root to facilitate continuous integration.

  • #53 ] Let getModules get the module parameters. ( elinw )

    This is in response to this discussion on the general list.

  • #26 ] Add batch processing to framework (Feature Request #22590) ( mbabker )

    Consistent with This pull request focuses only on the framework changes for this feature request. Between the 1.6.3 release and the platform merge, batch processing was added to com_content. Upon my own review and testing, the code used here was applied in a manner that it could be reused throughout components that follow a category->item structure. Specific to the framework are the following changes: - JControllerForm: Function batch added - JModelAdmin: Functions batch, batchAccess, batchCopy, batchMove, and generateNewTitle added - JHtmlBatch added If implemented, changes to the CMS can be made as demonstrated via my SVN branch (mbabker).

  • #38 ] Add JHtmlBehavior::multiselect() and move the multiselect JavaScript code ( realityking )

    Add JHtmlBehavior::multiselect() and move the multiselect JavaScript code to core.js. Add the option to use id's other than "adminForm" with multiselect.

  • #52 ] fix for removeUserFromGroup(), Ticket does not exist for it ( svanschu )

  • #55 ] Don't render meta elements without content ( realityking )

    CMS Issue: Just a little markup saver. Also helps a little with some meta elements not valid in HTML5.

  • #56 ] Use local storage for tabs ( realityking )

    CMS Issue: Saves a couple of cookies in the administration without loosing any functionality. Shouldn't have an BC issues.

  • #51 ] Test suite cleanup ( sebastianbergmann )

  • #42 ] Corrects some errors in the router + add some unit test ( chdemko )


  • #41 ] Component install rollback function rollback_menu is unimplemented leaving items in jos_menu (chdemko )


  • #50 ] Namespace the checkAll() function ( realityking )

    Issue on JoomlaCode:

  • #47 ] 2 platform changes that will enable Joomfish to interact with database queries more effectively (redux) ( GeraintEdwards )

    Sorry - closed pull request 44 by mistake (I'm new to github). This new request has the getter added to the correct class (I'd cut and pasted it in the wrong class last time :( ). To avoid confusion I'll repeat my comment about setters: A setter is a good idea (but not essential) but it would allow for unforeseen eventualities. The only problem with the setter is how it would interact with JDatabaseQueryElement - i.e. which one of the elements would it be setting? You can always simulate a setter by getting the separate element groups, calling clear and then resetting the relevant element. e.g. in pseudo code: $elements = $query->where; // do something to elements $query->clear('where'); foreach ($elements as $elem){ $query->where($elem); } Perhaps the last 4 lines would be the code for the __set method?

  • #46 ] Move JUpdater:arrayUnique() to JArrayHelper::arrayUnique(). ( realityking )

    IMO this sort of utility function is potentially useful for extension as well and should be located in a place where people would actually look for it :)

  • #49 ] Sync up media changes from trunk ( realityking )

  • #18 ] Add JDocumentOpensearch. ( realityking )

    These are the library changes for this patch: This is potentially useful for other apps as well.

  • #45 ] Cleared Fatal crash if JTestConfig not found ( Paladin )

    Added different config file to JDatabaseMySQLTest to allow an independent decision by the tester on whether these tests should be run. It now requires config_mysql.php to contain the JMySQLTestConfig class to be present or the tests will be skipped.

  • #12 ] New Unit tests ( realityking )

    A couple of unit tests from my Bitbucket branch.

  • #39 ] Update FancyUpload to version 3.0.1. ( realityking )

  • #33 ] Fixed JStringTest ( Paladin )

    Darwin bug was causing tests to fail. Added test for Darwin, and if tests are running under Darwin, it marks the international string tests as skipped, and gives the reason why.

  • #34 ] Fixed broken JCacheStorageTest test ( Paladin )

    Test case did not handle mimimum cache life properly. Also moved test into the JoomlaTestCase class hierarchy because of its dependencies and cleaned up duplicated code.

  • #35 ] Fixed JCacheTest cases ( Paladin )

    JCacheTest test cases were pointed at a directory structure that no longer exists in the new testing environment. I pointed them to the correct location.

  • #37 ] JDocumentRenderer tests skipped ( Paladin )

    The JDocumentRendererAtom and JDocumentRendererRSS classes are too tightly coupled for good testing right now, so I marked the tests as skipped with a todo to come back after breaking more dependencies in the code. I basically punted on these tests, after doing a minor bit of code cleanup. They're too tightly coupled with too long of a chain of static method calls to be able to test as a block right now. So I marked the tests as skipped, and left a TODO to revisit them after we've broken a few more layers of dependency.

  • #32 ] Cleaning up after JDocument changes ( Paladin )

    Removing methods under test while ignoring the tests caused a mess that needed cleaned up.

  • #8 ] Docblocks branch ( elinw )

    This should be just the doc block edits.

  • #31 ] Cleaned up After JVersion Rename ( Paladin )

    Rename of JVersion left the tests for it untouched. Renamed the test file and everything associated with JVersion to JPlatform, to catch up with change.

  • #13 ] Move the rendering of HTML link elements to JDocumentRendererHead. ( realityking )

    Previously discussed here: Note: This has some small backwards compatibility consequences (e.g. if somebody chose to override either of the two classes involved) but it makes JDocument more consistent and opens up future use (head links in other types of documents).

  • #22 ] Bb bit bucket url stuff updated ( elinw )

    old request did not have the test

  • #17 ] Remove getHeadData(), setHeadData() and mergeHeadData() from JDocument si ( realityking )

    Remove getHeadData(), setHeadData() and mergeHeadData() from JDocument since it only applies to JDocumentHTML.

  • #23 ] Remove workaround for PHP 4 and PHP 5.2.3 in JFTP and JXMLElement. ( realityking )

  • #11 ] AJAX improvements ( realityking )

    Small library modification to make it easier to use AJAX or other JS functionality with the Joomla framework.

  • #20 ] Use require_once instead of include in JLoader ( rvsjoen )

    I do not know if there is a good reason for using include over require_once, if there is, please disregard this commit. All unit tests ran fine with this change.

  • #14 ] JURI bugfix + stuff ( realityking )

    This fixes a regression in JURI (first commit). It also contains some new unit tests and code style improvements. The last commit removes a function parameter that is unused.

  • #19 ] Fix some unit tests so they also work on Windows ( rvsjoen )

    This has been previously discussed in this thread

  • #2 ] Missing paremeter ( jonnsl )

    The function getUserState in the JApplication class is missing the $default parameter


After an extended period of silence, the Production Leadership Team is happy to announce that we are moving forward with planning, preparing, and ultimately releasing version 2 of the Joomla! Framework. Over the last several weeks, we have begun building a roadmap and vision for the next major version of the Framework and are now ready to share with the community for review and feedback.

Framework v2 Roadmap

We recently received an email from google webmaster tools with the subject line: Hacking suspected:

Unfortunately, it appears that is infected with content spam. When we realized this, our only concern is to protect our users. This will involve taking down the service in the very near future. This is an inconvenience for project owners using JoomlaCode to host projects for, and we are truly sorry.

JoomlaCode is closing

Happy New Year from all of us on PLT! We have been busy over the holiday testing, and re-testing Joomla 3.4 alpha. We are delighted to announce we will release Joomla 3.4 beta, January 27th 2015.

We are grateful for all the feedback we received from those who took part in our recent alpha release. This extended alpha phase allowed us to drive attention to testing and creating patches.

All new features contributed to the project will be considered for Joomla 3.5. Features already submitted will be reviewed for the 3.4 release.

Updated Timeline

The following updated timeline is established for the 3.4 release:

  • January 20th 2015 - 3.4 Feature Freeze
  • January 27th 2015 - 3.4 Beta 1
  • February 3rd, 2015 - 3.4 Beta 2
  • February 10th, 2015- 3.4 Release Candidate
  • February 17th, 2015 - 3.4 Stable Release

Joomla 3.4 release timeline update

I am pleased to announce the following with Brian Teeman leading this overdue and needed core en-GB standardisation.

The PLT have accepted the proposal to review and standardise all the en-GB language strings in the core of Joomla based on the style guide that you can see here (until it gets a permanent home).


  • The official language of Joomla is en-GB and yet the actual strings we use have been created, over 10 years, many by people who are not native en-GB speakers.
  • Create a style guide to standardise the correct usage of en-GB and assist anyone writing language strings for Joomla.
  • A secondary aim is that this style guide can be used as a basis for translation teams.
  • Traditional rules of grammar do not always apply to the web. See Break Grammar Rules on Websites for Clarity

Announcement en-GB User Interface Text Working Group

Dear Joomla Extension Developers

We need your to help spread the word!

We are currently planning the Joomla 2.5 marketing campaign. Joomla 2.5.28 is scheduled to be released on December 10th. As part of our campaign, we are asking extension developers to write a blog (of any length) that explains 2.5.28 will be the final release of the 2.5 series. Additionally, it would be helpful for your users if you provide documentation on how to upgrade your extension within your blog post.

Here is documentation by Jennifer Gress, Tom Hutchison, and Connie Lippert to help people plan for upgrading The marketing team is preparing an information pack that explains 2.5.28.

Our goal for this campaign is to work together to help the community find the resources they need for successful upgrade planning. If you have suggestions on how else we can assist in this transition, please post here

Joomla Extension Developers, what resources do you need for the final release of 2.5

Joomla! CMS

Current Release 

View known Issues

Development Status

Nightly CMS builds for developers are available for download

Joomla! Framework

Joomla! Reading

Joomla! Programming

Joomla! Programming

Mark Dexter & Louis Landry
Joomla! Templates

Joomla! Templates

Angie Radtke