<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Part II. API Breaks: Devhelp Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Devhelp Reference Manual">
<link rel="up" href="index.html" title="Devhelp Reference Manual">
<link rel="prev" href="DhCompletion.html" title="DhCompletion">
<link rel="next" href="annexes.html" title="Part III. Annexes">
<meta name="generator" content="GTK-Doc V1.28.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
<td><a accesskey="p" href="DhCompletion.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="annexes.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="part">
<div class="titlepage"><div><div><h1 class="title">
<a name="api-breaks"></a>Part II. API Breaks</h1></div></div></div>
<p>
Devhelp is a quite old piece of software (created in 2001), and as every
software, the code evolves during its lifetime. So there are sometimes API
breaks. We try to not break applications depending on the Devhelp API. But
if we see that a certain API is used nowhere else than the Devhelp
application itself (or is dead code), we don't hesitate to break the API to
improve the code.
</p>
<p>
Currently we try to not break
<a class="ulink" href="https://wiki.gnome.org/Apps/Anjuta" target="_top">Anjuta</a>
and <a class="ulink" href="https://wiki.gnome.org/Apps/Builder" target="_top">gnome-builder</a>.
If your application is not listed and depends on the Devhelp API and is Free
Software, please speak up.
</p>
<div class="refsect1">
<a name="id-1.3.4"></a><h2>3.24 -> 3.25.1</h2>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
All deprecated APIs have been removed.
</p></li>
<li class="listitem"><p>
dh-error.h is now private.
</p></li>
<li class="listitem"><p>
The <code class="code">DhApp</code>, <code class="code">DhAssistant</code> and
<code class="code">DhWindow</code> classes are now private. <code class="code">DhApp</code> is a
subclass of <code class="code">GtkApplication</code>, and an application can have
only one <code class="code">GtkApplication</code> instance, so as-is
<code class="code">DhApp</code> didn't make sense in the library (what if two
different libraries have both a subclass of
<code class="code">GtkApplication</code>?). Since <code class="code">DhAssistant</code> and
<code class="code">DhWindow</code> depend on <code class="code">DhApp</code>, they are now also
private.
</p></li>
<li class="listitem"><p>
The <code class="code">DhLanguage</code> class is now private, it's currently used
only internally by <a class="link" href="DhBookManager.html" title="DhBookManager">DhBookManager</a>.
</p></li>
<li class="listitem">
<p>
Due to <a class="link" href="DhBookManager.html" title="DhBookManager">DhBookManager</a> being now a
singleton, there has been the following API changes:
</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; ">
<li class="listitem"><p>
<code class="code">dh_assistant_view_set_book_manager()</code> has been
removed.
</p></li>
<li class="listitem"><p>
<code class="code">dh_keyword_model_set_words()</code> has been removed.
</p></li>
<li class="listitem"><p>
The <code class="code">DhBookTree:book-manager</code> property has been
removed.
</p></li>
<li class="listitem"><p>
API break for
<a class="link" href="DhBookTree.html#dh-book-tree-new" title="dh_book_tree_new ()">dh_book_tree_new()</a>.
</p></li>
<li class="listitem"><p>
The <code class="code">DhSidebar:book-manager</code> property has been
removed.
</p></li>
<li class="listitem"><p>
The <code class="code">book_manager</code> parameter of
<a class="link" href="DhSidebar.html#dh-sidebar-new" title="dh_sidebar_new ()">dh_sidebar_new()</a> is now
deprecated.
</p></li>
</ul></div>
<p>
</p>
</li>
</ul></div>
</div>
<div class="refsect1">
<a name="id-1.3.5"></a><h2>3.25.1 -> 3.25.2</h2>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
The <code class="code">page</code> parameter of <a class="link" href="DhLink.html#dh-link-new" title="dh_link_new ()">dh_link_new()</a>
has been removed because it was broken in <code class="code">dh-parser.c</code>.
The <code class="code">book</code> parameter has also been moved, to group related
parameters together.
</p></li>
<li class="listitem"><p>
The <code class="code">dh_link_get_page_name()</code> function has been removed
because it was broken and used nowhere.
</p></li>
<li class="listitem"><p>
The <code class="code">dh_link_get_type_as_string()</code> function (which took a
<a class="link" href="DhLink.html" title="DhLink">DhLink</a> parameter) has been removed, it
has been replaced by <a class="link" href="DhLink.html#dh-link-type-to-string" title="dh_link_type_to_string ()">dh_link_type_to_string()</a>
which takes a <a class="link" href="DhLink.html#DhLinkType" title="enum DhLinkType">DhLinkType</a> parameter.
</p></li>
</ul></div>
</div>
<div class="refsect1">
<a name="id-1.3.6"></a><h2>3.26.0 -> 3.27.1</h2>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
<a class="link" href="DhLink.html#dh-link-new" title="dh_link_new ()">dh_link_new()</a> has been split in
two, with <a class="link" href="DhLink.html#dh-link-new-book" title="dh_link_new_book ()">dh_link_new_book()</a>
to create a <a class="link" href="DhLink.html" title="DhLink">DhLink</a> of type
<a class="link" href="DhLink.html#DH-LINK-TYPE-BOOK:CAPS">DH_LINK_TYPE_BOOK</a>.
</p></li>
<li class="listitem"><p>
The <code class="code">dh_link_get_file_name()</code> function has been removed.
</p></li>
<li class="listitem"><p>
The <code class="code">dh_book_get_path()</code> function has been replaced by
<a class="link" href="DhBook.html#dh-book-get-index-file" title="dh_book_get_index_file ()">dh_book_get_index_file()</a>.
</p></li>
<li class="listitem"><p>
The <a class="link" href="DhBook.html#dh-book-new" title="dh_book_new ()">dh_book_new()</a> constructor now
takes a <code class="code">GFile</code> argument instead of a path.
</p></li>
<li class="listitem"><p>
<code class="code">dh_book_get_name()</code> has been renamed to
<a class="link" href="DhBook.html#dh-book-get-id" title="dh_book_get_id ()">dh_book_get_id()</a>.
</p></li>
<li class="listitem"><p>
<code class="code">dh_book_cmp_by_name()</code> has been renamed to
<a class="link" href="DhBook.html#dh-book-cmp-by-id" title="dh_book_cmp_by_id ()">dh_book_cmp_by_id()</a>.
</p></li>
<li class="listitem"><p>
<code class="code">dh_link_get_book_name()</code> has been renamed to
<a class="link" href="DhLink.html#dh-link-get-book-title" title="dh_link_get_book_title ()">dh_link_get_book_title()</a>.
</p></li>
<li class="listitem"><p>
<code class="code">dh_book_get_keywords()</code> has been renamed to
<a class="link" href="DhBook.html#dh-book-get-links" title="dh_book_get_links ()">dh_book_get_links()</a>.
</p></li>
<li class="listitem"><p>
The ownership transfer of the return values of
<a class="link" href="DhBookTree.html#dh-book-tree-get-selected-book" title="dh_book_tree_get_selected_book ()">dh_book_tree_get_selected_book()</a>
and <code class="code">dh_sidebar_get_selected_book()</code>
have been changed from (transfer none) to (transfer full).
</p></li>
</ul></div>
</div>
<div class="refsect1">
<a name="id-1.3.7"></a><h2>3.27.1 -> 3.27.2</h2>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>
<code class="code">dh_book_cmp_by_path()</code> has been removed (dead code).
</p></li>
<li class="listitem"><p>
The <code class="code">DhBookManager::language-enabled</code> and
<code class="code">DhBookManager::language-disabled</code> signals have been
removed (dead code).
</p></li>
<li class="listitem"><p>
<a class="link" href="DhSidebar.html" title="DhSidebar">DhSidebar</a> is now a subclass of
<a href="/home/seb/jhbuild/share/gtk-doc/html/gtk3/GtkGrid.html#GtkGrid-struct">GtkGrid</a>, not
<a href="/home/seb/jhbuild/share/gtk-doc/html/gtk3/GtkBox.html#GtkBox-struct">GtkBox</a>.
</p></li>
<li class="listitem"><p>
<code class="code">dh_sidebar_get_selected_book()</code> has been removed (it was
used only inside DhSidebar).
</p></li>
<li class="listitem"><p>
<code class="code">dh_book_get_completions()</code> has been replaced by
<a class="link" href="DhBook.html#dh-book-get-completion" title="dh_book_get_completion ()">dh_book_get_completion()</a>.
</p></li>
</ul></div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.28.1</div>
</body>
</html>