News in 6.11.0, 2024-08-31 (stable version)
-------------------------------------------

New versioning scheme:
- Adopt the x.y.alpha, x.y.beta and x.y.rc versions for pre-releases.
  For example: 6.11.beta (pre-release), 6.11.0 (stable version).

New features:
- Full support for light/dark GTK theme variants.
- Side and bottom panels support: rework the API.

Bug fixes:
- TeplTabLabel: correct position for the close button.

For packagers:
- Build: add the 'tests' option.

Misc:
- Documentation improvements.

News in 6.10.0, 2024-04-27 (stable version)
-------------------------------------------
* Rename the project from Tepl to libgedit-tepl.
* The project is now hosted here:
  https://gedit-technology.github.io/
  https://github.com/gedit-technology/libgedit-tepl
* libgedit-gfls is used as a new dependency.
* New APIs: see the API docs.

News in 6.9.0, 2024-02-16
-------------------------
* libhandy-1 is used as a new dependency (for dark style preference handling).
* Replace _TEPL_EXTERN custom macro by G_MODULE_EXPORT.
* New APIs: see the API docs.

News in 6.8.0, 2023-07-29
-------------------------
* Update for Amtk -> libgedit-amtk rename.
* New/changed/removed APIs: see the API docs.
* A bug fix.

News in 6.6.0, 2023-06-29
-------------------------
* Nothing transcendental.

News in 6.5.1, 2023-04-26
-------------------------
* Tepl now depends on libgedit-gtksourceview instead of GtkSourceView:
    https://github.com/gedit-technology/libgedit-gtksourceview
    https://gedit-technology.net/
* New classes: TeplStack, TeplStackItem and TeplStackSwitcherMenu.
* Remove the attic/ (no longer necessary with the TeplStack* classes).
* Build: adapt to the latest Meson version.

News in 6.4.0, 2023-01-01
-------------------------
* Build: simplify handling of library soversion.
* Add some new API (see the reference documentation).
* Some API breaks (see the reference documentation).
* Experiments to simplify GtkStack custom switcher implementations.
  Moved the result to the attic/ directory.
* TeplView: add code from gedit: override delete_from_cursor vfunc.
  In gedit it's for the Ctrl+D keybinding to delete the current line.

News in 6.2.0, 2022-11-02
-------------------------
* Remove deprecated API.
* Add some new API (see the reference documentation).
* Small improvements.

News in 6.1.2, 2022-07-12
-------------------------
* API stability is no longer guaranteed.

* New features / API: see the index of new symbols in the reference
  documentation (generated with gtk-doc).
* Documentation improvements.

News in 6.1.1, 2022-06-10
-------------------------
* New features / API: see the index of new symbols in the reference
  documentation (generated with gtk-doc).
* Tests: files reorganization within the repository, have the following
  directories:
    - tests/interactive-tests/
    - tests/unit-tests/
* Documentation: split the API Reference into two parts:
    - Text Editor Support
    - General Utilities (more broadly applicable)
* Documentation: various other small improvements.

News in 6.0.2, 2022-05-27
-------------------------
* Build system: check if compiler supports --version-script linker option.

News in 6.0.1, 2022-05-02
-------------------------
* No changes.
* Note that a 6.00.0 version was released in 2021. The double 00 was a mistake.
  See https://download.gnome.org/sources/tepl/6.00/
  Hence the .1 micro version number in this release.

News in 5.99.1, 2022-04-21
--------------------------
* The project is now located at: https://gitlab.gnome.org/swilmet/tepl

* API changes:
 - The TeplInfoBar class has been reworked.

* New API:
 - tepl_pango_font_description_to_css()
 - TeplLanguageChooser
 - TeplLanguageChooserWidget
 - TeplLanguageChooserDialog
 - TeplProgressInfoBar
 - TeplSignalGroup (make the class public).
 - Utility functions: add a few functions.

* Misc:
 - Build: add a gobject_introspection option.
 - tepl_utils_replace_home_dir_with_tilde(): support $HOME that ends with a
   slash.
 - Documentation improvements.
 - Translation updates.

News in 5.1.1, 2020-10-11
-------------------------
* Add TeplSpaceDrawerPrefs, a preferences widget for GtkSourceSpaceDrawer.
* Translation updates.

