Compatibility/Bug fixes in V7.8

From m204wiki
Revision as of 21:48, 11 March 2011 by JAL (talk | contribs)
Jump to navigation Jump to search

{{#hierarchy-top:}}

This chapter lists any compatibility issues with prior versions of the Sirius Mods and any bugs which have been fixed in this version of the Sirius Mods but had not, as of the date of this release, been fixed in the previous generally available version (7.7).

In general, backward incompatibility means that an operation which was previously performed without any indication of error, now operates, given the same inputs and conditions, in a different manner. We may not list as backwards incompatibilities those cases in which the previous behaviour, although not indicating an error, was “clearly and obviously” incorrect, and which are introduced as normal bug fixes (whether or not they had been fixed with previous maintenance).

Backwards incompatibilities

Backwards incompatibilities are described per product in the following sections.

Janus SOAP XmlDoc API

The following backwards compatibility issues have been introduced in the Janus SOAP XmlDoc API.

AddToRecord constraint on "number" attribute

As described in "Structure of XmlDoc for AddToRecord", if the "number" attribute of the "Record" element in the input XmlDoc of the AddToRecord subroutine is present, it must be an integer greater than or equal to -1.

Previously, this attribute was ignored.

DefaultURI argument of AddSubtree

In some cases, an Element in a default namespace, which was added to the XmlDoc by a deserialization method, will not get the correct namespace URI when it is copied using the DefaultURI argument of the AddNamespace subroutine.

Note that this problem was also fixed (with the resulting incompatibility) in the version 7.7 Sirius Mods by maintenance supplied by ZAP77A4 on 17 August, 2010.

For example:

Text To %sl <a:a xmlns:a="http://aaa" xmlns="http://ddd"> <b:b xmlns:b="http://bbb"> <c>123</c> </b:b> </a:a> End Text %in:LoadXml(%sl) %n Object XmlNode %n = %in:SelectSingleNode('/*/*') %out:AddSubtree(%n, DefaultURI='u:who')

Prior to fixing this problem, the above results in:

<b:b xmlns:b="http://bbb"> <c xmlns="http://ddd"> 123 </c> </b:b>

The correct result, as produced by version 7.8 of the Sirius Mods or version 7.7 with with ZAP77A4 applied, is as follows (note the namespace for element c):

<b:b xmlns:b="http://bbb"> <c xmlns="u:who"> 123 </c> </b:b>

Deserialization prohibits default namespace declaration with Namespace=None

With the XmlDoc Namespace property set to None, namespace declarations that bind a prefix are not allowed. For example:

<foo xmlns:p="http://p.com/>

The above has never been allowed, due to the prohibition against colons in XML names when Namespace is None.

However, previous versions of the Sirius Mods allowed deserialization of a default namespace declaration. For example:

<foo xmlns="http://p.com/>

The above was erroneously treated as if xmlns were an attribute.

Deserialization of default namespace declarations is no longer allowed.

This fix was also introduced in version 7.7 of the Sirius Mods, via ZAP77B2.

Janus SOAP ULI

Unspace method now converts all-whitespace string to null

Prior to Version 7.8 of the Sirius Mods, the intrinsic String Unspace method compressed a string consisting entirely of whitespace characters to a single whitespace character. For example, note the single blank in the result of PrintText {~} = X{' ':unspace}X:

' ':unspace = X X

In version 7.8 (and also in Sirius Mods version 7.7 via ZAP7761), Unspace converts a string of whitespace characters to the null string. After this fix is in effect, the PrintText statement above produces a null string:

' ':unspace = XX

Fixes in Sirius Mods 7.8 but not in 7.7

This section lists fixes to functionality existing in the Sirius Mods version 7.7 but which, due to the absence of customer problems, have not, as of the date of the release, been fixed in that version.

LoadSystemMethodInfo returning Unicode methods

The LoadSystemMethodInfo now returns information for Unicode intrinsic methods.

Fast/Reload LAI with various UAI SORT cases

The following two bugs have been fixed:

  • Possible use of UAI SORT key as hashed file sort key.

    For example, the above should not be allowed:

    * Fast/Unload step: UAI SORT FOO LENGTH 3 TRUNC ... * Fast/Reload step: CREATE FILE (NOFORMAT) QAWORK PARAMETER FILEORG 8 END OPEN QAWORK *UPDATE IN QAWORK INITIALIZE HASH FOO FILELOAD -1,-1,0,3000000,10000,10000,10000,32 LAI

    The above (incorrectly) completes without any indication of error.

  • A spurious error ("TAPEI format error" or unkown field) is issued if the first UAI SORT item is a FUEL %variable, and the subsequent LAI is loaded into a non-sort, non-hash file. Note that the Fast/Unload UAI output file must also contain the correct value to fix this bug; with version 4.4 of Fast/Unload, ZAP4414 is required, with version 4.5, ZAP4518 is required.

Version corequisites

This section lists any restrictions on usage of various products (including Sirius Mods itself) that will be imposed by use of version 7.8 of Sirius Mods.

  • There are no corequisites associated with Sirius Mods 7.8.

{{#hierarchy-bottom:}}