# API Breaks

gedit is a quite old piece of software (created in 1998, at the beginnings of the GNOME project), and as every software, the code evolves during its lifetime. So there are sometimes API breaks for gedit plugins, there are no API stability guarantees.

## 45 -> 46

- The gedit_window_get_side_panel() function now returns a TeplPanel.

- The `gedit_statusbar_new()` and `gedit_statusbar_set_window_state()` functions have been removed.

- The `gedit_utils_set_atk_name_description()` function has been removed.

## 44 -> 45

- Vala plugins need to rely on the GObject Introspection file instead of the vapi. The latter is no longer generated.

- The `gedit_window_create_tab_from_location()` and `gedit_window_create_tab_from_stream()` functions have been removed, use gedit_window_create_tab() followed by gedit_tab_load_file() or gedit_tab_load_stream() instead.

## 43 -> 44

- When an URI is added to the GtkRecentManager, the `groups` field of GtkRecentData is no longer set. You can rely on the application name instead.

- The `gedit_document_get_language()` function has been removed, use gtk_source_buffer_get_language() instead.

- The `gedit_document_get_short_name_for_display()` function has been removed, use tepl_file_get_short_name() instead.

- The `gedit_document_is_untitled()` function has been removed, use tepl_file_get_location() instead.

- The `gedit_statusbar_set_overwrite()` and `gedit_statusbar_clear_overwrite()` functions have been removed.

## 3.38 -> 40

- All previously deprecated APIs have been removed.

- The `GeditProgressInfoBar` class has been removed, you can use TeplProgressInfoBar instead.

- GeditDocument is now a subclass of TeplBuffer.

- The `GeditDocument::cursor-moved` signal has been removed. You can use the TeplBuffer API instead.

- The `gedit_document_get_uri_for_display()` function has been removed from the public API.

- The `GeditDocument:shortname` property has been removed. You can use the TeplFile API instead.

- The `gedit_document_is_untouched()` function has been removed. You can use the TeplBuffer API instead.

- The `gedit_view_set_font()` function has been removed.

- `DEBUG_METADATA` has been removed.

## 3.36.0 -> 3.37.1

- All previously deprecated APIs have been removed.

- The lockdown support has been removed (for the org.gnome.desktop.lockdown GSettings). So the `gedit_app_get_lockdown()` function has been removed.

- The `GBOOLEAN_TO_POINTER()` and `GPOINTER_TO_BOOLEAN()` macros have been removed from `gedit-utils.h`.

- The `gedit_utils_get_current_workspace()`, `gedit_utils_get_window_workspace()` and `gedit_utils_get_current_viewport()` functions have been removed because workspaces information is not available on Wayland.

## 3.34.0 -> 3.35.2

- All previously deprecated APIs have been removed.

- The `GeditDocument:use-gvfs-metadata` property has been removed. But there was anyway a warning for not using that property in a gedit plugin.

- For gedit_document_get_metadata() and gedit_document_set_metadata(), the key names should now have the prefix `"gedit-"` with possibly an additional namespace for the plugin name, for example `"gedit-spell-foobar"`. So the key names are now the same regardless of the operating system, and the key names should no longer start with `"metadata::"`.

## For previous gedit versions

See the Old API Changes wiki page.