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.

Currently we try to not break Anjuta and GNOME Builder. If your application is not listed and depends on the Devhelp API and is Free Software, please contact the Devhelp maintainers.

Changes between 3.29.1 and 3.29.2

  • DhBookManager is now completely empty and entirely deprecated, the minimum amount of API is kept to not break Anjuta. It has been replaced by a more flexible infrastructure: DhProfile, DhSettings and DhBookList. If your application uses only the default libdevhelp widgets it will still work fine – even if you don’t adapt the code of the application – because in that case it will use the default DhProfile which contains the same content as how DhBookManager was implemented.

  • Whether a DhBook is enabled/selected is now decoupled from DhBook: dh_book_get_enabled() and dh_book_set_enabled() have been removed, as well as the DhBook::enabled and DhBook::disabled signals. For a book to be enabled it now needs to be part of a DhBookList, which is more flexible because there can be several different DhBookLists in parallel.

  • The last parameter of dh_keyword_model_filter() has been changed, it is no longer the language (a string, that parameter was deprecated), it is a nullable DhProfile.

  • dh_book_tree_get_selected_book() has been replaced by dh_book_tree_get_selected_link().

Changes between 3.28.0 and 3.29.1

Changes between 3.27.1 and 3.27.2

  • dh_book_cmp_by_path() has been removed (dead code).

  • The DhBookManager::language-enabled and DhBookManager::language-disabled signals have been removed (dead code).

  • DhSidebar is now a subclass of GtkGrid, not of GtkBox.

  • dh_sidebar_get_selected_book() has been removed (it was used only inside DhSidebar).

  • dh_book_get_completions() has been replaced by dh_book_get_completion().

Changes between 3.26.0 and 3.27.1

Changes between 3.25.1 and 3.25.2

  • The page parameter of dh_link_new() has been removed because it was broken in dh-parser.c. The book parameter has also been moved, to group related parameters together.

  • The dh_link_get_page_name() function has been removed because it was broken and used nowhere.

  • The dh_link_get_type_as_string() function (which took a DhLink parameter) has been removed, and it has been replaced by dh_link_type_to_string() which takes a DhLinkType parameter.

Changes between 3.24.0 and 3.25.1

  • All deprecated APIs have been removed.

  • dh-error.h is now private.

  • The DhApp, DhAssistant and DhWindow classes are now private. DhApp is a subclass of GtkApplication, and an application can have only one GtkApplication instance, so as-is DhApp didn’t make sense in the library (what if two different libraries have both a subclass of GtkApplication?). Since DhAssistant and DhWindow depend on DhApp, they are now also private.

  • The DhLanguage class is now private, it’s currently used only internally by DhBookManager.

  • Due to DhBookManager being now a singleton, there has been the following API changes:

  • dh_assistant_view_set_book_manager() has been removed.

  • dh_keyword_model_set_words() has been removed.

  • The DhBookTree:book-manager property has been removed.

  • API break for dh_book_tree_new()/

  • The DhSidebar:book-manager property has been removed.

  • The book_manager parameter of dh_sidebar_new() is no deprecated.