-
Notifications
You must be signed in to change notification settings - Fork 367
Change Log
17 August 2022
Rangy 1.3.1 released. Changes since 1.3.0:
- Added
setBaseAndExtent()
on selection - Added
type
property to selection - Added
parentElement()
on range - Class applier: fix bug (see #454). Turns out I fixed this in 2015 but never rebuilt and published.
10 May 2015
Rangy 1.3.0 released. Changes since beta 2:
- Amend Range.intersectsNode to conform to DOM4
- Fixes for issues https://github.com/timdown/rangy/issues/164, https://github.com/timdown/rangy/issues/259, https://github.com/timdown/rangy/issues/293, https://github.com/timdown/rangy/issues/304, https://github.com/timdown/rangy/issues/305
- Other minor tweaks and fixes
22 March 2015
Rangy 1.3.0-beta.2 released. Second beta release. Changes since beta 1:
- Add handling for non-HTML namespace elements (such as
<svg>
) to class applier (issue #272) - Prevent class applier applying a class to text within
<style>
,<script>
and some other elements (issue #281) - Change
rangy.config.alertOnFail
default value tofalse
(issue #280) - Fix for XHTML documents (PR #290)
- Prevent a sneaky scenario where "Discontiguous selection is not supported" warnings are generated in Chrome (issue #276)
- Change feature test elements to be inserted at the start of the body rather than the end in an attempt to fix issue #292
- Add
type
option to highlighterserialize()
method (PR #291) - Add
saveRanges()
andrestoreRanges()
methods to selection for issue #279
12 February 2015
Rangy 1.3.0-beta.1 released. First beta release for version 1.3. Changes since the last alpha release:
- Class applier: now supports applying/unapplying classes to empty elements such as
<img>
(issue #83) - Class applier: improved support for
elementAttributes
option (issue #206, issue #213) - AMD modules now return a copy of the main Rangy object (pull request #270)
- Minor bugfixes
22 January 2015
Rangy 1.3.0-alpha.20140921 released. Fixes various minor issues, mostly in the Class Applier module Change Bower package name from rangy-official to rangy (thanks to Dom Barker for releasing the "rangy" package name)
21 September 2014
Rangy 1.3.0-alpha.20140921 released. Fixes the following issues:
- Pull request #246:
findText()
bug when using regex (thanks to Ben Demboski) - Issue #248: IE 8 initializing too early
- Issue #249: Error when using
selection
option inhighlightSelection()
27 August 2014
Rangy 1.3.0-alpha.20140827 released. Internal tidying. No functional changes.
25 August 2014
Rangy 1.3.0-alpha.20140825 released. Includes a new feature:
-
ignoreCharacters
option added tocharacterOptions
used in TextRange module (issue #198)
Bugs fixed:
- Global object issue #242
22 August 2014
Rangy 1.3.0-alpha.20140822.2 released. Fixed issue #241.
22 August 2014
Rangy 1.3.0-alpha.20140822 released. Added support for Browserify and Bower plus minor enhancements and bugfixes:
- Fixed AMD issue #230
- Rangy now auto-initializes if the document has already loaded and
rangy.config.autoInitialize
is true (thanks to Philip Peitsch) - Added
exclusive
option to highlighter module when highlighting and improved merging of highlights from pull request #228 (thanks to Vittorio)
4 August 2014
Rangy 1.3alpha.20140804 released. Fixed bug that meant all modules were broken in the last release.
1 August 2014
Rangy 1.3alpha.20140801 released. Contains minor enhancements and bugfixes:
- AMD support (I think)
- Suppressed "Discontiguous selection is not supported" errors in Chrome
- Renamed rangy-cssclassapplier.js to rangy-classapplier.js
- Added
rangy.config.autoInitialize
config option. Default is true - Added
getNativeTextRange()
method to selection - Modules now initialize automatically if core has already initialized
- Build script now works on non-Windows platforms
16 July 2014
Rangy 1.3alpha.20140716 released. Contains minor enhancements and bugfixes and some changes to bring Range implementation in line with DOM4:
- detach() is now a no-op
-
RangeException
is gone; it's allDOMException
s now.
6 July 2014
Rangy 1.3alpha.20140706 released. This version fixes issue 184, issue 186, issue 199 and issue 202.
28 November 2013
Rangy 1.3alpha.799 released. This version fixes issue 174, issue 176, issue 177, issue 188, issue 189 and issue 190.
25 January 2013
Rangy 1.3alpha.772 released.
29 January 2013
Rangy 1.3alpha.755 released.
25 January 2013
Rangy 1.3alpha.751 released. This adds an optional simpler algorithm to the Highlighter module, a select()
method to Range and fixes various bugs in the previous alpha release.
21 January 2013
Rangy 1.3alpha.738 released. Includes a major rewrite of the TextRange module with the aims of fixing issue 115 and improving performance by building in lots of DOM caching where possible, plus a new Highlighter module that uses the TextRange module's character-based features to keep track of highlight positions. Also some new API methods and bugfixes.
19 July 2012
Rangy 1.3alpha.681 released. This fixes various bugs in the previous alpha release.
23 June 2012
Rangy 1.3alpha.675 released. This fixes various bugs in the previous alpha release.
20 June 2012
Rangy 1.3alpha.673 released. This fixes various bugs in the previous alpha release.
11 June 2012
Rangy 1.3alpha.650 released. This fixes various bugs in the previous alpha release.
3 June 2012
Rangy 1.3alpha.639 released. This fixes various bugs in the previous alpha release.
28 May 2012
Rangy 1.3alpha.603 released. The major new feature in 1.3 is the addition of the TextRange module.
26 February 2012
Rangy 1.2.3 released. This is a bugfix release that fixes issue 84 and issue 89.
13 November 2011
Rangy 1.2.2 released. This is a bugfix release that fixes issue 81.
8 October 2011
Rangy 1.2.1 released. This is a bugfix release that fixes issue 67 and issue 73.
22 August 2011
Version 1.2 released. This release adds enhancements to the CSS class applier module and a few new core methods, plus several bugfixes. Main features:
-
CSS class applier module: New option to use elements other than
<span>
for surrounding text -
CSS class applier module: New option (enabled by default) to ignore non-significant white space nodes (for example, a line break and indentation between two
<p>
elements is ignored while a space between two<span>
elements is not) -
CSS class applier module: New option to apply CSS classes to editable content only (disabled by default)
-
Core: Added
toHtml()
method to both Range and Selection -
Core: New Range methods
union()
,isValid()
,containsNodeText()
andcontainsRange()
-
Core: New option to allow IE 9 to use legacy
TextRange
anddocument.selection
objects rather than standard W3C/WHATWG Range and Selection -
Core: Range and Selection prototype objects exposed as
rangy.rangePrototype
andrangy.selectionPrototype
, allowing extension -
Core: Added
rangy.version
property
Issues fixed in this release since 1.1:
- Issue 51, issue 53, issue 54, issue 57, issue 58, issue 60, issue 61, issue 62 and issue 64.
29 May 2011
Version 1.1.2 released. This is a bugfix release that fixes issue 46, issue 47, issue 48 and issue 50.
15 May 2011
Version 1.1.1 released. This is a bugfix release that fixes issue 41, issue 42 and issue 43.
22 April 2011
Version 1.1 released. The main focus of the 1.1 release is an overhaul to the CSS class applier module. Main features:
- Unique class no longer generated for
CSSClassApplier
objects - Tag names parameter added to
rangy.createCssClassApplier()
method - CSS class applier module
isAppliedToRange()
andisAppliedToSelection()
no longer have side effects - CSS class applier module now able to remove a class from a selection within an existing element with that class
- Full support for IE 9 and Firefox 4
- New
intersection()
andequals()
methods for Range - Fixes for Range's
intersectsNode()
method -
rangy.getIframeSelection()
convenience method added, along withrangy.dom.getIframeWindow()
andrangy.dom.getIframeDocument()
utility methods - Fix for selection save/restore module (issue 32)
- Fix to Serializer module that prevented it from enforcing checksum check (issue 40).
Issues fixed in this release since 1.0:
- Issue 28, issue 30, issue 32, issue 34, issue 35, issue 37, issue 38 and issue 40.
7 April 2011
Version 1.1 beta 2 released. This release addresses minor bugs in 1.1 beta in IE 9 (issue 34, issue 35 and issue 38) and improves the selection save/restore module (issue 37). Documentation is also updated.
12 March 2011
Version 1.1 beta released. The only change since 1.1 alpha is a fix for issue 32.
13 February 2011
Version 1.1 alpha released. The main focus of this release is an overhaul to the CSS class applier module. Documentation updates will follow once more testing has been done. Main features:
- Unique class no longer generated for
CSSClassApplier
objects - CSS class applier module
isAppliedToRange
andisAppliedToSelection
no longer have side effects - CSS class applier module now able to remove a class from a selection within an existing element with that class
- New
intersection()
andequals()
methods for Range -
rangy.getIframeSelection()
convenience method added, along withrangy.dom.getIframeWindow()
andrangy.dom.getIframeDocument()
utility methods - Fixes for
Range.intersectsNode()
- rangy.dom.getIframeWindow
- Fix for issue 28
- Fix for issue 30
2 January 2011
Version 1.0.1 released. This is a bugfix release, primarily for a serious bug in the Save/restore module in 1.0. Changes:
- Fix for issue 27
- Fix for issue 26
31 December 2010
Version 1.0 released. Changes since 1.0 beta 2 are:
- Fix for issue 24
- Fix for issue 23
- Fix for issue 21
- Added
canSurroundContents()
method to Range objects - Added
checkForChanges
parameter torefresh()
method of Selection objects - Various fixes for control selections in IE
- Fixes for control selections and selections containing multiple ranges in Save/restore module
- Moved
DOMException
fromrangy.dom
torangy
- Moved
RangeException
fromrangy.DomRange
torangy
21 November 2010
Uploaded 1.0 beta 2 build. This build provides:
- A fix for issue 19
- Added
rangy.createMissingNativeApi()
method, which provides implementations ofdocument.createRange()
andwindow.getSelection()
in browsers that don't have them (IE 6-8) - Added
canDeserializeRange()
andcanDeserializeSelection()
methods to Serializer module
10 November 2010
Uploaded 1.0 beta 1 build. This provides a workaround for issue 17 and makes checksums optional in the Serializer module. Module file names are now prefixed with rangy-
. No new functionality will now be added before the 1.0 release.
4 November 2010
New build uploaded. This build fixes a bug in IE TextRange to Range conversion and fixes a bug introduced in 0.1.201 that added a test text node to the document.
3 November 2010
New build uploaded. This build fixes issue 16 and improves the Serializer module to use checksums and allow serialization relative to a root node.
31 October 2010
New build uploaded. Everything is now packaged in zip and tar.gz format. New build includes Serializer module and the core contains changes to support the Serializer module.
Also created a Google Group for Rangy discussion.
29 October 2010
New build (revision 184) of the core uploaded. This contains a fix for issue 14.
26 October 2010
New build (revision 181) of the core uploaded. This contains bugfixes for the normalizeBoundaries()
method of range objects.
Also uploaded a new version of the selection save/restore module with an optimization for insertion points and API moved to the rangy
object rather than the previous separate rangy.saveRestore
object.
23 October 2010
New build (revision 166) of the core uploaded. This contains a fix for issue 12.
21 October 2010
New build (revision 160) of the core uploaded. This just contains a fix for issue 11.
20 October 2010
New build (revision 153) of the core uploaded. This contains a fix for issue 10, plus:
- Fixed issue 10 by creating workaround for IE TextRange parentElement() bug
- Added collapseBefore() and collapseAfter() methods to range objects
- Added setSingleRange() to selection objects
- Improved IE favouring of text nodes when converting collapsed TextRange to Range.
19 October 2010
New build (revision 148) of the core uploaded. This contains a fix for issue 9.
18 October 2010
New build (revision 146) of the core released. Features:
- Fixes issue 7;
- improved initialization;
-
inspect()
methods added to Range and Selection objects; - Much improved algorithm for converting
TextRange
toRange
within a preformatted text node with line breaks in IE; - Adds
refresh()
method toWrappedRange
objects; - Fixed detection of whether selections can support multiple ranges;
- Improved
setRanges()
method of selection objects to allow "Control" type selections in IE.
I've also written a large chunk of documentation in the Wiki area that's still unfinished but better than none, which is what there was previously.
6 October 2010
Released new build of the core. Most core changes are on the Selection object. Documentation progressing slowly but will get done soon, I promise.
I also uploaded CSS Class Applier module. I plan to make a much more generic act-on-range-nodes module but that requires quite a lot of thought, and the CSS Class Applier works now. You can use this module to create a CssClassApplier
object that will apply, remove and toggle a particular CSS class on a range or selection by adding and removing <span>
elements. It will also optionally normalize nodes it affects as it adds or removes a CSS class (i.e. merging adjacent text nodes or identical <span>
s).
Example usage;
<script type="text/javascript">
var cssApplier;
rangy.addInitListener(function(rangy) {
cssApplier = rangy.createCssClassApplier("someClass", true); // true turns on normalization
});
</script>
<input type="button" value="Toggle someClass on selection" onclick="cssApplier.toggleSelection();">
To keep track of <span>
s that it has created, the CssClassApplier
adds an extra unique class to each <span>
. You can remove these when you have finished with the CssClassApplier
by calling its detach()
method:
cssApplier.detach();
21 August 2010
Released new builds of the core and save/restore module, fixing several bugs.
12 August 2010
Uploaded initial selection save and restore module. Include it after the main rangy-core.js file. Example usage:
Save selection:
var savedSelection = rangy.saveRestore.saveSelection();
Restore selection:
rangy.saveRestore.restoreSelection(savedSelection);
2 August 2010
Uploaded pre-alpha version of Rangy core.