--- title: Changes - Keyman Core API --- ## Changes between 18.0 and 19.0 * Removed deprecated `km_core_keyboard_attrs.folder_path` * The JSON introspection APIs (which were not fully implemented), `km_core_state_options_to_json` and `km_core_state_to_json`, have been removed. ## Changes between 16.0 and 17.0 * The namespace identifier has changed from `km_kbp_` to `km_core_`. * Most context APIs are now private, and [km_core_state_context_set_if_needed] is the primary context function. Private APIs are available in `keyman_core_api_context.h`. * The action queue APIs are now private and deprecated. Instead, use [km_core_state_get_actions]. Private APIs are available in `keyman_core_api_actions.h`. * Debug APIs are available in `keyman_core_api_debug.h`. ------------------------------------------------------------------------------- [km_core_cu]: background#km_core_cu "km_core_cu type" [km_core_usv]: background#km_core_usv "km_core_usv type" [km_core_virtual_key]: background#km_core_virtual_key "km_core_virtual_key type" [km_core_status]: background#km_core_status "km_core_status type" [km_core_keyboard]: background#km_core_keyboard "km_core_keyboard struct" [km_core_state]: background#km_core_state "km_core_state struct" [km_core_options]: background#km_core_options "km_core_options struct" [km_core_keyboard_imx_platform]: background#km_core_keyboard_imx_platform "km_core_keyboard_imx_platform callback function" [km_core_status_codes]: background#km_core_status_codes "km_core_status_codes enum" [km_core_attr]: background#km_core_attr "km_core_attr struct" [km_core_tech_value]: background#km_core_tech_value "km_core_tech_value enum" [km_core_get_engine_attrs]: background#km_core_get_engine_attrs "km_core_get_engine_attrs function" [km_core_bool]: background#km_core_bool "km_core_bool enum" [km_core_caps_state]: state#km_core_caps_state "km_core_caps_state enum" [km_core_actions]: state#km_core_actions "km_core_actions struct" [km_core_state_get_actions]: state#km_core_state_get_actions "km_core_state_get_actions function" [km_core_context_status]: state#km_core_context_status "km_core_context_status enum" [km_core_state_context_set_if_needed]: state#km_core_state_context_set_if_needed "km_core_state_context_set_if_needed function" [km_core_state_context_clear]: state#km_core_state_context_clear "km_core_state_context_clear function" [km_core_option_scope]: options#km_core_option_scope "km_core_option_scope enum" [km_core_option_item]: options#km_core_option_item "km_core_option_item struct" [km_core_options_list_size]: options#km_core_options_list_size "km_core_options_list_size function" [km_core_state_option_lookup]: options#km_core_state_option_lookup "km_core_state_option_lookup function" [km_core_state_options_update]: options#km_core_state_options_update "km_core_state_options_update function" [km_core_keyboard_attrs]: keyboards#km_core_keyboard_attrs "km_core_keyboard_attrs struct" [km_core_keyboard_key]: keyboards#km_core_keyboard_key "km_core_keyboard_key struct" [km_core_keyboard_imx]: keyboards#km_core_keyboard_imx "km_core_keyboard_imx struct" [km_core_keyboard_load_from_blob]: keyboards#km_core_keyboard_load_from_blob "km_core_keyboard_load_from_blob function" [km_core_keyboard_dispose]: keyboards#km_core_keyboard_dispose "km_core_keyboard_dispose function" [km_core_keyboard_get_attrs]: keyboards#km_core_keyboard_get_attrs "km_core_keyboard_get_attrs function" [km_core_keyboard_get_key_list]: keyboards#km_core_keyboard_get_key_list "km_core_keyboard_get_key_list function" [km_core_keyboard_key_list_dispose]: keyboards#km_core_keyboard_key_list_dispose "km_core_keyboard_key_list_dispose function" [km_core_keyboard_get_imx_list]: keyboards#km_core_keyboard_get_imx_list "km_core_keyboard_get_imx_list function" [km_core_keyboard_imx_list_dispose]: keyboards#km_core_keyboard_imx_list_dispose "km_core_keyboard_imx_list_dispose function" [km_core_state_imx_register_callback]: keyboards#km_core_state_imx_register_callback "km_core_state_imx_register_callback function" [km_core_state_imx_deregister_callback]: keyboards#km_core_state_imx_deregister_callback "km_core_state_imx_deregister_callback function" [km_core_state_create]: keyboards#km_core_state_create "km_core_state_create function" [km_core_state_clone]: keyboards#km_core_state_clone "km_core_state_clone function" [km_core_state_dispose]: keyboards#km_core_state_dispose "km_core_state_dispose function" [km_core_debug_context_type]: keyboards#km_core_debug_context_type "km_core_debug_context_type enum" [km_core_state_context_debug]: keyboards#km_core_state_context_debug "km_core_state_context_debug function" [km_core_cu_dispose]: keyboards#km_core_cu_dispose "km_core_cu_dispose function" [km_core_event_flags]: processor#km_core_event_flags "km_core_event_flags enum" [km_core_process_event]: processor#km_core_process_event "km_core_process_event function" [km_core_event]: processor#km_core_event "km_core_event function" [km_core_event_code]: processor#km_core_event_code "km_core_event_code enum" [km_core_action_item]: actions#km_core_action_item "km_core_action_item struct" [km_core_state_action_items]: actions#km_core_state_action_items "km_core_state_action_items function" [km_core_state_queue_action_items]: actions#km_core_state_queue_action_items "km_core_state_queue_action_items function" [km_core_process_queued_actions]: actions#km_core_process_queued_actions "km_core_process_queued_actions function" [km_core_context_type]: context#km_core_context_type "km_core_context_type enum" [km_core_context_item]: context#km_core_context_item "km_core_context_item struct" [KM_CORE_CONTEXT_ITEM_END]: context#KM_CORE_CONTEXT_ITEM_END "KM_CORE_CONTEXT_ITEM_END macro" [km_core_state_get_intermediate_context]: context#km_core_state_get_intermediate_context "km_core_state_get_intermediate_context function" [km_core_context_items_dispose]: context#km_core_context_items_dispose "km_core_context_items_dispose function" [km_core_state_context]: context#km_core_state_context "km_core_state_context function" [km_core_state_app_context]: context#km_core_state_app_context "km_core_state_app_context function" [km_core_context_set]: context#km_core_context_set "km_core_context_set function" [km_core_context_clear]: context#km_core_context_clear "km_core_context_clear function" [km_core_context_item_list_size]: context#km_core_context_item_list_size "km_core_context_item_list_size function" [km_core_context_get]: context#km_core_context_get "km_core_context_get function" [km_core_context_length]: context#km_core_context_length "km_core_context_length function" [km_core_modifier_state]: virtual-keys#km_core_modifier_state "km_core_modifier_state enum" [km_core_modifier_mask]: virtual-keys#km_core_modifier_mask "km_core_modifier_mask " [km_core_virtual_key_value]: virtual-keys#km_core_virtual_key_value "km_core_virtual_key_value "