NEWS 43.2 KB
Newer Older
Christian Hergert's avatar
Christian Hergert committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
Version 3.23.92

Our 3.24 RC is here with 3.23.92. We expect Builder 3.24 to be final next week.

Changes include:

  A lot of -Wsign-compare compile fixes.
  Fix inconsistent field in priority heap.
  Ctags can now use ctags binary from the host.
  Various Rustup fixes when running in flatpak.
  Add support for gnome-code-assistance when running under flatpak.
  Use Adwaita theme when under flatpak.
  Use names for cursors instead of old-style enums.
  Extract errors from vala compiler during builds.
  Extract errors from gmcs/mcs (mono) during builds.
  Much documentation has been added.
  Subprocess FD fixes when using the flatpak development service.
  EggTaskCache correctness improvements.
  Fallback to ninja to discover VALAFLAGS with older meson releases.
  Various terminal improvements when under flatpak.
  Move flatpak downloads into downloads phase of build pipeline.
  Add support for exporting an App.flatpak.
  Add support for manually downloading dependencies.
  Clang will fallback to CFLAGS or CXXFLAGS from environment variables.
  Make buildsystem will now use $MAKE environment variable if specified.
  The clone dialog will now strip whitespace from URIs.
  Fixes in user-preferred-shell discovery.
  The build panel is now shown upon first build (but without focus).
  Before exporting, flatpak-builder will now be used to finish the
   build process and cleanup commands.
  Builder will notify the user if flatpak-builder is not installed, as it
   is necessary for a good portion of the value of Builder.
  Builder will look at manifest files to try to discover the build system.
   This is useful when projects have multiple build systems in transition.
  Much polish to flatpak runtime installations.
  Lots of Vala plugin fixes and cleanup due to recent Vala changes.
  Autools project miner has reduced the depth of search to speed up
   application startup. We intend to switch to a custom tracker miner
   in a future release of Builder.
  Various fixes for Meson inside of a flatpak runtime.
  Fix cancellation of clone operations in the project greeter.
  Don't pass --require-version to `flatpak build` when running.
 • Always use headerbar for about dialog.
 • Fix hysteresis in animation for editor overview map.
 • Various subprocess correctness improvements.
 • Use the diagnostics range for the source location if not specified.
 • Support for a basic "make" build system has been added.

Updated Translations

  Swedish, Lithuanian, Hungarian, Kazakh, Korean, Chinese (Taiwan), Friulian,
  Galician, Finnish, Indonesian, Czech, German, Polish, Brazilian Portuguese,

Christian Hergert's avatar
Christian Hergert committed
57 58 59 60 61 62 63 64 65 66 67
Version 3.23.91

One step closer to 3.24!

We've fixed a bunch of bugs you found for us in 3.23.90. Some of those
include the following:

  Lots of transfer engine improvements
  Omnibar styling changes
Christian Hergert's avatar
Christian Hergert committed
  Support for flatpak has stabilized a great deal
Christian Hergert's avatar
Christian Hergert committed
69 70 71
  New keyboard tooltips for various headerbar items
  Search within the terminal using ctrl+shift+f
  PTY fd ownership fixes for RustUp
Christian Hergert's avatar
Christian Hergert committed
72 73
  File search now ignores white-space
  libidemm and glibmm/gtkmm dependencies were dropped as nobody was using
Christian Hergert's avatar
Christian Hergert committed
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
   them and it will slow our migration to meson.
  Various Jsonrpc improvements for language server communication.
  A new valgrind plugin for leak tracking when testing your application.
  Meson improvements when running under flatpak.
  You can now start a new terminal inside the build runtime using
  Some new documentation is in the works, and available online at We would love your contributions here.
  The Open Project dialog now defaults to allowing you to select any
   project type with the default file filter.
  More source beautifiers, including one for makefiles.
  A workaround for a GObject type system deadlock as been added. This
   works around an issue where the type system would race initializing
   the GZlibDecompressor type from multiple threads.
  Build pipeline subprocess launchers now inherit the environment
   configured from the build configuration.
  Makecache can now handle out-of-order responses from make for lists
   of target binaries. This should improve Builder's ability to run
   your project successfully.
 • The Flatpak plugin no longer tries to build your project from
   /run/build/$project due to breaking mtime and general difficulty
   in keeping things consistent between subprocess executions.
Christian Hergert's avatar
Christian Hergert committed
   This has the side-effect of reducing the predictability of source
Christian Hergert's avatar
Christian Hergert committed
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
   location in debug symbols. But as flatpak-builder should be used for
   release builds, this seems fine.
 • Various workbench UI improvements.
 • Builder's Sysprof-based profiler can now profile applications launched
   inside of mount-namespaces, such as Flatpak.
  Builder downloaded via Flatpak includes fixes for communicating with
   GNOME Code Assistance from a host installation.
  Various memory leak fixes.
  Flatpak-based configurations have improved their non-destructive
   write-back to disk upon changes.
  Autogen-based projects have simplified init scripts.

Updated translations

  Brazilian Portuguese, Polish, Spanish, German, Kazakh, and Hungarian.

Christian Hergert's avatar
Christian Hergert committed
Christian Hergert's avatar
Christian Hergert committed
Version 3.23.90
Christian Hergert's avatar
Christian Hergert committed
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

