News in 5.22.0, 2026-09-18
--------------------------

This is a stable release for GNOME 51.0

Changes since 5.20.0, including the 5.21.x development series:

 * Reject non-regular files before opening them in GtkSourceFileLoader
 * Add a configurable GtkSourceFileLoader max-size limit, defaulting to
   1 GiB, for file, stream, and decompressed input
 * Report oversized loads with GTK_SOURCE_FILE_LOADER_ERROR_TOO_BIG
 * Centralize checked arithmetic for input sizes and buffer growth
 * Unwind buffer output streams when file loading fails
 * Handle stream-based loads without a file location in profiler marks
 * Expand file loader tests for size limits, compressed input, load
   failures, and arithmetic boundaries
 * Fix gutter renderer list and gutter lines leaks
 * Break a circular reference when line numbers are enabled
 * Avoid temporary region and text mark allocations in search context
   intersection checks
 * Avoid per-line timer allocations in the syntax highlighting engine
 * Avoid rescanning UTF-8 text to determine line character counts
 * Reduce scrolling overhead in GtkSourceMap
 * Fix GtkSourceMap slider sizing and positioning when the map is taller
   than its contents
 * Reduce allocations and per-line work when drawing source mark backgrounds
 * Reduce array access overhead in gutter lines
 * Fix vertical alignment when jumping to text positions
 * Improve Vim emulation for command repetition, r, and cw/cW
 * Add Vim support for +, X, gu, gU, g~, and visual-mode ~
 * Add Vim Ctrl-A and Ctrl-X support for signed decimal numbers
 * Add Vim :set aliases and :noh/:nohlsearch commands
 * Expand Vim input tests for commands, motions, and repetition
 * Use canonical property names and static strings for properties
 * Add missing API version annotations and correct function attributes
 * Translation updates, including new Lao and Uzbek (Latin) translations

Maintainer's note: My family needed to move abroad for our safety. I am
currently unemployed and living abroad, and my continued maintainership
of GtkSourceView is on an ad hoc basis. Sustained maintenance depends
heavily on a company stepping forward to support me abroad, after Red Hat
declined my request to relocate while remaining in my role despite the
safety concerns facing my family. Organizations that rely on this library
can help by supporting its maintenance. For background, see my
"Mid-life transitions" post:
https://blogs.gnome.org/chergert/2026/02/06/mid-life-transitions/

News in 5.21.0, 2026-07-11
--------------------------

This is an unstable release for GNOME 51.alpha

 * GtkSourceFileLoader now rejects non-regular files before opening
 * GtkSourceFileLoader now bounds expanded input size, including
   decompressed input, and reports oversized loads cleanly
 * GtkSourceFileLoader now unwinds buffer output streams on load failure
 * Fix gutter and gutter lines leaks
 * Break a circular reference when line numbers are enabled
 * Improve Vim emulation for repeated commands, r, cw/cW, +, X, gu, gU,
   g~, Ctrl-A, Ctrl-X, and :set aliases
 * Fix vertical alignment when jumping to iters
 * Improve context engine and search context performance
 * Use canonical property names and static strings for properties
 * Translation updates, including new Lao translation

News in 5.20.0, 2026-03-16
--------------------------

This is a stable release for GNOME 50.0

 * No changes since 5.19.0

News in 5.19.0, 2026-02-23
--------------------------

This is an unstable release for GNOME 50.rc

 * Annotations: draw a background behind annotations; align to the right
   when they fit (e.g. for diagnostics)
 * GObject Introspection: fix nullable and callback destroy annotations
   (get_location, get_match_style, scheduler, callbacks)
 * Fix gutter text renderer text layout snapshot deprecation
 * PHP language: highlight PHP 8.0 attributes and add new keywords
 * New language: Cornish
 * Translation updates

News in 5.18.0, 2025-09-12
--------------------------

This is a stable release for GNOME 49.0

 * Translation updates

News in 5.17.1, 2025-08-30
--------------------------

