Commit 12f99d0dfe012c07d82d70296bbcac8a0a8ac0a9

Ran Benita 2020-09-05T22:57:42

Bump version to 1.0.0 Signed-off-by: Ran Benita <ran@unusedvar.com>

diff --git a/NEWS b/NEWS
index a3acd4e..2e7d7bb 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,8 @@
-libxkbcommon 0.11.0
-===================
+libxkbcommon 1.0.0 - 2020-09-05
+==================
+
+Note: this release is API and ABI compatible with previous releases -- the
+major version bump is only an indication of stability.
 
 - Add libxkbregistry as configure-time optional library. libxkbregistry is a C
   library that lists available XKB models, layouts and variants for a given
@@ -9,6 +12,114 @@ libxkbcommon 0.11.0
 
   Contributed by Peter Hutterer <@who-t.net>.
 
+- Better support custom user configuration:
+
+    * Allow including XKB files from other paths.
+
+      Previously, a 'symbols/us' file in path A would shadow the same file in
+      path B. This is suboptimal, we rarely need to hide the system files - we
+      care mostly about *extending* them. By continuing to check other lookup
+      paths, we make it possible for a XDG_CONFIG_HOME/xkb/symbols/us file to
+      have sections including those from /usr/share/X11/xkb/symbols/us.
+
+      Note that this is not possible for rules files, which need to be manually
+      controlled to get the right bits resolved.
+
+    * Add /etc/xkb as extra lookup path for system data files.
+
+      This completes the usual triplet of configuration locations available for
+      most processes:
+      - vendor-provided data files in /usr/share/X11/xkb
+      - system-specific data files in /etc/xkb
+      - user-specific data files in $XDG_CONFIG_HOME/xkb
+
+      The default lookup order user, system, vendor, just like everything else
+      that uses these conventions.
+
+      For include directives in rules files, the '%E' resolves to that path.
+
+    * Add a new section to the documentation for custom user configuration.
+
+  Contributed by Peter Hutterer <@who-t.net>.
+
+- Add an `xkbcli` command-line utility.
+
+  This tool offers various subcommands for introspection and debugging.
+  Currently the available subcommands are:
+
+  list
+    List available rules, models, layouts, variants and options
+
+  interactive-wayland
+    Interactive debugger for XKB keymaps for Wayland
+
+  interactive-x11
+    Interactive debugger for XKB keymaps for X11
+
+  interactive-evdev
+    Interactive debugger for XKB keymaps for evdev (Linux)
+
+  compile-keymap
+    Compile an XKB keymap
+
+  how-to-type
+    See separate entry below.
+
+  See the manpages for usage information.
+
+  Contributed by Peter Hutterer <@who-t.net>.
+
+- Add `xkb_utf32_to_keysym()` to translate a Unicode codepoint to a keysym.
+  When a special keysym (`XKB_KEY_` constant) for the codepoint exists, it is
+  returned, otherwise the direct encoding is used, if permissible.
+
+  Contributed by Jaroslaw Kubik <@froglogic.com>.
+
+- Add `xkb_keymap_key_get_mods_for_level()` which retrieves sets of modifiers
+  which produce a given shift level in a given key+layout.
+
+  Contributed by Jaroslaw Kubik <@froglogic.com>.
+
+- Add `xkbcli how-to-type` command, which, using `xkb_utf32_to_keysym()`
+  and `xkb_keymap_key_get_mods_for_level()` and other APIs, prints out all
+  the ways to produce a given keysym.
+
+  For example, how to type `?` (codepoint 63) in a us,de keymap?
+
+    $ xkbcli how-to-type --layout us,de 63 | column -ts $'\t'
+    keysym: question (0x3f)
+    KEYCODE  KEY NAME  LAYOUT#  LAYOUT NAME   LEVEL#  MODIFIERS
+    20       AE11      2        German        2       [ Shift ]
+    20       AE11      2        German        2       [ Shift Lock ]
+    61       AB10      1        English (US)  2       [ Shift ]
+
+- Add a new section to the documentation describing the format of the XKB
+  rules file.
+
+- Search for Compose in $XDG_CONFIG_HOME/XCompose (fallback to
+  ~/.config/XCompose) before trying $HOME/.XCompose.
+
+  Note that libX11 still only searches in $HOME/.XCompose.
+
+  Contributed by Emmanuel Gil Peyrot <@linkmauve.fr>.
+
+- Bump meson requirement to >= 0.49.0.
+
+- Fix build with byacc.
+
+- Fix building X11 tests on PE targets.
+
+  Contributed by Jon Turney <@dronecode.org.uk>
+
+- The tests no longer rely on bash, only Python (which is already used by
+  meson).
+
+- New API:
+  xkb_utf32_to_keysym
+  xkb_keymap_key_get_mods_for_level
+  XKB_KEY_XF86FullScreen
+
+
 libxkbcommon 0.10.0 - 2020-01-18
 ===================
 
