Release Notes

To prevent exceptions being reported about problems loading the Dict File (which could be a security risk as it could provide information about the existence of system files), please disable warnings when deploying to production. 1. Set a parameter called RapidSpellHideDictFileExceptions in web.xml to "true". eg.
<?xml version="1.0" encoding="UTF-8"?>

<web-app ...>

    <context-param>
        <param-name>RapidSpellHideDictFileExceptions</param-name>
        <param-value>true</param-value>
    </context-param>

....
</web-app>
It may be necessary to restart the app. server after changing the web.xml, for it to have effect.

5.2.0

Breaking Changes:

See 5.0.0 release notes below if you are upgrading from v4 or older. Otherwise no breaking changes

Improvements
-Added ability to set field labels for the dialog checker with JS mode usage, see Dialog page in the help.
-IE7 Fix browser contextmenu being shown when right clicking on error word.
-Chrome v57 introduced an issue with INPUT (single line) text boxes being wrongly sized in height, which has been fixed.
-Fixed issue with cursor not being visible (when first clicked) in single line text boxes in Chrome.
-Russian translation correction.

5.1.0

Breaking Changes:

See 5.0.0 release notes below if you are upgrading from v4 or older. Otherwise no breaking changes

Improvements
-Added Polish and Russian UI texts
-Added support for jQuery Combobox
-Added support for jQuery autosize - please email support@keyoti.com for info
-Added documentation on using with KendoUI rich text box, see 3rd party text box section of the help
-Improved handling of textboxes made invisible and then visible again
-Added rsw_unregisterTextBox(textBoxId) function to remove textbox from spell checker
-Added preventDefaultCurrentEvent function to allow event cancellation (eg key events), see the Client Scripting section of the help
-Added double click event mapping to original textbox with as you type mode
-Addressed nodeValue being deprecated
-Fixed Firefox issue with newlines
-Fixed bug with textboxes marked to be ignored being picked up under certain conditions
-Prevent suggestions context menu being hidden as textboxes are initialized
-Fix bug in text reconciliation (for text changes occurring after a spell request was sent)
-Map double click events to source textbox handler (for AYT)
-Added submitOnEnterForSingleLine property to TBS objects to allow Enter to trigger form submit - please email support@keyoti.com for info
-Fix placeholder bug
-Added rapidSpell.ayt_forceNoScrollBars to allow complete override of scroll bars in AYT textboxes (false by default), useful with older browsers in certain document modes

5.0.0

Breaking Changes:

There are 3 breaking change sections below, please check them for their applicability to your project (if you need help just email support@keyoti.com). The changes relate to user options, popup window javascript function/variable naming and a new CSS block that must be added to your popup.jsp (if applicable).

User options

A new feature is user options in the dialog spell checker, which give the user the ability to enable/disable spell check options such as ignore words with numbers, ignore uppercase, ignore improper case and ignore internet addresses. These options are stored in the user's cookie and will override any same setting made in code (such as with rapidSpell.setParameterValue(...)).

To disable this functionality call (for Javascript based usage):

rapidSpell.setParameterValue('default', 'EnableOptions', 'false');

or (for JSP Tag based usage), set enableOptions to false in the RapidSpellWebLauncher tags.

Popup window variable and function names (small possibility you are affected)

