FIXED BUGS LIST, TIBCO Spotfire S+ 8.1.1

I.  FIXED BUGS
II. ENHANCEMENTS
=================================================================

I. FIXED BUGS   

EXTENSIONS (DEBUGGER)
   When you debugged a call to timeSeries, you would 
   encounter an error saying that there was a problem 
   in timeDate(): Argument "" is missing, with no 
   default. (49344)

EXTENSIONS (LIBRARIES)
   Financedb: If an invalid security ID was
   specified within the character string passed to 
   import.data.bloomberg(...security=c("xxx", "yyy")
   ,...) no data was returned, (even if one or more of 
   the security IDs were valid). (40852)

   robust: Calling covRob could cause Spotfire S+ 
   to crash. This problem has been addressed; 
   however, users should note that covRob 
   will not always give you an answer for a small 
   matrix. (42961)

   correlatedData: You were likely to see a strange log 
   likelihood from Anova for glme objects when method="PQL". 
   This behavior has been documented; PQL is not a good 
   method to use with binomial and poisson models with 
   small sample sizes. Recommend using LAPLACE instead. 
   (48615)

   robust: The function lmRob did not work correctly if 
   initial.alg="Fast". The lmRob.fit.compute function was 
   not computing a default for nrep for certain 
   algoroithms. Now, if no default for nrep is supplied, 
   one is provided. (25151)

EXTENSIONS (Spotfire S+ Workbench)
   If you tried to source several files by right-
   clicking in the Navigation pane, the Workbench would 
   close. The Workbench now contains synchronized, wait, 
   and notifyAll statements to keep the engine from being 
   overrun with concurrent messages. (48159)

   If you tried to source code with F9, the code was not 
   always sourced, and a 'tty' error message would appear. 
   This parsing problem has been fixed. (48161)

   On Windows, if you tried running script in Workbench 
   twice, it sometimes failed the second time. This was a 
   problem with OLE code and has been fixed. (47879)

   If you use .First() to attach a project that 
   is already attached, you would see the error "Unknown 
   Problem Executing Expression", and the library set as 
   the working project would become read-only. This is 
   expected behavior. The workaround is to change the 
   .First function so that it does not try to load a 
   library that is already being used as a working 
   directory. (45021)

   "Find References" in the Workbench highlights 
   incorrectly if you search for references, and then 
   edit the file. The result of the previous locations 
   is preserved until the next time the file is saved.
   To solve this problem, the Workbench now prompts you 
   to save the file prior to finding the references 
   again. (43470)

   If you were using Acrobat Reader 8.0, you could not 
   open PDF manuals from the Spotfire S+ Workbench Help 
   menu. (45366)

   On Windows, you could not edit a file name in the java 
   graph File > Save As dialog. (45439)

EXTENSIONS (XML)
   Parsing SPXML containing certain accented characters 
   returned the wrong characters. (45285)

   The SPXML library example summaryReport produced 
   errors because of white space in the fo:table-cell. 
   Any white space is now replaced with a carat (^) to 
   indicate that the row value is the same as the row 
   above it. (44775)

EXTENSIONS (JAVA)
   The Spotfire S+ exception classes (SplusBadDataException, 
   SplusEngineBusyException, SplusIncompleteExpressionException, 
   and SplusLicenseException) each now give a meaningful 
   message. (44517)

EXTENSIONS (PACKAGES)
   Previous messages for running library(pkgutils) and 
   install.pkgutils() were unclear. These have been 
   rewritten for clarity. (44715)

BATCH
   On Windows, you can now run an SBATCH command with a
   cwd parameter containing spaces. Previously, the 
   spaces would cause the batch command to fail. (45249)

GRAPHICS (APPEARANCE)
   The "Create Editable Graphics" option available from 
   Options > Graphic Options can cause command line graphics 
   to behave unpredictably. To revise a graphic generated 
   by the command line, you should edit and run the code to 
   re-generate the graph (48120)

   In the previous version, pdf.graph() did not use the 
   global color palette correctly in conjunction with 
   missing library functions. (49450)

