API Breaks
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
-
DhBookManageris 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,DhSettingsandDhBookList. 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 defaultDhProfilewhich contains the same content as howDhBookManagerwas implemented. -
Whether a DhBook is enabled/selected is now decoupled from DhBook:
dh_book_get_enabled()anddh_book_set_enabled()have been removed, as well as theDhBook::enabledandDhBook::disabledsignals. For a book to be enabled it now needs to be part of aDhBookList, which is more flexible because there can be several differentDhBookList‘s 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 nullableDhProfile. -
dh_book_tree_get_selected_book()has been replaced bydh_book_tree_get_selected_link().
Changes between 3.28.0 and 3.29.1
-
The
DhBookManager:group-by-languageproperty has been replaced by theDhSettings:group-books-by-languageone. -
dh_book_tree_new()now takes aDhProfileparameter.
Changes between 3.27.1 and 3.27.2
-
dh_book_cmp_by_path()has been removed (dead code). -
The
DhBookManager::language-enabledandDhBookManager::language-disabledsignals have been removed (dead code). -
dh_sidebar_get_selected_book()has been removed (it was used only insideDhSidebar). -
dh_book_get_completions()has been replaced bydh_book_get_completion().
Changes between 3.26.0 and 3.27.1
-
dh_link_new()has been split in two, withdh_link_new_book()to create aDhLinkofDH_LINK_TYPE_BOOK. -
The
dh_link_get_file_name()function has been removed. -
The
dh_book_get_path()function has been replaced bydh_book_get_index_file(). -
The
dh_book_new()constructor now takes aGFileargument instead of a string path. -
dh_book_get_name()has been renamed todh_book_get_id(). -
dh_book_cmp_by_name()has been renamed todh_book_cmp_by_id(). -
dh_link_get_book_name()has been renamed todh_link_get_book_title(). -
dh_book_get_keywords()has been renamed todh_book_get_links(). -
The ownership transfer of the return values of
dh_book_tree_get_selected_book()anddh_sidebar_get_selected_book()have been changed from(transfer none)to(transfer full).
Changes between 3.25.1 and 3.25.2
-
The
pageparameter ofdh_link_new()has been removed because it was broken indh-parser.c. Thebookparameter 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 aDhLinkparameter) has been removed, and it has been replaced bydh_link_type_to_string()which takes aDhLinkTypeparameter.
Changes between 3.24.0 and 3.25.1
-
All deprecated APIs have been removed.
-
dh-error.his now private. -
The
DhApp,DhAssistantandDhWindowclasses are now private.DhAppis a subclass ofGtkApplication, and an application can have only oneGtkApplicationinstance, so as-isDhAppdidn’t make sense in the library (what if two different libraries have both a subclass ofGtkApplication?). SinceDhAssistantandDhWindowdepend onDhApp, they are now also private. -
The
DhLanguageclass is now private, it’s currently used only internally byDhBookManager. -
Due to
DhBookManagerbeing 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-managerproperty has been removed. -
API break for
dh_book_tree_new()/ -
The
DhSidebar:book-managerproperty has been removed. -
The
book_managerparameter ofdh_sidebar_new()is no deprecated.