==============
Version 3.27.2
==============

Changes since last release:

 • Documentation improvements.
 • Bug fixes for the meson build system backend.
 • Bug fixes in our compile_commands.json support.
 • Bug fixes in our GJS integration.
 • Meson project templates gained a Workaround for a glade bug.
 • CMake plugin was ported to C, following the design of the meson plugin.
 • The greeter was abstracted to allow plugins to extend what is visible.
 • A newcomers plugin has been added which displays GNOME newcomer projects
   on the greeter.
 • Support was added for Yaml when using GNOME Code Assistance.
 • Appdata now installs to the preferred location of the spec.
 • Startup time has been improved by avoiding some costly operations in
   gtk and glib. Patches upstream improve things further.
 • A new setting allows following GNOME's Night Light behavior for night mode.
 • We now use explicit export macros to simplify ABI management. We still
   aren't ABI-stable, but we're progressing towards that.
 • Our clang plugin now supports the KeepGoing option, to try harder after
   encountering failures in includes.
 • Support for code-indexing the Vala programming language.
 • The ctags plugin will try to avoid activating certain language keywords.
 • Find-other-file plugin now shows the results in global search results.
 • Global search can now be navigated with ctrl+n/p in Vim mode.
 • You can now disable the "Open Pages" section of the sidebar in preferences.
 • The flatpak plugin no longer automatically updates project dependencies when
   the build system activates for the first time. You can manually update the
   dependencies from the workbench menu.
 • Cursor placement improvements for some text editor movements.
 • Basic support for unit testing in Meson-based projects.
 • Subprocess PATH will now prefer /bin over /usr/bin.
 • Various workbench keyboard shortcuts have been restored.
 • Support for project miners has been dropped.

Updated Translations:

 Serbian, German, Slovenian, Czech, Spanish

==============
Version 3.27.1
==============

Changes since last release:

 • A GJS symbol resolver and code-index has been added.
 • Improved editor search that unifies mutliple search implementations
   and reduces editor overhead. We definitely would like testing from
   early adopters here.
 • Initial support for three-finger-swipe within the editor to move
   documents to the left or right. This feature requires a Wayland-enabled
   compositor such as GNOME Shell or Mutter.
 • The Todo plugin now respects .gitignore when using git.
 • An off-by-one in line number conversion has been fixed in the Todo plugin.
 • Thread-safety improvements to version control API.
 • The meson plugin has been ported to C and includes a number of improvements
   such as proper async support and reduced pipeline overhead when extracting
   build flags.
 • Builder now bundles most C-based plugins into a single private dynamic
   library to help reduce startup time.
 • A number of performance improvements were made to both application startup
   and project loading.
 • Preferences has been moved out of the workbench to reduce overhead and
   allow accessing from the application greeter.
 • When various features need to access build flags, there is less of a chance
   that they'll need to advance the build pipeline. This will hopefully give
   users the impression that less activity is going on behind the scenes at
   project load time.
 • Some build pipeline operations were queued behind long running operations.
   Builder will now try to flush those operations as soon as the pipeline has
   advanced past their requested phase.
 • The IdeTransferManager has been moved to IdeApplicatoin. This fixes some
   issues in the rustup plugin as well as allowing transfers to occur from
   any window and be accessible from all windows.
 • The quick-highlight plugin has been rewritten to take advantage of the
   new editor search feature.
 • Improved support for accessing symbols found in .Debug flatpak runtimes.
 • Builder's dark syntax style has been tweaked to provide more contrast
   between Gtk widgetry as well as the editor text.
 • The fpaste plugin has been removed as it had become obsolete.

As a number of plugins have been modified or removed, we recommend that users
uninstall any previously installed version of Builder before installing this
development version.

Updated Translations:

  Danish, Lithuanian, Hungarian, British English, Catalan, Spanish,
  Indonesian, Czech, Slovenian, Italian, Nepali, Polish,
  Brazilian Portuguese

==============
Version 3.26.1
==============