News in 5.0.0, 2020-09-11
-------------------------
* Translation updates.

News in 4.99.4, 2020-09-04
--------------------------
* Add a few extra functions for GtkFileChooser.
* Translation updates.

News in 4.99.3, 2020-07-03
--------------------------
* Start to leverage the ICU library: http://site.icu-project.org/
  It's currently used by TeplMetadataManager.

News in 4.99.2, 2020-05-29
--------------------------
* License:
 - Update the license from LGPLv2.1+ to LGPLv3+.
 - Start to use the REUSE way of applying licenses and copyrights information,
   with SPDX tags: https://reuse.software/

* API changes:
 - The beginning of a complete overhaul of the file loading and saving.
   This changes a little the API.
   The uchardet dependency is no longer needed.

* New API:
 - 'Go to line' horizontal bar feature.
 - Utility functions: add a function.

* Under the hood changes:
 - Have _TEPL_EXTERN macro for exporting public symbols.
 - Have a smaller TeplApplicationWindow class, factor out several
   tepl-window-actions-*.{c,h} files.

* Misc:
 - Improvements to the build system.
 - Metadata: improve the implementation and write unit tests.
 - Init i18n.
 - Tools: add shared-mime-info-list-text-plain-globs.
 - Translation updates.

News in 4.99.1, 2020-04-24
--------------------------

* Build system: port to Meson, remove Autotools.

* API changes:
 - A complete overhaul of the metadata API and implementation. The libxml2 is no
   longer required, and GVfs metadata is no longer used. New API:
	- TeplMetadata and TeplMetadataManager toolkit classes.
	- Convenience functions in the framework, in TeplAbstractFactory,
	  TeplApplication and TeplBuffer.
 - Remove TeplAbstractFactoryVala, because it's possible to manually manage
   GObject references in Vala when using TeplAbstractFactory.

* New API:
 - New class: TeplStatusbar.
 - New class: TeplPanel.
 - New class: TeplStyleSchemeChooserWidget.
 - File loading and saving toolkit: start to add some IO error info bars.
 - TeplInfoBar: add tepl_info_bar_set_buttons_orientation().
 - TeplView: add tepl_view_new_with_buffer().
 - Utility functions: add more functions.

* Misc:
 - Write a new roadmap in docs/.
 - Translation updates.

News in 4.4.0, 2020-03-05
-------------------------
* Translation updates.

News in 4.3.1, 2019-11-22
-------------------------
* Utils functions: make some functions public, add more public functions, and
  write more unit tests.
* Documentation: introduction: more information about the chosen development
  model.
* Translation updates.

News in 4.2.1, 2019-11-21
-------------------------

Changes for packagers:
* Documentation: GTK+ -> GTK. Please update the description of the package.

Other changes:
* Fix a few compilation warnings.
* Better use of errno (save its value ASAP, then reset it to 0).
* Build from Git:
 - Allow building with gettext ≥ 0.20.
 - Adapt for AX_CODE_COVERAGE API break in autoconf-archive version 2019.01.06.
 (this didn't affect the build from the previous tarball, since the Autotools
 are "bundled" with the tarball).
* Translation updates.

News in 4.2.0, 2018-07-16
-------------------------
* Nothing new.

News in 4.1.1, 2018-04-15
-------------------------
* Remove the Amtk library, it has been moved to its own git repository, see:
  https://wiki.gnome.org/Projects/Amtk

News in 4.0.0, 2018-04-08
-------------------------
- Project moved to GNOME GitLab.
- Various small improvements.
- Translation updates.

News in 3.99.1, 2017-12-09
--------------------------

* General:
 - Use GtkSourceView 4.

* Amtk:
 - Improve amtk_utils_bind_g_action_to_gtk_action() to support _detailed_
   GAction names.
 - Add amtk_utils_create_gtk_action().

