1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3                       "http://www.docbook.org/xml/4.3/docbookx.dtd">
4
5<!-- section history:
6  2102-05-22 j.h: reviewed
7  2012-05-05 Marco: created
8 -->
9<sect1 id="gimp-introduction-history-2-8">
10  <title>What's New in GIMP 2.8? </title>
11
12  <para>
13    <acronym>GIMP</acronym> 2.8 is another important release from a
14    development point of view, even more that it was for 2.6. It
15    features a big change to the user interface addressing one of the
16    most often received complaints: the lack of a single window
17    mode. Moreover the integration effort of GEGL library had taken a
18    big step forward, reaching more than 90% of the
19    <acronym>GIMP</acronym> core, a new powerful transformation tool,
20    layer groups, new common options, new brushes, improved text tool,
21    and more.
22  </para>
23
24  <variablelist>
25    <title>User Interface</title>
26
27    <varlistentry>
28      <term>New single window mode</term>
29      <listitem>
30        <para>
31          With this new feature it will be possible to work with all
32          the <acronym>GIMP</acronym> dialogs inside one big window,
33          usually with the image(s) centered inside.  No more floating
34          panels or toolbox but the dialogs could be arranged inside
35          this single window.  This mode could be enabled or disabled
36          all the time, even while working, and the option will be
37          remembered through the sessions.
38        </para>
39        <figure>
40          <title>The new look of the single window mode</title>
41          <mediaobject>
42            <imageobject>
43              <imagedata format="PNG"
44                fileref="images/using/single-window-mode.png"/>
45            </imageobject>
46          </mediaobject>
47        </figure>
48      </listitem>
49    </varlistentry>
50
51    <varlistentry>
52      <term>New file save workflow</term>
53      <listitem>
54        <para>
55          Now Save and Save as work only with xcf formats. If you
56          want to export an image in another format, say jpg or png,
57          you have to explicitly Export it. This enhances the workflow
58          and lets you simply overwrite the original file or export to
59          various other formats.
60         </para>
61        <figure>
62          <title>The new image workflow</title>
63          <mediaobject>
64            <imageobject>
65              <imagedata format="PNG"
66                fileref="images/using/save-image-overwrite.png"/>
67            </imageobject>
68          </mediaobject>
69        </figure>
70      </listitem>
71    </varlistentry>
72
73    <varlistentry>
74      <term>New image bar</term>
75      <listitem>
76        <para>
77          A new useful image bar comes with the single window mode,
78          which lets you switch easily between open images through the
79          means of a tab bar with image thumbnails.
80         </para>
81        <figure>
82          <title>The new image bar</title>
83          <mediaobject>
84            <imageobject>
85              <imagedata format="PNG"
86                fileref="images/using/multiple-image-tabs.png"/>
87            </imageobject>
88          </mediaobject>
89        </figure>
90      </listitem>
91    </varlistentry>
92
93    <varlistentry>
94      <term>New arrangement options</term>
95      <listitem>
96        <para>
97          <acronym>GIMP</acronym> will make users working with two screens
98          (one for dialogs, the other for images)
99          happy: now it is possible to arrange the dialogs one over the other,
100          in tabs and in columns too.
101        </para>
102        <figure>
103          <title>Multi column docks</title>
104          <mediaobject>
105            <imageobject>
106              <imagedata format="PNG"
107                fileref="images/using/multi-column-docks.png"/>
108            </imageobject>
109          </mediaobject>
110        </figure>
111      </listitem>
112    </varlistentry>
113
114    <varlistentry>
115      <term>New resources tags</term>
116      <listitem>
117        <para>
118          <acronym>GIMP</acronym> Brushes, Gradients, Pattern and
119          Palettes can be filtered and searched via tags. Tags are
120          text labels that the user can assign to resources. With Tags
121          the user can easily find the resources by means of an input
122          text box. Tags can be manually assigned by the user with the
123          same input box used for searching tags, or they can be
124          automatically tagged using the directory name of the
125          imported items.
126        </para>
127        <figure>
128          <title>Resource tags</title>
129          <mediaobject>
130            <imageobject>
131              <imagedata format="PNG"
132                fileref="images/using/painting-resources-tags.png"/>
133            </imageobject>
134          </mediaobject>
135        </figure>
136      </listitem>
137    </varlistentry>
138
139    <varlistentry>
140      <term>Simple math in size entries</term>
141      <listitem>
142        <para>
143          Enhancements have also been made to the size entry widget,
144          which is used for inputting most of the x, y, width, height
145          parameters. For example, in the scale dialog it is now
146          possible to write <quote>50%</quote> in the Width field to
147          scale the image to 50% of the width. Expressions such as
148          <quote>30in + 40px</quote> and <quote>4 * 5.4in</quote>
149          work, too.
150        </para>
151        <figure>
152          <title>Math size entries</title>
153          <mediaobject>
154            <imageobject>
155              <imagedata format="PNG"
156                fileref="images/using/math-size-entries.png"/>
157            </imageobject>
158          </mediaobject>
159        </figure>
160      </listitem>
161    </varlistentry>
162
163    <varlistentry>
164      <term>Minor changes</term>
165      <listitem>
166      <itemizedlist>
167
168      <listitem>
169        <para>
170          The new <quote>Lock Pixels</quote> option in the layers
171          dialog can avoid undesired painting on a layer when
172          working with several layers.
173        </para>
174        <figure>
175          <title>The new Lock Pixels option</title>
176          <mediaobject>
177            <imageobject>
178      <imagedata format="PNG"
179        fileref="images/using/image-lock-pixels.png"/>
180            </imageobject>
181          </mediaobject>
182        </figure>
183      </listitem>
184
185        <listitem>
186          <para>
187            Now you can move between images in single and multi
188            window mode using the shortcuts
189<keycombo><keycap>Ctrl</keycap><keycap>Page Up/Page Down</keycap></keycombo>
190            or
191            <keycombo><keycap>Alt</keycap><keycap>Number</keycap></keycombo>.
192          </para>
193        </listitem>
194
195        <listitem>
196          <para>
197            Add support for F2 to rename items in lists.
198          </para>
199        </listitem>
200
201        <listitem>
202          <para>
203            You can now
204            <keycombo><keycap>Alt</keycap><keycap>Click</keycap></keycombo>
205            on layers in the Layers dialog to create a selection from
206            it. Add, subtract and intersect modifiers
207            <keycap>Click</keycap>, <keycap>Shift</keycap> and
208            <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap></keycombo>
209            keys work too. This makes it easy to compose contents of a
210            layer based on the contents of other layers, without
211            detours.
212          </para>
213        </listitem>
214
215        <listitem>
216          <para>
217            Since the keyboard shortcuts
218            <keycombo><keycap>Ctrl</keycap><keycap>E</keycap></keycombo>
219            and
220            <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>E</keycap></keycombo>
221            have been redirected to image export mechanisms, new
222            keyboard shortcuts have been setup for <quote>Shrink
223            Wrap</quote> and <quote>Fit Image in Window</quote>, namely
224            <keycombo><keycap>Ctrl</keycap><keycap>J</keycap></keycombo>
225            and
226            <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>J</keycap></keycombo>
227            respectively.
228          </para>
229        </listitem>
230
231        <listitem>
232          <para>
233            Added
234            <menuchoice><guimenu>Windows</guimenu><guimenuitem>Hide
235            docks</guimenuitem></menuchoice> menu item that does what
236            <quote>Tab</quote> does and also displays its state, which
237            is now persistent across sessions, too.
238          </para>
239        </listitem>
240
241        <listitem>
242          <para>
243            The layer modes have been rearranged into more logical and
244            useful groups based on the effect they have on layers. Layer
245            modes that make the layer lighter are in one group, layer modes that
246            make the layer darker in another group, and so forth.
247          </para>
248        </listitem>
249
250        <listitem>
251          <para>
252            In multi-window mode, you can now close the Toolbox without
253            quitting GIMP.
254          </para>
255        </listitem>
256
257        <listitem>
258          <para>
259            Allow binding arbitrary actions to extra mouse buttons.
260          </para>
261        </listitem>
262
263        <listitem>
264          <para>
265            Now it is possible to change the application language
266            directly from the preference menu.
267          </para>
268        </listitem>
269
270      </itemizedlist>
271    </listitem>
272    </varlistentry>
273  </variablelist>
274
275  <variablelist>
276    <title>Tools, Filters and Plug-ins</title>
277
278    <varlistentry>
279      <term>A new tool: Cage Transform</term>
280      <listitem>
281        <para>
282          With this new tool is now possible to create custom bending
283          of a selection just moving control points.
284          This is the result of one of our Google Summer of Code 2010
285          students.
286        </para>
287        <figure>
288          <title>Cage Transform</title>
289          <mediaobject>
290            <imageobject>
291              <imagedata format="PNG"
292                fileref="images/using/new-cage-tool.png"/>
293            </imageobject>
294          </mediaobject>
295        </figure>
296      </listitem>
297    </varlistentry>
298
299    <varlistentry>
300      <term>Improved Text Tool</term>
301      <listitem>
302        <para>
303          The text tool has been enhanced to support on canvas text
304          writing and make possible changing the attributes of a single char.
305        </para>
306        <figure>
307          <title>Improved text tool</title>
308          <mediaobject>
309            <imageobject>
310              <imagedata format="PNG"
311                fileref="images/using/improved-text-tool.png"/>
312            </imageobject>
313          </mediaobject>
314        </figure>
315      </listitem>
316    </varlistentry>
317
318    <varlistentry>
319      <term>New layer groups</term>
320      <listitem>
321        <para>
322          It is now possible to group set of layers and treat them
323          like an entity. It is possible to switch a group on or off and
324          to move the group in the layers dialog. It is easy to add /
325          remove existing layers to a group or to create / delete a
326          layer inside the group and it is even possible to create
327          embedded groups of groups. It is possible to apply a
328          layer mode to a group as you do with a single layer. All this greatly
329          improves the workflow with complex multilayer images making
330          them easier to manage.
331        </para>
332        <figure>
333          <title>New layer groups</title>
334          <mediaobject>
335            <imageobject>
336              <imagedata format="PNG"
337                fileref="images/using/image-layer-groups.png"/>
338            </imageobject>
339          </mediaobject>
340        </figure>
341      </listitem>
342    </varlistentry>
343
344    <varlistentry>
345      <term>Rotating brushes</term>
346      <listitem>
347        <para>
348          Brushes can now be rotated at will, acting on the brush
349          option <quote>Angle</quote>.
350        </para>
351        <figure>
352          <title>Rotating brushes</title>
353          <mediaobject>
354            <imageobject>
355              <imagedata format="PNG"
356                fileref="images/using/rotating-brushes.png"/>
357            </imageobject>
358          </mediaobject>
359        </figure>
360      </listitem>
361    </varlistentry>
362
363    <varlistentry>
364      <term>Minor changes</term>
365      <listitem>
366        <itemizedlist>
367          <listitem>
368            <para>
369              The default Quick Mask color is now configurable.
370            </para>
371          </listitem>
372
373          <listitem>
374            <para>
375              The RTL mode (right to left writing) has been improved in the Text
376              tool.
377            </para>
378          </listitem>
379
380          <listitem>
381            <para>
382              You can specify the written language in the Text
383              Tool. This helps choosing an appropriate font, or
384              appropriate glyphs for the selected language.
385            </para>
386          </listitem>
387
388          <listitem>
389            <para>
390              Added optional diagonal guides to the crop tool.
391            </para>
392          </listitem>
393
394          <listitem>
395            <para>
396              Added <quote>Rule of fifths</quote> crop guide overlay.
397            </para>
398          </listitem>
399
400          <listitem>
401            <para>
402              A Cairo based PDF exporter has been implemented. Although being
403              somewhat simplistic, the exporter saves text, embedding
404              fonts into the final PDF file, and attempts to convert
405              bitmaps to vector objects.
406            </para>
407          </listitem>
408
409          <listitem>
410            <para>
411              Brush dynamics improved.
412            </para>
413          </listitem>
414
415          <listitem>
416            <para>
417              Added plug-in for loading JPEG2000 images.
418            </para>
419          </listitem>
420
421          <listitem>
422            <para>
423              Added plug-ins for X11 Mouse Cursor import and export
424              support.
425            </para>
426          </listitem>
427
428          <listitem>
429            <para>
430              Added fundamental OpenRaster (.ora) import and export
431              support.
432            </para>
433          </listitem>
434
435          <listitem>
436            <para>
437              Added RGB565 support to the csource plug-in.
438            </para>
439          </listitem>
440
441          <listitem>
442            <para>
443              Added a new <quote>Create</quote> command that allows loading
444              a Web page directly into GIMP using Webkit.
445            </para>
446          </listitem>
447
448        </itemizedlist>
449      </listitem>
450    </varlistentry>
451
452  </variablelist>
453
454  <variablelist>
455    <title>Under the Hood</title>
456
457    <varlistentry>
458      <term><acronym>GEGL</acronym></term>
459      <listitem>
460        <para>
461          The porting of the <acronym>GIMP</acronym> core towards the
462          new high bit-depth and non-destructive editing GEGL <xref
463          linkend="bibliography-online-gegl"/> library has taken big
464          steps and now more than 90% of the task is already finished.
465        </para>
466        <para>
467          In addition to porting color operations to
468          <acronym>GEGL</acronym>, an experimental GEGL Operation tool
469          has been added, found in the Tools menu. It enables applying
470          <acronym>GEGL</acronym> operations to an image and it gives
471          on-canvas previews of the results. The screenshot below
472          shows this for a Gaussian Blur.
473        </para>
474        <figure>
475          <title><acronym>GEGL</acronym> operation</title>
476          <mediaobject>
477            <imageobject>
478              <imagedata format="PNG"
479                fileref="images/using/experimental-gegl-tool.png"/>
480            </imageobject>
481          </mediaobject>
482        </figure>
483      </listitem>
484
485    </varlistentry>
486
487    <varlistentry>
488
489      <term>Cairo porting</term>
490      <listitem>
491        <para>
492          Started with <acronym>GIMP</acronym> version 2.6, all tools rendering
493          on canvas is now completely ported to <xref
494          linkend="bibliography-online-cairo"/>. It provides smooth
495          antialiased graphics and improves <acronym>GIMP</acronym> look. Some
496          plug-ins have been upgraded to Cairo as well. Additionally
497          all tools now use an on-canvas progress indicator instead of
498          the one in the statusbar.
499        </para>
500        <figure>
501          <title>Progress indicator</title>
502          <mediaobject>
503            <imageobject>
504              <imagedata format="PNG"
505                fileref="images/using/cairo-progress-indicator.png"/>
506            </imageobject>
507          </mediaobject>
508        </figure>
509      </listitem>
510
511    </varlistentry>
512
513  </variablelist>
514
515  <variablelist>
516
517    <title>Miscellaneous</title>
518
519    <varlistentry>
520      <term>License change</term>
521      <listitem>
522        <para>
523          The GIMP license has been changed to (L)GPLv3+.
524        </para>
525      </listitem>
526    </varlistentry>
527
528    <varlistentry>
529      <term>New script API</term>
530
531      <listitem>
532        <itemizedlist>
533          <listitem>
534            <para>
535              A lot of GIMP APIs have been rebuilt to simplify
536              developing new scripts.
537            </para>
538          </listitem>
539          <listitem>
540            <para>
541              To further enhances scripting abilities, API changes to support
542              layer groups have been made.
543            </para>
544          </listitem>
545        </itemizedlist>
546      </listitem>
547    </varlistentry>
548
549    <varlistentry>
550      <term>Backwards Compatibility</term>
551        <listitem>
552          <para>
553            To allow migrating from the old tools presets
554            system to the new one, there is a Python <ulink
555url="http://wiki.gimp.org/index.php/Mindstorm:Preset_converter">script</ulink>,
556            which you can download from the <acronym>GIMP</acronym> wiki
557            site. However, the old tools presets are not 100%
558            convertible to the new tool presets. For instance, brush
559            scale from 2.6 can't be converted to brush size in 2.8.
560          </para>
561        </listitem>
562    </varlistentry>
563
564  <varlistentry>
565      <term>Known Problems</term>
566      <listitem>
567        <para>
568          Working with graphics tablets could be problematic due to
569          the GTK+2 library in use. If in this case either use the
570          older version 2.6 or wait for the up coming version 3.0
571          for the full GTK+3 support.
572        </para>
573      </listitem>
574  </varlistentry>
575
576  </variablelist>
577
578</sect1>
579