We've been hard at work this cycle turning Builder upside down and replacing
the build engine. We now have a new build pipeline that allows for much more
flexibility for build systems and runtimes. There is certainly a bit of fallout
from this, but with your help testing, we can have these bugs shook out by
final release.

 • A new IdeBuildPipeline which allows various plugins to hook stages
   into the pipeline at given phases. This provides much more flexability
   for plugins.
 • Significant improvements to XML plugin including a symbol resolver.
 • The symbol tree has a new style which makes it easier to browse.
 • Support for semantic spellchecking, including comments and strings.
 • Meson support has been improved and now supports building within
   flatpak runtimes.
 • A new beautifier plugin to cleanup source using external commands such
   as clang-format, indent, or xml-lint.
 • The build panel now has support for colored output from programs such
   as GCC.
 • Configurations are now abstracted through ConfigurationProviders so that
   plugins may provide configurations. This means that flatpak json manifests
   are now implemented as configurations.
 • The build-tools plugin has been moved to libide and should be removed
   from existing installations.
 • Support for building with CMake and Ninja build system.
 • Autotools, meson, cmake, ninja, cargo, flatpak, jhbuild plugins have been
   rewritten to support the build pipeline.
 • The terminal plugin now supports hyperlinks.
 • Flatpak runtimes will be automatically downloaded using the new transfers
   manager if it is missing and a build is required.
 • A race condition in accessing CFLAGS for the project as configured has
   been fixed due to the build pipeline.
 • Plugins can register files that should be ignored in the project tree.
 • Ctags now uses a custom TMPDIR for when ctags needs to create large files
   for use with sort. This is necessary as /tmp is typically not persistent
   storage and the files can get quite large for some projects like WebKit.
 • Vim emulation improvements.

I'd like to let people know that we intend to move Builder to the meson build
system for 3.26. So that will give you 6 months to update your distributions
build infrastructure to support meson for GNOME applications.

Updated translations

  Simplified Chinese, Swedish, Brazilian Portuguese, Polish, Czech, Finnish,
  Spanish, German, Kazakh, Hungarian, and Lithuanian.

Christian Hergert's avatar
Christian Hergert committed
163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
Version 3.22.4

Summary of changes since 3.22.3

  Some minor improvements to vala auto-completion
  UI tweaks to project creation view for better discovery
  Allow wider content in the file selection popover
  Improve cache eviction when certain project files change
  Allow talking to FileManager1 DBUS interface from flatpak
  A handful of leak fixes
  Improved unit tests
  Avoid overzealous background project builds
  Runtimes can now translate paths to files such as headers so that the
   processes outside the runtime can access them.
  Allow libclang to parse files inside of Flatpak runtimes. This ensures
   that autocompletion and diagnostics work when building against org.gnome.Sdk
  Autotools will discover gmake vs make from the runtime
  A "clone and edit this flatpak" feature as been added using the -m command
   line option. This integrates with some GNOME-based compositors to allow an
   "edit this app" feature.
  Various build system improvements
  Improved support for building flatpaks
  Improved support for the meson build system
  Builder depends on a newer VTE for various regex features and now the
   build system configure check reflects that.
  Some vim improvements

Updated translations

  Hungarian, Kazakh, German, Spanish, Esperanto, Czech, Polish,
   and Brazilian Portuguese

Thanks everyone for your contributions!

The Builder project team will be progressing on larger features for the 3.24
cycle so packagers should look to the 3-22 branch for additional stablizing

Christian Hergert's avatar
Christian Hergert committed
203 204 205 206
Version 3.22.3

Summary of changes since 3.22.2
Christian Hergert's avatar
Christian Hergert committed

  Fix Clang auto-completion snippet insertion and scoring
Christian Hergert's avatar
Christian Hergert committed
210 211
  Various uninitialized and undefined behavior fixes
  Language defaults are now installed
  Support for building with LLVM 3.9
Christian Hergert's avatar
Christian Hergert committed
213 214 215
  Remove <> pairs when backspacing
  Support added for building and runing Flatpak applications, including
   from Builder distributed via Flatpak
  Flatpak-Builder integration using JSON manifests
Christian Hergert's avatar
Christian Hergert committed
217 218
  Project tree expands to previous location after refreshing contents
  Buffers are saved before performing build system install operation
  Show Flatpak prebuild and postbuild output in Build Output panel
Christian Hergert's avatar
Christian Hergert committed
220 221 222
  Store app-id in buildconfig
  Enter/Return has been re-enabled for auto-completion
  Goto Line popover no longer uses popover animation/delay
223 224
  Avoid over-activation of Ctags, Clang and other completion providers
  Set LD_LIBRARY_PATH for Rust RLS language server
Christian Hergert's avatar
Christian Hergert committed
225 226
  Fallback to ptsname() when necessary
  Workbench CSS style improvements
  Fix Tab to move between snippet chunks during auto-completion
Christian Hergert's avatar
Christian Hergert committed
228 229 230
  TTY support for FreeBSD when spawning processes
  A new Run Output panel has been added
  Fix for insertion of certain input methods next to quotations
  The editor now allows overwriting the ; character
Christian Hergert's avatar
Christian Hergert committed
232 233
  The terminal now supports highlighting and activating URLs
  Fixes for copy and paste commands in terminal
  Support for compiling C code outside of Autotools projects has
Christian Hergert's avatar
Christian Hergert committed
235 236 237
   been improved to correctly discover standard include files
  SSL and SSH improvements via Flatpak builds

It is strongly recommended that all users of Builder upgrade to 3.22.3.
Christian Hergert's avatar
Christian Hergert committed
239 240 241 242 243 244

Updated translations

  Lithuanian, Hungarian, Kazakh, German, Spanish, Czech, Polish,
   Brazilian Portuguese, Latvian, Serbian

Christian Hergert's avatar
Christian Hergert committed
245 246 247 248 249 250 251 252
Version 3.22.2

Summary of changes since 3.22.1

 * Flatpak builds of Builder can now target a Flatpak runtime when building
   the project. More work is ongoing to support running your project with
   Flatpak runtimes.
