how it works...
Joomla
development process
by Peter Martin /
db8.nl
slides:
https://slides.db8.nl
---
Core
Joomla Development
Joomla versions
Bugs / Feature requests
Pull Requests
git workflow
Questions
---
Joomla
Versions
----
π
Semantic Versioning
(SemVer)
Version number format:
x.y.z
Part
Meaning
When It Changes
x
β
MAJOR
Breaking changes
incompatible API changes
y
β
MINOR
New features,
backwards-compatible
functionality added
without breaking existing features
z
β
PATCH
Bug fixes,
backwards-compatible
bugs are fixed
without changing the API
----
π¦
Release Phases
for Major Releases
Phase
Description
Alpha
New features are added and tested
Beta
Feature freeze,
no new features
,
only bugfixes
Release Candidate (RC)
Language freeze, final testing,
no changes to language strings
Stable
Only bug fixes are applied,
production-ready
----
π
Joomla Versions
Date
April 2025
Current Version
Joomla 5.3.0
Roadmap
https://developer.joomla.org/roadmap.html
----
β
Current
Stable Release
Branch
Link
5.3-dev
github.com/joomla/joomla-cms/tree/5.3-dev
5.4-dev
github.com/joomla/joomla-cms/tree/5.4-dev
Current Release
5.3.0
Upcoming Release
5.3.1
Release Date of Series
17 October 2023
End of Regular Bugfix Support (5.x)
13 October 2026
End of Security Fix Only Support (5.x)
12 October 2027
----
π§
Maintenance
Release
Branch
Link
4.4-dev
github.com/joomla/joomla-cms/tree/4.4-dev
Current Release
4.4.13
Release Date of Series
17 August 2021
End of Regular Bugfix Support (4.x)
15 October 2024
End of Security Fix Only Support (4.x)
14 October 2025
----
π
Future
Release
Branch
Link
6.0-dev
github.com/joomla/joomla-cms/tree/6.0-dev
Upcoming Release
6.0.0
Release Date of Series
14 October 2025
End of Regular Bugfix Support (6.x)
17 October 2028
End of Security Fix Only Support (6.x)
16 October 2029
---
Bugs
/
Feature requests
----
π
Bugs
, Hidden Features, and Other Shenanigans
Bug in current Joomla website?
Test with
Joomla's
Cassiopeia
template.
Solved? Issue with template override
Test in clean current stable version
.
Not solved?
Search
issues.joomla.org
or
github.com/joomla/joomla-cms/issues
.
Not yet reported?
Please report with instructions
on how to reproduce.
----
β¨
Feature requests
, Wishes, and Smart Ideas 1/2
Benefit many users?
Does it solve a
common need
or just a niche issue
?
Extension already available?
Could
existing extensions
solve this?
Align with Joomla's vision?
Flexibility, security, accessibility
in mind?
Increase complexity?
Keep Joomla clean and
easy to maintain
----
β¨
Feature requests
, Wishes, and Smart Ideas 2/2
Technically feasible?
Avoid
ideas that would require
massive changes
Maintainable long-term?
Consider
future updates
and support needs.
Possible to split into phases?
Smaller steps
are more likely to succeed.
Suggest it
at:
github.com/joomla/joomla-cms/issues
---
Pull Requests
(PR)
----
π Pull Requests in Joomla 1/3
Understand what a Pull Request is
A
Pull Request
is a request to have your code reviewed and merged ("pulled") into the Joomla core.
Make a fork, create a branch, make changes
Fork the Joomla
CMS repository, create a properly named branch, make your changes, and submit them as a Pull Request (PR).
Follow the coding standards
Ensure your code matches the
Joomla Coding Standards
.
----
π Pull Requests in Joomla 2/3
Always base your PR on the
correct branch
For bug fixes: branch from
staging
. For new features: branch from
5.4-dev
(or the appropriate next minor).
One pull request = one logical change
Keep PRs focused
. Avoid bundling unrelated fixes or features together.
Write a clear title and description
Explain
what the PR does, why itβs needed, and how to test it.
Check before submitting
Run tests, check coding style, and manually
test your changes
.
----
π Pull Requests in Joomla 3/3
Link related issues
Mention
related GitHub
IDs, e.g.,
Fixes #12345
.
Be ready for review feedback
Reviews are normal!
Update your PR
if changes are requested.
Keep your branch updated
Regularly pull changes from the base branch to
avoid conflicts
.
----
π»
And now?
- Submitted PR -
Automatic tests
: - continuous-integration/appveyor/pr - continuous-integration/drone/pr - Needs
2 successful human tests
- Ready To Commit (
RTC
) - Release Managers might merge it ---
git
workflow
---- ### Git Workflow
Branch(es)
Purpose
main
(or master)
Same code as
production
hotfix
branches
Created from
main
to quickly
fix
critical
bugs in production
develop
The
next version
with features and improvements
feature
branches
Created from
develop
to add
new features
release
branches
Created from
develop
to
prepare new production release
, merged back into
main
and
develop
---- ### Git Workflow
A successful Git branching model
- Vincent Driessen, 5 January 2010
---
Questions?
---- ## Photo Credits
https://unsplash.com/photos/white-printer-paper-BBQzXsbVnGs
https://pixabay.com/photos/notebook-paper-pages-open-731212/
https://unsplash.com/photos/brown-wooden-toy-blocks-GQ327RPuxhI
https://unsplash.com/photos/macro-shot-of-assorted-insects-on-green-leaf-GGewLGcQD-I
https://unsplash.com/photos/girl-pulling-the-collar-of-dog-during-daytime-cSsvUtTVr0Q
https://unsplash.com/photos/waterfall-at-daytime-waAAaeC9hns
https://nvie.com/posts/a-successful-git-branching-model/
https://unsplash.com/photos/man-in-black-crew-neck-t-shirt-and-beige-pants-sitting-on-white-and-blue-stairs-XY0uyBhZWCA