Skip to content

Releases: tmedwards/sugarcube-2

RELEASE: v2.37.0

17 Jul 10:42
13f9d42
Compare
Choose a tag to compare

Changelog:

  • Fix issue with builds that affected ancient browsers.
  • Fix issue with icon font styling.
  • Fix issue with event triggering where native listeners would not always receive custom events.
  • Fix issue with external link identification.
  • Fix issue with leftover event handlers.
  • Fix issue with media activation triggering events.
  • Fix issue with session delta coding where arrays were being ignored.
  • Update Config API:
    • Fix issue with Config.passages.transitionOut when its value was a CSS property name where outgoing passage elements were not being removed.
    • Update Config.cleanupWikifierOutput setting:
      • Fix it affecting things it should not.
      • Fix it emitting empty paragraphs.
    • Add Config.enableOptionalDebugging setting.
    • Deprecate Config.macros.ifAssignmentError in favor of Config.enableOptionalDebugging.
  • Update StoryInterface code passage:
    • Fix data-init-passage attributes being processed too early.
    • Fix included passages being processed for data-passage attributes.
  • Update TwineScript:
    • Fix object property names that look like story/temporary variables being erroneously treated as such.
    • Add support for JavaScript's spread/rest syntax.
  • Update Array API extensions:
    • Rename <Array>.delete() instance method to <Array>.deleteAll(). Added <Array>.delete() alias for compatibility.
    • Add <Array>.deleteFirst() instance method.
    • Add <Array>.deleteLast() instance method.
    • Add <Array>.toShuffled() instance method.
    • Add <Array>.toUnique() instance method.
  • Update Dialog API:
    • Fix Dialog.close() where user specified onClose callbacks were not called when manually invoked.
    • Fix resizing when contents were dynamically changed.
    • Fix failing to render <body> inert while open when using StoryInterface.
    • Add Dialog.create() static method. Deprecate Dialog.setup() static method.
    • Add Dialog.empty() static method.
    • Add Dialog.wikiPassage() static method.
  • Update jQuery API plugins:
    • Update <jQuery>.ariaDisabled() method to affect the tabindex attribute.
    • Add tabindex option to the <jQuery>.ariaClick() method.
    • Add jQuery.wikiPassage() static method.
    • Add <jQuery>.wikiPassage() instance method.
  • Update Save API:
    • Complete API rewrite.
    • Improve performance for large counts and sizes of saves.
    • Allow configuration of auto save count.
    • Add ability to easily continue from most recent save, regardless of type.
    • Add ability to export all browser saves as a bundle that can be imported.
  • Update Setting API:
    • Add Setting.addValue() static method.
    • Add Setting.getValue() static method.
    • Add Setting.setValue() static method.
  • Update UI API:
    • Update Saves dialog to address Save API changes.
    • Add UI.update() static method.
    • Deprecate UI.jumpto() static method and bookmark special tag.
    • Deprecate UI.share() static method.
  • Update UIBar API:
    • Fix derpiness in UI bar history and toggle controls.
    • Deprecate UIBar.update() static method.
  • Update DebugBar:
    • Update variable watches to periodically update.
    • Add passage navigation control.
  • Update macros:
    • Fix issue with various link/button macros allowing invalid link text content.
    • Fix issue with input macros autofocus failing under various circumstances.
    • Fix <<if>> macro assignment error to ignore string internals during its checks and update it to default to opt-in, rather than opt-out.
    • Update <<for>> macro range syntax to accept a integer as the collection expression and made the value variable optional.
    • Update <<type>> macro to be compatible with <<capture>>.
    • Update <<unset>> macro to be able to delete object properties in addition to variables—i.e., <<unset $pc.armor>> now attempts to remove the armor property from $pc.
    • Update <<back>> and <<return>> macros to accept an optional passage name argument in their separate argument forms.
    • Update widgets' _args special temporary variable to include a name property—i.e., _args.name.
    • Rename <<silently>> macro to <<silent>>. Added a <<silently>> alias for compatibility.
    • Add <<do>> and <<redo>> macros.
    • Deprecate <<actions>> and <<choice>> macros.
  • Update markup:
    • Update horizontal rule markup to allow trailing whitespace.
    • Update <style> element image markup parsing to accept TwineScript.
  • Update loadscreen to block full startup until dismissed.
  • Add Serial API. This removes JSON extensions.
  • Add utility functions:
    • Add triggerEvent().
  • Add :uiupdate system event.
  • Add application-name & version metadata to document head.
  • Extensive refactoring.
  • Various documentation updates.
  • Update bundled icon font and documented it.
  • Update bundled libraries:
    • jQuery to v3.7.1.
    • lz-string to v1.5.0.

RELEASE: v2.36.1

22 Dec 05:48
27903a8
Compare
Choose a tag to compare

Changelog:

  • Fixed an issue with the build system that was producing subtly broken builds.

