Changelog
Pose Estimation filter release notes
v0.1.14 - 2026-09-23Direct link to v0.1.14 - 2026-09-23
ChangedDirect link to Changed
- Bump the openfilter dependency to 1.4.0
v0.1.13 - 2026-08-20Direct link to v0.1.13 - 2026-08-20
ChangedDirect link to Changed
- Build the filter image on
openfilter-base:py3.14(waspy3.11). The published wheel supports Python 3.14, so the image now ships 3.14. Running on 3.10–3.13 is unaffected.
v0.1.12 - 2026-08-18Direct link to v0.1.12 - 2026-08-18
ChangedDirect link to Changed
- Update the openfilter dependency to 1.3.0
- Add Python 3.13 and 3.14 support: raise the
requires-pythonceiling to<3.15; the CI test matrix now runs 3.10–3.14.
v0.1.11 - 2026-08-10Direct link to v0.1.11 - 2026-08-10
ChangedDirect link to Changed
- Build the image on
openfilter-base(weekly apt-upgraded python-slim) instead of a stalepython:X.Y.Z-slimpin, clearing the OS-package CVEs the pin carried. - Update the openfilter dependency to 1.2.2
v0.1.10 - 2026-08-04Direct link to v0.1.10 - 2026-08-04
ChangedDirect link to Changed
- Update
openfilter[all]to>=1.2.1 - Pin the Docker base to
python:3.11.12-slim. - Refresh the
docker-compose.yamlopenfilter utility image tags to1.2.1and pin the filter's own image to the release version.
v0.1.9 - 2026-04-27Direct link to v0.1.9 - 2026-04-27
ChangedDirect link to Changed
- Documentation pass: updated backend status table to clearly describe mediapipe as a core dependency and RTMPose as optional install (
.[rtmpose]/.[rtmpose-gpu]). - Added
.[rtmpose-gpu]install variant to README installation section. - Clarified per-backend behavior in config matrix:
thresholdis RTMPose-only (MediaPipe ignores it);model_pathis required for MediaPipe and ignored by RTMPose;confidence_strategydefaults and supported values are now per-backend;devicenotes docker-compose defaults togpu. - Updated
docs/overview.mdto reflect RTMPose optional install andkeypoint_mean-only confidence strategy. - Bumped
POSE_ESTIMATION_IMAGE_TAGin.env.exampletov0.1.9.
v0.1.8 - 2026-04-24Direct link to v0.1.8 - 2026-04-24
FixedDirect link to Fixed
- Restore RELEASE.md heading format
v0.1.7 - 2026-04-23Direct link to v0.1.7 - 2026-04-23
ChangedDirect link to Changed
-
Bump openfilter SDK, align CI workflow with shared release gate (source-paths)
-
Bump openfilter dependency to
>=0.1.30.
v0.1.6 - 2026-04-20Direct link to v0.1.6 - 2026-04-20
ChangedDirect link to Changed
- Migrate Dockerfile from deprecated
filter_basetopython:3.11-slimwith source install - Simplify filter.mk build-image (plain docker build, no GAR secrets)
- Simplify Makefile install (pip install -e .[dev], no GAR auth)
v0.1.5 - 2026-04-20Direct link to v0.1.5 - 2026-04-20
ChangedDirect link to Changed
- Add create-release.yaml for GAR premium publishing
- Remove old ci.yaml
- Switch to shared security-scan
- Update Makefile IMAGE to premium-filters/
- Bump openfilter to >=0.1.27
ChangedDirect link to Changed
- Docker image: install
libnvidia-gl-${NVIDIA_GL_MAJOR}(default535) alongside Mesa GL/EGL libs so MediaPipe’s GPU delegate can use the NVIDIA EGL/GLES ICD instead of falling back to llvmpipe (CPU GL). Override withdocker build --build-arg NVIDIA_GL_MAJOR=<driver major>to match the host GPU driver.
v0.1.4 - 2026-04-07Direct link to v0.1.4 - 2026-04-07
ChangedDirect link to Changed
- Renamed the public device value from
"cuda"to"gpu"(FILTER_DEVICE=gpu) so the setting is backend-agnostic. Each backend maps"gpu"to its own runtime internally: RTMPose usesCUDAExecutionProvidervia onnxruntime; MediaPipe usesDelegate.GPUvia EGL. - Added
EGL_PLATFORM=surfacelessto Docker Compose env for MediaPipe GPU: MediaPipe uses OpenGL ES via EGL (not CUDA), and headless NVIDIA Docker requires this env var for EGL context initialization to succeed.
BreakingDirect link to Breaking
scripts/run_pose_estimation_pipeline.pyno longer reads backward-compatible env aliases. Use theFILTER_*variables (andWEBVIS_PORT) only. Removed aliases:POSE_BACKEND→FILTER_BACKEND,DEVICE→FILTER_DEVICE,MODEL_PATH→FILTER_MODEL_PATH,MAX_PERSONS→FILTER_NUM_POSES,THRESHOLD→FILTER_THRESHOLD,DRAW_VISUALIZATION→FILTER_DRAW_VISUALIZATION,VISUALIZATION_TOPIC→FILTER_VISUALIZATION_TOPIC,PORT→WEBVIS_PORT.
FixedDirect link to Fixed
- Added
nvidia-cublas-cu12andnvidia-cudnn-cu12pip packages to the Docker image to providelibcublasLt.so.12and cuDNN runtime libraries required byonnxruntime-gpu>=1.18. Without these, the CUDA provider failed silently and inference ran on CPU despiteeffective_device=gpubeing logged. - Fixed misleading
effective_device=gpulog output when CUDA libraries are missing:RTMPoseBackend._provider_ordernow probeslibonnxruntime_providers_cuda.soviactypes.CDLLbefore claiming CUDA is available, triggering accurate CPU fallback and logging when libs are absent. - Added full set of CUDA toolkit Python packages to the Docker image (
nvidia-cuda-runtime-cu12,nvidia-cublas-cu12,nvidia-cudnn-cu12,nvidia-curand-cu12,nvidia-cufft-cu12,nvidia-cusolver-cu12,nvidia-cusparse-cu12) required byonnxruntime-gpu>=1.18for GPU inference. These libs are not provided by the NVIDIA container runtime (driver only).ldconfigis run post-install to register all lib dirs system-wide. - Added
tqdmto the Docker image pip install:rtmlibis installed with--no-depsto prevent pip from pulling CPU-onlyonnxruntime, but this also skippedtqdm, causingModuleNotFoundErrorat startup.
v0.1.3 - 2026-03-28Direct link to v0.1.3 - 2026-03-28
AddedDirect link to Added
- Docker image now bundles RTMPose runtime dependencies:
onnxruntime-gpuandrtmlib, withonnxruntime-gpuinstalled beforepip install --no-deps rtmlibso the resolver does not replace GPU wheels with the CPU-onlyonnxruntimepackage.
RemovedDirect link to Removed
- Removed exploratory notebooks
mediapipe.ipynbandrtmpose.ipynb.
FixedDirect link to Fixed
- Added missing runtime system libraries for MediaPipe in Docker image (
libgles2,libegl1,libgl1) to prevent startup crashes caused by missinglibGLESv2.so.2/libEGL.so.1. - Reduced noisy runtime output by making
FILTER_MQ_LOGoptional indocker-compose.yaml(instead of forcingprettyoutput). - Improved per-frame logging behavior to keep
INFOlogs concise and move detailed pose metadata payloads toDEBUG.
v0.1.2 - 2026-03-27Direct link to v0.1.2 - 2026-03-27
AddedDirect link to Added
- Added RTMPose backend implementation with pluggable backend factory registration.
- Added shared output schema mapping for RTMPose in
frame.data["meta"](task,model,confidence,keypoints) with append-only merge behavior. - Added CPU/CUDA runtime handling for RTMPose with clean fallback from CUDA to CPU when provider/runtime is unavailable.
- Added CI-safe mock-based tests for RTMPose schema parity, fallback semantics, and optional dependency messaging.
- Added RTMPose optional dependency extras in
pyproject.toml(rtmpose,rtmpose-gpu) to keep default install path CI-safe. - Added RTMPose usage paths in
README.md,QUICKSTART.md,.env.example, and pipeline script env handling (FILTER_*with script aliases).
v0.1.1 - 2026-03-23Direct link to v0.1.1 - 2026-03-23
AddedDirect link to Added
- MediaPipe pose-estimation path in
FilterPoseEstimationwith append-onlyframe.data["meta"]enrichment (task,model,confidence,keypoints). - CI-safe unit tests for config defaults, GPU fallback behavior, multi-person mapping, and metadata preservation.
- Quickstart updates for
data/example.mp4, compose env overrides, and.env.example.
v0.1.0 - 2025-02-22Direct link to v0.1.0 - 2025-02-22
AddedDirect link to Added
- Initial Release: new Pose Estimation filter