Christian Hergert's avatar
Christian Hergert committed
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283
 * Translation improvements
 * More RTL improvements
 * Lots of memory leak fixes found with ASAN
 * Builder will now cleanup the makecache directory for old temporary files
   that could have been left behind.
 * Flatpak breakout subprocess fixes to allow synchronous use from main
   loop. This fixes potential lockups in Flatpak'd versions of Builder.
 * The diagnostic engine has been restructured to allow out-of-band
   updates to diagnostics.
 * Create-project now depends on git, as it uses git to initialize a
   new project.
 * GObject Introspection improvements.
 * Improve performance of diagnostic creation under heavy use. This fixes
   a main-loop stall when extracting thousands of diagnostics from a
 * Diagnostics panel has been changed to use GtkTreeView to support larger
   lists of diagnostics as found in some projects.
 * Add empty-state views for symbols and diagnostic panels.
 * Sysprof support includes visualizers, zoom, and selectable ranges.
 * Ctags can now be used to build symbol trees, including Python
 * IdeSubprocessSupervisor has been added to allow plugins to easily
   manage an external process.
 * A client has been added for "Language Server Protocol" to make writing
   language-server based plugins easy.
 * Support for the Meson and Cargo build systems have been added.
   Run support with Meson will require 0.36.0 of Meson.
 * Deprecation fixes for various deprecated gtk+ API.
 * Runtimes have been improved to hook into the application build process.
 * Vim support has been improved to better support counts to change operations.
 * Build and runtime improvements for editorconfig.
 * Handle Alt+0..n properly during auto-completion.
Christian Hergert's avatar
Christian Hergert committed
285 286 287 288 289 290 291 292 293 294 295 296
 * Builder now depends on json-glib-1.0. This was already likely required
   via dependencies before, but now is explicit.

3.22.2 also includes a technology preview for Rust support. You can try
this out by installing Rust nightly and the “rustls” package for integrated
diagnostics, auto-completion, and sybmol-tree support.

There have also been a bunch of translation updates this cycle. Thanks to all
of our translators since 3.22.1:  Dušan Kazik, Aurimas Černius, Balázs Meskó,
Benedikt M. Thoma, ChenYang Li, Kjartan Maraas, Marek Černocký, Mario
Blättermann, Piotr Drąg, Rafael Fontenelle

Christian Hergert's avatar
Christian Hergert committed
297 298 299 300 301 302 303 304 305 306 307
Version 3.22.1

Summary of changes since 3.22.0

 • Lots of widget layout fixes for RTL languages such as Hebrew.
 • Build system fixes (missing -lm on some platforms, fixes for pipe2
   on macOS).
 • Use “getent passwd” to get the current passwd when discovering
   preferred user shell.
 • Load both user and system installed Flatpak runtimes.
Christian Hergert's avatar
Christian Hergert committed
309 310 311
 • Add support for Sysprof Visualizers (requires Sysprof 3.22.1)
 • Add empty, failed, and recording states for Sysprof plugin.
 • Prefer GtkNativeFileChooser when applicable.
312 313
 • Support for running some Gjs projects using Autotools. In particular
   we try to discover the “Gjs template” style.
Christian Hergert's avatar
Christian Hergert committed
314 315 316 317 318 319
 • Fix gettext usage from Python plugins.
 • The preferences perspective is now more tolerant of smaller screen
   sizes such as 1280xH.
 • Various UI polish.
 • Lots of translation updates.

Christian Hergert's avatar
Christian Hergert committed
320 321 322 323 324 325 326 327 328
Version 3.22.0

GNOME 3.22.0 is here and GNOME Builder is no different.

Since 3.21.91, we've added a bunch of features to help Builder run better under

  Fixes improper invalidation of cache items like Clang translation units.
Christian Hergert's avatar
Christian Hergert committed
330 331 332 333
  New transfers API for plugins.
  Support for prebuild/postbuild commands in .buildconfig.
  Run terminals on the host system when contained in Flatpak.
  Teach runtimes to run on the host system when necessary. Builder, when
   running under Flatpak, can support using your host JHBuild now.
Christian Hergert's avatar
Christian Hergert committed
335 336 337 338
  Plugins can define if a process should run on the host with the
   IdeSubprocessLauncher:run-on-host property.
  Various UI stablization fixes.
  Add Build and Run keybindings to Shortcut window (Ekta Nandwani)
  Fix running Autotools targets with relative paths (Patrick Griffis)
Christian Hergert's avatar
Christian Hergert committed
340 341 342 343 344 345 346 347 348 349 350
  Fix running projects using GSettings (Patrick Griffis)
  Add Python Gnome project (Patrick Griffis)

Thanks again to all of our translators!

Alexandre Franke, Anders Jonsson, Andika Triwidada, Ask Hjorth Larsen, Aurimas
Černius, Balázs Meskó, Balázs Úr, Baurzhan Muftakhidinov, Changwoo Ryu, Daniel
Mustieles, David King, Enrico Nicoletto, Fran Dieguez, Gábor Kelemen, Marek
Černocký, Mario Blättermann, Matej Urbančič, Muhammet Kara, Piotr Drąg, Rafael
Fontenelle, Rūdolfs Mazurs

Christian Hergert's avatar
Christian Hergert committed
351 352 353 354 355 356 357 358 359
Version 3.21.91

Another incremental release as we work towards GNOME 3.22.

  Build system improvements (Andreas Henriksson, Kalev Lember)
  A new "Quick Highlight" plugin to highlight words matching the
   current selection (Martin Blanchard)
  New snippets for Gjs have been added (Philip Chimento)
Christian Hergert's avatar
Christian Hergert committed
361 362 363 364 365 366
  Incremental gstyle/colorpicker improvements (Sebastien Lafargue)
  A new "Transfers API" has landed but is not yet used by any
   components. This will be useful for plugins that involve download
   or upload operations, such as those to a physical device.
  SCSS files are mapped to CSS for gnome-code-assistance.
  Sysprof support is now automatically detected.
  The DevHelp search provider has been removed as it was
