1

I've checked the structure of my changelog for the J4 component I'm developing and compared it to other extensions, I can't see anything that I'm doing differently. When a new update is showing as available in the Updates view, when I click on Changelog, the modal only contains the heading at the top and none of the actual change information.

Screenshot

Here is the current iteration of the markup.

<?xml version="1.0" encoding="utf-8" ?>
<changelogs>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.0</version>
    <note>
      <item>Initial Version</item>
    </note>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.1</version>
    <fix>
      <item>Remove obsolete code and streamline toolbar creation. Fix permissions issue in install script</item>
    </fix>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.2</version>
    <fix>
      <item>Fix broken New button for directories</item>
    </fix>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.3</version>
    <fix>
      <item>Fix display issue for trashed directories</item>
    </fix>
    <change>
      <item>Rework filter display</item>
    </change>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.4</version>
    <fix>
      <item>Fix delete function for directories so it removes entries and input data</item>
    </fix>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.5</version>
    <fix>
      <item>Fix toolbar logic to display Trash and Checkin options in correct context</item>
    </fix>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.6</version>
    <fix>
      <item>Remove address placeholder text and use labels instead</item>
    </fix>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.7</version>
    <addition>
      <item>Add sha384 checksum to updates manifest</item>
    </addition>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.8</version>
    <addition>
      <item>Refactoring of PHP, ensure compatibility with PHP7.4, update deprecated functionality</item>
    </addition>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.9</version>
    <addition>
      <item>Add PHP version check to installation script preflight function</item>
    </addition>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.10</version>
    <addition>
      <item>Add delete function for selected Entry items</item>
      <item>Add language strings for standard admin actions</item>
    </addition>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.11</version>
    <addition>
      <item>Add state filters and action buttons for Entry items</item>
    </addition>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.12</version>
    <change>
      <item>Update deprecated calls for database class</item>
    </change>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.13</version>
    <addition>
      <item>Add directory export function</item>
      <item>Add directory import function</item>
    </addition>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.14</version>
    <change>
      <item>Only show published directories above Entries listing</item>
    </change>
  </changelog>
  <changelog>
    <element>com_erycdirectory</element>
    <type>component</type>
    <version>1.0.15</version>
    <addition>
      <item>Add checkbox and selectbox input types</item>
    </addition>
    <change>
      <item>Match drag styling for repeatable dates to draggable select items</item>
    </change>
    <fix>
      <item>Fix the way drag and drop works for repeatable date fields</item>
    </fix>
  </changelog>
</changelogs>
3
  • What happens if you reverse the version order, e.g 1.0.15 at the top and 1.0.0 at the bottom? Also, is the actual file encoding UTF-8?
    – Lodder
    Nov 11, 2022 at 12:59
  • Thanks for the suggestions - the file should definitely be utf-8 and I've tried reversing the versions but no change.
    – Grant Hood
    Nov 11, 2022 at 13:26
  • I've just seen in the documentation that you can add the <changelogurl> tag to the main component manifest, so I've done that and when I view my component in the extension manager, I can click on the version number and it shows the appropriate change data as expected. It's still not working when I'm trying to view the same info for an update that's ready to be installed :(
    – Grant Hood
    Jan 23, 2023 at 14:19

1 Answer 1

1

Right, I've worked this out. It is down to ensuring that the changelogurl entry is included in your component manifest when the component is first installed. I'm not sure if the documentation has changed, but I only included it in the Updates manifest initially.

<changelogurl>https://example.com/my/changelog/location/changelog.xml</changelog>

If you only add it to the manifest in a component update after you've initially installed a version of your component without it, then the changelogurl column in the #__extensions doesn't get populated with that URL.

If you do a clean install with that later version, then it'll work fine.

If you don't want to uninstall your older install, you can also get it working by updating the database directly. Just populate #__extensions.changelogurl with your changelog URL.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.