uvtd: vt: return -ENODEV if session died
[platform/upstream/kmscon.git] / NEWS
diff --git a/NEWS b/NEWS
index c63aab4..3fb05a4 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,249 @@
 = KMSCON Release News =
 
+CHANGES WITH 7:
+       * TSM, font and text subsystems have been extended to support
+         multi-width fonts (via wcwidth(3)). This allows using CJK characters
+         if your font provides the requested glyphs.
+
+       * COLORTERM is now set to "kmscon" to allow applications to detect
+         whether they run in kmscon.
+
+       * /bin/login is now called with -p by default to reset the environment.
+         This prevents kmscon from passing weird environment variables to the
+         clients but still allows to start KMSCON with a customized
+         environment.
+         The new --reset-env variable controls this behavior (default: on).
+
+       * Add kmsconvt@.service systemd template. This replaces the
+         kmscon@.service template and can now fully replace autovt@.service
+         which is provided by systemd-logind.
+
+       * The DRM3D backend now uses gbm-surfaces and now longer depends on the
+         custom EGL extensions. Everything is now handled inside of mesa so we
+         are safe if the extensions are changed in the future.
+
+       * Modularize kmscon. Most of the dependencies can now be loaded during
+         runtime and are no longer mandatory. This allows package-managers to
+         provide the kmscon binary as default package and all the backends in a
+         separate package to avoid huge dependencies.
+         Please note that this modularization still needs to be applied to
+         uterm so you shouldn't split the package yet, but instead wait for the
+         next release.
+
+       * Freetype2 backend is now deprecated. Use the built-in 8x16 backend,
+         the unifont backend or the fully-featured pango backend.
+
+       * bblit renderer is now built-in. You cannot deselect it, anymore.
+
+       * libuterm reads boot_vga values now via udev. libpciaccess is no longer
+         needed and was removed entirely.
+
+       * uterm video backends are now split into different modules. They still
+         need to be selected during compile-time, though. The next kmscon
+         release will finish this uterm split.
+         The dumb-video backend was renamed to drm2d. The drm-video backend was
+         renamed to drm3d.
+
+       * libeloop now supports ONESHOT idle sources
+
+       * Experimental cairo+pixman renderers. These should not be used in any
+         production systems! They are only provided for performance-testing and
+         to show how cairo/pixman modules can be included.
+
+       * unifont font backend is now enabled by default. The build was heavily
+         improved to avoid long compilation times.
+
+       * Symbol-versioning was added to all libraries. Library interfaces are
+         still not considered stable so don't package them separately! Feel
+         free to link them statically.
+
+       * An experimental unfinished version of the UVT library has been added.
+         Use it only for testing purposes. The next kmscon release will include
+         documentation and more.
+         UVT implements virtual terminals in user-space. It will soon replace
+         the cdev-sessions in kmscon.
+
+       * Lots of bug-fixes!
+
+CHANGES WITH 6:
+       * Allow arbitrary paths with --vt (kmscon)
+
+       * xkbcommon is now mandatory. We need it to handle keyboard input
+         properly and since xkbcommon-0.2.0 is released, there is no reason to
+         not depend on it.
+         We also removed the plain-input backend with this change.
+
+       * Snap window to console/font-size on resize (wlterm)
+
+       * Adjust to new libwayland-1.0 (wlterm)
+
+       * Many new command-line options for wlterm including --term, --login,
+         --palette, --sb-size and many --grab-* options.
+
+       * fake-VTs no longer react on SIGUSR1/2. This was always broken and now
+         removed.
+
+       * --switchvt works again and is now enabled by default.
+
+       * --xkb-model was introduced. The other --xkb-<rmlvo> options also use
+         system-defaults instead of us-keymap as default value now.
+
+       * wlterm works properly in maximized and fullscreen mode now
+
+       * key-presses are now properly marked as "handled" so it is no longer
+         possible for two subsystems to handle the same key-press.
+
+       * wlterm can now zoom the font size with ctrl+Plus/Minus
+
+       * TSM now supports screen selections. wlterm is hooked up with this and
+         supports this, too. However, the VTE layer has not seen this yet so
+         everything is computed in the terminal for now. Next kmscon release
+         will include client-side mouse-protocol support.
+
+       * Copy/Paste now works with wlterm
+
+       * Key-repeat has been reworked and now allows adjusting repeat and delay
+         times.
+
+       * Session support allows for multiple terminals (sessions) inside of
+         each seat. You can switch between the sessions, kill them and create
+         new terminals via keyboard shortcuts. Also several other sessions than
+         terminal sessions were introduced. However, all of them are
+         experimental and shouldn't be used.
+
+       * TSM now supports alternate screen buffers. They're enabled by default.
+
+       * Configuration handling has been reworked. Multiple config-files can
+         now be parsed and each seat has its own configuration file in
+         /etc/kmscon/<seat>.seat.conf.
+
+       * The build-tools have been reworked. They should now work properly with
+         any option-combination imaginable.
+
+       * --login option can now be used in config-files.
+
+       * We print hints if keyboard-shortcut names are written with wrong
+         capitalization.
+
+       * Improve systemd integration
+
+       * CDev sessions emulate enough of the VT API to make X-Server run as
+         kmscon session. You can even run kmscon in default-mode as client in
+         another kmscon manager.
+
+       * Bold fonts are now supported.
+
+       * kmscon.1 manpage is available now.
+
+       * ... and a lot of bugfixes
+
+CHANGES WITH 5:
+       * Idle sources are now faster registered and unregistered so they can
+         be used for any scheduling tasks
+
+       * eloop got pre- and post-dispatch hooks to integrate external
+         event-loops better
+
+       * Added pkg-config files for eloop, tsm and uterm
+
+       * Added xkbcommon-keysyms.h as fallback
+
+       * fakevt got removed. It is now integrated into kmscon core and is no
+         longer needed.
+
+       * Cleaned up unicode, console and vte layer. It is now a fully
+         independent library calles TSM.
+
+       * All helpers were prefixed with SHL_* and can be used in any project
+         inside of this repository. They are linked statically and mostly
+         inlined code.
+
+       * VTE layer now handles ALT key
+
+       * fbdev devices are automatically used if they are not run by DRM
+         drivers. Use --fbdev to force the use of fbdev devices only.
+
+       * --vt=<num> now selects the TTY to use by kmscon on seat0
+
+       * Added wlterm, a native terminal emulator for Wayland
+
+       * Lots of bugfixes! Thanks to all the bug-reporters!
+
+CHANGES WITH 4:
+       * The "conf" subsystem was modularized so we can use it in other
+         binaries as well. It is also much easier to add new parameters now.
+
+       * Remove internal dependencies. Several subsystems will be split into
+         separate libraries (like eloop, uterm, vte+console) so we should avoid
+         any internal dependencies between these. This shouldn't affect
+         performance, though.
+
+       * New --seats argument which allows to specify what seats kmscon is
+         running on.
+
+       * The old vt.[ch] subsystem is now merged into uterm_vt.c and a fake VT
+         backend was added. This allows to activate/deactivate kmscon via
+         keyboard shortcuts. This is for debugging only, though.
+
+       * The VTE layer was extended a lot to support more advanced control
+         sequences and fix several bugs.
+
+       * --dumb now forces kmscon to use non-accelerated rendering
+
+       * The scrollback buffer now works. You can specify keyboard shortcuts
+         via --grab-* options. Default is: <Shift>Up/Down/Prior/Next
+
+       * GL_EXT_unpack_subimage is not required anymore.
+
+       * _Lots_ of speed improvements in the rendering path.
+
+       * The unifont font backend was added. This is similar to 8x16 but has a
+         lot more characters.
+
+       * ... and a lot of bugfixes
+
+CHANGES WITH 3: (development release)
+       * VTE support has been improved greatly. vt220 should be supported fully
+         except for multi-line characters.
+
+       * glib dependency removed. Hashtables and unicode support is now
+         implemented in kmscon.
+
+       * Configfiles are now supported. /etc/kmscon.conf and ~/.kmscon.conf are
+         read by kmscon on startup. They can include the same options as the
+         command line options of kmscon. However, command-line options have
+         precedence.
+
+       * Multiple video objects are now supported per seat. That is, if you
+         have more than one graphics card per seat, all of them will be used by
+         kmscon. Multiple displays were supported from the beginning.
+
+       * Modularized input backend. The XKB backend is fully optional and can
+         be activated/deactivated during runtime. The Dumb backend has been
+         renamed to "plain".
+
+       * The eloop library is fully documented and should be API stable from
+         now on.
+
+       * The font renderer subsystem has been rewritten and replaced with a new
+         subsystem which can load different font-renderers during runtime.
+         Several backends including static 8x16 backend has been added. It is
+         possible to compile kmscon without freetype2/pango dependencies now.
+
+       * 2D blitting to framebuffers has been improved greatly. More devices
+         are supported now and blending is available, too. The 3D devices have
+         been updated to support these blitting operations via OpenGL. This may
+         be slow on older devices, though.
+
+       * New text renderer subsystem has been added. It can load multiple
+         different text-renderers during runtime. The default renderer (bblit)
+         uses 2D blitting operations to render text. However, the gltex
+         renderer is also available (optionally) which renders with OpenGL
+         textures. This can improve performance greatly on modern devices.
+
+       * Gcc optimizations are now enabled by default to improve rendering
+         performance.
+
 CHANGES WITH 2: (development release)
        * Build scripts were improved and simplified. They also allow much more
          control about the build process now. The source was split into several
@@ -39,4 +283,4 @@ CHANGES WITH 2: (development release)
 
 CHANGES WITH 1: (development release)
        * First kmscon release. For testing purposes only. Includes a rendering
-         pipeline and a very rundimentary terminal emulator.
+         pipeline and a very rudimentary terminal emulator.