=== release 1.27.2 ===

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

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

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

	* validate/gst/validate/media-descriptor-writer.c:
	* validate/tools/gst-validate.c:
	  gst: Change usage of gst_element_state_*() to gst_state_*()
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9655>

2025-09-04 13:35:50 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: fix leak of sink during check-last-sample
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9641>

2025-09-01 21:02:22 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* meson.build:
	* validate/gst-libs/gst/video/meson.build:
	  meson: Convert all remaining fallback: usages to [provide]
	  Only commonly-used plugin deps like pango, orc, openh264, libvpx,
	  libnice are enabled by default.
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1788
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9626>

2025-07-08 10:08:42 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: Clarify list ref handling in gst_validate_action_set_done
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9349>

2025-06-11 01:43:55 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: fix memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9349>

2025-07-11 18:04:04 +0200  Stéphane Cerveau <scerveau@igalia.com>

	* validate/launcher/testsuites/check.py:
	  ci: enable vulkan tests in validate
	  As CI now supports llvm 18 and mesa 24.1 which
	  allow to use properly lavapipe in the CI, the vulkan
	  ci tests have been removed from the validate blacklist.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9416>

2025-06-14 09:47:20 -0400  Thibault Saunier <tsaunier@igalia.com>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: scenario: Clear wait_message_action on stop
	  When executing a stop action, ensure that any pending wait_message_action
	  is cleared and unreffed to prevent it from being executed after the
	  scenario has been stopped. This prevents potential crashes or unexpected
	  behavior when stopping a scenario that has a pending wait action.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9013>

2025-06-17 09:00:07 -0400  Thibault Saunier <tsaunier@igalia.com>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: scenario: Fix NULL context usage in action done callback
	  Use the local context variable that was retrieved earlier instead of
	  action->priv->context which is always NULL at this point since we
	  reset it right before. This ensures we invoke the callback on the
	  correct context.
	  And make sure that the wait message still has a reference when setting done
	  otherwise it is unref before calling the context invoke function
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9013>

2025-06-14 09:39:03 -0400  Thibault Saunier <tsaunier@igalia.com>

	* validate/gst/validate/doc/meta-overrides.md:
	* validate/gst/validate/gst-validate-internal.h:
	* validate/gst/validate/gst-validate-override-registry.c:
	* validate/gst/validate/gst-validate-scenario.c:
	* validate/gst/validate/validate.c:
	* validate/gst/validate/validate.res:
	* validate/tests/launcher_tests/overrides.validatetest:
	  validate: Add support for overrides field in meta structure
	  Add support for an 'overrides' field in validatetest meta structures that
	  allows changing issue severity levels during test execution. This enables
	  tests to pass when encountering known issues by downgrading their severity.
	  The overrides field accepts an array of change-severity structures with:
	  - issue-id: The issue ID to override
	  - new-severity: New severity level (critical, warning, issue, ignore)
	  Currently only change-severity overrides are supported. The feature follows
	  the same pattern as expected-issues and is only available in .validatetest
	  files, not .scenario files.
	  Includes comprehensive documentation and a test case demonstrating the
	  functionality.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9013>

2025-08-10 11:00:18 -0400  Thibault Saunier <tsaunier@igalia.com>

	* dots-viewer/static/js/jquery.graphviz.svg.js:
	  dots-viewer: Reindent and remove unused code in jquery.graphviz.svg.js
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9547>

2025-08-10 10:55:47 -0400  Thibault Saunier <tsaunier@igalia.com>

	* dots-viewer/static/js/pipeline-navigation.js:
	* dots-viewer/static/js/svg-overlay-manager.js:
	* dots-viewer/static/js/text-ellipsizer.js:
	* dots-viewer/static/js/tooltip.js:
	* dots-viewer/static/overlay.html:
	  dots-viewer: Refactor JavaScript into modular architecture
	  Split monolithic embedded JavaScript in overlay.html into dedicated modules:
	  - tooltip.js: Custom tooltip functionality with interactive copy/paste mode
	  - pipeline-navigation.js: Clickable pipeline-dot references for navigation
	  - text-ellipsizer.js: Text ellipsizing with tooltip integration
	  - svg-overlay-manager.js: Main coordinator orchestrating all functionality
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9547>

