=== release 1.28.6 ===

2026-08-05 12:59:39 +0100  Tim-Philipp Müller <tim@centricular.com>

	* gst-rtsp-server.doap:
	* meson.build:
	  Release 1.28.6

2026-07-29 01:56:49 -0400  Thibault Saunier <tsaunier@igalia.com>

	* gst/rtsp-server/rtsp-thread-pool.c:
	* tests/check/gst/threadpool.c:
	  rtsp-server: fix racy leak in test_pool_thread_copy under valgrind
	  A copied GstRTSPThread shares the original's mainloop and context and only
	  holds references on them. The test stopped both threads, attaching two quit
	  idle sources to the shared context. The worker returns as soon as the first
	  is dispatched, so if the copy's source is attached after that, it never runs
	  and its destroy-notify leaks the copy -- an ~840-byte leak that trips
	  valgrind's --error-exitcode, racily.
	  Stop only the original and release the copy with gst_rtsp_thread_unref(); the
	  copy holds only references, so unref is the correct, deterministic disposal.
	  Releasing a never-stopped thread means _gst_rtsp_thread_free() must handle
	  impl->source being NULL (only set once stopped), so guard the g_source_unref().
	  Example failed CI job:
	  https://gitlab.freedesktop.org/gstreamer/gstreamer/-/jobs/105616117
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12201>

2026-07-21 15:35:44 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	  meson: Make the g-ir-scanner init section consistent across modules
	  We weren't disabling the registry correctly due to typos and missing
	  env vars.
	  This speeds up introspection builds considerably on Windows.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12163>

2026-07-08 23:48:39 +0200  Tim-Philipp Müller <tim@centricular.com>

	* meson.build:
	  Back to development after 1.28.5

=== release 1.28.5 ===

2026-07-08 23:42:39 +0200  Tim-Philipp Müller <tim@centricular.com>

	* gst-rtsp-server.doap:
	* meson.build:
	  Release 1.28.5

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

	* meson.build:
	  Back to development after 1.28.4

=== release 1.28.4 ===

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

	* gst-rtsp-server.doap:
	* meson.build:
	  Release 1.28.4

2026-05-29 16:55:57 +0200  Niclas Götting <niclas.goetting@uol.de>

	* gst/rtsp-server/rtsp-media-factory.h:
	  RTSPMediaFactory: make create_pipeline introspectable
	  Due to a missing doc string, the create_pipeline method
	  was not exposed in the python bindings, thus not allowing
	  for a do_create_pipeline override in RTSPMediaFactory
	  subclasses in python.
	  This commit adds said doc string.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11726>

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-rtsp-server.doap:
	* meson.build:
	  Release 1.28.3

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

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-rtsp-server.doap:
	* meson.build:
	  Release 1.28.2

2026-03-30 16:40:02 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtsp-sink/gstrtspclientsink.c:
	  gst: Fix a couple of const correctness bugs around strchr() usage
	  `assignment discards ‘const’ qualifier from pointer target type`
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11186>

2026-03-16 11:53:00 +0100  Peter Stensson <petest@axis.com>

	* gst/rtsp-server/rtsp-client.c:
	  rtsp-client: Lock media when unlinking session medias
	  If the session timed out while handling the play request the cleanup for
	  the session would start removing medias which could cause a segmentaion
	  fault.
	  The locking of the media on cleanup adds synchronization with the
	  request handlers and resolves the crashes.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11041>

2026-02-19 11:24:25 +0200  Marko Kohtala <marko.kohtala@gmail.com>

	* gst/rtsp-server/rtsp-stream.c:
	  rtsp-stream: Clear send_thread when it's freed
	  No new thread was created, but instead the freed memory was accessed when
	  media was reused.
	  Fixes #4920
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10950>

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-rtsp-server.doap:
	* meson.build:
	  Release 1.28.1

2026-02-22 12:01:31 +0100  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtsp-sink/gstrtspclientsink.c:
	  rtspclientsink: don't error out when stream transport notifies timeout
	  This can and will happen when the server is still alive and well, as
	  long as it does not send a receiver report for one of the ssrcs (for
	  instance a retransmission ssrc)
	  See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4911
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10864>

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: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-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-rtsp-server.doap:
	* meson.build:
	  Release 1.28.0

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-rtsp-server.doap:
	* meson.build:
	  Release 1.27.90

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-rtsp-server.doap:
	* meson.build:
	  Release 1.27.50

2025-11-12 11:03:07 +0100  Patricia Muscalu <patricia@axis.com>

	* gst/rtsp-server/rtsp-client.c:
	* tests/check/gst/client.c:
	  rtsp-client: Add a pre-closed signal
	  Provide a way for an application to be notified when
	  a connection is closed, before the client's sessions are
	  cleaned up. This is useful when a client terminates its
	  session improperly, for example, by sending a TCP RST.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/10081>

2025-09-29 17:24:08 +0900  Seungha Yang <seungha@centricular.com>

	* examples/test-replay-server.c:
	  rtsp-server: examples: Port to gst_object_call_async
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/869>

2025-10-05 14:56:36 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp-server/rtsp-media.c:
	* gst/rtsp-server/rtsp-session-media.c:
	* gst/rtsp-server/rtsp-session.c:
	* gst/rtsp-server/rtsp-stream.c:
	  rtsp-server: mark items that are unused when checks or asserts are disabled
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9793>

