[release-notes] format developer docs in mallard



commit 7d3384a4ed8ca7841daf0aed15b8e624bd738f94
Author: Link Dupont <link sub-pop net>
Date:   Tue Aug 31 14:00:03 2021 -0400

    format developer docs in mallard

 help/C/developers.page | 381 ++++++++++++++++++++++++++++++++++++-------------
 1 file changed, 279 insertions(+), 102 deletions(-)
---
diff --git a/help/C/developers.page b/help/C/developers.page
index fc3fa924..bec6d90d 100644
--- a/help/C/developers.page
+++ b/help/C/developers.page
@@ -12,6 +12,14 @@
   <info>
     <link type="guide" xref="index#more" group="third"/>
     <desc>New features for those working with GNOME technologies</desc>
+    <credit type="author">
+      <name its:translate="no">Allan Day</name>
+      <email its:translate="no">aday gnome org</email>
+    </credit>
+    <credit type="author">
+      <name its:translate="no">Link Dupont</name>
+      <email its:translate="no">link gnome org</email>
+    </credit>
     <credit type="author">
       <name its:translate="no">Matthias Clasen</name>
       <email its:translate="no">matthiasc gnome org</email>
@@ -23,106 +31,275 @@
 
   <title>What’s New for Developers</title>
 
-GNOME 41 includes some significant improvements for developers and those using with the GNOME platform.
-
-### Docs, docs, docs
-
-GNOME 41 is accompanied by an extravaganza of documentation improvements!
-
-#### Revamped documentation websites
-
-Since GNOME 40, GNOME main developer website has been replaced, [with a new, streamlined 
portal](https://developer.gnome.org/documentation/), which provides access to the main sources of 
documentation for those using the GNOME platform.
-
-This is coupled with a [new developer docs site](https://developer.gnome.org/documentation/), which includes 
the most up to date and relevant general developer documentation. This includes 
[guidelines](https://developer.gnome.org/documentation/guidelines.html) on general programming conventions, 
accessibility, and localization, as well as shorter 
[tutorials](https://developer.gnome.org/documentation/tutorials.html) on common developer tasks
-
-The new docs site also includes a new [introduction to the GNOME 
platform](https://developer.gnome.org/documentation/introduction.html), with an overview of included 
components and services, information on the various programming languages that can be used, and introductions 
to Builder and Flatpak.
-
-#### Better API documentation
-
-GTK's documentation is now generated using the new gi-docgen tool, resulting in more accurate and consistent 
documentation, and improved websites. GTK documentation now uses gi-docgen; all its docs can be found at 
[docs.gtk.org](https://docs.gtk.org/), which includes documentation for:
-
- - [GTK](https://docs.gtk.org/gtk4/), [GDK](https://docs.gtk.org/gdk4/), [GSK](https://docs.gtk.org/gsk4/)
- - [Pango](https://docs.gtk.org/Pango/)
- - [GdkPixbuf](https://docs.gtk.org/gdk-pixbuf/)
- - [GLib](https://docs.gtk.org/glib/), [GObject](https://docs.gtk.org/gobject/), 
[GIO](https://docs.gtk.org/gio/)
-
-#### Rewritten Human Interface Guidelines
-
-Developer docs aren't the only documentation to have been revamped during the GNOME 41 cycle: [GNOME's 
design documentation](https://developer.gnome.org/hig/) has also been overhauled.
-
-Existing content has been updated to match contemporary design practice, as well as to make the guidelines 
easier to use. The HIG has also been expanded with additional material on accessibility, adaptive UI, UI 
styling, navigation structures, and more.
-
-### Better Builder
-
-Builder, the GNOME IDE, has a large collection of enhancements for GNOME 41.
-
-#### Find in Files
-
-Builder's "find in files" feature, which allows finding and replacing strings across an entire project, has 
been redesigned for GNOME 41. It is now located in a persistent section in the bottom panel, which makes it 
easier to find and access, and has a new search UI, which makes it easy to specify queries and browse results 
across a project.
-
-#### CMake and Make support
-
-In GNOME 41, Builder can now build and run CMake projects. TODO: more details needed here. You can just 
click the run button and off it will go? Do you need a Flatpak manifest, or can you specify the build 
configuration in a more generic CMake-y way?
-
-Builder can now also build projects that use a pure Make build setup, in a Flatpak environment, thanks to 
now being able to hardle `make-args` and `make-install-args`.
-
-#### Connected devices
-
-Builder has had the ability to detect connected devices, and build and deploy Flatpak bundles to them. Now, 
with GNOME 41, this all works much more automatically: just press the run button, and Builder will build and 
deploy to the device for you.
-
-#### Markdown previews
-
-Builder has a new markdown renderer for GNOME 41, which produces much better-formatted Markdown previews.
-
-### GTK 4
-
-There have been three minor updates to GTK 4 since the GNOME 40 release: 4.2, 4.3, and 4.4. These have 
included various various enhancements and bug fixes:
-
- - NGL renderer has continued to see improvements. This includes speedups, fixes for transformed rendering, 
avoiding huge intermediate textures, and correct handling of partial color fonts.
- - GTK Inspector is now enabled by default, to make debugging easier.
- - There have been various improvements to GTK 4 on Windows:
-   - GL is now used for media playback
-   - The `WinPointer` API for tablets and other input devices now, replacing the outdated `wintab` API
-   - Improved DND support, including the dropping of the local DND protocol
-
-### libadwaita
-
-libadwaita is the new GTK 4 companion library for GNOME. It provides the default GNOME stylesheet, 
additional widgets, and convenience functionality for those creating apps for the GNOME platform.
-
-libadwaita has made steady progress during the GNOME 41 development cycle, with an initial 1.0 planned.
-
-A new base class for apps – `AdwApplication` – reduces repetitive code and handles library initialization. 
Unread badges have been added to view switchers, window shadows have been improved, and additional style 
options have been included, such as the `.flat` style for header bars, the `.numeric` style for tabular 
figures, and the `.pill` button style.
-
-Documentation on how to use each of the options provided by libadwaita will be included in the Human 
Interface Guidelines, to coincide with libadwaita 1.0.
-
-### GJS
-
-GJS, which provides JavaScript bindings for the GNOME platform, has a number of improvements for GNOME 41:
-
- - The memory usage has been reduced by 40 bytes per GObject.
- - The `TextEncoder`and `TextDecoder` global objects have been added, which should be used instead of 
importing the old `imports.ByteArray` module.
- - An `ignoreCaughtExceptions` option has been added to the GJS debugger, to not break on exceptions if they 
are already going to be caught elsewhere in the code.
- - Documentation for new contributors has been updated.
-
-GJS 41 also includes a good collection of bug fixes.
-
-### gtk-rs
-
-Rust support for the GNOME platform has made significant progress since GNOME 40:
-
- - Bindings are now provided for GTK 4 and associated libraries.
- - It's now easy to get started with Rust and GTK 4, thanks to the new [GUI development with Rust and GTK 
4](https://gtk-rs.org/gtk4-rs/stable/latest/book/) book. Additionally, the [GTK Rust 
template](https://gitlab.gnome.org/bilelmoussaoui/gtk-rust-template) can also be used as the basis for new 
GTK 4 Rust projects.
- - GTK composite templates are now supported, allowing more efficient creation of custom widgets. [An 
example](https://github.com/gtk-rs/gtk4-rs/tree/0.1/examples/composite_template) shows how this can be used 
in practice.
- - Aside from these other major changes, there have been many other smaller improvements, including better 
documentation, additional glib macros, simpler subclassing, and more.
-
-The [gtk-rs blog contains more information](https://gtk-rs.org/blog/2021/06/22/new-release.html) about many 
of these improvements.
-
-### And that's not all
-
-Other improvements for developers include:
-
- - Tracker is now available for Mac, [via Homebrew](https://github.com/Homebrew/homebrew-core/pull/80281).
- - Devhelp now supports API references generated with gi-docgen (GTK4, gdk-pixbuf, Pango).
- - Apps can request the high-performance power profile.
-
+  <p>GNOME 41 includes some significant improvements for developers and those
+  using with the GNOME platform.</p>
+
+  <section id="dev-docs">
+    <title>Developer Documentation</title>
+
+    <p>GNOME 41 is accompanied by an extravaganza of documentation
+    improvements!</p>
+
+    <p>Starting with GNOME 40, the GNOME developer website was replaced with
+    <link href="https://developer.gnome.org/";>a new, streamlined portal</link>
+    that provides access to the main sources of documentation for GNOME platform
+    developers.</p>
+
+    <p>This is coupled with a <link
+    href="https://developer.gnome.org/documentation/";>new developer docs
+    site</link> that contains the most up-to-date and relevant general developer
+    documentation. This includes <link
+    href="https://developer.gnome.org/documentation/guidelines.html";>guidelines</link>
+    on general programming conventions, accessibility, and localization, as well
+    as shorter
+    <link
+    href="https://developer.gnome.org/documentation/tutorials.html";>tutorials</link>
+    introducing common developer tasks.</p>
+
+    <p>The new docs site also includes a new <link
+    href="https://developer.gnome.org/documentation/introduction.html";>introduction
+    to the GNOME platform</link>, with an overview of included components and
+    services, information on the various programming languages that can be used,
+    and introductions to Builder and Flatpak.</p>
+  </section>
+
+  <section id="api-docs">
+    <title>Better API documentation</title>
+
+    <p>GTK's documentation is now generated using the new <cmd>gi-docgen</cmd>
+    tool, resulting in more accurate and consistent documentation, as well as
+    improved websites. All documentation can be found at <link
+    href="https://docs.gtk.org";>docs.gtk.org</link>, including documentation
+    for:</p>
+
+    <list>
+      <item><p><link href="https://docs.gtk.org/gtk4/";>GTK</link>, <link
+      href="https://docs.gtk.org/gdk4/";>GDK</link>, <link
+      href="https://docs.gtk.org/gsk4/";>GSK</link></p></item>
+      <item><p><link href="https://docs.gtk.org/pango/";>Pango</link>, <link
+      href="https://docs.gtk.org/gdk-pixbuf/";>GdkPixbuf</link></p></item>
+      <item><p><link href="https://docs.gtk.org/glib/";>GLib</link>, <link
+      href="https://docs.gtk.org/gobject/";>GObject</link>, <link
+      href="https://docs.gtk.org/gio/";>GIO</link></p></item>
+    </list>
+  </section>
+
+  <section id="hig">
+    <title>Rewritten Human Interface Guidelines</title>
+
+    <p>Developer docs aren't the only documentation to have been revamped during
+    the GNOME 41 cycle. The <link href="https://developer.gnome.org/hig/";>GNOME
+    design documentation</link> was updated as well.</p>
+
+    <p>Existing content has been updated to match contemporary design practice,
+    as well as making the guidelines easier to use. The HIG has also been
+    expanded with additional material on accessibility, UI styling, adaptive UI,
+    navigation structures, and more.</p>
+  </section>
+
+  <section id="builder">
+    <title>Better Builder</title>
+
+    <p><app>Builder</app>, the GNOME IDE, has a large collection of enhancements
+    for GNOME 41.</p>
+
+    <terms>
+      <item>
+        <title>Find in Files</title>
+        <p>Builder's "find in files" feature, which allows finding and replacing
+        strings across an entire project, has been redesigned for GNOME 41. It
+        is now located in a persistent section in the bottom panel, which makes
+        it easier to find and access, and has a new search UI, which makes it
+        easy to specify queries and browse results across a project.</p>
+      </item>
+      <item>
+        <title>CMake and Make support</title>
+        <p>In GNOME 41, Builder can now build and run CMake projects. TODO: more
+        details needed here. You can just click the run button and off it will
+        go? Do you need a Flatpak manifest, or can you specify the build
+        configuration in a more generic CMake-y way?</p>
+        <p>Builder can now also build projects that use a pure Make build setup,
+        in a Flatpak environment, thanks to now being able to hardle `make-args`
+        and `make-install-args`.</p>
+      </item>
+      <item>
+        <title>Connected devices</title>
+        <p>Builder has had the ability to detect connected devices, and build
+        and deploy Flatpak bundles to them. Now, with GNOME 41, this all works
+        much more automatically: just press the run button, and Builder will
+        build and deploy to the device for you.</p>
+      </item>
+      <item>
+        <title>Markdown previews</title>
+        <p>Builder has a new markdown renderer for GNOME 41, which produces much
+        better-formatted Markdown previews.</p>
+      </item>
+    </terms>
+  </section>
+
+  <section id="gtk4">
+    <title>GTK 4</title>
+
+    <p>There have been three minor updates to GTK 4 since the GNOME 40 release:
+    4.2, 4.3, and 4.4. These have included various various enhancements and bug
+    fixes:</p>
+
+    <list>
+      <item><p>The NGL renderer has continued to see improvements. This includes
+      speedups, fixes for transformed rendering, avoiding huge intermediate
+      textures, and correct handling of partial color fonts.</p></item>
+      <item><p>GTK Inspector is now enabled by default, to make debugging
+      easier.</p></item>
+      <item><p>There have been various improvements to GTK 4 on Windows:</p>
+        <list>
+          <item><p>GL is now used for media playback.</p></item>
+          <item><p>The <code>WinPointer</code> API for tablets and other input
+          devices now, replacing the outdated <code>wintab</code> API</p></item>
+          <item><p>Improved DND support, including the dropping of the local DND
+          protocol</p></item>
+        </list>
+      </item>
+    </list>
+  </section>
+
+  <section id="libadwaita">
+    <title>libadwaita</title>
+
+    <p><code>libadwaita</code> is the new GTK 4 companion library for GNOME. It
+    provides the default GNOME stylesheet, additional widgets, and convenience
+    functionality for developers creating apps for the GNOME platform.</p>
+
+    <p><code>libadwaita</code> has made steady progress during the GNOME 41
+    development cycle, with an initial 1.0 planned in the coming months.</p>
+
+    <p>A new base class for apps, <code>AdwApplication</code>, reduces
+    repetitive code and handles library initialization. Unread badges have been
+    added to view switchers. Window shadows have been improved. Additional style
+    options have been included, such as the <code>.flat</code> style for header
+    bars, the
+    <code>.numeric</code> style for tabular figures, and the <code>.pill</code>
+    button style.</p>
+
+    <p>Documentation on how to use each of the options provided by
+    <code>libadwaita</code>
+    will be included in the Human Interface Guidelines, coinciding with the
+    <code>libadwaita</code> 1.0 release.</p>
+  </section>
+
+  <section id="gjs">
+    <title>GJS</title>
+
+    <p>GJS, the project providing JavaScript bindings for the GNOME platform,
+    boasts a number of improvements in GNOME 41:</p>
+
+    <list>
+      <item><p>The memory usage has been reduced by 40 bytes per
+      GObject.</p></item>
+      <item><p>The <code>TextEncoder</code> and <code>TextDecoder</code> global
+      objects have been added, which replace the older
+      <code>imports.ByteArray</code> module.</p></item>
+      <item><p>An <code>ignoreCaughtExceptions</code> option has been added to
+      the GJS debugger. Enabling this option makes the debugger skip exceptions
+      if they are already going to be caught elsewhere in the code.</p></item>
+      <item><p>Documentation for new contributors has been updated.</p></item>
+    </list>
+
+    <p>GJS 41 also includes a good collection of bug fixes.</p>
+  </section>
+
+  <section id="gtk-rs">
+    <title>gtk-rs</title>
+
+    <p>Rust support for the GNOME platform has made significant progress since
+    GNOME 40:</p>
+
+    <list>
+      <item><p>Bindings are now provided for GTK 4 and associated
+      libraries.</p></item>
+      <item><p>It's now easy to get started with Rust and GTK 4, thanks to the
+      new <link href="https://gtk-rs.org/gtk4-rs/stable/latest/book/";>GUI
+      development with Rust and GTK 4 book</link>. Additionally, the
+      <link href="https://gitlab.gnome.org/bilelmoussaoui/gtk-rust-template";>GTK
+      Rust template</link> can also be used as the basis for new GTK 4 Rust
+      projects.</p></item>
+      <item><p>GTK composite templates are now supported, allowing more
+      efficient creation of custom widgets. <link
+      href="https://github.com/gtk-rs/gtk4-rs/tree/0.1/examples/composite_template";>An
+      example</link> shows how this can be used in practice.</p></item>
+      <item><p>Aside from these other major changes, there have been many other
+      smaller improvements, including better documentation, additional GLib
+      macros, simpler subclassing, and more.</p></item>
+    </list>
+
+    <p>Read the <link
+    href="https://gtk-rs.org/blog/2021/06/22/new-release.html";>release
+    announcement</link> on the gtk-rs blog for more details.</p>
+  </section>
+
+  <section id="flatpak-sdk">
+    <title>Flatpak SDK Updates</title>
+    <p>The Flatpak SDK received a number of improvements for GNOME 41:</p>
+    
+    <list>
+      <item><p>The Flatpak SDK is now built with sysprof support enabled, making
+      profiling flatpak applications easier.</p></item>
+      <item><p><app>zenity</app> and <app>librest</app> were removed from the
+      runtime.</p></item>
+      <item><p><app>libmanatte</app> was added to the runtime, enabling gamepad
+      support in WebKit.</p></item>
+      <item><p>The base runtime was updated to <code>freedesktop-sdk
+      21.08</code>, bringing in newer toolchains (such as GCC 11 and LLVM 12)
+      and libraries (such as Mesa 21.2).</p</item>
+    </list>
+  </section>
+
+  <section id="gnome-os">
+    <title>GNOME OS Updates</title>
+    <p>GNOME OS, the reference not-a-distribution of GNOME software, was updated
+    as well. GNOME OS builds are now tested using an openQA instance hosted at
+    <link href="https://openqa.gnome.org";>openqa.gnome.org</link>. For details
+    on how developers can use this openQA instance, see the <link
+    
href="https://gitlab.gnome.org/GNOME/gnome-build-meta/-/wikis/openqa/OpenQA-for-GNOME-developers";>developer
+    documentation</link>. Additional improvements to GNOME OS include:</p>
+
+    <list>
+      <item><p>GNOME OS libraries are built with sysprof enabled, making
+      profiling applications on GNOME OS easier.</p></item>
+      <item><p><code>systemd-homed</code> is now included and can be enabled
+      manually using <cmd>homectl</cmd>.</p></item>
+      <item><p>Added support for smart-cards and other security keys.</p></item>
+      <item><p>Added <code>openconnect</code>, <code>fortisslvpn</code>,
+      <code>vpnc</code> and <code>openvpn</code> VPN backends to
+      <app>NetworkManager</app>.</p></item>
+      <item><p><app>LXC</app> tooling is included to accomodate container
+      tooling.</p></item>
+      <item><p>RISC-V was added as a CPU architecture. Details on this effort
+      can be seen in <link
+      href="https://www.youtube.com/watch?v=0preyzEb-fY";>GUADEC
+      talk</link>.</p></item>
+      <item><p>Mutter is built with <code>initrd</code> support, enabling better
+      XWayland support.</p></item>
+      <item><p>Added <app>xdg-desktop-portal-gnome</app> for GNOME-specific
+      desktop portals.</p></item>
+  </section>
+
+  <section id="thats-not-all">
+    <title>That's Not All</title>
+
+    <p>Other improvements for developers include:</p>
+
+    <list>
+      <item><p>Tracker is now available for macOS <link
+      href="https://github.com/Homebrew/homebrew-core/blob/master/Formula/tracker.rb";>via
+      Homebrew</link>. Install it by running <cmd>brew install
+      tracker</cmd>.</p></item>
+      <item><p><app>Devhelp</app> now supports API reference documentation
+      generated with <cmd>gi-docgen</cmd>.</p></item>
+      <item>
+        <p>App developers can request the high-performance power profile when
+        running a command using <cmd>powerprofilectl</cmd>. For example:</p>
+      <code>powerprofilectl launch --reason "Compiling software" ninja</code>
+      </item>
+    </list>
+  </section>
 </page>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]