Skip to content
Snippets Groups Projects
changes.html 99.2 KiB
Newer Older
<HTML>
<HEAD>
<TITLE>JTOpen CHANGES</TITLE>
</HEAD>
<BODY>
<H2>IBM Toolbox for Java - JTOpen version</H2>
<PRE>
Tony Mancill's avatar
Tony Mancill committed
Copyright (C) 1997-2017 International Business Machines Corporation and
others. All rights reserved.

File: CHANGES
Tony Mancill's avatar
Tony Mancill committed
Last updated: March 21, 2017
The term "JTOpen" refers to the open source software product
"IBM Toolbox for Java" plus any additional enhancements provided by
the open source community. JTOpen, which is supported by IBM and
governed by the IBM Public License, as well as its Java source code,
is contained in the open source repository located off of:
<A HREF="http://sourceforge.net/projects/jt400">http://sourceforge.net/projects/jt400</A>.

The terms "Toolbox" and "Toolbox LPP" refer to the IBM Licensed Program Product
"IBM Toolbox for Java" which is supported by IBM and can be obtained from the
IBM Toolbox for Java web site:
<A HREF="http://www.ibm.com/systems/i/software/toolbox/">http://www.ibm.com/systems/i/software/toolbox/</A>.
</PRE>
Tony Mancill's avatar
Tony Mancill committed
<!-- On 2015-03-11: cvs log -rJTOpen_9_2:JTOpen_9_1 -N '-d>2016-07-05' -->

<H4>Known deficiencies</H4>
<PRE>
Several Toolbox methods have parameters or return values that are of type Date,
Calendar, or GregorianCalendar. Some of these methods assume that the client
Java application is running in the same time zone as the IBM i server.
This behavior is long-standing, and will be corrected in a future Toolbox release.

The constructor for the RFML component's primary class (RecordFormatDocument)
fails on Sun's 1.4.2 JVM and on IBM's "Classic" i5/OS 1.4.2 JVM,
with the following error:
    org.xml.sax.SAXNotRecognizedException
    Feature: http://apache.org/xml/features/continue-after-fatal-error

Several classes in deprecated package com.ibm.as400.vaccess are known to
fail to serialize when running in Java 6 JVMs.  These classes include:
    AS400DetailsPane
    AS400ExplorerPane
    AS400ListPane
    VActionAdapter
</PRE>


<HR>
<H3>Contents</H3>
Tony Mancill's avatar
Tony Mancill committed
<A HREF="#94">Fixes and enhancements in JTOpen 9.4</A><br>
<A HREF="#93">Fixes and enhancements in JTOpen 9.3</A><br>
<A HREF="#92">Fixes and enhancements in JTOpen 9.2</A><br>
<A HREF="#91">Fixes and enhancements in JTOpen 9.1</A><br>
<A HREF="#90">Fixes and enhancements in JTOpen 9.0</A><br>
<A HREF="#87">Fixes and enhancements in JTOpen 8.7</A><br>
<A HREF="#86">Fixes and enhancements in JTOpen 8.6</A><br>
<A HREF="#85">Fixes and enhancements in JTOpen 8.5</A><br>
<A HREF="#84">Fixes and enhancements in JTOpen 8.4</A><br>
<A HREF="#83">Fixes and enhancements in JTOpen 8.3</A><br>
<A HREF="#82">Fixes and enhancements in JTOpen 8.2</A><br>
<A HREF="#81">Fixes and enhancements in JTOpen 8.1</A><br>
<A HREF="#710">Fixes and enhancements in JTOpen 7.10</A><br>
<A HREF="#79">Fixes and enhancements in JTOpen 7.9</A><br>
<A HREF="#78">Fixes and enhancements in JTOpen 7.8</A><br>
<A HREF="#77_1">Fixes and enhancements in JTOpen 7.7.1</A><br>
<A HREF="#77">Fixes and enhancements in JTOpen 7.7</A><br>
<A HREF="#76">Fixes and enhancements in JTOpen 7.6</A><br>
<A HREF="#75_1">Fixes and enhancements in JTOpen 7.5.1</A><br>
<A HREF="#75">Fixes and enhancements in JTOpen 7.5</A><br>
<a HREF="#74">Fixes and enhancements in JTOpen 7.4</a><BR>
<A HREF="#73">Fixes and enhancements in JTOpen 7.3</A><BR>
<A HREF="#72">Fixes and enhancements in JTOpen 7.2</A><BR>
<A HREF="#71">Fixes and enhancements in JTOpen 7.1</A><BR>
<A HREF="#70">Fixes and enhancements in JTOpen 7.0</A><BR>
<A HREF="#67">Fixes and enhancements in JTOpen 6.7</A><BR>
<A HREF="#66">Fixes and enhancements in JTOpen 6.6</A><BR>
<A HREF="#65_1">Fixes and enhancements in JTOpen 6.5.1</A><BR>
<A HREF="#65">Fixes and enhancements in JTOpen 6.5</A><BR>
<A HREF="#64">Fixes and enhancements in JTOpen 6.4</A><BR>
<A HREF="#63">Fixes and enhancements in JTOpen 6.3</A><BR>
<A HREF="#62">Fixes and enhancements in JTOpen 6.2</A><BR>
<A HREF="#61">Fixes and enhancements in JTOpen 6.1</A><BR>
<A HREF="#60">Fixes and enhancements in JTOpen 6.0</A><BR>
<A HREF="#54">Fixes and enhancements in JTOpen 5.4</A><BR>
<A HREF="#53">Fixes and enhancements in JTOpen 5.3</A><BR>
<A HREF="#52">Fixes and enhancements in JTOpen 5.2</A><BR>
<A HREF="#51_1">Fixes and enhancements in JTOpen 5.1.1</A><BR>
<A HREF="#51">Fixes and enhancements in JTOpen 5.1</A><BR>
<A HREF="#50">Fixes and enhancements in JTOpen 5.0</A><BR>
<A HREF="#49">Fixes and enhancements in JTOpen 4.9</A><BR>
<A HREF="#48">Fixes and enhancements in JTOpen 4.8</A><BR>
<A HREF="#47">Fixes and enhancements in JTOpen 4.7</A><BR>
<A HREF="#46">Fixes and enhancements in JTOpen 4.6</A><BR>
<A HREF="#45_1">Fixes and enhancements in JTOpen 4.5.1</A><BR>
<A HREF="#45">Fixes and enhancements in JTOpen 4.5</A><BR>
<A HREF="#44">Fixes and enhancements in JTOpen 4.4</A><BR>
<A HREF="#43_1">Fixes and enhancements in JTOpen 4.3.1</A><BR>
<A HREF="#43">Fixes and enhancements in JTOpen 4.3</A><BR>
<A HREF="#42">Fixes and enhancements in JTOpen 4.2</A><BR>
<A HREF="#41">Fixes and enhancements in JTOpen 4.1</A><BR>
<A HREF="#40">Fixes and enhancements in JTOpen 4.0</A>
<P>

Tony Mancill's avatar
Tony Mancill committed
<HR>
<H3><A NAME="94">Fixes and enhancements in JTOpen 9.4</A> <i>(released 2017-09-01)</i></H3>
<Pre>
- Change password to prepend 'Q' for numberic password
- DDM:  Support ENCUSRPWD server setting
- Fix create user handle only support password authentication
- JDBC: Fix maxRows ResultSet setting.
- Misc:   Prepare for Java 9 by removing obsolete classes
- ProgramCall:  Do not get server job name when onThread
- Remove unfinished class UserQueue
- Varchar support for RPG and iws
</Pre>

<HR>
<H3><A NAME="93">Fixes and enhancements in JTOpen 9.3</A> <i>(released 2017-3-31)</i></H3>
<Pre>
- JDBC: Fix BLOB IO parameters
- IFSFile: Create user handle only supports password authentication
</Pre>

<HR>
<H3><A NAME="92">Fixes and enhancements in JTOpen 9.2</A> <i>(released 2017-2-24)</i></H3>
<Pre>
- IFSFile: get ASP and get file system type support
- IFSFile: get CCSID and get owner name support
- JDBC CLIENT: System debugger support
- JDBC: Add details to descriptor index invalid exception
- JDBC: Allow setSchema(*LIBL) for system naming
- JDBC: Always return warning for SQLSTATE 01004
- JDBC: Correct ResultSetMetaData for NCHAR and NVARCHAR types
- JDBC: Fix getting input stream from XML
- JDBC: Set warning message to blank if SQLCODE is 0
- JDBC: Allow AS440JDBCRowSet to use AS400JDBCManagedDataSource
- MessageQueue: Fix memory leak issue
- SystemPool: Fix SystemPoolBeanInfo
- system pool supports pool size in long type
- Ship jt400Proxy.jar, jt400Servlet.jar and jt400android6.jar complied with JDK6
</Pre>

<HR>
<H3><A NAME="91">Fixes and enhancements in JTOpen 9.1</A> <i>(released 2016-7-30)</i></H3>
<Pre>
- Beans: Fix IFSFileBeanInfo (Due to JDK 1.7 change)
- Beans: Fix ClusteredHashTableEntryBeanInfo 
- Conversion: Added CCSIDs 1047,1166,5233 and Table Generator
- DDM: long record number support in KeyedFile
- Documentation:   Clarify that "close()" methods do not close the connection associated with the AS400 object
- Get IFSFile ASP support 
- IFSFileEnumeration fix issue when pattern without wildcard
- JDBC Client:  Added !SILENTRS and !EXIT_REPEAT_ON_EXCEPTION commands 
- JDBC: "character truncation" property 
- JDBC: "numeric range error" property 
- JDBC: Add missing get/set methods to DataSource and DataSourceBeanInfo 
- JDBC: Fix batch insert of timestamp 
- JDBC: Fix padding of batched GRAPHIC CCSID 835 parameters 
- JDBC: Fix processing of NCHAR/NVARCHAR types 
- JDBC: Fix setting timestamp from String 
- JDBC: Optimize sending of timestamp to server
- JDBC: Update missing information from DataSourceBeanInfo 
- SystemStatus supports on status statistics reset
- Support V7R3 for up to 255 parameters on a remote program call request 
</Pre>

<HR>
<H3><A NAME="90">Fixes and enhancements in JTOpen 9.0</A> <i>(released 2016-3-29)</i></H3>
<Pre>
- Add STRAUTCOL parameters for User class
- Fix issue in IFSFileWriter.close on java8
- Fix various javadoc typos
- JDBC: Client:  Support unicode escape '\u0000' in SQL statements
- JDBC: Client:  Fix column label display
- JDBC: Throw SQLException instead of NumberFormatExceptoin 
- JDBC: Add getDB2ParameterName to CallabledStatement and ParameterMetaData 
- JDBC: Correct NullPointerException from JDError when multiple threads 
- JDBC: Fix blank column labels.  Return labels from stored procedure calls 
- JDBC: Fix BIDI column labels
- JDBC: Honor "ignore warnings" connection property for more scenarios
- JDBC: JDBC Client Updates 
- JDBC: Performance improvement -- remove string comparisons 
- JDBC: Reduce exceptions generated by Decimal arrays
- Make AS400.getServerName public
</Pre>

<HR>
<H3><A NAME="87">Fixes and enhancements in JTOpen 8.7</A> <i>(released 2015-11-23)</i></H3>
<Pre>
- Program Call: set asp to pick up libraries from current user profile and only set when job asp is different
- JDBC: Fix ResultSetMetaData.getType() to match DatabaseMetaData.getColumns
- AS400 adds more interfaces to set asp group
</Pre>

<HR>
<H3><A NAME="86">Fixes and enhancements in JTOpen 8.6</A> <i>(released 2015-08-30)</i></H3>
<Pre>
- JPing ddm-ssl with correct port
- Command: fix up the offset for getting command processing library and program
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657
- Fix Object Description size for OBJD0400 format
- JDBC:  Fix AS400DataSource and secure=true   
- Fix objectList name, library and type to not case sensitive   
- PCML: Fix performance issue about Class.forName in PcmlDataValues    
- JDBC: Fix trimming of leading spaces of column names
- JDBC: Fix errors from QSQFETCH from stored procedures not reported
- JDBC: Report truncation for InputStream parameters
</Pre>

<HR>
<H3><A NAME="85">Fixes and enhancements in JTOpen 8.5</A> <i>(released 2015-04-01)</i></H3>
<Pre>
- JDBC:  Delay errors from combined open/fetch
- JDBC:  Fix !THREAD command of jdbc client to inherit environment
- JDBC:  Fix CHAR FOR BIT DATA parameters in input variable field compression
- JDBC:  Fix default setting of schema in AS400JDBCPooledConnect for system naming
- JDBC:  Fix tracing of binary parameters
- Misc: javadoc fixes
- Convert: update 16684, 300, 4396 conversion table for system updates
- Program Call: Support max 255 parameters in program call for V7R1
- JDBC:   Fix LONG CHAR FOR BIT DATA parameter in input variable field compression
</Pre>

<HR>
<H3><A NAME="84">Fixes and enhancements in JTOpen 8.4</A> <i>(released 2014-12-31)</i></H3>
<Pre>
- Add setIASPGroup interface in AS400
- Add support for program path start with iasp
- Cause chain support
- DDM:  Fix correlation id issue for DRDA
- PCML: Escape special characters when generate xpcml file
- JDBC: Add getPositionOfSyntaxError to syntax exceptions
- JDBC: Allow use of sort sequence table in IASP 
- JDBC: Fix connection pool metadata 
- JDBC: Support *ALLUSR schema name on DatabaseMetaData.getTables 
- Misc: Additional tracepoints 
- Misc: Improve performance of RLE decompression 
- JDBC: jcc compatibility 
</Pre>

