|
| 1 | +--- |
| 2 | +sidebar_position: 3 |
| 3 | +title: Changelogs |
| 4 | +--- |
| 5 | + |
| 6 | +Changelogs |
| 7 | +========== |
| 8 | + |
| 9 | +Extension developers can leverage the ability of Joomla to read a changelog file and give a visual representation of the changelog. If a given version is not found in the changelog, the changelog button will not be shown. |
| 10 | + |
| 11 | +The changes in a release are presented in this manner: |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | +## Displaying the Changelog |
| 16 | + |
| 17 | +Changelogs can be displayed in 2 places within the Joomla administrator back-end. |
| 18 | + |
| 19 | +1. Manage Extensions |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +You can click on the version number to display the changelog. |
| 24 | + |
| 25 | +To enable this you must specify in the extension installation manifest file where Joomla should look to find the changelog details, for example: |
| 26 | + |
| 27 | +```xml |
| 28 | +<changelogurl>https://example.com/updates/changelog.xml</changelogurl> |
| 29 | +``` |
| 30 | + |
| 31 | +Please note: The URL in the changelogurl tag must not have any spaces or line breaks before or after it. |
| 32 | + |
| 33 | +2. Update Extensions |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | +To enable this you must specify in the extension[ update server](../update-server.md) file where Joomla should look to find the changelog details, for example: |
| 38 | + |
| 39 | +```xml |
| 40 | +<changelogurl>https://example.com/updates/changelog.xml</changelogurl> |
| 41 | +``` |
| 42 | + |
| 43 | +:::note[Joomla Issue] |
| 44 | + This feature does not currently work; see [Joomla issue 43505](https://issues.joomla.org/tracker/joomla-cms/43505). |
| 45 | +::: |
| 46 | + |
| 47 | +## The Changelog File |
| 48 | + |
| 49 | +An example of a changelog file is below: |
| 50 | + |
| 51 | +```xml |
| 52 | +<changelogs> |
| 53 | + <changelog> |
| 54 | + <element>com_lists</element> |
| 55 | + <type>component</type> |
| 56 | + <version>4.0.0</version> |
| 57 | + <security> |
| 58 | + <item>Item A</item> |
| 59 | + <item>Item b</item> |
| 60 | + </security> |
| 61 | + <fix> |
| 62 | + <item>Item A</item> |
| 63 | + <item>Item b</item> |
| 64 | + </fix> |
| 65 | + <language> |
| 66 | + <item>Item A</item> |
| 67 | + <item>Item b</item> |
| 68 | + </language> |
| 69 | + <addition> |
| 70 | + <item>Item A</item> |
| 71 | + <item>Item b</item> |
| 72 | + </addition> |
| 73 | + <change> |
| 74 | + <item>Item A</item> |
| 75 | + <item>Item b</item> |
| 76 | + </change> |
| 77 | + <remove> |
| 78 | + <item>Item A</item> |
| 79 | + <item>Item b</item> |
| 80 | + </remove> |
| 81 | + <note> |
| 82 | + <item>Item A</item> |
| 83 | + <item>Item b</item> |
| 84 | + </note> |
| 85 | + </changelog> |
| 86 | + <changelog> |
| 87 | + <element>com_lists</element> |
| 88 | + <type>component</type> |
| 89 | + <version>0.0.2</version> |
| 90 | + <security> |
| 91 | + <item>Big issue</item> |
| 92 | + </security> |
| 93 | + </changelog> |
| 94 | +</changelogs> |
| 95 | +``` |
| 96 | + |
| 97 | +You may specify multiple `<changelog>` elements within the `<changelogs>` element, one for each version of the extension. |
| 98 | + |
| 99 | +Each `<changelog>` element must have the following 3 nodes: |
| 100 | +- element |
| 101 | +- type |
| 102 | +- version |
| 103 | + |
| 104 | +This information is used to identify the correct changelog for a given extension, for example: |
| 105 | + |
| 106 | +```xml |
| 107 | +<element>com_lists</element> |
| 108 | +<type>component</type> |
| 109 | +<version>4.0.0</version> |
| 110 | +``` |
| 111 | + |
| 112 | +The changelog contains one or more change types. The following change types are supported: |
| 113 | +- security: Any security issues that have been fixed |
| 114 | +- fix: Any bugs that have been fixed |
| 115 | +- language: This is for language changes |
| 116 | +- addition: Any new features added |
| 117 | +- change: Any changes |
| 118 | +- remove: Any features removed |
| 119 | +- note: Any extra information to inform the user |
| 120 | + |
| 121 | +Each node can be repeated as many times as needed. |
| 122 | + |
| 123 | +The format of the text can be plain text or HTML but in case of HTML, it must be enclosed in CDATA tags as in: |
| 124 | + |
| 125 | +```xml |
| 126 | +<security> |
| 127 | + <item><![CDATA[<h2>You MUST replace this file</h2>]]></item> |
| 128 | +</security> |
| 129 | +``` |
| 130 | + |
0 commit comments