Changes since last release:

 • Builder now bundles uncrustify when built from Flatpak.
 • Builder no longer includes tracing in stable flatpak build.
 • Fixes when using the XML editing extensions.
 • The vsplit vim command now accepts a filename to open.
 • Improvements to Vim chords y$, yfX, de, db, and dw.
 • Improvements when pasting from external clipboard content.
 • Fix error propragation when loading git repositories.
 • Use GNotification instead of manual D-Bus RPCs.
 • Significantly reduce chatter when notifying about builds.
 • Fix Home and End keys when in Vim normal mode.
 • Add Flathub repo to list of known Flatpak runtime sources,
   which allows building against an org.kde.Sdk.
 • Unsaved file buffers now use atomic renames when interacting
   with code diagnostic engines.
 • Various debugger bug fixes.
 • The editor attempts to avoid propagating resize events to the
   root window, which should help speed up the editor a fair amount.
 • Preferences loading has been delayed until project load time. This
   helps reduce application startup time.
 • The cursor now properly returns to the editor when leaving the
   global search entry.
 • The Fpaste plugin was removed as upstream API is changed too
   drastically to keep this plugin working.
 • A new condensed "omni gutter" has been added to reduce the width
   of the gutter in languages that support debugging.
 • Icons are now properly displayed in the document popover menu.
 • A leak of editor views has been fixed which was caused by
   Python lambda's in the html-preview plugin.
 • Tweaks to various UI CSS styling.
 • The debugger and profiler plugins now try harder to locate sources
   through .Debug or .Sdk flatpak runtimes when libraries missing
   debug symbols are encountered.
 • Fixes for various keyboard shortcut activation.
 • Preferences now properly release their addins on destruction.
 • The workbench was leaking addins on shutdown. They are now
   properly released, and the window is hidden before releasing
   addins to avoid showing widgets as they are destroyed.
 • Builder will avoid showing the greeter when loading a project
   using the `gnome-builder -p project_file` command line argument.
   This speeds up direct loading of a project by about half.
 • Builder will attempt to use "gio trash" on the host when running
   inside of flatpak when the Trash is across a file-system boundary.
   We expect this to go away once GIO learns about /proc/self/mountinfo
   to discover when "cross bindmount" trash is acceptable.
 • The python indenter has been fixed when using compose keys with e or f.
 • (Re)selection of text when entering the search bar has been fixed. This
   had the side effect of it appearing that your search term was silently
   being dropped after a few characters were typed.

Updated Translations:

 French, Swedish, Indonesian, Danish, Hungarian, British English,
 Turkish, Galician, Spanish, Czech, Slovenian, Italian, Polish,
 Brazilian Portuguese

==============
Version 3.26.0
==============

Changes since last release:

 • Various fixes to the eslint plugin.
 • Various documentation improvements.
 • Remove unnecessary compression from various .ui files.
 • Avoid the use of the "mips" constant to fix mips builds.
 • Clear the stopped breakpoint if the debugger exits uncleanly.
 • Fix a crash in the code-index plugin.
 • Fix to ensure rows in the omnibar are recyclable.
 • Fix for non-completing GTask in IdeBuffer.
 • Fix color picker closing and defer panel creation.
 • Fix a crash in .ui when creating style classes.
 • Drop support for Vala versions older than 0.34

Updated Translations:

 Korean, Galician, Turkish, Indonesian, Czech, German, Polish,
 Brazilian Portuguese, Italian, Danish, Lithuanian, Hungarian,
 Catalan, Serbian, Serbian Latin, French, Swedish, Spanish,
 Japanese

===============
Version 3.25.92
===============

