CINXE.COM
Release Notes - Keyboard App Builder
<!doctype html> <!--[if lt IE 7]><html class="no-js ie ie6 lt-ie9 lt-ie8 lt-ie7" lang="en-US" prefix="og: https://ogp.me/ns#"> <![endif]--> <!--[if IE 7]><html class="no-js ie ie7 lt-ie9 lt-ie8" lang="en-US" prefix="og: https://ogp.me/ns#"> <![endif]--> <!--[if IE 8]><html class="no-js ie ie8 lt-ie9" lang="en-US" prefix="og: https://ogp.me/ns#"> <![endif]--> <!--[if gt IE 8]><!--><html class="no-js" lang="en-US" prefix="og: https://ogp.me/ns#"> <!--<![endif]--><head><meta charset="UTF-8" /><title> Release Notes - Keyboard App Builder</title><meta name="description" content="Create customized Android apps with Keyman keyboards for typing in other apps"><link rel="stylesheet" href="https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_ab6cbedf6335655d59bc786b33a507ab.php" type="text/css" media="screen" /><link rel="stylesheet" href="https://software.sil.org/keyboardappbuilder/wp-content/themes/web-productsites/vendor/fortawesome/font-awesome/css/font-awesome.min.css"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="pingback" href="https://software.sil.org/keyboardappbuilder/xmlrpc.php" /><link href='https://fonts.googleapis.com/css?family=Open+Sans:400italic,400,700,700italic' rel='stylesheet' type='text/css'><style>#page-site-banner { background-image: url(https://software.sil.org/keyboardappbuilder/wp-content/uploads/sites/56/2020/04/banner_image.jpg); }</style><meta name="description" content="This page describes the changes made in each new release of Keyboard App Builder. You can download the latest or previous versions on the Download page."/><meta name="robots" content="index, follow, max-snippet:-1, max-video-preview:-1, max-image-preview:large"/><link rel="canonical" href="https://software.sil.org/keyboardappbuilder/release-notes/" /><meta property="og:locale" content="en_US" /><meta property="og:type" content="article" /><meta property="og:title" content="Release Notes - Keyboard App Builder" /><meta property="og:description" content="This page describes the changes made in each new release of Keyboard App Builder. You can download the latest or previous versions on the Download page." /><meta property="og:url" content="https://software.sil.org/keyboardappbuilder/release-notes/" /><meta property="og:site_name" content="Keyboard App Builder" /><meta property="og:updated_time" content="2024-11-08T09:08:57+00:00" /><meta property="article:published_time" content="2015-05-27T13:56:35+00:00" /><meta property="article:modified_time" content="2024-11-08T09:08:57+00:00" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="Release Notes - Keyboard App Builder" /><meta name="twitter:description" content="This page describes the changes made in each new release of Keyboard App Builder. You can download the latest or previous versions on the Download page." /><meta name="twitter:label1" content="Time to read" /><meta name="twitter:data1" content="29 minutes" /> <script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":["Person","Organization"],"@id":"https://software.sil.org/keyboardappbuilder/#person","name":"Keyboard App Builder"},{"@type":"WebSite","@id":"https://software.sil.org/keyboardappbuilder/#website","url":"https://software.sil.org/keyboardappbuilder","name":"Keyboard App Builder","publisher":{"@id":"https://software.sil.org/keyboardappbuilder/#person"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https://software.sil.org/keyboardappbuilder/release-notes/#webpage","url":"https://software.sil.org/keyboardappbuilder/release-notes/","name":"Release Notes - Keyboard App Builder","datePublished":"2015-05-27T13:56:35+00:00","dateModified":"2024-11-08T09:08:57+00:00","isPartOf":{"@id":"https://software.sil.org/keyboardappbuilder/#website"},"inLanguage":"en-US"},{"@type":"Person","@id":"https://software.sil.org/keyboardappbuilder/author/rmargetts/","name":"Richard","url":"https://software.sil.org/keyboardappbuilder/author/rmargetts/","image":{"@type":"ImageObject","@id":"https://secure.gravatar.com/avatar/fc7b1ecce48c3fd246207de2354898f6?s=96&d=mm&r=g","url":"https://secure.gravatar.com/avatar/fc7b1ecce48c3fd246207de2354898f6?s=96&d=mm&r=g","caption":"Richard","inLanguage":"en-US"}},{"@type":"Article","headline":"Release Notes - Keyboard App Builder","datePublished":"2015-05-27T13:56:35+00:00","dateModified":"2024-11-08T09:08:57+00:00","author":{"@id":"https://software.sil.org/keyboardappbuilder/author/rmargetts/","name":"Richard"},"publisher":{"@id":"https://software.sil.org/keyboardappbuilder/#person"},"description":"This page describes the changes made in each new release of Keyboard App Builder. You can download the latest or previous versions on the Download page.","name":"Release Notes - Keyboard App Builder","@id":"https://software.sil.org/keyboardappbuilder/release-notes/#richSnippet","isPartOf":{"@id":"https://software.sil.org/keyboardappbuilder/release-notes/#webpage"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://software.sil.org/keyboardappbuilder/release-notes/#webpage"}}]}</script> <script defer src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp3aW5kb3cuX3dwZW1vamlTZXR0aW5ncyA9IHsiYmFzZVVybCI6Imh0dHBzOlwvXC9zLncub3JnXC9pbWFnZXNcL2NvcmVcL2Vtb2ppXC8xNS4wLjNcLzcyeDcyXC8iLCJleHQiOiIucG5nIiwic3ZnVXJsIjoiaHR0cHM6XC9cL3Mudy5vcmdcL2ltYWdlc1wvY29yZVwvZW1vamlcLzE1LjAuM1wvc3ZnXC8iLCJzdmdFeHQiOiIuc3ZnIiwic291cmNlIjp7ImNvbmNhdGVtb2ppIjoiaHR0cHM6XC9cL3NvZnR3YXJlLnNpbC5vcmdcL2tleWJvYXJkYXBwYnVpbGRlclwvd3AtaW5jbHVkZXNcL2pzXC93cC1lbW9qaS1yZWxlYXNlLm1pbi5qcz92ZXI9MWMzZjk5OTMxMTEzZTRlMjY3ODg5Yzk2ZjNiNjNkYzUifX07Ci8qISBUaGlzIGZpbGUgaXMgYXV0by1nZW5lcmF0ZWQgKi8KIWZ1bmN0aW9uKGksbil7dmFyIG8scyxlO2Z1bmN0aW9uIGMoZSl7dHJ5e3ZhciB0PXtzdXBwb3J0VGVzdHM6ZSx0aW1lc3RhbXA6KG5ldyBEYXRlKS52YWx1ZU9mKCl9O3Nlc3Npb25TdG9yYWdlLnNldEl0ZW0obyxKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2goZSl7fX1mdW5jdGlvbiBwKGUsdCxuKXtlLmNsZWFyUmVjdCgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KSxlLmZpbGxUZXh0KHQsMCwwKTt2YXIgdD1uZXcgVWludDMyQXJyYXkoZS5nZXRJbWFnZURhdGEoMCwwLGUuY2FudmFzLndpZHRoLGUuY2FudmFzLmhlaWdodCkuZGF0YSkscj0oZS5jbGVhclJlY3QoMCwwLGUuY2FudmFzLndpZHRoLGUuY2FudmFzLmhlaWdodCksZS5maWxsVGV4dChuLDAsMCksbmV3IFVpbnQzMkFycmF5KGUuZ2V0SW1hZ2VEYXRhKDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpLmRhdGEpKTtyZXR1cm4gdC5ldmVyeShmdW5jdGlvbihlLHQpe3JldHVybiBlPT09clt0XX0pfWZ1bmN0aW9uIHUoZSx0LG4pe3N3aXRjaCh0KXtjYXNlImZsYWciOnJldHVybiBuKGUsIlx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwZFx1MjZhN1x1ZmUwZiIsIlx1ZDgzY1x1ZGZmM1x1ZmUwZlx1MjAwYlx1MjZhN1x1ZmUwZiIpPyExOiFuKGUsIlx1ZDgzY1x1ZGRmYVx1ZDgzY1x1ZGRmMyIsIlx1ZDgzY1x1ZGRmYVx1MjAwYlx1ZDgzY1x1ZGRmMyIpJiYhbihlLCJcdWQ4M2NcdWRmZjRcdWRiNDBcdWRjNjdcdWRiNDBcdWRjNjJcdWRiNDBcdWRjNjVcdWRiNDBcdWRjNmVcdWRiNDBcdWRjNjdcdWRiNDBcdWRjN2YiLCJcdWQ4M2NcdWRmZjRcdTIwMGJcdWRiNDBcdWRjNjdcdTIwMGJcdWRiNDBcdWRjNjJcdTIwMGJcdWRiNDBcdWRjNjVcdTIwMGJcdWRiNDBcdWRjNmVcdTIwMGJcdWRiNDBcdWRjNjdcdTIwMGJcdWRiNDBcdWRjN2YiKTtjYXNlImVtb2ppIjpyZXR1cm4hbihlLCJcdWQ4M2RcdWRjMjZcdTIwMGRcdTJiMWIiLCJcdWQ4M2RcdWRjMjZcdTIwMGJcdTJiMWIiKX1yZXR1cm4hMX1mdW5jdGlvbiBmKGUsdCxuKXt2YXIgcj0idW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU/bmV3IE9mZnNjcmVlbkNhbnZhcygzMDAsMTUwKTppLmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGE9ci5nZXRDb250ZXh0KCIyZCIse3dpbGxSZWFkRnJlcXVlbnRseTohMH0pLG89KGEudGV4dEJhc2VsaW5lPSJ0b3AiLGEuZm9udD0iNjAwIDMycHggQXJpYWwiLHt9KTtyZXR1cm4gZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe29bZV09dChhLGUsbil9KSxvfWZ1bmN0aW9uIHQoZSl7dmFyIHQ9aS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTt0LnNyYz1lLHQuZGVmZXI9ITAsaS5oZWFkLmFwcGVuZENoaWxkKHQpfSJ1bmRlZmluZWQiIT10eXBlb2YgUHJvbWlzZSYmKG89IndwRW1vamlTZXR0aW5nc1N1cHBvcnRzIixzPVsiZmxhZyIsImVtb2ppIl0sbi5zdXBwb3J0cz17ZXZlcnl0aGluZzohMCxldmVyeXRoaW5nRXhjZXB0RmxhZzohMH0sZT1uZXcgUHJvbWlzZShmdW5jdGlvbihlKXtpLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGUse29uY2U6ITB9KX0pLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe3ZhciBuPWZ1bmN0aW9uKCl7dHJ5e3ZhciBlPUpTT04ucGFyc2Uoc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShvKSk7aWYoIm9iamVjdCI9PXR5cGVvZiBlJiYibnVtYmVyIj09dHlwZW9mIGUudGltZXN0YW1wJiYobmV3IERhdGUpLnZhbHVlT2YoKTxlLnRpbWVzdGFtcCs2MDQ4MDAmJiJvYmplY3QiPT10eXBlb2YgZS5zdXBwb3J0VGVzdHMpcmV0dXJuIGUuc3VwcG9ydFRlc3RzfWNhdGNoKGUpe31yZXR1cm4gbnVsbH0oKTtpZighbil7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBXb3JrZXImJiJ1bmRlZmluZWQiIT10eXBlb2YgT2Zmc2NyZWVuQ2FudmFzJiYidW5kZWZpbmVkIiE9dHlwZW9mIFVSTCYmVVJMLmNyZWF0ZU9iamVjdFVSTCYmInVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iKXRyeXt2YXIgZT0icG9zdE1lc3NhZ2UoIitmLnRvU3RyaW5nKCkrIigiK1tKU09OLnN0cmluZ2lmeShzKSx1LnRvU3RyaW5nKCkscC50b1N0cmluZygpXS5qb2luKCIsIikrIikpOyIscj1uZXcgQmxvYihbZV0se3R5cGU6InRleHQvamF2YXNjcmlwdCJ9KSxhPW5ldyBXb3JrZXIoVVJMLmNyZWF0ZU9iamVjdFVSTChyKSx7bmFtZToid3BUZXN0RW1vamlTdXBwb3J0cyJ9KTtyZXR1cm4gdm9pZChhLm9ubWVzc2FnZT1mdW5jdGlvbihlKXtjKG49ZS5kYXRhKSxhLnRlcm1pbmF0ZSgpLHQobil9KX1jYXRjaChlKXt9YyhuPWYocyx1LHApKX10KG4pfSkudGhlbihmdW5jdGlvbihlKXtmb3IodmFyIHQgaW4gZSluLnN1cHBvcnRzW3RdPWVbdF0sbi5zdXBwb3J0cy5ldmVyeXRoaW5nPW4uc3VwcG9ydHMuZXZlcnl0aGluZyYmbi5zdXBwb3J0c1t0XSwiZmxhZyIhPT10JiYobi5zdXBwb3J0cy5ldmVyeXRoaW5nRXhjZXB0RmxhZz1uLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnJiZuLnN1cHBvcnRzW3RdKTtuLnN1cHBvcnRzLmV2ZXJ5dGhpbmdFeGNlcHRGbGFnPW4uc3VwcG9ydHMuZXZlcnl0aGluZ0V4Y2VwdEZsYWcmJiFuLnN1cHBvcnRzLmZsYWcsbi5ET01SZWFkeT0hMSxuLnJlYWR5Q2FsbGJhY2s9ZnVuY3Rpb24oKXtuLkRPTVJlYWR5PSEwfX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZX0pLnRoZW4oZnVuY3Rpb24oKXt2YXIgZTtuLnN1cHBvcnRzLmV2ZXJ5dGhpbmd8fChuLnJlYWR5Q2FsbGJhY2soKSwoZT1uLnNvdXJjZXx8e30pLmNvbmNhdGVtb2ppP3QoZS5jb25jYXRlbW9qaSk6ZS53cGVtb2ppJiZlLnR3ZW1vamkmJih0KGUudHdlbW9qaSksdChlLndwZW1vamkpKSl9KSl9KCh3aW5kb3csZG9jdW1lbnQpLHdpbmRvdy5fd3BlbW9qaVNldHRpbmdzKTsKLyogXV0+ICovCg=="></script> <style id='wp-emoji-styles-inline-css' type='text/css'>img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; }</style><link rel='stylesheet' id='wp-block-library-css' href='https://software.sil.org/keyboardappbuilder/wp-includes/css/dist/block-library/style.min.css?ver=1c3f99931113e4e267889c96f3b63dc5' type='text/css' media='all' /><style id='rank-math-toc-block-style-inline-css' type='text/css'>.wp-block-rank-math-toc-block nav ol{counter-reset:item}.wp-block-rank-math-toc-block nav ol li{display:block}.wp-block-rank-math-toc-block nav ol li:before{content:counters(item, ".") ". ";counter-increment:item}</style><style id='classic-theme-styles-inline-css' type='text/css'>/*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}</style><style id='global-styles-inline-css' type='text/css'>:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}</style><link rel='stylesheet' id='contact-form-7-css' href='https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_3fd2afa98866679439097f4ab102fe0a.php?ver=5.9.8' type='text/css' media='all' /><link rel='stylesheet' id='dashicons-css' href='https://software.sil.org/keyboardappbuilder/wp-includes/css/dashicons.min.css?ver=1c3f99931113e4e267889c96f3b63dc5' type='text/css' media='all' /><link rel='stylesheet' id='to-top-css' href='https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_658ed7c8d9872eb232101d85f58c8cc5.php?ver=2.5.4' type='text/css' media='all' /><link rel='stylesheet' id='custom-styles-css' href='https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_fe1ebbbfadded6e44ec3200399d8b94f.php?ver=1c3f99931113e4e267889c96f3b63dc5' type='text/css' media='all' /> <script type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <script defer id="to-top-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgdG9fdG9wX29wdGlvbnMgPSB7InNjcm9sbF9vZmZzZXQiOiIxMDAiLCJpY29uX29wYWNpdHkiOiI1MCIsInN0eWxlIjoiaWNvbiIsImljb25fdHlwZSI6ImRhc2hpY29ucy1hcnJvdy11cC1hbHQyIiwiaWNvbl9jb2xvciI6IiNmZmZmZmYiLCJpY29uX2JnX2NvbG9yIjoiIzAwMDAwMCIsImljb25fc2l6ZSI6IjMyIiwiYm9yZGVyX3JhZGl1cyI6IjUiLCJpbWFnZSI6Imh0dHBzOlwvXC9zb2Z0d2FyZS5zaWwub3JnXC9rZXlib2FyZGFwcGJ1aWxkZXJcL3dwLWNvbnRlbnRcL3BsdWdpbnNcL3RvLXRvcFwvYWRtaW5cL2ltYWdlc1wvZGVmYXVsdC5wbmciLCJpbWFnZV93aWR0aCI6IjY1IiwiaW1hZ2VfYWx0IjoiIiwibG9jYXRpb24iOiJib3R0b20tcmlnaHQiLCJtYXJnaW5feCI6IjIwIiwibWFyZ2luX3kiOiIyMCIsInNob3dfb25fYWRtaW4iOiIwIiwiZW5hYmxlX2F1dG9oaWRlIjoiMCIsImF1dG9oaWRlX3RpbWUiOiIyIiwiZW5hYmxlX2hpZGVfc21hbGxfZGV2aWNlIjoiMCIsInNtYWxsX2RldmljZV9tYXhfd2lkdGgiOiI2NDAiLCJyZXNldCI6IjAifTsKLyogXV0+ICovCg=="></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_3412a76d1309925e4c16893c6446ef4b.php?ver=2.5.4" id="to-top-js"></script> <script defer id="wpstg-global-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BzdGcgPSB7Im5vbmNlIjoiMjM4YTU2MWE0YSJ9OwovKiBdXT4gKi8K"></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/plugins/wp-staging-pro/assets/js/dist/wpstg-blank-loader.min.js?ver=1c3f99931113e4e267889c96f3b63dc5" id="wpstg-global-js"></script> <link rel="https://api.w.org/" href="https://software.sil.org/keyboardappbuilder/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://software.sil.org/keyboardappbuilder/wp-json/wp/v2/pages/495" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://software.sil.org/keyboardappbuilder/xmlrpc.php?rsd" /><link rel='shortlink' href='https://software.sil.org/keyboardappbuilder/?p=495' /><link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://software.sil.org/keyboardappbuilder/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsoftware.sil.org%2Fkeyboardappbuilder%2Frelease-notes%2F" /><link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://software.sil.org/keyboardappbuilder/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fsoftware.sil.org%2Fkeyboardappbuilder%2Frelease-notes%2F&format=xml" /><style type="text/css">.broken_link, a.broken_link { text-decoration: line-through; }</style><style type="text/css" id="wp-custom-css">/* Welcome to Custom CSS! To learn how this works, see http://wp.me/PEmnE-Bt */</style> <script defer src=" https://www.googletagmanager.com/gtag/js?id=G-75WYFHYVT8"></script> <script defer src="data:text/javascript;base64,IHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOyBmdW5jdGlvbgpndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9IGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7IGd0YWcoJ2NvbmZpZycsICdHLTc1V1lGSFlWVDgnKTsg"></script> </head><body class="page-template-default page page-id-495 wp-custom-logo keyboardappbuilder" data-source="base.twig"><header id="navbar" role="banner"><nav role="navigation" class="navbar navbar-default"><div class="container"><div class="navbar-header"> <a class="logo navbar-btn pull-left" href="https://software.sil.org" title="Home"> <img src="https://software.sil.org/keyboardappbuilder/wp-content/themes/web-productsites/images/sil_logo_glyph.png" alt="Home"> </a> <button type="button" class="navbar-toggle main-menu-toggle-test" data-toggle="collapse" data-target="#topNavbar">☰ Menu</button></div><div id="topNavbar" class="collapse navbar-collapse main-menu-toggle" data-collapse="collapsed"><div id="search-box"><div class="donate-button"> <a class="btn btn-default btn-block btn-download btn-secondary" href="https://give.sil.org/LangTech" role="button">Donate</a></div><div class="search-box-form"><form method="get" id="searchform" role="form" class="navbar-form navbar-right" action="https://software.sil.org/keyboardappbuilder/"><div class="form-group"><div class="input-group"> <input type="text" class="form-control" name="s" id="s" placeholder="Search..." /> <span class="input-group-btn"> <button type="submit" class="btn btn-default"><i class="fa fa-search fa-fw"></i></button> </span></div></div></form></div></div><div id="nav-list"><ul class="nav navbar-nav navbar-right"><li class="nav-main-item menu-item menu-item-type-post_type menu-item-object-page menu-item-2023"> <a class="nav-main-link" href="https://software.sil.org/keyboardappbuilder/features/">Features</a></li><li class="nav-main-item menu-item menu-item-type-post_type menu-item-object-page menu-item-43"> <a class="nav-main-link" href="https://software.sil.org/keyboardappbuilder/download/">Downloads</a></li><li class="nav-main-item menu-item menu-item-type-post_type menu-item-object-page menu-item-42"> <a class="nav-main-link" href="https://software.sil.org/keyboardappbuilder/learn/">Learn</a></li><li class="nav-main-item menu-item menu-item-type-post_type menu-item-object-page menu-item-44"> <a class="nav-main-link" href="https://software.sil.org/keyboardappbuilder/news/">News</a></li><li class="nav-main-item menu-item menu-item-type-post_type menu-item-object-page menu-item-41"> <a class="nav-main-link" href="https://software.sil.org/keyboardappbuilder/help/">Get Help</a></li><li class="nav-main-item menu-item menu-item-type-post_type menu-item-object-page menu-item-45 menu-item-has-children"> <a class="nav-main-link" href="https://software.sil.org/keyboardappbuilder/about/">About</a><ul class="sub-menu"><li class="nav-sub-item menu-item menu-item-type-post_type menu-item-object-page menu-item-2024"> <a class="nav-sub-link" href="https://software.sil.org/keyboardappbuilder/about/">About</a></li><li class="nav-sub-item menu-item menu-item-type-post_type menu-item-object-page menu-item-674"> <a class="nav-sub-link" href="https://software.sil.org/keyboardappbuilder/developer/">Developer</a></li></ul></li></ul></div></div></div></nav></header><header id="page-site-name"><div class="container"><h1 class="page-header"><a href="https://software.sil.org/keyboardappbuilder">Keyboard App Builder</a></h1></div></header><header id="page-breadcrumbs"><div class="container"><h2 class="page-header"><ol class="breadcrumb"><li><a href="https://software.sil.org/keyboardappbuilder">Home</a></li><li><a href=""><span class="last-crumb">Release Notes</span></a></li></ol></h2></div></header><section id="content_primary"><div class="container"><div class="row"><div class="col-md-8 col-sm-8"><article class="post-type-page" id="post-495"><section class="article-content"><h1 class="article-h1"> Release Notes</h1><div class="article-body"><p>This page describes the changes made in each new release of Keyboard App Builder. You can download the latest or previous versions on the <a href="http://software.sil.org/keyboardappbuilder/download/">Download</a> page.</p><p><a name="v12.3"></a></p><h2>Keyboard App Builder 12.3</h2><p>Release date: 07 November 2024</p><h3>New Features and Improvements:</h3><ul><li>Updated fonts:<ul><li>Harmattan 4.300 (21 October 2024)</li><li>Lateef 4.300 (21 October 2024)</li><li>Scheherazade New 4.300 (21 October 2024)</li><li>Abyssinica SIL 2.300 (29 October 2024)</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>If English was removed from the list of enabled interface languages, it would appear again when the app builder was restarted and would also be enabled in apps, hence making it impossible to remove it (#1733).</li></ul><hr /><p><a name="v12.2"></a></p><h2>Keyboard App Builder 12.2</h2><p>Release date: 10 October 2024</p><h3>New Features and Improvements:</h3><ul><li>Feature and Settings Finder in the App Builder<ul><li>As the number of configurable options has increased in the app builder, users can sometimes forget where to find a feature on the many pages and tabs. The Feature and Settings Finder is a way to help.</li><li>To find a feature or setting within the app builder, press the “Find” button on the toolbar at the top right of the screen, or CTRL+F.</li><li>You can begin typing to find the configuration page you are looking for.</li><li>Select an item and press enter to move to that page.<br /> </li></ul></li><li>Redesign of the APK tab<ul><li>The settings at the bottom of the “APK” tab are now split over three tabs, “Android Version”, “Install Location” and “Multiple APKs”.</li><li>The Target Android Platform is now displayed above the Minimum Android Platform. This is because some users were changing the minimum platform, thinking it was the target platform, and finding that their app would not work on older devices.</li><li>Added a note with Minimum Android Platform to say “Keep this as low as possible, so that people with older Android devices will be able to install the app”.<br /> </li></ul></li><li>More menu Item image gallery icons<ul><li>Additional icons are available in the Image Gallery for menu items.<br /> </li></ul></li><li>Fonts added and updated<ul><li>Ezra SIL and Ezra SIL SR fonts are now available for use for displaying Hebrew scripts.</li><li>Awami Nastaliq font updated to version 3.300 (9 October 2024).<br /> </li></ul></li><li>Project configuration file improvements<ul><li>The project configuration file (.appDef) used to contain a lot of unnecessary information, such as app interface translations and writing system details for languages that were not enabled. This additional information is now removed to reduce the configuration file size.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the iOS app:</strong></p><ul><li>The app did not register the keyboard if only one keyboard was defined</li></ul><hr /><p><a name="v12.0"></a></p><h2>Keyboard App Builder 12.0</h2><p>Release date: 20 July 2024</p><h3>New Features and Improvements:</h3><ul><li>Build for Android 14<ul><li>Apps are now compiled to target Android 14 (API 34).</li><li>You will need to update your Android SDK with the new libraries. Use Tools > Install Android SDK.</li><li>The minimum Android version is now Android 5 (API 21), required for many of the latest library versions. Apps will run on devices from Android 5 to Android 14.</li><li>Removed Grandroid font rendering libraries which were only for Android 4.x.<br /> </li></ul></li><li>Keyman 17<ul><li>Keyman keyboard handling has been updated to use <a href="https://keyman.com" target="_blank" rel="noopener">Keyman</a> version 17 in both the Android and iOS apps.<br /> </li></ul></li><li>Font update: <a href="https://software.sil.org/annapurna/">Annapurna</a> version 2.100.<br /> </li><li>Updated libraries used in compiling Android apps.</li></ul><hr /><p><a name="v11.4"></a></p><h2>Keyboard App Builder 11.4</h2><p>Release date: 17 May 2024</p><h3>Bugs Fixed:</h3><p><strong>In the iOS app:</strong></p><ul><li>Fixes for privacy manifest requirements.</li></ul><hr /><p><a name="v11.3"></a></p><h2>Keyboard App Builder 11.3</h2><p>Release date: 29 April 2024</p><h3>New Features and Improvements:</h3><ul><li>Include iOS Privacy Manifest in apps<ul><li>Starting May 1, 2024, Apple App Store will require new or updated apps to contain privacy manifests. See <a href="https://developer.apple.com/news/?id=pvszzano" target="_blank" rel="noopener">Apple’s privacy requirements</a> for details.<br /> </li></ul></li><li>Updated version of Android SDK Tools<ul><li>The latest version of Android SDK Tools is downloaded in the Install Android SDK wizard.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Display markdown syntax for images on the About page.</li><li>Specifying an increment (+) to the version number in command line arguments did not work as expected.</li></ul><hr /><p><a name="v11.2"></a></p><h2>Keyboard App Builder 11.2</h2><p>Release date: 28 March 2024</p><h3>Bugs Fixed:</h3><p><strong>In the iOS app:</strong></p><ul><li>Build issues caused KAB to produce invalid apps.</li><li>The splash screen was not displayed at start-up (issue #1518).</li></ul><p><strong>In the app builder:</strong></p><ul><li>Creating a new Keystore on Mac failed if the JDK was not installed. It now uses the bundled JDK.</li><li>On Mac, restoring the integrated menu bar after crashes on Sonoma 14.1.2 was fixed in Sonoma 14.2.</li></ul><hr /><p><a name="v11.1"></a></p><h2>Keyboard App Builder 11.1</h2><p>Release date: 6 December 2023</p><h3>New Features and Improvements:</h3><ul><li>iOS version<ul><li>If you have a Mac, keyboard apps can now be built for iOS devices. Previous versions of KAB could only build Android apps.<br /> </li></ul></li><li>Build multiple Android App Bundles<ul><li>When building multiple apps, you can now choose between building Android APK files and Android App Bundles (AAB).</li><li>See Build > Build Multiple Apps<br /> </li></ul></li><li>Font updates:<ul><li>Updated <a href="https://software.sil.org/annapurna/">Annapurna SIL font</a> to version 2.000 (8 Nov 2023)</li><li>Updated <a href="https://software.sil.org/awami/">Awami Nastaliq font</a> to version 3.200 (23 Oct 2023)</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>When sorting apps in the tree on the left of the app builder screen, they would be sorted using the group name whether or not the group was being shown (#1450).</li><li>Correct the Google Play Language for Khmer (km-HK to km-KH). If you used this language for a Google Play Listing, you will need to rename the folder under {project name}_data/publish/play-listing folder before opening the project in KAB 11.1+.</li></ul><hr /><p><a name="v11.0.4"></a></p><h2>Keyboard App Builder 11.0.4</h2><p>Release date: 12 October 2023</p><h3>New Features and Improvements:</h3><ul><li><a href="https://keyman.com" target="_blank" rel="noopener">Keyman 16</a><ul><li><a href="https://keyman.com" target="_blank" rel="noopener">Keyman</a> Engine library updated to version 16.0.142.</li></ul></li></ul><hr /><p><a name="v11.0.3"></a></p><h2>Keyboard App Builder 11.0.3</h2><p>Release date: 03 October 2023</p><h3>New Features and Improvements:</h3><ul><li>When opening an app, the tree nodes on the left of the app builder screen are expanded to the first level instead of fully expanding every node.<br /> </li><li>Updated to the latest Android Gradle Plugin build tools, which now require a minimum Android SDK Build Tools version 33.0.1.<ul><li>If you receive a warning about an older version of Build Tools, you can use the Tools > Install Android SDK wizard to install an updated version of the Android SDK.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>On macOS, trying to import the app store listing information from Google Play would fail.</li></ul><hr /><p><a name="v11.0.1"></a></p><h2>Keyboard App Builder 11.0.1</h2><p>Release date: 03 August 2023</p><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>When using an Android 13 device, there could be problems saving files to device storage.</li></ul><p><strong>In the app builder:</strong></p><ul><li>On Mac computers, the download path was wrong for installing JDK 17.</li></ul><hr /><p><a name="v11.0"></a></p><h2>Keyboard App Builder 11.0</h2><p>Release date: 27 July 2023</p><h3>New Features and Improvements:</h3><ul><li>Building apps for Android 13<ul><li>Apps are now compiled using Android 13 (API 33) libraries, which is required by Google Play for new apps from 31 August 2023.</li><li>Before building an app, you will need to install a new version of the JDK (version 17). Use the Install JDK wizard (from Tools > Install JDK…)</li><li>You will also need to update the Android SDK to install the latest libraries. Use the Install Android SDK wizard (from Tools > Install Android SDK…)</li><li>Apps can still be installed on older versions of Android, down to Android 4.1 (API 16), although this will be Android 4.4 (API 19) if using Firebase, or Android 5.0 (API 21) if using Branch deep linking, because of the requirements of the latest versions of these libraries.<br /> </li></ul></li><li>Data Safety information for Google Play<ul><li>The Data Safety CSV export has been updated with the latest questions and answers.</li><li>It will be generated automatically in the APK Output folder when building an Android App Bundle (AAB), or when selecting Build > Export Data Safety to CSV.<br /> </li></ul></li><li>Updated libraries used in compiling Android apps:<ul><li>Gradle compiler version updated to 8.2.</li><li>Android Gradle plugin updated to 7.4.2.</li><li>Android AppCompat version 1.6.1.</li><li>Android Material components library 1.9.0.</li><li>Firebase Bill of Materials: 32.2.0.</li><li>Google Play Services library 4.3.15.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>The SIL logo in the About box needed to be updated.</li><li>Inconsistent left and top margins were being used in several App Builder configuration pages.</li></ul><hr /><p><a name="v10.4"></a></p><h2>Keyboard App Builder 10.4</h2><p>Release date: 28 June 2023</p><h3>New Features and Improvements:</h3><ul><li>Improved keystore creation:<ul><li>Changed the layout and descriptions on the Signing page of the New App wizard, making it clear that the choice is between creating a new keystore file and using an existing one.</li><li>Instead of a hyperlink, there is now a ‘Create Keystore’ button.</li><li>In the Create Keystore wizard, the Browse button is now connected to the choice of folder rather than the filename.</li><li>When adding Certificate Issuer information, there is now a country code selector dialog. You can search for a country and find its two-letter code.<br /> </li></ul></li><li>Website addresses in tooltips<ul><li>Where the App Builder provides links to external websites, a tooltip is now displayed showing the web address when the user hovers their mouse over the link.<br /> </li></ul></li><li>Updated library versions:<ul><li>GeckoView updated to version 114.0.<br /> </li></ul></li><li>Additional fonts:<ul><li>Noto Naskh Arabic</li><li>Noto Sans Devanagari, Noto Serif Devanagari</li><li>Noto Sans Ethiopic, Noto Serif Ethiopic</li><li>Noto Sans Malayalam, Noto Serif Malayalam</li><li>Noto Sans Telugu, Noto Serif Telugu</li><li>Noto Serif Tibetan</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>The Build folder and App Projects folders were not created when first running the app builder program.</li><li>Creating a keystore failed if you had not already installed the JDK (#1353)</li><li>When compiling apps in Windows, a ‘ÿ’ character would appear instead of a non-breaking space when displaying the APK file size.</li><li>The output and error logs displayed in Tools > View Logs did not handle UTF-8 encoding in Windows.</li><li>The compilation dialog was not being placed in the centre of the program window. It would appear on screen 1 even if the App Builder program was being displayed on screen 2.</li><li>Additional compilation warnings needed to be hidden from the user.</li><li>The title of the Google Account dialog appeared in Russian when the app builder interface was in English.</li><li>In the JDK wizard, use the Next button to start the download, rather than a separate Download button. It was confusing to users, who are used to pressing Next to progress to the next step.</li><li>Replace the dependency on the JCenter repository which is no longer being updated.</li><li>Some of the statements used in the Gradle build configuration files were deprecated.</li><li>Sorting apps into alphabetical order did not take into account project group names. The sort should also be case insensitive.</li></ul><hr /><p><a name="v10.3.2"></a></p><h2>Keyboard App Builder 10.3.2</h2><p>Release date: 17 May 2023</p><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>In the New Keystore wizard, the Browse button should select the folder rather than the filename.</li></ul><hr /><p><a name="v10.3.1"></a></p><h2>Keyboard App Builder 10.3.1</h2><p>Release date: 03 May 2023</p><h3>New Features and Improvements:</h3><ul><li>Fonts<ul><li>Updated <a href="https://software.sil.org/scheherazade/">Scheherazade New</a> (4.000), <a href="https://software.sil.org/harmattan/">Harmattan</a> (4.000) and <a href="https://software.sil.org/lateef/">Lateef</a> (4.000).</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>After running a build, the color picker would not display.</li><li>Data Safety: incorrect answers in some other situations.</li></ul><hr /><p><a name="v10.3"></a></p><h2>Keyboard App Builder 10.3</h2><p>Release date: 29 March 2023</p><h3>New Features and Improvements:</h3><ul><li>Responses to Data Safety questions<ul><li>When publishing an Android app on Google Play, you need to answer a set of Data Safety questions, telling your users which data is collected and why. To help you answer these questions correctly, on the menu select ‘Build’ > ‘Export Data Safety to CSV’ to create a CSV file which can be imported into the Google Play developer console for the app.<br /> </li></ul></li><li>Fonts<ul><li>Added: <a href="https://software.sil.org/akatab/">Akatab</a>, <a href="https://software.sil.org/doulos/">Doulos SIL</a>, Noto Serif, Nunito Sans, Roboto Mono, Roboto Serif, <a href="https://software.sil.org/ruwudu/">Ruwudu</a>, Source Sans Pro.</li><li>Updated: <a href="https://software.sil.org/charis/">Charis SIL</a> (6.200), <a href="https://software.sil.org/alkalami/">Alkalami</a> (3.000), <a href="https://software.sil.org/andika/">Andika</a> (6.200), <a href="https://software.sil.org/gentium/">Gentium Plus</a> (6.200).</li></ul></li><li>Stability improvements.</p></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>If you changed the Build folder (in Settings) to a folder which already contained files, these were deleted the next time you compiled an app. Since this could have unintended consequences, if a non-empty folder is specified, the ‘build’ sub-folder is used instead, or a warning message is displayed to the user.</li><li>The description of min/max dimensions for 10-inch Android tablet screenshots was incorrect.</li></ul><hr /><p><a name="v10.2"></a></p><h2>Keyboard App Builder 10.2</h2><p>Release date: 02 December 2022</p><h3>New Features and Improvements:</h3><ul><li>App Builder Compiler window<ul><li>When compiling an app, instead of using the standard command/terminal window, the app builder now uses its own window.</li><li>This allows us to hide some of the distracting compiler warnings that were not problems but which might have given the impression that there was an issue with the app compilation.</li><li>The window also allows app compilation using macOS Ventura, which otherwise was not working.</li><li>Added ‘Close compiler window on build success’ option for Mac and Linux.<br /> </li></ul></li><li>Fonts: Updated <a href="https://software.sil.org/abyssinica/">Abyssinica font</a> to version 2.200 (17 Nov 2022)</li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>If app project paths contained an ‘&’ character, the list of open apps would not be saved and restored properly between launches of the app builder.</li><li>In the ‘Add Translation’ dialog, i.e. when adding an app name, you could not specify a language code like ‘pt-BR’ with a hyphen and uppercase letters (#1124).</li><li>If the welcome page was showing, changing the interface language using the button at the top-right of the screen made the welcome screen disappear, rather than redisplaying it in the selected language.</li></ul><hr /><p><a name="v10.1"></a></p><h2>Keyboard App Builder 10.1</h2><p>Release date: 09 September 2022</p><h3>New Features and Improvements:</h3><ul><li>Font updates:<ul><li>Added <a href="https://software.sil.org/daibanna/">Dai Banna SIL font</a> (23 Aug 2022)</li><li>Added <a href="https://software.sil.org/payaplanna/">Payap Lanna font</a> (26 Aug 2022)<br /> </li></ul></li><li>Updated library versions:<ul><li>Android library versions updated (material components, preferences, AppCompat support).</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>In the Publishing > Google Play Listing page, when doing Import From Google Play on Windows, the results were not displayed.</li><li>When attempting to build and the Build Folder in Tools > Settings > Build Folders was not a valid folder, it would fail to start the build – but not report any error.</li><li>When migrating from an App Builder prior to version 10, the checking of the automatic JDK Location was not looking for Java 11. On Linux, Java 11 is an install requirement and was already present and it should have automatically switched to the new JDK.</li><li>On Linux, when manually installing the JDK, it was using the Windows JDK install zip.</li></ul><hr /><p><a name="v10.0.1"></a></p><h2>Keyboard App Builder 10.0.1</h2><p>Release date: 13 July 2022</p><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Downloads of JDK and Android SDK as well as other network communications including with Scriptoria were not working on Mac.</li></ul><hr /><p><a name="v10.0"></a></p><h2>Keyboard App Builder 10.0</h2><p>Release date: 29 June 2022</p><h3>New Features and Improvements:</h3><ul><li>Updated to use <a href="https://keyman.com" target="_blank" rel="noopener">Keyman</a> version 15.<br /> </li><li>Building apps for Android 12 (API 31)<ul><li>Android apps are now compiled for Android 12.</li><li>Apps continue to work on Android versions 4.1 and above.</li><li>You will need to use the Install Android SDK wizard to download and install a new version of the Android SDK before you build an app.</li><li>See Tools > Install Android SDK.<br /> </li></ul></li><li>JDK 11<ul><li>Android apps are now compiled using Java Development Kit (JDK) version 11, rather than version 8 which has been used until now.</li><li>You will need to use the Install JDK wizard to download a new version of the JDK before you build an app.</li><li>See Tools > Install JDK.<br /> </li></ul></li><li>Font updates<ul><li>Updated <a href="https://software.sil.org/alkalami/">Alkalami font</a> to version 1.300 (27 April 2022).</li><li>Updated <a href="https://software.sil.org/padauk/">Padauk font</a> to version 5.001 (8 June 2022).<br /> </li></ul></li><li>Updated Gradle compiler to version 7.4.2.</li></ul><hr /><p><a name="v3.3"></a></p><h2>Keyboard App Builder 3.3</h2><p>Release date: 15 April 2022</p><h3>New Features and Improvements:</h3><ul><li>Documentation updates:<ul><li>Installation instructions: describing the new Install JDK wizard.<br /> </li></ul></li><li>Use modern style for the Windows install wizard.</li></ul><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>If the selected default interface language was not among the enabled interface languages, the app would crash on launch (#994).</li><li>Stability improvements.</li></ul><p><strong>In the app builder:</strong></p><ul><li>If the JDK or Android SDK folders have not been specified, we need to look first in the default folders for Windows, e.g. c:\jdk and c:\sdk.</li><li>Do not allow JPEG files to be added as images if only PNG files are allowed, e.g. for navigation drawer images.</li></ul><hr /><p><a name="v3.2.4"></a></p><h2>Keyboard App Builder 3.2.4</h2><p>Release date: 22 February 2022</p><h3>New Features and Improvements:</h3><ul><li>JDK Install wizard<ul><li>You can now download and install the JDK using a wizard within the app builder.</li><li>Click Tools > Install JDK, or the Install JDK button on the Settings > Code Libraries tab.<br /> </li></ul></li><li>Install buttons on Welcome screen<ul><li>If the JDK has not been installed, an ‘Install JDK’ button will be displayed on the Welcome screen.</li><li>If the Android SDK has not been installed, an ‘Install Android SDK’ button will be displayed on the Welcome screen.</li></ul></li></ul><hr /><p><a name="v3.2.3"></a></p><h2>Keyboard App Builder 3.2.3</h2><p>Release date: 15 February 2022</p><h3>New Features and Improvements:</h3><ul><li>App Icons from IconKitchen<ul><li>If you create your app icon using <a href="https://icon.kitchen" target="_blank" rel="noopener">IconKitchen</a>, the downloaded zip file will be correctly interpreted for setting Android legacy, adaptive and iOS icons.</li><li>Choose the IconKitchen-Output.zip file on the ‘Android Icon (legacy)’ or ‘iOS Icon’ page when selecting the icon image files.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>If the app project could not be saved after the New App wizard, an error message should be displayed rather than failing silently.</li><li>If the Android SDK Install wizard failed to rename certain folders, this should be done before trying to build an app.</li><li>JDK version 17 will not work for building an app. A check is made to ensure that a valid JDK version (8 to 16) is specified.</li></ul><hr /><p><a name="v3.2.2"></a></p><h2>Keyboard App Builder 3.2.2</h2><p>Release date: 02 February 2022</p><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Missing translations on the ‘Show Access Code’ tab of the Security configuration dialog.</li><li>If you select the registration screen, restricted devices or device-specific code access, the builder needs to check that the user interface messages have been provided before building the app.</li><li>If you used the Android SDK Installation wizard on a Mac, when you tried to ‘Install APK’ on a device, you would get permission denied messages.</li></ul><hr /><p><a name="v3.2.1"></a></p><h2>Keyboard App Builder 3.2.1</h2><p>Release date: 23 December 2021</p><h3>New Features and Improvements:</h3><ul><li>Navigation Menu Items<ul><li>The rows in the Navigation Menu Items table can be reordered by dragging rows up and down.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>For some tables, the popup menu item corresponding to the double-click action was not indicated in bold.</li></ul><hr /><p><a name="v3.2"></a></p><h2>Keyboard App Builder 3.2</h2><p>Release date: 10 December 2021</p><h3>New Features and Improvements:</h3><ul><li>Search bars for Styles, Colors and Interface Translations<ul><li>It is now easier to find the row in the table you are looking for. The Styles, Colors and Translations tables all have search bars at the top. Begin typing to filter the list of items displayed.<br /> </li></ul></li><li>Image gallery for navigation menu items<ul><li>Added an icon gallery in the Add Menu Item wizard and Edit dialog, allowing you to select the navigation menu item icon.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Removed the old Scheherazade font, so users are encouraged to use <a href="https://software.sil.org/scheherazade/">Scheherazade New</a>.</li></ul><hr /><p><a name="v3.1.1"></a></p><h2>Keyboard App Builder 3.1.1</h2><p>Release date: 05 November 2021</p><h3>New Features and Improvements:</h3><ul><li>Keyboard reordering<ul><li>If you have multiple keyboards in an app, you can reorder them in the builder by dragging the rows in the Keyboards table. This will change the order in which they appear on the Keyboard chooser screen. The first of them will be selected by default.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>If multiple keyboards were included in an app, a repeated error message about not finding ‘sil_euro_latin’ was shown when the app was launched.</li></ul><p><strong>In the app builder:</strong></p><ul><li>The Viewer for the About screen was always blank.</li><li>If the Create New Keystore wizard failed to create a keystore file, it would say it had succeeded (#818).</li><li>Spaces could be added accidentally to publishing property names. Extra spaces are now trimmed at the beginning and end of property names and values.</li><li>When building Android apps, preference should be given to the Google repository rather than JCenter for downloading libraries.</li></ul><hr /><p><a name="v3.1"></a></p><h2>Keyboard App Builder 3.1</h2><p>Release date: 26 October 2021</p><h3>New Features and Improvements:</h3><ul><li>Language selection in App Builders<ul><li>If you run the Windows installer in French, Spanish or Russian, the app builder interface will default to this language when it first launches.</li><li>You can swap between interface languages using a new selector button a the top right of the main app builder window.<br /> </li></ul></li><li>Share Link to app installer file<ul><li>When publishing Android apps as Android App Bundles (AAB) to Google Play, the “Share app installation file” feature is disabled. This is because Google Play uses the AAB to send each device a customised APK which is just right for that device but does not contain all of the resources necessary to be shared with other devices.</li><li>The new “Share link to app on website” allows you to publish a full APK to a website that can be shared in the app.</li><li>If you are publishing apps using Scriptoria, you can add the publishing property BUILD_SHARE_DOWNLOAD_APP_LINK=1 and Scriptoria will enable this feature and set the URL to a Scriptoria URL which provides a download page with the icon, title, description, APK size, and “Download APK” button. It uses the localized string from the Google Play Listing information. There is a Download_APK entry in the Interface Translation that can be customized per project.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Allow logout of Scriptoria. The Login process launches a web browser to do the authentication. It launches the page in the front most window. If the user has multiple windows with different profiles, then the wrong might be used. The user can logout and bring focus to the correct window and attempt to login again.</li><li>When downloading a project from Scriptoria, if the images were changed by someone else then this would not display correctly (old thumbnails of images still cached).</li><li>Added a hint in the About box configuration page on how to include illustrations.</li><li>Added missing French translations for various pages in the app builder interface.</li><li>If you edited or reset the interface translations, the modified flag would not be set and you would not be warned about saving the project before closing the App Builder.</li></ul><hr /><p><a name="v3.0.1"></a></p><h2>Keyboard App Builder 3.0.1</h2><p>Release date: 19 August 2021</p><h3>New Features and Improvements:</h3><ul><li>Install Android SDK<ul><li>Updated to download and install the Command Line tools version 5.0.</li><li>Made unzipping the package files more reliable after downloading them.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>When adding Publishing Properties, do not allow blank entries.</li><li>When adding Interface Languages, do not allow invalid entries (which could not be deleted).</li></ul><hr /><p><a name="v3.0"></a></p><h2>Keyboard App Builder 3.0</h2><p>Release date: 04 August 2021</p><h3>New Features and Improvements:</h3><ul><li><a href="https://keyman.com" target="_blank" rel="noopener">Keyman</a> version 14<ul><li>Apps now contain version 14 of the <a href="https://keyman.com" target="_blank" rel="noopener">Keyman</a> engine.</li><li>You can specify what text to display on the keyboard’s space bar.<br /> </li></ul></li><li>Building for Android 11 (API 30)<ul><li>Google now requires all new apps to be compiled for Android version 11 (API 30), and updates to existing apps will need to be compiled for Android 11 before November 2021.</li><li>Before building an app, you will need to go to Tools > Android SDK and click ‘Install Packages’ to update your Android SDK packages, or install a fresh Android SDK installation by clicking ‘Install Android SDK’.</li><li>See the updated Installation Instructions.<br /> </li></ul></li><li>Android SDK Install Wizard<ul><li>Installing the Android SDK was not easy for new users. They needed to go to the Android Developers’ website, download the command line tools zip file, unzip it to their computer, and then Install Packages to download and install the other Android packages.</li><li>There is now a simple wizard that takes you through all of these steps. See Tools > Android SDK > Install Android SDK.</li><li>You can now install the Android SDK from the Tools menu. See Tools > Install Android SDK.</li><li>You can check the Android SDK installation from the Tools menu. See Tools > Check Android SDK Installation.<br /> </li></ul></li><li>Updated documentation:<ul><li>Installation Instructions: updated section on installing the Android SDK, now using the Install Android SDK wizard.</li><li>Installing and Building on Mac: update sections on installing JDK and Android SDK.<br /> </li></ul></li><li>Updated Fonts:<ul><li><a href="https://software.sil.org/padauk/">Padauk</a> (5.000) (18 June 2021)</li><li><a href="https://software.sil.org/scheherazade/">Scheherazade New</a> (3.200) (15 July 2021).<br /> </li></ul></li><li>For iOS apps, the minimum deployment level has been changed to iOS 10.0.<br /> </li><li>Updated Libraries:<ul><li>Gradle compiler updated to version 7.1.1.</li><li>Firebase libraries updated to BoM 28.1.0.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>On the registration page, markdown links to web pages were not handled.</li><li>When building an Android App Bundle (AAB), the “Share app installer file” option should be disabled (since the APK file on the phone will be device-specific and not useful to share with others).</li></ul><p><strong>In the app builder:</strong></p><ul><li>Adaptive icons were not being saved if no background image or background color were defined.</li><li>When adding new user details fields to the registration page configuration, non-alphanumeric chars should be removed from the field code.</li><li>Do not show the ‘Allow skip’ checkbox in the Security configuration for device-specific access codes.</li><li>Do not show Lint errors when building Android app releases.</li><li>The download link for Azul JDK 8 needed updating.</li><li>Allow uploading projects to Scriptoria from multiple App Builders (e.g. KAB & DAB) at the same time.</li></ul><hr /><p><a name="v2.6.6"></a></p><h2>Keyboard App Builder 2.6.6</h2><p>Release date: 04 June 2021</p><h3>New Features and Improvements:</h3><ul><li>Added ‘View Apps in Group’ checkbox menu item to the root of the app tree on the left of the screen, to turn on and off viewing by group.<br /> </li><li>Optional ‘SKIP’ button on Registration screen.<br /> </li><li>Scriptoria Improvements:<ul><li>When a user uploads or downloads a project, an entry is added to the product details’ history of events.</li><li>The builder of the project in Scriptoria can add the authors so that the author can upload/download the project directly to Scriptoria. This requires the author to have a Scriptoria account.<br /> </li></ul></li><li>iOS App: Added support for Firebase realtime database and user registration.<br /> </li><li>Updated libraries used to build apps.<ul><li>Use latest AndroidX appcompat and material libraries.</li><li>Use mavenCentral rather than JCenter as the repository for downloading libraries.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>The registration screen could complain about a lack of internet connection in the latest versions of Android, even though there was an internet connection.</li><li>Allow links to image web pages in the About screen.</li></ul><p><strong>In the app builder:</strong></p><ul><li>If you tried to add an image from the images folder in the project data, the image file would be deleted.</li><li>On Windows, connecting to Scriptoria would only work once and then hang on subsequent attempts.</li><li>When uploading a project to Scriptoria, if there was something missing in the Google Play Listing, a warning would appear but it would still upload.</li><li>When downloading a project from Scriptoria, if the project name changed, then the project would not download correctly.</li></ul><hr /><p><a name="v2.6.5"></a></p><h2>Keyboard App Builder 2.6.5</h2><p>Release date: 04 May 2021</p><h3>Bugs Fixed:</h3><ul><li>If you exited the Android app using the back button and then selected the app again, the About menu item in the navigation drawer would be missing until the app was restarted.</li></ul><hr /><p><a name="v2.6.3"></a></p><h2>Keyboard App Builder 2.6.3</h2><p>Release date: 31 March 2021</p><p>Includes changes made in 8.6.1 and 8.6.2.</p><h3>New Features and Improvements:</h3><ul><li>The main toolbar in the App Builder now shows only those buttons that are applicable.<ul><li>When launching for the first time, only the ‘New App…’ button will appear. Other buttons will be shown when there is an app to build or install.<br /> </li></ul></li><li>Add option of “Always use main theme” for dark theme.<br /> </li><li>Installation changes:<ul><li>Windows 32-bit is no longer supported. Windows 64-bit is required.</li><li>When selecting the Android SDK folder in Settings, look in the parent and child folders of the selected folder if the folder was selected incorrectly.<br /> </li></ul></li><li><a href="https://software.sil.org/scheherazade/">Scheherazade New font</a> updated to version 3.100.</li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Added missing documentation PDF files.</li><li>Allow .jpeg files to be selected for screenshots on the Publishing > Store Listing page.</li><li>Validate build folder for Windows. If special/accented characters are in the default path, use C:\temp\SIL\build instead.</li><li>Include additional files in the Java runtime library.</li><li>Added more space for several French and Spanish translations.</li></ul><hr /><p><a name="v2.6"></a></p><h2>Keyboard App Builder 2.6</h2><p>Release date: 15 March 2021</p><h3>New Features and Improvements:</h3><ul><li>Include Java runtime to avoid JAR file association and high resolution screen problems<ul><li>After installing the App Builder on Windows, some users found that they could not launch the program because of incorrect JAR file associations. This has now been resolved by including a minimal Java runtime in the Windows setup program that is always used to run the App Builder (rather than searching for the Java runtime elsewhere on your computer).</li><li>This change will also mean better support for users with high resolution screens, since we use a more recent version of Java.<br /> </li></ul></li><li>Default images for menu items<ul><li>When adding additional menu items to the navigation drawer menu (e.g. Visit our website, Rate this app, etc.), default images are provided.<br /> </li></ul></li><li>Welcome screen<ul><li>The App Builder logo and a ‘New App…’ button have been added to the welcome screen, rather than it being a blank page.<br /> </li></ul></li><li>Install APK improvement<ul><li>Added more information about enabling USB debugging to the Install APK confirmation dialog.<br /> </li></ul></li><li>Keystore usability improvements<ul><li>When creating a new keystore, on the Alias page, you can choose to ‘Use the same password as on the previous page’.</li><li>When specifying a keystore, on the Signing page, you can choose to ‘Use the same password as above’ for the alias.</li><li>When trying to build an app, a warning is shown if the keystore password has been entered incorrectly.<br /> </li></ul></li><li>Updated Firebase and Material Design library versions.<br /> </li><li>Documentation improvements<ul><li>Building Apps: Added section on ‘Installing the app on your phone’.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Yes/No dialog boxes should be shown in the centre of the App Builder window, not the centre of the user’s desktop.</li></ul><hr /><p><a name="v2.5"></a></p><h2>Keyboard App Builder 2.5</h2><p>Release date: 12 February 2021</p><h3>New Features and Improvements:</h3><ul><li>Install Latest APK on Device<ul><li>If you have recently built an APK but didn’t have your phone connected to your computer, or if you want to install the same APK on multiple devices, you can use the ‘Install Latest APK on Device’ feature.</li><li>See “Install APK” on the main toolbar, or “Build > Install Latest APK on Device” from the main menu, or “ Install Latest APK on Device” on the right-click popup menu in the app tree on the left of the screen.</li><li>If no APK is found, you will be asked if you want to build it.<br /> </li></ul></li><li>User interface improvements:<ul><li>Themes: allow striped tables which is defined for some themes (Light Flat and Dark Flat).</li><li>Increased the height of the Project Description field.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>If a non-existant Android SDK folder was specified, the Settings dialog could not be opened again.</li><li>The final page of a wizard should have a ‘Finish’ button rather than a ‘Next >’ button.</li><li>On Windows, correctly determine Classic mode for dialog frames.</li></ul><hr /><p><a name="v2.4"></a></p><h2>Keyboard App Builder 2.4</h2><p>Release date: 15 January 2021</p><h3>New Features and Improvements:</h3><ul><li>New look and feel to the app builder desktop interface, with a choice of themes.<ul><li>Updated folder and book icons for the app tree on the left of the screen.</li><li>To change the theme, go to Tools > Settings > Interface.</li><li>You can specify a dark theme to be used if the app builder is launched when the computer is in dark mode.<br /> </li></ul></li><li>Enhancements to app publishing with Scriptoria:<ul><li>If an app project is in Scriptoria, you can download it (File > Open App using Scriptoria)</li><li>You can download the latest version of the app from Scriptoria (see the Download button on the Publishing page).</li><li>Updated Google Play listing languages (added 13 languages) to match what is available in the Google Play Developer Console.<br /> </li></ul></li><li>Improved responsiveness of the Interface pages and translation tables in the app builder.<br /> </li><li>Updated Installation Instructions:<ul><li>Android SDK command line tools are now in cmdline-tools folder.</li><li>The recommended JDK is now Azul Zulu OpenJDK.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Android SDK command line tools were not being found in the cmdline-tools folder.</li><li>When installing Android SDK packages in the Settings > Android SDK tab, the Platform API version number would stay red, “Not Found”, after completing the installation.</li></ul><hr /><p><a name="v2.3.1"></a></p><h2>Keyboard App Builder 2.3.1</h2><p>Release date: 19 November 2020</p><h3>New Features and Improvements:</h3><ul><li>Added <a href="https://software.sil.org/scheherazade/">Scheherazade New font</a> – an Arabic script font.<br /> </li><li>Updated Firebase libraries to use the latest versions.</li></ul><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>Apps were containing a reference to an AdMob library (a sub-dependency of Firebase Analytics) which could cause Google Play to ask whether the app contained ads.</li></ul><p><strong>In the app builder:</strong></p><ul><li>The user registration configuration dialog did not appear when clicking ‘Configure Registration’ on the App > Security tab.</li></ul><hr /><p><a name="v2.3"></a></p><h2>Keyboard App Builder 2.3</h2><p>Release date: 05 November 2020</p><h3>Bugs Fixed:</h3><p><strong>In the app builder:</strong></p><ul><li>Logging into Scriptoria to send the project data could fail.</li><li>On macOS, trying to create a new keystore would fail.</li><li>On macOS, dragging the window to a secondary monitor would cause the App Builder to crash.</li></ul><hr /><p><a name="v2.2"></a></p><h2>Keyboard App Builder 2.2</h2><p>Release date: 14 October 2020</p><h3>New Features and Improvements:</h3><ul><li>Allow creating an app which does not require Network or Write permissions. Minimum Android Platform should be set to “Android 4.4 KitKat (API 19)” and turn off “Features > Sharing > Share app installer file” which is on by default.<br /> </li><li>Updated code signing certificate for Windows installs.</li></ul><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>There were sharing permission problems in Android 10, e.g. sharing the APK file.</li></ul><p><strong>In the app builder:</strong></p><ul><li>Selecting a table row with the left mouse button and then right-clicking could be interpreted as a double-click.</li></ul><hr /><p><a name="v2.1"></a></p><h2>Keyboard App Builder 2.1</h2><p>Release date: 26 August 2020</p><h3>New Features and Improvements:</h3><ul><li><a href="https://keyman.com" target="_blank" rel="noopener">Keyman</a> Engine updated to version 13.0.6216.<br /> </li><li>About box improvement:<ul><li>If you put three or more hyphens (---), asterisks (***) or underscores (___) on a line without any other text, the app will display a horizontal line.<br /> </li></ul></li><li>Updated AndroidX libraries.</li></ul><hr /><p><a name="v2.0.1"></a></p><h2>Keyboard App Builder 2.0.1</h2><p>Release date: 11 August 2020</p><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>When using the access code security method, the key was not being read correctly from the project configuration file.</li></ul><p><strong>In the app builder:</strong></p><ul><li>Android app compilation failed when using both Firebase and Amplitude analytics in the same app.</li><li>When showing the building app progress bar, the title was not displayed correctly.</li></ul><hr /><p><a name="v2.0"></a></p><h2>Keyboard App Builder 2.0</h2><p>Release date: 04 August 2020</p><h3>New Features and Improvements:</h3><ul><li>Android apps are compiled for Android 10<ul><li>Google Play now requires new apps to be compiled for Android 10.</li><li>Apps can still be installed on Android 4.0 (Ice Cream Sandwich) and above.<br /> </li></ul></li><li>Facebook Analytics<ul><li>Basic support: integration of Facebook SDK library for logging when the app is launched.</li><li>To add Facebook, go to Analytics, click Add Analytics Account, and select Facebook Analytics as the Account Type. Enter your Facebook App ID.<br /> </li></ul></li><li>Android App Bundles<ul><li>Instead of creating an APK (or multiple APKs), you can create an Android App Bundle to upload to Google Play.</li><li>Select Build > “Build Android App Bundle” in the main menu, or right-click on an app name in the left-hand menu, and select “Build Android App Bundle”.<br /> </li></ul></li><li>Updated libraries:<ul><li>Gradle build tool updated to version 6.5.1.</li><li>Firebase libraries updated to latest versions.</li><li>Crashlytics library updated to use latest Firebase version.</li></ul></li></ul><hr /><p><a name="v1.1"></a></p><h2>Keyboard App Builder 1.1</h2><p>Release date: 09 July 2020</p><h3>New Features and Improvements:</h3><ul><li>Updated <a href="https://keyman.com" target="_blank" rel="noopener">Keyman</a> Engine to version 13.0.6214.<br /> </li><li>Navigation Drawer improvements<ul><li>The text size of navigation drawer menu items is now adjustable according to the interface language text size.<br /> </li></ul></li><li>The App Builder macOS app is notarized.</li></ul><h3>Bugs Fixed:</h3><ul><li>Android 5.0 and 5.1 devices could crash on startup due to a bug in the androidx appcompat library.</li><li>If an expiry data was set with the app exiting on tapping OK in the message, if the user tapped outside the message, the app would not exit.</li></ul><hr /><p><a name="v1.0"></a></p><h2>Keyboard App Builder 1.0</h2><p>Release date: 16 May 2020</p><h3>New Features and Improvements:</h3><ul><li>Spanish translations<ul><li>The app builder interface for 7.0 now has a complete translation in Spanish. To use it, go to Tools > Settings > Interface.</li><li>Added missing app translations in Spanish.<br /> </li></ul></li><li>Updated libraries<ul><li>Latest Firebase libraries.</li></ul></li></ul><h3>Bugs Fixed:</h3><p><strong>In the Android app:</strong></p><ul><li>The device back button did not take you out of the app when you were in the home screen.</li><li>Various stability improvements.</li></ul><hr /><p><a name="v0.9.1"></a></p><h2>Keyboard App Builder 0.9.1</h2><p>Release date: 27 April 2020</p><h3>New Features and Improvements:</h3><ul><li>Added more information on app screens in ‘Building Apps’ documentation.</li></ul><hr /><p><a name="v0.9"></a></p><h2>Keyboard App Builder 0.9 (beta)</h2><p>Release date: 24 April 2020</p><p>First public beta release.</p></div></section></article></div><div class="col-md-4 col-sm-4"><nav id="sidebar_main" class="nav menu"><div><div class="textwidget"><a href="https://software.sil.org/keyboardappbuilder"><img class="sps-sidebar-logo" src="https://software.sil.org/keyboardappbuilder/wp-content/uploads/sites/56/2020/04/KAB_80.png" title="Back to Keyboard App Builder"></a></div></div><div><div class="menu-sidebarmenu-container"><ul id="menu-sidebarmenu" class="menu"><li id="menu-item-1296" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1296"><a href="https://software.sil.org/keyboardappbuilder/features/">Features</a></li><li id="menu-item-2016" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2016"><a href="https://software.sil.org/keyboardappbuilder/learn/create-custom-keyboard-apps/">How to Create Customized Keyboard Apps</a></li><li id="menu-item-629" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-629"><a href="https://software.sil.org/keyboardappbuilder/learn/">Documentation</a></li><li id="menu-item-743" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-743"><a href="https://software.sil.org/keyboardappbuilder/download/">Downloads</a></li><li id="menu-item-704" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-495 current_page_item menu-item-704"><a href="https://software.sil.org/keyboardappbuilder/release-notes/" aria-current="page">Release Notes</a></li><li id="menu-item-1813" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1813"><a href="https://software.sil.org/keyboardappbuilder/help/faq/">FAQ</a></li></ul></div></div></nav></div></div></div></section><div class="footer-top-bg"><aside id="license"><div class="container fullwidth"><div><div class="textwidget"><p>There is no charge for using this software. See the <a href="http://software.sil.org/keyboardappbuilder/license/">License</a>.</p><p>See the <a href="http://software.sil.org/keyboardappbuilder/developer">Developer</a> page for information on future development plans.</p></div></div></div></aside><aside id="donate"><div class="container fullwidth"><div><div class="textwidget"><p>Please also consider a <a href="http://software.sil.org/give">donation</a> to support our work.</p></div></div></div></aside></div><footer class="footer-top"><div class="container"><div class="row"><nav class="col-xs-7 col-md-3"><div><h2>SIL International</h2><div class="menu-footer_sil-container"><ul id="menu-footer_sil" class="menu"><li id="menu-item-46" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-46"><a target="_blank" rel="noopener" href="http://www.sil.org/about/discover">Discover SIL</a></li><li id="menu-item-47" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-47"><a target="_blank" rel="noopener" href="http://www.sil.org/langculture">Language & Culture</a></li><li id="menu-item-48" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-48"><a target="_blank" rel="noopener" href="http://www.sil.org/language-development">Language Development</a></li><li id="menu-item-49" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-49"><a target="_blank" rel="noopener" href="http://www.sil.org/about/news">SIL News</a></li></ul></div></div></nav><nav class="col-xs-5 col-md-3"><div><h2>Language Technology</h2><div class="menu-footer_software-container"><ul id="menu-footer_software" class="menu"><li id="menu-item-1958" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1958"><a href="https://software.sil.org/software-products/">Software Products</a></li><li id="menu-item-1959" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1959"><a href="https://software.sil.org/news/">Software & Font News</a></li><li id="menu-item-1960" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1960"><a target="_blank" rel="noopener" href="https://lingtransoft.info/">LingTranSoft</a></li><li id="menu-item-1961" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1961"><a target="_blank" rel="noopener" href="https://www.ethnologue.com/">Ethnologue</a></li><li id="menu-item-1962" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1962"><a target="_blank" rel="noopener" href="https://iso639-3.sil.org/">Language Codes (ISO 639-3)</a></li></ul></div></div></nav><nav class="col-xs-7 col-md-3"><div><h2>Fonts & Writing Systems</h2><div class="menu-footer_fonts-container"><ul id="menu-footer_fonts" class="menu"><li id="menu-item-57" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-57"><a href="http://scriptsource.org">ScriptSource</a></li><li id="menu-item-58" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-58"><a href="http://scripts.sil.org">Computers & Writing Systems</a></li><li id="menu-item-59" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-59"><a href="https://software.sil.org/fonts/">Font Catalog</a></li><li id="menu-item-60" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-60"><a href="http://software.sil.org/andika">Andika</a></li><li id="menu-item-61" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-61"><a href="http://software.sil.org/annapurna">Annapurna SIL</a></li><li id="menu-item-62" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-62"><a href="https://graphite.sil.org">Graphite</a></li><li id="menu-item-63" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-63"><a href="https://openfontlicense.org/">SIL Open Font License</a></li></ul></div></div></nav><nav class="col-xs-5 col-md-3"><div><h2>Contact & Support</h2><div class="menu-footer_contact-container"><ul id="menu-footer_contact" class="menu"><li id="menu-item-1882" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1882"><a href="https://software.sil.org/keyboardappbuilder/about/contact/">Contact</a></li><li id="menu-item-1888" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1888"><a href="https://software.sil.org/keyboardappbuilder/help/">Get Help</a></li><li id="menu-item-1753" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1753"><a href="https://software.sil.org/keyboardappbuilder/service/">Scriptoria</a></li></ul></div></div></nav></div></div></footer> <script defer src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwoJdmFyIHJlbGV2YW5zc2lfcnRfcmVnZXggPSAvKCZ8XD8pXyhydHxydF9ub25jZSk9KFx3KykvZwoJdmFyIG5ld1VybCA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gucmVwbGFjZShyZWxldmFuc3NpX3J0X3JlZ2V4LCAnJykKCWhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsIG51bGwsIHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArIG5ld1VybCArIHdpbmRvdy5sb2NhdGlvbi5oYXNoKQovKiBdXT4gKi8K"></script> <span aria-hidden="true" id="to_top_scrollup" class="dashicons dashicons-arrow-up-alt2"><span class="screen-reader-text">Scroll Up</span></span> <!--noptimize--><script type='text/javascript'> /* <![CDATA[ */ r3f5x9JS=escape(document['referrer']); hf4N='ac724b4e58e0c4c670ab86b90236913c'; hf4V='820ad0b387c7edcdb2c732a992965669'; jQuery(document).ready(function($){var e="#commentform, .comment-respond form, .comment-form, #lostpasswordform, #registerform, #loginform, #login_form, #wpss_contact_form, .wpcf7-form";$(e).submit(function(){$("<input>").attr("type","hidden").attr("name","r3f5x9JS").attr("value",r3f5x9JS).appendTo(e);return true;});var h="form[method='post']";$(h).submit(function(){$("<input>").attr("type","hidden").attr("name",hf4N).attr("value",hf4V).appendTo(h);return true;});}); /* ]]> */ </script><!--/noptimize--> <script type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-includes/js/dist/hooks.min.js?ver=2810c76e705dd1a53b18" id="wp-hooks-js"></script> <script type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script defer id="wp-i18n-js-after" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp3cC5pMThuLnNldExvY2FsZURhdGEoIHsgJ3RleHQgZGlyZWN0aW9uXHUwMDA0bHRyJzogWyAnbHRyJyBdIH0gKTsKLyogXV0+ICovCg=="></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_efc27e253fae1b7b891fb5a40e687768.php?ver=5.9.8" id="swv-js"></script> <script defer id="contact-form-7-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BjZjcgPSB7ImFwaSI6eyJyb290IjoiaHR0cHM6XC9cL3NvZnR3YXJlLnNpbC5vcmdcL2tleWJvYXJkYXBwYnVpbGRlclwvd3AtanNvblwvIiwibmFtZXNwYWNlIjoiY29udGFjdC1mb3JtLTdcL3YxIn0sImNhY2hlZCI6IjEifTsKLyogXV0+ICovCg=="></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_0b1719adf5fa7231cb1a1b54cf11a50e.php?ver=5.9.8" id="contact-form-7-js"></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_6dab2d99e19210a36d3ecf142662edb1.php?ver=1c3f99931113e4e267889c96f3b63dc5" id="silps-site.js-js"></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/themes/web-productsites/vendor/twbs/bootstrap/dist/js/bootstrap.min.js?ver=1c3f99931113e4e267889c96f3b63dc5" id="silps-bootstrap.min.js-js"></script> <script defer type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=6LfCipIUAAAAAN9mXpp-m6tKMR-Hn3lny6DTR46h&ver=3.0" id="google-recaptcha-js"></script> <script type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-includes/js/dist/vendor/wp-polyfill.min.js?ver=3.15.0" id="wp-polyfill-js"></script> <script defer id="wpcf7-recaptcha-js-extra" src="data:text/javascript;base64,Ci8qIDwhW0NEQVRBWyAqLwp2YXIgd3BjZjdfcmVjYXB0Y2hhID0geyJzaXRla2V5IjoiNkxmQ2lwSVVBQUFBQU45bVhwcC1tNnRLTVItSG4zbG55NkRUUjQ2aCIsImFjdGlvbnMiOnsiaG9tZXBhZ2UiOiJob21lcGFnZSIsImNvbnRhY3Rmb3JtIjoiY29udGFjdGZvcm0ifX07Ci8qIF1dPiAqLwo="></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/cache/autoptimize/56/autoptimize_single_ec0187677793456f98473f49d9e9b95f.php?ver=5.9.8" id="wpcf7-recaptcha-js"></script> <script defer type="text/javascript" src="https://software.sil.org/keyboardappbuilder/wp-content/plugins/wp-spamshield/js/jscripts-ftr2-min.js" id="wpss-jscripts-ftr-js"></script> <footer class="footer-bottom"><div class="container"><div class="row"><nav class="col-xs-12 col-md-6"><p>Copyright © 2024 <a href="https://www.sil.org/" title="" class="active">SIL Global</a></p></nav><nav class="col-xs-12 col-md-6"><ul class="nav nav-horizontal"><li class="first leaf active"><a href="/terms-of-use" title="" class="active">Terms of Use</a></li><li class="last leaf active"><a href="/privacy-policy" title="" class="active">Privacy Policy</a></li></ul></nav></div></div></footer></body></html> <!-- Dynamic page generated in 0.697 seconds. --> <!-- Cached page generated by WP-Super-Cache on 2024-11-23 12:47:16 --> <!-- Compression = gzip -->