File: NEWS

package info (click to toggle)
foundry 1.1~beta-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 15,552 kB
  • sloc: ansic: 167,487; xml: 417; makefile: 21; sh: 19; javascript: 10
file content (260 lines) | stat: -rw-r--r-- 10,832 bytes parent folder | download | duplicates (2)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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
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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
Foundry 1.1.beta
================

This beta release continues the 1.1 cycle with forge improvements, DOAP
integration in libfoundry, and build conveniences.

**Forge / GitLab**
 * Add issues-url and merge-requests-url properties to forge for web navigation
 * GitLab plugin implements issues-url and merge-requests properties
 * Forge actions for web intents

**DOAP**
 * Add FoundryDoapService with public API for DOAP project information
 * Load DOAP files asynchronously with futures/fibers
 * Remove doap plugin (functionality moved to libfoundry core)
 * Fix DOAP return type for const strv

**Build**
 * Add `foundry build --inhibit-suspend` option to prevent system suspend
   during long builds
 * Add libfoundry helper to inhibit suspend via logind integration

**API**
 * FoundryWeakPair is now part of public API for use as closure data
 * Add foundry_strv_empty0() utility

**Other**
 * Switch application and library IDs from app.devsuite to org.gnome
 * Add Slovenian translation

Foundry 1.1.alpha
=================

This is the first alpha release for the upcoming 1.1 release, bringing major
infrastructure improvements for IDE development and a complete debugger
implementation.

**Debugger Infrastructure**
 * Complete Debug Adapter Protocol (DAP) implementation with GDB and LLDB
   integration, providing a unified debugging experience across debuggers
 * Full debugger UI with stack frames, locals, parameters, registers, and
   breakpoint visualization
 * Disassembly view and REPL interpreter support for interactive debugging
 * Memory visualization with address range browsing and read_memory() API
 * Quirks system to handle non-ideal DAP implementations gracefully
 * Debugger state tracking and GActionGroup integration for easy UI wiring

**Language Server Protocol**
 * LSP progress operations bridging to FoundryOperation for long-running
   language server tasks
 * Hierarchical symbol tree support for modern LSP implementations
 * Improved buffer synchronization with cleaner fiber-based implementation
 * Enhanced diagnostics integration with tooltips and gutter rendering
 * Fixed JSON-RPC driver to handle edge cases in protocol parsing

**Symbol and Documentation Systems**
 * New symbol provider API with CTags parser and tree-sitter plugin support
 * Symbol tree, symbol location, and path navigation infrastructure
 * FoundryGir parser for accessing reflected GIR files without compilation,
   enabling documentation access even when not generated
 * Documentation bridge for markdown generation and search integration
 * Pathbar infrastructure for symbol, documentation, and file navigation
 * FoundryPathNavigator with subclasses for symbols, documentation, and files

**File and Search Infrastructure**
 * New file search API with grep integration and thread-pool optimization
 * Search provider abstraction with GNU grep default and ripgrep support
 * Search/replace API with back-reference support for regex replacements
 * FoundryFileRow component for path browsing with collapse/expand support
 * Include/exclude globbing for file searches
 * Improved fallback search using git file listing for faster index building

**Build System**
 * Build pipeline with phase tracking and dynamic stage calculation
 * Build system discovery with priority-based addin loading
 * Linked pipeline support for multi-project builds (e.g., building GTK as
   part of your application build)
 * Non-destructive Flatpak manifest editing with write-back support
 * SDK management with write-back to configurations
 * Support for install, export, and deploy actions
 * Pipeline now supports prepend/append PATH modifications
 * Justfile support using `just` build tool

**Forge Integration**
 * GitLab forge implementation with issues, merge requests, and project
   abstractions
 * API key management with libsecret storage and rotation support
 * FoundryKeyRotator for automatic key expiration checking and rotation
 * Pagination support with automatic background fetching
 * Forge listing components with pre-fetch capabilities
 * Keyword search for issues and merge requests

**Intent System**
 * New IntentManager with plugin model and priorities for flexible application
   policy handling
 * Intents for file operations, symbols, documentation, web navigation, and
   actions
 * FoundryActionIntent and FoundryWebIntent for application integration
 * Integrated intent system across file operations, search results, and
   navigation
 * Terminal Intent and TerminalService for opening terminals within applications

**Terminal Integration**
 * FoundryTerminal with snapshot rewriting from Ptyxis for consistent terminal
   experience
 * Terminal intent and service for application integration
 * PTY diagnostics with auto-registration to diagnostic manager
 * Terminal palette support with FoundryTerminalPaletteSet

**Version Control**
 * FoundryGitCommitBuilder with staging/unstaging of files, hunks, and lines
 * Diff, delta, and patch generation APIs
 * Commit signing support for GPG and SSH keys
 * Stash functionality and VCS diff hunk/line abstractions
 * FoundryVcsDiffHunk and FoundryVcsDiffLine objects for fine-grained diff
   access
 * Improved delta handling and repository path management