This is an unstable release for GNOME 49.rc

 * Improvments to GObject Introspection annotations
 * A new gtk_source_buffer_get_markup() API addition
 * A new annotation API for applications
 * Allocation measurement improvements
 * Spaces are now drawn using GskPath instead of Cairo
 * Cleanups for various GTK deprecations
 * Make ctrl+n/p workin Vim insertion mode
 * Ensure GtkSourceMap doesn't handle context menus (again)
 * Testsuite improvements for new GNOME CI
 * Fix various leaks found by said CI improvements
 * Translation updates

News in 5.17.0, 2025-06-28
--------------------------

This is an unstable release for GNOME 49.alpha

 * New languages: astro
 * Updated languages: python3, python, css, sh, latex, php
 * Many cleanups and removal of deprecated API use across GtkSourceView
   and associated test programs.
 * Improved scrolling in GtkSourceMap
 * Documentation improvements and cleanups
 * Build system cleanups
 * Translation updates

News in 5.16.0, 2025-03-15
--------------------------

This is a stable release for GNOME 48.0

 * Translation updates

News in 5.15.1, 2025-02-24
--------------------------

 * Remove use of various GTK deprecations
 * Testsuite improvements
 * Translation updates

News in 5.15.0, 2025-02-02
--------------------------

This is a beta release for GNOME 48.beta

 * Various introspection fixes
 * Improvements to GtkSourceAssistants
 * Various GtkTextIter performance improvements
 * Deduplication fixes when sorting
 * Alter paths for resource:// usage so that resources take priority
   over system installations other than the current one
 * Adwaita.xml, Adwaita-dark.xml style updates
 * Quantize Y position for gutter line numbers
 * New and updated languages: meson.lang, zig.lang
 * Translation updates

News in 5.14.1, 2024-10-04
--------------------------

This is a bug-fix release for GNOME 47

 * Ensure you cannot show context menu from GtkSourceMap which otherwise
   has a limited FontMap containing only the BuilderBlocks font.

News in 5.14.0, 2024-09-13
--------------------------

This is a stable release for GNOME 47.0

 * Fix an issue where the gutter would not redraw when focus changes.
 * Add support for Groff syntax

News in 5.13.1, 2024-08-04
--------------------------

This is an unstable release update for GNOME 47.beta

 * Documentation improvements
 * Improve performance of BuilderBlocks font loading. Some of this
   effort required changes to the TTF, so user testing with a wide
   variety of languages is desired. This should reduce startup time
   of GtkSourceView using applications.
 * gtk-doc.lang: highlight `backtick` spans
 * c.lang: highlight [[]] style attributes
 * java.lang: improve escaped character matching
 * Adwaita.xml, Adwaita-dark.xml: style updates to track platform
   changes for GNOME 47.

News in 5.13.0, 2024-06-28
--------------------------

This is an unstable release update for GNOME 47.alpha

 * Ensure gutter renderers are released during dispose
 * Make default auto-indenter keep indentation when cursor is at line start
 * python3.lang: Fix f-string in curly braces to have no-spellcheck applied
 * Translation updates

News in 5.12.1, 2024-05-30
--------------------------

This is a stable release update

 * Update documentation links
 * Specify recoloring hex colors for Adwaita-dark
 * Improve grid drawing positions slightly
 * Use a weak ref for GtkSourceView backpointer in GtkSourceGutterRenderers
   which fixes a potential leak of GtkSourceView
 * Fix a fontconfig check for Windows
 * Fix section name for elixir

News in 5.12.0, 2024-03-15
--------------------------

This is a stable release for GNOME 46

 * Do not trigger default indenter for Return when a selection is active
 * Render overview slider below text rather than above w/ RGBA
 * Premix certain colors in overview when drawing to avoid RGBA blends on GPU
 * Avoid round-trip to main loop when map slider needs allocation
 * Avoid an extra GSK transform for each line number in the gutter
 * Translation updates

News in 5.11.2, 2024-03-03
--------------------------

This is a development release for GNOME 46.rc

 * Ignore empty globs in language specification for mimetypes
 * Ensure that partially visible highlight lines are drawn
 * Fix line style properties after unsetting style scheme
 * latex.lang: Improvements to command parsing

News in 5.11.1, 2024-02-12
--------------------------