GRAPHICS (DEVICE)
   On Windows, a WMF file of a line plot with different 
   line types and lwd>1 did not display properly 
   in an Office 2003 application (for example, PowerPoint 
   2003). Lines were all solid (lty=1). (29716)

GRAPHICS (DISPLAY)
   In the previous version, a plot.miss() graph was missing 
   the y-axis (Observations) labels. (49453)

   On Windows, Multipanel GUI histograms had 
   incorrect x axis scaling. That is, U(0,1) data was 
   drawn with the x-axis from 0 to 1.8 with poorly-chosen 
   numeric axis values. (20495)

GRAPHICS (EXPORT)
   From the GUI, QQ Plot created an extraneous plot point 
   when it was exported, most noticeably in .EMF 
   format. (49339)

GRAPHICS (OTHER)
   matplot() would not accept objects of data class "ns", and 
   as.matrix() would not convert an "ns" object to a matrix. 
   (46712)

   Scaling a Graphlet image to a very large size would cause an 
   out-of-memory exception. Large images now render correctly. 
   (49281)

   identify() and locator() now display crosshairs, as 
   expected. (45376)

   The method plot.covRob now supports lists in its 
   text labels. (45656)

   The argument srt did not work for boxplot(). It now 
   works. (45257)

   pie() now produces a plot where all numbers are less 
   than 1, and use.legacy.graphics(F). (45377)

   pie() now produces plots that are invariant to 
   scaling when use.legacy.graphics(F). (45378)

   The fill argument to the legend() function now 
   accepts named colors. (45374)

   When drawing a trellis plot with as.table=T, Spotfire S+ 
   would not display the bottom x-axis if the layout 
   caused the last panel to not be at the bottom of 
   the page. (44723)

   Setting the graphical par(mar) would break graphical 
   coordinates. (44730)

GRAPHICS (SCRIPT FUNCTIONALITY)
   If you tried to set par(fig=) with a named vector, the 
   call would cause an error, indicating that the parameter 
   had the wrong length. par() now strips the names and all 
   other attributes from the vectors given to it; however, 
   note that the names were never functional. That is, if you 
   gave the vector in the wrong order, par() does not reorder 
   it based on the names. (49082)

   Specifying xlim or ylim when plotting small spans of 
   data on a log scale would not work. (29843)

GUI  (DIALOGS)
   On English and Japanese Windows Vista Business edition, if you use 
   the Aero color scheme, when you move a dialog box, the list boxes 
   and radio buttons stay in the original position. The workaround 
   for this issue is to use a different scheme. (48104)

HELP
   help(sort) and help(order) now have see-also links 
   to help(sort.list). (45320)

IMPORT/EXPORT (DATABASE)
   In the previous version, you could not change the import delimiter
   for import.data.bloomberg. You can now change this option by 
   changing the region-specific defaults and by setting the ASCII 
   import delimiter. (45255)

   On Windows, in the option for importing a database via the GUI, 
   the overwrite option was broken, so data would be appended to  
   existing data. This issue is now fixed. Also, now, if you select 
   "Create new data set" (previously "Overwrite target"), the "Start col" 
   field is not available. Additional changes were made so the 
   database and file import dialogs are more consistent. For example, 
   in the Import From File dialog, the "Add to existing data set" 
   option is now called "Insert at start col" (to match the Database 
   Import dialog). Also, In the Import From Database dialog, the 
   "Overwrite target" option is now called "Create new data set" (to 
   match the File Import dialog). (49824)

IMPORT/EXPORT (EXCEL)
   In the previous version, the colNames argument was ignored when 
   an Excel type of file was imported. This problem is fixed for both 
   file type .xls and .xlsx. (49401)

   On Windows, when importing data from an Excel file, 
   Spotfire S+ would interpret the colNameRow argument as relative 
   to the first non-blank row; however, the startRow argument 
   is absolute from the beginning of the file. Now, Spotfire S+ 
   uses only the startRow argument (not the colNameRow argument). 
   Setting startRow=3 now causes the column names to be detected 
   correctly automatically and the data to be read beginning in 
   the row after the column names. (41869)

