Big bugs and big features. First the fun stuff.
Full language support has been added for C#. It gets all the spoils that come with it: full code documentation, class hierarchy diagrams, and auto-scoping. The property prototypes even show whether get and/or set are defined.
I discovered to my initial chagrin that C# allows relative identifiers when specifying parents. That support has been added, so as a result, everyone can now use relative links. So if you're in class A.B.C and have a link <X>, it will first try to resolve to A.B.C.X, then to just X like before. But now it will try to resolve to A.B.X and A.X as well. It happens in that order, with global coming before relative, so that you can completely ignore this feature if you want, plus you don't have to worry about the links in your current documentation getting messed up.
Note that as a side effect to this, the HTML page anchors will have changed if you use anything other than a dot separator. What was previously #Package::Package.Function will now be #Package.Package.Function. This is only important if you linked to specific topics from outside your documentation.
A few people didn't like the auto-grouping, so you can now control it with -ag (--autogroup) on the command line. The options are "full", which is the behavior you're used to, "basic", which only does functions, variables, and properties, and "off", which does nothing at all.
Finally, I added more topic keywords. Constructor and Destructor for functions, Namespace for classes, and UInt, Short, UShort, Long, ULong, Byte, UByte, SByte, Decimal, Real, WCharacter, WChar, WString, and WStr for variables.
The bigger the changes, the more likely they are to introduce bugs. 1.2 was no exception.
The dreaded "Files" bug is fixed. If the first topic in a file is "File: ...", "Script: ...", or something similar, 1.22 will handle them correctly again. This was what was causing some people's page layouts and menu titles to be thrown off.
Multiline prototypes in Pascal and Ada work again, as well as Pascal prototypes with directives. Support has been added for prototypes in Oracle 8.1's object oriented option pack.
Yet another Perl parser bug was fixed. The things that trip it up are getting more and more obscure, so it should be becoming increasingly rare that anyone will run into problems with it. Also, blank pages won't be generated occasionally when using Perl with -do.
Fixed a bug where the full path names were appearing in the index, and sometimes as part of the title. This actually started with 1.16.
That's all. You can still e-mail me to vote for which language you want to get full support next. C++ and Java will come first, then it's wide open.
|Natural Docs 1.21 released||User polling mailing list|