* Framework:
 - Add more GAction's and corresponding AmtkActionInfo's:
	- win.tepl-undo
	- win.tepl-redo
	- win.tepl-indent
	- win.tepl-unindent
	- win.tepl-open
	- win.tepl-save
	- win.tepl-save-as
	- app.tepl-new-window
 - Add TeplApplicationWindow:handle-title boolean property to handle the window
   title.
 - Add more vfuncs to TeplAbstractFactory: create_file and create_main_window.
 - Add TeplAbstractFactoryVala class to work-around Vala bugs.
 - Add functions related to main windows:
	- tepl_application_get_active_main_window()
	- tepl_application_window_is_main_window()
	- tepl_application_window_get_window_group()
 - TeplApplication: add options to handle the GApplication::activate and
   GApplication::open signals.
 - Start to write high-level functions for loading and saving files.
 - On Tab::close-request, show close confirmation dialog.

* File loading and saving toolkit:
 - TeplFileLoader:
	- Internal code refactorings to have more re-usable code independent of
	  GtkTextView.
	- Add fallback mode to determine encoding if uchardet fails.
	- Write more unit tests.
 - TeplEncoding:
	- Make tepl_encoding_get_default_candidates() more robust in case of
	  mis-translation.
	- Improve API documentation.
 - Write GtkSourceView to Tepl file loading and saving porting guide.

* Misc:
 - Translation updates.

News in 3.0.0, 2017-09-09
-------------------------

* Translation updates.

News in 2.99.4, 2017-08-20
--------------------------

Amtk:
* Add factory functions to create GtkMenuToolButton's and GtkCheckMenuItem's.
* Improve API of amtk_application_window_connect_menu_to_statusbar().
* Add amtk_utils_bind_g_action_to_gtk_action(), to be able to port an
  application gradually to GAction while still using GtkUIManager.

Framework:
* TeplTabLabel: add an overridable tooltip API, by default the tooltip shows
  the file location.

News in 2.99.3, 2017-08-09
--------------------------

Amtk:
* Add amtk_init() and amtk_finalize().
* Remove AmtkFactoryMenu class, move its functions to its parent class
  AmtkFactory.
* AmtkFactory: add functions to create GtkToolItem's.
* Add amtk_application_window_create_open_recent_menu().
* Improvements to the documentation.
* Other small code improvements.

Framework:
* TeplTabGroup interface:
	* Add :active-tab, :active-view and :active-buffer properties.
	* Add tepl_tab_group_set_active_tab().
	* Add tepl_tab_group_append_tab().
* Finish to implement the GActions for the Edit menu: cut, copy, paste, delete
  and select all. (Update the GAction:enabled properties).
* Add "win.tepl-new-file" GAction.
* Add the TeplAbstractFactory class to create TeplTab's and tab labels.
* TeplBuffer: rename title -> full-title and add short-title.
* Add the TeplTab::close-request signal.
* Add the TeplTabLabel class (which shows the buffer short-title, plus a close
  button; the tooltip is not yet handled).

Misc:
* Add tepl_init() and tepl_finalize(), do not use DSO constructors/destructors.
* Implement small internal utility: TeplSignalGroup, inspired by DzlSignalGroup
  from libdazzle, but with a much simpler implementation.
* Improvements to the documentation.
* Translation updates.

News in 2.99.2, 2017-07-18
--------------------------

Amtk:
* The biggest change in this release is that the classes and functions related
  to actions and menus have been moved to a new shared library called Amtk
  (Actions, Menus and Toolbars Kit), since it was not really related to text
  editors, it is more general. But Amtk is still developed inside the Tepl
  repository. Amtk is a basic GtkUIManager replacement based on GAction (still
  under development, it is not yet finished, for example it doesn't handle
  toolbars).
* Add AmtkFactory and AmtkFactoryMenu, which replace
  amtk_action_info_store_create_menu_item().

Framework:
* Revamp TeplTab.
* Add TeplTabGroup interface.
* Add TeplNotebook that implements TeplTabGroup.
* Implement TeplTabGroup in TeplTab and TeplApplicationWindow.
* Start to implement the Edit menu: provide GActions and AmtkActionInfos for
  the cut, copy, paste, delete and select all actions.

Misc:
* Improve TeplInfoBar.

News in 2.99.1, 2017-06-15
--------------------------
* The library has been renamed from Gtef (GTK+ text editor framework) to Tepl
  (Text editor product line), to have a more beautiful name. The end of Tepl is
  pronounced like “apple”.
* Write a more complete introduction in the reference manual.
* Add Slovenian translation.

News in 2.0.1, 2017-04-21
-------------------------
* The bugzilla product has been created.
* Fix bug in gtef_iter_get_line_indentation().
* Add Hungarian, Russian and Friulian translations.
* Other small improvements.