2025-09-25 08:36:52 -0400  Doug Nazar <nazard@nazar.ca>

	* examples/test-auth-digest.c:
	* examples/test-auth.c:
	* examples/test-netclock.c:
	* gst/rtsp-server/rtsp-client.c:
	* gst/rtsp-server/rtsp-session-pool.c:
	* tests/check/gst/mediafactory.c:
	* tests/check/gst/rtspclientsink.c:
	  rtsp-server: Fixes/workarounds for G_GNUC_WARN_UNUSED_RESULT
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9772>

2025-09-25 08:33:59 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp-server/rtsp-address-pool.h:
	* gst/rtsp-server/rtsp-auth.h:
	* gst/rtsp-server/rtsp-client.h:
	* gst/rtsp-server/rtsp-media-factory-uri.h:
	* gst/rtsp-server/rtsp-media-factory.h:
	* gst/rtsp-server/rtsp-media.h:
	* gst/rtsp-server/rtsp-mount-points.h:
	* gst/rtsp-server/rtsp-onvif-client.h:
	* gst/rtsp-server/rtsp-onvif-media-factory.h:
	* gst/rtsp-server/rtsp-onvif-server.h:
	* gst/rtsp-server/rtsp-permissions.h:
	* gst/rtsp-server/rtsp-server-object.h:
	* gst/rtsp-server/rtsp-session-media.h:
	* gst/rtsp-server/rtsp-session-pool.h:
	* gst/rtsp-server/rtsp-session.h:
	* gst/rtsp-server/rtsp-stream-transport.h:
	* gst/rtsp-server/rtsp-stream.h:
	* gst/rtsp-server/rtsp-thread-pool.h:
	* gst/rtsp-server/rtsp-token.h:
	  rtsp-server: Add G_GNUC_WARN_UNUSED_RESULT to funcs with transfer full returns
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9772>

2025-09-25 08:32:02 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp-server/rtsp-auth.c:
	  rtsp-server: Fix annotation
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9772>

2025-09-24 15:33:02 -0400  Doug Nazar <nazard@nazar.ca>

	* examples/test-replay-server.c:
	* gst/rtsp-server/rtsp-media-factory-uri.c:
	  gst: fixes
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9766>

2025-09-08 17:50:32 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp-server/rtsp-stream.c:
	  gst: Don't use g_assert() around production code
	  If G_DISABLE_ASSERT is defined the code will not be compiled.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9662>

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-rtsp-server.doap:
	* meson.build:
	  Release 1.27.2

2025-09-06 11:08:47 +0300  Sebastian Dröge <sebastian@centricular.com>

	* gst/rtsp-server/rtsp-media.c:
	* gst/rtsp-sink/gstrtspclientsink.c:
	  gst: Change usage of gst_element_state_*() to gst_state_*()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9655>

2025-06-17 06:36:57 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/gst/media.c:
	* tests/check/gst/rtspserver.c:
	* tests/check/gst/threadpool.c:
	  rtsp-server: tests: Switch to fixtures to ensure pool shutdown
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9351>

2025-07-31 17:39:44 -0400  Olivier Crête <olivier.crete@collabora.com>

	* REQUIREMENTS:
	  REQUIREMENTS: Remove outdated doc
	  They contained information which was completely outdated.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9476>

2025-05-29 14:18:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtsp-sink/gstrtspclientsink.c:
	  rtspclientsink: post error message on RTCP timeout
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9124>

2025-05-29 14:14:38 +0200  Mathieu Duponchelle <mathieu@centricular.com>

	* gst/rtsp-server/rtsp-stream-transport.c:
	  rtsp-stream-transport: expose new timed-out property
	  Upon RTCP timeout, rtpsession emits a signal that we catch to set a
	  timed_out private field, this also exposes it as a property of the
	  transport in order for users (such as rtspclientsink) to get notified
	  about it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9124>

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-rtsp-server.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-05-28 09:13:46 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/gst/onvif.c:
	* tests/check/gst/rtspserver.c:
	* tests/test-reuse.c:
	  rtsp-server: tests: Fix a few memory leaks
	  Also use any port to run server to avoid conflicts.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9116>

2025-05-21 09:54:53 -0400  Doug Nazar <nazard@nazar.ca>

	* tests/check/gst/media.c:
	* tests/check/gst/rtspserver.c:
	  rtsp-server: A few small memory cleanups
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9052>

2025-05-13 19:45:12 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp-sink/gstrtspclientsink.c:
	  rtspclientsink: Free various props before being set
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978>

2025-05-02 08:56:19 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* gst/rtsp-server/rtsp-latency-bin.c:
	* gst/rtsp-server/rtsp-media.c:
	  properties: add G_PARAM_STATIC_STRINGS where missing
	  "Hold on, I know you need to generate the registry, but let me just
	  create copies of all those strings first", Framework whispered
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8915>

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-03-14 22:15:10 -0400  Doug Nazar <nazard@nazar.ca>

	* gst/rtsp-sink/gstrtspclientsink.c:
	  rtspclientsink: Free various props during cleanup
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648>

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 ===