MODELS
   coef.arima() did not extract the coefficient from 
   a one-component model. This problem has been 
   corrected. (45569)

   When the stop time in the newdata argument in survfit.coxph() 
   was less than the second lowest stop time in the original 
   dataset, the survfit() function returned an error. This 
   problem has been corrected. (45226)

   interp() would cause an invalid frame number (0) in 
   set_frame, while calling subroutine idsfft. (45406)

OTHER
   Pressing Esc did not terminate printing a large object. Now, it 
   terminates printing a large object after a short delay (regardless 
   of the output buffering setting). (48115)

   Exporting Spotfire S+ objects to "STATA" created problems. 
   This has been corrected in StatTran. (45390)

   Spotfire S+ now allows long column names of up to 256 
   characters. (28518)

   Exporting data to a text file truncated character 
   data and column names at 30 characters, or exporting 
   data to a text or Excel file truncated column names to 
   35 characters (depending on the version of Spotfire S+ being 
   used). This truncation problem has been corrected. (19931)

   On Linux, the Splus.1 manual page no longer mentions 
   Mathsoft. (44955)

   The state.vbm map files erroneously went missing in 
   the Spotfire S+ distribution. They are back now. (24251)

   The persp() formatting option created syntax problems, 
   which would, in turn, cause errors. (45133)

PROGRAMMING
   The function deriv() now handles atan, asin, and 
   acos. (10249)

S LANGUAGE 
   In the previous version, set.seed(0) and set.seed(512) gave 
   strongly dependent sequences. Spotfire S+ offers several random 
   number generators that improve its behavior. See help(set.seed) 
   for more information. (44345)

   In the previous version, by() failed when passed a timeDate object.
   (48358)

   standardWorkingData() failed if the S_WORK path contained a $. 
   This was because this function uses isDirectory(), which tried to 
   Expand the $ as an environment variable. (48632)

   file.copy() no longer omits null bytes from copy.  
   This problem occurred because of a bug in 
   s_newio.c: printf("%c",0). That is, it would output 
   nothing instead of null byte. This bug is fixed. (44462)

   Subscript replacement for a data frame now uses an updated
   version of "[<-.data.frame". Subscript replacement for a 
   data frame now handles replacement for zero rows 
   correctly; for example the following will now work when 
   all values of z are less then 3. 

   x[ which(z>3), 1:2] <- x[ which(z>3), 3:4]. (44855)

