-
Notifications
You must be signed in to change notification settings - Fork 28
/
changes.html
1923 lines (1838 loc) · 109 KB
/
changes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
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
<HTML>
<HEAD>
<TITLE>JTOpen CHANGES</TITLE>
</HEAD>
<BODY>
<H2>IBM Toolbox for Java - JTOpen version</H2>
<PRE>
Copyright (C) 1997-2017 International Business Machines Corporation and
others. All rights reserved.
File: CHANGES
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>
<!-- 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>
<A HREF="#112">Fixes and enhancements in JTOpen 11.2</A><br>
<A HREF="#111">Fixes and enhancements in JTOpen 11.1</A><br>
<A HREF="#110">Fixes and enhancements in JTOpen 11.0</A><br>
<A HREF="#107_1">Fixes and enhancements in JTOpen 10.7.1</A><br>
<A HREF="#107">Fixes and enhancements in JTOpen 10.7</A><br>
<A HREF="#106">Fixes and enhancements in JTOpen 10.6</A><br>
<A HREF="#105">Fixes and enhancements in JTOpen 10.5</A><br>
<A HREF="#104">Fixes and enhancements in JTOpen 10.4</A><br>
<A HREF="#103">Fixes and enhancements in JTOpen 10.3</A><br>
<A HREF="#102">Fixes and enhancements in JTOpen 10.2</A><br>
<A HREF="#101">Fixes and enhancements in JTOpen 10.1</A><br>
<A HREF="#98">Fixes and enhancements in JTOpen 9.8</A><br>
<A HREF="#97">Fixes and enhancements in JTOpen 9.7</A><br>
<A HREF="#96">Fixes and enhancements in JTOpen 9.6</A><br>
<A HREF="#95">Fixes and enhancements in JTOpen 9.5</A><br>
<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>
<HR>
<H3><A NAME="112">Fixes and enhancements in JTOpen 11.2</A> <i>released 2023-03-05</i></H3>
<Pre>
AS400Text support char array
Clear sensitive data from memory
EnvironmentVariable support to set char array for setValue
Fix issues and Remove duplicate code.
Fix generate profile token issue.
JDBC: Internal Password Changes
JDBC: Rowset interfaces for char[] password
JDBC: XADataSource interfaces for char[] password
ProgramDocumentCall new method setCharArrayValue
ProgramDocumentCall new method setCharArrayValue Fix issue
Refactor SignonConverter
</Pre>
<HR>
<H3><A NAME="111">Fixes and enhancements in JTOpen 11.1</A> <i>released 2022-11-11</i></H3>
<Pre>
Add constructor AS400JDBCConnectionPoolDataSource(AS400)
Add new attribute boolean in pcml
Deprecate interfaces where password passed as a String
Fix AS400FTP issue when send user and password
Fix DDM connect issue for Lowest encryption algorithm is AES
Fix MemberDescription ten characters issue and need set ccsid for member name
Fix parse issue when non-ASCII characters in PCML
JDBC: Close network socket on error
JDBC: ConnectionPool do not error if setThreadUsed does not change setting
JDBC: javadoc updates
JDBC: Permit cancel when using seamless failover
JDBC: Update trace to include system name with RDB name
Set SECMEC value for password level 4 for DDM SECCHK Request
Support VARCHAR in PCML
Support to set socket timeout for FTP
Update copyright AH3 - AH5
Update URL for Toolbox Java doc
</Pre>
<HR>
<H3><A NAME="110">Fixes and enhancements in JTOpen 11.0</A> <i>released 2022-04-13</i></H3>
<Pre>
Fix Base64 issue for Java11
Fix MemberDescription convert issue
Include original exception in thrown exception
Generate profile token for password level 4
JDBC: Handle SQL7061 reason code 80 as blocked mirror system
JDBC: Support LocalTime,LocalDate,LocalDateTime
JDBC: Add connection property: tcp no delay
JDBC: Add connection property: tcp no delay
Support varchar when convert pcml to xpcml
</Pre>
<HR>
<H3><A NAME="107_1">Fixes and enhancements in JTOpen 10.7.1</A> <i>(not announced publicly)</i></H3>
<Pre>
JDBC: Report warnings from prepare
Misc: Code cleanup
NetServer: fix only show the first character of name.
Support password level 4
</Pre>
<HR>
<H3><A NAME="107">Fixes and enhancements in JTOpen 10.7</A> <i>(released 2021-09-10)</i></H3>
<Pre>
Fix CommandCall connection keeps alive after Job end().
Fix issue for Net server API updates.
Fix path name lower case issue for IFSFile functions.
JDBC:AS400JDBCArray fixes
JDBC:Fix float array conversion
JDBC:jdbcClient array fixes
JDBC:ResultSet update method fixes
JDBC:Type conversion fixes
NetServer API updates
Support to get password level
Support IFSFile open node request and response.
Support to get password level
Trace: Remove public read access from trace file
</Pre>
<HR>
<H3><A NAME="106">Fixes and enhancements in JTOpen 10.6</A> <i>(released 2021-03-30)</i></H3>
<Pre>
Conversion: CCSID 1379 Updates
Conversion: CCSID 1388 updates
Conversion: CCSID 5473 and 13676 support.
JDBC: avoid signon server if portNumber != 0
JDBC: Datasource: Do not validate setClientRerouteAlternatePortNumber and setClientRerouteAlternateServerName
JDBC: Datasource: Correct EnableClientAccessList
JDBC: Handle multiple warnings
JDBC: Miscellaneous fixes
JDBC: Proxy: Fix problem with using proxy and JDBC
PTF Requisite
Service program support 248 parameters
</Pre>
<HR>
<H3><A NAME="105">Fixes and enhancements in JTOpen 10.5</A> <i>(released 2020-10-10)</i></H3>
<Pre>
Conversion: CCSID 1379 support
Conversion: Various CCSID fixes
Findbugs fixes.
IFS Performance improvement
Support Create UserHandle2
As400Varchar converter
</Pre>
<HR>
<H3><A NAME="104">Fixes and enhancements in JTOpen 10.4</A> <i>(released 2020-06-30)</i></H3>
<Pre>
JDBC: Change JDConnectionPoolManager to use minPoolSize when reuseConnection is set
JDBC: Correct affinityFailbackInterval property
JDBC: setNetworkTimeout not supported when "thread used=true"
SignonConverter throw AS400SecurityException
</Pre>
<HR>
<H3><A NAME="103">Fixes and enhancements in JTOpen 10.3</A> <i>(released 2020-03-31)</i></H3>
<Pre>
Fix setTimeout does not work for SecureAS400
Fix set *NONE for *PUBLIC when remove authorized user
JDBC: Close JDBC connection when exit program prevents access.
JDBC: If possible, use job CCSID for default library attribute
JDBC: Do not truncate SIGNAL MESSAGE_TEXT
JDBC: Fix JDBC properties documentation
</Pre>
<HR>
<H3><A NAME="102">Fixes and enhancements in JTOpen 10.2</A> <i>(released 2019-12-31)</i></H3>
<Pre>
Add exist() function for JobDescription
Conversion: Refresh CCSID 13488 table
Fix Potential data integrity issue when setCCSID for a file
Fix setting *NONE for *PUBLIC when checking user profile object authority
JDBC: Additional tracing for AS400JDBCConnectionRedirect
JDBC: Fix lost parameters for PreparedStatement after Connection redirect
JDBC: Fix Connection.abort
JDBC: Fix cancel processing
PortMapper: Use socket properties for port mapper connection
Support to retrieve Job Queue information
Support to retrieve routing data entry from subsystem
</Pre>
<HR>
<H3><A NAME="101">Fixes and enhancements in JTOpen 10.1</A> <i>(released 2019-09-30)</i></H3>
<Pre>
- AS400 validateSignon timeout for DB2M
- build: Javadoc get version from Copyright.java
- Fix stripping leading spaces from message text
- JDBC: Add thread safety for alternate server connections
- JDBC: Allow blocking of locators
- JDBC: Connect using port to system with password level 2
- JDBC: Support errors from commit
- JDBC: Db2 Mirror for i (5770-DBM) documentation updates
- JDBC: Update JDBCProperties.html
- Javadoc clarification
- javadoc fixes
- Listener fixes
- Return technology refresh PTF value, ARE requirement.
- Show Technology refresh PTF for PTF
</Pre>
<HR>
<H3><A NAME="98">Fixes and enhancements in JTOpen 9.8</A> <i>(released 2019-04-05)</i></H3>
<Pre>
- Check *PUBLIC when check user profile object authority
- Check the connection status before close the list.
- Fix AS400Timestamp exception when timestamp length < 26
- Fix PcmlDocumentDescription timeout nullpoint issue
- Fix same ptfs are returned for different PTF groups
- IBM i support for Japanese new era
- JDBC: affinity failback interval
- JDBC: alternate server fixes
- Javadoc clarification
- Support for Japanese new era
- Support to delivery timeout from ProgramCallDocument to ProgramCall
- Translation: fixes for CCSID 918, 1097, 1371
- Translation: Truncation fixes, CCSID 930 fixes, and CCSID 1175 support
</Pre>
<HR>
<H3><A NAME="97">Fixes and enhancements in JTOpen 9.7</A> <i>(released 2018-12-21)</i></H3>
<Pre>
- Fix incorrect time zone returned.
- JDBC: Fix looping when mixed character truncation occurs during batch insert
- JDBC: Fix stored procedure call with null and array parameters
- JDBC: For character truncation=none, do not insert invalid mixed CCSID strings
- JDBC: Updated com.ibm.as400.util.UpdateACSJar utility
- JDBC: request alternate server from host
- JDBC: alternateServer fixes
- Support ASP API
- Translation: Truncation fixes, CCSID 930 fixes, and CCSID 1175 support
- Translation: correct fault tolerant conversion
</Pre>
<HR>
<H3><A NAME="96">Fixes and enhancements in JTOpen 9.6</A> <i>(released 2018-10-05)</i></H3>
<Pre>
- AS400JPing: Set socket timeout to prevent hang on read
- Conversion: Return substitution character if mixed ccsid buffer ends with half a character
- JAVADOC improvements
- JAVADOC: Fix JDBC property "query optimize goal" default value
- JDBC: Add parameter number to DATA_TYPE_MISMATCH exceptions
- JDBC: Added com.ibm.as400.util.UpdateACSJar utility
- JDBC: Correct JDBCProperties javadoc
- JDBC: Fix AS400JDBCXAResource tracing
- JDBC: Fix SET CONNECTION with prepared Statements
- JDBC: Fix common table expressions and updatable result sets.
- JDBC: Fix problem with small SQLCA
- JDBC: Fix tracing
- JDBC: Preserve parameters for Client Affinities
- JDBC: Updated com.ibm.as400.util.UpdateACSJar utility
- JDBC: add {fn jtopeninfo()} support
- JDBC: enableSeamlessFailover property
- JDBC: jdbcClient XID support
- JDBC: jdbcClient fixes
- JDBC: maxRetriesForClientReroute and retryIntervalForClientReroute properties
- JDBC: Fix JDBC properties documentation
- JDBC: Preserve special registers for enableClientAffinitiesList
- JDBC: Remove obsolete JDBC 2.0 references
- JDBC: enableClientAffinitiesList fixes
- JDBC: enableClientAffinitiesList property
- JDBC: seamless failover changes
- JDBC: seamlessFailover fixes
- JDBCClient: Handle common table expressions as query
- JDBCClient: fix PRINTSTACKTRACE and reflection error messages
- JDBCClient: fix dispResultSet output
- JDBCClient: various fixes
- JDBCClient: Update ClientXid
- JDMRI2 changes
- To toUpperCase(Locale.ENGLISH) user id for some Turkish specific characters
</Pre>
<HR>
<H3><A NAME="95">Fixes and enhancements in JTOpen 9.5</A> <i>(released 2018-02-09)</i></H3>
<Pre>
- Conversion: Fix ConvTable4396
- Conversion: Fix various ccsid conversions to match host conversions
- Correct ObjectList javadoc
- Depreciated utilities package
- Free user handle
- JDBC: Correct Array Index Out of Bounds caused by empty password
- JDBC: Fix detection of UTF-8 parameter truncation
- JDBC: Handle java.version for Java 9
- JDBC: portNumber property
- JDBC: Provide methods to get CCSIDs for Columns and Parameters
- Misc: Testability improvements
- Update setIASPGroup javadoc
</Pre>
<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: Cancel not supported when running locally
- 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
- 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 & 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.