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