What's new in Al-Kindi 0.8 (release date: Apr 10, 2013) ------------------------------------------------------- * Handle mouse events on suggestion div to enable user select it by mouse click. * Stop form data auto complete suggestion for Textbox by browser instead of Al-Kindi. * Suggestion div now presents multi-line content without omit line breaks. * Fix issue of lose line breaks in the multi-line input when handle textarea content on IE browser. What's new in Al-Kindi 0.7 (release date: Oct 22, 2012) ------------------------------------------------------- * Fix issue of submit form when click on Enter button after select alterative text (only input text). * Fix minor issues in the server side language detection algorithm on how to tag input text language, bad conversion of both double and single quotes, as well as when to handle caps lock letters case. * Handle issue of bad caps lock setting for English input. * Improve performance by compress JavaScript code using gzip, and add some caching by set related expire header. * Insert Al-Kindi icon next to each assigned input field. * Clear suggestion DIV once user select it or move to another input item. * You have more control on suggestion div presenting style using kindiBgColor and kindiFont properties. * Add property to set the debug mode where 0 refer to production mode (i.e. hide language scores) and 1 refer to debug mode. * Encapsulate Al-Kindi JavaScript functions in a class form using OOP technique. * Test it on Opera and Safari browsers to check the compatibility issues, it works fine but we found one critical issue with Opera browser where we have to add Al-Kindi including script at the end of the html page to work properly (i.e. once DOM structure is ready). What's new in Al-Kindi 0.6 (release date: Aug 24, 2012) ------------------------------------------------------- * Fix IE compatibility issues: - Use "ActiveXObject("MSXML2.XMLHTTP")" instead of "XMLHttpRequest()" - Use "obj.attachEvent('onkeyup'," instead of "obj.addEventListener('keyup'," - Use "window.event" instead of "e" - Use "event.srcElement" instead of "event.target" - Use "event.charCode" instead of "event.keyCode" - Use "obj.setAttribute(name, value, 0) instead of "obj.setAttribute(name, value)" - Use "obj.style.setAttribute(" instead of "obj.setAttribute('style'," - Use "obj.style.backgroundColor" instead of "obj.getAttribute('style')" - Use "rgb(255, 255, 204)" instead of "#ffffcc" - Use "obj.value.charAt(0)" instead of "obj.value[0]" - IE don't pass event to function call within setTimeout! Create a copy of the event and pass it. * Send AJAX requests using POST method instead of GET to handle longer text input in proper way. * Faster response by exclude on browser actions from waiting for last key press. * Accept wildcards in kindiFields array, where "text" refer to all text inputs, "textarea" for all text areas, and "all" for both; You can even define the scope of this wildcard within specific form by add the form id as a prefix and use : as separator, for example "form_id:all" * Improve language detection algorithm in the server side script by add negative weight for unexpected characters rather than ignore them. * Improve server side script security by convert all applicable characters in sent data into HTML entities. * Implement cross-origin resource sharing on server side script by send proper Access-Control-Allow-Origin HTTP header. * Collect usage statistics including request time, host domain name, and user agent information. * Fix issue of abort on blur AJAX request when next item is also assigned to Al-Kindi action and fire another request. * Fix how server side script handles new lines to avoid weird unstable results. * Use "kindi" prefix in all JavaScript functions and public variables to avoid any conflict with other JavaScript libraries. What's new in Al-Kindi 0.5 (release date: Aug 15, 2012) ------------------------------------------------------- * Handle English Caps Lock case in detect language functionality. * Minimize server side calls on key press and do it only 0.5 second after last key press. * Add on blur event to standardize Arabic punctuation to follow writing standards just like magazine rules. * Fix issue of multi-line text as well as other non-ASCII special characters encoding in AJAX request. What's new in Al-Kindi 0.4 (release date: Aug 7, 2012) ------------------------------------------------------- * Fix compatibility issue in Firefox browser (related to pass event object). * Better initialization mechanism using dynamic assign events. * Merge detect language and detect direction functionalities. * Migrate detect direction functionality to JavaScript to run faster at browser side. * Be able to handle multiple fields in the same page. * No need to JSON.parse (so it will be compatible with old versions of IE). What's new in Al-Kindi 0.3 (release date: Jul 28, 2012) ------------------------------------------------------- * First public release :o)