X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=NEWS;h=6ed7c554457ff6e96bd1c06eaa1d6cb2e6c06b30;hb=6d702d7910b77bf65e8c5ce3120816762b8cc02d;hp=968f18335f6b123eb988fce4553fe2ee0c4ee3e3;hpb=c60b77ea512bef92e481be38972b58dd71a34180;p=platform%2Fupstream%2Flibxkbcommon.git diff --git a/NEWS b/NEWS index 968f183..6ed7c55 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,323 @@ +libxkbcommon 1.6.0 - 2023-10-08 +================== + +API +--- + +### Breaking changes + +- *Remove* keysyms that were intended for German T3 layout but are unused: + + - `XKB_KEY_dead_lowline` + - `XKB_KEY_dead_aboveverticalline` + - `XKB_KEY_dead_belowverticalline` + - `XKB_KEY_dead_longsolidusoverlay` + + See the upstream [`xorgproto` MR](https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/70). See hereinafter for further changes related to keysyms. + +### New + +- Add Compose iterator API to iterate the entries in a compose table: + + - `xkb_compose_table_entry_sequence` + - `xkb_compose_table_entry_keysym` + - `xkb_compose_table_entry_utf8` + - `xkb_compose_table_iterator_new` + - `xkb_compose_table_iterator_free` + - `xkb_compose_table_iterator_next` + +- *Structured log messages* with a message registry. There is an *ongoing* work + to assign unique identifiers to log messages and add a corresponding error + index documentation page: + + - The log entries are preceded with an identifier in the form `XKB-NNN`, where + `NNN` is a decimal number. + + - The log entries can then be parsed with third-party tools, to check for + specific identifiers. + + - The new documentation page “**Error index**” lists all the kind of error messages + with their identifiers. The aim is that each entry could present detailed + information on the error and how to fix it. + +- Add a new warning for numeric keysyms references in XKB files: the preferred + keysym reference form is its name or its Unicode value, if relevant. + +- Add the upper bound `XKB_KEYSYM_MAX` to check valid keysyms. + +- Add a warning when loading a keymap using RMLVO with no layout but with the + variant set. The variant is actually discarded and both layout and variant are + set to default values, but this was done previously with no warning, confusing + end users. + +- Add support for `modifier_map None { … }`. This feature is missing compared to + the X11 implementation. It allows to reset the modifier map of a key. + +- Update keysyms using latest [xorgproto] (commit: `1c8128d72df22843a2022576850bc5ab5e3a46ea`): + + - Additions: + + - `XKB_KEY_ordmasculine` ([xorgproto-68]) + - `XKB_KEY_guillemetleft` ([xorgproto-68]) + - `XKB_KEY_guillemetright` ([xorgproto-68]) + - `XKB_KEY_dead_schwa` ([xorgproto-78]) + - `XKB_KEY_dead_SCHWA` ([xorgproto-78]) + - `XKB_KEY_dead_hamza` ([xorgproto-71]) + - `XKB_KEY_XF86EmojiPicker` ([xorgproto-44]) + - `XKB_KEY_XF86Dictate` ([xorgproto-49]) + - `XKB_KEY_XF86CameraAccessEnable` ([xorgproto-82]) + - `XKB_KEY_XF86CameraAccessDisable` ([xorgproto-82]) + - `XKB_KEY_XF86CameraAccessToggle` ([xorgproto-82]) + - `XKB_KEY_XF86NextElement` ([xorgproto-82]) + - `XKB_KEY_XF86PreviousElement` ([xorgproto-82]) + - `XKB_KEY_XF86AutopilotEngageToggle` ([xorgproto-82]) + - `XKB_KEY_XF86MarkWaypoint` ([xorgproto-82]) + - `XKB_KEY_XF86Sos` ([xorgproto-82]) + - `XKB_KEY_XF86NavChart` ([xorgproto-82]) + - `XKB_KEY_XF86FishingChart` ([xorgproto-82]) + - `XKB_KEY_XF86SingleRangeRadar` ([xorgproto-82]) + - `XKB_KEY_XF86DualRangeRadar` ([xorgproto-82]) + - `XKB_KEY_XF86RadarOverlay` ([xorgproto-82]) + - `XKB_KEY_XF86TraditionalSonar` ([xorgproto-82]) + - `XKB_KEY_XF86ClearvuSonar` ([xorgproto-82]) + - `XKB_KEY_XF86SidevuSonar` ([xorgproto-82]) + - `XKB_KEY_XF86NavInfo` ([xorgproto-82]) + + - Deprecations: + + - `XKB_KEY_masculine`: use `XKB_KEY_ordmasculine` instead ([xorgproto-68]) + - `XKB_KEY_guillemotleft`: use `XKB_KEY_guillemetleft` instead ([xorgproto-68]) + - `XKB_KEY_guillemotright`: use `XKB_KEY_guillemetright` instead ([xorgproto-68]) + - `XKB_KEY_dead_small_schwa`: use `XKB_KEY_dead_schwa` instead ([xorgproto-78]) + - `XKB_KEY_dead_capital_schwa`: use `XKB_KEY_dead_SCHWA` instead ([xorgproto-78]) + + [xorgproto]: https://gitlab.freedesktop.org/xorg/proto/xorgproto + [xorgproto-44]: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/44 + [xorgproto-49]: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/49 + [xorgproto-68]: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/68 + [xorgproto-71]: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/71 + [xorgproto-78]: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/78 + [xorgproto-82]: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/82 + +- Ongoing work to improve the documentation about XKB and its V1 format. + +### Fixes + +- Prevent `xkb_keysym_from_name` to parse out-of-range hexadecimal keysyms. + +- Disallow producing NULL character with escape sequences `\0` and `\x0`. + +- Prevent overflow of octal escape sequences by making `\400..\777` invalid. + +- Prevent interpreting and emitting invalid Unicode encoding forms: surrogates + are invalid in both UTF-32 and UTF-8. + +- `xkb_keymap_new_from_buffer`: Allow for a NULL-terminated keymap string. + +- Compose: Increase the limit of possible entries to handle huge Compose files. + +Tools +----- + +### New + +- Add bash completions for `xkbcli` and its subcommands. + +- `xkbcli interactive-*`: Add options `--short` to hide some fields. + +- `xkbcli interactive-evdev`: Add `--includes` and `--include-defaults` options. + +- Add `xkb-check-messages` *experimental* tool (not installed). + It checks whether given log messages identifiers are supported. + +### Fixes + +- `xkbcli compile-keymap`: Allow to use without arguments. + +- `xkbcli interactive-*`: Always print keycode. + +- `xkbcli interactive-*`: Escape control characters for Unicode output, instead of + printing them as-is, messing the output. + +Build system +------------ + +- Bump required meson to 0.52.0. + +- Allow `xkbcommon` to be used as a subproject. + +- Improve Windows compilation. + +libxkbcommon 1.5.0 - 2023-01-02 +================== + +- Add `xkb_context` flag `XKB_CONTEXT_NO_SECURE_GETENV` and `rxkb_context` flag + `RXKB_CONTEXT_NO_SECURE_GETENV`. + + xkbcommon uses `getenv_secure()` to obtain environment variables. This flag + makes xkbcommon use `getenv()` instead. + + This is useful for some clients that have relatively benign capabilities set, + like CAP_SYS_NICE, that also want to use e.g. the XKB configuration from the + environment and user configs in XDG_CONFIG_HOME. + + Contributed by Ronan Pigott. + +- Fix crash in `xkbcli interactive-wayland` under a compositor which supports + new versions of the xdg-shell protocol. + + Contributed by Jan Alexander Steffens (heftig). + +- Fix some MSVC build issues. + +- Fix some issues when including xkbcommon as a meson subproject. + +- meson>=0.51 is now required. + +- New API: + XKB_CONTEXT_NO_SECURE_GETENV + RXKB_CONTEXT_NO_SECURE_GETENV + +libxkbcommon 1.4.1 - 2022-05-21 +================== + +- Fix compose sequence overriding (common prefix) not working correctly. + Regressed in 1.2.0. + + Contributed by Weng Xuetian. + +- Remove various bogus currency sign (particulary Euro and Korean Won) entries + from the keysym <-> Unicode mappings. They prevented the real + keysyms/codepoints for these from mapping correctly. + + Contributed by Sam Lantinga and Simon Ser. + +libxkbcommon 1.4.0 - 2022-02-04 +================== + +- Add `enable-tools` option to Meson build (on by default) to allow disabling + the `xkbcli` tools. + + Contributed by Alex Xu (Hello71). + +- In `xkbcli list`, fix "YAML Norway problem" in output. + + Contributed by Peter Hutterer. + +- In libxkbregistry, variants now inherit iso639, iso3166 and brief from parent + layout if omitted. + + Contributed by M Hickford. + +- In libxkbregistry, don't call `xmlCleanupParser()` - it's not supposed to + be called by libraries. + + Contributed by Peter Hutterer. + +- In libxkbregistry, skip over invalid ISO-639 or ISO-3166 entries. + + Contributed by Peter Hutterer. + +libxkbcommon 1.3.1 - 2021-09-10 +================== + +- In `xkbcli interactive-x11`, use the Esc keysym instead of the Esc keycode + for quitting. + + Contributed by Simon Ser. + +- In `xkbcli how-to-type`, add `--keysym` argugment for how to type a keysym + instead of a Unicode codepoint. + +- Fix a crash in `xkb_x11_keymap_new_from_device` error handling given some + invalid keymaps. Regressed in 1.2.0. + + Reported by Zack Weinberg. Tested by Uli Schlachter. + +libxkbcommon 1.3.0 - 2021-05-01 +================== + +- Change `xkbcli list` to output YAML, instead of the previous ad-hoc format. + + This allows to more easily process the information in a programmetic way, for + example + + xkbcli list | yq -r ".layouts[].layout" + + Contributed by Peter Hutterer. + +- Optimize a certain part of keymap compilation (atom interning). + +- Fix segmentation fault in case-insensitive `xkb_keysym_from_name` for certain + values like the empty string. + + Contributed by Isaac Freund. + +- Support building libxkbcommon as a meson subproject. + + Contributed by Adrian Perez de Castro. + +- Add `ftruncate` fallback for `posix_fallocate` in `xkbcli interactive-wayland` + for FreeBSD. + + Contributed by Evgeniy Khramtsov. + +- Properly export library symbols in MSVC. + + Contributed by Adrian Perez de Castro. + +libxkbcommon 1.2.1 - 2021-04-07 +================== + +- Fix `xkb_x11_keymap_new_from_device()` failing when the keymap contains key + types with missing level names, like the one used by the `numpad:mac` option + in xkeyboard-config. Regressed in 1.2.0. + +libxkbcommon 1.2.0 - 2021-04-03 +================== + +- `xkb_x11_keymap_new_from_device()` is much faster. It now performs only 2 + roundtrips to the X server, instead of dozens (in first-time calls). + + Contributed by Uli Schlachter. + +- Case-sensitive `xkb_keysym_from_name()` is much faster. + +- Keysym names of the form `0x12AB` and `U12AB` are parsed more strictly. + Previously the hexadecimal part was parsed with `strtoul()`, now only up + to 8 hexadecimal digits (0-9A-Fa-f) are allowed. + +- Compose files now have a size limit (65535 internal nodes). Further sequences + are discared and a warning is issued. + +- Compose table loading (`xkb_compose_table_new_from_locale()` and similar) is + much faster. + +- Use `poll()` instead of `epoll()` for `xlbcli interactive-evdev`, making it + portable to FreeBSD which provides evdev but not epoll. On FreeBSD, remember + to install the `evdev-proto` package to get the evdev headers. + +- The build now requires a C11 compiler (uses anonymous structs/unions). + +libxkbcommon 1.1.0 - 2021-02-27 +================== + +- Publish the `xkb-format-text-v1.md` file in the HTML documentation. This file + existed for a long time but only in the Git repository. + Link: https://xkbcommon.org/doc/current/md_doc_keymap_format_text_v1.html + +- Add partial documentation for xkb_symbols to xkb-format-text-v1.md. + + Contributed by Simon Zeni. + +- Update keysym definitions to latest xorgproto. In particular, this adds many + special keysyms corresponding to Linux evdev keycodes. + + Contributed by Peter Hutterer <@who-t.net>. + +- New API: + Too many XKB_KEY_* definitions to list here. + libxkbcommon 1.0.3 - 2020-11-23 ==================