SW JProjects - Documentation
Category: Components

Creating a new version for a project (Joomla extension)

How to create a version for a Joomla extension in the SW Project component, upload the archive of the extension installation file, specify the Joomla version, fill in the list of changes (changelog) for this version. SEO settings.

What is the version in SW JProjects?

During the development of the project (your Joomla extension), new versions are released with bug fixes and new functionality added. Each version has its version number 1.0.0. This numbering follows semantic versioning (server, server).

Semantic Versioning (semver)

 Specifying the version for the Joomla extension in the SW JProjects component

The principle of semantic versioning allows the developer to meaningfully specify the version number so that it is understood by other developers and webmasters working with sites. And also with the help of semver, you can plan and distribute various types of changes in the code by versions, among which one of the most important places is a violation of backward compatibility - when a new version of an extension has changed so much that it is impossible to simply update the previous version of the program to the next, but only with the help of migration and additional actions on the part of the user.

To quote the documentation:

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes

MINOR version when you add functionality in a backward compatible manner

PATCH version when you make backward compatible bug fixes

Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

The fourth digit of the version in the family is allowed, but not required. It is often called hotfix (hot fix, quick patch). Developers can release hotfix versions when some mistake was made in the released release that requires immediate correction, but some users have already downloaded and started using it. In such cases, the release of a patch version allows you to update the program (Joomla extension) and at the same time not violate the release plan (development plan, release plan) and not change the version numbering inside this plan. 

The first version of the extension usually has version 1.0.0.

Major version of the Joomla extension
It is used for the first version and when there is an inevitable breakdown of backward compatibility. For example, the new version has been rewritten to a new file and class architecture and the module/plugin previously available for Joomla 3 can no longer work with it, but only with Joomla 4+.
Minor version
It is used when new functionality appears or a large accumulated number of changes are noticeable to end users. For example, changing the extension interface.
Patch version
It is used most often. Any small changes, minor bug fixes, code refactoring, corrected the comment in the PHP Doc block, changed the code style, etc. - this is a patch version.
A meaningful indication of the version for the Joomla extension allows the end user to assess the extent of changes and plan the amount of work and their time.

You can also get acquainted with the software release life cycle (Wiki)the software release life cycle (Wiki). This will help you inform your customers about the status of the expansion version and the degree of its availability (alpha, beta, RC...).

Creating a version

To create a project, go to the menu in the admin panel - Components - SW JProjects - Versions. Click the create button.

Creating a new version of the Joomla extension in the SW JProjects component

A window opens to fill in the version data. First of all, specify which project this version is being created for. A search is running in the drop-down list of projects.

Selecting a project for the Joomla version of the extension in the SW JProjects component

Then specify the version and select the stage (stable, RC, Beta, etc.). Download the installation file of your Joomla extension. 

Downloading the Joomla extension file when creating a version in the SW JProjects component

After you have selected the project, another field becomes available below - the Joomla version. This is the minimum required version of Joomla for your extension to work. Specify the numbers separated by the dot symbol - "."

Specifying the minimum required Joomla version for the extension version in the SW JProjects component

If you need to replace the downloaded file, set the "Delete file" checkbox and click "Save". The file will be deleted and you can upload a new one.

List of changes (Changelog)

It is advisable to fill in a list of changes for each version. It will allow you to evaluate the work done, and your users to find out about all the changes in the new version. 

Starting with the 4th branch, Joomla has the ability to view the list of changes directly in the admin panel immediately before updating the extension. And also in the list of all installed extensions.

According to the documentation Adding changelog to your manifest file Joomla assumes the following types of changes:

  • security: Any security issues that have been fixed
  • fix: Any bugs that have been fixed
  • language: This is for language changes
  • addition: Any new features added
  • change: Any changes
  • remove: Any features removed
  • note: Any extra information to inform the user

Fill in the list of changes for the new version.

Filling in the changelog changelog list of the new version of the Joomla extension in the SW JProjects component
Filling in the changelog changelog list of the new version of the Joomla extension in the SW JProjects component

SEO Settings

Usually, the version pages are closed from indexing by search engines, since they contain less unique information compared to the project or documentation page. But you can set a unique value for each version for the <title> of the page, meta description, and specify an image for the Open Graph markup.

SEO settings for new version of Joomla extension in component SW JProjects

WebTolk Joomla Extensions

88 Extensions
11 Categories
375 Versions released
363080 Downloads
Cart
Cart is empty