There was an idea to mark this function deprecated, such that if used the developer would see a warning. But this was never implemented in a cross platform way. So for now revert to circa Jan 2015 when Jim added a build date to the version.txt file. And now both LIBTIDY_VERSION and RELEASE_DATE macros are established in CMakeLists.txt, and picked up in version.h. The idea is the date will now march forward with the version number, side by side in version.txt. Although have left tidy.c only emitting the version on the --version command. After this function has been marked deprecated for several release periods, only then should consideration be given to potentially removing it.
This is when setting a String config value through say tidyOptSetValue using say tidyOptSetValue(tdoc,id,""). If the length of the new string is zero then do not allocate a 1 byte buffer, set it to 0, for the option. Any previous buffer has already been released. This means API functions like tidyOptSaveSink will not return erroneous null String values!
This new warning will only be seen if the document remains in HTML5 mode, where the summary attribute is obsolete. The W3C validator flags this as an error, and suggests 'Consider describing the structure of the table in a caption element or in a figure element containing the table; or simplify the structure of the table so that no description is needed'. At the same time this patch also restored the old warning if the document is HTML4--, if the table element lacks a summary attribute. This has been a tidy warning since the beginning of time, although the W3C validator does not presently flag this.
In certain circumstances a leading space has to be preverved to allow it to be used to create a text space node to insert before this element to preserve the view in a browser. And added a note asking why is ParseTag called with a hardcoded IgnoreWhitespace when some effort above has set the mode variable to MixedContent in certain cases, but need to think about this 2nd change. Also added some MSVC Debug output when this leading text is used to insert such a created text node before the element just to be reminded of this special event.
Not sure how this has lasted so long, but I guess there are not too many users wanting to specifically use the static tidy library. Now it is possible to define TIDY_STATIC and the TIDY_EXPORT macro will just be 'external', suitable for linking with the static library, instead of adding the _imp_ MSVC __declspec( dllimport )... This fix does not effect other than the WIN32 platform build.