RELEASE: v2.36.0

21 Dec 01:51
bac3c41
Compare
Choose a tag to compare

Changelog:

  • Fixed an issue with the selected keyword in the <<cycle>> and <<listbox>> macros' <<option>> tags.
  • Fixed instances where using the [img[]] markup as an argument to macros would drop the link-image class.
  • Fixed Config.history.maxStates to disallow unlimited states (value: 0).
  • Added the init special tag that, similar to StoryInit, allows pre-story-start initialization tasks. Intended for add-on/library use.
  • Added a data-init-passage content attribute to StoryInterface that allows content to be updated only once at initialization.
  • Added the State.metadata.entries() and State.metadata.keys() static methods.
  • Added a once keyword to the <<cycle>> macro that ends the cycle upon reaching the final option.
  • Added the <Array>.countWith() method.
  • Added the Save Events API.
  • Added support for template literals within TwineScript.
  • Added various accessibility improvements.
  • Updated the <<done>> macro to better serve when used to wait for DOM updates.
  • <<widget>> macro updates:
    • Added a container keyword that allows non-void/container widgets and an associated _contents special variable.
    • Added a new special arguments variable, _args, and deprecated the old variable, $args.
  • Updated the default value of Config.history.maxStates from 100 to 40.
  • Updated passage objects to maintain the order of passage tags as specified in the data chunk.
  • Deprecated the Config.saves.onLoad and Config.saves.onSave settings in favor of the Save Events API.
  • Updated bundled library: jQuery to v3.6.0.
  • Updates to locale files:
    • Updated the localization template. Translators are asked to updated the locale files as necessary.
    • Added nl.js – Dutch.
  • Various documentation updates.
  • Various internal improvements.
  • Build system updates.

RELEASE: v2.35.0

18 Mar 18:10
dab0534
Compare
Choose a tag to compare

Changelog:

  • Fixed issues with nested <svg> tags.
  • Fixed issues with comments within macro arguments.
  • Added the <<done>> macro. NOTE: This is functionally equivalent to Chapel's macro of the same name, so if you're using that you can, and should, remove it.
  • Updated <<numberbox>> to more reliably show a numeric keypad on mobile devices.
  • Updates to locale files:
    • Added ar-EG.js – العربية (مصر).
    • Added it-IT.js – Italiano (Italy).
    • Updated de.js – Deutsch.
  • Various documentation updates.
  • Various internal improvements.

RELEASE: v2.34.1

18 Jan 19:36
47fb839
Compare
Choose a tag to compare

Changelog:

  • Fixed a regression in the behavior of the naked variable markup.

RELEASE: v2.34.0

18 Jan 10:02
36a8e16
Compare
Choose a tag to compare

Changelog:

  • Fixed the <AudioRunner>.fadeIn() and <AudioRunner>.fadeOut() methods.
  • Fixed explicitly set undefined values within arrays being transformed into null when roundtripping through sessions/saves.
  • Fixed <<type>> to immediately start typing, after any start delay, rather than also waiting one typing speed delay.
  • Updated saves to support saving to disk on mobile devices, by default—see the Config.saves.tryDiskOnMobile setting if you wish to disable it.
  • Updated the naked variable markup and <<print>> family of macros to: include default conversions for DOM objects and better conversions for various edge cases values.
  • Updated the documentation—mostly a few minor edits here and there.
  • Updated bundled library: FileSaver.js to v2.0.4.

RELEASE: v2.33.4

13 Nov 22:00
05ea5a2
Compare
Choose a tag to compare

Changelog:

RELEASE: v2.33.3

08 Nov 12:11
9f81847
Compare
Choose a tag to compare
  • Fixed Safari v14 breaking detection of various audio formats.
  • Minor improvement to how <<numberbox>> handles decimal numbers—mostly for Firefox.
  • Documentation changes:
    • Fixed an oopsie in the Harlowe guide.
    • Added an entry for UIBar.update().
    • Added a guide for the Definitely Typed TypeScript bindings for SugarCube's APIs.
    • Added additional warnings about Twine 2's automatic passage creation feature.
  • Development changes:
    • Fixed Node.js v14 API change that broke the build script.
    • Updated development dependencies.

RELEASE: v2.33.2

14 Aug 11:03
0f08d2e
Compare
Choose a tag to compare

Changelog:

  • Fixed an issue where the <<type>> macro could throw an error if the player navigated away while it was still typing.
  • Fixed an issue where WAI-ARIA focus outlines could be lost when navigating.
  • Fixed an issue in the Dialog API documentation.
  • Updated the Saves dialog to disable save buttons if the Config.saves.isAllowed query yields false.
  • Minor internal improvement to the <<repeat>> and <<timed>> macros.

SugarCube v2.33.1

31 Jul 20:17
ba1a16e
Compare
Choose a tag to compare

Changelog:

  • <<type>> macro updates: