forked from jython/frozen-mirror
-
Notifications
You must be signed in to change notification settings - Fork 2
/
NEWS
1654 lines (1523 loc) · 85.6 KB
/
NEWS
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
Jython NEWS
For more details, please see https://hg.python.org/jython
Jython 2.7.1rc
Bugs fixed
- [ 2417 ] os.utime fails on UNC network paths
- [ 2416 ] os.system does not use changes to os.environ in subprocesses
New Features
- Use latest upstream bundled wheels for ensurepip: pip (7.1.2), setuptools (18.4),
replacing wheels patched specifically for Jython
Jython 2.7.1b2
Bugs fixed
- [ 2396 ] test_threading and others fail under Cygwin (sys.executable).
- [ 2397 ] test.test_os_jy fails on Windows due to non-byte PyString.
- [ 2405 ] os.getpid() is missing (JNR JARs updated).
Jython 2.7.1b1
Bugs fixed
- [ 1423 ] Circular imports no longer cause RuntimeError.
- [ 2310 ] test_import runs on Windows (and passes with 4 skips).
- [ 2347 ] failures in test_import_pep328 when run with -m
- [ 2158, 2259 ] Fixed behaviour of relative from ... import *
- [ 1879 ] -m command now executes scripts from inside a jar file
- [ 2058 ] ClasspathPyImporter implements PEP 302 get_data (and others)
- [ 2364 ] bytearray and str: isalpha(), isupper() etc. now match Python 2
Jython 2.7
same as 2.7rc3
Jython 2.7rc3
Bugs fixed
- [ 2311, 2319 ] Many compatibility fixes for launcher (bin/jython, bin/jython.exe)
- [ 2332 ] jython -m test.regrtest -e now finds the tests it should
- [ 1572 ] sys-package-mgr console messages silenced by default. Thanks to Emmanuel Jannetti.
- [ 2327 ] Tests in org/python/tests/imp run only with proper path
- [ 2105 ] Fix inconsistent conversion of PyObject to String in StdoutWrapper
- [ 1795 ] Support both subclassing from Java in a Python class and a Python implementation of __tojava__
- [ 1861 ] Fix threading.Lock to support non-reentrant semantics
- [ 2323 ] Fixes pickling issues in object.__reduce__ and cPickle.{load, loads}
- [ 1540 ] Fix stack overflow due to how proxies for Java classes resolve super method in Java
- [ 2325 ] Enable piping input into Jython without getting extraneous prompt output
- [ 2324 ] Fix index computation for StringBuilder after seek back in cStringIO
- [ 2171 ] Fixed direct calls to __pow__() on int, long and float with a modulo of None
- [ 2326 ] Java's weakly consistent iteration of ConcurrentMap is compatible with mutation
- [ 2322 ] Refreshed several networking modules from CPython 2.7.9 due to CVE-2013-1752
- [ 1670 ] Added automatic type coercion of decimal.Decimal to java.lang.{Double, Float}
- Pull in hand coded AST work into code gen in asdl_antlr
- [ 2307 ] Fixed normalization of paths on Windows
- Module tempfile now returns temporary directory in proper case (See also CPython issue 14255)
- Faster extended slice deletion in bytearray.
- [ 2304 ] Fixed __module__ missing from functions in the time and operator modules
Jython 2.7rc2
Bugs fixed
- [ 2301 ] time.strftime now always returns a bytestring (fixes pip on Japanese locales)
- [ 2297 ] Updates Jython installer to use jython.exe
- [ 2298 ] Fix setuptools wheel bundled by ensurepip so it checks for Windows on Jython
- [ 2300 ] Fix bin/jython.py to not consume subcommand args
New features
- Installer installs pip, setuptools by default, but custom builds can de-select.
Does not change standalone usage. (Runs jython -m ensurepip as last install step.)
- Makes jython.py be the default launcher (as bin/jython) if CPython 2.7 is available.
Removed support
- Installer no longer supports using an alternative JRE when generating Jython launchers.
Instead just use JAVA_HOME environment variable to select the desired JRE.
(Removed because of the new native launcher, jython.exe, that is now used on Windows.)
Jython 2.7rc1
Bugs fixed
- [ 1793 ] Fix relative seek in read/write mode via a non-buffered readinto() method
- [ 2282 ] Speed up startup with compiled $py.class files included for standalone, full jars
- [ 1371, 2283, 2296 ] More robustness wrt security managers, python.home, import of non-ascii names
- [ 2068 ] Use position(long) setter to manually update file channel's position post-write.
- [ 2288 ] Posix link and symlink support now uses NIO2
- [ 2120 ] Use Java instead of JNR for os.chmod, os.mkdir when running on Windows
- [ 2226 ] Matches CPython's re support of what counts as a Unicode whitespace codepoint
- [ 1725 ] Speed up re matching by not executing SRE_STATE#TRACE in the sre regex engine
- Exceptions with non-ascii args should not cause an exception when displayed on console
- [ 2274 ] Remove Jython-specific pythonpath, test_pythonpath; update pwd to support unicode
- [ 2289 ] Ensure core types are Serializable, specifically PyUnicode
- [ 2272 ] Generalize adding special slots (__dict__, __weakref__); adds support for Werkzeug
- [ 2280 ] Avoid deadlock at shutdown with synchronization of PySystemStateCloser, FinalizeTrigger
- [ 2275 ] Upgrade JLine to support keyboard layouts using AltGr (such as Finnish) on Windows
- Improve robustness of socket and SSL support, especially error handling
- time.sleep(0) should always attempt to yield CPU
- [ 2271 ] Restore __tojava__ to datetime.{date, datetime, time} classes
- [ 2084, 1729 ] Robust handling of sun.misc.Signal exceptions across various JVM implementations
- [ 2189 ] Add java_user scheme to support user directory installs
- Fix Popen._internal_poll so that it does not race with java.lang.Process finalization
- Fix reflection-based garbage collection traversal for CPython compatible gc semantics
- [ 1491 ] Windows launcher now uses jython.exe (built with PyInstaller) instead of jython.bat
This means that pip, nosetests, yolk, and other installed tool scripts finally work on Windows
New features
- Can add a __dict__ slot descriptor to a subclass of Java classes, such as java.util.HashMap
- Directly execute zip files or dirs with top level __main__.py to support wrapper scripts
generated by distlib, part of pip
- Reflection-based traversal is now activated by default as a fallback for ordinary traversal.
This impacts third-party extenders of PyObject. A warning is emitted that suggests next steps
on how to avoid this cost.
- Uses classpath wildcard in jython.py/jython.exe to minimize the launcher command line,
(main benefit is Jython developers on Windows using dev builds)
- Adds new Jython launcher written in Python, bin/jython.py, to be run by CPython 2.7
Jython 2.7b4
Bugs Fixed
- [ 2032 ] Fixed typo in compiler/pycodegen.py
- [ 2190 ] Raise ValueError when unichr() is called with isolated surrogate codepoint
- [ 1057 ] Finalizer support (__del__) for new style classes
- [ 2192 ] Server requests were hanging using jython, django and django-jython
- [ 2204 ] Minimum (core) install will now suport Jython console
- [ 2184 ] inspect.callargs, including anonymous tuples in function params
- [ 2100 ] Fix deficiencies in PyUnicode beyond the BMP
- Fix bug in supporting meta path importers for six
- [ 2183 ] Rework function attributes support
- [ 2115 ] Allow bound methods as arg for single method interface param
- [ 2163 ] Refactor Py, PySystemState to init constants early
- [ 2217 ] Update serial release to 3 for sys.version_info
- [ 2090, 1494 ] Behaviour of long in the JSR-223 engine
- [ 2196 ] Do not emit duplicate entries in building standalone jar
- [ 1708 ] Ensure regrtest runs in a C locale to avoid failures
- [ 2037 ] Prevent non-byte values appearing in str()
- [ 2205 ] Guard via module import lock all entry points from Java into import
- [ 1631 ] Fully proxy java.util.Map objects as Python dicts
- [ 2215 ] Fully proxy java.util.List objects as Python lists
- [ 2242 ] select.select and related socket.connect_ex fixes
- [ 2241 ] Fully proxy java.util.Set objects as Python sets
- [ 2239, 1825 ] os.getenv, os.listdir may return unicode instead of bytes
- [ 2110 ] Update Java Native Runtime jars
- [ 2236 ] Interactive parser does not accept try ... except E as e: syntax
- [ 2232 ] Visit class decorators when visiting class def in scopes compilation
- [ 2247 ] dict.pop should not add additional quoting in KeyError
- [ 2238 ] os.system now uses a simpler wrapping of ProcessBuilder
- [ 1561 ] Raises NotImplementedError if abstract method from Java is not implemented
- [ 2221 ] Implement Popen.pid
- [ 2150 ] Fix regrtest to support -x to exclude tests
- [ 1152612 ] All dict methods for __dict__ except views
- [ 1762054 ] Add webbrowser module
- [ 2252 ] Args in sys.argv are now unicode if characters > 127
- [ 2092 ] Upgrade to JLine2 and add tab completion support
- [ 2236 ] Interactive parser does not accept try ... except E as e: syntax
- [ 2237 ] Fully conformant math and cmath support
- [ 2244 ] More robust testing of math and cmath modules
- [ 2224 ] id(...) now persists object resurrection and a pattern is provided to solve similar issues
(i.e. attributes bound to a PyObject via a WeakHashMap) in an analogue way (See JyAttribute.java).
New features
- Full support of Python buffer protocol, along with Java ByteBuffer support
- Add index to PyUnicode facilitating O(1) access to strings beyond the BMP.
- java.util.{Map, List, Set} are now treated as subclasses of the
corresponding Python abstract base classes
- jythonlib module to simplify usage of Java internals from Python;
weakref collections now directly use corresponding collections from
Google Guava and java.util
- CPython's _json.c was ported to Java to speed up JSON encoding/decoding
- Upgraded third party libraries
- Initial support for ensurepip module
- Callbacks can be registered/unregistered to be notified when
bytecode is loaded, using jythonlib.bytecodetools
- Jython now features an optional, but recommended-to-implement traverseproc-mechanism
like CPython. This enables some new gc-features to optionally emulate CPython-specific
gc-behavior. See doc in gc.java and Traverseproc.java.
Potentially backwards breaking changes, removing silent errors:
- remove method on proxied List objects now follows Python
sematics: a ValueError is raised if the item is not found in the
java.util.List. In the past, Java semantics were used, with a
boolean returned indicating if the item was removed or
not. Given how this interacted with Jython, such remove
invocations were in the past silent, and perhaps were actually a
bug.
- d[key_not_present], if d implement java.util.Map, no longer
returns None, but raises KeyError, which means this behavior now
matches standard dict semantics.
- Abstract methods of an inherited class or interface from Java now raise
NotImplementedError, instead of returning None (in Java, null) or some
"zero", if they are not implemented in the extending Python class.
- os.getenv, os.listdir, sys.argv now return unicode instead of
str values if a given value is not ascii, thus allowing such
values to be passed through to Java, eg
java.io.File(sys.argv[1]). Earlier such behavior was potentially
silently failing in Python functions, but passing through to
Java because of bug 2037. This behavior conforms with Python
3.x, which uses Unicode.
Jython 2.7b3
Bugs Fixed
- [ 2225 ] Jython+django-jython - no module named site
- [ 1497 ] ast classes do not have appropiate base classes
- [ 1980 ] ast.Eq, ast.Gt, ast.GtE, ast.In, ast.Is, ast.IsNot, ast.Lt, ast.LtE, ast.NotEq and ast.NotIn should be subclasses of ast.cmpop
- [ 1981 ] ast.And and ast.Or should be subclasses of ast.boolop
- [ 2130 ] Fix max such that any raised ValueError uses the correct error message text
- [ 2180 ] default encoding is not UTF-8
- [ 2094, 2147, 2174 ] Fix bugs in select.poll, threadpool group closing, and SSL handshaking
- [ 2178 ] Update Apache Commons Compression to 1.8.1 for jar-complete builds
- [ 2176 ] Fix bz2.BZ2File.read so it reads the number of requested bytes
- [ 2028 ] Implement unicode._formatter_parser and unicode._formatter_parser
- [ 1747 ] Synchonize runClosers upon shutdown
- [ 1898 ] Support subprocess termination vs terminate/kill methods
- [ 2096 ] Fix subprocess construction such that handles are inherited if not set
- [ 2123 ] Preserve original name of console encoding
- [ 1728 ] Make PyDictionary#equals() more robust, similar to PyTuple and PyList
- [ 2040 ] Ensure that bz2 decompression has enough data to decode
- [ 2146 ] Fix xrange compliance
- [ 1591 ] Interactive interpreter stuck on '...' loop
- [ 1982 ] Modify enumerate such that it can it work with arbitrarily long integers
- [ 2155 ] Enable IP address objects to be used as tuples
- [ 1991 ] Subclassed itertools classes can now chain, and be iterated by Java code
- [ 2062 ] os.write accepts objects having the buffer API
- [ 1949 ] Update collections.deque to 2.7 compliance, and is now threadsafe
- [ 1066 ] Add CJK codecs, as well as other codecs available in Java but not in Jython directly
- [ 2112 ] time.strptime now uses _strptime.py
- [ 2123 ] Use Java codec throughout parser (not sometimes a Python one)
- [ 2078 ] Fix tuple creation for inet6 addresses, and support for bound inet4 socket local address
- [ 2088 ] Fix defaultdict so that derived classes __missing__ methods are not ignored
- [ 2108 ] Cannot set attribute to instances of AST/PythonTree (blocks pyflakes)
- [ 1982 ] builtin function enumerate() should support an optional 'start' argument
- [ 1896215 ] findResource(s) for SyspathJavaLoader
- [ 2140 ] Raise ValueError on args of invalid domain for math.sqrt, math.log
- [ 2119 ] Updated *Derived.java classes as generated by src/templates/gderived.py.
- [ 2087 ] Updated defaultdict to use LoadingCache idiom instead of deprecated ComputingMap
- [ 2133 ] Fix memory leak by doing computed loads only with __getitem__ in defaultdict
- Full bz2 support
- Fix the struct module so that struct.Struct class can be derived from.
Work on resource cleanup
- RefReaperThread is now a Runnable to avoid ClassLoader resource leaks
- ShutdownCloser is now a Runnable to avoid subclass audit issues under a SecurityManager
- Remove shadowing of mutable statics in PySystemState, instead make them instance variables
- Fix PySystemState such that it supports AutoCloseable, Closeable
Potentially backwards breaking changes
- Fix ThreadState so that Jython runtime can be unloaded, using Object[1] indirection
- Use weakkey/weakvalue when caching ThreadState for a given thread, instead of using ThreadLocal
- recursion_count is now more approximate, because not all entry/exit pairs are tracked
- By default, site module is imported when using PythonInterpreter
Use -Dpython.import.site=false (as of RC1) to not import site at all
New Features
- Added socket reboot work, using Netty 4 to fully support socket, select, and ssl API
Jython 2.7b2
Bugs Fixed
- [ 1753 ] zlib doesn't call end() on compress and decompress
- [ 1860 ] test failures in test_array.py
- [ 1862 ] cStringIO does not support arrays as arguments
- [ 1876 ] PYTHONIOENCODING unsupported, used (among others) by PyDev
- [ 1926 ] Adjust MutableSet.pop test so we do not need to skip it
- [ 1964 ] time.strptime() does not support %f in format
- [ 2005 ] threading.Event object's wait([timeout]) function returns null instead of True/False.
- [ 2013 ] %x hex formatting takes O(N^2) time.
- [ 2020 ] str.translate should delete characters in the second arg when table is None
- [ 2027 ] Discrepancy in bin(-num) output
- [ 2033 ] test_strptime fails: test_mar1_comes_after_feb29_even_when_omitting_the_year
- [ 2046 ] sys.stdin.readline() hangs when used interactively (JLine, Windows)
- [ 2060 ] Thread ident missing
- [ 2071 ] datetime strftime %f does not work
- [ 2075 ] Incorrect padding for hex format strings
- [ 2082 ] Unexpected (Pdb) prompt during regression tests
- [ 2083 ] os.unlink() can delete directories
- [ 2089 ] sys.stdout not flushed after sys.exit
New Features
- Command line option -E (ignore environment variables)
- Environment variable PYTHONIOENCODING, and corresponding registry items
Removed support
- No longer supports Java 6; the minimum version is now Java 7
Jython 2.7b1
Bugs Fixed
- [ 1716 ] xrange slicing raises NPE.
- [ 1968 ] Fixes for test_csv.py.
- [ 1989 ] condition.notify_all() is missing.
- [ 1994 ] threading.Event doesn't have is_set method fixed.
- [ 1327 ] ThreadState needs API cleanup work
- [ 1309 ] Server sockets do not support client options and propagate them to 'accept'ed client sockets.
- [ 1951 ] Bytecode Interpreter stack optimization for larger arguments
- [ 1894 ] bytearray does not support '+' or .join()
- [ 1921 ] compiler module broken in Jython 2.7
- [ 1920 ] Backport CO_FUTURE_PRINT_FUNCTION to Lib/compiler/pycodegen.py
- [ 1914 ] Float formatting broken in many non-English locales in Jython 2.7
- [ 1909 ] attrgetter does not parse dotted attributes
- [ 1924 ] Implement operator.methodcaller
- [ 1934 ] Break itertools.compress into a separate class
- [ 1933 ] Break itertools.cycle into a separate class
- [ 1932 ] Make check for iterability in chain() arguments lazy
- [ 1931 ] Check that there are exactly 2 filter args
- [ 1913 ] Support short -W options
- [ 1897 ] 2.7.0ax only has partial ssl support
- array_class in jarray module returns the "Array of a type" class
New Features
- bytearray complete
- a buffer API
- memoryview
- bz2 module
Jython 2.7a2
- [ 1892 ] site-packages is not in sys.path
Jython 2.7a1
Bugs Fixed
- [ 1880 ] Sha 224 library not present in Jython
Jython 2.5.4rc2
Bugs Fixed
- [ 2017 ] jython.bat script pollutes environment! (variables)
- [ 1899 ] Fix to platform.py to correctly avoid a warning message on Windows.
- [ 1988 ] API for threading.condition fails to accept *args for acquire
- [ 1753 ] zlib doesn't call end() on compress and decompress
- [ 1971 ] platform.py - 'NoneType' object has no attribute 'groups'
- [ 1988 ] API for threading.condition fails to accept *args for acquire
Jython 2.5.4rc1
Bugs Fixed
- [ 1936 ] JBoss 7, vfs protocol in use for jarFileName in PySystemState.
- [ 1972 ] jython 2.5.3 sys.stdin.readline() hangs when jython launched as subprocess on Mac OS X.
- [ 1962 ] Interactive console in Jython 2.5.3 needs CRTL-D to execute command.
- [ 1676 ] NPE in defaultdict
- [ 1481 ] jython throws java.lang.IllegalArgumentException instead of ValueError.
- [ 1716 ] xrange slicing raises NPE.
Jython 2.5.3rc1
Bugs Fixed
- [ 1952 ] __import__(): Handling of non-dict globals argument incompatible with CPython
- [ 1900 ] Python imports from Java cause some Python imports to fail
Jython 2.5.3b3
Bugs Fixed
- [ 1754 ] modjy does not provide appropriate wsgi.input file-like object
Jython 2.5.3b2
Bugs Fixed
- [ 1908 ] Patch for 'Unmapped exception: java.net.NoRouteToHostException'
- [ 1871 ] Relative import in module gets imported to top level (regression)
- [ 1854 ] set().pop() race condition
- [ 1730 ] functools.partial incorrectly makes __doc__ property readonly
- [ 1537 ] expat: org.python.apache.xerces.parsers.SAXParser
- [ 1268 ] SAX parsers wants to load external DTDs, causing an exception
- [ 1805 ] threading.Thread always gets name "Thread" instead of a discriminating one
- [ 1866 ] Parser does not have mismatch token error messages caught by BaseRecognizer
- [ 1837 ] gderived.py and template Ant target fail on Windows
- [ 1536 ] NPE in org.python.jsr223.PyScriptEngine:187
- [ 1640 ] cStringIO does not complain on getvalue after close
- [ 1721 ] NPE when using JSR 223 (TestCase+Patch)
- [ 1749 ] function descriptor doesn't work in interactive console
- [ 1816 ] Jython Interactive Console makes system beep noise too much
- [ 1829 ] test_socket.py failing on Ubuntu (Oneiric)
- [ 1844 ] bad host returned by getsockname
Jython 2.5.3b1
Bugs Fixed
- [ 1835 ] s/occured/occurred/ :)
- [ 1727 ] Error in Jython 2.5.2 with os.stat and varargs
- [ 1735 ] return type of os.read is unicode, not str
- [ 1755 ] os.utime('/tmp/nonexistent-file', None) fails to raise OSError
- [ 1768 ] sax.parse doesn't handle attributes with name 'id' correctly
- [ 1803 ] _tcpsocket doesn't have 'family' attribute
- [ 1804 ] _tcpsocket doesn't have 'type' and 'proto' attributes
- [ 1809 ] socket.getaddrinfo sometimes returns an object that crashes in __str__
- [ 1811 ] Recursive import bug w/ SQLAlchemy 0.7.3
- [ 1819 ] Incorrect handling of Java object toString methods returning null
- [ 1824 ] os.link() can silently fail
- [ 1825 ] EnvironmentError.filename is `str` even if original name is `unicode`
- [ 1828 ] Problems inheriting from long
- [ 1833 ] Trouble passing Python objects through a Java class back to Python
Jython 2.5.2
same as 2.5.2rc4
Jython 2.5.2rc4
Bugs Fixed
- [ 1667 ] thread.local subclasses with constructor params fail
- [ 1698 ] warnings module fails under JSR-223
- [ 1697 ] Wrong error message when http connection can not be established
- [ 1210 ] Lib/socket.py doesn't allow IPv6 sockets and fails with an AssertionError
- [ 1700 ] "virtualenv is not compatible" to 2.5.2rc3
- [ 1701 ] Files are not flushed properly when opened from the EDT (partial fix)
New Features
- The socket module now includes ipv6 support
- The socket module now also includes Internationalized Domain
Names (RFC 3490) support on Java 6
Jython 2.5.2rc3
Bugs Fixed
- [ 1674 ] PDB crashes under the JSR-223 scripting engine
- [ 1680 ] jython -c option is not parsed right
- [ 1681 ] JSR-223, Jython 2.5.2 and implementing Java Interfaces from Python
- [ 1675 ] Jython exits prematurely when executing a file, thus killing Swing windows
- [ 1682 ] exit code of 0 on unhandled exception
- [ 1668 ] strptime('','') works on cpython but not on jython
- [ 1693 ] Unicode sys.path elements cause UnicodeErrors on import
Jython 2.5.2rc2
Bugs Fixed
- [ 1665 ] cPickle calls __import__ with illegal parameters
- [ 1628 ] getpass.getpass echoes input
- Fix logic to detect that a console is interactive (related to #1133)
Jython 2.5.2rc1
Bugs Fixed
- [ 1133 ] Support ipython and other completers with readline emulation
- [ 1642 ] JSR223 PyScriptEngine#getInterface returns a NPE when called with zero args
- [ 1662 ] time.strptime does not use Java date format strings properly
- [ 1543 ] PyArray fails to clean up pre-allocated space
- [ 1661 ] Error at on exit in TCC/LE
- [ 1639 ] JBoss 5, vfszip protocol in use for jarFileName in PySystemState
- [ 1660 ] threading module memory leak
- [ 1452 ] pydoc help() function fails because sys.executable is None in stand-alone Jython
- [ 1568 ] sys.stdout.encoding returns wrong value in Windows with Jython 2.5.1 (fixed on Java 6 only)
- [ 1647 ] zxJDBC does not handle NVARCHAR
- SocketServer module now supports ephemeral server ports (by using port 0); see discussion for #1660
Jython 2.5.2b2
Bugs Fixed
- [ 1327 ] Classloaders cannot GC, which exhausts permgen (partial bug fix)
- [ 1604 ] PyBuiltinCallable.Info should be serializable
- [ 1397 ] Bugs in PyList and PyJavaType.ListIndexDelegate slice setting
- [ 1503 ] Java constructors should take keyword arguments
- [ 1648,1495,1516 ] Incomplete implementation of pep328 for relative imports
- [ 1611 ] Jython bytecode violated JLS, causing NPE on Sun's JVM when using -Xcomp option
- [ 1643 ] Tools subdirectory still exists in trunk
- [ 1455 ] Classes loaded dynamically from sys.path do not have their package defined
- [ 1555 ] Jython does not publish MIME types via JSR 223 (ScriptEngine.getFactory().getMimeTypes() is empty).
- [ 1632 ] cPickle.Unpickler does not allow assignment of find_global
- [ 1395 ] PyList.indexOf() and PyTuple.indexOf() do not function properly
- [ 1373 ] Jython ClassLoader getResource does not work
- [ 1506 ] Jython applies PEP263 pattern for determining source-code encoding on noncomments
- [ 1630 ] threading.Thread lacks __tojava__ method
- [ 1558 ] PyFunction to single method interface wrapping does not handle java.lang.Object methods
- [ 1622 ] array type prevents __radd__ fallback
Jython 2.5.2b1
Bugs Fixed
- [ 1559 ] time.strptime broken for day of week for Sunday
- [ 1614 ] minidom chunks the character input on multi-line values
- [ 1615 ] Can't invoke Java method that takes a variable number of arguments with zero arguments
- [ 1605 ] float preference over PyComplex as arg to __call__ breaks logic
- [ 1586 ] weakref reference count leak when kwargs are used
- [ 1601 ] Can't serialize PyCode object
- [ 1551 ] Java objects cannot be copied by the copy module
- [ 1375 ] XML SAX: attrs.get((None, 'attr')) gives NPE
- [ 1488 ] sax JyInputSourceWrapper does not support unicode strings
- [ 1510 ] minidom is not parsing comment information correctly
- [ 1549 ] Wrapping an InputStream with a PyFile wrongly carries out line-ending translation.
- [ 1583 ] xml.dom.Node.data returns bytestrings of decoded unicode
- [ 1515 ] modjy sometimes adds None to the sys.path
- [ 1507 ] modjy crashes if any query string parameters are not set with '='
- [ 1473 ] modjy servlet doesn't import site-packages by default
- [ 1474 ] modjy servlet doesn't call atexit handlers
- [ 1225 ] socket.getservbyname/port() not yet supported
- [ 1532 ] Cannot use docstring when defining class
- [ 1530 ] BoolOp in multiple assign causes VerifyError
- [ 1478 ] defaultdict & weakref.WeakKeyDictionary [TypeError: first argument must be callable]
- [ 1487 ] Import of module with latin-1 chars fails on utf-8 file encoding
- [ 1449 ] Ellipsis comparison different from Python 2.5 to Jython 2.5
- [ 1493 ] tarfile.extractall() throws "AttributeError: 'module' object has no attribute 'chown'" when called by root
- [ 1470 ] os.mkdir Errno difference from cpython
- [ 1496 ] fix os.listdir errno for non-existing dirs
- [ 1499 ] PostgreSQL datahandler should return Decimals instead of floats for NUMERIC/DECIMAL columns
- [ 1477 ] os.setpgrp and posix.setpgrp fail with TypeError
- [ 1396 ] Assigning os module funcs as class attributes incompatible with CPython
- [ 1504 ] Inheriting twice from the same Java interface causes MRO problems
- [ 1511 ] PySet doesn't support Java serialization
- [ 1426 ] JSR 223 Bindings changes not taking effect and leaking between threads; unnecessary synchronization
- [ 1548 ] Parentheses in CLASSPATH cause errors in jython.bat
- [ 1576 ] files opened in 'a+' mode not readable
- [ 1563 ] unicode() for Java objects working differently in 2.2 and 2.5
- [ 1566 ] os.popen(cmd).read() returns `\r\n` as newline on Windows with Jython 2.5
- [ 1517 ] TypeError: get_referrers
- [ 1502 ] string-escape codec incorrect
- [ 1534 ] new style object __dict__[name] ignored
- [ 1479 ] xml parser file lock
- [ 1582 ] com.ziclix.python.sql.PyConnection leaks memory
- [ 1520 ] os.listdir doesn't return unicode when requested
- [ 1483 ] optparse std module dies on non-ASCII unicode data
- [ 1390 ] ihooks fails due to unimplemented methods in imp module
- [ 1456 ] sys.trace/profile attributes cause: AttributeError: write-only attr: trace in PyAMF
- [ 1385 ] generator.throw uncaught on new generator doesn't stop the generator
- [ 1596 ] SynchronizedCallable does not report that it is callable [suggested fix]
- [ 1557 ] jython.bat doesn't work in 4nt
- [ 1567 ] [Windows] Wildcard Parameter * gets expanded to filename
- [ 1594 ] Glob patterns like *.txt processed incorrectly on startup
- [ 1356 ] [Windows] test_subprocess test_communicate_pipe_buf fails
- [ 1595 ] [patch] CachedJarsPackageManager cannot write cache for packages in jar over 64k
- [ 1522 ] repeated execution of external python scripts causing PermGen out of memory exception
- [ 1251 ] select() fails when selecting on a file descriptor
- [ 1233 ] couldn't make directories when installing django in jython on Windows
- [ 1260 ] Why is asyncore.py so different?
- [ 1236 ] Django 1.0.2 jython setup.py install fails in 2.5b1 (ok in 2.5b0)
- [ 1263 ] importing * from java-class fails
- [ 1252 ] StackOverflow when name referenced before global declaration and run as a script
- [ 1275 ] Jython doesn't load directories of JARs
- [ 1278 ] socket.py error wording nitpick
- [ 1249 ] Trace function is not called with an exception event exactly when the exception occurs
- [ 1282 ] Java serialization problem
- [ 1289 ] os.path.isdir(path) return 0 istead of False
- [ 1290 ] 600x slower network download speed with urllib.urlretrieve() or urllib2.urlopen() compared to CPython
- [ 1299 ] NullPointerException without any clues
- [ 1277 ] jython applets & jythonc
- [ 1273 ] ImportError: No module named os
- [ 1308 ] Calling sys.exit() in a spawned thread fails to exit.
- [ 1346 ] compiler.transformer uses parser which is not defined
- [ 1347 ] socket Level 6 not supported
- [ 1321 ] distutils breakage with the setup.py of mercurial
- [ 1310 ] Serialization problem for wrapped Java objects
- [ 1600 ] jython dict() behaving differently from cpython's.
- [ 1269 ] windows jython.bat fails in 2.5b2
- [ 1266 ] PythonInterpreter does not have setOut(StringWriter)
- [ 1283,1284 ] File resource leaks in pkgutil
- [ 1246 ] KeyError: 'twisted.internet.reactor'
- [ 1265 ] Possible problem with subclasses of Java classes, constructors, and reflection
- [ 1124 ] os.popen variants hang when executed command produces a lot to stderr
- [ 1291 ] select() crashes with IOException
- [ 1317 ] list.count considers tuples and lists to be equal
- [ 1297 ] Methods inherited from a Java class are not overridden properly
- [ 1285 ] [2.5b3] respectJavaAccessibility = false makes some Java class method signatures inaccessible from Jython
- [ 1254 ] jython.jar (2.5b1) conflicts with previous version (2.2)
- [ 1238 ] randomly select() exception on 2.5b1
- [ 1259 ] jython 2.5b1 trunk failing manage.py validate
- Fix runtime issues during exitfuncs triggered via SystemRestart (such as
during Django or Pylons development mode reloading)
- Fix pickling of collections.defaultdict objects
- Fix the cmath module to accept objects implementing the __float__ method
New Features
- Performance improvements around method invocation. 2.5.2 runs
the richards benchmark 3x faster and the pystone benchmark 20%
faster than 2.5.1
- The posix/nt module was rewritten in Java and the performance of
its often performance-critical stat function has significantly
improved
- Improved OSError errno messages on Windows
- Slightly improved startup time (ongoing Issue #1380)
- better readline module emulation (required for IPython support)
- Python functions can be directly passed to Java methods that
take a single method interface (such as Callable or Runnable)
- Add google indexer (by Yin Wang and Steve Yegge)
Jython 2.5.1rc3
Bugs Fixed
- [ 1466 ] wrong handling of append only files
Jython 2.5.1rc2
New Features
- zxJDBC supports the with-statement: connections are committed or rollbacked; cursors are closed
Bugs Fixed
- [ 1079 ] fixed regression on issue: twisted.python.threadable module: missing attribute '_RLock'
- [ 1461 ] assert statement should lookup AssertionError using getglobal
- [ 1425 ] distutils/util.py assumes too much posix
- [ 1457 ] Cannot write an array in a file opened in r+b mode.
- [ 1382 ] __cmp__ on certain types raises ArrayStoreException
- [ 1443 ] Can't update() hashlib.sha1() with array.array('c')
- [ 1444 ] Can't zlib.compress() with array.array('c')
- [ 1458 ] Builtin codecs aren't available without standard lib
Jython 2.5.1rc1
New Features
- Upgraded to ANTLR 3.1.3
- [ 1859477 ] Dynamically loaded ServletFilters like PyServlet
- Built in JSR 223 scripting engine, with LiveTribe JSR 223 implementation for JDK 5
- Jython "-J-classpath cp_args_here" now works as expected for unix shell.
Bugs Fixed
- [ 645615 ] cannot import through symbolic links
- [ 1366 ] parsing of lamda expression fails
- [ 1365 ] continuation lines fail in interactive interpreter
- [ 1377 ] Event names shadowed by a field name on Java types leads to a NPE
- [ 1381 ] Redundant declarations of interface implementation hides overriden methods
- [ 1189 ] MD5 hash is incorrectly calculated when string contains non-latin chars and using python md5 lib
- [ 1802339 ] Problem printing unicode when stdout intercepted
- [ 1145 ] Jython 2.5 compatibility problem with JSR 223
- [ 1400 ] Evaluating expression via JSR 223 ScriptEngine returns null instead of True/False
- [ 1413 ] Array data type (PostgreSQL) is not supported (NPE)
- [ 1434 ] Cannot get return code from a process started with os.popen with Jython 2.5 (worked in 2.2)
- [ 1391 ] socket.getaddrinfo() breaks ftplib FTP client
- [ 1409 ] JSR-233 engine version numbers backwards
- [ 1408 ] JSR-223 engine doesn't implement I/O redirection
- [ 1393 ] TypeError: _new_impl(): expected 1 args; got 0
- [ 1415 ] ast Node creation fails with no arg constructors
- [ 1405 ] Executing __run__.py from .jar throws exception(SystemExit: 0) in main when sys.exit(0) is called
- [ 1439 ] Can't write() array.array
- [ 1139 ] crashes on isinstance
- [ 1430 ] Oracle JDBC Connection close
- [ 1406 ] Parsing a simple PEP 342 coroutine crashes Jython 2.5
- [ 1407 ] ClassCastException in plain Python coroutine
- [ 1424 ] Relative imports do not work in some cases
Jython 2.5.0
The same as rc4.
Jython 2.5.0 rc4
Bugs fixed
- [ 1354 ] core language failures in interactive interpreter
- [ 1358 ] Simple program fails to parse in Jython 2.5rc3, but parses OK with CPython
- [ 1357 ] no sys.executable when script runner is a relative link
- [ 1338 ] Comparing Java objects to each other fails when classes of values do not match
- [ 1363 ] Deep inheritance from a Java class causes MRO problems
- [ 1333 ] attribute wrongly deemed 'write-only' if setter comes from an interface
- [ 1364 ] SimpleHTTPServer.py contains call to missing os.fstat
- [ 1367 ] PIpes (popen2) do not flush their buffer
- [ 1368 ] '\xe4'.decode('utf-8') does not raise UnicodeDecodeError but returns u''
- [ 1372 ] No default drive in Windows file paths
- Fix file's repr with Windows paths
- Fix urllib and urllib2 path handling on Windows
- Fix r'\Jython25' not considered an abspath on Windows
- Fix handling of raw unicode escapes
- Fix mishandling of the bytecode's tagged mtime in zipimport and when
recompiling due to stale bytecode
- Fixed minor short term memory leaks in functions on some lists allocated
inline
- Updated imp.APIVersion to 23 as some compiler changes occured since the
last update.
Jython 2.5.0 rc3
Bugs fixed
- [ 1344 ] setName semantics of threading.Thread different to CPython
- Fixed JLine console on cygwin
- [ 1348 ] muti-threaded issue, maybe threads cannot exit
Jython 2.5.0 a0 - rc2
Bugs fixed (new numbering due to move to Roundup)
- [ 1188 ] Patch against trunk to handle SecurityExceptions
- [ 1271 ] Bean property accessors in derived class overide methods in base class
- [ 1264 ] 'is not' test exhibits incorrect behaviour when wrapping Java objects
- [ 1295 ] Setting a write-only bean property causes a NPE
- [ 1272 ] ASTList ClassCastException
- [ 1261 ] jython -c "import sys; sys.exit(1)" not giving correct exit code.
- [ 1215 ] extra spaces in import statement break importing
- [ 1126 ] ImportError raised for Java subpackages import
- [ 1111 ] keyword arguments not supported on __import__
- [ 1567212 ] Jython $py.class bytecode doesn't include the .py's mtime
- [ 1024 ] Jython $py.class bytecode doesn't include the .py's mtime
- [ 852818 ] Wrong error message when the second+ parameter to Java wrong
- [ 1222877 ] duplicate keyword arguments
- [ 1168 ] ast module not working
- [ 1192 ] deserialization of Jython classes extending Java classes fails when called from Java
- [ 1243 ] Running scripts from standalone jar with __run__.py broken
- [ 1237 ] Asnycore does not seem to work in Jython 2.5 (b0 or b1)
- [ 1257 ] Pickling (protocol 2) doesn't use overriden itervalues() on dict-derived classes
- [ 1245 ] modjy passes HTTP headers as unicode objects to the WSGI app
- [ 1258 ] select() semantics differ from CPython, causing pydoc HTTPd to fail
- [ 1043 ] Special broadcast host address <broadcast> is not supported.
- [ 1121 ] listening socket shutdown expects the wrong kind of socket
- [ 1244 ] Problem letting system choose the port for binding UDP socket
- [ 1241 ] Assignment to static variable shadows value
- [ 1234 ] Java classes' MRO resolution can throw an NPE
- [ 1231 ] 2.5b1 breaks XML DocumentBuilderFactory (in particular, Weblogic 10.3)
- [ 1230 ] importing with '*' from java packages does not work with 2.5b1
- [ 1242 ] Tuples allow member assignment
- [ 1239 ] Package scanning seems to depend on import order in jython-2.5b1
- [ 1235 ] java.awt.Frame - problem w/ attibutes
- [ 1240 ] Can't import _jython, but it's listed in the built-in modules
- [ 1217 ] decompressing a malformed stream with zlib results in a java.util.zip.DataFormatException instead of a zlib.error
- [ 1227 ] The cStringIO.StringIO.write implementation does not handle write/seek/write's correctly.
- [ 1232 ] Inherited java bean properties not recognized correctly
- [ 1229 ] os.utime fails in Jython2.5b1
- [ 1228 ] Add version for 2.5b1 to Issue (Bug) tracker
- [ 1051 ] socket does not define AF_UNSPEC and AI_PASSIVE constants
- [ 1218 ] Socket timeouts on connect not honoured when timeout set through socket.setdefaulttimeout()
- [ 1747126 ] CLASSPATH not searched correctly for python source modules
- [ 1008 ] Jython broken on Java Web Start 1.6
- [ 1181 ] Patch against trunk to make applets work again
- [ 1122 ] os.kill is not implemented
- [ 1154 ] socket.settimeout not working for recv
- [ 1171 ] Creating a PyFile from an InputStream is broken.
- [ 1211 ] Telnetlib.expect crashes when a timeout parameter is given.
- [ 1182 ] Patch to Lib/socket.py to fix broken SSL
- [ 1083 ] jython2.5a1 installer does not create "cachedir" directory
- [ 1063 ] RuntimeError expected when stack overflows
- [ 1205 ] list comprehension difference to python
- [ 1166 ] TypeError: utimes(): 3rd arg can't be coerced to long
- [ 1025 ] imp.find_module can't find builtin modules
- [ 1758318 ] StackOverflow if __nonzero__ returns self
- [ 1815110 ] eval and excec should accept mapping type for locals
- [ 600790 ] Overriding automatically defined methods
- [ 1201 ] Lack of Python line numbers in Java tracebacks
- [ 1658599 ] headless installation not detected
- [ 1161 ] imp.find_module can't find many modules (was: pylint & logilab ASTNG library)
- [ 1199 ] zipimporter should be smarter about what files it tries to access
- [ 1180 ] virtualenv broken on installed Jython
- [ 1196 ] failure of dir() on instances of a class with __getattribute__
- [ 1194 ] with_statement: context __exit__ not called for return
- [ 1187 ] JYTHON_OPTS broken in jython.bat
- [ 1758319 ] bool should not be subclassable
- [ 1011 ] ant task to create launcher script
- [ 1137 ] ArrayType missing in Jython 2.5a3
- [ 1058 ] Carlo Verre's object.__setattr__ hack allows modification of built in types
- [ 1222918 ] -C NONE causes exception
- [ 1604258 ] copy.copy doesn't work on subclasses of newstyle classes
- [ 1798554 ] zlib.__doc__ is not showing any output
- [ 1798556 ] patch for :[ 1798554 ] zlib.__doc__ is not showing any outpu
- [ 1003 ] struct packing inconsistent with CPython
- [ 1052 ] __int__ returning PyLong = ClassCastException mayhem
- [ 1167 ] random.py in standard library is broken in 2.5beta0
- [ 1138 ] __file__ reflects original source location, not the pathname of the $py.class file
- [ 1174 ] NPE on PythonInterpreter.eval()
- [ 1173 ] undefined sys.prefix breaks initialization
- [ 1177 ] utf-8 codec isn't?
- [ 1835099 ] Bug in list.sort()
- [ 1141 ] Incorrect __import__ calls
- [ 1780767 ] Fix for [ 1768075 ] %c formats values outside of the
- [ 1115 ] __lt__ in a derived list produces a StackOverflowError
- [ 1062 ] Doctest does not work against unicode strings
- [ 1783868 ] __ge__ or __gt__ of subclass of str --> StackOverflowError
- [ 1125 ] not valid JAVA_HOME path
- [ 1777567 ] Type of reflected methods is different for Java and Python
- [ 513713 ] PyTableCode != PyCode
- [ 526672 ] inspect not supported
- [ 1754240 ] Error Message when attempting to bind to an in use Port
- [ 1159 ] custum number and float: unsupported operand type(s) for *
- [ 1158 ] compile() fails to recognize initial AST arg
- [ 1155 ] inet_ntoa missing from socket
- [ 1150 ] Nested generator expressions do not compile
- [ 1113 ] Syntax + Compiler Error
- [ 1157 ] Support pylint
- [ 1156 ] rfc822.py incompatible with PyFile(java.io.InputStream istream)
- [ 1128 ] java.lang.String should be mapped to PyUnicode, not PyString
- [ 1111 ] keyword arguments not supported on __import__
- [ 1114 ] Compiler Error - null pointer
- [ 1134 ] Built-in functions should be of type types.BuiltinFunction
- [ 1075 ] os.rmdir deletes file
- [ 1136 ] Parsing a module fails if it ends with whitespace but no newline
- [ 1131 ] repr not 100% CPython compliant
- [ 1626844 ] fixes for failing binascii unit tests (2.3 branch)
- [ 1838658 ] 'platform' module is not available
- [ 1663711 ] 32767 characters is max string constant size
- [ 1847091 ] del statement doesn't work on builtin modules
- [ 1768969 ] filter doesn't return passed in subclass type
- [ 1047 ] xml.dom.pulldom doesn't work
- [ 1835109 ] Patch for [ 1835098 ] No decimal module available in jython
- [ 1768970 ] pyget used instead of __getitem__ in __iter__, filter
- [ 1768968 ] unicode bom isn't recognized to indicate unicode for parsing
- [ 1785475 ] patch for bug IDs 1768970, 1782565 & 1783868
- [ 1738411 ] Unable to change function sys.settrace
- [ 1761111 ] Patch for PEP 292 Simpler String Substitutions
- [ 1835119 ] 'platform' module is not available in jython
- [ 1840479 ] coding: utf-8 and PEP 0263?
- [ 1835098 ] No decimal module available in jython
- [ 1717492 ] os.path.ismount incompletely implemented
- [ 1067 ] class / function call behaviour (Jython vs. CPython)
- [ 1091 ] Interactive Interpreter parser doesn't handle docstrings
- [ 1022 ] Class definitions aren't provided a __module__ variable
- [ 1120 ] invalid socket shutdown gives AssertionError, should be "transport endpoint not connected" socket.error
- [ 1119 ] socket module has no attribute SO_ERROR
- [ 1081 ] Jython 2.5a1 standalone installer hangs
- [ 1123 ] Weird "unexpected at this time" error.
- [ 1070 ] Standalone crashes with ZipException
- [ 1077 ] Standalone installation fails
- [ 1094 ] mismatched input class parsing error on "class" attributes of a java object
- [ 1015 ] unicode string combination with % behaves unexpectedly
- [ 1758279 ] Java classes exposed as Python classes but have no __module__
- [ 1116 ] parser NPE on dotted (more than 1) attribute decorators
- [ 1758325 ] str's formatter doesn't raise TypeError if given wrong type
- [ 1095 ] AttributeError raised from __getattr__ method are swallowed
- [ 1106 ] os.getpid() call missing
- [ 1104 ] subprocess.Popen doesn't inherits os.environ to the spawned processes
- [ 1041 ] AttributeError raised from descriptors __get__ method are swallowed
- [ 1869347 ] TypeError while used derived class of long for comparison
- [ 1072 ] Parsing error in file with white space at the end
- [ 1045 ] PyBoolean.__tojava__(Object.class) should return a Boolean
- [ 1044 ] Patch to support for BigIntegers and PyLong on the PostgresqlDataHandler
- [ 1054 ] Patch: Fastpath for cursor.executemany()
- [ 1053 ] Better string interpolation with unicode args
- [ 1804011 ] classes extending dict can't be compared to dict
- [ 1889394 ] UnicodeDerived's == is broken
- [ 1060 ] deriveds don't support coerce
- [ 1650802 ] _csv module
- [ 1092 ] Parser problems on Django tree
- [ 1050 ] Don't display banner/prompts when stdin is not a tty
- [ 1069 ] setuptools: 'NoneType' object has no attribute 'startswith'
- [ 1093 ] Installer 2.5a1 on MS Windows: Incorrect jar is referred to in bin/jython
- [ 1605009 ] str subclasses can be used in raise
- [ 1079 ] twisted.python.threadable module: missing attribute '_RLock'
- [ 1088 ] Existing .py$class files from Jy2.2 cause error for Jy2.5a
- [ 1086 ] Handling of """quoted strings""" for 2.5a differs from Jy2.2 and Py2.5
- [ 1087 ] assert error message at end of Python script differs from Py2.5
- [ 1082 ] asm parser can't handle PySourceColor module
- [ 1767742 ] array.array('xx') should throw TypeError, not ValueError
- [ 1076 ] 2.5a1 jython.bat doesn't work from Windows explorer
- [ 1059 ] Possible to construct long(None)
- [ 1873148 ] list.__iadd__ not switching to __radd__ on NotImplemented
- [ 1056 ] Bad mro() overrides not caught
- [ 1886758 ] from __future__ import division leaks out of namespace
- [ 1879935 ] cPython/Jython different os.path.isabs() behavior
- [ 1879984 ] cPython/Jython different os.path.realpath() behavior
- [ 1879989 ] cPython/Jython different os.path.abspath() behavior
- [ 1605006 ] __doc__ descriptor on new style class returned directly
- [ 1639663 ] Patch for [ 1605006 ] __doc__ descriptor on new style class
- [ 1803960 ] Attribute Error :- 'slice' object has no attribute 'indice
- [ 1802863 ] zipfile.is_zipfile never returns False
- [ 678557 ] cgi parsing of multipart/form-data broken
- [ 1840038 ] patch for PyUnicode (fixes [ 1782565 ])
- [ 1754222 ] raising SystemExit in a thread causes jython to quit
- [ 811908 ] OutOfMemoryError causes exit without a call to a handler
- [ 654142 ] NPE when converting __dict__ to list
- [ 515497 ] method instance not unique key in dict
- [ 718377 ] PyObject.__findattr_ throws NPE
- [ 753790 ] struct module inconsistent with CPython
- [ 1009477 ] Python collections should implement java interfaces
- [ 1599050 ] fileinput os.fstat fix
- [ 1676293 ] metaclass __init__ dct reference
- [ 1038 ] Custom KeyErrors raised from __getitem__ are swallowed
- [ 1039 ] AttributeError message on type instances doesn't match the CPython message
- [ 1048 ] List Comprehension in finally throws NPE
- [ 1037 ] float(None) throws AttributeError instead of TypeError
- [ 1814929 ] Patch for [ 1814904 ] dict.update() doesnt accept arguments
- [ 1814904 ] dict.update() doent accept the same arguments as constructor
- [ 947306 ] 2.3a0 bug in weakref.WeakValueDictionary
- [ 1016 ] Support socket.TCP_NODELAY
- [ 1033 ] zlib.adler32 computes wrong values
- [ 1797751 ] patch for :[ 1796272 ] partition and rpartition methods are
- [ 1796272 ] partition and rpartition methods are missing in jython
- [ 1040 ] KeyError.__str__ doesn't use repr()
- [ 1036 ] make Jython set pass (almost) all CPython tests
- [ 1035 ] set incorrectly raises TypeError when asked for superset/subset on non-set iterables
- [ 1034 ] can't supply dict() for globals in FunctionType()
- [ 1782565 ] Mismatch in repr of obj of unicode and subclass of unicode
- [ 1510227 ] difference between repr() and __repr__()
- [ 1501932 ] hasattr invokes __getattr__
- [ 1775263 ] patch for bug [1768979]:hasattr,getattr
- [ 1768979 ] hasattr, getattr allow unicode identifiers
- [ 1780153 ] Fix for [ 1768075 ] %c formats values outside of the
- [ 1768075 ] %c formats values outside of the size of a single char
- [ 1803425 ] new builtin funcion :- sorted() - a new builtin sorted() act
- [ 1758282 ] complex missing __coerce__
- [ 1777684 ] int and long types are missing __coerce__
- [ 1785415 ] patch for : [ 1777684 ] int and long types are missing __coe
- [ 1514533 ] PyComplex in branch 2.3
- [ 1783088 ] patch for :[ 1758282 ] complex missing __coerce__
- [ 1758284 ] Complex parses complex('1' * 500) as (Infinity+0j)
- [ 1779428 ] patch for : [ 1758284 ] Complex parses complex('1' * 500) as
- [ 1671213 ] pickle/cPickle of Sets bug
- [ 1019 ] Can't change new-style class __name__
- [ 1013 ] jython crash with command: threading.local()
- [ 1009 ] Patch to add 'at' to the repr string.
- [ 1005 ] UDP Socket implicit create and unbound socket timeout
- [ 1755346 ] imp missing lock_help
- [ 1758322 ] List mutation during sort doesn't throw a ValueError
- [ 1006 ] __import__ fromlist doesn't get processed
- [ 1782548 ] UDP send blocks with reader thread present
- [ 1895736 ] cleanup os.environ
- [ 1717491 ] os.path.islink incompletely implemented
- [ 1718450 ] Patch for os.path.islink bug 1717491
- [ 1718975 ] Patch for os.path.normcase bug 1648449
- [ 1648449 ] os.path.normcase broken in Windows
- [ 1814527 ] patch for [1803425], [1758322], [1785366] and upgraded sort
- [ 1861985 ] extending java classes from python code fails
- [ 1871739 ] fix for Import Error statement to match CPython
- [ 1870039 ] Debugging facility not behaving correctly with threads
- [ 1757127 ] Jython hangs under PyDev debugger
- [ 1839038 ] operations returning bools still return 1/0s
- [ 1861973 ] importing modules from class broken
- [ 1861974 ] patch for [1861973]. problems loading $py.class files
- [ 1850722 ] socket.py - ClientCookie and ClientForm
- [ 1482645 ] More OS recognition
- [ 1509095 ] Can't open midi sequencer
- [ 1850207 ] socket._fileobject - AttributeError: 'module' object has no
- [ 1816103 ] org.python.core.PyDictionary should implement java.util.Map
- [ 1721204 ] there is no threading.local()
- [ 1841639 ] Filecmp module is not in jython
- [ 1842984 ] Py.tojava(PyObject, Class) incorrectly marked deprecated
- [ 1841445 ] NPE in PythonInterpreter.get(String name, Class javaclass)
- [ 481404 ] CR removed on reading text on unix
- [ 1159156 ] codec.open() does not work with different systemstates
- [ 1261231 ] JButton('\u0F00') not working
- [ 1674190 ] exec() destroys multibyte string
- [ 1599900 ] Incorrect usage of String.getBytes()
- [ 1611604 ] PyFile hand-edited code
- [ 1839871 ] dict shouldn't call __setitem__ to initialise
- [ 1816134 ] Issue with Key Comparison in Dicts
- [ 1818353 ] sliceLength of PySequence returns 0 when step is sys.maxint
- [ 1791931 ] slice should be a type
- [ 1812122 ] NullPointerException when rethrowing an exception
- [ 1814678 ] Lack of some public functions' names in __all__ (javaos.py)
- [ 1796415 ] javaos.py missing removedirs function
- [ 1796425 ] javaos.py missing renames function.
- [ 1838358 ] Improve Resolution in time.clock()
- [ 1818393 ] why using Deprecated method in PyString?
- [ 1783692 ] Implementation of tempfile with secure files
- [ 1755344 ] tempfile missing mkdtemp
- [ 1817908 ] Broken link for corner icon in html documentation
- [ 1831710 ] PyFileCloser throws NullPointerException on shutdown
- [ 1744567 ] Simultaneous read & write on socket FileWrapper causes hang
- [ 1806980 ] os.path.join ignores empty string
- [ 1812913 ] File read converts \r to \n
- [ 1781500 ] Metaclasses don't get passed a '__module__' in attrs
- [ 1801802 ] JavaImportHelper not thread safe
- [ 1800378 ] object.__unicode__ should it exist?
- [ 1768982 ] sys.exc_clear is missing
- [ 1735774 ] Redirecting stdout/err with os.popen fails if cmd is unicode
- [ 1763263 ] os.utime(path, None) doesn't work (incl. a patch)
- [ 1758904 ] I added doc strings for functions in os module (javaos.py).
- [ 1768074 ] str.replace doesn't handle an empty string to be replaced
- [ 1799328 ] Unicode string interpolation doesn't work
- [ 1773865 ] Patch for [1768990] pickle fails on subclasses
- [ 1768990 ] pickle fails on subclasses of builtin types
- [ 1782493 ] On cli $ ./jython --version missing java version number
- [ 1783153 ] Patch: compatibility with Java 1.3 for Jython 2.2
- [ 1755361 ] file missing 'U' universal newline mode
- [ 1782856 ] Error in zxJDBC.Timestamp()
- [ 1767194 ] Wrong namespace in xmllib in 2.2rc3 (patch included)
- [ 1783803 ] patch for bug [1775893] :in keyword
- [ 1775893 ] in keyword does not use dict.has_key()
- [ 1783960 ] can not exclude parts from installation
- [ 1785638 ] ImportError from zip without source
- [ 1783554 ] CPython compatible zipimporter
- [ 1775078 ] Fix binary operations on str/unicode/lists/tuples
- [ 1781556 ] Support list.extend(iterator), and other sequence fixes
- [ 1784564 ] Add PyLong.asInt
- [ 1768984 ] sys.builtin_module_names is missing
- [ 1768988 ] isinstance, issubclass allow a StackOverflow
- [ 1291509 ] cPickling bug
- [ 1758315 ] org.python.modules.operator lacks is and is_not functions
- [ 1758312 ] date and time objects fail to pickle
- [ 1758317 ] bool objects fail to pickle
Incompatible Changes
- The python.prepath property has been removed; use python.path instead.
- To implement the Java Map interface, PyDictionary.values now returns a
Collection instead of a PyList
- The -E codec command line option (use a different codec when reading from
the console) has been changed to -C codec
- import of Python modules does not imply the import of child modules, though
import of Java packages still does, see email thread with Guido van Rossum,
Samuele Pedroni, and Frank Wierzbicki:
http://www.mailinglistarchive.com/[email protected]/msg07683.html
New Features
- PyDictionary now implements Map so it may be passed to any Java function expecting a Map.
- modjy integrated into core
- The interactive interpreter now uses JLine by default
Ported Modules
- _ast
- cmath
- collections
- csv
- filecmp
- functools
- hashlib
- itertools
- threading.local
- zipimport
Jython 2.2.2 rc1
Bugs fixed (new numbering due to move to Roundup)
- [ 1048 ] List Comprehension in finally throws NPE
Bugs fixed (old sourceforge numbering)
- [ 1806980 ] os.path.join ignores empty string
- [ 1744567 ] Simultaneous read & write on socket FileWrapper causes hang
- [ 1831710 ] PyFileCloser throws NullPointerException on shutdown
- [ 1817908 ] Broken link for corner icon in html documentation
- [ 1850722 ] socket.py - ClientCookie and ClientForm (and urllib2)
- [ 1841445 ] PythonInterpreter.get(String name, Class javaclass) throws
an NPE if name isn't defined
- [ 1839871 ] dict calls __setitem__ on subclasses in initialization
- [ 1816134 ] str uses its own __eq__ instead of deferring to subclasses
- [ 1796425 ] os.renames missing
- [ 1796415 ] os.removedirs missing
- [ 1814678 ] os.__all__ missing many functions
- [ 1812122 ] NullPointerException when rethrowing an exception
- [ 1830916 ] PyException doesn't store causal Java exception
Jython 2.2.1
Identical to 2.2.1 rc2
Jython 2.2.1 rc2
Bugs fixed
- Python files are parsed using the JVM's default encoding
- [ 1800378 ] __unicode__ ignored on subclasses of builtin types
- [ 1801802 ] JavaImportHelper not thread safe
- python.console.encoding is silently ignored if the JVM doesn't support the given encoding
Jython 2.2.1 rc1
Bugs fixed
- Reading and writing on files would run data through the JVM's default charset
- Include the row number where an exception occured while using a zxJDBC cursor
- [ 1766527 ] in keyword doesn't work on os.environ
- [ 1767194 ] xmllib applies default namespace to attributes incorrectly
- [ 1768074 ] str.replace doesn't handle an empty string to be replaced
- [ 1775893 ] in keyword does not use dict.has_key()
- [ 1782493 ] jython --version doesn't show the java version number
- [ 1782856 ] zxJDBC.Timestamp returns hours in AM/PM not 24 hour time
- [ 1783960 ] can not exclude parts from text-mode installation
- [ 1799328 ] string formatting doesn't call __unicode__ on %s in unicode objects
- [ 1763263 ] os.utime(path, None) doesn't work (incl. a patch)
- [ 1758904 ] I added doc strings for functions in os module (javaos.py).
- [ 1735774 ] Redirecting stdout/err with os.popen fails if cmd is unicode
- [ 1773865 ] Patch for [1768990] pickle fails on subclasses
- [ 1783153 ] Patch: compatibility with Java 1.3 for Jython 2.2
Jython 2.2
Identical to 2.2 rc3
Jython 2.2 rc3