=== release 1.29.2 ===

2026-06-29 00:04:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-plugins-ugly.doap:
	* meson.build:
	  Release 1.29.2

2026-06-22 11:07:43 +0900  Seungha Yang <seungha@centricular.com>

	* meson.build:
	  msvc: Fix build after adding new tracer macros
	  MSVC's legacy preprocessor does not expand variadic args in
	  recursive macros correctly, causing new tracer macros to fail
	  with cl version 19.41.34120.
	  Use standard conforming preprocessor mode instead
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11907>

2026-06-11 15:38:36 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Keep of copy of the stream's extra_data
	  The pointer will become invalid after unmapping the adapter. While it is only
	  accessed before unmapping, let's avoid future mistakes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11825>

2026-06-11 16:23:34 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Check for enough data when descrambling audio packets
	  And discard broken packets instead of erroring out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11825>

2026-06-11 15:31:55 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmdemux.h:
	  rmdemux: Check that enough data is available before parsing header data
	  And skip over invalid header packets.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5039
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5038
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11825>

2026-06-11 14:25:10 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Use gsize for length parameters
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11825>

2026-06-11 14:17:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Catch short reads instead of reading from less data than expected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11825>

2026-06-11 13:51:03 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rademux.c:
	  rademux: Make sure enough data is actually available to parse the packet header
	  Unlikely that we don't have 64 bytes more in the adapter but better safe than sorry.
	  Also add FIXME about broken but harmless code.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11825>

2026-06-11 12:40:05 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	* gst/realmedia/rmutils.c:
	* gst/realmedia/rmutils.h:
	  realmedia: Use gsize for indexes and avoid integer overflows
	  One length variable stays a signed integer together with range checks because
	  it's used in decreasing loops that can end up with negative numbers in valid
	  situations.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11825>

2026-05-03 23:29:45 +0300  Sebastian Dröge <sebastian@centricular.com>

	* ext/sidplay/gstsiddec.cc:
	* gst/asfdemux/gstasfdemux.c:
	* gst/realmedia/rademux.c:
	* gst/realmedia/rmdemux.c:
	  gst: Pass a strong reference to the user_data to gst_pad_start_task()
	  Otherwise the object could get disposed while the task function is still
	  running, leading to crashes and worse.
	  While this technically creates a reference cycle in most cases, this is not
	  actually a problem because the task has to be stopped before the element and pad
	  can get disposed and anything else leads to exactly the problem this is solving.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11489>

2026-04-07 13:09:24 +0100  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	  meson: Require C std gnu11 or c11
	  When using gcc or clang, gnu11 will be used, and when using MSVC c11
	  will be used which will pass /std:c11. This provides us with the
	  `restrict` keyword on all supported platforms.
	  We can do this now because we require Visual Studio 2019.
	  This feature was added in Meson 1.3
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11266>

2026-03-27 21:27:45 +0000  Thibault Saunier <tsaunier@igalia.com>

	* ext/x264/GstX264Enc.prs:
	  x264enc: Add adaptive bitrate preset for YouTube
	  Add resolution-dependent bitrate alternatives to the YouTube preset
	  using the new GstPreset property alternatives mechanism. When the
	  "Profile YouTube" preset is loaded and the encoder receives a new
	  format, the bitrate is automatically adjusted based on the input
	  resolution and framerate, following YouTube's recommended settings.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11092>

2026-03-27 19:43:04 -0300  Thibault Saunier <tsaunier@igalia.com>

	* ext/x264/gstencoderbitrateprofilemanager.c:
	* ext/x264/gstencoderbitrateprofilemanager.h:
	* ext/x264/gstx264enc.c:
	* ext/x264/gstx264enc.h:
	* ext/x264/meson.build:
	  Revert "x264enc: Respect Youtube bitrate recommandation"
	  This reverts commit 9273903286b0fe7a9d8a5279c44a5e149e55ff24.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11092>

2026-03-27 21:52:17 +0100  Tim-Philipp Müller <tim@centricular.com>

	* docs/gst_plugins_cache.json:
	* ext/dvdread/demo-play:
	* ext/meson.build:
	* ext/mpeg2dec/gstmpeg2dec.c:
	* ext/mpeg2dec/gstmpeg2dec.h:
	* ext/mpeg2dec/meson.build:
	* meson.options:
	* tests/check/elements/mpeg2dec.c:
	* tests/check/meson.build:
	  mpeg2dec: remove plugin
	  Fixes #4868
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11173>

2023-09-28 17:06:54 +0200  Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>

	* ext/x264/gstx264enc.c:
	  x264enc: Refactor SEI handling
	  Allocate the array once and make it easier to handle more GstMeta types.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11114>

2026-03-22 17:15:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	  modules: remove zombie RELEASE and NEWS files
	  They seem to have come back from the dead by mistake.

2026-03-22 15:00:47 +0000  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.29.1

=== release 1.29.1 ===

2026-03-22 14:56:37 +0000  Tim-Philipp Müller <tim@centricular.com>

	* NEWS:
	* RELEASE:
	* gst-plugins-ugly.doap:
	* meson.build:
	  Release 1.29.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/11094>

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/11094>

2026-03-22 14:20:18 +0000  Tim-Philipp Müller <tim@centricular.com>

	* RELEASE:
	  modules: remove RELEASE from git, will be generated from template on dist

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/11094>

2026-03-18 23:43:27 +0100  Tim-Philipp Müller <tim@centricular.com>

	* po/LINGUAS:
	* po/kk.po:
	  gst-plugins-ugly: update translations
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11074>

2026-02-11 20:00:04 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Avoid integer overflow when checking if enough data is available for video fragment
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10883>

2026-02-11 19:58:31 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/realmedia/rmdemux.c:
	  rmdemux: Check if new video fragment overflows the fragment storage before storing it
	  There already was a check but that happened afterwards, i.e. after an
	  out-of-bounds write that overwrote some following struct data.
	  Fixes GST-SA-2026-0005, CVE-2026-2922, ZDI-CAN-28845.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4905
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10883>

2026-02-11 19:27:09 +0200  Sebastian Dröge <sebastian@centricular.com>

	* gst/asfdemux/gstasfdemux.c:
	  asfdemux: Error out on files with more than 32 streams
	  This avoids overflowing the static streams array and overwriting
	  random other element state.
	  Fixes GST--SA-2026-0006, CVE-2026-2920, ZDI-CAN-28843.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4900
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10881>

2026-01-27 18:36:19 +0000  Tim-Philipp Müller <tim@centricular.com>

	* README.md:
	* RELEASE:
	* meson.build:
	  Back to development in main branch after 1.28.0
	  - Track orc main branch
	  - Track gst-plugins-rs main branch
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10616>

=== release 1.28.0 ===