2025-08-05 11:38:05 -0400  Thibault Saunier <tsaunier@igalia.com>

	* dots-viewer/static/overlay.html:
	  dots-viewer: make pipeline dot references clickable for navigation
	  When GStreamer pipeline graphs contain references to other pipeline dot files,
	  users should be able to navigate between related pipeline views by clicking
	  on these references. This enables exploring complex pipeline hierarchies
	  where one pipeline references sub-pipelines.
	  The implementation detects text elements containing pipeline-dot references,
	  styles them as web links, and handles click events to navigate to the
	  referenced pipeline while preserving existing text selection and drag
	  functionality for other elements.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9547>

2025-08-05 11:15:50 -0400  Thibault Saunier <tsaunier@igalia.com>

	* dots-viewer/static/css/graphviz.svg.css:
	* dots-viewer/static/overlay.html:
	  dots-viewer: Make text copyable while preserving drag functionality
	  Enable text selection on SVG text elements by changing CSS user-select
	  properties from 'none' to 'text' and cursor from 'default' to 'text'.
	  Add JavaScript event handling to intercept mousedown events on text
	  elements, preventing dragscroll interference while allowing normal text
	  selection. This preserves the existing drag-to-pan functionality for
	  non-text areas while making text elements selectable and copyable.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9547>

2025-08-18 17:28:37 -0400  Thibault Saunier <tsaunier@igalia.com>

	* validate/gst/validate/gst-validate-http-actions.c:
	  validate: http-actions: Replace GUri with GstURI for GLib 2.64 compatibility
	  GUri was added in GLib 2.66, but GStreamer claims to build with 2.64.
	  Replace GUri usage with equivalent GstURI functions to maintain
	  backward compatibility.
	  Fixes #4607
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9572>

2025-07-15 17:14:04 +0300  Sebastian Dröge <sebastian@centricular.com>

	* dots-viewer/Cargo.lock:
	* dots-viewer/Cargo.toml:
	  dots-viewer: Update Rust dependencies
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9397>

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-devtools.doap:
	* meson.build:
	  Release 1.27.1

2025-06-17 06:32:16 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: Ignore error msgs when executing next action
	  When processing an expected error msg, the test for if the next action
	  was a message would trigger and we'd never execute the next action
	  causing a timeout.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

2025-06-17 06:29:46 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: Fix memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

2025-05-30 15:25:52 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/gst-validate-pad-monitor.c:
	  validate: Pass correct argument size to va_arg function
	  sizeof(int) != sizeof (GType) and can cause an invalid access.
	  Also one function call was missing the terminator altogether.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

2025-05-30 15:29:23 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: Fix a memory leak
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

2025-05-30 15:30:10 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/validate.c:
	  validate: Reset mutex to NUL to allow re-init
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

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

	* validate/tests/check/validate/expression_parser.c:
	* validate/tests/check/validate/monitoring.c:
	* validate/tests/check/validate/overrides.c:
	* validate/tests/check/validate/padmonitor.c:
	* validate/tests/check/validate/reporting.c:
	* validate/tests/check/validate/scenario.c:
	* validate/tests/check/validate/utilities.c:
	  validate: tests: use fixtures to init/deinit and fix leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

2025-05-28 09:08:05 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/flow/gstvalidateflow.c:
	* validate/gst/validate/gst-validate-internal.h:
	* validate/gst/validate/gst-validate-report.c:
	* validate/gst/validate/validate.c:
	  validate: cleanup several items on shutdown
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

2025-05-28 09:01:08 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/gst/validate/flow/formatting.c:
	* validate/gst/validate/gst-validate-report.c:
	* validate/gst/validate/gst-validate-scenario.c:
	* validate/plugins/ssim/gstvalidatessim.c:
	* validate/tools/gst-validate-transcoding.c:
	  validate: Fix various memory leaks
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

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

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: ensure we shutdown execute_actions source
	  Actions are no longer always called directly from the main loop
	  so we can't depend on G_SOURCE_REMOVE to remove it. It's also
	  possible while returning up the call chain after running stop
	  to try to re-add it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9118>

