1News in 6.00.0, 2021-03-24 (not yet released) 2-------------------------- 3* API changes: 4 - The TeplInfoBar class has been reworked. 5 6* New API: 7 - tepl_pango_font_description_to_css() 8 - TeplLanguageChooser 9 - TeplLanguageChooserWidget 10 - TeplLanguageChooserDialog 11 - TeplProgressInfoBar 12 - Utility functions: add a few functions. 13 14* Misc: 15 - Translation updates. 16 17News in 5.1.1, 2020-10-11 18------------------------- 19* Add TeplSpaceDrawerPrefs, a preferences widget for GtkSourceSpaceDrawer. 20* Translation updates. 21 22News in 5.0.0, 2020-09-11 23------------------------- 24* Translation updates. 25 26News in 4.99.4, 2020-09-04 27-------------------------- 28* Add a few extra functions for GtkFileChooser. 29* Translation updates. 30 31News in 4.99.3, 2020-07-03 32-------------------------- 33* Start to leverage the ICU library: http://site.icu-project.org/ 34 It's currently used by TeplMetadataManager. 35 36News in 4.99.2, 2020-05-29 37-------------------------- 38* License: 39 - Update the license from LGPLv2.1+ to LGPLv3+. 40 - Start to use the REUSE way of applying licenses and copyrights information, 41 with SPDX tags: https://reuse.software/ 42 43* API changes: 44 - The beginning of a complete overhaul of the file loading and saving. 45 This changes a little the API. 46 The uchardet dependency is no longer needed. 47 48* New API: 49 - 'Go to line' horizontal bar feature. 50 - Utility functions: add a function. 51 52* Under the hood changes: 53 - Have _TEPL_EXTERN macro for exporting public symbols. 54 - Have a smaller TeplApplicationWindow class, factor out several 55 tepl-window-actions-*.{c,h} files. 56 57* Misc: 58 - Improvements to the build system. 59 - Metadata: improve the implementation and write unit tests. 60 - Init i18n. 61 - Tools: add shared-mime-info-list-text-plain-globs. 62 - Translation updates. 63 64News in 4.99.1, 2020-04-24 65-------------------------- 66 67* Build system: port to Meson, remove Autotools. 68 69* API changes: 70 - A complete overhaul of the metadata API and implementation. The libxml2 is no 71 longer required, and GVfs metadata is no longer used. New API: 72 - TeplMetadata and TeplMetadataManager toolkit classes. 73 - Convenience functions in the framework, in TeplAbstractFactory, 74 TeplApplication and TeplBuffer. 75 - Remove TeplAbstractFactoryVala, because it's possible to manually manage 76 GObject references in Vala when using TeplAbstractFactory. 77 78* New API: 79 - New class: TeplStatusbar. 80 - New class: TeplPanel. 81 - New class: TeplStyleSchemeChooserWidget. 82 - File loading and saving toolkit: start to add some IO error info bars. 83 - TeplInfoBar: add tepl_info_bar_set_buttons_orientation(). 84 - TeplView: add tepl_view_new_with_buffer(). 85 - Utility functions: add more functions. 86 87* Misc: 88 - Write a new roadmap in docs/. 89 - Translation updates. 90 91News in 4.4.0, 2020-03-05 92------------------------- 93* Translation updates. 94 95News in 4.3.1, 2019-11-22 96------------------------- 97* Utils functions: make some functions public, add more public functions, and 98 write more unit tests. 99* Documentation: introduction: more information about the chosen development 100 model. 101* Translation updates. 102 103News in 4.2.1, 2019-11-21 104------------------------- 105 106Changes for packagers: 107* Documentation: GTK+ -> GTK. Please update the description of the package. 108 109Other changes: 110* Fix a few compilation warnings. 111* Better use of errno (save its value ASAP, then reset it to 0). 112* Build from Git: 113 - Allow building with gettext ≥ 0.20. 114 - Adapt for AX_CODE_COVERAGE API break in autoconf-archive version 2019.01.06. 115 (this didn't affect the build from the previous tarball, since the Autotools 116 are "bundled" with the tarball). 117* Translation updates. 118 119News in 4.2.0, 2018-07-16 120------------------------- 121* Nothing new. 122 123News in 4.1.1, 2018-04-15 124------------------------- 125* Remove the Amtk library, it has been moved to its own git repository, see: 126 https://wiki.gnome.org/Projects/Amtk 127 128News in 4.0.0, 2018-04-08 129------------------------- 130- Project moved to GNOME GitLab. 131- Various small improvements. 132- Translation updates. 133 134News in 3.99.1, 2017-12-09 135-------------------------- 136 137* General: 138 - Use GtkSourceView 4. 139 140* Amtk: 141 - Improve amtk_utils_bind_g_action_to_gtk_action() to support _detailed_ 142 GAction names. 143 - Add amtk_utils_create_gtk_action(). 144 145* Framework: 146 - Add more GAction's and corresponding AmtkActionInfo's: 147 - win.tepl-undo 148 - win.tepl-redo 149 - win.tepl-indent 150 - win.tepl-unindent 151 - win.tepl-open 152 - win.tepl-save 153 - win.tepl-save-as 154 - app.tepl-new-window 155 - Add TeplApplicationWindow:handle-title boolean property to handle the window 156 title. 157 - Add more vfuncs to TeplAbstractFactory: create_file and create_main_window. 158 - Add TeplAbstractFactoryVala class to work-around Vala bugs. 159 - Add functions related to main windows: 160 - tepl_application_get_active_main_window() 161 - tepl_application_window_is_main_window() 162 - tepl_application_window_get_window_group() 163 - TeplApplication: add options to handle the GApplication::activate and 164 GApplication::open signals. 165 - Start to write high-level functions for loading and saving files. 166 - On Tab::close-request, show close confirmation dialog. 167 168* File loading and saving toolkit: 169 - TeplFileLoader: 170 - Internal code refactorings to have more re-usable code independent of 171 GtkTextView. 172 - Add fallback mode to determine encoding if uchardet fails. 173 - Write more unit tests. 174 - TeplEncoding: 175 - Make tepl_encoding_get_default_candidates() more robust in case of 176 mis-translation. 177 - Improve API documentation. 178 - Write GtkSourceView to Tepl file loading and saving porting guide. 179 180* Misc: 181 - Translation updates. 182 183News in 3.0.0, 2017-09-09 184------------------------- 185 186* Translation updates. 187 188News in 2.99.4, 2017-08-20 189-------------------------- 190 191Amtk: 192* Add factory functions to create GtkMenuToolButton's and GtkCheckMenuItem's. 193* Improve API of amtk_application_window_connect_menu_to_statusbar(). 194* Add amtk_utils_bind_g_action_to_gtk_action(), to be able to port an 195 application gradually to GAction while still using GtkUIManager. 196 197Framework: 198* TeplTabLabel: add an overridable tooltip API, by default the tooltip shows 199 the file location. 200 201News in 2.99.3, 2017-08-09 202-------------------------- 203 204Amtk: 205* Add amtk_init() and amtk_finalize(). 206* Remove AmtkFactoryMenu class, move its functions to its parent class 207 AmtkFactory. 208* AmtkFactory: add functions to create GtkToolItem's. 209* Add amtk_application_window_create_open_recent_menu(). 210* Improvements to the documentation. 211* Other small code improvements. 212 213Framework: 214* TeplTabGroup interface: 215 * Add :active-tab, :active-view and :active-buffer properties. 216 * Add tepl_tab_group_set_active_tab(). 217 * Add tepl_tab_group_append_tab(). 218* Finish to implement the GActions for the Edit menu: cut, copy, paste, delete 219 and select all. (Update the GAction:enabled properties). 220* Add "win.tepl-new-file" GAction. 221* Add the TeplAbstractFactory class to create TeplTab's and tab labels. 222* TeplBuffer: rename title -> full-title and add short-title. 223* Add the TeplTab::close-request signal. 224* Add the TeplTabLabel class (which shows the buffer short-title, plus a close 225 button; the tooltip is not yet handled). 226 227Misc: 228* Add tepl_init() and tepl_finalize(), do not use DSO constructors/destructors. 229* Implement small internal utility: TeplSignalGroup, inspired by DzlSignalGroup 230 from libdazzle, but with a much simpler implementation. 231* Improvements to the documentation. 232* Translation updates. 233 234News in 2.99.2, 2017-07-18 235-------------------------- 236 237Amtk: 238* The biggest change in this release is that the classes and functions related 239 to actions and menus have been moved to a new shared library called Amtk 240 (Actions, Menus and Toolbars Kit), since it was not really related to text 241 editors, it is more general. But Amtk is still developed inside the Tepl 242 repository. Amtk is a basic GtkUIManager replacement based on GAction (still 243 under development, it is not yet finished, for example it doesn't handle 244 toolbars). 245* Add AmtkFactory and AmtkFactoryMenu, which replace 246 amtk_action_info_store_create_menu_item(). 247 248Framework: 249* Revamp TeplTab. 250* Add TeplTabGroup interface. 251* Add TeplNotebook that implements TeplTabGroup. 252* Implement TeplTabGroup in TeplTab and TeplApplicationWindow. 253* Start to implement the Edit menu: provide GActions and AmtkActionInfos for 254 the cut, copy, paste, delete and select all actions. 255 256Misc: 257* Improve TeplInfoBar. 258 259News in 2.99.1, 2017-06-15 260-------------------------- 261* The library has been renamed from Gtef (GTK+ text editor framework) to Tepl 262 (Text editor product line), to have a more beautiful name. The end of Tepl is 263 pronounced like “apple”. 264* Write a more complete introduction in the reference manual. 265* Add Slovenian translation. 266 267News in 2.0.1, 2017-04-21 268------------------------- 269* The bugzilla product has been created. 270* Fix bug in gtef_iter_get_line_indentation(). 271* Add Hungarian, Russian and Friulian translations. 272* Other small improvements. 273 274News in 2.0.0, 2017-03-18 275------------------------- 276* Add Ukrainian and Serbian translations. 277 278News in 1.99.2, 2017-03-12 279-------------------------- 280This is an unstable release leading towards 2.0. The 2.0 stable version will be 281released at the same time as GNOME 3.24. 282 283Basic GtkUIManager replacement based on GAction: 284* Add an easy way to create a GtkMenuItem from a GtefActionInfo. 285* Add a function to check that every GtefActionInfo in a GtefActionInfoStore 286 has been used. 287* Add reference counting to GtefActionInfo. 288* Add GtefActionInfoCentralStore singleton class. 289* Add gtef_action_map_add_action_entries_check_dups(), to check if there are 290 duplicates when adding GActions to a GActionMap. 291* Rename gtef_application_get_action_info_store() to 292 gtef_application_get_app_action_info_store(). 293* Add GtefMenuShell, an extension of GtkMenuShell with the ::menu-item-selected 294 and ::menu-item-deselected signals. 295* Add gtef_menu_item_get/set_long_description(). 296* Add GtefApplicationWindow, an extension of GtkApplicationWindow with: 297 * A statusbar property. 298 * A function to connect a GtefMenuShell to the statusbar, 299 pushing/popping the long descriptions of GtkMenuItems when they are 300 selected/deselected. 301 * A function to connect a GtkRecentChooserMenu to the statusbar, 302 pushing/popping the full paths. 303 * A function to create a GtkMenuItem with a simple and generic 304 GtkRecentChooserMenu as submenu. 305 306Misc: 307* Add gtef_application_open_simple(). 308* Replace GNOME by GTK+ in the Gtef acronym. Gtef now stands for “GTK+ Text 309 Editor Framework”. 310* The project is now hosted on gnome.org! 311 https://wiki.gnome.org/Projects/Gtef 312 The bugzilla product is not yet created. 313* Add Polish, Brazilian Portuguese, Swedish, Indonesian and German 314 translations. 315 316News in 1.99.1, 2017-01-26 317-------------------------- 318This is an unstable release leading towards 2.0. The 2.0 stable version will be 319released at the same time as GNOME 3.24. 320 321File loading and saving: 322* Finish the first usable version of the new GtefFileLoader. 323* Use etags instead of mtime. 324* GtefFileSaver: do not use an heuristic to know if it's a "save as" operation. 325* Add GtefEncoding, a fork of GtkSourceEncoding to suit the needs of the new 326 file loader. 327* Re-usable code outside of GtkTextView: GtefFileContentLoader and 328 GtefEncodingConverter (private classes). 329* Various other small improvements. 330 331Various features for text editors: 332* Add GtefBuffer:gtef-style-scheme-id property. 333* Add gtef_view_select_lines(). 334* Add gtef_view_goto_line() and gtef_view_goto_line_offset(). 335* Add gtef_iter_get_line_indentation(). 336* The GtefInfoBar class has been revamped. 337 338Starting a basic GtkUIManager replacement based on GAction: 339* Add gtef_utils_menu_item_set_icon_name() 340* Add GtefActionInfo 341* Add GtefActionInfoStore 342* Note that those classes are a little out of scope for a text editor library. 343 I would be happy to move those classes to a better library once the feature 344 is finished and well-tested. The classes were added to Gtef for convenience. 345 346Framework: 347* Add gtef namespace to GtefBuffer signals and properties to avoid potential 348 conflicts with future GtkSourceView versions. 349* Add GtefApplication with gtef_application_get_action_info_store(). 350 351Documentation: 352* Add an intro with the pkg-config name. 353* List API breaks. 354 355Misc: 356* Improvements to the build system. 357 358News in 1.0.0, 2016-10-26 359------------------------- 360 361This is the first version of Gtef. 362 363File loading and saving: 364* Save and load file metadata. If GVfs is not available, there is a fallback 365 implementation with an XML file (used e.g. on Windows). 366* A new file loader based on uchardet (implementation not completely finished). 367 368Starting the framework: 369* GtefBuffer, a subclass of GtkSourceBuffer with additional features. 370* GtefView, a subclass of GtkSourceView with additional features. 371* GtefTab, contains a GtefView with GtkInfoBars on top. 372* GtefInfoBar, a subclass of GtkInfoBar. 373 374Starting code folding: 375* GtefGutterRendererFolds, a basic gutter renderer for code folding. 376* GtefFoldRegion, a foldable region in a GtkTextBuffer. 377