<HR>
<H3><A NAME="83">Fixes and enhancements in JTOpen 8.3</A> <i>(released 2014-11-26)</i></H3>
<Pre>
- Changes to enable Bidi Testing 
- Documentation fixes
- Improve performance about getjobinfo
- JDBC:  Correct default connection properties in AS400JDBCPooledConnection 
- JDBC:  Correct error message when value overflow when setting BIGINT
- JDBC:  Correct error message when value overflow when setting INT
- JDBC:  Fix error returned after Connection.abort called.
- JDBC:  Trace enhancements
- JDBC: Correct DatabaseMetaData.getXXXFunctions
- JDBC: Fix UDT Name in ResultSetMetaData
- JDBC: Improve variable field compression performance
- JDBC: Set Minor Version for JDBC 4.2
- JDBC: Variable Field Compression fixes
- Make DateFormate thread safe
- Make HTML hidden field in top
- Misc:  Save cause with exception
- PCML: Fix xpcml parsing issue with struct_i tag
- PCML: Use non-validating parser if validating parser not available.
- PCML: Update max string length to support 16MB
- Program Call: Identify object in trace
- bi-direction RLE compression
</Pre>

<HR>
<H3><A NAME="82">Fixes and enhancements in JTOpen 8.2</A> <i>(released 2014-04-10)</i></H3>
<Pre>
- All:  Set cause exception for thrown exceptions 
- Command Call:  Additional message information
- Command Call:  Fix issue that "message substitution text" in 7.1 is equivalent to "replacement data or impromptu message" in 7.2
- Conversion:  Add surrogate support and update 16684 table
- Conversion:  Fix corruption of 16684 table by loading of CCSIDs 5026,5035,930, and 939.
- DataStream:  Fix timing problem 
- JDBC:  Fix DatabaseMetaData.getSQLKeywords 
- JDBC:  Fix concurrent access resolution property 
- JDBC:  Fix for -Xshareclasses 
- JDBC:  Fix named parameters for CALL with return parameter 
- JDBC:  JDBC 4.2 Support 
- JDBC:  timestamp format property 
- JDBC:  Allow DatabaseMetaData calls when connection is read-only 
- JDBC:  Variable Field Compression for Blocked Insert 
- JDBCClient:  Support for persistent threads 
- Misc: Javadoc updates 
- Misc: Trace enhancements 
</Pre>
<HR>
<H3><A NAME="81">Fixes and enhancements in JTOpen 8.1</A> <i>(released 2013-10-01)</i></H3>
<Pre>- JDBC:  Support IPV6 addresses in JDBC URL<br>- JDBC:  Support timestamp as time parameter<br>- Support for up to 255 parameters on a remote program call request<br>- Support additional message data returned on remote command and remote program call replies
</Pre>
<HR>
<H3><A NAME="710">Fixes and enhancements in JTOpen 7.10</A> <i>(released 2013-04-04)</i></H3>
<Pre>- JDBC: For CCSID 1208, do not report truncation if extra characters are spaces<br>- JDBC: Fix timestamp to String formatting<br>- Refactor code block of SSL socket provider (shift between JSSE and SSL )<br>- Add Serializable interface to CancelLock
</Pre>
<HR>
<H3><A NAME="79">Fixes and enhancements in JTOpen 7.9</A> <i>(released 2012-12-20)</i></H3>
<Pre>- JDBC: Report truncation for mixed/open CCSIDs<br>- JDBC: Improve timestamp support<br>- JDBC: Reduce number of SQLConversionSettingsObjects<br>- Add QPWDEXPWRN support
</Pre>
<HR>
<H3><A NAME="78">Fixes and enhancements in JTOpen 7.8</A> <i>(released 2012-09-11)</i></H3>
<Pre>- synchronized send and receive request in NPConversation.makeRequest()<br>- Allow using a java.net.URL for setObject and Datalink<br>- Fix array input parameters on reused CallableStatement<br>- Array parameter fixes<br>- Handle java.version of "0"<br>- Correct timestamp conversion<br>- Fix named parameters.<br>- Fix DatabaseMetadata getCatalogTerm() and supportsExpressionsInOrderBy()<br>- Fix array input parameter when reusing callable statement
- Allow blocking when using asensitive cursors
</Pre>
<HR>
<H3><A NAME="77_1">Fixes and enhancements in JTOpen 7.7.1</A> <i>(released 2012-06-1)</i></H3>
<PRE>- Added main feature 'JTOpen Lite' for mobile support  <br>
</PRE>

<HR>
<H3><A NAME="77">Fixes and enhancements in JTOpen 7.7</A> <i>(released 2012-03-15)</i></H3>
<PRE>- AS/IS JDBC CLIENT <br>- Code cleanup <br>- Fix ProfileTokenVault <br>- Fix java.util.NoSuchElementException: Vector Enumeration thrown by rollback <br>- Fix message data replacement and format issue <br>- IFS: Avoid NullPointerException in IFSFileImplRemote.delete() <br>- Ignore all exceptions when loading Buddhist calendar <br>- Improve CADSPool Performance <br>- JDBC 4.1 <br>- JDBC:  Correctly report error on fetch <br>- JDBC:  Fix position(-1) problem when at beginning of result set <br>- JDBC:  Fix updated row count for autogenerated keys <br>- JDBC:  Miscellaneous conversion fixes <br>- JDBC:  Always use gregorian calendar to interpret database dates. <br>- JDBC:  Decimal data errors property <br>- JDBC:  Describe option property <br>- JDBC:  Ignore exceptions during race conditions <br>- JDBC:  Miscellaneous Data Conversion Fixes <br>- JDBC:  Array fixes <br>- JDBC:  Honor Decimal separator for PreparedStatement.setString 
- JDBC:  Update ExtendedIOException to display return code
- PCML:  PCML parser performance tuning<br>- Add two attributes support: System Restrict Save &amp; Inherit Allow Check Point Writer.<br>- PCML: Change PcmlDocRoot.addElement return type from void to object, thus to prevent duplicate calling containsKey, which is time consuming.<br>- PCML: Change PcmlDocuement.addToHashtable from recursive to non-recursive, thus for performance consideration.<br>- ProgramCall: Fix NPE excepetion by cancel lock serialization and deserialization.<br>- IFSFile: Fix failure of deleting symbol link.<br>
</PRE>

<HR>
<H3><A NAME="76">Fixes and enhancements in JTOpen 7.6</A> <i>(released 2011-10-17)</i></H3>
<PRE>

- AS/IS JDBC CLIENT<br>- Code cleanup<br>- IFS: Avoid NullPointerException in IFSFileImplRemote.delete()<br>- JDBC 4.1<br>- JDBC:  Fix updated row count for autogenerated keys<br>- JDBC: Always use gregorian calendar to interpret database dates.<br>- JDBC: Fix bug in IN/OUT DBCLOB parameters
</PRE>

<HR>
<H3><A NAME="75_1">Fixes and enhancements in JTOpen 7.5.1</A> <i>(released 2011-09-08)</i></H3>
<PRE>

- Fix Profile token issue
</PRE>

<HR>
<H3><A NAME="75">Fixes and enhancements in JTOpen 7.5</A> <i>(released 2011-08-15)</i></H3>
<PRE>

- Don't make ProfileTokenCredential Refresh while getting connection to server
- Fix issue that FileAttributes.getAttributes fails when returned data is larger than 2048 bytes
- Fix reading of com.ibm.as400.access.noDBReplyPooling and com.ibm.as400.access.DBDSPool.monitor properties 
- Add ClassCastException Handle in NPConversation.makeRequest
- JDBC: Fix Connection.isValid
- JDBC: JDBC Proxy Support Updates
- JDBC: Add fetch warnings to ResultSet object
- JDBC: Query timeout mechanism = cancel 
- JDBC: Fix bug where clearParameters() causes executeBatch() failure
- JDBC: User library list updates
- Retry on java.net.BindException
- Program Call timeout mechanism = cancel
</PRE>

<HR>
<H3><A NAME="74">Fixes and enhancements in JTOpen 7.4</A> <i>(released 2011-02-27)</i></H3>
<PRE>

- <i>Various:</i> Additional Tracing
- <i>Various:</i> Eclipse configuration
- <i>Various:</i> Findbugs synchronization fix
- <i>Various:</i> Update JVM16 synchronization
- Datatypes: Timezone Fixes
- Trace: Trace.showChars
- AS400Message:  Access create and modification date of AS400Message
- JDBC:  Deadlock in DBStorage Pool
- JDBC:  Fix obtaining SQLXML from cached package
- JDBC:  Identify Generic Object for Heap Dump Analysis
- JDBC:  Return to Pool Cleanup
- JDBC:  Stored procedure scrollable cursor fixes
- JDBC:  Javadoc change for setQueryTimeout
- JDBC:  Update DatabaseMetaData javadoc
- PCML:  Date/Time/Timestamp fixes
- RLA:   Bidi Conversion Fixes

</PRE>

<HR>
<H3><A NAME="73">Fixes and enhancements in JTOpen 7.3</A> <i>(released 2011-02-23)</i></H3>
<PRE>

- <i>Various:</i> Code Cleanup 
- <i>Various:</i>  Trace enhancements 
- IFSFile : Clarified that IFSFile.getFreeSpace() returns Long.MAX_VALUE if storage limit is 'no maximum'. 
- QSYSObjectPathName :  Fixed bug: IASP is forgotten by setLibraryName(), setMemberName(), setObjectName(), setObjectType(). 
- JDBC:  Clarify Javadoc for setBinaryStream. 
- JDBC:  Delay reading of Binary Stream until Execute 
- JDBC:  Fix Statement.setQueryTimeout(0) for first set 
- JDBC:  Fix leaking DBStorage objects 
- JDBC:  For autogenerated keys use NEW TABLE instead of FINAL TABLE 

</PRE>

<HR>
<H3><A NAME="72">Fixes and enhancements in JTOpen 7.2</A> <i>(released 2010-11-30)</i></H3>
<PRE>

- <i>Various:</i> Javadoc enhancements.  Improved code comments.
- <i>Various:</i> Improved error tracing and trace messages. 
- <i>Various:</i> Code cleanup.
- <i>Various:</i> Fix Vetoable for JDK 1.6
- <i>Various:</i> Fixed bug when requested list is very large.  Corrected semantics of 'listOffset' parameter in listXXX() methods of classes HistoryList, JobList, JobLog, MessageQueue, ObjectList, and UserList. Consolidated common code into ListUtilities. 

- AS400:  Password Cache Fixes 
- AS400:  In getCcsid(), make an effort to arrive at a CCSID value other than 0 or 65535.
- AS400: Added method getTimeZone(), and deprecated getSystemTimeZone(). 
- AS400File: In AS400FileRecordDescription.addFieldDescription(), set additional keyword values: ALIAS, REFFIL, REFFLD, REFFMT, REFLIB, COLHDG. 
- AS400File:  Added missing code, to obtain value for CURRENT_NUMBER_OF_RECORDS.
- AS400File: When creating physical file via CRTPF, default MBR() to *FILE rather than *FIRST.
- AS400File: Added methods to get/set REFFIL, REFLIB, and REFFMT. 
- CommandLine: Added new method: CommandLineArgument.isOptionSpecified().
- CommandLine: Exploit class 'CommandLineArguments' to parse the command-line invocation options.
- Connection: If NoRouteToHostException in getSocketConnection(), retry to 'ipv6-localhost'. 
- ConnectionPool: Added method AS400ConnectionPool.removeFromPool(AS400). (jlee-oss)
- ConnectionPool: Added property: enforceMaxPoolSize. (jlee-oss)
- Data: DAMRI: Added DATA_LENGTH_OUT_OF_RANGE. Enhanced other messages. 
- Datatypes:  Fixed bug in AS400UnsignedBin8.toBytes(Object,byte[],int).
- Datatypes:  Added constant: AS400DataType.TYPE_TIME. Deprecated constant: AS400DataType.TYPE_TIME_OF_DAY. 
- Datatypes: Added methods to AS400Timestamp: toDate() and toTimestamp(). Added internal support for \*DTS format. (jlee-oss)
- Datatypes: Exploit the AS400Timestamp class's new \*DTS support, when parsing \*DTS fields. 
- Datatypes: Throw IllegalArgumentException if bad format specified on constructor for Date or Time.
- Data conversion: Added constructors and methods to support new type converters (AS400Bin1, AS400UnsignedBin1, AS400UnsignedBin8). 
- Data conversion: Adding mappings for additional regions.
- JavaApplication: Trace a suggestion to check for firewalls, if error in JavaApplicationCall.run(). 
- JavaProgram: Check for IBM i VRM higher than 7.1.   
- JDBC: Use SoftReferences to avoid out of memory exception. 
- JDBC: Clarify javadoc:  Only six characters of the SQL package name are used. 
- JDBC: Update javadoc for maximum blocked input rows.
- JDBC: Fix autogenerated key interfaces for AS400JDBCConnectionHandle.
- JDBC: Scope Locators to cursor for *NONE isolation
- IFS: Restored original behavior of IFSFile.exists(): Return false if profile is denied access. 
- Pcml: Enhancements to support exploitation by PCML.
- Pcml: Added support for new data types.
- RemoteCommand: When forcing a disconnect because of an error, swallow any exceptions incurred during the attempt to disconnect. 
- RemoteCommand: Disregard override CCSID value of 65535.
- SpooolFile: Fixed bug in SpooledFileList.getStartTimeFilter().
- System: Added property: SystemProperties.throwSAXExceptionIfParseError.
- UDFS: Added methods to set and query the UDFS 'preferred storage unit' attribute. 
- UDFS:  Corrected typographical code bug. 
- User: If invalid profile name specified on constructor, trace a warning but don't throw exception.


