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