diff --git a/meson.build b/meson.build
index c23e92e..046fc54 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
 project(
     'libxkbcommon',
     'c',
-    version: '0.10.0',
+    version: '1.0.0',
     default_options: [
         'c_std=c99',
         'warning_level=2',
diff --git a/xkbcommon.map b/xkbcommon.map
index b9bfd26..e212f0d 100644
--- a/xkbcommon.map
+++ b/xkbcommon.map
@@ -104,7 +104,7 @@ global:
 	xkb_keysym_to_upper;
 } V_0.7.0;
 
-V_0.11.0 {
+V_1.0.0 {
 global:
 	xkb_utf32_to_keysym;
 	xkb_keymap_key_get_mods_for_level;
diff --git a/xkbcommon/xkbcommon-compose.h b/xkbcommon/xkbcommon-compose.h
index f3c367a..8b41b98 100644
--- a/xkbcommon/xkbcommon-compose.h
+++ b/xkbcommon/xkbcommon-compose.h
@@ -208,7 +208,7 @@ enum xkb_compose_format {
  *    `$XDG_CONFIG_HOME/XCompose` is checked (with a fall back to
  *    `$HOME/.config/XCompose` if `XDG_CONFIG_HOME` is not defined).
  *    This is a libxkbcommon extension to the search procedure in
- *    Compose(5) (since libxkbcommon 0.11.0). Note that other
+ *    Compose(5) (since libxkbcommon 1.0.0). Note that other
  *    implementations, such as libX11, might not find a Compose file in
  *    this path.
  * 3. `HOME` - see Compose(5).
diff --git a/xkbcommon/xkbcommon.h b/xkbcommon/xkbcommon.h
index 5fabc34..d6a02a7 100644
--- a/xkbcommon/xkbcommon.h
+++ b/xkbcommon/xkbcommon.h
@@ -511,7 +511,7 @@ xkb_keysym_to_utf32(xkb_keysym_t keysym);
  * defined Unicode planes this function returns XKB_KEY_NoSymbol.
  *
  * @sa xkb_keysym_to_utf32()
- * @since 0.11.0
+ * @since 1.0.0
  */
 xkb_keysym_t
 xkb_utf32_to_keysym(uint32_t ucs);
@@ -1199,7 +1199,7 @@ xkb_keymap_num_levels_for_key(struct xkb_keymap *keymap, xkb_keycode_t key,
  * @sa xkb_level_index_t
  * @sa xkb_mod_mask_t
  * @memberof xkb_keymap
- * @since 0.11.0
+ * @since 1.0.0
  */
 size_t
 xkb_keymap_key_get_mods_for_level(struct xkb_keymap *keymap,
diff --git a/xkbregistry.map b/xkbregistry.map
index 6e18b9c..ae5bae7 100644
--- a/xkbregistry.map
+++ b/xkbregistry.map
@@ -1,5 +1,5 @@
 /* versions are kept in sync with libxkbcommon.so */
-V_0.11.0 {
+V_1.0.0 {
 global:
         rxkb_context_new;
         rxkb_context_parse;