Christian Hergert's avatar
Christian Hergert committed
368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383
   better served via the Ctrl+Shift+F accelerator.
  Builder now prefers the project id (sanitized name) in more
   places such as directory names which should improve building some
  The create-project workflow will now check to see if a directory
   exists before progressing the workflow.
  The C, XML, and HTML indenters have been improved to respect the
   language indentation settings for tab vs spaces and indent-width.

And thanks to our translators!

Alexandre Franke, Andika Triwidada, Balázs Meskó, Daniel Mustieles, Enrico
Nicoletto, Gábor Kelemen, Marek Černocký, Mario Blättermann, Piotr Drąg,
and Wolfgang Stöggl.

Christian Hergert's avatar
Christian Hergert committed
384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420
Version 3.21.90

Lots of new features have landed since we started down the road to 3.22.
Some of them are enumerated below.
  New search and replace implementation
  New build bar which provides an overview of the build config,
   VCS branch, and other important messages.
  A new sysprof-based profiler
  Perspectives have been revamped and we've removed the sidebar as we
   mentioned would happen before 3.20.
 • Improved project templates
 • Support for configuration of version control systems
 • ‘ide’ has been renamed to ‘gnome-builder-cli’
 • New build icon
 • Vim improvements
 • New color picker plugin
 • Autotools plugin can now extract various build targets
 • New greeter design including revamped git clone, file-chooser, and
   template wizard.

Thank you to all of our contributors!

  Akshaya Kakkilaya, Alexandre Franke, Allan Day, Anders Jonsson, Andika
  Triwidada, Aurimas Černius, Balázs Meskó, Baurzhan Muftakhidinov, Carlos
  Soriano, Christian Hergert, Christian Kirbach, Cédric Valmary, Daniel
  Espinosa, Daniel Mustieles, Debarshi Ray, Enrico Nicoletto, Fangwen Yu,
  Florian Müllner, František Zatloukal, Garrett Regier, Georges Basile
  Stavracas Neto, Giovanni Campagna, Gábor Kelemen, Jeremy Bicha,
  Marc-Antoine Perennou, Marcin Kolny, Marek Cernocky, Marek Černocký,
  Mario Blättermann, Matthew Leeds, Michael Catanzaro, Muhammet Kara,
  Patrick Griffis, Piotr Drąg, Rafael Fontenelle, Raunaq Abhyankar,
  Sebastien Lafargue, Tiago Santos, Ting-Wei Lan

Christian Hergert's avatar
Christian Hergert committed
421 422 423 424 425 426 427 428 429 430 431
Version 3.21.1

This is our starting point for the 3.22 cycle.

This release is mostly the same as 3.20.2 except that it has an updated color
palette for the Adwaita theme in GTK+ 3.21.1.


Christian Hergert's avatar
Christian Hergert committed
432 433 434 435 436 437 438 439 440 441 442 443
Version 3.20.2

We've packed a bunch of bug fixes into a new release for you.

We strongly suggest that distributions upgrade to 3.20.2 if
they have already shipped 3.20.0 as it fixes numerous issues.

  You can now select templates when creating a project, including
   C, C++, and Vala languages.
  The Vala plugin now extracts --pkg command line arguments from
   Autotools projects.
Christian Hergert's avatar
Christian Hergert committed
445 446 447
  Various bug fixes to preferences and gsettings.
  Much more of builder is translatable now.
  Build for FreeBSD and OpenBSD.
  Fixes to Vim movements.
Christian Hergert's avatar
Christian Hergert committed
449 450
  Many performance improvements to the editor.
  Support for LLVM 3.8.
  Fixes for Ctrl+click on included headers to jump to header.
Christian Hergert's avatar
Christian Hergert committed
452 453 454 455 456 457 458 459 460 461 462 463 464 465 466
  Fix for infinite loop in worker thread when cloning from
   unauthorized git repositories.
  Builder removes unnecessary widgets after starting up, lowering
   the runtime overhead of the workbench.
  You can move rename files outside their current directory.
  Fixes for shorthand git URLs such as user@host:path.
  The global file search now handles renames and deletes of
   project files.
  The project window now includes the title of the project
   to help when multiple projects are open in GNOME Shell's
 • Some projects that could not be removed from the greeter
   can now be removed.

We also request that packages ensure that they ensure that the Builder
package depends on Automake, Autoconf, and Libtool. These will always
Christian Hergert's avatar
Christian Hergert committed
be available when building, but are also required at runtime for
Autotools support.
Christian Hergert's avatar
Christian Hergert committed
470 471 472 473 474 475 476 477 478 479 480 481 482

Thanks to all our translators and contributors in this release!

Akshaya Kakkilaya, Alexandre Franke, Anders Jonsson, Andreas Henriksson,
Antoine Jacoutot, Ask Hjorth Larsen, Aurimas Černius, Balázs Meskó,
Balázs Úr, Ben Iofel, Christian Hergert, Daniel Mustieles, Debarshi,
Enrico Nicoletto, Fangwen Yu, Fran Dieguez, Gabor Kelemen, Jakub
Steiner, Jürg Billeter, Marek Černocký, Milo Casagrande, Piotr Drąg,
Rafael Fontenelle, Reinout van Schouwen, Rūdolfs Mazurs, Sebastian
Rasmussen, Sebastien Lafargue, Ting-Wei Lan, Tom Tryfonidis, Wolfgang
Stöggl, chandu, Марко М. Костић

Christian Hergert's avatar
Christian Hergert committed
483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500
Version 3.20.0

GNOME 3.20 has finally arrived, and Builder is here to help you
write great software!

A lot of stability improvements have landed since 3.19.90, as well
as merging the beginning of our new panel engine. While Builder
shouldn't look any different with the panel improvements, it lays
the groundwork for us to provide a more powerful panel engine
going forward, including all the features you would expect.

