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
|
Version 2.12 -> 2.13
--------------------
- fixed bug with name collision between method and static field of same name
- added --maxheap, --egg-info and --extra-setup-arg parameters (Chris Wilson)
- added check for duplicate class names in generated Python module
- updated setuptools patch logic to accomodate new 0.6.15 and up fork
- fixed issues with with arrays as generics parameters (openjdk 7)
- added support for auto-boxing primitive types when converting to object array
- fixed bug with setting a string into an object array
- fixed bug with decref'ing too early when converting a sequence to an array
Version 2.11 -> 2.12
--------------------
- fixed slice operation bug on JArray (int vs Py_ssize_t on 64-bit systems)
- fixed bug in argument parsing not detecting soon enough incorrect num args
- fixed bug in JArray(type) function decref'ing type_name too soon
Version 2.10 -> 2.11
--------------------
- improved recovery from toString() failure, displaying class name instead
- non public classes listed on command line now wrapped (Lukasz Jancewicz)
- fixed bug with generating wrappers for unimplemented interface methods
- fixed bug with generating propMethods for void getters
- fixed bug with missing code for returning arrays from iterators
Version 2.9 -> 2.10
-------------------
- added javadoc for org.apache.jcc.PythonVM class (Bill Janssen)
- fixed bug with Constructor.getGenericParameterTypes() losing first parameter
Version 2.8 -> 2.9
------------------
- fixed bug with excluding inner classes only (Christian Heimes)
- fixed bug with Python gc in non-attached JVM thread (Christian Heimes)
Version 2.7 -> 2.8
------------------
- fixed bug with --module using relative paths (Roman Chyla)
- made fully qualified C++ class names absolute
- fixed bug with parameterized types not requiring classes found in parameters
- fixed bug with missing space between >> of nested generics
Version 2.6 -> 2.7
------------------
- added 'IGNORE' to reserved word list
- improved --exclude logic to also exclude inner classes of excluded classes
- moved --find-jvm-dll logic to __init__.py to accomodate Python 2.7
- fixed bug with faulty Java version logic causing crashes with Java 1.5
- added logic for finding JavaVM.framework headers on Mac OS X (Bill Janssen)
Version 2.5 -> 2.6
------------------
- added freebsd7 settings to setup.py (Sujan Shakya)
- added support for unix-specific --home distutils install parameter
- added support for extracting JAVAHOME from Windows registry (Bill Janssen)
- updated MANIFEST.in as sdist started creating incomplete source archives
- improved support for building on Windows with mingw32 (Bill Janssen)
- added support for --find-jvm-dll parameter (Bill Janssen)
- fixed bug with not inheriting type parameters to inner parameterized classes
- added support for of_() method to set instance type parameters
- fixed bug with not heeding type parameter for --sequence get method
- parameterized return values are now unboxed
- improved auto-boxing of primitive type parameters
- added support for auto-boxing CharSequence from python str and unicode
- added support for auto-boxing Number from python int, long and float
- added 'asm' to list of reserved words
- added JCC_VERSION string to modules using JCC
- added support for --resources
- fixed bug with array Release calls using isCopy instead of 0 mode
- added support for --import
- added read-only env.classpath property
- config.py now written only during build or when missing (Christian Heimes)
- fixed bug with not enforcing Iterable for iterator method detection
Version 2.4 -> 2.5
------------------
- added env.jni_version for the JNI version as returned by JNI's GetVersion()
- added env.java_version for java.lang.System.getProperty('java.version')
- default value to initVM's classpath parameter now is importing module's
- added support for Java generics
- added 'string_' property to JArray('byte') instances to extract byte string
- fixed bug with passing list of extension objects
- reworked iterator and enumeration 'next' templates to shortcut C++ wrappers
- fixed bug in code comparing setuptools versions when >= 0.6c10
- verified build against setuptools from distribute 0.6.6
- renamed patch.43 to differentiate setuptools versions
Version 2.3 -> 2.4
------------------
- added 'typeof' to reserved word list
- added Java stacktrace to __str__() of JavaError, fixing half of PYLUCENE-1
- fixed local string ref leaks in JArray<jstring>.get/toSequence (Aric Coady)
- added --libpath parameter to specify -Djava.library.path
- classes listed with --exclude are no longer loaded (except for dependencies)
- added --vmarg to add Java VM initialization parameters (Christian Kofler)
- added support for passing a directory to --module
- byte values are now returned as signed numbers as opposed to one-char strs
- added --arch command line flag to filter Mac OS X python config settings
- cast_() and instance_() methods now generated on extension classes as well
- fixed bug with reporting Python error that occurred in an extension class
Version 2.2 -> 2.3
------------------
- fixed Solaris compilation issue with using va_arg() with function pointers
- added --reserved command line arg to extend list of words to mangle
- fixed bug with initJCC not being run when Python VM embedded in JVM
- added --wininst to enable use of bdist_wininst with distutils (Jonas Maurus)
- added --help to describe command line options (Jonas Maurus)
- added support for --rename to workaround python flattened namespace clashes
- fixed bug with Enumeration/Iterator template function instantiation
- removed -framework Python from darwin link flags in setup.py
Version 2.1 -> 2.2
------------------
- JCC now a subproject of the Apache PyLucene project
- fixed bug where thread's JNIEnv was not set before calling findClass()
- unhandled java exception now is printed out via ExceptionDescribe()
- added cast to placate Solaris compiler error in JArray.cpp
- JArray Python wrappers should return None when passed a null array
- added JDK variable to setup.py to better parameterize build configuration
- added support for proxying mapping and sequence protocols on FinalizerProxy
- changed Type suffix to $$Type to avoid clashes with like-named Java classes
- added 'bool' and 'operator' to list of reserved words
- added support for packages and classes named with C++ reserved words
- static methods shadowed by non-static methods of same name now '_' suffixed
- added 'java.lang' to --package by default
- added isCurrentThreadAttached() method to VMEnv
- added MANIFEST.in to exclude generated jcc/config.py (Christian Heimes)
- passing strings for byte[] or char[] is no longer supported, use JArray
- failure to call initVM() now reported with error instead of crash
- failure to find class now reported with error instead of crash
- failure to call attachCurrentThread() now reported with error, not crash
Version 2.0 -> 2.1
------------------
- fixed bug with not checking missing module name when attempting build
- increased jcc's java stack to 512k
- added support for iPod/iPhone, with shared mode
- added missing cast to jweak in call to DeleteWeakGlobalRef()
- fixed local string ref leak in JArray<jstring> (Aaron Lav)
- fixed local ref leak if ref for object already exists in table (Aaron Lav)
- fixed bug with error reporting from class methods (Aaron Lav)
- fixed bug with reporting python errors with RuntimeException when not shared
- removed bogus storage class from template specializations (Joseph Barillari)
Version 1.9 -> 2.0
------------------
- fixed bug with failed findClass() import
- fixed bug http://bugzilla.osafoundation.org/show_bug.cgi?id=12127
- added -ljvm to linux2 and sunos5 LFLAGS
- added support for using JCC in reverse (starting from Java VM) (shared only)
- using PythonException for reporting Python errors (shared only)
- inserted Apache 2.0 license copyright notices
- fixed bug with declaring array parameters in extension methods
- added support for --module to add individual python files to resulting egg
- JCC in reverse functional on Mac OS X and Linux
- fixed JCC in reverse threading issues
- JCC in reverse usable with Tomcat
- got python stacktrace into PythonException's message
- added 'self' property to get wrapped python object from extension wrapper
- added headless AWT workaround to JCC's own initVM() call
- added DEBUG_CFLAGS to setup.py to improve debug build support
- fixed uninitialized Class class bug (parseArgs)
- added errorName field to PythonException
- added support for excluding stack trace from PythonException
- arrays are now wrapped by JArray() objects instead of expanded into lists
- return by value in arrays now supported
- added support for nested arrays via JArray().cast_()
- included patch to setuptools to support shared mode on Linux
Version 1.8 -> 1.9
------------------
- fixed code generation for clone() broken by finalization proxy work
- added 'union' to the list of reserved words
- fixed castCheck() to work with finalization proxies
- --compile no longer installs by default
- fixed bug in __init__.cpp #include statements for package-less classes
- fixed line ending bug on Windows
- fixed multiple JCC-built extensions in same process problem
- removed env argument from initVM() as it's redundant with the libjcc.dylib
- reimplemented env->setClassPath() in terms of system URLClassLoader hack
- added support for --include option
- added 'NULL' to list of reserved words
- added support for building shared libjcc library on Mac OS X and Linux
- fixed bug with generating wrappers for abstract Enumeration implementations
- added support for --install-dir and --use-distutils options
- copy jcc runtime sources into extension source tree before compiling
- added detection of invalid command line args
- fixed double-free bug when passing in vmargs
- added defines to enable building with MinGW (Bill Janssen)
- added support for --bdist
- added support for --compiler
- fixed crasher on Windows with virtual JObject.weaken$()
- fixed bug not checking return value from initVM()
- fixed bug with findClass() not catching C++ exception when class not found
- added missing code in parseArgs() to handle double[], float[] and long[]
Version 1.7 -> 1.8
------------------
- fixed bug using the wrong field modifiers for setter (Bill Janssen)
- added missing calls for generating wrappers for ancestors of Exception
- added missing call for generating wrappers for String
- added note about --classpath to README
Version 1.6 -> 1.7
------------------
- fixed memory leak when calling inherited methods via callSuper()
- added support for building on Solaris with Sun Studio C++ (Solaris 11)
- fixed leak of local refs of jstring when converting to an array of String
- automated finalization of extensions via proxy for breaking ref cycle
- added Py_CLEAR and Py_VISIT macros for Python 2.3.5 compilation
Earlier versions (changes included in PyLucene versions < 2.3)
--------------------------------------------------------------
- see http://svn.osafoundation.org/pylucene/trunk/jcc/CHANGES
|