S LANGUAGE (BIGDATA)
   bdTimeDate and timeDate returned inconsistent default 
   years. (44927)

   The Big Data predict() methods erroneously required the 
   response variable to be present. (44763)

   On Windows, previously, you could not load the bigdata library 
   using a keyboard set to Japanese. This was due to virtual memory 
   requirements for Java. (47998)

   In the previous versions, using table() on the output of 
   cut(bdNumeric) did not output zero counts. (49073)

   bd.unique and bd.block.apply gave a warning or an error 
   "Buf error: string truncated" for some values of 
   bd.options("string.column.width") and character variables
   string width. (49015)

   If a function passed to bd.block.apply returned a zero-row 
   data.frame containing a zero-length character vector, it 
   would give an allocation error. (If the returned data.frame 
   did not have character columns, this problem did not occur.) 
   Now, the function checks for NA when it gets the max width 
   of a string column. (48966)

   Dynamic memory errors would occur when Spotfire S+ tried to 
   convert large vectors to bigdata objects. (43208)

   If bd.join were passed two inputs, it would treat the argument 
   key.columns=c("a","b") as if it were key.columns=list("a","b"), 
   rather than repeating the two key columns for each input 
   (as if the argument were key.columns=list(c("a","b"),c("a","b")). 
   (46619)

   The dimensionality of rmvnorm( n = n, d = d, bigdata = TRUE) 
   was incorrect when n*d was large. (48583)

   bd.sort()converted factor values to NA when the level was labeled 
   "NA" (47224)

   bigdata code now produces an "Output device full" error when 
   it is appropriate. Previously, the error message was difficult 
   to interpret. (48112)

   Using bigdata, if you fit a model involving factor predictors, 
   and then used predict(fit, newdata=bdFrame(fac=<subset of levels>)),
   you would get incorrect answers. Rather than return an error, 
   predict used the integer codes for the factor you supplied in 
   newdata and did not convert them to the codes used in the original
   data. (46767)

   Help indicated that step() should work for bdGLM. This incorrect 
   entry has been removed; step() is not implemented for bdGLM. 
   (48163)

S LANGUAGE (METHODS/CLASSES)
   .Internal(do.m.m(...)) did not honor class inheritance. (48005)

S LANGUAGE (OTHER)
   On Windows, dirname( search(what = "paths") ) returned unusable 
   paths (containing "\\/"). (49038)

   When certain xlim or ylim arguments were used with 
   hexbin(), Spotfire S+ would be left in an unstable state. This 
   occurred when x and y values were out of bounds. Now, 
   out-of-bound coordinates are filtered out and the 
   problem no longer occurs. (45211)

   complete.cases() did not allow more than one 
   recursement. (44716)

   Running the function supsmu() under Java could cause 
   Spotfire S+ to crash. (44817)

STATS/MODELS
   When glm was called inside another function, the resulting 
   object would fail when summary() was used. (49176)

   print.aov() would give the wrong Residual Sum of Squares 
   if the model had weights. (44645)

   print.survfit() produced unexpected median values. (49081)

   nlme.nlsList() did not parse formulas correctly. (48973)

   Spotfire S+ exhibited a problem with degrees of freedom 
   in anova.glm when there were rows with 0 counts. (45020)


===================================================

II. ENHANCEMENTS

JAVA
   Spotfire S+ now displays more specific error messages 
   in SplusSessionImpl creation of SplusEngineBusyExceptions. 

WORKBENCH
   Remote script execution is now implemented in the Spotfire S+
   Workbench.

   Startup environment variables now work with the Spotfire S+
   Workbench.

   Now, you can configure the Spotfire S+ Workbench to write 
   output to either the Console view or the Output view. The 
   default is to write to the Console.

   Now, you can set graph options in the Spotfire S+
   Workbench programmatically.

GRAPHICS
   Setting up a blank graphsheet is now easier.

   On Windows, java.graph() now interprets filename extensions 
   to assign default formats as importData() and exportData() 
   do.

IMPORT/EXPORT
   Now, you can specify column widths on a per-column basis 
   in importData.

   The new function contentsData returns the names of all datasets, 
   tables, sheets, and members in a specified file or database. 
   If the file is a type that cannot hold multiple datasets, then 
   NULL is returned and a warning is displayed. 

   Spotfire S+ now supports reading SAS metadata when 
   importing SAS data files.

   Spotfire S+ has been updated to support the latest version of 
   StatTran which results in being able to import Stata 10 files
   among other file types

   On Windows, you can now import SAS files created using PROC CPORT.

OTHER
   Spotfire S+ now has friendlier startup messages when the directory 
   you specify for startup does not exist. 

   Spotfire S+ meets the Federal Desktop Core Compliance 
   requirements.

S LANGUAGE
   The function commandArgs() has been removed.

   Spotfire S+ functions pnorm, pgamma, and pbeta now include 
   lower.tail and log.p arguments for R compatibility. 

   Spotfire S+ now includes lfactorial() for R compatibility. 

   The jitter function now includes an amount argument for R 
   compatibility.

   dhyper and dwilcox now have a log argument for R compatibility.

S LANGUAGE (BIGDATA)
   Spotfire S+ now contains Market Basket Analysis (Association Rules) 
   Methods. See the Big Data User's Guide for more information.

   Now you can plot a histogram (using hist() or histogram()), 
   specifying breaks for bigdata objects. 

   bd.remove.missing() now carries the last observation forward 
   without needing key column, and without displaying a warning. 

   The ifelse() function now works with bigdata.

S LANGUAGE (METHODS/CLASSES)
   Spotfire S+ now contains a timeFormat function that extracts the 
   "format" slot from timeDate, timeSpan and timeSequence objects 
   without using @ operator.

STATISTICS
   Adjusted R squared is now part of model output.