Since our last release, you'll find:

 • More stylability controls using GtkSourceView style schemes.
 • The ability to toggle case-sensitivity with search context
 • Vim movement improvements.
Christian Hergert's avatar
Christian Hergert committed
 • The ability to disable project miners at startup.
 • Improvements to the Clang completion engine.
Christian Hergert's avatar
Christian Hergert committed
504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537
 • Show empty state screen when last document is closed.
 • Show project tree when last document is closed.
 • Various build system improvements.
 • Improvements to Control+Click on symbols in the editor.
 • Snippet parser improvements.
 • Filtering improvements in symbol tree.
 • Various bugs squashed in menu management.
 • A new comment code plugin.

Thanks to all our contributors since 3.18.1!

Akshaya Kakkilaya, Alex285, Alexandre Franke, Anders Jonsson, Anwar
Sadath, Artur de Aquino Morais, Ask Hjorth Larsen, Aurimas Černius,
Balázs Meskó, Balázs Úr, Baurzhan Muftakhidinov, Ben Iofel, Boris
Egorov, CHHAVI GARG, Carl Simonson, Carlos Soriano, Changwoo Ryu,
Chao-Hsiung Liao, Christian Hergert, Christian Kirbach, Cédric Valmary,
Daiki Ueno, Damien Lespiau, Daniel Korostil, Daniel Mustieles, David
King, Debarshi, Dušan Kazik, Elad Alfassa, Enrico Nicoletto, Erick Perez
Castellanos, Fangwen Yu, Felix Schwarz, Fran Dieguez, Garrett Regier,
Gustavo Marques, Gábor Kelemen, Ignacio Casal Quinteiro, Ignazio
Sgalmuzzo, Igor Gnatenko, Joaquim Rocha, Kris Thomsen, Kristjan SCHMIDT,
Kyrylo Polezhaiev, Lionel Landwerlin, Marek Černocký, Marinus Schraal,
Mario Blättermann, Mario Sanchez Prada, Matej Urbančič, Mathieu
Duponchelle, Matthias Clasen, Megh Parikh, Michael Catanzaro, Milo
Casagrande, Patrick Griffis, Pedro Albuquerque, Philip Withnall, Piotr
Drąg, Rafael Fontenelle, Ray Strode, Richard Hughes, Rūdolfs Mazurs,
Sebastian Rasmussen, Sebastien Lafargue, Thibault Saunier, Timm Bäder,
Ting-Wei Lan, Tom Tryfonidis, Varun Joshi, Wolfgang Stöggl, Yannick
Inizan, adrian.zatreanu, chandu, heroin, Γιάννης Κουτσούκος, Марко
Костић, Милош Поповић 

Happy Hacking!

Christian Hergert's avatar
Christian Hergert committed
538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566
Version 3.19.90

GNOME 3.20 is heating up and so is Builder. We've landed a bunch more
features for you since 3.19.4 and are ready for more general testing
while we stablize for the upcoming 3.20 release.

In this release, you'll find:

 • A new diagnostic provider for common gettext errors (Daiki Ueno)
 • Builder no longer bookmarks known temporary directories.
   This should make things less annoying when opening a single
   file with Builder. (Akshaya Kakkilaya)
 • The framework for User Help has landed, and we need your help to
   put together a good help story in Builder! (Alexandre Franke)
 • Terminal styling for Dark Mode has been fixed (Carlos Soriano)
 • Preferences layout was extracted into EggColumnLayout and fixed
   various Height for Width issues.
 • Preferences for disabling various diagnostic engines was added.
 • Improvements to our shared library template (Philip Withnall,
   Igor Gnatenko)
   See `ide create-project --help` for more information.
 • A configuration manager has been added to allow building various
   project configurations. A configruation editor allows you to
   create new and tweak existing configurations.
 • Support building projects inside xdg-app runtime, using
   "xdg-app build"
 • Support for building inside of a JHBuild runtime (Patrick Griffis)
Christian Hergert's avatar
Christian Hergert committed
568 569 570 571
 • Various tooltips were added to the user interface (Piotr Drąg,
   Adrian Zatreanu)
 • The line change gutter got support for rendering deleted lines.
 • Ctags got support for coalescing similar completion results. (chandu)
 • Cursor location history and Ctags were moved to .cache directories.
Christian Hergert's avatar
Christian Hergert committed
573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595
   (Megh Parikh)
 • Libide, Egg, and Template-GLib headers are now installed to
   $(includedir)/gnome-builder-@VERSION@. This allows building C
   and vala plugins out of tree.
 • Support for enabling pylint via GNOME Code Assistance was added.
 • You can search for projects in the greeter using the directory name.
 • An empty state splash was added to the editor.
 • Various workarounds for recent changes in Vala.
 • Various fixes to the command bar availability (Sebastien Lafargue)
 • Vim improvements (Sebastien Lafargue)
 • Plugins can remove preferences when unloading (Sebastien Lafargue)
 • Many improvements to translations (Alexandre Franke, Anders Jonsson,
   Artur de Aquino Morais, Aurimas Černius, Balázs Meskó,
   Baurzhan Muftakhidinov, Chao-Hsiung Liao, Daniel Mustieles,
   Dušan Kazik, Fran Dieguez, Gábor Kelemen, Mario Blättermann,
   Piotr Drąg, Rafael Fontenelle, Rūdolfs Mazurs)

Happy Hacking!

Please help us shake out the bugs by running Builder and reporting
bugs to

Christian Hergert's avatar
Christian Hergert committed
596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630
Version 3.19.4

