Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# SugarCube v2.37.0-beta.3 Hello! This is a bit unusual, but due to a significant amount of refactoring and changes to the startup sequence I'd like to invite a public testing period for v2.37.0-beta.3. ## Download **NOTE:** The documentation for this version is included within the ZIP archive. [sugarcube-2.37.0-beta.3.zip](https://github.com/user-attachments/files/16134449/sugarcube-2.37.0-beta.3.zip) ## 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.
- Loading branch information