Changes since last release:

 • A new word completion provider that uses distance from cursor for sorting.
   This is currently exposed via ctrl+n/ctrl+p when in Vim mode. We may expand
   this to other keybindings in the future.
 • Documentation cards can now be shown using the "request-documentation"
   keybinding signal in the code editor. "Shift+K" activates this in Vim mode,
   F2 with traditional keybindings.
 • A new code indexing engine that will index your project in the background
   to improve search and code navigation features is now included. Currently,
   only the clang plugin provides a suitable indexer, but other languages will
   be supported in the future.
 • A global search provider using the fuzzy-search code-index allows jumping
   to a function, class, and other language features.
 • A symbol resolver based on the code-index allows jumping between source
   and declarations.
 • Plugins can now register long running "pausable" operations with the
   project context. The code-index supports this for background indexing.
 • A technology preview for debugger integration has landed. It allows
   debugging projects both on the host as well as applications running inside
   of flatpak mount/pid/network namespaces.
 • A reference debugger backend has been implemented using gdb. Although it is
   entirely expected that Builder will gain support for other debugger backends
   in a future release.
 • Builder now tries to reduce the number of shell notifications it generates.
 • A new history plugin is added to bring back lost history functionality during
   the UI revamp. It can be activated with ctrl+o/ctrl+i in Vim mode, or via the
   back/forward buttons in the document stack header.
 • Documentation improvements.
 • Various project templates have been improved.
 • CSS style refinements.
 • Clang completion provider improvements.

Updated Translations:

 Spanish, Indonesian, Danish, Lithuanian, Kazakh, Korean, Galician, Finnish,
 Czech, Slovenian, Polish, Brazilian Portuguese, Latvian, Portuguese, Serbian

Thanks to all of our contributors and a special thanks to our three GSoC
students this summer who did an outstanding job implementing great new features
for Builder!

===============
Version 3.25.91
===============

Changes since last release:

 • Build systems can not implement an optimized path to extract build flags for
   multiple files at once. This will be useful for upcoming code indexing
   features.
 • Mkdir pipeline stages can now request that directories are reaped at cleanup.
 • The buffer manager can now protect against a single file being requested
   multiple times while a previous load is in-flight.
 • Various GAction fixes.
 • A new documentation-card plugin has been included as part of the Summer '17
   GSoC work. It provides documentation on functions from devhelp when you hover
   the mouse pointer over a function or other type. It supports multiple backends,
   but only Devhelp is currently implemented.
 • A leak of various editor view plugins due to a bug in IdeExtensionSetAdapter
   has been plugged.
 • The beautifier plugin has been ported to the new UI design.
 • The spellcheck plugin got numerous fixes from fallout during the UI redesign.
 • The XML plugin got a fix for a potential NULL deref.
 • The volume monitor has been restored on the editor.
 • Many widgets and plugins have been ported to the new shortcut engine.
 • The shortcut window should now work better on smaller screen sizes.
 • "Insert matching brance" has been moved to a per-language setting.

Updated Translations:

 French, Malayalam, Lithuanian, Hungarian, Kazakh, German, Spanish, Galician,
 Indonesian, Czech, Turkish, Nepali


===============
Version 3.25.90
===============

Changes since last release:

 • Indentation fixes when using the fallback indenter.
 • Various UI changes as we progress on the UI revamp.
 • Diagnostics checks now blocked until the buffer has fully loaded.
 • Highlight engine fixes for the recently added pause support.
 • "Export" has been moved to a generic operation from the omnibar.
 • A crash in the diagnostics manager has been fixed due to incorrect
   assertions at runtime.
 • Many keyboard shortcut fixes.
 • The search bar has had missing pieces from the revamp ported.
   This includes better keyboard interactions.
 • Search navigation has been restored from the source editor.
 • Our BuilderBlocks font has been improved to support both lower
   and upper-case glyphs.
 • Builder no longer uses Gtk's setting for sort-directories-first.
 • Builder now supports a "run-opts" in .buildconfig files or
   x-run-args in flatpak json files to pass arguments when running
   the target application.
 • The spellchecker has had a number of fixes that were broken during
   the UI revamp.
 • find-other-file will jump right to the matching file if only one
   is matched. This more closely matches our previous implementation.
 • The build pipeline now recognizes filenames with _ in them when
   generating diagnostics.