It's been far too long since our last release, and things are heating up
for GNOME 3.20. Builder has underone a major overhaul since 3.18 and
still has a few major pieces still to land this cycle.

  Perspectives have been implemented to allow for clearer groupings
   of application features and plugins.
  Preferences has undergone substantial redesign. Preferences now
   use a custom perspective rather than a dialog window.
   - There is still an height-for-width bug to resolve in the layout
     of preference items.
  A new "ide" command exposing various Builder features to command
   line users.
  Global search has gotten some style cleanup.
  Builders custom CSS was rewritten for recent gtk+ changes.
  A build panel has been added.
  A Todo plugin was added to track todo items.
  Perspectives can handle URI opening, allowing for perspectives
   such as a "glade perspective" to handle opening .ui files.
  Builder-1.0.gir was dropped, in favor of Ide-1.0.gir.
  Embedded plugins and dependency solving now works.
  Plugin APIs were simplified.
  Multi-process separation support using IdeWorker. Plugins can now
   easily move work to a subprocess and communicate via D-Bus. Jedi
   has been ported to multi-process mode for Python auto-completion.
  Lots of Vim-mode improvements.
  Vala plugin improvements.
  External plugins are now supported.
  Plugins can be loaded and unloaded.
  Loads of bug and build system fixes.
  Project greeter and project creation have been rewritten for
  Plugins now have automatic resources for menus.ui and CSS themes.
Christian Hergert's avatar
Christian Hergert committed
632 633 634 635 636 637 638 639 640 641 642 643
  Various keybinding improvements.
  Control+click works for navigating to type definitions.
  scrolloffset has much improved and gained support for negative
   values, which works in the opposite direction (top down).
  Search movements have been simplified.

And much, much more!

Please help us shake out the bugs by running Builder and reporting
bugs to

Christian Hergert's avatar
Christian Hergert committed
644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674
Version 3.18.1

Just like the 3.16 cycle, we are moving fast despite the dot release
nature of this cycle. We have a lot to get done and we want our lovely
users helping us test this young program.

A short list of updates since 3.18.0:

  Initial support for Vala. Until we move this out of process, we do
   expect that things are a bit leaky. This plugin is written in Vala
   and requires libvala-0.30. It supports autocompletion, as-you-type
   error highlighting, a symbol tree, and jump to definition. We would
   love for the vala community continue helping make this plugin great.
  You can now write plugins in Vala. *.vapi are generated for libide-1.0
   and gnome-builder-1.0.
  Autocompletion, in most scenarios, will be much faster. Check out for
   more information on how this was done.
  Most autocompletion engines now support fuzzy completion. This means
   that "gtkwidshow" will match "gtk_widget_show".
  A few crashers were fixed.
  --enable-*-plugin now works correctly.
  Content type loading was fixed so that are no longer opened
   by totem.
  Python jedi completion has been improved.
  Fix some coverity warnings.
  A new button has been added to the editor to jump to the next warning
   or error.
  The C indenter is a bit more friendly to alternate coding styles.
  Reindent line support has landed (Tab in Emacs, == in Vim, Ctrl+Alt+i
Christian Hergert's avatar
Christian Hergert committed
676 677 678
   as default).
  A new font for the overview map has been enabled. It is called BuilderBlocks
   and is a generic block font based on Tofu from Behdad Esfahbod.
  The Ctags plugin can now defer tags generation to Automake's `make ctags`.
Christian Hergert's avatar
Christian Hergert committed
680 681 682 683 684 685
 • You can now draw marks for spaces, tabs, newlines, non-breaking whitespace,
   trailing and leading spaces.
 • Many translation updates including (French, Hungarian, Kazakh, Korean,
   Spanish, Finnish, Esperanto, Czech, Italian, Brazilian Portuguese, Polish,
   German, and Serbian).
 • Improvements to the search workflow.
 • Various Vim and Emacs compatibility and stability improvements.
Christian Hergert's avatar
Christian Hergert committed
 • Jedi completion proposals now show the correct word and lower probability
   of functions that start with two underscores: __
Christian Hergert's avatar
Christian Hergert committed
 • Symbol tree panel stability improvements.
Christian Hergert's avatar
Christian Hergert committed
690 691 692 693 694

Thanks to all of our more than 20 contributors since 3.18.0!

Christian Hergert's avatar
Christian Hergert committed
695 696 697 698 699 700 701 702 703 704 705 706 707 708
Version 3.18.0

GNOME 3.18 is here, and so is Builder!

A short list of updates since 3.17.92:

 • buffer: release symbol resolver aggressively
 • build: disable device manager/mingw plugins by default
 • cindent: ensure we don't loop forever looking for context
  counters: add vsdo fallback on linux and no rdtscp instruction
  counters: mask CPU bits from rdtscp instruction on x86_64
  editor: release underlying document aggressively to prevent leaks
  editor: <Shift>k in Vim mode to request documentation
Christian Hergert's avatar
Christian Hergert committed
710 711
  editor: add simple goto line popover, activate with ctr+i in gedit mode
  editor: fix crash upon DnD to editor
  keybindings: use Ctrl+Alt+o for global search in gedit mode.
Christian Hergert's avatar
Christian Hergert committed
713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730
  map-bin: ignore size adjustment when floating bar is not used
  plugins: show plugin greyed out if it is disabled
  search: disable progress bar in search results
  search: fix popover bug when clearing search text
  search: make the search entry more forgiving to smaller sizes
  search: show more search results by default
  symbol-tree: fix cache timeout to use milliseconds
  theme: fix styling of view controls in stack header
  view-stack: allow focusing the view stack by clicking on the header

We have marked the mingw and device manager plugins as experimental because
they are not implemented to the point of being useful. We suggest that
packagers do not ship them as part of the 3.18.0 release.

-- Christian

Christian Hergert's avatar
Christian Hergert committed
731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768
Version 3.17.92

Another Builder release is here!

This release is a snapshot before the final 3.18 release expected next week.
This gives packages a chance to ensure that everything is in working order
for the 3.18 release.

We'd like to remember everything that Builder is still a beta product and we
are working hard towards implementing all the requested features.