This is a development release for GNOME 46.beta

 * A new -Dbuild-testsuite configuration option
 * Some build options were renamed to follow more closely
   what GTK itself uses now.

   -Dgtk_doc became -Ddocumentation
   -Dinstall_tests became -Dinstall-tests

 * Improvements to BuilderBlocks font to support Windows
   - This supports FontConfig on Windows currently
   - With Pango 1.52.0 it will support win32 font loader
 * Fix a rendering issue where the gutter would not highlight
   the same as the current-line-highlight.
 * An optimization for line number drawing which avoids using
   PangoLayout when drawing.
 * Ensure the gutter is redrawn when focus leaves text view
 * Improved support for input methods when X11 and ibus are
   used by making it behave closer to Wayland input methods.
 * Ignore the current-line highlight when out of view which
   improves the damage area calculation in GTK.
 * A new Wren language spec
 * Updates for the sh language-spec
 * Translation updates

News in 5.11.0, 2024-01-08
--------------------------

This is a development release for GNOME 46.alpha

 * Fixes for searching invisible text
 * Sort ordering fixes for guessing languages which fixes loading
   Python 3 before Python 2.
 * Various Vim emulation fixes
 * Updated Languages: Elixir, Python3, C
 * Updated Style Schemes: Oblivion
 * Cursor fixes for source gutter
 * Fix undo after alt+up/down
 * Fix newline detection fallback on some systems

News in 5.10.0, 2023-09-16
--------------------------

5.10.0 corresponds with GNOME 45.0 and is meant for end-user
distribution.

Changes since 5.9.0:

 * Translation updates

News in 5.9.0, 2023-09-01
-------------------------

5.9.0 is a release candidate for GNOME 45.

 * Documentation improvements
 * Various introspection improvements
 * New languages: Blueprint
 * Updated languages: C, C++, Rust, Python3, Shell, Java, OCaml
 * Updated style schemes: cobalt
 * GtkSourceBuffer gained a "loading" property which is
   toggled when GtkSourceFileLoader is loading the buffer
   from storage.
 * More defensiveness improvements in GtkSourceBufferOutputStream.
 * A leak in Vim emulation has been fixed.
 * Vim emulation now supports visual replace.
 * Scheduling of batched workers has been improved with
   gtk_source_scheduler_add().
 * Snippets are now initialized from GtkSourceView.constructed()
   to allow for applications to hook buffer creation.
 * Translation updates

News in 5.8.0, 2023-03-17
-------------------------

5.8.0 is meant for end-users which corresponds to the GNOME 44.0 release.

 * vim: avoid large numbers of small deletions in filter command
 * adwaita.xml: add missing def:deletion style
 * todotxt.lang: add support for todo.txt format

News in 5.7.2, 2023-03-03
-------------------------

5.7.2 is a development release of GtkSourceView intended for application
developers and unstable distributions alike.

 * Documentation improvements
 * Updated languages: java.lang, html.lang
 * Fix Y offset calculation when GtkTextView:top-margin is set
 * Completion now requeries providers upon manual activation
 * CSS updates for completion popover to reduce allocation jitter
 * Assistants will more aggresively update positioning. It is heavily
   suggested that you have GNOME/gtk!5564 in whatever GTK you are
   linking against to reduce the potential for frames rendered with
   missing allocations/text.

News in 5.7.1, 2023-02-15
-------------------------

5.7.1 is a development release of GtkSourceView intended for application
developers and unstable distributions alike.

 * Updated languages: c.lang, docker.lang, nix.lang
 * Add missing version functions to GIR generation.
 * Moving through snippets now retires the completion popover.
 * Documentation updates.

News in 5.7.0, 2023-01-23
-------------------------

5.7.0 is a development release of GtkSourceView intended for application
developers and unstable distributions alike.

Changes since 5.6.2

 * gutterrenderermarks: avoid potential infinite loop with marks
 * build: drop unnecessary vapigen check
 * cpp.lang: add constinit keyword
 * java.lang: fix escaped characters
 * lean.lang: strings may contain line breaks
 * nix.lang: Add Nix syntax highlighting
 * reasonml.lang: add ReasonML language