**Other Infrastructure**
 * Operation bay for long-running operations with progress display (similar to
   Nautilus)
 * Retained list model for pinning items during interactions
 * MCP server exposing Foundry tools and resources
 * Panel widget machinery with presented() support for delayed loading
 * Needs-attention tracking for panels and pages
 * New menu search provider (FoundryMenuSearchProvider) for searching
   application menus
 * Settings system now supports string array (strv) values
 * New FoundryTextManager::document-saved and FoundryTextDocument::saved signals
 * FoundrySourceBuffer comment/uncomment API
 * libfoundry-adw gained foundry_page_request_close() API
 * libfoundry-adw gained helpers to locate panels by ID

**Plugins**
 * New DistCC plugin for distributed compilation
 * New SARIF plugin for receiving diagnostics via SARIF socket protocol
   (supports GCC 16.0 EXPERIMENTAL_SARIF_SOCKET)
 * Improved Ollama plugin with API key support and host/port/TLS control
 * New OpenAI plugin providing LLM backend support for OpenAI models

**CLI Improvements**
 * Improved CLI with plugin command tree extension support
 * New `foundry grep` command with search/replace support
 * New `foundry symbol-tree` and `foundry find-symbol-at` commands
 * New `foundry secret rotate` and `foundry secret check-expires-at` commands
 * New `foundry mcp` server command
 * Better formatting for GFlags using value_nick
 * Improved string array output for JSON and text formats

**Many bug fixes and improvements across the codebase**

Foundry 1.0.0
=============

 * Give access to VIM im context from FoundrySourceView
 * Simplified GActions for many FoundryService-derived managers
 * Foundry executable is now dynamically linked
 * FoundrySearchResult gained icon support
 * New API to allow creating a PTY producer from a consumer FD
 * Many fit'n'finish fixes for 1.0 API
 * The FoundryFileManager can now discover content-type from a
   filename if the content-type is not provided to determine
   appropriate symbolic icons.
 * Improvements to terminal palette parsing
 * A new FoundryMenuProxy enables easily integrationg with
   GMenuModel with a menu ID referenced in the applications
   merged menus (See FoundryMenuManager).
 * The fallback storage for extended attributes (SQLite) now
   properly ensures uniqueness for columns based on file URI.
 * Some API was renamed to improve future expansion.

Foundry 1.0.rc
==============

 * Much work on LLM, VCS/Git, Tweak, and Template APIs.

Foundry 1.0.beta
================

This is our beta for the upcoming GNOME 49 release.

I do anticipate additional API additions before release candidates.

 * A new feature flags system which allows compiling out major portions of
   libfoundry for situations where they are not necessary or desired. I would
   expect this mostly used for static linking situations as it does affect
   the ABI produced by the library.

 * Various new CLI commands such as `llm complete`, `test list`, `test run`,
   `clone`, `vcs log`.

 * The build and run subsystems have grown GActions and support for wriring
   up PTY for those actions.

 * Their is a new input abstraction which is used for template input,
   providing input to auth providers, and more in the future.

   A TTY input mechanism now exists on FoundryCommandLine to make reading
   input in an interactive manner simple.

 * A new word-completion provider which can scan input across included
   files similar to Vim.

 * New pre/post load operations for text document addins. Spellcheck has
   been rebuilt on top of this mechanism to simplify weak ref management.

   Document loading has been cleaned up significantly as part of this.

 * A JSONRPC subsystem has been implemented using a new JsonrpcDriver
   helper to support multiple jsonrpc dialects. As such, the dependency
   on jsonrpc-glib has been dropped.

 * A new test management subsystem has been added to extract tests from
   the active build system.

 * Improved support for code actions on text documents.

 * New CTags integration.

 * A gutter renderer for diagnostics has been added.

 * Improved bridge for Foundry based addins to GtkSourceView equivalents
   like hover, completion, and indenters.

 * A new symbol API has been implemented to provide introspection on
   symbols and their hierarchy.

 * Many version control abstractions have landed with an implementation
   for the Git backend.

 * The git backend has been rewritten using libgit2 directly and wrapping
   the git structures in a more sound way. Additionally threading has been
   used to help keep operations off the main thread when they have a
   potential for blocking IO.

 * A new LLM subsystem that can list models and request completions for
   said models.

 * A new Ollama plugin which provides scaffolding for applications to talk
   to a local model if they wish.

Foundry 1.0.alpha
=================

This is the initial release of Foundry as I work towards getting the API in
place for a 1.0 release with GNOME 49.

The long term goal is for libfoundry to be a shared base library among many
developer tools in the GNOME eco-system such as Manuals, Builder, and Sysprof
with potentially more to follow.

There is a command line tool `foundry` which allows exercising much of the
libfoundry API.

There is also a libfoundry-gtk module that is not currently used by any
applications yet but will be in the future by GNOME Builder. It is not
necessary to build for GNOME 49 and distributions may want to choose to
build with `-Dgtk=false` to disable it.

Thanks!