News in 6.11.beta, yyyy-mm-dd (Pre-release) ------------------------------------------- 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 '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.