Joomla uses Github to manage the development of the CMS. To assure a high degree of quality, all changes are organised as so called pull requests, which combine all requested changes for a feature into one testable thing. I have created here a list of all the pull requests that I provided to the Joomla project over the years. The work from before Joomla switched to Github is not listed here.
- #17887 Add strings for day and month to en-GB.ini
- This makes the language files more consistent.
- #16461 Contact page does not load proper com_user.profile XML
- Contact forms were unable to be extended via a plugin, which this fixes.
- #14792 Joomla 4.0: Fixing fatal error in admin template
- Fixing an error that was introduced while refactoring for Joomla 4.0
- #14323 Removing error surpressing @ in com_finder router
- A minor fix.
- #14322 Fixing missing alias in URLs
- This is part of the router modernisation effort.
- #14031 Fixing URLs for orphaned articles
- This is part of the router modernisation effort.
- #13021 Joomla 4.0: Removing modern SEF option
- Cleaning up for Joomla 4.0
- #12897 Joomla 4.0: Fixing double columns in session query
- Cleaning up for Joomla 4.0
- #12875 Joomla 4.0: Cleaning up routers from 3.7
- Cleaning up for Joomla 4.0
- #12629 Fixing Contact urls for linked authors (New)
- Again a fix to routing.
- #12482 Removing unnecessary code from com_search router
- Cleaning up the search router.
- #12434 Routing: Fixing notice for non-existing views
- This is part of the routing modernisation effort.
- #12336 Trying to fix some of the HHVM unittests
- Making unittests work on HHVM.
- #12328 Joomla 4.0: Fixing autoloader for JCategoryNode
- Cleaning up for Joomla 4.0.
- #12305 Joomla 4.0: Removing JNode and JTree
- Cleaning up for Joomla 4.0
- #12276 Joomla 4.0: Moving Models and Controllers from /libraries/legacy to /libraries/cms
- Cleaning up for Joomla 4.0.
- #12275 Joomla 4.0: Fixing JApplicationWeb::getMessageQueue()
- Cleaning up for Joomla 4.0.
- #12272 Joomla 4.0: Removing calls to JError::raiseError()
- Cleaning up for Joomla 4.0
- #12267 Joomla 4.0: Removing deprecated code from JUser* classes
- Cleaning up for Joomla 4.0.
- #12264 Joomla 4.0: Move legacy formfields
- Cleaning up for Joomla 4.0.
- #12263 Joomla 4.0: Removing deprecated code from JViewLegacy
- Cleaning up for Joomla 4.0.
- #12262 Joomla 4.0: Move legacy tables to cms tables
- Cleaning up for Joomla 4.0.
- #12259 Joomla 4.0: Removing JTableSession
- Cleaning up for Joomla 4.0.
- #12257 Joomla 4.0: Removing JFactory::getAcl()
- Cleaning up for Joomla 4.0.
- #12255 Joomla 4.0: Removing JSimplepieFactory and JFactory::getFeedParser()
- Cleaning up for Joomla 4.0.
- #12168 Joomla 4.0: Routing changes
- This is part of the routing modernisation effort for Joomla 4.0.
- #12165 Deprecating modes in JRouter
- Improving routing for Joomla 4.0
- #11936 Fixing missing getItems in mock JMenu for (routing) unittests
- Improving unittests further.
- #11910 Properly setting up JFormFieldEmail test
- More unittests.
- #11320 Routing: Remove IDs from SEF URLs (new)
- This is part of the routing modernisation effort.
- #11035 Run SEF plugin also when SEF URLs are not enabled
- This is part of the routing modernisation effort.
- #9204 Improving JTableNested::delete()
- This is a performance improvement to the nested set implementation in Joomla.
- #8864 Optimizing JMenu::getItems()
- A small performance improvement.
- #8863 Optimizing menu item parent calculation
- This is a major performance improvement.
- #8256 Routing: New URL routing for Joomla
- This is part of the routing modernisation effort.
- #7303 Having a multilang-site should not override the options of JCategories
- No comment on this one...
- #6844 Fixing JToolbarHelper::back()-Button
- This adds back in the icon to the back button.
- #6671 Updating comment on JModelLegacy to allow for code completion
- Just a minor fix.
- #6653 Updating comment on JModelLegacy to allow for code completion
- Just a minor fix.
- #6563 Adding codeCoverageIgnore to deprecated method in JPathway
- A minor fix.
- #6550 Improving JPluginHelper unittests
- By adding more unittests, Joomla can provide higher quality code.
- #6546 Improving JComponentHelper::getComponent tests
- More unittests.
- #6513 Removing obsolete file check in JEditor
- This removed code from Joomla 1.5 in the JEditor plugin system.
- #6504 Unittests for Notequals rule
- Additional unittests for increased code quality.
- #6500 Improving JHelp unittests
- Adding additional unittests for JHelp
- #6492 Improving JModuleHelper::getModule() test
- Added additional unittests for JModuleHelper here.
- #6483 Undefined variable lang_code in plugins/system/languagefilter/languagefilter.php on line 297
- Another small fix.
- #6480 Simplifying JPagination unittests
- This removes a series of junk-unittests.
- #6477 Fix dataprovider of JPagination unittest
- This fixes the unittests of JPagination.
- #6458 Fixing notice in languagefilter
- Just a minor fix.
- #6400 Checking if the lang_code was already set in POST
- This is the first of several PRs to fix the languagefilter plugin.
- #6399 Allow the language to be overriden via a query variable
- See the description in the PR for details.
- #6307 Fixing JTableAsset::rebuild()
- After this change, the asssets table was able to be rebuild again.
- #6278 Remove usage of JRouter from Languagefilter Plugin constructor
- There were issues with the router of Joomla being created to early in the startup of the system, which this fixes and allows for more flexibility for developers.
- #6254 Missing URL information breaks menu alias routing
- This is again part of the languagefilter plugin rewrite.
- #6101 Fixing JDEBUG usage in JModuleHelper
- This makes the usage of JDEBUG in JModuleHelper consistent.
- #6100 Fixing JDEBUG usage in JError
- This makes the usage of JDEBUG in JError consistent.
- #6044 Removing unnecessary routing code for SEF mode
- mod_menu and the pathway had code that thought it was necessary to distinguish between SEF mode being turned on or off and which could simply be removed.
- #6034 Optimizing mod_login helper
- Again optimizations for routing code in a module.
- #6032 Cleaning up the checks in Modules renderer for performance
- A small performance improvement.
- #6030 No need to get JFilterInput instance for each cycle in the loop
- A performance improvement when rendering modules.
- #5952 Refactoring helper of mod_languages
- This provides some performance improvements for the language module.
- #5950 [REFACTORING] Removing unnecessary trim in mod_languages
- Another code cleanup. Sometimes you just have to remove unnecessary code...
- #5683 Sort menus in the backend menu alphabetically
- A nice UX improvement in the backend.
- #5682 Sort Template positions in module template positions dropdown
- And another PR to improve the UI.
- #5510 Cleaning up the router of com_wrapper
- What the title says.
- #5444 Routing: Implementing JComponentRouterAdvanced
- This is part of the routing modernisation effort.
- #5423 Fix notice in content search plugin
- I introduced an error in the content search plugin and fixed it with this PR.
- #5364 Fixing broken language indexing in com_finder
- Again a fix to Finder.
- #5347 Fixing tag routing
- Yet another routing fix. The routing of tags is still not right though, but fixing that was out of the scope of this PR.
- #5338 JModelAdmin: Batch optimizations
- By removing a lot of duplicate code, maintaining the code got a lot easier in the future.
- #5317 Fixing notice when doing batch copy and language change
- Repairs an error in batch handling of items.
- #5316 Removing unnecessary code from JModelAdmin
- Code Cleanup
- #5276 ContentHelperRoute::getArticleRoute needs to be called with catid and language
- Again an attempt at improving the uniformity of the URLs generated in the Joomla core extensions.
- #5264 Routing: Implementing routing stages
- This is part of the routing modernisation effort.
- #5234 Updating JComponentRouterRulesInterface
- This is part of the project to modernise the routing of Joomla.
- #5173 JRouterInstallation::parse() made compatible with the interface
- A minor fix.
- #5168 Routing: using the dependency injected $app and $menu in the core routers
- The component routers have an application and a menu object available now, so we should use ithem.
- #5140 Routing/Language: Refactoring the language system to simplify the code
- The routing for the different languages was a long standing issue in Joomla and quite convoluted and broken. This PR fixed a lot of smaller issues by making the code more consistent. It should speak for itself that almost 200 lines of code could be removed while also improving the overall experience.
- #5135 Initial codereview of languagefilter plugin
- Next PR to fix the languagefilter plugin
- #5134 Fixing notice in categories finder plugin
- Just a minor fix
- #5124 Optimizing JComponentHelper::getComponent
- This is a substantial performance improvement.
- #5120 Improving query to use indexes better. Fixes #5101
- This is a general performance improvement.
- #5108 JModelLegacy: Don't try to use "fast" count method for queries with union
- Again, see the discussion in this PR for details.
- #5107 Fix for: Banners matched only by tags results in SQL error
- See the discussion in this PR for details.
- #5105 Tags: Fixing routing
- And more routing fixes.
- #5104 Finder: Fallback for routing is called with wrong parameters
- And another fix to the routing in Finder.
- #5086 Implementing a clearAccessRights method
- The permissions system in Joomla had the bad habit of caching the current permissions of a user per session, making it near impossible to implement changes to user roles properly. This PR made that easier. All of this was superseded by a fundamental change to JUser which made all of this unnecessary.
- #4991 Reverting #3972 and implementing clearAccessRíghts
- No comment on this one...
- #4849 Routing: Implementing an interface for component router rules
- This is part of the routing modernisation effort by me
- #4848 Routing: Adding application and menu objects to component routers
- This is part of the project to modernise the routing of Joomla.
- #4614 Removing unnecessary run of JRouter::parse()
- And another PR to improve performance by properly used routing methods.
- #4612 Fixing canonical in SEF plugin
- This changes the canonical tag in Joomla further towards the definition of Google.
- #4176 [#32200] Removing false error_reporting setting in the installer
- See the discussion in this PR for details.
- #3880 Fixing several unittests on Windows
- The unittests on Windows were very buggy in the past. These changes fixed a lot of issues.
- #3759 Routing: Introducing unittests for core app router classes
- This was part of the routing modernisation effort. I introduced a lot of unittests in order to raise the code quality.
- #3303 Fixing validate-uncompressed.js
- The change makes the validation script play nicely with the jQuery compatibility mode.
- #3288 [#33463] Fixing problem in com_messages with double brackets
- Another one of those...
- #3251 [2.5.x] Fixing version comparison for database schema
- This fixes the version comparison for the database schema for Joomla 2.5.
- #3249 Fixing version comparison for database schema
- Yet another version comparison fix.
- #3233 [#30197] class hide-phone for active numeric pagination items
- Another minor fix. (This was all in an attempt of cleaning up the old Joomlacode tracker.)
- #3220 $app->registeredurlparams is not defined
- Another minor fix
- #3219 [#32441] Fix divison by 0 issue in debug plugin
- A minor fix.
- #3165 Implementing class based component routers
- This is part of the routing modernisation efforts.
- #3164 Optimizations for JRoute and JRouter 2. Try
- This is part of the routing modernisation efforts.
- #3068 [#32639] [2.5.x] If banned list contains "word;" it rejects every message
- The above fix for Joomla 2.5
- #3067 Making link clickable for Twofactor Auth
- Just a minor fix.
- #3066 [#32639] If banned list contains "word;" it rejects every message
- Another minor fix.
- #3065 [#32544] Fixing Contact routing in search
- This fixes the URLs for the search results for contacts.
- #2795 Query-fix in com_content article modal
- See discussion in PR for details.
- #2789 Implementing caching for getRootId() to save queries
- Yet another performance improvement. This time in the permission management of Joomla.
- #2785 [3.3] Implementing bcrypt for password hashing into Joomla as default method
- Adding bcrypt hashing for passwords in Joomla to 3.x
- #2636 Fixing broken URL creation when categories are trashed or unpublished
- Fixing URLs for categories
- #2631 Fixing broken routing due to missing language parameter.
- Fixing URLs for multi-language websites
- #2589 BCrypt fixes
- Fixing password hashing that was broken in Joomla 3.2.0
- #2546 Making Finder plugins language aware
- The change adds the language of the item into the index of com_finder
- #2543 Content items have to be deletable even when their asset entry is missing
- Allows to delete content items to be deleted without an asset entry
- #2147 Fixing com_installer database view version compare
- Repairs a bug with update notices for Joomla 2.5.
- #2146 com_installer version compare for database schema fixed
- Repairs a bug with update notices for Joomla.
- #1839 JText: Changed conditional to make it easier to read
- This is mostly a code-cleanup to make this better readable.
- #1708 Fixing *HelperRoute classes
- Fixing URL creation for core components
- #1560 Fixing routing bug in Joomla 3.1
- This was a giant performance improvement by caching the language data in routing.