</PRE>



<HR>
<H3><A NAME="71">Fixes and enhancements in JTOpen 7.1</A> <i>(released 2010-08-27)</i></H3>
<PRE>
- <i>Various:</i> Added or improved error messages and trace messages.
- <i>Various:</i> Javadoc enhancements.  Improved code comments.
- <i>Various:</i> Code cleanup.
- <i>Various:</i> Removed unused variables.
- Connection pool: Added support for connection pool pretesting.
- Connection pool: If the returned connection didn't originate in this pool, disconnect it.
- Connection pool: Remove connection from list before disconnecting services.
- Connection: AS400ThreadedServer: Trace use of thread.interrupt.
- Connection: AS400: Added method getSystemTimeZone().
- Connection: Added new property: fallbackCCSID. (Contributed by Tim Hurman.)
- Connection: Cleanup native method loading.
- Data conversion: AS400BidiTransform: Eliminated method convertDataToHostCCSID().
- Data conversion: Added data converters for IBM i data types: date, time, timestamp, signed bin1, unsigned bin1, unsigned bin8.
- Data conversion: Bidi: When deciding ST5 versus ST10, consider user profile CCSID and whether system is V5R1.
- FTP: FTPThread: Put the wait() into a loop.
- IFS: FileAttributes: Deprecated misspelled method getJounalingStartTime(); replaced it with getJournalingStartTime().
- JDBC: AS400JDBCSQLXML: Fixed "unsigned byte" problem.
- JDBC: AS400JDBCStatement: Correct interrupted thread statement leak.
- JDBC: Correct setting of JDBC cursor hold properties.
- JDBC: AS400JDBCResultSetMetaData: Fix isAutoIncrement() when extended metadata is off.
- JDBC: AS400JDBCStatement: Fix execute() to return syntax error from database engine.
- JDBC: Fix XML type info for pre JDBC 4.0.
- JDBC: Fix buffer pooling.
- JDBC: Fix missing method exception in JDError.
- JDBC: Handle comma as decimal float separator.
- Message: AS400Message.getText() and .load(): If returned text is blank, but substitution data is non-blank, copy substitution data to text.
- Permission: PermissionAccess: Don't uppercase file name for /QOpenSys file system.
- Ping: AS400JPing: Added pingAllServices(). Call Thread.interrupt() instead of Thread.stop(). Trace socket properties when pinging DDM server.
- Print: Fixed bug uppercasing special character '@'.
- Product license: Added trace statements.
- RLA: Added constants to class DDMTerm.
- RLA: Added trace message when parsing DDM reply data stream.
- Save file: SaveFileEntry: Added hashCode() method.
- Trace: Correct NPE when changing tracing.
- User space: Added new UserSpace native methods.
</PRE>

<HR>
<H3><A NAME="70">Fixes and enhancements in JTOpen 7.0</A> <i>(released 2010-05-14)</i></H3>
<PRE>
- <i>Various:</i> Added or improved error messages and trace messages.
- <i>Various:</i> Javadoc enhancements.  Improved code comments.
- Data conversion: Refined the default behaviors for Bidi conversion.
- Connection pool: Improved tracing of connection pool management events.
- Connection: Added PASE-specific native methods with unique names, to eliminate socket errors due to PASE/ILE ambiguity.
- Connection: Catch AccessControlException during static initialization of AS400Credential.
- Connection: Eliminated limitation on getJobs() method, regarding the RECORDACCESS service.
- Connection: Enabled AS400.generateToken() methods to work with proxy server.
- Connection: Improved tracing of authentication scheme.
- Data area: Enabled/fixed read(byte[]) methods when running in proxy mode.
- Data conversion: Added BIDI_STRING_TYPE_NONE (-1) as a value for JDBC property 'bidi string type'.
- Data conversion: Changed default Bidi string type from 'Implicit LTR' to 'Implicit Contextual LTR'.
- Data conversion: Eliminated method AS400BidiTransform.convertDataToHostCCSID().
- Data conversion: Eliminated unused internal method in AS400DecFloat.
- Data conversion: Fixed NullPointerException in AS400BidiTransform.convertDataFromHostCCSID().
- Data conversion: If host CCSID is 13488 or 1200, default to a Bidi 'string type' of 5.
- Data conversion: If throw NumberFormatException (for packed or zoned decimal), trace field bytes.
- Data conversion: Modified CharConverter(ccsid,system) to tolerate null-valued 'system' argument.
- Data conversion: Refined determination of default 'string type': Consider whether the system's default CCSID is a Bidi CCSID.
- Data conversion: Reset value of BidiStringType.DEFAULT to original value of 0 (which now maps to ST5).
- Date conversion: Don't trace stack-trace of NullPointerException from TimeZone.getTimeZone().
- IFS: Fix bug in IFSFileEnumeration.nextElement(), observed in /QNTC.
- IFS: Fixed several proxy methods to call correct rethrowX() method.
- JDBC: Added "use block update" connection property.
- JDBC: Added 'maximum blocked input rows' connection property.
- JDBC: Allow DatabaseMetaData.getFunctions() call to V5R4.
- JDBC: Buffer synchronization fixes.
- JDBC: Code cleanup.
- JDBC: Correct JDUtilities.streamToBytes().
- JDBC: Correct syntax error for Insert statement.
- JDBC: Fix to not return array out of bounds exception when bad char data is converted.
- JDBC: Fix update counts for batched insert statements.
- JDBC: JDBC40 single source restructure.
- JDBC: Minimize buffer usage for blocked insert.
- Job: Fixed bug: Job.loadInformation() doesn't clear cached 'job status' value.
- NetServer: Tolerate blanks values returned for 'encrypted password' and 'logon type'.
- NetServer: Updated with new API fields that were added in V6R1.
- Proxy: Changed an 'error' trace message to 'diagnostic'.
- Proxy: Made CredentialVault and its subclasses Serializable, to fix ProxyServer problem introduced in JTOpen 6.7.
- RLA: Commented-out unused methods in DDMRequestDataStream.
- RLA: Performance improvement in KeyedFile.readNextEqual() and readPreviousEqual().
- Spooled file: Removed non-public attributes from javadoc for SpooledFile.sendTCP() method.
- Trace: If we created our PrintWriter internally (based on a file), close it when replacing it.
- Trace: Incorporate systemName/jobName in receiver thread names, for more useful traces.
- User: Added new method: User.refresh().
- User: Check for (and reject) user profile name '*NONE'.
</PRE>

<HR>
<H3><A NAME="67">Fixes and enhancements in JTOpen 6.7</A> <i>(released 2010-02-05)</i></H3>
<PRE>
- <i>Various:</i> Added and improved error messages and trace messages.
- <i>Various:</i> Corrected html tags.
- <i>Various:</i> Fixes for potential bugs identified by static analysis.
- <i>Various:</i> Javadoc enhancements.  Improved code comments.
- Admin: Declared class SystemProperties as 'public', to allow access from test drivers and other Toolbox packages.
- Connection pool: Added trace message to indicate maintenance daemon ending.
- Connection pool: In ConnectionPool and AS400ConnectionPool, added new methods setCCSID() and getCCSID().
- Connection pool: Improved tracing of pool management events.
- Connection: Added method getUserId(forceRefresh) to AS400.
- Connection: Added new method: AS400.connectToPort().
- Connection: Ensure that failure during attempt to connect, doesn't leave connection in inconsistent state.
- Connection: In AS400 class, improved tracing of authentication scheme.
- Connection: In AS400 class, loosen definition of 'numeric profile name' when implicitly prepending 'Q' to profile name.
- Connection: In AS400ThreadedServer, if SocketException during disconnect(), trace a 'diagnostic' instead of an 'error'.
- Data conversion: In CharConverter, added checks for null-valued arguments.
- Data conversion: Added more complete Bidi support.
- Date conversion: If unable to determine server time zone, assume same as client.
- IFS: Added new constructor IFSFile(IFSFile directory,String filename).
- IFS: In IFSFileDescriptor, changed lock object from a Boolean to an Object.
- JDBC: Added more complete Bidi support.
- JDBC: Change XML trim of declaration to match Native driver.
- JDBC: Fix Array max size of element data.
- JDBC: Fix SQL array and non-array types in same output parm procedure.
- JDBC: Fix SQL array of decimals to handle null elements.
- JDBC: Fix XML DOM source for non-locators.
- JDBC: Fix XML declaration trim when using SQLXML interface.
- JDBC: Fix XML offset of stream.
- JDBC: Fix XML UTF-8 chars of more than 1 byte in length.
- JDBC: Fix bugs in SQL arrays when elements are null or length of zero.
- JDBC: Fix for array of dates.
- JDBC: Fix setting the binary stream once and re-executing SQL statement.
- JDBC: Fix update of XML in result set.
- JDBC: In AS400JDBCArrayResultSet, fix for missing variable.
- JDBC: In AS400JDBCResultSet, fix XML update after update to null value.
- JDBC: Make JDSQLTokenizer eligible for garbage collection after use.
- JDBC: Updated 'database name' property description.
- JDBC: XML ascii stream fix.
- JDBC: XML declaration fix.
- JDBC: Zero out varchars of length less than 256 for RLE compression.
- NetServer: Corrected commitChanges(fileShare) to not assume that the share pathname is specified in Unicode.
- Object description: In ObjectDescription, added new constructor. Consolidated data members.
- PCML: Eliminated StringIndexOutOfBoundsException in PcmlMessageLog.
- Permission: Added a clone() method to UserPermission.
- Permission: Correctly handle embedded quotes in paths.
- Permission: Eliminated 'Cloneable' designation on Permission class.
- Product license: Added a readObj() method to ProductLicense.
- Product: Product.isInstalled(): If product isn't installed, avoid logging CPF0C1F.
- QSYS object types: Protect internal representation by returning copy of array.
- QSYSObjectPathName: Added new method: toQualifiedObjectName().
- Save file: Added equals() and toString() methods to SaveFileEntry.
- Trace: Added method toHexString(byte) to Trace.
- Trace: Added support for dynamic tracing.
</PRE>

<HR>
<H3><A NAME="66">Fixes and enhancements in JTOpen 6.6</A> <i>(released 2009-09-11)</i></H3>
<PRE>
- <i>Various:</i> Eliminated trace calls that were redundant with thrown exceptions.
- <i>Various:</i> Improved construction of InternalErrorExceptions.
- <i>Various:</i> For threadsafe API's and CL's, perform internal calls on-thread when allowed by properties.
- <i>Various:</i> Javadoc enhancements.
- Beans: Corrected EventSetDescriptor argument, to eliminate ExceptionInInitializerError on some JVMs.
- Build: Include JarMaker classes in jt400Native.jar
- Command call, Program call: Restore cross-version serializability between old/new releases of JTOpen.
- Command call: Refined processing of threadSafe property.
- Connection: Added system property: AS400.guiAvailable.
- Connection: Don't print stack trace if class NativeVersion not found.
- Connection: In setGSS* methods, clear any prior signon info.
- Connection: New infrastructure to support use of auto-renewing Profile Tokens.
- Connection: Normalized trace calls. Eliminated trace calls that were redundant with thrown exceptions.
- Connection: Re-enable Toolbox native PASE code.
- Data conversion: (AS400Structure) Made defaultValue_ non-static. Synchronized access to elements_ and defaultValue_. Throw ExtendedIllegalArgumentException instead of ArrayIndexOutOfBoundsException.
- Date conversion: Made 'public' the DateTimeConverter.timeZoneForSystem() method.
- IFS: Added IFSFile methods: getParentFile(), getPathPointedTo(), and isSourcePhysicalFile().
- IFS: For default IFSFile objects, changed getParent() to return null instead of "/".  Side effect: For default VIFSFile and VIFSDirectory objects, getParentDirectory() will now return null instead of "/".
- IFS: Renamed some internal methods for better maintainability.
- IFS: Support new File methods introduced in Java 6.0.
- JDBC: Add stronger date, time, and timestamp validation.
- JDBC: Add wrapper methods around set/update Default to match JCC's new names.
- JDBC: Allow JDBC connection properties to propagate to Native JDBC driver.
- JDBC: Change lob locator block size to 1MB for Stream input.
- JDBC: Corrected an empty-string comparison in initializeAS400().
- JDBC: Fix AS400JDBCResultSet.updateSQLXML to handle null values.
- JDBC: Fix JDBC 4.0 XML internal encoding check.
- JDBC: Fix SQL Array output parm index.
- JDBC: Fix for XML with no declaration to default to UTF-8.
- JDBC: Fix for setting an SQLXML object into a Blob/Clob column.
- JDBC: Fix in CallableStatement.getArray method to support SQL Arrays.
- JDBC: Fix metadata statement leak.
- JDBC: Fix to SQL Array output parm filtering.
- JDBC: Fix to XML zero length stream.
- JDBC: Fix to double-byte clob when reader/stream length is not specified.
- JDBC: Fix to multi-row merge.
- JDBC: Fix update and set SQLXML for null data.
- JDBC: Fix updateSQLXML for null data.
- JDBC: Handle JDBC readers and input streams with length not specified.
- JDBC: Multi-row update support.
- JDBC: New XML message.
- JDBC: New functionality for XML and Array support.
- JDBC: Port of new XML code to JDBC 3.0.
- JDBC: Remove incorrect catch block.
- JDBC: Remove some references to old versions and rename IBM i.
- JDBC: Separate login timeout property from socket time out.
- JDBC: Trim XML encoding when PS.setString() is used.
- JDBC: XML binary stream fix to not trim off XML declaration.
- JDBC: XML double-byte/single-byte when CCSID does not match conversion bug fix.
- JDBC: XML fix to account for byte order mark in UTF-15be string.
- JarMaker: Added component: PCML. Rearranged constants for better readability. Renamed some private constants.
- Object description: Improved performance of refresh(). Exploit QUSROBJD format OBJD0100.
- Permission: Added new Permission constructor with 'followLinks' parameter. Added isFollowSymbolicLinks().
- Permission: Improved messages in some thrown exceptions.
- Product: Eliminated 'NullPointerException: featureID' along certain paths.
- Program call: (ServiceProgramCall) Added check for more than 7 parameters.
- Program call: Added new method: suggestThreadSafe().
- Program call: Added new streamlined runProgram() method.
- Program call: Added static utility method getDefaultThreadSafety().
- QSYS object types: Added new type: SQLXSR.
- RFML: Added clarifying comment.
- Security: Added checks for null keyRingName.
- Trace: Added new variation of printByteArray().
- Trace: Tolerate null arguments in log() methods.
- User space: Call UserSpace API's on-thread by default.
- User space: Respect setting of 'mustUseSockets' property when calling programs internally.
- User: Changed User.exists() method to call CHKOBJ instead of QSYRUSRI.
</PRE>

