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