=== release 1.28.4 ===

2026-06-12 13:19:43 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-python.doap:
	* meson.build:
	  Release 1.28.4

2026-05-11 18:33:25 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.28.3

=== release 1.28.3 ===

2026-05-11 18:28:12 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-python.doap:
	* meson.build:
	  Release 1.28.3

2026-04-07 20:07:19 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.28.2

=== release 1.28.2 ===

2026-04-07 20:02:23 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-python.doap:
	* meson.build:
	  Release 1.28.2

2026-03-07 11:53:53 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* testsuite/test_gst.py:
	  python: Make Gst.Bin iterable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11036>

2026-03-07 11:52:47 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Add item type annotation to Iterator class
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11036>

2026-02-26 01:53:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.28.1

=== release 1.28.1 ===

2026-02-26 01:44:06 +0000  Tim-Philipp Müller <tim@centricular.com>

	* gst-python.doap:
	* meson.build:
	  Release 1.28.1

2023-04-02 16:53:45 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	* scripts/dist-common-files.py:
	  modules: dist common files from monorepo root
	  Less noise when making releases, and just need to maintain one copy.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10822>

2026-02-15 17:45:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* README.md:
	  modules: remove subproject README.md from git
	  Will be added to the tarballs based on the monorepo README on dist.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10822>

2026-02-15 17:20:59 +0000  Tim-Philipp Müller <tim@centricular.com>

	* RELEASE:
	  modules: remove RELEASE from git, will be generated from template on dist
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10822>

2026-02-15 15:02:07 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	  modules: Remove NEWS from git which is generated from full release notes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10822>

2026-01-13 09:03:55 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: int|float type is redundant and cause linter issue
	  PYI041 [*] Use `float` instead of `int | float`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10625>

2026-01-13 09:02:49 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Add type hint for public fields
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10625>

2026-01-13 09:01:42 -0500  Xavier Claessens <xclaessens@netflix.com>

	* testsuite/test_types.py:
	  python: Remove duplicated TestDoubleRange
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10625>

2026-01-09 19:50:12 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Add type hints for MapInfo members
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10625>

2026-01-09 19:49:03 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Structure constructor has a single required argument
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10625>

2026-01-09 19:47:19 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Caps constructor has a single optional argument
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10625>

2026-01-27 17:10:54 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.28.0

=== release 1.28.0 ===

2026-01-27 17:02:33 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-python.doap:
	* meson.build:
	  Release 1.28.0

2026-01-14 09:25:24 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Import typing_extension only when type checking
	  We don't want that dependency at runtime.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10541>

2026-01-07 19:47:45 +0800  Yun Liu <yun.m.liu@intel.com>

	* gi/overrides/gstanalyticsmodule.c:
	  analytics: Fix GstAnalyticsMtdType to PyLong conversion on MSVC
	  GstAnalyticsMtdType is a guintptr (64-bit on 64-bit systems), but was
	  being converted using PyLong_FromUnsignedLong which truncates to 32-bit
	  on MSVC where unsigned long is always 32-bit.
	  Use PyLong_FromSize_t instead, which correctly handles pointer-sized
	  unsigned integers on all platforms.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10510>

2026-01-05 20:20:51 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.27.90

=== release 1.27.90 ===

2026-01-05 20:15:10 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-python.doap:
	* meson.build:
	  Release 1.27.90

2025-12-22 16:23:10 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gi/overrides/gstmodule.c:
	  gst: Remove various wrongly added includes
	  These were most likely added by clangd automatically.
	  Please use `-header-insertion=never` with clangd!
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8519>

2025-12-08 12:58:44 -0500  Daniel Morin <daniel.morin@collabora.com>

	* testsuite/test_analytics.py:
	  gst-python: make python linter happy with test_analytics
	  - Change to be confirm fory PEP8
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10244>

2025-12-09 19:13:20 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.27.50

=== release 1.27.50 ===

2025-12-09 19:08:48 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-python.doap:
	* meson.build:
	  Release 1.27.50

2025-12-06 13:58:30 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: override signature cannot contain Gst prefix - again
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10329>

2025-12-06 13:59:12 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Caps/Context.get_structure are not nullable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10314>

2025-12-06 13:58:30 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: override signature cannot contain Gst prefix
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10314>

2025-12-05 12:16:03 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Keep fraction num/denom integers
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10305>