There are lots of changes this cycle, some more infrastructure than cosmetic.
A few of them are as follows:

 • Progress on implementing UI designs.
 • A new shortcuts dialog to help you discover features.
 • A new plugin engine powered by Libpeas. Currently, only in-tree plugins
   are supported. Plugins can be written in C or Python3.
 • A new workspace layout with panels which can be extended by plugins.
 • Completion with support for GObject Introspection for Python3 using Jedi.
 • Progress on device manager and CPU graphs.
 • Symbol tree is now shown in a panel which reduces widget overhead.
 • Loading of previous buffers is faster.
 • Read-only snippets viewer has been added to preferences.
 • Read-only plugin viewer in preferences.
 • Build systems can now be implemented as plugins.
 • Support for Terminals using VTE.
 • Editor overview map has been moved into GtkSourceView.
 • Smart backspace has been moved into GtkSourceView.
 • Builder gained printer support.

Thanks again to all our translators that kept things up to date while we
churned through bugs late in the cycle. We hope to do this less as we come
out of beta.

For those that are *very* adventurous, Builder should compile on OS X now with
769 770
a properly configured JHBuild toolchain. Additionally, we have maintained
compatibility with FreeBSD and OpenBSD thanks to generous contributions.
Christian Hergert's avatar
Christian Hergert committed
771 772 773 774 775 776 777 778 779 780 781 782 783

Notes to packagers

 • We now install multiple private shared libraries to $prefix/gnome-builder/
 • Plugins are installed to $prefix/gnome-builder/plugins/

I'd like to thank our nearly 40 contributors this cycle for all your patches
and time spent on making Builder great!

-- Christian

Christian Hergert's avatar
Christian Hergert committed
784 785 786 787 788
Version 3.16.3

Your Builder development team has been working hard to build on the
tremendous momentum of the last few months. 3.16.3 is like each of its
Christian Hergert's avatar
Christian Hergert committed
790 791 792 793 794 795 796 797 798 799 800 801 802 803
predecessors, packed with new features and bug fixes.

I'd like to personally thank everyone who contributed bugs during the cycle.
You keep us on our toes.

This release shows a sharp spike in contributions from new and existing
GNOME community members. I'm very happy to see this happening and look
forward to building Builder together.

Of note in this release:

  A new source code minimap, recently pushed upstream into GtkSourceView.
  A new greeter based on recent design work.
  A new XML highlighter to highlight matching XML elements.
  Support for Ctags-based auto-completion.
Christian Hergert's avatar
Christian Hergert committed
805 806 807 808 809 810 811
  High-performance, mutli-threaded counters that can be enabled with
   --enable-rdtscp. These are disabled by default as they require newer
   Intel Core i[357] features. ide-list-counters can be used to extract
   them from a running or crashed process.
  The preferences interface has been vastly improved.
  Search improvements.
  A strftime format completion provider for Python.
812 813
  Additional Emacs, Vim, and default keybindings.
  Experimental support for building Autotools projects with mingw.
Christian Hergert's avatar
Christian Hergert committed
814 815
  Python auto-indenter improvements.
  Many CSS style improvements on Adwaita.
  Additional support for recursive-Automake-based projects.
Christian Hergert's avatar
Christian Hergert committed
817 818 819 820 821 822
  Some features have made configurable with gsettings.
  Layered settings support for project vs global settings.
  Improved modelines support.
  Support for parsing DOAP files.
  Various memory leaks were plugged.
  Incremental highlighting has more aggressive invalidation.
  Various race conditions in Autotools support were fixes.
Christian Hergert's avatar
Christian Hergert committed
824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848
  OpenBSD and FreeBSD build system fixes.
  Many translation improvements. and Ide-1.0.typelib are now installed to a private

Thanks to everyone who contributed to this release!

  Alexandre Franke
  Carlos Soriano
  Christian Hergert
  Daniel Mustieles
  Elad Alfassa
  Erick Pérez Castellanos
  Garrett Regier
  Kalev Lember
  Marek Černocký
  Patrick Griffis
  Piotr Drąg
  Sebastien Lafargue
  Ting-Wei Lan
  Wolf Vollprecht
  Yosef Or Boczko

Christian Hergert's avatar
Christian Hergert committed
849 850 851 852 853 854 855
Version 3.16.2

Based on early feedback from 3.16.1, I'm announcing a followup release.
This is primarily a bug-fix release.

856 857
 • Fix double free in dummy VCS.
 • Fix project tree loading in dummy VCS.
 • Fix workbench action names in Emacs mode.
Christian Hergert's avatar
Christian Hergert committed
859 860 861 862 863 864 865 866 867
 • Improve sorting of filenames in project tree.
 • Ensure loading of files matching content types supported by
 • Enable project tree by default.
 • Enable project tree icons by default.
 • Add rename file in project tree.
 • Add move to trash in project tree.
 • Sort previously opened projects before projects discovered by miners.
 • Use sysconf() for page size (fixes building on OpenBSD).
 • Various Clang build fixes.
Christian Hergert's avatar
Christian Hergert committed
869 870 871 872 873 874
 • Use arrow down instead of hamburger for search bar.
 • Fix unicode in markdown live preview.

Thanks to everyone that tested 3.16.1 and provided feedback!

Christian Hergert's avatar
Christian Hergert committed
875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898
Version 3.16.1

GNOME 3.16.1 is here, and so is a new release of Builder!

While most projects are focused on improving stability for 3.16.1, Builder is
quickly adding the features you need. This is only possible because we are
still an early preview application.

