- Sticky Session for
ref()handles:PythonEmbed.hasActiveHandles()ensures instances with live handles are excluded from idle scale-down
PythonEmbedPool.proxy(int refId, Class)andPythonEmbed.proxy(int refId, Class)— useproxy(PythonHandle, Class)orproxy(String, Class)instead
- Independent module versioning with
runtime-v*publish tags - Version extracted from git tags in publish workflow
- Add default_encoder fallback to msgpack.packb in write_frame for broader type compatibility
- Include MIT LICENSE file in all JAR artifacts
PythonEmbedruntime with eval, exec, execFile, and toJson APIsPythonEmbedPoolwith auto-scaling and asyncCompletableFutureAPI- Object handles with numeric ID referencing for long-lived Python objects
- Generator/streaming support via Java
Iterator - Python-to-Java callbacks via
_bridge.call()and_bridge.push() - Batch execution (
batchEval/batchExec) for multiple requests in one round-trip - Proxy objects (
PythonProxy) with dynamic Java interface implementation - Builder API with fluent construction for
PythonEmbedandPythonEmbedPool - Type-safe argument conversion (
arg()): null, Boolean, Number, String, List, Map, Set, byte[], datetime - Python log forwarding to SLF4J via
python.*logger namespace - Periodic health check with RSS memory, ref count, and GC status reporting
- Close hook support for resource cleanup