Modify it to adjust Tizen IVI enviroment
[platform/upstream/kmscon.git] / NEWS
1 = KMSCON Release News =
2
3 CHANGES WITH 8:
4         * Several build-tools changes. Please adjust your build-scripts
5           accoringly:
6             - xz instead of bz2 tarballs
7             - tarballs moved to: www.freedesktop.org/software/kmscon/releases
8             - linking with ld.gold now supported
9             - libtsm was extracted into a separate library, available at:
10                 www.freedesktop.org/wiki/Software/kmscon/libtsm
11             - Several dependencies are mandatory now. See README.
12             - --prefix=/usr is no longer the default. You need to pass it
13               yourself!
14
15         * Removed wlterm. A GTK+ variant of wlterm is now available at:
16             www.freedesktop.org/wiki/Software/kmscon/wlterm
17
18         * Removed uvtd and uvt. They were unused.
19
20         * Removed cdev-sessions
21
22         * Removed freetype2 font-backend
23
24         * Removed cairo text renderer
25
26         * eloop and uterm are now linked statically
27
28         * Dynamic font resizing is now supported. Use ctrl+'+' and ctrl+'-' as
29           default shortcuts to resize your font on-the-fly.
30
31         * Lots of bug-fixes!
32
33 CHANGES WITH 7:
34         * TSM, font and text subsystems have been extended to support
35           multi-width fonts (via wcwidth(3)). This allows using CJK characters
36           if your font provides the requested glyphs.
37
38         * COLORTERM is now set to "kmscon" to allow applications to detect
39           whether they run in kmscon.
40
41         * /bin/login is now called with -p by default to reset the environment.
42           This prevents kmscon from passing weird environment variables to the
43           clients but still allows to start KMSCON with a customized
44           environment.
45           The new --reset-env variable controls this behavior (default: on).
46
47         * Add kmsconvt@.service systemd template. This replaces the
48           kmscon@.service template and can now fully replace autovt@.service
49           which is provided by systemd-logind.
50
51         * The DRM3D backend now uses gbm-surfaces and now longer depends on the
52           custom EGL extensions. Everything is now handled inside of mesa so we
53           are safe if the extensions are changed in the future.
54
55         * Modularize kmscon. Most of the dependencies can now be loaded during
56           runtime and are no longer mandatory. This allows package-managers to
57           provide the kmscon binary as default package and all the backends in a
58           separate package to avoid huge dependencies.
59           Please note that this modularization still needs to be applied to
60           uterm so you shouldn't split the package yet, but instead wait for the
61           next release.
62
63         * Freetype2 backend is now deprecated. Use the built-in 8x16 backend,
64           the unifont backend or the fully-featured pango backend.
65
66         * bblit renderer is now built-in. You cannot deselect it, anymore.
67
68         * libuterm reads boot_vga values now via udev. libpciaccess is no longer
69           needed and was removed entirely.
70
71         * uterm video backends are now split into different modules. They still
72           need to be selected during compile-time, though. The next kmscon
73           release will finish this uterm split.
74           The dumb-video backend was renamed to drm2d. The drm-video backend was
75           renamed to drm3d.
76
77         * libeloop now supports ONESHOT idle sources
78
79         * Experimental cairo+pixman renderers. These should not be used in any
80           production systems! They are only provided for performance-testing and
81           to show how cairo/pixman modules can be included.
82
83         * unifont font backend is now enabled by default. The build was heavily
84           improved to avoid long compilation times.
85
86         * Symbol-versioning was added to all libraries. Library interfaces are
87           still not considered stable so don't package them separately! Feel
88           free to link them statically.
89
90         * An experimental unfinished version of the UVT library has been added.
91           Use it only for testing purposes. The next kmscon release will include
92           documentation and more.
93           UVT implements virtual terminals in user-space. It will soon replace
94           the cdev-sessions in kmscon.
95
96         * Lots of bug-fixes!
97
98 CHANGES WITH 6:
99         * Allow arbitrary paths with --vt (kmscon)
100
101         * xkbcommon is now mandatory. We need it to handle keyboard input
102           properly and since xkbcommon-0.2.0 is released, there is no reason to
103           not depend on it.
104           We also removed the plain-input backend with this change.
105
106         * Snap window to console/font-size on resize (wlterm)
107
108         * Adjust to new libwayland-1.0 (wlterm)
109
110         * Many new command-line options for wlterm including --term, --login,
111           --palette, --sb-size and many --grab-* options.
112
113         * fake-VTs no longer react on SIGUSR1/2. This was always broken and now
114           removed.
115
116         * --switchvt works again and is now enabled by default.
117
118         * --xkb-model was introduced. The other --xkb-<rmlvo> options also use
119           system-defaults instead of us-keymap as default value now.
120
121         * wlterm works properly in maximized and fullscreen mode now
122
123         * key-presses are now properly marked as "handled" so it is no longer
124           possible for two subsystems to handle the same key-press.
125
126         * wlterm can now zoom the font size with ctrl+Plus/Minus
127
128         * TSM now supports screen selections. wlterm is hooked up with this and
129           supports this, too. However, the VTE layer has not seen this yet so
130           everything is computed in the terminal for now. Next kmscon release
131           will include client-side mouse-protocol support.
132
133         * Copy/Paste now works with wlterm
134
135         * Key-repeat has been reworked and now allows adjusting repeat and delay
136           times.
137
138         * Session support allows for multiple terminals (sessions) inside of
139           each seat. You can switch between the sessions, kill them and create
140           new terminals via keyboard shortcuts. Also several other sessions than
141           terminal sessions were introduced. However, all of them are
142           experimental and shouldn't be used.
143
144         * TSM now supports alternate screen buffers. They're enabled by default.
145
146         * Configuration handling has been reworked. Multiple config-files can
147           now be parsed and each seat has its own configuration file in
148           /etc/kmscon/<seat>.seat.conf.
149
150         * The build-tools have been reworked. They should now work properly with
151           any option-combination imaginable.
152
153         * --login option can now be used in config-files.
154
155         * We print hints if keyboard-shortcut names are written with wrong
156           capitalization.
157
158         * Improve systemd integration
159
160         * CDev sessions emulate enough of the VT API to make X-Server run as
161           kmscon session. You can even run kmscon in default-mode as client in
162           another kmscon manager.
163
164         * Bold fonts are now supported.
165
166         * kmscon.1 manpage is available now.
167
168         * ... and a lot of bugfixes
169
170 CHANGES WITH 5:
171         * Idle sources are now faster registered and unregistered so they can
172           be used for any scheduling tasks
173
174         * eloop got pre- and post-dispatch hooks to integrate external
175           event-loops better
176
177         * Added pkg-config files for eloop, tsm and uterm
178
179         * Added xkbcommon-keysyms.h as fallback
180
181         * fakevt got removed. It is now integrated into kmscon core and is no
182           longer needed.
183
184         * Cleaned up unicode, console and vte layer. It is now a fully
185           independent library calles TSM.
186
187         * All helpers were prefixed with SHL_* and can be used in any project
188           inside of this repository. They are linked statically and mostly
189           inlined code.
190
191         * VTE layer now handles ALT key
192
193         * fbdev devices are automatically used if they are not run by DRM
194           drivers. Use --fbdev to force the use of fbdev devices only.
195
196         * --vt=<num> now selects the TTY to use by kmscon on seat0
197
198         * Added wlterm, a native terminal emulator for Wayland
199
200         * Lots of bugfixes! Thanks to all the bug-reporters!
201
202 CHANGES WITH 4:
203         * The "conf" subsystem was modularized so we can use it in other
204           binaries as well. It is also much easier to add new parameters now.
205
206         * Remove internal dependencies. Several subsystems will be split into
207           separate libraries (like eloop, uterm, vte+console) so we should avoid
208           any internal dependencies between these. This shouldn't affect
209           performance, though.
210
211         * New --seats argument which allows to specify what seats kmscon is
212           running on.
213
214         * The old vt.[ch] subsystem is now merged into uterm_vt.c and a fake VT
215           backend was added. This allows to activate/deactivate kmscon via
216           keyboard shortcuts. This is for debugging only, though.
217
218         * The VTE layer was extended a lot to support more advanced control
219           sequences and fix several bugs.
220
221         * --dumb now forces kmscon to use non-accelerated rendering
222
223         * The scrollback buffer now works. You can specify keyboard shortcuts
224           via --grab-* options. Default is: <Shift>Up/Down/Prior/Next
225
226         * GL_EXT_unpack_subimage is not required anymore.
227
228         * _Lots_ of speed improvements in the rendering path.
229
230         * The unifont font backend was added. This is similar to 8x16 but has a
231           lot more characters.
232
233         * ... and a lot of bugfixes
234
235 CHANGES WITH 3: (development release)
236         * VTE support has been improved greatly. vt220 should be supported fully
237           except for multi-line characters.
238
239         * glib dependency removed. Hashtables and unicode support is now
240           implemented in kmscon.
241
242         * Configfiles are now supported. /etc/kmscon.conf and ~/.kmscon.conf are
243           read by kmscon on startup. They can include the same options as the
244           command line options of kmscon. However, command-line options have
245           precedence.
246
247         * Multiple video objects are now supported per seat. That is, if you
248           have more than one graphics card per seat, all of them will be used by
249           kmscon. Multiple displays were supported from the beginning.
250
251         * Modularized input backend. The XKB backend is fully optional and can
252           be activated/deactivated during runtime. The Dumb backend has been
253           renamed to "plain".
254
255         * The eloop library is fully documented and should be API stable from
256           now on.
257
258         * The font renderer subsystem has been rewritten and replaced with a new
259           subsystem which can load different font-renderers during runtime.
260           Several backends including static 8x16 backend has been added. It is
261           possible to compile kmscon without freetype2/pango dependencies now.
262
263         * 2D blitting to framebuffers has been improved greatly. More devices
264           are supported now and blending is available, too. The 3D devices have
265           been updated to support these blitting operations via OpenGL. This may
266           be slow on older devices, though.
267
268         * New text renderer subsystem has been added. It can load multiple
269           different text-renderers during runtime. The default renderer (bblit)
270           uses 2D blitting operations to render text. However, the gltex
271           renderer is also available (optionally) which renders with OpenGL
272           textures. This can improve performance greatly on modern devices.
273
274         * Gcc optimizations are now enabled by default to improve rendering
275           performance.
276
277 CHANGES WITH 2: (development release)
278         * Build scripts were improved and simplified. They also allow much more
279           control about the build process now. The source was split into several
280           different libraries.
281
282         * Added llog.h helper for logging in libraries.
283
284         * Eloop was moved into separate library and supports more more
285           use-cases now. It can be used as a standalone project.
286
287         * Terminal emulator (vte.c) was improved a lot and can run vim now.
288
289         * Console layer was rewritten and is now much faster and much more
290           standards compliant.
291
292         * Uterm monitor was added. The monitor uses udev and systemd-logind to
293           watch the system for new seats and devices. This allows us to run on
294           multiple seats simultaneously and being hotplug-capable.
295
296         * Uterm vt layer was added. This simply wraps the older VT layer so we
297           can switch to different VT systems on-the-fly.
298
299         * New uterm video backends: The fbdev backend is now fully functional
300           kmscon can run on any fbdev device now. Furthermore, the dumb backend
301           was added which is simply an unaccelerated DRM backend that should
302           work even without EGL, GL, gbm, etc.
303
304         * New 2D rendering API. In case OpenGL is not available, we now allow
305           blitting images into the framebuffer. This is used for fbdev and dumb
306           video devices.
307
308         * Font renderer now depends on pango. This is is needed only until I get
309           the time to rewrite the freetype backend. But for now we depend on
310           pango so have full font support.
311
312         * lots of small fixes
313
314 CHANGES WITH 1: (development release)
315         * First kmscon release. For testing purposes only. Includes a rendering
316           pipeline and a very rudimentary terminal emulator.