2025-12-05 09:36:58 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* testsuite/test_types.py:
	  python: Make ValueArray and ValueList iterable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10305>

2025-12-05 08:53:52 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: f-string and more typing annotations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10305>

2025-12-04 11:00:29 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Ignore remaining type errors
	  Gst module from stubs contains overridden APIs and not only GI APIs.
	  That confuses the type checker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-04 10:59:41 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Fix docstring format
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-04 09:10:08 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Avoid using Gst. prefix in override signature
	  It confuses the type checker.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-04 09:09:17 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: rename StructureWrapper to StructureContextManager
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-04 09:06:51 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Avoid using Gst._version private attribute
	  Private attributes are not part of typed stubs, so that create a type
	  checker error.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-03 12:19:37 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Raise MissingPluginError when element name does not exist
	  Bin.make_and_add() was raising AddError when a plugin is missing, and it
	  was inconsistent with ElementFactory.make() which returns None.
	  Using exceptions is more pythonic.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-02 14:09:30 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* testsuite/test_gst.py:
	  python: Add list-like API to Gst.Caps
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-02 08:16:48 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* testsuite/test_gst.py:
	  python: Add dict-like API to Gst.Structure
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-01 14:14:59 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/__init__.py:
	* gi/overrides/Gst.py:
	  python: More typing fixes
	  Rename our MiniObject class in overrides to MiniObjectMixin to not
	  confuse the typing with Gst.MiniObject.
	  Add typing annotation to some special methods such as __enter__ because
	  pygobject-stubs now includes them.
	  Export MiniObjectMixin and StructureWrapper because they are exposed by
	  our API, so typing needs them.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-11-30 19:14:23 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/meson.build:
	  devenv: export PYGI_OVERRIDES_PATH
	  Our _GI_OVERRIDES_PATH hack has been upstreamed in pygobject >=3.55,
	  with the new variable name PYGI_OVERRIDES_PATH.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10252>

2025-12-03 11:50:05 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* gi/overrides/gstmodule.c:
	* testsuite/test_gst.py:
	  python: Override GstPadProbeInfo to get writable objects
	  Fixes: #4714.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9909>

2025-10-27 13:29:50 +0000  Thibault Saunier <tsaunier@igalia.com>

	* testsuite/meson.build:
	* testsuite/test_gst.py:
	* testsuite/test_gst_init.py:
	  python: testsuite: Move initialization tests to separate file
	  The TestNotInitialized class contains tests that explicitly call Gst.init()
	  and Gst.deinit(), which can interfere with other tests in the same file that
	  expect GStreamer to already be initialized. Moving these tests to a separate
	  file ensures they run in isolation and don't affect other test cases.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9909>

2025-11-30 14:25:28 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/__init__.py:
	* gi/overrides/Gst.py:
	* gi/overrides/GstAnalytics.py:
	* gi/overrides/GstApp.py:
	* gi/overrides/GstAudio.py:
	* gi/overrides/GstPbutils.py:
	* gi/overrides/GstVideo.py:
	  python: Fix remaining typing warnings in overrides
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10243>

2025-11-30 12:42:47 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/GstAnalytics.py:
	* gi/overrides/GstPbutils.py:
	  python: Coding style fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10243>

2025-11-27 20:59:58 -0500  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* gi/overrides/GstApp.py:
	  python: Add some typing annotation to overrides
	  pygobject-stubs generate stubs for out overridden methods, but they are
	  missing annotations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10238>

2024-03-02 16:44:19 +0100  Michael Olbrich <m.olbrich@pengutronix.de>

	* meson.build:
	  gst-python: fix cross-compiling
	  When cross-compiling, looking in the root filesystem of the build host to find
	  the Python library makes no sense. Instead, assume that the directory and file
	  name provided by Python are correct and use those without checking.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6252>

2025-11-02 13:24:50 +0200  Sebastian Dröge <sebastian@centricular.com>

	* plugins/ges/python/gesotioformatter.py:
	  ges: otio: Use valid Python comment syntax
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9979>

2025-10-27 21:06:26 +0000  Thibault Saunier <tsaunier@igalia.com>

	* plugins/ges/python/gesotioformatter.py:
	  python: gesotioformatter: Improve error handling robustness
	  Catch additional exceptions during OTIO initialization and handle cases
	  where Gst.warning fails when GStreamer is not yet initialized.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9918>