News in 2.0.0, 2017-03-18
-------------------------
* Add Ukrainian and Serbian translations.

News in 1.99.2, 2017-03-12
--------------------------
This is an unstable release leading towards 2.0. The 2.0 stable version will be
released at the same time as GNOME 3.24.

Basic GtkUIManager replacement based on GAction:
* Add an easy way to create a GtkMenuItem from a GtefActionInfo.
* Add a function to check that every GtefActionInfo in a GtefActionInfoStore
  has been used.
* Add reference counting to GtefActionInfo.
* Add GtefActionInfoCentralStore singleton class.
* Add gtef_action_map_add_action_entries_check_dups(), to check if there are
  duplicates when adding GActions to a GActionMap.
* Rename gtef_application_get_action_info_store() to
  gtef_application_get_app_action_info_store().
* Add GtefMenuShell, an extension of GtkMenuShell with the ::menu-item-selected
  and ::menu-item-deselected signals.
* Add gtef_menu_item_get/set_long_description().
* Add GtefApplicationWindow, an extension of GtkApplicationWindow with:
	* A statusbar property.
	* A function to connect a GtefMenuShell to the statusbar,
	  pushing/popping the long descriptions of GtkMenuItems when they are
	  selected/deselected.
	* A function to connect a GtkRecentChooserMenu to the statusbar,
	  pushing/popping the full paths.
	* A function to create a GtkMenuItem with a simple and generic
	  GtkRecentChooserMenu as submenu.

Misc:
* Add gtef_application_open_simple().
* Replace GNOME by GTK+ in the Gtef acronym. Gtef now stands for “GTK+ Text
  Editor Framework”.
* The project is now hosted on gnome.org!
  https://wiki.gnome.org/Projects/Gtef
  The bugzilla product is not yet created.
* Add Polish, Brazilian Portuguese, Swedish, Indonesian and German
  translations.

News in 1.99.1, 2017-01-26
--------------------------
This is an unstable release leading towards 2.0. The 2.0 stable version will be
released at the same time as GNOME 3.24.

File loading and saving:
* Finish the first usable version of the new GtefFileLoader.
* Use etags instead of mtime.
* GtefFileSaver: do not use an heuristic to know if it's a "save as" operation.
* Add GtefEncoding, a fork of GtkSourceEncoding to suit the needs of the new
  file loader.
* Re-usable code outside of GtkTextView: GtefFileContentLoader and
  GtefEncodingConverter (private classes).
* Various other small improvements.

Various features for text editors:
* Add GtefBuffer:gtef-style-scheme-id property.
* Add gtef_view_select_lines().
* Add gtef_view_goto_line() and gtef_view_goto_line_offset().
* Add gtef_iter_get_line_indentation().
* The GtefInfoBar class has been revamped.

Starting a basic GtkUIManager replacement based on GAction:
* Add gtef_utils_menu_item_set_icon_name()
* Add GtefActionInfo
* Add GtefActionInfoStore
* Note that those classes are a little out of scope for a text editor library.
  I would be happy to move those classes to a better library once the feature
  is finished and well-tested. The classes were added to Gtef for convenience.

Framework:
* Add gtef namespace to GtefBuffer signals and properties to avoid potential
  conflicts with future GtkSourceView versions.
* Add GtefApplication with gtef_application_get_action_info_store().

Documentation:
* Add an intro with the pkg-config name.
* List API breaks.

Misc:
* Improvements to the build system.

News in 1.0.0, 2016-10-26
-------------------------

This is the first version of Gtef.

File loading and saving:
* Save and load file metadata. If GVfs is not available, there is a fallback
  implementation with an XML file (used e.g. on Windows).
* A new file loader based on uchardet (implementation not completely finished).

Starting the framework:
* GtefBuffer, a subclass of GtkSourceBuffer with additional features.
* GtefView, a subclass of GtkSourceView with additional features.
* GtefTab, contains a GtefView with GtkInfoBars on top.
* GtefInfoBar, a subclass of GtkInfoBar.

Starting code folding:
* GtefGutterRendererFolds, a basic gutter renderer for code folding.
* GtefFoldRegion, a foldable region in a GtkTextBuffer.