Translations:

 Hungarian, Kazakh, German, Spanish, Indonesian, Czech, Slovenian

==============
Version 3.25.5
==============

We are releasing 3.25.5 as a quick followup to 3.25.4. It fixes a number of
issues that were discovered and fixed shortly after merging the new layout
branch.

 • HTML Preview shortcut is fixed
 • Various keybindings have been improved in libdazzle
 • We now bundle the proper libdazzle version as a subproject
 • IdeSourceViewMode now holds a reference to the view and copies all
   GValues when marshaling to the proxied closure
 • Focus tracking has been fixed for stacks in a single column
 • The focus-neighbor action works again, allowing ^w^w and other Vim style
   keybindings to work correctly
 • Activation of F-keys while in vim "normal mode" has been fixed
 • Builder now depends on the proper version of GLib for access to
   g_ptr_array_find_with_equal_func()
 • MIT/X11 license has been updated to include a missing stanza
 • Cross-architecture printf fixes

Thanks to all our early testers who reported bugs!


==============
Version 3.25.4
==============

This release of Builder contains the largest UI change since the creation of
Builder. As this is mid-development cycle towards GNOME 3.26, we anticipate
breakage in this release. However, we value the time that people put into
testing things for us and doubly so for those that file bugs.

Generally, we try to keep the master branch fairly stable and usable. This
release will almost certainly have regressions due to the nature of the
redesign.

 • A new keybinding engine is being used. It is very young but maturing
   quickly. Great pain has been experienced to merge the desires for
   features we need with the backwards compatability to keep existing
   features working such as the Vim compatability engine.
 • A new layout engine has been added. It has a few tricks up it's sleeve.
   It can animate widgets between grid locations. It also can highlight
   the view header to match the primary contents of the view. Under the
   hood, the implementation has been vastly simplified.
 • Over/under splits can now contain separate documents and you are no
   longer limited to two.
 • The project tree has been modified to look/feel more like a listbox.
   Future releases of Builder will keep the project-tree, but it will
   likely be disabled by default in favor of a DzlStackList-based
   navigation.
 • The TODO plugin has been ported to C. It goes through a reasonable
   amount of effort to keep memory allocations contiguous and footprint low.
 • Spellcheck has been moved into a plugin.
 • Color picker and spellcheck have been ported to use the new
   "transient sidebar". They come into focus when it makes sense for them
   to be visible based on context.
 • The symbol panel has been moved into the document header. It has also
   been styled to feel more like a listbox with hover state.
 • Devhelp browsing has been moved into the document header for the
   devhelp documentation view. It's a little bare at first, and we anticipate
   this to improve in future snapshots.
 • The terminal supports the "primary-color" feature to style the document
   header inline with the document content.
 • The build panel has been redsigned. It is placed on the left now to keep
   our workflow something like Left->Right.
 • The global search has been replaced to fit with the mockups, on the
   top-right corner of the window. We expect more improvements to search
   in upcoming releases.
 • The "new-document" button has been replaced with a menu for various
   types of new documents.
 • Manu previous extension points now use menus.ui to populate their menu
   content. This makes extending menus much more consistent across Builder.
 • Document preferences (tab size, spaces, language, etc) have been moved
   into a transient sidebar. You can activate this with the menu item from
   the document header.
 • An "Open Pages" section has been added to the panel. It's not yet clear
   if this will continue to be enabled by default or if it will be a plugin
   that can be enabled.
 • The beautifier plugin has yet to be ported to the new engine, and therefore
   is disabled by default in this release.

Thanks in advance to all of our testers!


==============
Version 3.25.3
==============

This release includes some major changes for packagers. Builder is now built
using the Meson build system. Given the number of GNOME packages following this
trend, chances are that packagers will have existing scripts to help make this
a smooth transition.