2025-10-27 16:47:35 +0000  Thibault Saunier <tsaunier@igalia.com>

	* testsuite/test_plugin.py:
	  python: testsuite: Fix reference leak in test_plugin
	  The testLoad test was leaking the pipeline and element references,
	  causing the garbage collection verification to fail. Explicitly delete
	  the pipeline after setting it to NULL state to ensure proper cleanup.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9918>

2025-10-27 16:18:16 +0000  Thibault Saunier <tsaunier@igalia.com>

	* testsuite/meson.build:
	  python: testsuite: Ensure core typelib paths are explicitly set for all tests
	  Set GstBase and Gst typelib paths explicitly at the start of the list
	  for all tests to avoid inheriting random directories from test-specific
	  configurations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9918>

2025-10-27 12:07:41 +0000  Thibault Saunier <tsaunier@igalia.com>

	* testsuite/meson.build:
	  python: testsuite: Avoid spaces in test names
	  Simplify test names by removing 'Test ' prefix and spaces.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9918>

2025-10-27 12:05:29 +0000  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/Gst.py:
	  python: Fix NotInitialized mechanism for introspected methods
	  The NotInitialized exception mechanism only searched override class
	  __dict__, missing introspected methods like Caps.from_string which
	  are defined in gi.repository parent classes.
	  This caused test failures with Python 3.13 and newer PyGObject versions.
	  Fix by collecting methods from both the override class and its
	  gi.repository parent, making it work generically for all classes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9918>

2025-10-18 22:59:38 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugin/gstpythonplugin.c:
	  python: Fix GDir leak in gst_python_load_directory
	  Add missing g_dir_close() call to fix memory leak.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9864>

2025-10-15 15:16:50 -0300  Thibault Saunier <tsaunier@igalia.com>

	* plugins/ges/meson.build:
	  meson: python: add GES Python plugin path to meson devenv
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9853>

2025-09-28 09:48:05 -0300  Thibault Saunier <tsaunier@igalia.com>

	* meson.build:
	* plugin/meson.build:
	* plugins/ges/meson.build:
	* plugins/ges/python/gesotioformatter.py:
	* plugins/meson.build:
	  ges: Move OTIO formatter to a separate Python plugin
	  The GES OpenTimelineIO formatter was previously embedded directly in
	  libges using GLib resources, this was all a bit complex for not much
	  benefit, moreover it started to crash recently.
	  Move the formatter to a standalone Python plugin that will be loaded
	  through the standard GStreamer Python plugin infrastructure making
	  it all more simple.
	  The formatter is now located in subprojects/gst-python/plugins/ges/
	  and will only be loaded when the Python plugin is available and
	  opentimelineio is installed.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4676
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9759>

2025-09-29 14:44:32 -0400  Xavier Claessens <xclaessens@netflix.com>

	* meson.build:
	  meson: Remove "allow_fallback: true" from non essential deps
	  It means that if that dependency is not found on the system, and the
	  corresponding feature option is set to "auto", it won't build the
	  fallback subproject.
	  This reduces size and build time of default build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9767>

2025-09-09 09:14:53 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Add Gst.MapInfo.get_data() override
	  This is for consistency with the C API that has
	  gst_map_info_get_data().
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9665>

2025-09-07 20:39:44 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.27.2

=== release 1.27.2 ===

2025-09-07 20:34:55 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-python.doap:
	* meson.build:
	  Release 1.27.2

2025-09-01 18:39:56 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gi/overrides/Gst.py:
	  gst-python: Add workaround for pygobject handling nullability in gst_init() wrong
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9524>

2025-08-18 14:13:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gi/overrides/gstmodule.c:
	  python: Handle buffer PTS/DTS/duration/offset/offset-end as unsigned long long
	  Previously these fields were truncated to 32 bits on 32 bit platforms and
	  64 bit Windows because of using `unsigned long`.
	  Thanks to Tim Williams for reporting and debugging this issue.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4603
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9567>

2025-07-30 18:24:49 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/meson.build:
	  scripts: git-hooks: ci: Add GES children properties documentation check
	  Add a pre-commit hook that automatically checks if GES children properties
	  documentation is up to date when GES source files are modified. The hook
	  runs the document-children-props.py script and warns if the generated
	  documentation files have changes that need to be committed.
	  This ensures that children properties documentation stays synchronized
	  with code changes and prevents outdated documentation from being merged.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5987>

