This is a list of bugs in Twine 1.4.2. Some of these may be carryovers from Twine 1.4.1, and some may be newly introduced. All of these will be fixed in a future release.

=====Image syntax doesn't work with external URLs=====

Due to a bug, the image syntax in 1.4.2 only works with imported image resources - external URLs will silently fail to load.

====Patch====

To fix this, simply install this repair code in a [[script]] passage:
<code>
    Wikifier.imageFormatter.importedImage = function(img, passageName) {
        var imgPassages, imgname;
        // Try to parse it as a variable
        try {
            imgname = internalEval(Wikifier.parse(passageName));
        }
        catch(e) {
        }
        if (!imgname) {
            imgname = passageName;
        }
        // Base64 passage transclusion
        imgPassages = tale.lookup("tags", "Twine.image");
        for (j = 0; j < imgPassages.length; j++) {
            if (imgPassages[j].title == imgname) {
                img.src = imgPassages[j].text;
                return;
            }
        }
        img.src = imgname;
    }
</code>

=====No History.prototype.display warning=====

A warning should be displayed on startup if a script passage contains code which replaces History.prototype.display with an older version that doesn't support the correct number of arguments. However, due to a bug, this won't ever be displayed. (For what it's worth, few such scripts are known to exist anyway, so it may be an overcautious warning as is.)

=====Missing 'y' in warning message=====

The "got itself in a mess" message incorrectly slices softErrorMessage, causing it to lose the "Y" in "You".

=====Jonah, links and passages named "undefined"=====

If you use a macro that creates internal links, such as Leon's custom <<replace>> macro, then clicking such a link will alter the ID of any previous .passage elements named "undefined" (case-sensitive) - adding a timestamp, which should normally only occur when navigating back to that passage two or more times in a Jonah story.

=====Control-L passage editor shortcut and named links=====

If you highlight a link with separate link text and passage title (such as %%[[link text|passage]]%%) then press control-L, a passage named "link text|passage" is created, instead of just "passage".

=====<<remember>> variables accessible across stories=====

Due to a naming bug, variables saved via «remember» are unwittingly shared over all Twine stories accessed from the same website (as in, the base hostname, like ''%%http://philome.la/%%'') and played in that particular browser - if a remembered variable name in one story matches that of another story, then one will overwrite the other if both are played.

====='Cancel' button in Create passages dialog=====

In the "create passages" prompt given when you close a passage containing red links, the 'cancel' button behaves identically to the 'no' button - both dismiss the dialog and close the passage.

=====Can't import from HTML files with uppercased tag names=====

If, for instance, a HTML file was saved from IE, its tags become uppercased. This precludes Twine from importing the HTML via Import Compiled HTML.

=====Stories stop working if saved from IE=====

Saving HTML from IE causes line breaks to be inserted, especially in the storeArea. This can break custom scripts.

=====innerText vs textContent=====

Twine refers to the innerText property to read code from storeArea passage elements, when it ought to use textContent. This causes e.g. multiple spaces in passages to be truncated.

=====Apostrophes in links provided as arguments to <<choice>>, <<button>> etc=====

The syntax highlighter [[http://i.imgur.com/s72Y5nk.png|incorrectly]] displays link arguments to <<choice>> macros, whose text contains apostrophes or quote marks, as incorrect.

=====Bookmark link should be lazily computed=====

The bookmark link has proved to be a massive perf drain when a story uses JS objects in variables. It should really only be computed when the player actually clicks the link.

=====visited() error checking===== 

It has been suggested that visited() should throw an error if the passage name given to it does not exist in the story.
