= KMSCON Release News =
-CHANGES WITH 2:
+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
different libraries.
* lots of small fixes
-CHANGES WITH 1:
+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.