2025-06-12 13:56:48 +0200  Arnout Engelen <arnout@bzzt.net>

	* dots-viewer/Cargo.lock:
	* dots-viewer/Cargo.toml:
	  devtools: dots-viewer: sort static files
	  The fact that static-files followed the (nondeterministic) file system
	  order is likely what caused the dots-viewer executable not to be binary
	  reproducible. Enabling this feature that was added upstream should fix
	  it.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9208>

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

	* scripts/gen-changelog.py:
	* validate/launcher/testsuites/check.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-06-03 10:27:06 +0200  Thibault Saunier <tsaunier@igalia.com>

	* validate/launcher/baseclasses.py:
	  validate: launcher: Downgrade non-critical log messages from ERROR to INFO
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9165>

2024-09-24 09:48:54 -0300  Thibault Saunier <tsaunier@igalia.com>

	* validate/launcher/baseclasses.py:
	  validate: launcher: Remove log files for passing tests by default
	  Adding an option to keep them no matter what.
	  Log files are often pretty large and keeping them around can be annoying,
	  usually people won't look at logs files for passing tests, and we do not
	  even print them out.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9127>

2025-04-11 13:24:02 -0400  Thibault Saunier <tsaunier@igalia.com>

	* validate/launcher/baseclasses.py:
	  validate: launcher: Allow using debug log colors when those are being redirected
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9127>

2025-05-28 11:20:16 +0200  Thibault Saunier <tsaunier@igalia.com>

	* validate/gst/validate/gst-validate-pad-monitor.c:
	  validate: Do not check that timestamp are in input range for encoders
	  As some encoder offset the segment range to handle bframes, that check doesn't make sense.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9127>

2025-05-16 13:32:08 +0200  Thibault Saunier <tsaunier@igalia.com>

	* validate/gst/validate/gst-validate-reporter.h:
	  general: Stop checking `G_HAVE_GNUC_VARARGS` now that we depend on c99
	  Cleaning up a bit the code now that we can rely on C99 which specifies
	  varargs for macros.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8990>

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

	* validate/launcher/baseclasses.py:
	  validate: Escape '%' in Valgrind log filenames
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9042>

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

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: Fix marking actions done
	  Don't take extra ref during calling done() from 'stream-selection'
	  Mark as done actions that are completed immediately
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9042>

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

	* validate/gst/validate/gst-validate-report.c:
	  validate: Free log files
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9042>

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

	* validate/gst/validate/gst-validate-mockdecryptor.c:
	* validate/gst/validate/gst-validate-pipeline-monitor.c:
	* validate/gst/validate/gst-validate-reporter.c:
	* validate/gst/validate/gst-validate-scenario.c:
	* validate/gst/validate/validate.c:
	* validate/plugins/ssim/gstvalidatessim.c:
	* validate/tests/check/validate/monitoring.c:
	* validate/tests/check/validate/padmonitor.c:
	* validate/tests/check/validate/reporting.c:
	* validate/tests/check/validate/scenario.c:
	  validate: Various minor cleanups for lost memory or use after free
	  Includes several missing unref(), clear() or free() calls.
	  Reset current_seek since we just cleared all the seeks.
	  Reset all_configs to NULL to prevent double clearing.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9042>

2025-03-31 11:10:12 -0300  Thibault Saunier <tsaunier@igalia.com>

	* validate/gst/validate/gst-validate-scenario.c:
	  validate: scenario: Fix race condition when ignoring EOS
	  The part of the code that is commented with:
	  ```
	  /* gst_validate_action_set_done() does not finish the action
	  * immediately. Instead, it posts a task to the main thread to do most
	  * of the work in _action_set_done().
	  *
	  * While the EOS handling lock guarantees that if an action had to call
	  * gst_validate_action_set_done() it has done so, it does not guarantee
	  * that _action_set_done() has been called.
	  *
	  * Is it possible that this handler is run before _action_set_done(), so
	  * we check at this point for actions that have a pending_set_done and
	  * call it before continuing. */
	  ```
	  was not being executed in the case where the scenario was 'ignoring EOS'
	  while it was also required.
	  Also fix potential use after free in that specific code path.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9014>

