Bump version to 1.1.0
[platform/upstream/libxkbcommon.git] / NEWS
1 libxkbcommon 1.1.0 - 2021-02-27
2 ==================
3
4 - Publish the `xkb-format-text-v1.md` file in the HTML documentation. This file
5   existed for a long time but only in the Git repository.
6   Link: https://xkbcommon.org/doc/current/md_doc_keymap_format_text_v1.html
7
8 - Add partial documentation for xkb_symbols to xkb-format-text-v1.md.
9
10   Contributed by Simon Zeni.
11
12 - Update keysym definitions to latest xorgproto. In particular, this adds many
13   special keysyms corresponding to Linux evdev keycodes.
14
15   Contributed by Peter Hutterer <@who-t.net>.
16
17 - New API:
18   Too many XKB_KEY_* definitions to list here.
19
20 libxkbcommon 1.0.3 - 2020-11-23
21 ==================
22
23 - Fix (hopefully) a segfault in xkb_x11_keymap_new_from_device() in some
24   unclear situation (bug introduced in 1.0.2).
25
26 - Fix keymaps created with xkb_x11_keymap_new_from_device() don't have level
27   names (bug introduced in 0.8.0).
28
29 libxkbcommon 1.0.2 - 2020-11-20
30 ==================
31
32 - Fix a bug where a keysym that cannot be resolved in a keymap gets compiled to
33   a garbage keysym. Now it is set to XKB_KEY_NoSymbol instead.
34
35 - Improve the speed of xkb_x11_keymap_new_from_device() on repeated calls in the
36   same xkb_context().
37
38
39 libxkbcommon 1.0.1 - 2020-09-11
40 ==================
41
42 - Fix the tool-option-parsing test failing.
43
44 - Remove requirement for pytest in the tool-option-parsing test.
45
46 - Make the table output of `xkbcli how-to-type` aligned.
47
48 - Some portability and test isolation fixes.
49
50 libxkbcommon 1.0.0 - 2020-09-05
51 ==================
52
53 Note: this release is API and ABI compatible with previous releases -- the
54 major version bump is only an indication of stability.
55
56 - Add libxkbregistry as configure-time optional library. libxkbregistry is a C
57   library that lists available XKB models, layouts and variants for a given
58   ruleset. This is a separate library (libxkbregistry.so, pkgconfig file
59   xkbregistry.pc) and aimed at tools that provide a listing of available
60   keyboard layouts to the user. See the Documentation for details on the API.
61
62   Contributed by Peter Hutterer <@who-t.net>.
63
64 - Better support custom user configuration:
65
66     * Allow including XKB files from other paths.
67
68       Previously, a 'symbols/us' file in path A would shadow the same file in
69       path B. This is suboptimal, we rarely need to hide the system files - we
70       care mostly about *extending* them. By continuing to check other lookup
71       paths, we make it possible for a XDG_CONFIG_HOME/xkb/symbols/us file to
72       have sections including those from /usr/share/X11/xkb/symbols/us.
73
74       Note that this is not possible for rules files, which need to be manually
75       controlled to get the right bits resolved.
76
77     * Add /etc/xkb as extra lookup path for system data files.
78
79       This completes the usual triplet of configuration locations available for
80       most processes:
81       - vendor-provided data files in /usr/share/X11/xkb
82       - system-specific data files in /etc/xkb
83       - user-specific data files in $XDG_CONFIG_HOME/xkb
84
85       The default lookup order user, system, vendor, just like everything else
86       that uses these conventions.
87
88       For include directives in rules files, the '%E' resolves to that path.
89
90     * Add a new section to the documentation for custom user configuration.
91
92   Contributed by Peter Hutterer <@who-t.net>.
93
94 - Add an `xkbcli` command-line utility.
95
96   This tool offers various subcommands for introspection and debugging.
97   Currently the available subcommands are:
98
99   list
100     List available rules, models, layouts, variants and options
101
102   interactive-wayland
103     Interactive debugger for XKB keymaps for Wayland
104
105   interactive-x11
106     Interactive debugger for XKB keymaps for X11
107
108   interactive-evdev
109     Interactive debugger for XKB keymaps for evdev (Linux)
110
111   compile-keymap
112     Compile an XKB keymap
113
114   how-to-type
115     See separate entry below.
116
117   See the manpages for usage information.
118
119   Contributed by Peter Hutterer <@who-t.net>.
120
121 - Add `xkb_utf32_to_keysym()` to translate a Unicode codepoint to a keysym.
122   When a special keysym (`XKB_KEY_` constant) for the codepoint exists, it is
123   returned, otherwise the direct encoding is used, if permissible.
124
125   Contributed by Jaroslaw Kubik <@froglogic.com>.
126
127 - Add `xkb_keymap_key_get_mods_for_level()` which retrieves sets of modifiers
128   which produce a given shift level in a given key+layout.
129
130   Contributed by Jaroslaw Kubik <@froglogic.com>.
131
132 - Add `xkbcli how-to-type` command, which, using `xkb_utf32_to_keysym()`
133   and `xkb_keymap_key_get_mods_for_level()` and other APIs, prints out all
134   the ways to produce a given keysym.
135
136   For example, how to type `?` (codepoint 63) in a us,de keymap?
137
138     $ xkbcli how-to-type --layout us,de 63 | column -ts $'\t'
139     keysym: question (0x3f)
140     KEYCODE  KEY NAME  LAYOUT#  LAYOUT NAME   LEVEL#  MODIFIERS
141     20       AE11      2        German        2       [ Shift ]
142     20       AE11      2        German        2       [ Shift Lock ]
143     61       AB10      1        English (US)  2       [ Shift ]
144
145 - Add a new section to the documentation describing the format of the XKB
146   rules file.
147
148 - Search for Compose in $XDG_CONFIG_HOME/XCompose (fallback to
149   ~/.config/XCompose) before trying $HOME/.XCompose.
150
151   Note that libX11 still only searches in $HOME/.XCompose.
152
153   Contributed by Emmanuel Gil Peyrot <@linkmauve.fr>.
154
155 - Bump meson requirement to >= 0.49.0.
156
157 - Fix build with byacc.
158
159 - Fix building X11 tests on PE targets.
160
161   Contributed by Jon Turney <@dronecode.org.uk>
162
163 - The tests no longer rely on bash, only Python (which is already used by
164   meson).
165
166 - New API:
167   xkb_utf32_to_keysym
168   xkb_keymap_key_get_mods_for_level
169   XKB_KEY_XF86FullScreen
170
171
172 libxkbcommon 0.10.0 - 2020-01-18
173 ===================
174
175 - (security) Fix quadratic complexity in the XKB file parser. See commit
176   message 7c42945e04a2107827a057245298dedc0475cc88 for details.
177
178 - Add $XDG_CONFIG_HOME/xkb to the default search path. If $XDG_CONFIG_HOME
179   is not set, $HOME/.config/xkb is used. If $HOME is not set, the path is not
180   added.
181
182   The XDG path is looked up before the existing default search path $HOME/.xkb.
183
184   Contributed by Peter Hutterer <@who-t.net>.
185
186 - Add support for include statements in XKB rules files.
187
188   This is a step towards making local XKB customizations more tenable and
189   convenient, without modifying system files.
190
191   You can now include other rules files like this:
192
193       ! include %S/evdev
194
195   Two directives are supported, %H to $HOME and %S for the system-installed
196   rules directory (usually /usr/share/X11/xkb/rules).
197
198   See commit message ca033a29d2ca910fd17b1ae287cb420205bdddc8 and
199   doc/rules-format.txt in the xkbcommon source code for more information.
200
201   Contributed by Peter Hutterer <@who-t.net>.
202
203 - Downgrade "Symbol added to modifier map for multiple modifiers" log to a
204   warning.
205
206   This error message was too annoying to be shown by default. When working on
207   keymaps, set `XKB_LOG_LEVEL=debug XKB_LOG_VERBOSITY=10` to see all possible
208   messages.
209
210 - Support building on Windows using the meson MSVC backend.
211
212   Contributed by Adrian Perez de Castro <@igalia.com>.
213
214 - Fix bug where the merge mode only applied to the first vmod in a
215   `virtual_modifiers` statement. Given
216
217       augment virtual_modifiers NumLock,Alt,LevelThree
218
219   Previously it was incorrectly treated as
220
221       augment virtual_modifiers NumLock;
222       virtual_modifiers Alt;
223       virtual_modifiers LevelThree;
224
225   Now it is treated as
226
227       augment virtual_modifiers NumLock;
228       augment virtual_modifiers Alt;
229       augment virtual_modifiers LevelThree;
230
231 - Reject interpret modifier predicate with more than one value. Given
232
233       interpret ISO_Level3_Shift+AnyOf(all,extraneous) { ... };
234
235   Previously, extraneous (and further) was ignored. Now it's rejected.
236
237 - Correctly handle capitalization of the ssharp keysym.
238
239 - Speed up and improve the internal `xkeyboard-config` tool. This tool
240   compiles all layout/variant combinations in the xkeyboard-config dataset
241   and reports any issues it finds.
242
243   Contributed by Peter Hutterer <@who-t.net>.
244
245 - Speed up "atoms" (string interning). This code goes back at least to X11R1
246   (released 1987).
247
248
249 libxkbcommon 0.9.1 - 2019-10-19
250 ==================
251
252 - Fix context creation failing when run in privileged processes as defined by
253   `secure_getenv(3)`, e.g. GDM.
254
255
256 libxkbcommon 0.9.0 - 2019-10-19
257 ==================
258
259 - Move ~/.xkb to before XKB_CONFIG_ROOT (the system XKB path, usually
260   /usr/share/X11/xkb) in the default include path. This enables the user
261   to have full control of the keymap definitions, instead of only augmenting
262   them.
263
264 - Remove the Autotools build system. Use the meson build system instead.
265
266 - Fix invalid names used for levels above 8 when dumping keymaps. Previously,
267   e.g. "Level20" was dumped, but only up to "Level8" is accepted by the
268   parser. Now "20" is dumped.
269
270 - Change level references to always be dumped as e.g. "5" instead of "Level5".
271
272   Change group references to always be dumped capitalized e.g. "Group3" instead
273   of "group3". Previously it was inconsistent.
274
275   These changes affect the output of xkb_keymap_get_as_string().
276
277 - Fix several build issues on macOS/Darwin, Solaris, NetBSD, cross compilation.
278
279 - Port the interactive-wayland test program to the stable version of xdg-shell.
280
281
282 libxkbcommon 0.8.4 - 2019-02-22
283 ==================
284
285 - Fix build of xkbcommon-x11 static library with meson.
286
287 - Fix building using meson from the tarball generated by autotools.
288
289
290 libxkbcommon 0.8.3 - 2019-02-08
291 ==================
292
293 - Fix build of static libraries with meson.
294   (Future note: xkbcommon-x11 was *not* fixed in this release.)
295
296 - New API:
297   XKB_KEY_XF86MonBrightnessCycle
298   XKB_KEY_XF86RotationLockToggle
299
300
301 libxkbcommon 0.8.2 - 2018-08-05
302 ==================
303
304 - Fix various problems found with fuzzing (see commit messages for
305   more details):
306
307     - Fix a few NULL-dereferences, out-of-bounds access and undefined behavior
308       in the XKB text format parser.
309
310
311 libxkbcommon 0.8.1 - 2018-08-03
312 ==================
313
314 - Fix various problems found in the meson build (see commit messages for more
315   details):
316
317     - Fix compilation on Darwin.
318
319     - Fix compilation of the x11 tests and demos when XCB is installed in a
320       non-standard location.
321
322     - Fix xkbcommon-x11.pc missing the Requires specification.
323
324 - Fix various problems found with fuzzing and Coverity (see commit messages for
325   more details):
326
327     - Fix stack overflow in the XKB text format parser when evaluating boolean
328       negation.
329
330     - Fix NULL-dereferences in the XKB text format parser when some unsupported
331       tokens appear (the tokens are still parsed for backward compatibility).
332
333     - Fix NULL-dereference in the XKB text format parser when parsing an
334       xkb_geometry section.
335
336     - Fix an infinite loop in the Compose text format parser on some inputs.
337
338     - Fix an invalid free() when using multiple keysyms.
339
340 - Replace the Unicode characters for the leftanglebracket and rightanglebracket
341   keysyms from the deprecated LEFT/RIGHT-POINTING ANGLE BRACKET to
342   MATHEMATICAL LEFT/RIGHT ANGLE BRACKET.
343
344 - Reject out-of-range Unicode codepoints in xkb_keysym_to_utf8 and
345   xkb_keysym_to_utf32.
346
347
348 libxkbcommon 0.8.0 - 2017-12-15
349 ==================
350
351 - Added xkb_keysym_to_{upper,lower} to perform case-conversion directly on
352   keysyms. This is useful in some odd cases, but working with the Unicode
353   representations should be preferred when possible.
354
355 - Added Unicode conversion rules for the signifblank and permille keysyms.
356
357 - Fixed a bug in the parsing of XKB key type definitions where the number
358   of levels were determined by the number of level *names*. Keymaps which
359   omit level names were hence miscompiled.
360
361   This regressed in version 0.4.3. Keymaps from xkeyboard-config were not
362   affected since they don't omit level names.
363
364 - New API:
365   xkb_keysym_to_upper()
366   xkb_keysym_to_lower()
367
368
369 libxkbcommon 0.7.2 - 2017-08-04
370 ==================
371
372 - Added a Meson build system as an alternative to existing autotools build
373   system.
374
375   The intent is to remove the autotools build in one of the next releases.
376   Please try to convert to it and report any problems.
377
378   See http://mesonbuild.com/Quick-guide.html for basic usage, the
379   meson_options.txt for the project-specific configuration options,
380   and the PACKAGING file for more details.
381
382   There are some noteworthy differences compared to the autotools build:
383
384   - Feature auto-detection is not performed. By default, all features are
385     enabled (currently: docs, x11, wayland). The build fails if any of
386     the required dependencies are not available. To disable a feature,
387     pass -Denable-<feature>=false to meson.
388
389   - The libraries are either installed as shared or static, as specified
390     by the -Ddefault_library=shared/static option. With autotools, both
391     versions are installed by default.
392
393   - xorg-util-macros is not used.
394
395   - A parser generator (bison/byacc) is always required - there is no
396     fallback to pre-generated output bundled in the tarball, as there is
397     in autotools.
398
399 - Removed Android.mk support.
400
401 - Removed the *-uninstalled.pc pkgconfig files.
402
403 - Ported the interactive-wayland demo program to v6 of the xdg-shell
404   protocol.
405
406 - Added new keysym definitions from xproto.
407
408 - New API:
409   XKB_KEY_XF86Keyboard
410   XKB_KEY_XF86WWAN
411   XKB_KEY_XF86RFKill
412   XKB_KEY_XF86AudioPreset
413
414
415 libxkbcommon 0.7.1 - 2017-01-18
416 ==================
417
418 - Fixed various reported problems when the current locale is tr_TR.UTF-8.
419
420   The function xkb_keysym_from_name() used to perform case-insensitive
421   string comparisons in a locale-dependent way, but required it to to
422   work as in the C/ASCII locale (the so called "Turkish i problem").
423
424   The function is now no longer affected by the current locale.
425
426 - Fixed compilation in NetBSD.
427
428
429 libxkbcommon 0.7.0 - 2016-11-11
430 ==================
431
432 - Added support for different "modes" of calculating consumed modifiers.
433   The existing mode, based on the XKB standard, has proven to be
434   unintuitive in various shortcut implementations.
435
436   A new mode, based on the calculation used by the GTK toolkit, is added.
437   This mode is less eager to declare a modifier as consumed.
438
439 - Added a new interactive demo program using the Wayland protocol.
440   See the PACKAGING file for the new (optional) test dependencies.
441
442 - Fixed a compilation error on GNU Hurd.
443
444 - New API:
445   enum xkb_consumed_mode
446   XKB_CONSUMED_MODE_XKB
447   XKB_CONSUMED_MODE_GTK
448   xkb_state_key_get_consumed_mods2
449   xkb_state_mod_index_is_consumed2
450
451
452 libxkbcommon 0.6.1 - 2016-04-08
453 ==================
454
455 - Added LICENSE to distributed files in tarball releases.
456
457 - Minor typo fix in xkb_keymap_get_as_string() documentation.
458
459
460 libxkbcommon 0.6.0 - 2016-03-16
461 ==================
462
463 - If the XKB_CONFIG_ROOT environment variable is set, it is used as the XKB
464   configuration root instead of the path determined at build time.
465
466 - Tests and benchmarks now build correctly on OSX.
467
468 - An XKB keymap provides a name for each key it defines.  Traditionally,
469   these names are limited to at most 4 characters, and are thus somewhat
470   obscure, but might still be useful (xkbcommon lifts the 4 character limit).
471
472   The new functions xkb_keymap_key_get_name() and xkb_keymap_key_by_name()
473   can be used to get the name of a key or find a key by name.  Note that
474   a key may have aliases.
475
476 - Documentation improvements.
477
478 - New API:
479   xkb_keymap_key_by_name()
480   xkb_keymap_key_get_name()
481
482
483 libxkbcommon 0.5.0 - 2014-10-18
484 ==================
485
486 - Added support for Compose/dead keys in a new module (included in
487   libxkbcommon). See the documentation or the
488   xkbcommon/xkbcommon-compose.h header file for more details.
489
490 - Improved and reordered some sections of the documentation.
491
492 - The doxygen HTML pages were made nicer to read.
493
494 - Most tests now run also on non-linux platforms.
495
496 - A warning is emitted by default about RMLVO values which are not used
497   during keymap compilation, which are most often a user misconfiguration.
498   For example, "terminate:ctrl_alt_backspace" instead of
499   "terminate:ctrl_alt_bksp".
500
501 - Added symbol versioning for libxkbcommon and libxkbcommon-x11.
502   Note: binaries compiled against this and future versions will not be
503   able to link against the previous versions of the library.
504
505 - Removed several compatablity symbols from the binary (the API isn't
506   affected). This affects binaries which
507
508   1. Were compiled against a pre-stable (<0.2.0) version of libxkbcommon, and
509   2. Are linked against the this or later version of libxkbcommon.
510
511   Such a scenario is likely to fail already.
512
513 - If Xvfb is not available, the x11comp test is now correctly skipped
514   instead of hanging.
515
516 - Benchmarks were moved to a separate bench/ directory.
517
518 - Build fixes from OpenBSD.
519
520 - Fixed a bug where key type entries such as "map[None] = Level2;" were
521   ignored.
522
523 - New API:
524   XKB_COMPOSE_*
525   xkb_compose_*
526
527
528 libxkbcommon 0.4.3 - 2014-08-19
529 ==================
530
531 - Fixed a bug which caused xkb_x11_keymap_new_from_device() to misrepresent
532   modifiers for some keymaps.
533
534   https://github.com/xkbcommon/libxkbcommon/issues/9
535
536 - Fixed a bug which caused xkb_x11_keymap_new_from_device() to ignore XKB
537   PrivateAction's.
538
539 - Modifiers are now always fully resolved after xkb_state_update_mask().
540   Previously the given state components were used as-is, without
541   considering virtual modifier mappings.
542   Note: this only affects non-standard uses of xkb_state_update_mask().
543
544 - Added a test for xkbcommon-x11, "x11comp". The test uses the system's
545   Xvfb server and xkbcomp. If they do not exist or fail, the test is
546   skipped.
547
548 - Fixed memory leaks after parse errors in the XKB yacc parser.
549   The fix required changes which are currently incompatible with byacc.
550
551
552 libxkbcommon 0.4.2 - 2014-05-15
553 ==================
554
555 - Fixed a bug where explicitly passing "--enable-x11" to ./configure would
556   in fact disable it (regressed in 0.4.1).
557
558 - Added @since version annotations to the API documentation for everything
559   introduced after the initial stable release (0.2.0).
560
561 - Added a section to the documentation about keysym transformations, and
562   clarified which functions perform a given transformation.
563
564 - XKB files which fail to compile during keymap construction can no longer
565   have any effect on the resulting keymap: changes are only applied when
566   the entire compilation succeeds.
567   Note: this was a minor correctness issue inherited from xkbcomp.
568
569 - Fix an out-of-bounds array access in src/x11/util.c:adopt_atoms()
570   error-handling code.
571   Note: it seems impossible to trigger in the current code since the input
572   size cannot exceed the required size.
573
574
575 libxkbcommon 0.4.1 - 2014-03-27
576 ==================
577
578 - Converted README to markdown and added a Quick Guide to the
579   documentation, which breezes through the most common parts of
580   xkbcommon.
581
582 - Added two new functions, xkb_state_key_get_utf{8,32}(). They
583   combine the operations of xkb_state_key_get_syms() and
584   xkb_keysym_to_utf{8,32}(), and provide a nicer interface for it
585   (espcially for multiple-keysyms-per-level).
586
587 - The xkb_state_key_get_utf{8,32}() functions now apply Control
588   transformation: when the Control modifier is active, the string
589   is converted to an appropriate control character.
590   This matches the behavior of libX11's XLookupString(3), and
591   required by the XKB specification:
592   https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Control_Modifier
593
594   https://bugs.freedesktop.org/show_bug.cgi?id=75892
595
596 - The consumed modifiers for a key are now calculated similarly
597   to libX11. The previous behavior caused a bug where Shift would
598   not cancel an active Caps Lock.
599
600 - Make xkbcommon-x11 work with the keymap reported by the XQuartz
601   X server.
602
603   https://bugs.freedesktop.org/show_bug.cgi?id=75798
604
605 - Reduce memory usage during keymap compilation some more.
606
607 - New API:
608   xkb_state_key_get_consumed_mods()
609   xkb_state_key_get_utf8()
610   xkb_state_key_get_utf32()
611
612 - Deprecated API:
613   XKB_MAP_COMPILE_PLACEHOLDER, XKB_MAP_NO_FLAGS
614     use XKB_KEYMAP_NO_FLAGS instead.
615
616 - Bug fixes.
617
618
619 libxkbcommon 0.4.0 - 2014-02-02
620 ==================
621
622 - Add a new add-on library, xkbcommon-x11, to support creating keymaps
623   with the XKB X11 protocol, by querying the X server directly.
624   See the xkbcommon/xkbcommon-x11.h header file for more details.
625   This library requires libxcb-xkb >= 1.10, and is enabled by default.
626   It can be disabled with the --disable-x11 configure switch.
627   Distributions are encouraged to split the necessary files for this
628   library (libxkbcommon-x11.so, xkbcommon-x11.pc, xkbcommon/xkbcommon-x11.h)
629   to a separate package, such that the main package does not depend on
630   X11 libraries.
631
632 - Fix the keysym <-> name lookup table to not require huge amounts of
633   relocations.
634
635 - Fix a bug in the keysym <-> name lookup, whereby lookup might fail in
636   some rare cases.
637
638 - Reduce memory usage during keymap compilation.
639
640 - New API:
641   New keysyms from xproto 7.0.25 (German T3 layout keysyms).
642   XKB_MOD_NAME_NUM for the usual NumLock modifier.
643   xkb_x11_* types and functions, XKB_X11_* constants.
644
645
646 libxkbcommon 0.3.2 - 2013-11-22
647 ==================
648
649 - Log messages from the library now look like "xkbcommon: ERROR" by
650   default, instead of xkbcomp-like "Error:   ".
651
652 - Apply capitalization transformation on keysyms in
653   xkb_keysym_get_one_sym(), to match the behavior specified in the XKB
654   specification:
655   https://www.x.org/releases/current/doc/kbproto/xkbproto.html#Interpreting_the_Lock_Modifier
656
657 - Support byacc for generating the parser, in addition to Bison.
658
659 - New API:
660   XKB_KEY_XF86AudioMicMute keysym from xproto 7.0.24.
661   XKB_KEYSYM_NO_FLAGS
662   XKB_CONTEXT_NO_FLAGS
663   XKB_MAP_COMPILE_NO_FLAGS
664
665 - Bug fixes.
666
667
668 libxkbcommon 0.3.1 - 2013-06-03
669 ==================
670
671 - Replace the flex scanner with a hand-written one. flex is no longer
672   a build requirement.
673
674 - New API:
675   xkb_keymap_min_keycode()
676   xkb_keymap_max_keycode()
677   xkb_keymap_key_for_each()
678
679
680 libxkbcommon 0.3.0 - 2013-04-01
681 ==================
682
683 - Allow passing NULL to *_unref() functions; do nothing instead of
684   crashing.
685
686 - The functions xkb_keymap_num_levels_for_key() and
687   xkb_keymap_get_syms_by_level() now allow out-of-range values for the
688   'layout' parameter. The functions now wrap the value around the number
689   of layouts instead of failing.
690
691 - The function xkb_keysym_get_name() now types unicode keysyms in
692   uppercase and 0-padding, to match the format used by XKeysymToString().
693
694 - Building Linux-specific tests is no longer attempted on non-Linux
695   environments.
696
697 - The function xkb_keymap_new_from_names() now accepts a NULL value for
698   the 'names' parameter, instead of failing. This is equivalent to passing
699   a 'struct xkb_rule_names' with all fields set to NULL.
700
701 - New API:
702   xkb_keymap_new_from_buffer()
703
704 - Bug fixes.