Skip to main content

Changelog


What Are the Minimum System Requirements?

Changelog 2.1.0 requires:

  • PHP: 8.2.0 or newer
  • YOOtheme Pro: 5.0.53 or newer
  • Joomla: 5.4.9 or newer, or WordPress: 7.1.3 or newer

The same shared element runtime is used on Joomla and WordPress. Markdown is parsed on the server, so it does not require a separate browser library.

What Does the Changelog Element Do?

Changelog presents product releases as structured lists with a version, date, category label and entry content. It is suitable for software releases, project updates, maintenance histories and other chronological change records.

You can author one release with ordinary Builder items or generate a longer release history from a single Markdown source.

What Is the Difference Between Static and Markdown Modes?

Static is the original workflow. The parent element contains one version and date, while every change is an editable child item.

Markdown generates multiple releases and entries from one structured text field. It is more convenient for long histories or content supplied through Dynamic Content.

Only the selected mode is rendered. Switching modes does not delete the saved Static items or Markdown text, so you can switch back without recreating the content.

How Do I Add and Configure a Changelog?
  1. Add the Changelog element in YOOtheme Pro Builder.
  2. Choose Static or Markdown under Mode.
  3. In Static mode, enter the version and date, then edit or add Changelog items.
  4. In Markdown mode, enter the structured release text and open Edit Label Mapping when category styles need adjustment.
  5. Use the Display controls to show or hide the version, date and links.
  6. Use the Settings tab to configure the list, typography, labels, links, spacing and animation.

New Static elements start with three placeholder items.

What Can Each Static Changelog Item Contain?

Each Static item contains a required label, required rich-content field, optional label style and optional link. The label normally names the category, for example Added, Fixed or Security.

A linked item may also open in a new window, force a download, add nofollow or noreferrer, use a local UIkit interaction and provide a link title.

An item without both a label and content is omitted from frontend output.

What Is the Exact Markdown Format?

Use an H2 heading for every release, an H3 heading for every category and a hyphen bullet for every entry:

## 2.1.0 — November 1, 2026
### Added
- Added Markdown mode.
### Fixed
- Fixed label mapping.

The release heading requires a version, a spaced em dash ( — ) and a date. Both sides must contain text. Only entries beginning with - are recognized; asterisks and plus signs are not supported as list markers.

Can One Markdown Field Contain Multiple Releases?

Yes. Start each release with another valid H2 heading. Every following H3 section and its entries belong to that release until the next H2 heading appears.

Entries are accepted only after both a valid release heading and category heading. Ordinary text, H1 headings and standalone URL lines are ignored.

How Does Label Mapping Work?

Every Markdown H3 heading becomes the visible label for the entries below it. Label Mapping controls only the visual label style; it does not replace the displayed heading text.

Enter one or more matching section names under Section Aliases, then choose a Label Style. Changelog supports up to ten mapping rows.

Which Label Mappings Are Included by Default?
  • Added → Success
  • Fixed → Warning
  • Changed → Default
  • Enhanced → Enhanced
  • Removed → Removed
  • Security → Security

The remaining four rows are empty and can be used for project-specific categories.

Can One Label Mapping Match Several Section Names?

Yes. Separate aliases with commas, for example Added, New, New Feature. Matching is case-insensitive and ignores repeated surrounding whitespace, so ADDED and Added resolve to the same alias.

If the same alias appears more than once, the first accepted mapping wins. A section without a matching alias uses the Default label style.

Which Label Styles Are Available?

Static items and Markdown mappings support Default, Success, Warning, Danger, Enhanced, Removed and Security.

Success, Warning and Danger are native YOOtheme Pro styles. Enhanced, Removed and Security are product-owned Changelog styles added in version 2.1.0.

Where Can I Change the Enhanced, Removed and Security Label Colors?

Open YOOtheme Pro Style Customizer → Label. The new Enhanced, Removed and Security groups are added directly to the existing native Label section; Changelog does not create a separate Style Customizer section.

Each group lets you change the background color, text color, border and box shadow. Save or recompile the active YOOtheme style after changing these values.

Can I Use Dynamic Content?

Yes. In Static mode, the version, date, item label, item label style, item content, item link and link title support the appropriate YOOtheme Pro Dynamic Content workflows.

In Markdown mode, the complete Markdown field, every Section Aliases input and every Label Style select can resolve Dynamic Content. The resolved value is validated before parsing or rendering.

Which Inline Markdown Formatting Is Supported?

Entry text supports a deliberately small inline dialect:

  • **bold** or __bold__
  • *emphasis* or _emphasis_
  • `inline code`

The parser does not evaluate arbitrary Markdown extensions. This keeps output predictable and allows the same source to produce safe HTML and clean searchable text.

How Do I Add a Link to a Markdown Entry?

The complete entry must use this link form:

- [Read details](https://example.com/release "Release details"){target download nofollow noreferrer}

The quoted title and flags are optional. Supported flags are target, download, nofollow, noreferrer and toggle. Inline bold, emphasis and code remain available inside the link text.

Unsafe or malformed URLs are removed while their readable entry text is retained.

Is a Standalone Release or General URL Parsed?

No. A URL on its own line after a release heading is ignored. Changelog does not create a general release link from Markdown.

To link an entry, use the complete list-item link syntax. In Static mode, add the URL directly to the individual Changelog item.

How Do Local Fragment Links and Interactive Toggles Work?

A safe link beginning with # is treated as a local fragment. By default it uses UIkit smooth scrolling. Add the toggle flag to a non-empty fragment such as #details when it should control a UIkit toggle target instead.

The new-window behavior is not applied to local fragments. A bare # remains a link marker but does not become a scroll or toggle target.

Can Markdown Entries Contain Raw HTML?

No executable raw HTML is evaluated in Markdown mode. Tags such as <script> are escaped and shown as inert text, while release metadata and category headings are reduced to plain text.

Existing HTML entities are preserved without being encoded again. In Static mode, the Content editor keeps trusted rich HTML according to normal YOOtheme Pro authoring behavior.

What Happens to Malformed or Unsupported Markdown?

Malformed release headings, empty categories, orphan entries, unsupported list markers and unrelated lines are ignored instead of being guessed. Invalid links lose their unsafe destination but keep readable text.

If the Markdown field is empty or contains no valid releases and entries, Changelog produces no generated release markup. Check the exact heading separator and hyphen bullets first.

What Do the Display Switches Do?

Show the version, Show the date and Show the link control regular visual rendering without deleting the saved values.

In Markdown mode, version and date visibility applies to every generated release. Disabling links leaves the label and entry content visible.

How Can I Style the Version and Date?

The Version and Date groups include native typography style, decoration, font family, text transform, color, semantic HTML element and margin controls.

The date can appear above or below the version, or to its left or right. Date decoration also supports brackets. Version and date may each use an H1–H6 heading or a non-semantic div.

Which List and Layout Controls Are Available?

Choose an unordered or ordered list, then select None, Divider or Striped styling. Item spacing can use Default, Large or collapsed padding, and Column Gap controls the space between the label and content columns.

The parent element also provides native YOOtheme controls for margins, width, alignment, visibility, element animation and item animation.

How Do Label Width and Vertical Alignment Work?

Width sets a shared minimum label width from 0–200 px. Leave it at 0 or empty for automatic sizing, or use one value to align category labels consistently.

Center vertically aligns the label with longer entry content. Label text itself remains centered inside the label.

How Can I Style Entry Content and Links?

The Content group provides native text style, font family, text transform, color and HTML-element controls. The Link group provides None, Heading, Muted, Text and Reset styles plus a global fallback title.

When an item is linked, the complete label-and-content row becomes the clickable area. Item-specific link titles take precedence over the parent fallback title.

Which Link Attributes Are Available in Static Mode?

A Static item supports opening in a new window, interactive toggle behavior, file download, nofollow, noreferrer and a title attribute.

For a local fragment such as #details, Interactive Toggle uses UIkit toggle behavior; otherwise the fragment uses smooth scrolling. New-window behavior applies only to non-fragment URLs.

How Does Searchable and Fallback Content Work?

Changelog provides a separate plain, portable content projection for site search and for templates used after switching away from YOOtheme Pro. It contains release versions, dates, category labels, readable entry text and safe authored links.

Markdown inline formatting is reduced to readable text in this projection. Visual Display switches do not erase the authored metadata from searchable or fallback content.

Are There Markdown Size or Performance Limits?

One Markdown value accepts up to 256 KiB, with a 10 KiB limit per line. A parse emits at most 100 releases and 2000 entries. Label Mapping accepts ten rows, up to 20 comma-separated aliases per row and up to 80 characters per normalized alias.

Parsing is bounded, warnings are capped and repeated results are cached for the current request. Oversized or invalid UTF-8 input fails closed instead of producing partial unsafe output.

What Happens When I Upgrade from Changelog 2.0?

The managed 2.1.0 migration keeps existing content and initializes the new properties safely. Existing layouts remain in Static mode, so their version, date, items, links and presentation settings continue to render without manual conversion.

Markdown is opt-in. No conversion button is required, and switching to Markdown does not delete the existing child items.

Is the Builder Interface Translated?

Yes. Changelog 2.1.0 includes complete product-owned translations for 28 locales, including Markdown guidance, Label Mapping controls and the new label styles.

Shared native Builder terminology continues to use YOOtheme Pro translations. If a product translation is unavailable, the original English text is used as the fallback.

How Can I Add Custom CSS?

Use the Advanced tab for element ID, custom classes, attributes and custom CSS. The built-in CSS editor can scope rules through .el-element, .el-item, .el-version, .el-date, .el-label, .el-content and .el-link.

Changelog also uses stable BEM classes beginning with .fs-changelog. Prefer the provided element selectors or a unique custom class when a rule should apply only to one instance.

What Should I Check If Markdown Content Does Not Appear?
  • Confirm that Mode is set to Markdown.
  • Use the exact release form ## Version — Date with spaces around the em dash.
  • Add an H3 category before its entries.
  • Start every entry with a hyphen and space: - Entry.
  • Check whether Dynamic Content resolved to a string.
  • Remove raw HTML or unsupported Markdown constructs and test the minimal example.
  • Reload Builder and clear stale site caches after installation or update.
  • Recompile the active YOOtheme style if the new label styles appear unstyled.