To implement the new jQuery based dialog it was necessary to incorporate the popup window scripts on the main page. This necessitated renaming of some Javascript variables and functions, and HTML elements. Therefore if your code is reliant on the elements in the page holding RapidSpellWeb tag (the popup) being named a certain way (eg. you have Javascript that references HTML elements from our RapidSpellWeb tag, or you have Javascript that calls our functions) then you will need to update references to the new names (in most cases the names have been prepended with "rsw_". If you are unsure, please send your JSP page that holds the RapidSpellWeb tag to support@keyoti.com and we will advise.

Example, you have a customized popup UI, with this code:

<FinishButton BorderWidth="" Font-Size="9pt" Font-Names="Verdana" Font-Bold="True" BorderColor=""
						ForeColor="" BackColor="SkyBlue" Height="" Width="100px" CssClass="" type="button" value="Finish"
						onclick="finish(true);" style="width:100px;font-family:Verdana;font-size:9pt;font-weight:bold;background-color:#87ceeb;"
						ID="cancelButton"></FinishButton>

The ID of the cancel button has changed and should be updated to:

ID="rsw_cancelButton"

Other changes are:

changeSuggestions() => rsw_changeSuggestions()
ignoreCurrent() => rsw_ignoreCurrent()
ignoreAll() => rsw_ignoreAllInstances
change() => rsw_change()
changeAll() => rsw_changeAll()
addCurrent() => rsw_addCurrent()
undoChange() => rsw_undoChange()

Other function and variable names have changed, but it is expected that they have not been used publically. It is recommended that you retest any popup scripts that have been added, or send to us for our guidance.

Popup window requires new CSS block

To support the user options, a CSS style block must be added to the popup.aspx page (note that your popup page may be named a different name, it will be the ASPX page holding the <RapidSpellWeb> Server Control). Please add the following to the head tags.

<style type="text/css">

		body{overflow:hidden;
			 font-family: sans-serif, arial, helvetica;

		}
		div{height:100%;}

		#rsw_documentTextPanel
		{
			border: 1px solid #aaa;
			border-radius: 3px;
		}
		#rsw_word, #suggestions
		{
			border: 1px solid #aaa;
			border-top-color: #a0a0a0;
		}
		#rsw_optionsDialog
		{
			font-size:.80em;
			display: none;
			position: absolute;
			margin-left: auto;
			margin-right: auto;
			margin-top: auto;
			margin-bottom: auto;
			left: 0;
			right: 0;
			top: 0;
			bottom: 0;
			width: 295px;
			height: 230px;
			z-index: 101;
			background-color: white;
			border: 1px solid #444;
			border-radius: 5px;
			padding: 8px;
		}
		#rsw_optionsDialog_Backing
		{
			display: none;
			position: absolute;
			margin-left: auto;
			margin-right: auto;
			margin-top: auto;
			margin-bottom: auto;
			left: 0;
			right: 0;
			top: 0;
			bottom: 0;
			width: 100%;
			height: 100%;
			background-color: rgba(100,100,100,.60);
			z-index: 100;
		}
		#rsw_optionsDialog > label
		{
			display: block;
			padding-bottom: 12px;

		}
		#rsw_optionsDialog > input
		{
			margin-right: 9px;
			margin-top:12px;
		}
		#rsw_optionsHeader
		{
			font-size: 1.2em;
			border-bottom: 1px solid #aaa;
		}
	</style>
Improvements
-Spell check options dialog added.
-Added support for the context menu key on the keyboard, and enabled selection of suggestion menu items with keyboard.
-Edge browser support added.
-jQuery UI based dialog mode added (for Javascript based usage only).
-Modal mode improvement to use jQuery UI dialog (must enable with rapidSpell.dialog_setUseDivDialog(true);) (for Javascript based usage only)
-Smaller bug fixes
4.2.0 ----- -Spell checker can now look for elements to check by their class rsw_spellable. This allows textboxes to be checked by inclusively specifying them rather than excluding them. -Address some XSS issues with dialog spell checker. -Fix IE11 not tabbing to other textboxes. -Fix issue parsing some HTML content with entities. -Fix textbox overlay sizing issue with RapidSpellWInline tag usage and IE7, in static mode. Backwards Compatibility -Compatible with 4.1.0 4.1.0 ----- -Make dictionary cache reload modified versions of a dictionary. -Added ability to ignore URLs and emails. -Added support for cross subdomain usage. -Fix bug with dialog spell checker freezing. -Fix Chrome/FF cursor positioning bug. Backwards Compatibility -The new text parser is more accurate around symbols, and allows the control to ignore emails and URLs. To deactivate URL/Email ignoring set IgnoreURLsAndEmailAddresses=false, to revert to the old parser set V2Parser=false (note V2 refers to the version of the parser, not the version of the controls). If you have customized the spell checker to handle symbols differently, it is recommended that you check functionality is the same with the V2Parser enabled. -The 'static mode' overlay has changed from being absolutely positioned to temporarily setting the target textbox to display:none and inserting the overlay in the DOM before the target textbox - we recommend checking that this does not have detrimental effects on layout in your apps. Set rsw_absolutePositionStaticOverlay = true; in Javascript on the page to revert to old behavior. 4.0.0 ----- Up until v4 everything was JSP Tag based, nothing was Javascript client based. During this period of time other technologies have been released, such as JSF, JQuery, etc - the trend has been for developers to be more Javascript aware. With multiple 'form factors' in use, it makes sense for RapidSpell Web v4 to become Javascript based, which has advantages; -Usable with technologies that don't support JSP tags -Simpler usage, 99% automatic -Smaller footprint on your application -Simpler product development (less mirroring of properties) We are including the Tags for developers who are not comfortable with Javascript and for backwards compatibility. As you develop new pages we urge you to try using the Javascript based methodology as we're sure you'll find it better. Backwards Compatibility -Is backwards compatible, no code changes required. To transition away from the control based usage please remove the controls and follow the Help instructions on JS based usage. -"ShareDictionary" code from prior versions is ignored as it has been superseded by automatic caching. Improvements -As you type support added for Chrome and Safari browsers -Inclusion of simpler, more flexible automatic setup scripts, which will spell check all textboxes unless otherwise indicated (see docs). -Automatic dictionary caching, supports multiple dictionaries per app. -Filter suggestions that would make text longer than 'maxlength' -Inline ignore all removes underlines in all text boxes and not just current 3.2.0 ----- -Support Internet Explorer 9 -Support Firefox 4 -Fix occasional cursor jumping in IE -Fix issue with ALT code characters disappearing in RapidSpellWInlineTextBox with as-you-type if they were the last character entered. Backwards Compatibility ----------------------- ************************************************************************* BREAKING CHANGE Due to a security concern relating to the user dictionary file mechanism, we have implemented a global parameter to prevent malicious injection attacks. If you are in a secure environment (eg. a protected intranet app) then you can revert to legacy behavior by either setting RapidSpellUserDictionaryLegacyMode to true in web.xml, eg. RapidSpellUserDictionaryLegacyMode true .... OR - by setting legacyUserDictionaryMode="true" in the RapidSpellWeb tag (this tag is in the popup). OTHERWISE - As of 3.2 please set a paramter called RapidSpellUserDictionaryDirs in web.xml to a comma delimited list of directories where you intend to store user dictionary files. eg. RapidSpellUserDictionaryDirs C:\my-app\user-dicts\ .... this will mean that userDictionaryFile in the tags must be set to a file under C:\my-app\user-dicts\. ALSO, user dictionaries must now be .txt files, so with the above setting a valid userDictionaryFile value is "c:\my-app\user-dicts\somename.txt" ************************************************************************* Version 2 license keys are NOT usable with v3, please purchase an upgrade. Version 3 is fully backwards compatible with v2.0. The "callBack" property/attribute in RapidSpellWebLauncher class/tag has been deprecated for "popup" mode - please remove calls to it. It is still in use for "separate" mode. The RapidSpellWeb.tld file no longer needs to be placed in the WEB-INF folder, please register the taglib in your JSPs with; <%@ taglib uri="http://www.keyoti.com/" prefix="RapidSpellWeb" %> History ------- 3.1.0 ----- -Global change all added to the dialog spell checker - set globalChangeAll="false" in RapidSpellWeb tag to deactivate. -Fix 'focus flash' in FF3 with multiple text boxes at end of spell check. 3.0.1 ----- -Fix for FF3 issue with multiple text boxes in dialog mode 3.0.0 ----- -Inline and as-you-type spell checking added -Improved support for Struts and JSF -Ignore all action now global to all text boxes -Multiple RapidSpellWebMultiple tags can now be used -It is now assumed that the character encoding used in application servers will be UTF-8 (instead of the previous value of "8859_1"), if this is not correct then non ASCII chars (i.e. accents) may appear as boxes or question marks. The RapidSpellWeb tag (popup) has an attribute assumedApplicationEncoding which can be set to whatever encoding the application server is using. -Dictionary update. Backwards Compatibility ----------------------- Version 2 license keys are NOT usable with v3, please purchase an upgrade. Version 3 is fully backwards compatible with v2.0. The "callBack" property/attribute in RapidSpellWebLauncher class/tag has been deprecated for "popup" mode - please remove calls to it. It is still in use for "separate" mode. The RapidSpellWeb.tld file no longer needs to be placed in the WEB-INF folder, please register the taglib in your JSPs with; <%@ taglib uri="http://www.keyoti.com/" prefix="RapidSpellWeb" %> 2.4.0 Notes & Backward Compatibility ------------------------------------ The "callBack" property/attribute in RapidSpellWebLauncher class/tag has been deprecated for "popup" mode - please remove calls to it. It is still in use for "separate" mode. "Smooth transitions" & "Undo" functionality have been added to this version (see below) and are enabled by default, since this changes behaviour from previous versions, you may wish to disable them, but setting RapidSpellWebLauncher.enableUndo = false, and RapidSpellWebMultiple.useSmoothTransitions = false. 2.4.1 Improvements ------------------ -LeaveWindowOpenForUndo property added to RapidSpellWebLauncher to set whether the popup stays open after the last error is dealt with, giving the user a chance to undo their change before committing. 2.4.1 Fixes ----------- -Fixed performance related issue with certain JDK versions. 2.4.0 Improvements ------------------ -Smooth transitions (between text boxes) for RapidSpellWebMultiple has been added (useSmoothTransitions property) -Undo functionality has been added (enableUndo property in RapidSpellWebLauncher) -Improved suggestions for short (2, 3 letter) words -LookIntoHyphenatedText property added to RapidSpellWebLauncher -CheckCompoundWords Property added to RapidSpellWebLauncher 2.4.0 Fixes ----------- -Required UI properties added. -Updated .tld file. 2.3.0 Improvements ------------------ -New RapidSpellWebMultiple Tag makes multiple check boxing cleaner and simpler. -Duplicate word detection added. -Script filtering added to prevent malicious Javascripts in text from running. -setDictFileStream in RapidSpellWeb tag and RapidSpellChecker facilitates Dict file loading from alternative sources (such as WAR files). -Safari and Opera browser support. -SSL friendly, SSL sites are now supported without the mixed content warning (set SSLFriendly attribute to true in Tags). -Modal popups supported with modal attribute in RapidSpellWebLauncher -Popup window position now settable. -buttonImageMouseOut/Over/Down attributes allow images to be used instead of buttons, easily. -New properties added to define element styles in spell checker. -Portuguese UI texts and parser added to support new dictionary. -allowMixedCase attribute added to optionally allow errors such as "aFrIca" (default: false). 2.3.0 Fixes ----------- -No bugs to fix. 2.2.0 Improvements ------------------ -Improved suggestions algorithm for shorter words (5 letters or less) 2.2.0 Fixes ----------- -User dictionary and accented characters, malfunctions. 2.1.0 Improvements ------------------ -Servlet compatibility has been added, allowing RapidSpell Web Java to be used with full functionality in Servlets. -Smoother multiple text box checking, multiple text boxes can be checked with one button (consult demo). -Dict file functionality added for run-time switchable dictionaries. -International UI text added for French, German, Spanish and Italian. 2.0.2 Fixes ----------- -If the user pressed enter in the change text field a 404 error occurred, behaviour has been corrected to change the word to new text. -Accented characters not being picked up correctly when HttpServletRequest encoding not set to UTF8, fixed. 2.0.1 Fixes ----------- -An issue with WebLogic Server and the custom layout of the spell checker using the Layout property. WebLogic fails to accept properties with newline characters in them. This property may be entered without new lines in them. 2.0.0 Fixes ----------- -An error in the TLD prevented operation with WebLogic Server, this has been corrected.