Hi there,
After upgrading Confluence from version 6.13.13 to 7.13.0, my user macro to include sub pages stopped displaying Html correctly, I have looked through similar issues and people mention to add Html to the end of variables where html is to be used, and I did. Where this fixed the page heading being displayed, the actual content of the page is being displayed as raw Html eg: <h1>TestText</h1>.
The code is as follows:
## @Param Page:title=Page|type=confluence-content|desc=Target page
#if ($paramPage.contains(':'))
#set ( $strArrayHTML = [] )
#foreach($str in $paramPage.split(':'))
#set($dummyHTML = $strArrayHTML.add($str)) ## Assign returnval to avoid printing 'true'.
#end
#set($spacekey = $strArrayHTML.get(0).trim())
#set($pagetitle = $strArrayHTML.get(1).trim())
#else
#set($spacekey = $content.getSpaceKey()) ## Current spacekey
#set($pagetitle = $paramPage.trim())
#end
#set( $headingLevelStringHTML= "h" + $level.toString())
##FUNCTION
#macro( function $level,$pageTemp)
#set( $headingLevelStringHTML= "h" + $level.toString())
#set ($heading1HTML = "<" + $headingLevelStringHTML + ">")
#set ($heading2HTML = "<" + $headingLevelStringHTML + "/>")
<header> $heading1HTML $pageTemp $heading2HTML </header>
<header> $spacekey </header>
<header> $pageTemp</header>
#set($globalHelper = $action.getHelper())
#set($renderedHtml = $globalHelper.renderConfluenceMacro("{include:$spacekey:$pageTemp}"))
#set($level1 = $level +1)
#set($level2 = $level +2)
#set($level3 = $level +3)
#set($level4 = $level +4)
#set($level5 = $level +5)
#set($level6 = $level +6)
#set( $headingLevelString1HTML= "h" + $level1.toString())
#set( $headingLevelString2HTML= "h" + $level2.toString())
#set( $headingLevelString3HTML= "h" + $level3.toString())
#set( $headingLevelString4HTML= "h" + $level4.toString())
#set( $headingLevelString5HTML= "h" + $level5.toString())
#set( $headingLevelString6HTML= "h" + $level6.toString())
##INDENT ALL HEADINGS ON CURRENT PAGE
$renderedHtml.replaceAll("h6",$headingLevelString6HTML).replaceAll("h5",$headingLevelString5HTML).replaceAll("h4",$headingLevelString4HTML).replaceAll("h3",$headingLevelString3HTML).replaceAll("h2",$headingLevelString2HTML).replaceAll("h1",$headingLevelString1HTML)
#set($childpages = $pageManager.getPage($spacekey,$pageTemp).getSortedChildren())
#if($childpages.size()>0) ##Check if there are childpages
#set($levelPrev = $level)
#set($level = $level +1)
#foreach($page in $childpages)
#function($level,$page.getTitle())
#end
#set($level = $levelPrev)
#set($levelPrev= $level - 1)
#end
#end
##CALLING FUNCTION
#set( $level = 1 )
#function($level,$pagetitle)

Circled in red is the html that works(
<header> $heading1HTML $pageTemp $heading2HTML </header>
<header> $spacekey </header>
<header> $pageTemp</header>
),
and in blue is the content that displays within the html tags.(
$renderedHtml.replaceAll("h6",$headingLevelString6HTML).replaceAll("h5",$headingLevelString5HTML).replaceAll("h4",$headingLevelString4HTML).replaceAll("h3",$headingLevelString3HTML).replaceAll("h2",$headingLevelString2HTML).replaceAll("h1",$headingLevelString1HTML)
)
The page should look like this:

Incase anyone asks, I have tried to add Html to the end of almost every variable and that didn't work either.
Any help would be appreciated.