1libxkbcommon 0.5.0 - 2014-10-18 2================== 3 4- Added support for Compose/dead keys in a new module (included in 5 libxkbcommon). See the documentation or the 6 xkbcommon/xkbcommon-compose.h header file for more details. 7 8- Improved and reordered some sections of the documentation. 9 10- The doxygen HTML pages were made nicer to read. 11 12- Most tests now run also on non-linux platforms. 13 14- A warning is emitted by default about RMLVO values which are not used 15 during keymap compilation, which are most often a user misconfiguration. 16 For example, "terminate:ctrl_alt_backspace" instead of 17 "terminate:ctrl_alt_bksp". 18 19- Added symbol versioning for libxkbcommon and libxkbcommon-x11. 20 Note: binaries compiled against this and future versions will not be 21 able to link against the previous versions of the library. 22 23- Removed several compatablity symbols from the binary (the API isn't 24 affected). This affects binaries which 25 26 1. Were compiled against a pre-stable (<0.2.0) version of libxkbcommon, and 27 2. Are linked against the this or later version of libxkbcommon. 28 29 Such a scenario is likely to fail already. 30 31- If Xvfb is not available, the x11comp test is now correctly skipped 32 instead of hanging. 33 34- Benchmarks were moved to a separate bench/ directory. 35 36- Build fixes from OpenBSD. 37 38- Fixed a bug where key type entries such as "map[None] = Level2;" were 39 ignored. 40 41- New API: 42 XKB_COMPOSE_* 43 xkb_compose_* 44 45libxkbcommon 0.4.3 - 2014-08-19 46================== 47 48- Fixed a bug which caused xkb_x11_keymap_new_from_device() to misrepresent 49 modifiers for some keymaps. 50 51 https://github.com/xkbcommon/libxkbcommon/issues/9 52 53- Fixed a bug which caused xkb_x11_keymap_new_from_device() to ignore XKB 54 PrivateAction's. 55 56- Modifiers are now always fully resolved after xkb_state_update_mask(). 57 Previously the given state components were used as-is, without 58 considering virtual modifier mappings. 59 Note: this only affects non-standard uses of xkb_state_update_mask(). 60 61- Added a test for xkbcommon-x11, "x11comp". The test uses the system's 62 Xvfb server and xkbcomp. If they do not exist or fail, the test is 63 skipped. 64 65- Fixed memory leaks after parse errors in the XKB yacc parser. 66 The fix required changes which are currently incompatible with byacc. 67 68libxkbcommon 0.4.2 - 2014-05-15 69================== 70 71- Fixed a bug where explicitly passing "--enable-x11" to ./configure would 72 in fact disable it (regressed in 0.4.1). 73 74- Added @since version annotations to the API documentation for everything 75 introduced after the initial stable release (0.2.0). 76 77- Added a section to the documentation about keysym transformations, and 78 clarified which functions perform a given transformation. 79 80- XKB files which fail to compile during keymap construction can no longer 81 have any effect on the resulting keymap: changes are only applied when 82 the entire compilation succeeds. 83 Note: this was a minor correctness issue inherited from xkbcomp. 84 85- Fix an out-of-bounds array access in src/x11/util.c:adopt_atoms() 86 error-handling code. 87 Note: it seems impossible to trigger in the current code since the input 88 size cannot exceed the required size. 89 90libxkbcommon 0.4.1 - 2014-03-27 91================== 92 93- Converted README to markdown and added a Quick Guide to the 94 documentation, which breezes through the most common parts of 95 xkbcommon. 96 97- Added two new functions, xkb_state_key_get_utf{8,32}(). They 98 combine the operations of xkb_state_key_get_syms() and 99 xkb_keysym_to_utf{8,32}(), and provide a nicer interface for it 100 (espcially for multiple-keysyms-per-level). 101 102- The xkb_state_key_get_utf{8,32}() functions now apply Control 103 transformation: when the Control modifier is active, the string 104 is converted to an appropriate control character. 105 This matches the behavior of libX11's XLookupString(3), and 106 required by the XKB specification: 107 http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier 108 109 https://bugs.freedesktop.org/show_bug.cgi?id=75892 110 111- The consumed modifiers for a key are now calculated similarly 112 to libX11. The previous behavior caused a bug where Shift would 113 not cancel an active Caps Lock. 114 115- Make xkbcommon-x11 work with the keymap reported by the XQuartz 116 X server. 117 118 https://bugs.freedesktop.org/show_bug.cgi?id=75798 119 120- Reduce memory usage during keymap compilation some more. 121 122- New API: 123 xkb_state_key_get_consumed_mods() 124 xkb_state_key_get_utf8() 125 xkb_state_key_get_utf32() 126 127- Deprecated API: 128 XKB_MAP_COMPILE_PLACEHOLDER, XKB_MAP_NO_FLAGS 129 use XKB_KEYMAP_NO_FLAGS instead. 130 131- Bug fixes. 132 133libxkbcommon 0.4.0 - 2014-02-02 134================== 135 136- Add a new add-on library, xkbcommon-x11, to support creating keymaps 137 with the XKB X11 protocol, by querying the X server directly. 138 See the xkbcommon/xkbcommon-x11.h header file for more details. 139 This library requires libxcb-xkb >= 1.10, and is enabled by default. 140 It can be disabled with the --disable-x11 configure switch. 141 Distributions are encouraged to split the necessary files for this 142 library (libxkbcommon-x11.so, xkbcommon-x11.pc, xkbcommon/xkbcommon-x11.h) 143 to a separate package, such that the main package does not depend on 144 X11 libraries. 145 146- Fix the keysym <-> name lookup table to not require huge amounts of 147 relocations. 148 149- Fix a bug in the keysym <-> name lookup, whereby lookup might fail in 150 some rare cases. 151 152- Reduce memory usage during keymap compilation. 153 154- New API: 155 New keysyms from xproto 7.0.25 (German T3 layout keysyms). 156 XKB_MOD_NAME_NUM for the usual NumLock modifier. 157 xkb_x11_* types and functions, XKB_X11_* constants. 158 159 160libxkbcommon 0.3.2 - 2013-11-22 161================== 162 163- Log messages from the library now look like "xkbcommon: ERROR" by 164 default, instead of xkbcomp-like "Error: ". 165 166- Apply capitalization transformation on keysyms in 167 xkb_keysym_get_one_sym(), to match the behavior specified in the XKB 168 specification: 169 http://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Lock_Modifier 170 171- Support byacc for generating the parser, in addition to Bison. 172 173- New API: 174 XKB_KEY_XF86AudioMicMute keysym from xproto 7.0.24. 175 XKB_KEYSYM_NO_FLAGS 176 XKB_CONTEXT_NO_FLAGS 177 XKB_MAP_COMPILE_NO_FLAGS 178 179- Bug fixes. 180 181 182libxkbcommon 0.3.1 - 2013-06-03 183================== 184 185- Replace the flex scanner with a hand-written one. flex is no longer 186 a build requirement. 187 188- New API: 189 xkb_keymap_min_keycode() 190 xkb_keymap_max_keycode() 191 xkb_keymap_key_for_each() 192 193 194libxkbcommon 0.3.0 - 2013-04-01 195================== 196 197- Allow passing NULL to *_unref() functions; do nothing instead of 198 crashing. 199 200- The functions xkb_keymap_num_levels_for_key() and 201 xkb_keymap_get_syms_by_level() now allow out-of-range values for the 202 'layout' parameter. The functions now wrap the value around the number 203 of layouts instead of failing. 204 205- The function xkb_keysym_get_name() now types unicode keysyms in 206 uppercase and 0-padding, to match the format used by XKeysymToString(). 207 208- Building Linux-specific tests is no longer attempted on non-Linux 209 environments. 210 211- The function xkb_keymap_new_from_names() now accepts a NULL value for 212 the 'names' parameter, instead of failing. This is equivalent to passing 213 a 'struct xkb_rule_names' with all fields set to NULL. 214 215- New API: 216 xkb_keymap_new_from_buffer() 217 218- Bug fixes. 219