2025-05-20 21:20:02 +0200  Thibault Saunier <tsaunier@igalia.com>

	* validate/launcher/apps/gstvalidate.py:
	* validate/launcher/baseclasses.py:
	  validate: Do not list test files that are not autogenerated in .testlist
	  It was useless, adding the .validatetest to the git repo should be enough
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9035>

2025-05-17 20:23:56 -0400  Doug Nazar <nazard@nazar.ca>

	* validate/launcher/baseclasses.py:
	  validate: baseclasses: Reset Test timeouts between iterations
	  Several options (valgrind, gdb, rr) increase the timeout each time
	  the tests start. Eventually reaching inf and causing a conversion
	  to integer to throw an exception.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9019>

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:24:10 +0530  Nirbheek Chauhan <nirbheek@centricular.com>

	* dots-viewer/meson.build:
	  devtools: Fix meson warning when calling add_languages()
	  WARNING: add_languages is missing native:, assuming languages are wanted for both host and build.
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8753>

2025-04-26 19:28:56 +0200  Alexander Slobodeniuk <aslobodeniuk@fluendo.com>

	* validate/gst/validate/gst-validate-mockdecryptor.c:
	  elements: use set_static_metadata when it's allowed
	  Those strings are nice but CPU doesn't want to copy them
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8905>

2025-04-01 09:01:41 -0300  Thibault Saunier <tsaunier@igalia.com>

	* dots-viewer/.gitignore:
	* dots-viewer/bundle-entry.js:
	* dots-viewer/package-lock.json:
	* dots-viewer/package.json:
	* dots-viewer/static/dist/bundle.css:
	* dots-viewer/static/dist/bundle.js:
	* dots-viewer/static/dist/bundle.js.LICENSE.txt:
	* dots-viewer/static/js/fuse.min.mjs:
	* dots-viewer/static/js/gstdots.js:
	* dots-viewer/static/js/viz-standalone.mjs:
	* dots-viewer/static/overlay.html:
	* dots-viewer/update_vendored.sh:
	* dots-viewer/webpack.config.js:
	  devtools: dots-viewer: Bundle js dependncies using webpack
	  And avoid relying on cdn's and require access to the network to use `dots-viewer`
	  And git ignore `node_modules`
	  Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4334
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8754>

2025-03-23 01:59:48 +0100  Jan Tojnar <jtojnar@gmail.com>

	* validate/gst/validate/meson.build:
	  validate: Add gst-video to Requires in pkg-config
	  `gst/validate/validate.h` includes `gst/validate/gst-validate-media-info.h`,
	  which in turn includes `gst/pbutils/pbutils.h` but `gstreamer-pbutils-1.0`
	  was only listed in `Requires.private` field of `gstreamer-validate-1.0.pc`.
	  This would cause projects linking against `gstreamer-validate-1.0.pc` to fail to find
	  the headers when using alternative interpretation of pkg-config specification
	  that only considers private dependencies for include path during static builds,
	  such as the case e.g. on Nix.
	  https://gitlab.freedesktop.org/pkg-config/pkg-config/-/issues/28
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8661>

2025-03-26 09:56:03 -0300  Thibault Saunier <tsaunier@igalia.com>

	* dots-viewer/static/js/gstdots.js:
	  dotsviewer: Fix search
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8696>

2025-03-21 09:00:04 -0300  Thibault Saunier <tsaunier@igalia.com>

	* dots-viewer/static/overlay.html:
	  devtools: dots-viewer: Add a button to download the SVG file
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8696>

2025-03-13 16:54:22 -0300  Thibault Saunier <tsaunier@igalia.com>

	* validate/launcher/baseclasses.py:
	  validate: baseclasses: Reset Test.extra_logfiles when copying to start an iteration
	  Otherwise we get a big mixup with all iteration pointing to all the extra_logfiles
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8640>

2025-03-12 19:16:03 +0200  Sebastian Dröge <sebastian@centricular.com>

	* dots-viewer/Cargo.lock:
	* dots-viewer/Cargo.toml:
	  devtools: dots-viewer: Update dependencies and make windows dependencies conditional
	  Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8624>

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

