Matt continued working on support for the new Wayland accessibility protocol extension in Mutter and designing the protocol for assistive technologies and other clients
Last week, the foundation of a full Rust rewrite of GStreamer’s Real-Time Protocol (RTP/RTCP) network stack was created, with the effort funded by the Sovereign Tech Fund. You can read
STF’s announcement on Mastodon.
RTP, RTCP, and SDP are standard specifications which constitute the basic building blocks on top of which widely-used real-time protocols like RTSP (Real-Time Session Protocol) and WebRTC (Web Real-Time Communication) have been created. You can read more about this and the project in general at https://www.sovereigntechfund.de/tech/gstreamer
The rewrite has several technical advantages over the existing C-based stack
built ontop of GObject and GIO:
Improved memory safety: important when parsing untrusted network data
More flexible architecture: the existing RTP stack was “layer cake” which made adding new interactions and features hacky and cumbersome
Better performance: the previous architecture suffered from lock contention, excessive use of threads, and the overhead of repeatedly mapping and unmapping buffers due to the “layer cake” architecture
Easier for newcomers: the aforementioned “layer cake” of abstractions made it difficult for non-experts to understand the stack, and we expect new contributors to have an easier time helping, which helps with sustainability
Lower cognitive overhead: the revised architecture and the use of async Rust will reduce the effort required to write new features, refactor code, and generally increase maintainability
The new stack is in a functional and usable state, but lacks some advanced features that are needed for being a complete rewrite of the existing stack. You can follow the progress in the below merge requests:
We released extra versions of GJS, 1.78.3 (stable) and 1.79.2 (unstable) to fix a regression that made extension preferences windows crash in GNOME Shell. The 1.79.2 release also contains several performance improvements from Marco Trevisan!
This week Graphs was accepted into GNOME Circle. Graphs is a simple, yet powerful tool that allows you to plot and manipulate your data with ease. Congratulations!
Open the Library on start if there are no projects to restore
Restore scroll and cusor positions on format and Run
Add “Copy” and “Select All” to Console
Add Vala formatter support
Add WebP image format support
Library: Add “Context Menu” demo
Library: Add “HTTP Server” demo
Library: 12 demos ported to Python, 4 to Vala and 2 to Rust
Use Biome instead of prettier as JavaScript formatter
Use GTKCssLanguageServer instead of prettier as CSS formatter
Fix Console style when toggling dark mode
Fix blank preview on demos with no code
Fix Style affecting other windows
Thanks to the following contributors Gregor Niehl, UrtsiSantsi, Sabri Ünal, Hofer-Julian, Roland Lötscher, Sahil Shadwal, Dan Yeaw, AkshayWarrier, Marco Köpcke, Diego Iván M.E, Sonny Piers.
Due to a surprisingly popular demand, I’m preparing to add support for Elgato Stream Deck+ devices to Boatswain. For that to happen, Boatswain needs to be adjusted for new button types, a different USB protocol, and new input events. In order to test it, I’ll need a device, so I started a small fundraising campaign. You can read more here.
I’ve been working on a new Layout Manager for Apostrophe to replace the now deprecated AdwLeaflet. This has been a nice opportunity to implement a tailor made solution for apostrophe’s panels which fully adapts to the app’s needs
Lorenzo Paderi has just released Collector, a new application that aims to be a Dropover alternative for GNOME.
Collector allows users to quickly and easily drag files, images, text and links onto the Collection window, and drop them anywhere!
Collector also supports a variety of features, including:
The ability to Open multiple Collector windows and customize their color
The ability to download images by Easily drag them from web browser.
The ability to group texts into a single, ready-to-use CSV file
If you are a user who is looking for an effortless Drag & Drop, I encourage you to check out Collector. It is a great option that is sure to meet your needs.
Today, we have a very exciting development - Aviator has switched to an in-house custom fork of SVT-AV1 dubbed SVT-AV1-PSY!
Featuring development efforts from BlueSwordM (author of the previous custom fork Aviator has been occaisonally using), myself (Gianni), and others, this change will enable us to have much more control over the encoder’s development so that it aligns most effectively with Aviator’s number one priority: visual quality.
So far, SVT-AV1-PSY’s most noteworthy feature is a variance boost patch that appreciably improves intra- and inter-frame fidelity consistency across wide range of content. Visual fidelity per bit is estimated to have increased by up to 5% with this patch, which currently isn’t present in mainline SVT-AV1.
Even though this patch should inevitably make it to mainline, the gains from having more direct control are already being realized as we can implement features like this flexibly at a pace we decide.
Aside from that, FFmpeg has been updated to version 6.1, the SCM toggle has been replaced with a more useful Open GOP toggle, and the README has been modified to reflect some of these more recent changes with regard to SVT-AV1-PSY.
Gir.Core 0.5.0-preview.4 got released. It is the next step to the upcoming 0.5.0 release and adds a lot of public API for records. See the release notes for further details.
That’s right, barely 2 months after Fractal 5, we feel there have been enough improvements to grant a new stable release. You have probably noticed that we have adopted a version scheme similar to GNOME and will bump the major version with each new release.
The list of goodies:
Fractal can open Matrix URIs, it is even registered as a handler for the matrix scheme
The verification flow was rewritten, hopefully solving most verification issues
Room members can be kicked, banned or ignored from their profile
More notifications settings, global or per-room, were added
Times follow the format (12h or 24h) from the system settings
Tab auto-completion also works for mentioning public rooms, just start your query with #
This version is fully translated into 6 languages 🙌️ and we hope to get even more 📈 for the next one! Head over to Damned Lies if you want to give a hand.
We would also like to thank our new and returning contributors and our upstream projects.
For our next iteration, we already have a bunch of accessibility improvements waiting, and we plan to continue improving the room settings and the moderation features. Any extra work from you 🫵️ will be highly valued!
The GNOME Africa community has been hard at work on organizing a preparatory Bootcamp for those who intend to apply for Google Summer of Code (GSoC) and Outreachy internships.
The goal for this event is to equip participants with the necessary technical skills, project-specific knowledge, mentorship guidance, and community insights, thereby increasing their competitiveness and readiness to successfully contribute to GNOME during the application cycles of these internship programs.
The event will be held entirely online, so people from anywhere in the world are welcome to join. It will happen from January 22nd to February 2nd, so save those dates!