Ok, I've been migrating a lot of stuff from older version of ColdFusion (that were based on either C or C++) to ColdFusion MX v6.1 (which is based on Java.) I've run into several anomalies, which I thought I'd document here.
The <cfdirectory> tag no longer returns the ./.. rows in the query. I had several applications that used <cfdirectory> and I was manually filtering out these entries by starting on the third row of the queryset. Obviously, this caused problems in the CFMX v6.1, since those records no longer exist.
We found that the same exact code run under CFMX v6.1 was rendering different than the same exact code running under CF5. A little digging around and I noticed that the headers were being formatted differently. On a whim, I decided to force CFMX to return the page in "iso-8859-1" and much to my surprise, the page started rendering correctly again. Now I have no idea why the encoding of the page was causing such a drastic change in the way the page was being rendered, but the adding the following code to my application.cfm templates fixed the problem for me:
I know Macromedia/Allaire never made promising about this, but structure keys are no longer returned in alphabetical order when using <cfloop collection="">. I resolved this by creating a UDF to sort the keys alphabetically and returning them as a list. Here's the UDF:
I then changed the <cfloop> from:
<cfloop key="k" collection="#stData#">
<cfloop key="k" list="#getStructKeys(stData)#">
Fortunately, these issues are really the only ones I've run in to so far. Overall, the conversions have been relatively easy.