iTranslated by AI
Major changes to Mozc since October 2022
First draft: 2023-10-10
I have summarized the main changes to Mozc since October 2022. This is a compilation of information already available in documents, commit logs, and Issues, so there is no new information. I will add any missing items later.
Please report any Mozc issues or feature requests to GitHub Issues or Discussions.
Related Articles
- Main changes to Mozc from October 2024 to October 2025
- Main changes to Mozc since October 2023
- Main changes to Mozc since October 2022 : This article
- Main changes to Mozc since October 2021
- Main changes to Mozc since 2020
Current Version
- 2.29.5250
- The third number (5250) is the number of days elapsed since version numbers were first assigned.
- Reference: Google Japanese Input is 2.29.5050
Statistics
2022-10-11 - 2023-10-10
- Number of commits: 1,554
- Number of closed issues: 161 (Issues · google/mozc)
- Number of merged pull requests: 9 (Pull requests · google/mozc)
Cumulative Total
- Number of commits: 3,348
- Number of closed issues: 633
- Number of merged pull requests: 51
Major Changes
- Expansion of the scope for accepting pull requests (PRs)
- Build artifacts can now be downloaded from GitHub Actions
- Changed supported Windows versions from 8.1 to 10 or later
- Changed supported macOS versions from 10.12 to 11.0 or later
- Expansion of builds using Bazel
- Changed supported Qt version from 5 to 6
Expansion of PR Acceptance Scope
Changed to allow accepting PRs for the following code:
- Linux, macOS, and Windows clients
- Candidate windows and GUI tools
- Various data files
Details
Input Related
Dictionary data updates
Addressed input-related feedback reported in Issues
Added bracket pairs that can be input
Addressed an issue where some Romaji conversions did not work when the alphanumeric character width was set to half-width
Expansion of Romaji conversion logic
Linux Related
Creation of mozc.zip in Bazel's Linux build
- Created a set of necessary files
- mozc/docs/build_mozc_in_docker.md at master · google/mozc
Added support for selecting the candidate window implementation in Wayland sessions for the IBus client
- When the environment variable MOZC_IBUS_CANDIDATE_WINDOW is ibus:
- Use IBus default
- For X sessions:
- Use Mozc's candidate window
- For Wayland sessions:
- Depends on the
compatible_wayland_desktop_namessetting inibus_config.textproto- By default, Mozc's candidate window is used only when the environment variable XDG_CURRENT_DESKTOP is "GNOME"
- Consider using
ibus_config.textprotoinstead of environment variables such asMOZC_IBUS_CANDIDATE_WINDOW· Issue #795 · google/mozc
- User setting of QT_QPA_PLATFORM is no longer required
- Depends on the
Additions and changes to environment variables used by the IBus client
- WAYLAND_DISPLAY: Wayland detection (previously XDG_SESSION_TYPE was used)
Default input method can now be selected from the menu in IBus
- mozc/docs/configurations.md at master · google/mozc
- Add a field for the composition mode to ibus_config. · google/mozc@96e8c87

Changed the default compiler on Linux from clang to the system default
Changed the scope of GYP build support on Linux
- Alternatives are builds using Bazel
- Removed IBus client build using GYP
Removed GTK-based candidate window code
- Alternative is the Qt-based candidate window
- In addition to removing it from previous build settings, the code itself has been deleted
Refactoring of IBus implementation
- Created a wrapper class for C++
-
ibus_engine_show_lookup_table(engine_ptr)→engine_wrapper.ShowLookupTable()
-
Made ANDROID_NDK_HOME setting unnecessary by default in Bazel's Linux build
Emacs Client
- Improved Lint errors and added support for the latest versions
Windows Related
Icon updates
Addition of installers
End of support for 32-bit builds
Deletion of code for Windows 7 and 8
Default compiler changed to MSVC 2022
- The previous default was MSVC 2017
Windows Installer version bumped to 5.0
Utilization of WIL (Windows Implementation Library)
- Import Windows Implementation Library · Issue #726 · google/mozc
- Object management using RAII
Deletion of code for IMM32
- Because support is now limited to Windows 10 or later
macOS Related
Build target changed to 11.0 or later
Support for building universal binaries and Apple Silicon binaries
- Can also be downloaded from GitHub Actions
- Support universal binary for macOS · Issue #801 · google/mozc
Build Related
Build artifacts can now be downloaded from GitHub Actions

Migration to Qt 6
Removal of dependency on jsoncpp
- Because the code using it was deleted
Refactoring Related
Change in naming conventions for Bazel build macros
-
cc_libraray_mozc→mozc_cc_library - Notice: Build macros for Bazel will be changed · Issue #679 · google/mozc
Utilization of Abseil library
- Changed from
const std::string&toabsl::string_view - Utilization of
absl::Str*,absl::flat_hash_*,absl::Span,absl::Time,ABSL_MUST_USE_RESULT, etc. - Removal of Mozc-specific implementations
Revamped thread implementation
- Migrated from platform-specific implementations to
std::thread
Changed order of values in unit tests
- Changed from
EXPECT_EQ(expected, actual)toEXPECTED_EQ(actual, expected)
Changed platform identification macros to standard ones
- Change OS_ANDROID, OS_LINUX, OS_WIN, OS_WASM macros to standard macros. · google/mozc@794a853
- Example:
OS_LINUX→__linux__
Reorganization of the base/ directory
- Created
base/strings,base/win32, etc. - mozc/src/base at master · google/mozc
Refactoring for C++17
- Changed from
newtostd::make_unique - Changed to standard types such as
uint32→uint32_t - Utilization of
std::move - Utilization of
constexpr
Future Plans
- Adoption of C++20
- Migration of Windows builds to Bazel
- Subsequent removal of build rules using GYP
- Closing old issues (last updated before 2020-01-01)
Closing
While looking back to summarize these changes, I was reminded once again of the cooperation and support from so many people. Thank you very much.
Discussion