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