2025-07-08 20:00:07 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.27.1

=== release 1.27.1 ===

2025-07-08 19:55:15 +0100  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-python.doap:
	* meson.build:
	  Release 1.27.1

2025-06-10 14:41:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>

	* scripts/gen-changelog.py:
	  gstreamer-vaapi: remove subproject
	  It's almost superseded by va plugin in gst-plugins-bad.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9200>

2025-01-09 16:26:50 +0100  Edward Hervey <edward@centricular.com>

	* testsuite/meson.build:
	  gst-python/tests: don't depend on webrtc and rtsp-server
	  They might not be built, nor are they needed for the tests
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8292>

2025-05-30 12:41:24 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/GstApp.py:
	* gi/overrides/gstmodule.c:
	* gi/overrides/meson.build:
	* testsuite/meson.build:
	* testsuite/test_appsink.py:
	  python: Fix pulling events from appsink
	  appsink.pull_object() is introspectable, but it needs a way to convert
	  the GstMiniObject to its GstEvent/GstSample subclass.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9148>

2025-06-01 15:31:12 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Inherit MiniObject first
	  This ensures methods it overrides takes precedence over
	  gi's Gst.MiniObject. Python's MRO resolves in leftmost class first.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9148>

2025-06-01 16:29:09 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* testsuite/test_gst.py:
	  python: Fix API break by not forcing usage of context manager
	  caps.get_structure(0).get_name() used to work, but the usage of
	  StructureWrapper broke it but forcing to wrap it in a "with" statement.
	  We already have a Structure subclass, simply make it reference its
	  parent Gst.Caps object.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9148>

2025-05-30 11:34:00 -0400  Xavier Claessens <xclaessens@netflix.com>

	* testsuite/meson.build:
	  python: Fix unit tests running against system libgstreamer
	  Unit tests for which `i.get(2, [])` is empty were not adding
	  testsenv_ld_library_path to LD_LIBRARY_PATH.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9148>

2025-05-29 15:52:24 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/Gst.py:
	* testsuite/test_gst.py:
	  python: Convert buffer metadata API to use @property decorators
	  Convert buffer metadata getter/setter methods to Python properties for
	  more intuitive access. This makes the API more Pythonic by allowing
	  direct property assignment (buf.pts = 42) instead of method calls
	  (buf.set_pts(42)).
	  Updated properties: flags, pts, dts, duration, offset, offset_end
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9134>

2025-05-23 13:09:04 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/Gst.py:
	* gi/overrides/gstmodule.c:
	* testsuite/test_gst.py:
	  python: Make use of the new structure.is_writable method
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9027>

2025-05-23 00:25:53 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/Gst.py:
	* gi/overrides/gstmodule.c:
	* testsuite/test_gst.py:
	  python: Add overrides for Buffer/Query/Event/Context to handle writability
	  And make them look more like proper MiniObject
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9027>

2025-05-22 23:26:23 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/Gst.py:
	* gi/overrides/gstmodule.c:
	* testsuite/test_gst.py:
	  python: Factor out a MiniObject class that all mini object will be based on
	  Making the API closer to what it should be as Caps are MiniObject
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9027>

2025-05-22 19:19:27 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/Gst.py:
	* gi/overrides/gstmodule.c:
	* testsuite/test_gst.py:
	  python: Add a Caps.get_value variant that does not copy the structures
	  Keeping the __getitem__ implementation the same way
	  This also now make structure.set_value() raise an exception if the structure
	  was not writable
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9027>

2025-05-18 15:25:00 +0200  Thibault Saunier <tsaunier@igalia.com>

	* gi/overrides/Gst.py:
	* gi/overrides/gstmodule.c:
	* testsuite/test_gst.py:
	  python: Add overrides to be able to write into the GstStructure inside GstCaps
	  Add Python bindings for allowing to modify GstCaps structures with proper
	  writability checks.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9027>

2025-05-09 11:14:03 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* testsuite/test_types.py:
	  python: Add Gst.Float wrapper
	  When the float python type is used inside a GstValueArray, it is
	  converted to a G_TYPE_DOUBLE GValue. Sometimes it is important to be
	  able to force G_TYPE_FLOAT GValue, for instance to set the the
	  "mix-matrix" property on audioconvert.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8957>