<HR>
<H3><A NAME="65_1">Fixes and enhancements in JTOpen 6.5.1</A> <i>(released 2009-05-20)</i></H3>
<PRE>
- Connection: Re-enable default on-thread execution of ProfileToken calls. (Added 2009-06-05)
- Data area:  Fixed breakage in JTOpen 6.5: NoClassDefFoundError on Sun JVM's.
- Print:      Fixed breakage in JTOpen 6.5: NoClassDefFoundError on Sun JVM's.
- User space: Fixed breakage in JTOpen 6.5: NoClassDefFoundError on Sun JVM's.
</PRE>

<HR>
<H3><A NAME="65">Fixes and enhancements in JTOpen 6.5</A> <i>(released 2009-05-08)</i></H3>
<PRE>
- INCOMPATIBLE CHANGE:
  The getJob() method is eliminated from classes CommandCall and ProgramCall.
  Applications that reference this method will no longer compile or execute.
  Use method getServerJob() instead.

- BEHAVIOR CHANGE:
  Formerly, when running natively on IBM i, by default the Toolbox looked-up
  the designated thread-safety of CL commands, and called thread-safe CL's
  on-thread to optimize performance.
  Similarly, when running natively on IBM i, by default the Toolbox called
  certain IBM i API's "on-thread" (in the job of the JVM) if the API's were
  known to be thread-safe.
  This introduced problems where successive CL's and programs would be called
  in 2 different jobs (on-thread versus off-thread).
  The new default is to simply call all CL's and programs via the Remote
  Command Host Server.
  To restore the previous CommandCall behavior, set Java system property:
  com.ibm.as400.access.CommandCall.threadSafe=lookup
  To instruct the Toolbox to call all programs on-thread, set the property:
  com.ibm.as400.access.ProgramCall.threadSafe=true
  However, setting threadSafe=true is not advised unless your application
  is known to call only thread-safe programs.

- <i>Various:</i> Changes to support modified default command thread-safety behavior.
- <i>Various:</i> Javadoc updates.
- <i>Various:</i> Renamed private constant names and variables for better readability.
- <i>Various:</i> Enhancements suggested by static analysis:
                  - Added hashCode() methods.
                  - Eliminated redundant String.toString() calls.
                  - Eliminated unnecessary null-checks.
                  - Eliminated unused variables.
                  - Improved synchronization.
                  - Ensure that opened streams get closed.
                  - Streamlined try/catch logic.
                  - Trace all caught exceptions.
- Build: Added JPing to jt400Native.jar
- Command call: Removed method getJob(). Method was deprecated on 2003-01-22.
- Command call: Added tracing to track on/off-thread calls, and CL thread-safety lookups.
- Command call: Eliminated default thread-safety lookup when calling CL commands natively.
- Command call: Changed trace category of the 'on/off thread toggle' message to DIAGNOSTIC.
- Connection pool: Tolerate null password on constructor.
- Connection: Relaxed definition of 'numeric password' when prepending 'Q'.
- Connection: Added trace messages.
- Connection: Added method: AS400.isConnectionAlive(service).
- Connection: Check for null, before dereferencing listeners.
- Connection: Fix PASE socket close(), so it is not called twice.
- Connection: Fix PASE socket pair leak.
- Connection: Temporarily disable PASE optimizations until socket issues can be resolved.
- Connection: Fix native library load when running with multiple war files and classloaders.
- Connection: Made 'public' the method AS400.canUseNativeOptimizations().
- IFS: Added methods to FileAttributes: containsTemporaryObjects() and isTemporaryObject().
- IFS: Added static getFreeSpace() method.
- IFS: For IFSFile.getSubtype(): Retrieve codepage of extended attribute values.
- IFS: Trace the returned extended attribute values.
- JDBC: Add 'skip locks' option to concurrent access property.
- JDBC: Add new JDBC 4.0 flag for sysibm stored procedure metadata source.
- JDBC: Fix AS400JDBCDriver.connect() with clone set to false.
- JDBC: Fix JDBC 4.0 getHoldability() method to check for isolation level of *NONE.
- JDBC: Fix ResultSet.updateRow() method when CCSID is not known.
- JDBC: Fix commit/rollback to not close cursors when isolation level is *none.
- JDBC: Fix erroneous NullPointerException in JDBC trace.
- JDBC: Fix for 'fetch direct' only if cursor is read-only and insensitive.
- JDBC: Fix for JDBC Graphic datatype length with ccsid 65535.
- JDBC: Fix getIsolation() method to return *none if it is really *none.
- JDBC: Fix isAutoIncrement() method to close correct PreparedStatement.
- JDBC: Fix to get updated date info in getVersionColumns() method.
- JDBC: Fix to search 'system' part of library list when calling stored procedures.
- JDBC: Fix truncation error when inserting large BigDecimal into double column.
- JDBC: Fix truncation error when setting BigDecimal in float/real columns.
- JDBC: Fix when to prevent incorrect NullPointerException while trace is on.
- JDBC: Temporary workaround for known Sun Hotspot 1.6 JIT defect.
- JarMaker: Generate digests correctly. Close all streams when done.
- JavaApplicationCall: Added trace call.
- Job: Added method: commitChanges(boolean mustStayOnThread).
- Message: Eliminate NullPointerException if load() called on internally-created AS400Message.
- Print: Added getAFPInputStream.  Deprecated getInputACIPMergedStream.
- Print: Enhance Error Diagnosis.
- Print: Throw exception if fail to connect to Print Server.
- Program call: Added new method: ServiceProgramCall.setAlignOn16Bytes().
- Program call: Removed method getJob(). Method was deprecated on 2003-01-22.
- Proxy: Eliminated calls to System.gc() and runFinalizersOnExit().
- RLA: Added method: getLibraryName()
- Trace: Added error message in logLoadPath().
- Trace: Added method: log(int,String,String).
- Trace: Check for null argument in new log() method.
- Trace: Made the printByteArray() methods package-scoped.
</PRE>

<HR>
<H3><A NAME="64">Fixes and enhancements in JTOpen 6.4</A> <i>(released 2008-12-12)</i></H3>
<PRE>
- <i>Various:</i> Javadoc updates.
- <i>Various:</i> Enhancements suggested by static analysis.
- Command call: Log a warning if sequential calls switch between on-thread and off-thread.
- Connection pool: Enhance AS400ConnectionPool to support ProfileTokenCredentials.
- Connection pool: Fix pool maintenance daemon so as to disconnect active connections,
  only when a connection exceeds its maxUseTime limit.
