old python needs __main__ to call a module
[pylucene.git] / jcc / CHANGES
1
2 Version 2.11 -> 2.12
3 --------------------
4  - fixed slice operation bug on JArray (int vs Py_ssize_t on 64-bit systems)
5  - fixed bug in argument parsing not detecting soon enough incorrect num args
6  - fixed bug in JArray(type) function decref'ing type_name too soon
7
8 Version 2.10 -> 2.11
9 --------------------
10  - improved recovery from toString() failure, displaying class name instead
11  - non public classes listed on command line now wrapped (Lukasz Jancewicz)
12  - fixed bug with generating wrappers for unimplemented interface methods
13  - fixed bug with generating propMethods for void getters
14  - fixed bug with missing code for returning arrays from iterators
15
16 Version 2.9 -> 2.10
17 -------------------
18  - added javadoc for org.apache.jcc.PythonVM class (Bill Janssen)
19  - fixed bug with Constructor.getGenericParameterTypes() losing first parameter
20
21 Version 2.8 -> 2.9
22 ------------------
23  - fixed bug with excluding inner classes only (Christian Heimes)
24  - fixed bug with Python gc in non-attached JVM thread (Christian Heimes)
25
26 Version 2.7 -> 2.8
27 ------------------
28  - fixed bug with --module using relative paths (Roman Chyla)
29  - made fully qualified C++ class names absolute
30  - fixed bug with parameterized types not requiring classes found in parameters
31  - fixed bug with missing space between >> of nested generics
32
33 Version 2.6 -> 2.7
34 ------------------
35  - added 'IGNORE' to reserved word list
36  - improved --exclude logic to also exclude inner classes of excluded classes
37  - moved --find-jvm-dll logic to __init__.py to accomodate Python 2.7
38  - fixed bug with faulty Java version logic causing crashes with Java 1.5
39  - added logic for finding JavaVM.framework headers on Mac OS X (Bill Janssen)
40
41 Version 2.5 -> 2.6
42 ------------------
43  - added freebsd7 settings to setup.py (Sujan Shakya)
44  - added support for unix-specific --home distutils install parameter
45  - added support for extracting JAVAHOME from Windows registry (Bill Janssen)
46  - updated MANIFEST.in as sdist started creating incomplete source archives
47  - improved support for building on Windows with mingw32 (Bill Janssen)
48  - added support for --find-jvm-dll parameter (Bill Janssen)
49  - fixed bug with not inheriting type parameters to inner parameterized classes
50  - added support for of_() method to set instance type parameters
51  - fixed bug with not heeding type parameter for --sequence get method
52  - parameterized return values are now unboxed
53  - improved auto-boxing of primitive type parameters
54  - added support for auto-boxing CharSequence from python str and unicode
55  - added support for auto-boxing Number from python int, long and float
56  - added 'asm' to list of reserved words
57  - added JCC_VERSION string to modules using JCC
58  - added support for --resources
59  - fixed bug with array Release calls using isCopy instead of 0 mode
60  - added support for --import
61  - added read-only env.classpath property
62  - config.py now written only during build or when missing (Christian Heimes)
63  - fixed bug with not enforcing Iterable for iterator method detection
64
65 Version 2.4 -> 2.5
66 ------------------
67  - added env.jni_version for the JNI version as returned by JNI's GetVersion()
68  - added env.java_version for java.lang.System.getProperty('java.version')
69  - default value to initVM's classpath parameter now is importing module's
70  - added support for Java generics
71  - added 'string_' property to JArray('byte') instances to extract byte string
72  - fixed bug with passing list of extension objects
73  - reworked iterator and enumeration 'next' templates to shortcut C++ wrappers
74  - fixed bug in code comparing setuptools versions when >= 0.6c10
75  - verified build against setuptools from distribute 0.6.6
76  - renamed patch.43 to differentiate setuptools versions
77
78 Version 2.3 -> 2.4
79 ------------------
80  - added 'typeof' to reserved word list
81  - added Java stacktrace to __str__() of JavaError, fixing half of PYLUCENE-1
82  - fixed local string ref leaks in JArray<jstring>.get/toSequence (Aric Coady)
83  - added --libpath parameter to specify -Djava.library.path
84  - classes listed with --exclude are no longer loaded (except for dependencies)
85  - added --vmarg to add Java VM initialization parameters (Christian Kofler)
86  - added support for passing a directory to --module
87  - byte values are now returned as signed numbers as opposed to one-char strs
88  - added --arch command line flag to filter Mac OS X python config settings
89  - cast_() and instance_() methods now generated on extension classes as well
90  - fixed bug with reporting Python error that occurred in an extension class
91
92 Version 2.2 -> 2.3
93 ------------------
94  - fixed Solaris compilation issue with using va_arg() with function pointers
95  - added --reserved command line arg to extend list of words to mangle
96  - fixed bug with initJCC not being run when Python VM embedded in JVM
97  - added --wininst to enable use of bdist_wininst with distutils (Jonas Maurus)
98  - added --help to describe command line options (Jonas Maurus)
99  - added support for --rename to workaround python flattened namespace clashes
100  - fixed bug with Enumeration/Iterator template function instantiation
101  - removed -framework Python from darwin link flags in setup.py
102
103 Version 2.1 -> 2.2
104 ------------------
105  - JCC now a subproject of the Apache PyLucene project
106  - fixed bug where thread's JNIEnv was not set before calling findClass()
107  - unhandled java exception now is printed out via ExceptionDescribe()
108  - added cast to placate Solaris compiler error in JArray.cpp
109  - JArray Python wrappers should return None when passed a null array
110  - added JDK variable to setup.py to better parameterize build configuration
111  - added support for proxying mapping and sequence protocols on FinalizerProxy
112  - changed Type suffix to $$Type to avoid clashes with like-named Java classes
113  - added 'bool' and 'operator' to list of reserved words
114  - added support for packages and classes named with C++ reserved words
115  - static methods shadowed by non-static methods of same name now '_' suffixed
116  - added 'java.lang' to --package by default
117  - added isCurrentThreadAttached() method to VMEnv
118  - added MANIFEST.in to exclude generated jcc/config.py (Christian Heimes)
119  - passing strings for byte[] or char[] is no longer supported, use JArray
120  - failure to call initVM() now reported with error instead of crash
121  - failure to find class now reported with error instead of crash
122  - failure to call attachCurrentThread() now reported with error, not crash
123
124 Version 2.0 -> 2.1
125 ------------------
126  - fixed bug with not checking missing module name when attempting build
127  - increased jcc's java stack to 512k
128  - added support for iPod/iPhone, with shared mode
129  - added missing cast to jweak in call to DeleteWeakGlobalRef()
130  - fixed local string ref leak in JArray<jstring> (Aaron Lav)
131  - fixed local ref leak if ref for object already exists in table (Aaron Lav)
132  - fixed bug with error reporting from class methods (Aaron Lav)
133  - fixed bug with reporting python errors with RuntimeException when not shared
134  - removed bogus storage class from template specializations (Joseph Barillari)
135
136 Version 1.9 -> 2.0
137 ------------------
138  - fixed bug with failed findClass() import
139  - fixed bug http://bugzilla.osafoundation.org/show_bug.cgi?id=12127
140  - added -ljvm to linux2 and sunos5 LFLAGS
141  - added support for using JCC in reverse (starting from Java VM) (shared only)
142  - using PythonException for reporting Python errors (shared only)
143  - inserted Apache 2.0 license copyright notices
144  - fixed bug with declaring array parameters in extension methods
145  - added support for --module to add individual python files to resulting egg
146  - JCC in reverse functional on Mac OS X and Linux
147  - fixed JCC in reverse threading issues
148  - JCC in reverse usable with Tomcat
149  - got python stacktrace into PythonException's message
150  - added 'self' property to get wrapped python object from extension wrapper
151  - added headless AWT workaround to JCC's own initVM() call
152  - added DEBUG_CFLAGS to setup.py to improve debug build support
153  - fixed uninitialized Class class bug (parseArgs)
154  - added errorName field to PythonException
155  - added support for excluding stack trace from PythonException
156  - arrays are now wrapped by JArray() objects instead of expanded into lists
157  - return by value in arrays now supported
158  - added support for nested arrays via JArray().cast_()
159  - included patch to setuptools to support shared mode on Linux
160
161 Version 1.8 -> 1.9
162 ------------------
163  - fixed code generation for clone() broken by finalization proxy work
164  - added 'union' to the list of reserved words
165  - fixed castCheck() to work with finalization proxies
166  - --compile no longer installs by default
167  - fixed bug in __init__.cpp #include statements for package-less classes
168  - fixed line ending bug on Windows
169  - fixed multiple JCC-built extensions in same process problem
170  - removed env argument from initVM() as it's redundant with the libjcc.dylib
171  - reimplemented env->setClassPath() in terms of system URLClassLoader hack
172  - added support for --include option
173  - added 'NULL' to list of reserved words
174  - added support for building shared libjcc library on Mac OS X and Linux
175  - fixed bug with generating wrappers for abstract Enumeration implementations
176  - added support for --install-dir and --use-distutils options
177  - copy jcc runtime sources into extension source tree before compiling
178  - added detection of invalid command line args
179  - fixed double-free bug when passing in vmargs
180  - added defines to enable building with MinGW (Bill Janssen)
181  - added support for --bdist
182  - added support for --compiler
183  - fixed crasher on Windows with virtual JObject.weaken$()
184  - fixed bug not checking return value from initVM()
185  - fixed bug with findClass() not catching C++ exception when class not found
186  - added missing code in parseArgs() to handle double[], float[] and long[]
187
188 Version 1.7 -> 1.8
189 ------------------
190
191  - fixed bug using the wrong field modifiers for setter (Bill Janssen)
192  - added missing calls for generating wrappers for ancestors of Exception
193  - added missing call for generating wrappers for String
194  - added note about --classpath to README
195
196 Version 1.6 -> 1.7
197 ------------------
198  - fixed memory leak when calling inherited methods via callSuper()
199  - added support for building on Solaris with Sun Studio C++ (Solaris 11)
200  - fixed leak of local refs of jstring when converting to an array of String
201  - automated finalization of extensions via proxy for breaking ref cycle
202  - added Py_CLEAR and Py_VISIT macros for Python 2.3.5 compilation
203
204 Earlier versions (changes included in PyLucene versions < 2.3)
205 --------------------------------------------------------------
206  - see http://svn.osafoundation.org/pylucene/trunk/jcc/CHANGES