2025-05-09 08:53:31 -0400  Xavier Claessens <xclaessens@netflix.com>

	* meson.build:
	  python: Fix usage of our overrides from devenv
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952>

2025-05-09 08:23:13 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	  python: Optimize ValueArray.get_size()
	  There is no need to call into C layer as we have the python list
	  already.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952>

2025-05-08 13:19:06 -0400  Xavier Claessens <xclaessens@netflix.com>

	* gi/overrides/Gst.py:
	* testsuite/test_types.py:
	  python: override Gst.ValueArray.append_value()
	  This ensures that self.array is kept up to date.
	  Add append() method that is more natural than the static method.
	  Allow creating empty ValueArray by omitting the constructor parameter.
	  Fixes: #3114
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952>

2025-05-08 14:06:32 -0400  Xavier Claessens <xclaessens@netflix.com>

	* testsuite/test_types.py:
	  python: Fix coding style errors in unit tests
	  Otherwise pre-commit does not pass.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8952>

2025-03-15 20:56:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* meson.options:
	  meson: rename meson_options.txt to meson.options
	  Which is supported since Meson 1.1:
	  https://mesonbuild.com/Release-notes-for-1-1-0.html#support-for-reading-options-from-mesonoptions
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8651>

2025-04-01 18:35:50 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* plugin/meson.build:
	  gst-python: Fix warning about not specifying gst_plugins in the
	  ../meson.build:231: WARNING: DEPRECATED use of the `plugins` variable in gst-python.
	  ../meson.build:232: WARNING: The variable should now be called `gst_plugins` and use:
	  ../meson.build:233: WARNING: `declare_dependency( link_with: <plugin_target>,
	  variable: {'full_path': <plugin_target>.full_path()})` instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753>

2025-04-01 18:04:28 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	  gst-python: Use allow_fallback instead of fallback
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753>

2025-02-11 11:39:43 +0530  Santosh Mahto <santosh.mahto@collabora.com>

	* gi/overrides/GstAnalytics.py:
	* gi/overrides/gstanalyticsmodule.c:
	* testsuite/test_analytics.py:
	  python analytics: Add api iter_on_type to iterate over specific Mtd types
	  This adds new Python api `iter_on_type()` to GstAnalyticsRelationMeta
	  to iterate over mtd type specified by argument.
	  usage:
	  ```
	  for i in rmeta.iter_on_type(GstAnalytics.ODMtd):
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8459>

2025-02-24 19:46:12 +0530  Santosh Mahto <santosh.mahto@collabora.com>

	* gi/overrides/GstAnalytics.py:
	* gi/overrides/gstanalyticsmodule.c:
	* testsuite/test_analytics.py:
	  analytics: Add python api to get relation path
	  A new api `Mtd.relation_path()` is added to get relation chain
	  between two Mtd in RelationMeta.
	  Usage:
	  ```
	  for i in mtd1.relation_path(mtd2, max_span=4, relation_type=...):
	  pass
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8556>

2025-02-11 19:01:06 +0530  Santosh Mahto <santosh.mahto@collabora.com>

	* gi/overrides/GstAnalytics.py:
	* gi/overrides/gstanalyticsmodule.c:
	* testsuite/test_analytics.py:
	  gstanalytics: Add api iter_direct_related python to GstAnalyticsMeta
	  The API `iter_direct_related` allows to iterate over directly related
	  Mtd objects.
	  Usage:
	  ```
	  for i in mtd.iter_direct_related(GstAnalytics.RELATE_TO,
	  GstAnalytics.ODMtd)
	  ```
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8461>

2025-03-20 10:09:21 +0100  Matteo Bruni <matteo.bruni@gmail.com>

	* plugin/gstpythonplugin.c:
	  gst-python: fix compatibility with PyGObject>=3.52.0
	  PyGObject 3.52.0 moved OverridesProxyModule _introspection_module to __slots__,
	  causing Segmentation Faults when accessing the field.
	  Since _introspection_module is used to get Gst.Element but is never actually
	  used afterward, we fix the issue by removing this part.
	  Fixes #4314
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8653>

2025-03-12 13:59:45 +0100  Tim-Philipp Müller <tim@centricular.com>

	* RELEASE:
	* meson.build:
	  Back to development in main branch after 1.26.0
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8621>

=== release 1.26.0 ===

