"Fossies" - the Fresh Open Source Software Archive

Member "tidy-html5-5.8.0/README/VERSION.md" (16 Jul 2021, 5471 Bytes) of package /linux/www/tidy-html5-5.8.0.tar.gz:

As a special service "Fossies" has tried to format the requested source page into HTML format (assuming markdown format). Alternatively you can here view or download the uninterpreted source code file. A member file download can also be achieved by clicking within a package contents listing on the according byte size field. See also the last Fossies "Diffs" side-by-side code changes report for "VERSION.md": 5.4.0_vs_5.6.0.

HTML Tidy Versioning

This document provides an explanation of how to interpret HTML Tidy’s version number, e.g. from command line output as a result of tidy -v, and also addresses the role of the file version.txt in Tidy’s build process.


HTML Tidy uses a modified version of Semantic Versioning, and so it’s important to understand what the version number of HTML Tidy means to you, and how it might impact your workflow.

When you execute tidy -v on the command line, you might see responses such as:

HTML Tidy for Mac OS X version 5.1.24
HTML Tidy for Mac OS X version 5.2.0
HTML Tidy for Mac OS X version 5.3.15
HTML Tidy for Mac OS X version 5.4.0
HTML Tidy for Mac OS X version 5.5.1

Obviously 5.5.1 is higher than 5.2.0, right? This might lead you to consider replacing your stable installations of HTML Tidy 5.2.0 across the board in your production process, but this might lead you to trouble. A little word about the meaning of our version numbers might help clear things up.

Major, Minor, Patch


When HTACG assumed responsibility of HTML Tidy from previous maintainers, we immediately declared that the first release would be version 5.0, in honor of finally being able to offer modern HTML5 support.

Barring some major, monumental, massive change to Tidy, or the release of HTML6, HTML Tidy will probably be major version 5 forever. Maybe future maintainers will want to be trendy and release HTML Tidy 2025, but that’s for them to decide.


The minor version tells a lot more about the true version of Tidy that you have, but even so it’s not a simple matter that 5 > 2 and must be better. The minor number indicates HTML Tidy release versions or development versions.


The patch indicates the latest version of the current minor version number. As with minor version numbers, there is some variation in their meaning:


The version.txt File

The libTidy version is controlled by the contents of version.txt in the root.

This file consists of two lines of dot (.) separated items. The first being the major, minor, and patch version values, and the second string is a date. Example:


When CMake is run, this file is read and two macros are added to the compile flags:

add_definitions ( -DLIBTIDY_VERSION="${LIBTIDY_VERSION}" )
add_definitions ( -DRELEASE_DATE="${tidy_YEAR}/${tidy_MONTH}/${tidy_DAY}" )

And in CMakeLists.txt there is the posibility to define another macro, when and if required:

# add_definitions ( -DRC_NUMBER="D231" )

These macros are put in static const char strings in libTidys’s internal- only src/version.h file:

static const char TY_(release_date)[] = RELEASE_DATE;
#ifdef RC_NUMBER
static const char TY_(library_version)[] = LIBTIDY_VERSION "." RC_NUMBER;
static const char TY_(library_version)[] = LIBTIDY_VERSION;

These strings are returned respectively by the libTidy API functions:

TIDY_EXPORT ctmbstr TIDY_CALL     tidyLibraryVersion(void);
TIDY_EXPORT ctmbstr TIDY_CALL     tidyReleaseDate(void);

Git branches

Starting with HTML Tidy 5.4.0 release, our branching scheme aligns nicely with our version numbering scheme. Please consult BRANCHES.md.

Updated: 20170210
Date: 20150904