Changes since 3.25.2

 • The "egg" contrib package has been broken out into libdazzle. If you do
   not have libdazzle, it will be built as a subproject.
   http://git.gnome.org/browse/libdazzle
 • The "jsonrpc-glib" contrib package has been broken out into a standalone
   project. It will be built as a subproject if you do not have it installed.
   http://git.gnome.org/browse/jsonrpc-glib
 • The "template-glib" contrib package has been broken out into a standalone
   project. It will be built as a subproject if you do not have it installed.
   http://git.gnome.org/browse/template-glib
 • Ctags completion priority has been lowered
 • Many internals have been moved to an updated libdazzle. This includes lots
   of theming fixes as well as improved panels and theming integration. Many
   search data structures were also broken out into libdazzle.
 • The search provider has been rewritten to use libdazzle and the new
   suggestion entry. We expect more changes here before 3.26.
 • Builder now uses GVFS metadata to store the cursor position. This should
   improve the chances you end up on the right position when re-opening a
   buffer.
 • Panels now properly maintain their visibility state between runs of Builder.
 • The flatpak plugin now properly ignores runtimes ending in ".Sources".
 • Builder properly cleans up drafts fixing an issue where files with encoding
   errors would continually re-open when restoring Builder's internal state.
 • A "counters" window has been added to aide in debugging.
 • Builder now tries to do significantly less work while the buffer is opening.
   This should speed up file-loading on larger files.
 • Various async operation priority have been lowered to avoid stalling the
   Gtk main loop.
 • UI files now strip their empty space which should reduce the size of libide
   a small amount.
 • IdePerspective now has a restore_state vfunc. This helps ensure that the
   widget restores state after the UI has settled. This can help avoid hickups
   in the UI at startup.
 • Python Ide.py overrides now have helpers to log using g_warning() etc. See
   Ide.warning(), Ide.debug(), Ide.critical(), etc.
 • Additional documentation.

Updated Translations:

  Spanish, Kazakh

==============
Version 3.25.2
==============

We anticipate 3.25.2 to be our last release using autotools. Our
development tree will switch to meson after this release.

Changes since 3.25.1

 • Improvements to the Todo plugin
 • Support for multiple cursors in the text editor
 • Improvements to invalidations behind gtk container widgets
 • Use after free fixes
 • Memory leak fixes
 • JSON improvements in flatpak plugin
 • llvm fixes for FreeBSD
 • Scroll improvements to build log

Updated Translations:

  Hungarian, Kazakh, Spanish, Indonesian, German, Polish,
  Brazilian Portuguese, Serbian

==============
Version 3.25.1
==============

The road to 3.26 has begun, and 3.25.1 is here to kick that off.

 • A new retab plugin to reindent your source code.
 • Auto-save can now be configured.
 • A new notification plugin to notify of build completion.
 • Preview support for Sphinx.
 • Improved jump support in the editor.
 • The "install" action can be run from the command-bar to install
   your project without running.
 • Word completion minimum length can now be configured.
 • Ctags improvements.
 • A save button has been added to the Build Log.
 • Release auto-save timeout after a manual save to reduce the
   number of file-system operations.
 • Allow jhbuild from alternate PATHs.
 • Animation improvements, including support for animating based on
   screen DPI and physical space. This has the potential to make
   animations smoother, but may cause issues with miss-reporting
   EDID information. Mitigations are provided.
 • Do not download SDKs or dependencies when on metered connections.
   This can be disabled in preferences.
 • Bump vala requirement to 0.38.
 • The editor now supports text-wrapping but is not enabled by default
   due to the performance penalty.
 • Plugins are discovered in ~/.local/share/gnome-builder/plugins, even
   when distributed under Flatpak.
 • Don't take into account failed or cancelled transfers when calculating
   transfer progress.
 • Various build tooling widgetry will become insensitive while the build
   pipeline is not useable.
 • Language Server Protocol improvements.
 • Various memory leaks and bug fixes.

Updated translations:

  French, Swedish, Danish, Lithuanian, Hungarian, Korean, German, Spanish,
  Italian, Slovak, Brazilian Portuguese, Latvian, Russian, Serbian