- Connection: Added method AS400.isConnectionAlive().
- Connection: Fix bug in portmapper port.
- Data conversion: Eliminated possible arithmetic overflow.
- Data conversion: Fix JTOpen bug 2120228: ConvTableJavaMap is not appropriately synchronized.
- Data conversion: Resynchronized with updated system converter tables.
- Date conversion: Optional parameters for QWCCVTDT only valid for V5R3 and beyond.
- Date conversion: Streamlined design, based on assumption that all dates are in timezone of system.
- FTP: Check for null-valued changes_, vetos_ before referencing.
- FTP: Improved synchronization.  Ensure that streams always get closed.
- FTP: Tolerate delimiters other than '|' in EPSV response.
- JDBC: Add Currently Committed support.
- JDBC: Add code to make use of hostserver's fetch-direct function.
- JDBC: Add property "secure current user" to allow JDBC connections with "" or *current when running on the IBM i host.
- JDBC: Documentation rename of "default schema/library" to "default SQL schema".
- JDBC: Fix AS400JDBCResultSetMetadata.isAutoIncrement() method to get more accurate information.
- JDBC: Fix bug in delimited schema in connection URL.
- JDBC: Fix bug in getCatalogSeparator being able to access connection.
- JDBC: Fix bug in getMoreResults(int) so that CLOSE_CURRENT_RESULT does not throw exception.
- JDBC: Fix bug when locators are freed more than once.
- JDBC: Fix for connection property "driver=native" when hostname is localhost.
- JDBC: Fix for quoted schema names in URL.
- JDBC: Fix misc resources that are opened but not closed properly.
- JDBC: Fix stored procedure flavor of AS400JDBCDatabaseMetaData resultset.getStatement() so it returns null per JDBC spec.
- JDBC: Fix typo in secure current user description.
- JDBC: Fix when using userid in URL and using connection property driver.
- JDBC: Force signon GUI dialog to display when id/password are "" or "*current".
- JarMaker: Recognize -xsd as abbreviation for -excludeSomeDependencies.
- JarMaker: If not JDBC or RLA, don't follow dependencies from ClassDecoupler.
- JarMaker: Verify number of bytes skipped. Call readUnsignedShort() instead of readShort().
- Message file: Added FIRST and NEXT options to getMessage() methods. (Enhancement submitted by David Gibbs.)
- Micro edition: Modified skipBytes() to return actual number of bytes skipped.
- PCML: Added more PCML trace points.
- PTF: Added 'get' methods for creationDate and serverIPLRequired.
- QSYSObjectPathName: Added static non-public validatePath() method.
- RLA: Added parameter validation and more tracing.
- RLA: Set field description text.  Removed 'serializable' designation.  Added check for no records returned from DSPFFD.
- System pool: Eliminated 2 obsolete non-public constructors. Added parameter validation.
- System status: Exploit new SystemPool constructors.
- Trace: In finalize(), close all writers (except when they're built on System.out).
- User: Added getters/setters for userExpirationAction, userExpirationDate, userExpirationInterval, userEntitlementRequired.
- User: Additional fixes not included in the associated PTF's: Serializability bug, and NullPointerException in new utility method 'isBlanks'.
- User space: Improved synchronization.
</PRE>

<HR>
<H3><A NAME="63">Fixes and enhancements in JTOpen 6.3</A> <i>(released 2008-08-29)</i></H3>
<PRE>
- <i>Various:</i> Javadoc updates.
- <i>Admin:</i> Updated this file (changes.html) so component names are consistent.
- Command call: Changed scope of getThreadSafetyProperty() from private to package. 
- Command call: Refined tracking of missing V5R4 PTF for QCDRCMDI (SI29629).
- Connection pool: Fix bug to reuse connections which have a maxLifetime of 0.
- Connection: Added AS400 properties: mustAddLanguageLibrary, mustUseSuppliedProfile.
- Connection: Added AS400 properties: mustUseSockets, mustUseNetSockets, threadUsed.
- Connection: Ensure that the socket never gets left open.
- Connection: Fix code so that applets do not get AccessControlException.
- Connection: Only try to load PASE library when on V6R1 or higher.
- Connection: Fix for JTOpen bug 2039039: Set another timeout when opening a socket connection.
- Data area: Honor setting of threadSafe property.
- Data conversion: Modification to handling of Date convert(*CURRENT) to adjust to local time.
- Data conversion: Added method AS400DataType.getJavaType().
- Data conversion: Regenerated conversion tables for CCSIDs 835 and 4931.
- JDBC: Add support for getSQLXML on Blob columns, for consistency with native JDBC driver.
- JDBC: Allow userid/password in URL to override blanks in parameters.
- JDBC: Fix ResultSet navigation for various relative scrolling.
- JDBC: Fix cast exception for DBClob when written as a locator. 
- JDBC: Fix double JDBC driver registration with DriverManager.registerDriver().
- JDBC: Fix generated keys truncation. 
- JDBC: Fix lob locator update and retrieval from AS400JDBCResultSet. 
- JDBC: Fix logic so that ResultSet.relative(1) is same as ResultSet.next().
- JDBC: Fix long schema bug in library list.
- JDBC: Fix stream helper method.
- JDBC: Fix server trace bug.
- JDBC: Fix typo in byteLength variable.
- JDBC: Get database metadata from SYSIBM stored procedures if "metadata source" property is set to 1.
- JDBC: Ignore Warnings to allow users to specify list of SQL states to cause JDBC to ignore and not issue warnings. 
- JDBC: Misc XML fixes to not rely on external parsers.
- JDBC: More resultset cursor navigation fixes for various abnormal scrolling. 
- JDBC: Prohibit accidental JDBC Connection with userid or password of "". 
- JDBC: Use connection property "translate hex" value in the algorithm to generate extended dynamic sql package name.
- Messages: Added new MessageFile.getMessage() method, with additional CCSID parameters. 
- NetServer: Deprecated class; use ISeriesNetServer instead.
- Object description: Fixed StringIndexOutOfBoundsException.
- Object description: New method ObjectDescription.getObjectLockList(). 
- PTF: Added constants to represent new V6R1 status values.
- Print: Added method Printer.setAttributes(), to match functionality of RPrinter. 
- RLA: Changes to verifyS38MSGRM() to better handle ClassCastException.
- System pool: Added 2 constructors, and isValidNameForSharedPool().
- System pool: Eliminated logic errors.  Strip trailing blanks from returned String-valued attributes. 
- System value: Enhanced javadoc and code comments. 
- Trace: Add more tracing for invalid passwords.
- Trace: Added tracing of connection ID.
- Trace: Skip stack trace for "Class com.ibm.as400.access.Properties not found".
- Trace: If incorrect reply datastream header: Trace bytes, and disregard stream. 
- Trace: Streamlined trace messages for 'GSSToken not available' and non-fatal ClassNotFoundException.
- User: Add getObjectsOwned() method.
</PRE>

<HR>
<H3><A NAME="62">Fixes and enhancements in JTOpen 6.2</A> <i>(released 2008-04-30)</i></H3>
<PRE>
- <i>Various:</i> Javadoc updates.
- <i>Various:</i> Corrected EventSetDescriptor argument, to eliminate IntrospectionException on some JVMs.
- Build: Fix for JTOpen bug 1924271: In build.xml, specify encoding for javac calls.
- Build: Removed JDBC version designation.
- Command call: When running programs/commands natively, set secondary language directory to match client locale.
- Connection pool: Check for connection expiration when connection returned to pool.
- Connection pool: Use SoftReference to eliminate circular reference and potential memory leak.
- Connection pool: Added diagnostic trace for when an active but expired JDBC connection is closed.
- Connection: Added null pointer check in AS400.getJobs().
- Connection: Corrected misspelled constant name.
- Connection: Use socket timeout when connecting if running in Java 1.4 or higher.
- Data area: Added methods to read/write unconverted bytes.
- Data conversion: Added setters and getters for numeral shaping, Bidi expand alef.
- Data conversion: Eliminated possible ArrayIndexOutOfBoundsException in ConvTableReader.fillCache(), for example when incorrect data CCSID is specified.
- Data conversion: Made the Mlog class non-public.
- IFS: Modifications for IFSFile.clearCachedAttributes() to clear all cached attributes.
- IFS: Enable operation on files larger than 2 gigabytes: IFSFileOutputStreamImplRemote.write(), IFSRandomAccessFile.seek().
- IFS: Updates to IFSFile.java and IFSJavaFile.java for symbolic link objects.
- JDBC: Add text "Connection.rollback()" to "autocommit exception" property description.
- JDBC: Add text "rollback" to "autocommit exception" property description and javadoc.
- JDBC: AS400JDBCDriver: Added JDBC version indicator.
- JDBC: Auto-commit property.
- JDBC: Beginning with Version 6 Release 1 of i5/OS, you must have *JOBCTL special authority for setQueryTimeout().
- JDBC: Change to not use sql package cache if the statement contains a lob since it could be a lob or lob locator on other connections.
- JDBC: Close statements to avoid statement leak.
- JDBC: Fix error when Statement.setMaxRows(count) is same number of rows in a resultset.
- JDBC: Fix for setCharacterStream to take into account multi-byte chars.
- JDBC: Fix for time when hour is 24 and minute is not 00.
- JDBC: Fix to signal truncation of data in CCSID 5035.
- JDBC: Get timeout property from DriverManager.getLoginTimeout.
- JDBC: Implementation of Decfloat SNaN.
- JDBC: Login timeout added to DriverManager properties.
- JDBC: Login timeout in milliseconds.
- JDBC: Make the 'autocommit exception' property effective for rollback.
- JDBC: XA Connection fixed to close cursor after commit.
- JDBC: Starting in V6R1, user must have *JOBCTL special authority to use query storage limit.
- JDBC: Starting in JDK 1.5, for numeric and decimal column types, exploit BigDecimal.toPlainString().
- NetServer: Fix for IseriesNetServer.java for authority check IOSYSCFG to include groups that a user belongs to.
- Permission: Changes due to regression test. Permission.java
- Permission: Updates to process QSYS IASP objects: Permission, PermissionAccessQSYS, and QSYSObjectPathName.
- Print: Fix for JTOpen bug 1551918: PrintObjectList: openSynchronously() twice.
- RLA: Fix for JTOpen bug 1847680: Introspection of Record fails due to bad RecordBeanInfo.java. Original problem reported in JTOpen bug 1779593: Correct EventSet for VetoablePropertyChange.
- Trace: Added tracing of connection ID.
- Trace: Added tracing of load source.
- Trace: Fix for JTOpen bug 1889391: Synchronized access to static variable SimpleDateFormat.
- Trace: Limit redundant checks for multiple Toolbox versions.
- Utilities: AboutToolbox: Added check for supported JDBC version.
</PRE>

<HR>
<H3><A NAME="61">Fixes and enhancements in JTOpen 6.1</A> <i>(released 2008-01-04)</i></H3>
<PRE>
- <i>Various:</i>  Javadoc updates.
- AS400:  Eliminate swallowed NullPointerException.
- AS400:  If no Properties class found, trace a Diagnostic instead of a Warning.
- Command call:  Add support to follow proxy command chain. Exploit PTF if V5R4.
- IFS:  Correctly recognize QSYS objects, particularly PRTF objects.
- IFS:  Eliminate double close requests from finalizer.
- JDBC:  Add check for closed resultset when checking holdability.
- JDBC:  Client Functional Level update.
- JDBC:  Fix for cursor holdability of stored procedures.
- JDBC:  Fix timestamp so that 24:00 on day n does not advance to 24:00 on day n+1.
- JDBC:  Fix to ignore some warnings when sqlState starts with 00 or 02.
- JDBC:  Get scroll type from cursor attrs if exist.
- JDBC:  Match Native driver truncation on future releases when PreparedStatement.setString() is used.
- JDBC:  Method JDLobLocator.free() not supported on V5R4 or earlier releases of System i.
- JDBC:  NVARCHAR length fix.
- JDBC:  Return "NCHAR"  and "NVARCHAR" from getTypeName() for CCSIDs 13488 and 1200.
- JDBC:  Return first occurrence of column when calling ResultSet.findColumn(String) when there are more than one column with same name.
- JDBC:  Update getDatabaseMajorVersion and getDatabaseMinorVersion to reflect actual versions from host server.
- JDBC:  isReadOnly method fix.
- JDBC:  Fix for non-capitalized schema names in getProcedureColumns method.
- JDBC:  Fix storesMixedCaseQuotedIdentifiers method to return false.
- JDBC:  Do not re-use stale variables in reply datastream objects.
- PCML:  Fix for JTOpen bug 1778759 - set the global isXPCML variable.
- Permissions:  Permissions.commit() sensitivity of DLO object.
- Print:  Add additional supported CPI values to SCS5553Writer.
- RLA:  Add Note to readNextEqual() methods regarding locking.
- RLA:  Change to ignore *NONE keys in addKeyFieldDescription().
- RLA:  Corrected field length calculation for DBCS VARCHAR and VARGRAPHIC fields.
- RLA:  Fix for JTOpen bug 1796143 - Writing to a multiple format file fails.
- System pool:  Improve handling of shared pools.
- Vaccess: Deprecated last remaining un-deprecated class in package <tt>com.ibm.as400.vaccess</tt>: AS400JDBCDataSourcePane.
</PRE>

<HR>
<H3><A NAME="60">Fixes and enhancements in JTOpen 6.0</A> <i>(released 2007-08-20)</i></H3>
<PRE>
- Connection pool:  Added a check to verify connection is not in use when checking the max lifetime and removing a connection from the pool.
- Data area:  Fix for JTOpen bug 1737692 - allow users to write data containing single-quote characters.
- Data conversion:  Updated various converter tables.
- FTP:  Add support for EPSV and EPRT.
- IFS:  Updated getCanonicalPath() to remove '.' and '..' from paths.
- IFS:  Updated listObjectAttrs() to see if a file handle has already been opened.
- IFS:  Replaced get32bit() call which was treating 4-byte byte stream fields as signed with BinaryConverter methods.
- IFS:  Changes to IFSFile.enumerateFiles() to better handle when objects are filtered.
- IFS:  Updated to search by restart name if accessing QSYS.LIB in an IASP.
- JarMaker:  Updated AS400ToolboxJarMaker to extend ToolboxJarMaker.
- JDBC:  Added various getters/setters to AS400JDBCDataSource to match URL style properties.
- JDBC:  Added getServerJobIdentifier() to JDConnectionProxy.
- JDBC:  Return names in DatabaseMetaData.getPrimaryKeys() instead of null.
- JDBC:  Added new class AS400JDBCStatementListener.
- JDBC:  Fix error when Double value is infinity and getFloat(x) is called.
- JDBC:  Updated read/write flag for DataTruncation warnings and exceptions.
- JDBC:  Updated DataSource getUser() method to retrieve user from AS400 object.
- JDBC:  Added check for closed cursor in absolute method.
- JDBC:  Updated setPoolable() method name in JDStatementProxy.
- JDBC:  Allow delimited libraries in library list.
- JDBC:  Updated DatabaseMetaData.getProcedures() to return correct procedure name.
- JDBC:  Allow rollback to throw XAException on a non-zero return code.
- JDBC:  Added "variable field compression" connection property.
- JDBC:  Added statement listener support.
- JDBC:  Throw exception on Connection.commit() if auto-commit is enabled.
- JDBC:  Fix performace related bug that caused ResultSet not to close after cursor was implicitly closed.
- JDBC:  Use SQLState instead of SQLCode for flag of errors/warnings.
- JDBC:  Retrieve cursor attributes from a stored procedure.
- Job list:  Fix for JTOpen Bug 1728765 - allow more than one value for the selection criteriat that are suppose to allow multiple values.
- Job log:  Added the ability to retrieve all attributes for a message.
- Job log:  Updated javadoc to list attributes that can be accessed for a QueuedMessage object.
- Object description:  Modified exists() method to handle CPF9811 message.
- ObjectList:  Fix for JTOpen Bug 1725312 - fix to allocate correct storage amount for getObjects().
- ObjectList:  Updated javadoc for getObject() to indicate that the listOffset parameter may be greater than "or equal to" zero.
- ObjectList:  Updated addObjectAuthorityCritiria() to enforce documented interface restrictions.
- QueuedMessage:  Added the ability to retrieve all attributes for a Job Log message.
- System pool:  Added the ability to set the "system-related pool identifier".
- System status:  Added the ability to set the "system-related pool identifier".
- Trace:  Fix to ensure tracing is off if a category is not set.
</PRE>

<HR>
<H3><A NAME="54">Fixes and enhancements in JTOpen 5.4</A> <i>(released 2007-04-18)</i></H3>
<PRE>
- <i>Various:</i>  Updated iSeries and server references in comments, text.
- <i>Various:</i>  Javadoc updates.
- Connection: Support new messages from sign-on server.
- Connection: Added additional change password return codes.
- Data conversion:  Fix array out of bounds error so we throw SQLException back with single character input.
- File:  Fixed record cache so that positionCursor() works regardless of the blocking factor.   
- IFS:  Updatated javadoc for list, listFiles and enumerateFiles methods.
- IFS:  Updated to throw an exception if access is denied to a directory and to search by restart name if accessing QSYS.LIB in an IASP.
- JDBC:  Added Close on EOF support.
- JDBC:  Added support for setting client information. 
- JDBC:  Added support to turn on/off database host server tracing.
- JDBC:  Allow sort=job to not throw exception, but use default.
- JDBC:  Added stored procedure support for getIndexInfo. 
- JDBC:  Added support for stored procedure result sets date and time format.
- JDBC:  ResultSet.getRow() fix to return correct number after inserting new rows.
- JDBC:  Updated data truncation exception support.
- JDBC:  Strip out comments in statements greater than 2M in V5R4.
- JDBC:  Added query storage limit connection property.
- NetServer:  Fix to createPrintShare().
- NetServer:  Fixed bug in parameter validation in setTextConversionEnablement()
- Object description:  Added support to list objects in an auxiliary storage pool (ASP) and to get the object descriptions.
- Object description:  Added support for returning the asp device name on the path.
- ObjectList:  Added support to list objects in an auxiliary storage pool (ASP) and to get the object descriptions.
- Permissions:  Updated setDataAuthority() for *AUTL.
- Permissions:  Changes to allow DLOPermission to work with the QDLS root folder.
- Print:  Retrieving invalid spooled file attributes.
- Product:  Changes so that when running natively user space will use sockets instead of native method calls. 
- PTF:  Changes so that when running natively user space will use sockets instead of native method calls. 
- QSYSObjectPathName:  Fix parsing of eszett and other 1 to N uppercasing characters.
- Save file:  Changes so that when running natively user space will use sockets instead of native method calls. 
- Security: Support new messages from sign-on server.
- Security: Added additional change password return codes.
- Spooled file:  Retrieving invalid spooled file attributes.
- User space:  Changes so that when running natively user space will use sockets instead of native method calls to avoid error indicating that JT4PTF and JT4USRSPC user space could not be found.
</PRE>

<HR>
<H3><A NAME="53">Fixes and enhancements in JTOpen 5.3</A> <i>(released 2006-12-18)</i></H3>
<PRE>
- <i>Various:</i>  Updated iSeries and server references in comments, text.
- <i>Various:</i>  Javadoc updates.
- Build:  Fixed various build warnings for JDK 1.5.
- Connection:  Allow GSS credential to change.
- Data area: Provide more useful exception information.
- IFS:  Fixed bug that made IFSFile.setCCSID() a no-op.
- JDBC:  Only send/update sort sequence if not set to default (hex).
- JDBC:  Added query storage limit support.
- JDBC:  Fixed JTOpen 1292204 - Garbage Collector impacts JDBC connection pool activity.
- JDBC:  Added default column value support.
- JDBC:  Updated max columns in group by support.
- JDBC:  Updated query optimize goal documentation.
- JDBC:  Fixed batch update support to use the correct information in a BatchUpdateException.
- JDBC:  Various performance improvements.
- JDBC:  Fix to allow a forward-only sensitive cursor.
- NetServer:  Corrected behavior of getTextConversionEnablement()
- PCML:  Provide more useful exception information, especially when PCML source document not found.
- Program call:  Provide more useful exception information.
- System resource:  Provide more useful exception information.
- UDFS:  Added new classes IFSIoctlRep, IFSIoctlReq, and UDFS for user-defined file system support.
</PRE>

<HR>
<H3><A NAME="52">Fixes and enhancements in JTOpen 5.2</A> <i>(released 2006-08-28)</i></H3>
<PRE>
- <i>Various:</i>  Updated iSeries and server references in comments, text.
- <i>Various:</i>  Updated javadoc and property descriptions.
- Build:  Updated for new cvs server access.
- Build:  Updated for changes to the J2ME Toolkit. 
- Data conversion:  Enhanced trace messages.
- Data conversion:  Fixed recently introduced inconsistency with java.io.Reader.
- IFS:  Added new classes ErrnoException, FileAttributes, and ObjectReferences.
- IFS:  Eliminated compareTo(Object) method for JDK 1.5 compatibility.
- IFS:  Better handling of 'access denied errors.
- IFS:  Fixed JTOpen bug 1481835: Tolerate zero-length writes and reads. 
- JDBC:  Fixed 'thread used' property to propagate it to AS400 object.
- JDBC:  Various performance changes.
- JDBC:  Updated client functional level.
- JDBC:  Added 'metadata source' connection property.
- JDBC:  Fix so convertFromRawBytes() is not called unexpectedly when using addBatch() with CallableStatement objects.
- JDBC:  Fixed bug in USA time format.
- JDBC:  Added clonable support to AS400JDBCDataSource.
- JDBC:  Various tracing improvements.
- JDBC:  Changes to not block data if a sensitive cursor is being used.
- JDBC:  Close generated keys result set if Statement.close() is closed or if the statement is re-executed.
- Object description:  Fixed bug where Boolean attributes are sometimes reported as Strings. 
- Object description:  Fix ClassCastException retrieving SAVE_SIZE.
- Open list:  Renamed 'enum' variable.
- PCML:  Removed performance bottleneck by un-synchronizing a method.
- PCML:  Close opened streams in 'finally' clause.
- PCML:  Allow leftmost bit to be on for byte field init values.
- PCML:  Improved error messages. 
- Print:  CPU performance fix due to recursive paint events in SpooledFileViewer.
- RFML:  Close opened streams in 'finally' clause.
- PTF group:  Updated for Native support.
- System value:  Various updates.
- Trace:  Updated for JDK 1.5 misbehavior in LogManager.getLogger().
</PRE>

<HR>
<H3><A NAME="51_1">Fixes and enhancements in JTOpen 5.1.1</A> <i>(released 2006-04-26)</i></H3>
<PRE>
- System pool:  Fixed incorrect ObjectDoesNotExistException from SystemPool objects generated from SystemStatus.
- Trace:  Added milliseconds to timestamps.
</PRE>          
          
<HR>
<H3><A NAME="51">Fixes and enhancements in JTOpen 5.1</A> <i>(released 2006-04-19)</i></H3>
<PRE>
- <i>Various:</i>  Updated javadoc and code comments.
- Connection:  Avoided potential StringIndexOutOfBoundsException in trace.  
- Connection:  Added new properties to prevent use of current user and Unix domain sockets.
- Connection:  Improved warning messages.
- Connection pool:  Fixed JTOpen Bug 1459369:  Added support to terminate maintenance thread when pool is closed.
- Data conversion:  Enhanced Bidi support.
- FTP:  Added support so FTP datastreams use CRLF.
- IFS:  Added new IFSFile methods:  setSorted() and getOwnerName().
- IFS:  Un-deprecated classes IFSTextFileInputStream and IFSTextFileOutputStream.
- IFS:  Added support for files larger than 2 gigabytes.  This support is only available when running to V6R1 or higher.
- JarMaker:  Deprecated class AS400ToolboxJarMaker; replaced by ToolboxJarMaker.
- JDBC:  Added new classes AS400JDBCManagedConnectionPoolDataSource and AS400JDBCManagedDataSource. 
- JDBC:  Added self-managed pooling JDBC datasource.
- JDBC:  Added new AS400JDBCDataSource method:  setProperties().
- JDBC:  Added new 'translate boolean' connection property.
- JDBC:  Various performance updates when searching for a field by field name.
- JDBC:  Reset auto commit and the isolation level to the auto commit and isolation level being used before xa_start after xa_end is called.
- JDBC:  Fix to calculate length correctly for a double-byte clob locator.
- Object description:  Return LAST_USED_DATE as a Date type.
- Program call:  Fix for JTOpen bug 1426019:  Document library list behavior.
- RFML:  Added 'keyfield' attribute to RFML data element.
- System pool:  Added additional properties.
- System status:  Added additional properties.
- Trace:  Do not map THREAD category to a Java logging level.
</PRE>              
              
<HR>
<H3><A NAME="50">Fixes and enhancements in JTOpen 5.0</A> <i>(released 2006-01-16)</i></H3>
<PRE>
- <i>Various:</i> Eliminated potential NullPointerExceptions.
- Build: Include the AboutToolbox class in the native JAR.
- Data conversioon:  Updated mappings for certain characters.
- JDBC:  Added delimited name support. 
- JDBC:  Added 'XA loosely coupled support', 'keepAlive', 'sendBufferSize', and 'receiveBufferSize' connection properties.
- JDBC:  Eliminated possible hang in AS400JDBCConnection.cancel().
- JDBC:  Updated DatabaseMetaData.getMaxTablesInSelect() to return correct value by release.
- JDBC:  Added support for ALIAS table types.
- Job:  Eliminated possible division-by-zero error.
- RFML:  Eliminated possible division-by-zero error.
</PRE>  
  
<HR>
<H3><A NAME="49">Fixes and enhancements in JTOpen 4.9</A> <i>(released 2005-10-28)</i></H3>
<PRE>
- <i>Various:</i> J2SE 5.0 compatibility: Added append() method, required by Appendable; renamed variables named 'enum'.
- <i>Various:</i> Updated javadoc and code comments.
- Build: Removed Unix domain sockets from jt400.jar
- Build: Removed flawed check in build.xml for existence of 'cvs.exe'.
- Connection: Fixed JTOpen bug 1224014: PasswordExpirationDate inexact when NOMAX.
- Data conversion: Add Euro and Circled R.
- Data queue: Fixed garbage in sender information.
- FTP: Eliminated hang in get() if file member not found.
- IFS: Fixed 'File In Use' error from IFSFileReader and IFSFileWriter.
- IFS: Handle reading more that 16 megabytes of data.
- JDBC: Accept 'Character' instance as argument to PreparedStatement.setObject() when setting CHAR column.
- JDBC: Added 'char' to list returned by DatabaseMetaData.getStringFunctions().
- JDBC: Added support in AS400JDBCInputStream for mark/reset.
- JDBC: Avoid possible deadlock in AS400JDBCConnectionHandle.finalizer(). 
- JDBC: Check for null column descriptors in ResultSetMetaData.
- JDBC: Improved handling of delimited names.
- JDBC: Improved handling of return codes 438 and 443 from stored procedures.
- JDBC: Added 'ALIAS' to reported list of supported table type.
- JarMaker: Updated dependency list for 'IFS' component.
- Job list: Fixed JobList sort list field lengths.
- Message queue: Fixed divide by zero when list empty.
- Message queue: Fixed reply type in receive method.
- PCML: Corrected error message in case of insufficient input data.
- Print: Allow SpooledFile constucted with 5 attribute to behave like 8 attribute constructed if server version/release supports additional attributes.
- Print: Do not output SVF or SHF at start of each page unless application specifically sets by using method setHorizontalFormat() and setVerticalFormat().
- Print: Fixes to ISeriesPrinter and SpooledFileOpenList.
- QSYSObjectPathName: Selectively uppercase characters when composing *NAME values.
- RFML: Eliminated inaccurate precalculation of required byte array length.
- RLA: Improved description text in NumberFormatExceptions from AS400PackedDecimal and AS400ZonedDecimal.
- Trace: Added support for Java logging (JSR 47).
- User space: Added trace for file server QTEMP.
</PRE>

<HR>
<H3><A NAME="48">Fixes and enhancements in JTOpen 4.8</A> <i>(released 2005-06-20)</i></H3>
<PRE>
- <i>Various:</i> Call setThreadSafe() only if threadsafe property not set.
- <i>Various:</i> Javadoc fixes and enhancements.
- <i>Various:</i> Native method updates.
- Data conversion: Additional Bidi transform options.
- IFS: Tolerate quotes within filenames.
- JDBC: Added support for 2 MB SQL Statements, 128 byte column names, database host server trace, and added the query optimize goal property.
- JDBC: Allow TMRESUME on a start() request if the server supports it.
- JDBC: Allow a Timestamp to be retrieved from a TIME field.
- JDBC: Allow extended column descriptors to be returned for a stored procedure result set.
- JDBC: Allow retrieval of Aliases on a call to DatabaseMetaData.getTables().
- JDBC: Catch ExtendedIllegalArgumentException from AS400PackedDecimal.toBytes() or AS400ZonedDecimal.toBytes(); convert to an SQLException.
- JDBC: Catch StringIndexOutOfBoundsException when constructing a BigDecimal with a String.
- JDBC: Changed the Internal Driver Error to a Data Type Mismatch error in convertToRawBytes().
- JDBC: Fixed JTOpen Bug 1150395. Page backwards using relative() through a result set.
- JDBC: Fixed JTOpen Bug 1155804. Improved collection pool cleanup logic.
- JDBC: Pass the result set type to JDServerRowCache.
- JDBC: Removed the literal space from the strip function.
- JDBC: Reset data lengths and offsets based on the server format, if VLC compression was not used on a subsequent fetch.
- JDBC: Retrieve the most recently used connection from the pool.
- JDBC: Return VARCHAR for the Type Name and 12 for the type for a Long Varchar.
- JDBC: Send a zero length package name when we ask for a normal prepare.
- JDBC: Send empty Package name code point when doing a normal prepare and extended dynamic support is requested.
- JDBC: Turn auto-commit back on and set the commitment control parser option when an XA transaction is ended.
- Job: Added JOB_LOG_OUTPUT property.
- Job list: Joblist.load() hangs with certain selection criteria.
- Message queue: Fixed overflow in calculating receiver variable size.
- Print: Added print attribute ATTR_PUBINF.
- QSYS object types: Added new and missing object types.
- RLA: Added Record.getFieldAsBytes() methods.
- Resource: Deprecated package <tt>com.ibm.as400.resource</tt>
- System status: Added getters for 4 additional properties.
- System status: Added method getProcessorSharingAttribute().
- System value: Corrected data type for QTHDRSCAFN.
- Utilities: Deprecated class <tt>utilities.AS400ToolboxInstaller</tt>
- Vaccess: Deprecated package <tt>com.ibm.as400.vaccess</tt>
</PRE>

<HR>
<H3><A NAME="47">Fixes and enhancements in JTOpen 4.7</A> <i>(released 2005-02-25)</i></H3>
<PRE>
- <i>Various:</i> Deleted unnecessary static "Copyright" string.
- <i>Various:</i> Javadoc updates, including those reported by Jack Woehr.
- Connection: Added SecureAS400 constructor that takes a profile token.
- Connection: Added pluggable signon handler (SignonHandler).
- Connection: Attempt to detect and warn if multiple Toolbox versions on path.
- IFS: Deprecated confusing IFSRandomAccessFile constructor, added a better one.
- JDBC: Added a connect method.
- JDBC: Added support for variable length field compression.
- JDBC: Check for null SocketProperties before setting it on the AS400 object.
- JDBC: Do not resend isolation level if it is same as current value.
- JDBC: Fixed JTOpen Bug 4034. Use job CCSID if column label CCSID is 65535.
- JDBC: Fixed JTOpen Bug 4121.  See if command contains "SELECT" after uppercasing.
- JDBC: Fixed JTOpen Bug 4148. Always close PreparedStatement used to update row.
- JDBC: Make sure serverCommitMode_ always maps to the JDBC isolation level.
- JDBC: Output DISTINCT for TYPE_NAME of distinct column in DatabaseMetaData.getColumns().
- JDBC: Return column name from data format when there is no column label.
- JDBC: Send new isolation level for XA transactions.
- JDBC: Throw SQLException when convert to raw bytes, except in some cases.
- JavaApplicationCall: Added getCommandCall().
- Job: Fixed JTOpen bug 1143395. Update max library list size.
- Job: Throw exception when read-only value is specified on setValue().
- Message queue: Retrieve user's message queue instead of assuming default path.
- Object description: Added new method getValueAsString().
- Permission: Preserve leading/trailing blanks in filename.
- Print: Add ATTR_AUTOEND to attribute list.
- Print: Added getInputStream() that takes a PrintParameterList as a parameter.
- Print: Clarified that certain attributes are only available when a Writer is active to the Printer.
- Print: Method getAttributeName(): Add AT_READ_BUFFERS_SEQ.
- RFML: Fixed ArrayIndexOutOfBoundsException in RecordFormatDocument.toByteArray().
- RFML: Improved error message when RFML doc is missing header.
- RFML: Relocated excess-input check in setValues().
- RLA: Enable authentication to DDM server with a profile token.
- Security: CPF3C3C message from ProfileTokenCredential.
- Subsystem: Added Subsystem class.
</PRE>

<HR>
<H3><A NAME="46">Fixes and enhancements in JTOpen 4.6</A> <i>(released 2004-10-25)</i></H3>
<PRE>
- <i>Various:</i> Updated OS/400 and AS/400 references in comments, text.
- <i>Various:</i> Minor documentation updates.
- <i>Various:</i> Removed private getCopyright() method.
- Build: Updated readme to refer to build.xml.
- Build: Updated JDK level check in build.xml.
- Connection: Fixed localhost IllegalStateException. (AS400)
- Call stack: Added new class CallStackEntry.
- Data conversion: Fix mixed byte buffering problem. (ConvTableReader)
- FTP: Use separate thread to monitor ServerSocket when in "active" mode.
- IFS: Throw IOException instead of ClosedChannelException. (IFSFileInputStream)
- IFS: Changed name of directory created by IFSFileSystemView.createNewFolder().
- JDBC: Added check for locators when batching.
- JDBC: Set the socket properties on AS400 object before getting a connection.
- JDBC: Minor performance improvement. (JDProperties)
- JDBC: Added "rollback cursor hold" property to hold a cursor over a rollback.
- PCML: Eliminated performance bottleneck in PcmlDocument.
- Permission: Fixed filename character conversion bug.
- Print: Fixed JTOpen bugs 3686 and 3694.  NullPointerException when holding spooled file that is completed.
- Print: Added spooled file attributes ATTR_JOBCCSID, ATTR_JOBCCSID.
- Print: Spooled file save/restore.
- RLA: Synchronized incrementation of DCLNAME. (AS400FileImplRemote)
- User: Added setters to User class.
- User: Added V5R3 "local password management" property.
- User: Added ability to filter by name in UserList.
</PRE>

<HR>
<H3><A NAME="45_1">Fixes and enhancements in JTOpen 4.5.1 <i>(not announced publicly)</i></A></H3>
<PRE>
- <i>Various:</i> Updated OS/400 and AS/400 references in comments, text.
- <i>Various:</i> Added serialVersionUID where missing.
- Connection: Added ability to specify NLV on AS400.setLocale().
- Connection: Clarified javadoc for AS400.setLocale() method.
- Connection: Specified units for get/set methods of SocketProperties class.
- IFS: Added new classes IFSFileReader and IFSFileWriter.
- IFS: Upgraded IFSFileSystemView class to work with newer JDK's.
- IFS: Corrected behavior of IFSJavaFile.isAbsolute().
- JDBC: Fixed JTOpen Bug 4025.  Accommodate *LIBL not included in list_ array.
- JDBC: Fixed JTOpen Bug 4013.  Don't ignore "thread used" connection property.
- JDBC: Clarified javadoc: "cursor hold" only applies to commits, not rollbacks.
- JDBC: Added more toolbox trace support to data source interface.
- JDBC: Fixed proxy tracing.
- PCML: Added method ProgramCallDocument.serialize(OutputStream).
- Print: Added PrintObject attributes ATTR_DATE_END and ATTR_TIME_END.
- Save file: Added new component to represent "save files".
- Security: Removed unnecessary serializability from AS400Certificate* classes.
- System value: Added new system values.
</PRE>

<HR>
<H3><A NAME="45">Fixes and enhancements in JTOpen 4.5</A> <i>(released 2004-08-06)</i></H3>
<PRE>
- Data conversion: Tolerate multiple versions of Toolbox in classpath (ConvTable1200).
- FTP: Added support for active mode.
- IFS: Improved error messages in IFSFileImplRemote.
- IFS: Added method IFSFile.setCCSID().
- IFS: Fixed behavior of IFSFile.getFreeSpace().
- JDBC: Added new LOB locator support.
- JDBC: Added option to not fully close statement until transaction boundary.
- Job: Added method Job.loadInformation(attributes).
- Object description: Don't automatically uppercase library & object names.
</PRE>

<HR>
<H3><A NAME="44">Fixes and enhancements in JTOpen 4.4</A> <i>(released 2004-06-30)</i></H3>
<PRE>
- CommandHelpRetriever: Use relative column widths on syntax summary table.
- Connection: Decoupled JDBC and DDM from AS400 object, to improve effectiveness of AS400ToolboxJarMaker.
- Connection pool: Added getSystemNames(), getUsers(system), and getConnectedUsers(system).
- Connection pool: Fixed JTOpen Bug 3384.  (AS400ConnectionPool unnecessarily creates objects)
- Connection pool: Fixed JTOpen Bug 3863.  (NullPointerException when connection returned to pool)
- Data conversion: Fixed tables for CCSIDs 424, 862, 1200.
- Data conversion: Added ability to return Double objects instead of BigDecimal objects on toObject() calls.
- Data conversion: Allow BidiStringType.None as valid value.
- Data queue: Fixed proxy delete() method.
- Documentation: Various javadoc fixes, additions, and enhancements.
- IFS: Fixed JTOpen Bug 3722. (ClassCastException in IFSFileDescriptorImplRemote)
- IFS: Added IFSFile methods setPatternMatching(), getPatternMatching().
- JDBC: Miscellaneous minor enhancements.
- JDBC: Fixed JTOpen Bug 3605.  (Cleanup after failed creation of prepared stmt)
- JDBC: Fixed JTOpen Bug 3655.  (AS400JDBCConnectionPool.fill())
- JDBC: Fixed JTOpen Bug 3801.  (Check for null values from DatabaseMetaData.getTables())
- JDBC: Fixed JTOpen Bug 3818.  (Normalize DATE milliseconds)
- JDBC: Additional tracing activation method.
- JDBC: Performance improvement in SQL statement parsing.
- JDBC: Return "" for base table name if no column descriptors are returned.
- List: Check the 'list status indicator' returned by QGY* API's.
- Message queue: Fixed RMessageQueue string buffer problem.
- NetServer: Added getters to ISeriesNetServer for pending attribute values.
- PCML: Added ProgramCallDocument.getProgramCall().
- RLA: Performance improvements.
- RFML: Fixed JTOpen Bug 3953.  (Deserializing RecordFormatDocument)
- System value: Improved handling of invalid QDATE values.
</PRE>

<HR>
<H3><A NAME="43_1">Fixes and enhancements in JTOpen 4.3.1</A> <i>(released 2004-04-27)</i></H3>
<PRE>
- Build: Removed unnecessary -R option on checkout commands in build.xml.
- Connection: Added ability to pass GSS Credential to system object.
- FTP: Update lastMessage value more consistently.
- JDBC: Fixed bug that caused reduced performance and memory leakage.
- PCML: Removed unnecessary Xalan runtime dependency in PcmlSAXParser.
</PRE>

<HR>
<H3><A NAME="43">Fixes and enhancements in JTOpen 4.3</A> <i>(released 2004-04-02)</i></H3>
<PRE>
- Build: Added BidiConversionProperties to proxy jar.
- Build: Added SystemProperties.class to jt400Servlet.jar.
- CommandHelpRetriever: Added generateHTMLBytes() method.
- CommandHelpRetriever: Set charset to UTF-8 instead of ISO-8859-1.
- CommandHelpRetriever: Javadoc for generateHTML() now indicates the charset is UTF-8.
- Data conversion: Added constant BidiStringType.NONE.
- Data conversion: Fixed possible thread-safety issue with Bidi conversion.
- Data conversion: Various fixes and enhancements related to Bidi conversion.
- Data conversion: Added class BidiConversionProperties.
- Documentation: Various javadoc fixes, additions, and enhancements.
- IFS: Fixed bug in IFSFile.mkdirs().
- JDBC: DatabaseMetaData.getColumns(): Allow CHAR()/VARCHAR() FOR BIT DATA to be displayed instead of CHAR/VARCHAR.
- JDBC: Added check for server functional level before setting Ctl timeout and lock wait.
- JDBC: Added method AS400JDBCDriver.connect(AS400 system, boolean clone).
- JDBC: Catch exceptions in the finalize() methods in AS400JDBCStatement and AS400JDBCResultSet.
- JDBC: Allow binary string constants in the form of x'1234' and X'1234'.
- JDBC: Treat the first character in an odd-length String or char[] as the lower nibble of a byte instead of the last character.
- JDBC: Avoid optimization problem with JDK 1.3 BigDecimal.compareTo() method.
- JDBC: AS400JDBCResultSet.updateRow() now uses the base column name instead of the column label.
- JDBC: Changed SQLDBClobLocator.writeToServer() to use number of characters instead of number of bytes for the start offset.
- JDBC: Changed autoCommit to trueAutoCommit to align with connection string property "true auto commit".
- JDBC: JDBCProperties: Changed "bidirectional string type" to "bidi string type".
- JDBC: SQLResultSetTableModel: Removed beforeFirst() call since stored procedures might not return a scrollable cursor if one is requested.
- JDBC: AS400JDBCResultSet now returns null if a data mapping error occurs.
- JDBC: SQLResultSetTableModel will now output "++++++++++++++" when a data mapping error occurs.
- JDBC: Use BidiConversionProperties class instead on only Bidi string type.
- JDBC: Added two connection properties "bidi implicit reordering" and "bidi numeric ordering".
- Job: Return -1 on getQueuePriority() if job's status is *OUTQ.
- Job list: Trace a warning message if there are open enumerations returned by a JobList and the JobList is being closed.
- Job list: Invalidate all JobEnumerations created from a JobList which has been closed.
- Object description: Tolerate additional error message in exists().
- Print: Formdef is now handled on the server.
- Print: Maintain lowercase for certain attributes.
- Print: Retrieve AT_SYS_DRV_PGM attribute.  Added ATTR_CHR_RTT_CMDS attribute.
- RFML: Rethrow IOException as SAXException on call to DefaultHandler.resolveEntity(), for compatibility with the IBM JDK.
- RLA: Handle *NONE key field names in logical files.
- Spooled file: Retrieve ATTR_CHR_RTT_CMDS attribute.
- Spooled file: Don't retrieve ATTR_DATE_END or ATTR_TIME_END.
- User space: *SYSTEM domain was being sent to the server as *SYSTFM on a create().
</PRE>

<HR>
<H3><A NAME="42">Fixes and enhancements in JTOpen 4.2</A> <i>(released 2003-12-23)</i></H3>
<PRE>
- Build: Created task to insert copyright strings into JTOpen-built class files.
- Build: Added copyright strings to binary class files in CVS.
- Build: Added an IdentityToken stub since we currently cannot ship EIM with JTOpen.
- Connection: Support EIM "identity tokens" for authentication.
- Connection: Added serialVersionUID to SocketProperties.
- Connection: Added AS400.setDDMRDB() method to set the IASP/RDB to use for record-level access (RLA).
- Connection: Added AS400.getSocketProperties().
- Connection pool: Fixed bug #3727 - Don't synchronize the entire pool in order to get one connection out.
- Connection pool: Added socket properties.
- Connection pool: Allow null password.
- Connection pool: Set thread name on maintenance thread.
- Connection pool: Don't start maintenance thread if threadUsed is false.
- Data conversion: Added another variant of CharConverter.byteArrayToString() and stringToByteArray().
- Data conversion: Enhanced Bidi algorithms.
- Data conversion: Directly support CCSID 1208 (UTF-8).
- Data queue: Updates to allow user to write to a data queue without having read authority.
- HTML: Properly allow multiple options to be selected in a SelectFormElement.
- IFS: Fixed list attribute calls on files larger than 2 gigabytes.
- IFS: Changed VRM check.
- JDBC: Added a JDBC trace category; log to the Toolbox trace, log stream, and log writer separately.
- JDBC: Changed major driver version to 6.0.
- JDBC: Allow read-only sensitive cursors.
- JDBC: Changed exception text for data type mismatches on date, time, and timestamp types.
- JDBC: Support scrollable stored procedure result sets when the server does.
- JDBC: Get the long table names when calling getExportedKeys().
- JDBC: Support new auto-commit and commit levels provided by server.
- JDBC: Updated cursor sensitivity handling; use asensitive cursors as default for ResultSet.TYPE_SCROLL_SENSITIVE.
- JDBC: Added NTS support.
- JDBC: Use underlying column name when updating a row that has a column with an alias.
- JDBC: Minor performance improvements in statement batching.
- Job: Do not allow ELAPSED statistics constants to be retrievable attributes on JobList.
- NetServer: Deprecated NetServer* classes; replaced with new ISeriesNetServer* classes.
- NetServer: Added KERBEROS_OR_PASSWORDS authentication method constant.
- Open list: Added IPP attribute, job system name filter, and date filter to SpooledFileOpenList.
- Open list: Change STATUS_PRINTING constant for SpooledFileOpenList to match what the API expects (*PRINTER).
- Open list: Fixed null job system name on items in SpooledFileOpenList.
- Open list: Status filter on SpooledFileOpenList should have been a String array.
- PCML: Updated class loading scheme so PCML files can be found under Websphere and Eclipse.
- Permission: Updated the way object names and CL command strings are treated to handle NLS issues.
- Permission: Changed thread-safe settings on underlying CL commands so that they will work natively.
- Permission: Added setPrimaryGroup().
- Permission: Support Unicode object path names when the server does.
- Print: Added PrintObject.getSingleAttribute() methods.
- Product: Fixed user space error when calling getPTFs() natively.
- Program call: Fixed no program object with no message option.
- Proxy: Fixed ArrayIndexOutOfBoundsException in ProgramCall.
- PTF: Return message help of "None" for a status of NOT_LOADED.
- PTF: Fixed isPreReq() and isCoReq().
- Resource: Deprecated this package in favor of function in the access package.
- RLA: Updated record format field names to match output from DSPFFD.
- User: Added exists().
- User space: Updated to create with optimum alignment.
- Utilities: Added comment that specifies column widths for CommandHelpRetriever.
- Vaccess: Fix for checkboxes in AS400JDBCDataSourcePaneGUI under JDK 1.4.
</PRE>

<HR>
<H3><A NAME="41">Fixes and enhancements in JTOpen 4.1</A> <i>(released 2003-08-13)</i></H3>
<PRE>
- Build: Include build directory in src.zip.
- Build: Added xpcml.xsd to jt400.jar and jt400Native.jar
- Build: Added com.ibm.as400.access.list package.
- Build: Use old StringBuffer.append() method in RJobLog and HTMLDocument for compatibility with JDK 1.3.
- Comm trace: Added reverse.
- Connection: Open sourced AS400ImplRemote.
- Connection: Support extra GSS/Kerberos option of authentication for portlet environment.
- Connection: Catch socket properties exceptions when tracing is active.
- Connection pool: Moved inner classes to their own external definitions, to avoid possible JIT errors.
- Connection pool: Check for null in AS400JDBCConnectionPool.setDataSource().
- Connection pool: Ensure AS400 object is connected when it is retrieved from the pool.
- Data areas: Cleaned up implementation of subclass delete() methods.
- Data conversion: Added NLV mapping for zh_CN.
- Data conversion: Added getInstanceType() methods to AS400DataType classes for performance.
- Data conversion: Added CCSID 17584 (subset of 1200).
- Data conversion: Removed _en and _en_US resource bundles, they were a performance hit and are not needed.
- Data conversion: Added localeToNLV() methods on NLS class.
- Data conversion: Fixed AS400Text.toBytes() for CCSIDs 13488 and 61952.
- Data conversion: Made BinaryConverter.bytesToString() and stringToBytes() public.
- Directory entries: Default to USER_PROFILE, "*" when no selection IDs are added.
- Environment variables: Fixed problems with service program call.
- FTP: Use APPE instead of APPEND to work with non-OS/400 FTP servers.
- HTML: Throw exception if listener is null on form and table converters.
- IFS: Added copyTo() functionality.
- IFS: Added isSymbolicLink().
- Javadoc: Added doc-files subdirectories and updated references in all source parts.
- Javadoc: Added CCSID list and component list documentation, linked to from utilities.AS400ToolboxJarMaker.
- Javadoc: Minor updates to micro JDBC driver.
- Javadoc: Added example to JobList.addJobSelectionCriteria().
- Javadoc: Minor fixes to FTP classes.
- JDBC: Minor description string updates to AS400JDBCDataSourcePaneGUI.
- JDBC: Post data truncation warning when the database has a mapping error.
- JDBC: Perform case insensitive search for parameter indices to match the JDBC spec.
- JDBC: Pad with correct space character in CLOBs.
- JDBC: Fixed string index in CLOBs when locators are used.
- JDBC: Added loginTimeout and serverTraceCategories properties to data source.
- JDBC: Fixed translateHex property in data source.
- JDBC: Added materialized query table support.
- JDBC: Added static cursor support.
- JDBC: Throw data type mismatch when length on setBinaryStream() is greater than the stream length, except on locators.
- JDBC: Throw data truncation when length on setBinaryStream() is greater than the column size.
- JDBC: ResultSetMetaData.getTableName() now calls getBaseTableName().
- JDBC: Changed how cursor sensitivity is used.
- JDBC: Changed how output parameters are registered and retrieved.
- JDBC: Fixed proxy support for BLOBs and CLOBs.
- JDBC: Alias VARBIN and BINARY VARYING to VARBINARY.
- JDBC: Changed radix from decimal (10) to binary (2) on double, float, and real columns.
- JDBC: Support setting a URL for char and graphic columns.
- JDBC: Changed setBytes() to expect byte[].class instead of Byte.class.
- JDBC: Added proxy support for ParameterMetaData.
- JDBC: Set table name from first SELECT FROM TABLE only, in the case of a subquery.
- JDBC: Changes to how the default schema is added to the library list.
- Job: Return empty array when JobList length is 0.
- Messages: Added option to get the user who sent the message as well as the initial user of the job. 
- Messages: Fixed MessageFile.replaceText() to use the correct indices.
- Messages: Support more than 10 messages returned from a remote command or API call.
- NetServer: Added new ISeriesNetServer classes to replace the ones that relied on PCML/Resource framework.
- Object: Only call API on-thread if Toolbox property is set.
- Object: Added ObjectDescription.exists().
- Open list: Added new package com.ibm.as400.access.list.
- Open list: Added SpooledFileOpenList classes to use in place of regular SpooledFile classes for performance.
- PCML: Added support to PCML for XPCML, using XML schemas.
- PCML: Updated xsl and xsd definitions.
- PCML: Removed dependency on XML parser when using serialized PCML.
- PCML: Handle extendable elements in XPCML.
- PCML: Handle non-qualified transform file name.
- PCML: Support PCML/XPCML documents via an InputStream.
- Print: Added ISeriesPrinter class to use remote command server instead of network print server for performance.
- Print: Added more print attributes to print classes such as AFPResource and SpooledFile.
- PTF: Added getRelationship(), fixed pre-req and co-req methods.
- User: Added more constants.
- Utilities: Added AboutToolbox class to utilities package, to determine which version of jt400.jar is used.
- Utilities: Handle old and new tags in gencmddoc.
</PRE>

<HR>
<H3><A NAME="40">Fixes and enhancements in JTOpen 4.0</A> <i>(released 2003-04-30)</i></H3>
<PRE>
- Build: Compile with JDK 1.4 to eliminate dependencies, target JDK 1.1.
- Build: Updated manifest files with new JTOpen version number.
- Build: Removed PDML task; separated native optimization classes.
- Build: Added class files to repository to avoid SSLight as a build requirement.
- Build: Require JDK 1.4.1 to avoid javadoc and ToolboxME errors.
- Build: Changed SQLData classes to use a getter instead of overridden static to avoid Jikes issues.
- Build: Various javadoc fixes to pacify JDK 1.4.1 javadoc tool.
- Build: Removed calls to StringBuffer.append(StringBuffer) to avoid Sun compatibility issue across JDK levels.
- Command: Add product library to library list before refreshing panel group information.
- Command: Separated getXMLXXX() methods so as not to rely on system command information.
- Command call: Deprecated getJob() in favor of getServerJob().
- Connection pool: Changed ConnectionListEvent.getSource() to always return an AS400 object.
- Connection pool: Added synchronization; throw exception if PooledConnection is in use.
- Data conversion: CCSID 1200 is now UTF-16; CCSID 1202 is now little endian UCS-2.
- Data conversion: Fixed ArrayIndexOutOfBoundsException in ConvTableReader.
- Data conversion: Bidi strings are now padded before conversion algorithm is applied, instead of after.
- Data conversion: Changed packed and zoned decimals to have 63-digit maximum instead of 31.
- Directory entry: Fixed getMailServiceLevel().
- HTML: Support XSL-FO tags.
- HTML: Added FileListElement.list(HTMLTableConverter) method.
- Javadoc: Removed reference to AS400snameFormatter from CharConverter class.
- Javadoc: Fixed PTF.getIPLRequired().
- Javadoc: Fixed AS400ToolboxJarMaker link to Job class.
- Javadoc: Updated SpooledFile.
- Javadoc: Added javadoc regarding QTEMP.LIB to IFSFile.
- Javadoc: Corrected javadoc for DirectoryEntry.getCountry().
- Javadoc: Generate javadoc for com.ibm.as400.util.commtrace package.
- Javadoc: Handle com.ibm.as400.security.auth package.
- Javadoc: Fixed example in DirectoryEntryList.
- JDBC: Update counts now return SUCCESS_NO_INFO on a blocked insert.
- JDBC: Support ROWID column type.
- JDBC: Performance improvement to SQLData types - use integer type instead of instanceof.
- JDBC: Adjusted minimum divide scale property.
- JDBC: Binary types now support Strings of hexadecimal characters.
- JDBC: Workaround for JIT bug in JDk 1.3 while parsing SQL statements.
- JDBC: Changed to report correct maximum precision for various data types according to SQL Reference.
- JDBC: Changed Blob and Clob datastreams to use new host server truncation codepoint for writing.
- JDBC: Changed behavior of mixed case column names to ignore case unless surrounded by quotes.
- JDBC: Fixed NullPointerException in ResultSet.getBytes().
- JDBC: Changed DatabaseMetaData.supportsResultSetType() to return TYPE_SCROLL_INSENSITIVE.
- JDBC: Fixed data truncation bugs and warnings.
- JDBC: Removed limitation of 32K statements in batch.
- JDBC: Added AS400JDBCConnectionHandle.getServerJobIdentifier().
- JDBC: Trace LOB locator handles.
- JDBC: Support retrieving base table name for each column.
- JDBC: Allow length on setXXX(InputStream) methods to differ from actual amount of data in InputStream.
- JDBC: Added QAQQINI library name property.
- JDBC: Handle statements with missing closing parenthetical mark.
- JDBC: Additional tracing for server attributes.
- JDBC: Do extra validation of decimal position and scale properties.
- JDBC: Support 63-digit decimal precision; use UTF-16 for default client encoding.
- JDBC: Fixed typecast and max/min value bugs in SQLBigint.
- JDBC: Support unencoded passwords in a data source Reference object.
- JDBC: PreparedStatement now remains useable after a batch execute.
- JDBC: Trace property no longer turns off Toolbox trace when set to its default.
- JDBC: Handle scientific notation numbers that have no decimal point.
- JDBC: Properly calculate stream length for Unicode Readers.
- JDBC: Trace object ID in SQLExceptions.
- JDBC: Fixes for erroneous commas in SQL statements.
- JDBC: Many fixes for LOB support.
- JDBC: Work around Brazil time zone issue.
- JDBC: Issue warning when 1000 open statements are reached per connection.
- JDBC: AS400JDBCDataSource can now be constructed with an AS400 object.
- JDBC: Ensure LOB classes do not break JDBC 1.0 clients.
- JDBC: Literal prefix for binary strings changed to "X'" instead of "'".
- JDBC: Fixed DatabaseMetaData.supportsTransactionIsolationLevel().
- JDBC: Use 819 (ISO) instead of 13488 (UCS-2) in toAsciiStream().
- JDBC: LOB locators now write to the server when necessary.
- JDBC: Correctly handle LOB locators when executing batch statements.
- JDBC: Added "toolbox trace" property.
- JDBC: Fixed issues with running to a Toolbox ProxyServer.
- JDBC: Added properties for package CCSID, min divide scale, max precision, and max scale.
- JDBC: Avoid rounding errors when parsing big integers.
- JDBC: Issue data truncation warning on a read.
- Job log: Added writeMessage(boolean onThread).
- Messages: Updated tracing; avoid NullPointerException in AS400Message.getPath().
- Panel group: Changed help identifier constructor to not throw an exception if library/object name is blank.
- Panel group: Mark QUHRHLPT API as threadsafe.
- PCML: (Bug #3538) Use context class loader to avoid issues in Websphere.
- PCML: Serializing a PCML file now uses a BufferedOutputStream.
- Print: Extra message information added.
- Program call: Deprecated getJob() in favor of getServerJob().
- QSYS object types: Support TIMZON and PDFMAP.
- Security: Refreshed codebase from Toolbox LPP; open sourced.
- Security: Changes to authentication token generation.
- Servlet: Support XSL-FO tags.
- System value: Support QTHDRSCAFN and QTHDRSCADJ.
- User: Updated javadoc and synchronization in UserList.
- User space: Added constants; allow *USER.
- Utilities: Support specifying alternate panel group to retrieve help text in CommandHelpRetriever.
- Utilities: CommandHelpRetriever now generates UIM template source.
- Utilities: Changed space character generation in CommandHelpRetriever.
- Utilities: Gracefully handle CPF6250 messages in CommandHelpRetriever.
- Utilities: Fixed unnecessary dependencies on the JDBC classes by the AS400 object in JarMaker.
- Utilities: Made CommandHelpRetriever's output directory non-static.
</PRE>
<HR>
</BODY>
</HTML>