Some highlights of the over 300 new commits in this release:

 • Improved project tree including support for creating files and folders,
   opening with external programs based on content-type, and file-manager
   integration. (Christian Hergert, Garrett Regier)
 • A new incremental semantic syntax highlighting engine.
 • Semantic highlighting for C and C++ using Clang AST.
 • Document selection popover to ease switching between documents.
 • Symbols navigator for C and C++ files.
 • Apply "Fix-It" for C and C++ as provided by Clang.
 • Highlight build warnings in squiggly yellow lines.
 • Improvements to dark theme.
 • Improvements to Builder's style scheme for C and C++ languages.
  "Jump to definition" support for C and C++ languages.
   Ctrl+] or gd in Vim mode, <Alt>period in Emacs mode.
Christian Hergert's avatar
Christian Hergert committed
900 901
  A new project selection and creation dialog on startup.
  Git clone support from new project dialog.
  "Find other file" similar to Emacs to switch between source and header
Christian Hergert's avatar
Christian Hergert committed
903 904 905
   files in C and C++.
  Improvements to scroll-offset which allows you to keep a given number
   of lines above and below the cursor. (Carlos Soriano, Christian Hergert)
  Respect GTK+'s "sort-directories-first" GSetting. (Garrett Regier)
 • Improvements to Vim mode including support for :bnext, :bprevious,
Christian Hergert's avatar
Christian Hergert committed
908 909 910 911 912
   :buffers and :ls (Alexandre Franke, Sebastien Lafargue)
 • Split support for HTML view (Sebastien Lafargue)
 • Build fixes for FreeBSD (Ting-Wei Lan)
 • Build fixes for OpenBSD (Antoine Jacoutot)
 • Support for editing "application/x-php" files.
 • Support extraction of CFLAGS from out-of-tree, non-recursive Automake.
Christian Hergert's avatar
Christian Hergert committed
914 915 916
   (Christian Hergert, Giovanni Campagna)
 • A new symbolic icon (Jakub Steiner)
 • Improvements to handling of drafts (Paolo Borelli)
 • Improvements to Autotools builders (Paolo Borelli)
Christian Hergert's avatar
Christian Hergert committed
918 919 920 921 922 923 924 925 926
 • Many translation updates including Czech, Polish, and Hebrew.
   (Marek Černocký, Piotr Drąg, and Yosef Or Boczko)

I'd like to thank everyone that filed bugs, submitted patches, translated,
tested, or plans to test Builder.

Together, great things are possible.

Christian Hergert's avatar
Christian Hergert committed
927 928 929 930 931 932 933 934 935 936 937 938 939 940
Version 3.16.0

It is my distinct pleasure to announce the first preview release of
GNOME Builder!

GNOME Builder is a new development environment being developed in
conjunction with the GNOME desktop. While Builder is an alpha product,
it is under heavy development. We look forward to early testers and
encourage everyone to try things out and file bugs and feature requests.

I'd like to thank the Gedit and GtkSourceView team for all of their hard
work integrating features from Builder upstream as well as adding
features we needed. Additionally the GLib and GTK+ teams were incredibly
Christian Hergert's avatar
Christian Hergert committed
942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964
helpful to keep us moving.

Builder is built in conjunction with LibIDE. This new shared library
provides the necessary abstractions to build a modern IDE. It includes
auto-completion, auto-indenters, buffer management, a source editor,
abstractions for build systems, version control, file settings,
translation units, diagnostics, symbols, search engines, snippets, local
and external devices, documentation, animations, and more.

Some highlights of this release are:

 · A beautiful new GtkSourceView theme influenced by design grid paper.
 · Integrated source editor based on GtkSourceView.
 · Live diagnostics as you type for C, C++ via Clang.
 · Live diagnostics as you type for Python, Ruby, CSS, JavaScript, JSON,
   Vala, Go, and others via gnome-code-assistance.
 · Highlighting of added/changed lines within the source editor.
 · Robust Vim and Emacs emulation.
 · Multiple views into single file. Both horizontal and vertical splits
   are supported.
 · Navigation history to jump back and forward within modified files.
 · Robust snippet engine including support for GLib 2.44 style GObjects.
 · Quick search to locate files within your project as well as
   documentation in DevHelp.
Christian Hergert's avatar
Christian Hergert committed
966 967 968 969 970 971
 · Smart backspace to simplify using spaces instead of tabs.
 · A command bar to execute internal GActions and Vim style commands
   with autocompletion.
 · An implementation of Vim's scrolloffset.
 · Restoration of insertion cursor when reloading a file.
 · Autocompletion based on current words in loaded buffers.
972 973
 · Experimental support for autocompletion based on Clang.
 · Support for Vim, Emacs, and Kate style modelines.
Christian Hergert's avatar
Christian Hergert committed
 · Editorconfig support.
 · Experimental read-only support for Autoconf/Automake based build
Christian Hergert's avatar
Christian Hergert committed
976 977 978
 · Robust auto-indenters for GNU C89, Python, and XML.
 · Experimental project tree (available via F9).
 · Experimental support for building Automake based projects.
Christian Hergert's avatar
Christian Hergert committed
980 981 982 983 984 985 986
 · Keybinding replay for command repeat in Vim emulation.
 · Autosaving of modified buffers, never lose a change.
 · Scripting via Python (CPython) or JavaScript (Gjs) and GObject
 · Dynamic power management when running on laptop battery.
 · HTML and Markdown live preview.
 · Autocompletion of g_date_time_format() format parameters.
 · Type-ahead search with rubberbanding.
Christian Hergert's avatar
Christian Hergert committed

We won't be slowing down any time soon. Thanks to everyone for your
Christian Hergert's avatar
Christian Hergert committed
990 991 992 993 994
support, I cannot wait for what is ahead.

-- Christian Hergert

Christian Hergert's avatar
Christian Hergert committed
995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007
Version 3.15.4

This is the first preview release of Builder as we continue our journey to
GNOME 3.16!

Being that this is such an early release, we'd really appreciate it if you
took the time to file bugs as you find them.

You can report bugs using bugzilla at the following URL: