Note: that is breaking change for Rust/Go/Python/C# wrappers - they need to be updated.
Fixes:
element.value = ...; rollback to 4.4.5.11 state. position:absolute / outline drawing.behavior:virtual-list; fix of https://sciter.com/forums/topic/bug-scroll-indicator-not-work/ form.value = ... fix; element.selection.text fix;NOTE: Sciter MacOS library is named now libsciter.dylib . Rationale - standard name and compatibility with Sciter.JS.
So Go, Rust, Python wrappers can be used as for Sciter.TIS as for Sciter.JS.
Fixes:
view.selectFile() uses OFN_NOCHANGEDIR by default, see: https://devblogs.microsoft.com/oldnewthing/20101112-00/?p=12293 <select|dropdown> reconciliation. See: https://sciter.com/forums/topic/select-behaves-erratically-in-reactor-component/ behavior:virtual-list - native virtual list.event videocoordinate - allows to coordinate output of multiple <video>'s. Coordinated output allows to reduce FPS rate of several videos running at the same time. See: sdk/samples/video/video-25-videos.htmFixes:
transition:backround to include backround-color too.date.dayOfWeekName(), local time fix.ValueFromString(" ") fix.@keyframes inside @set's;frame.attributes["src"] = ...;gPushClipPath fix.flow:vertical-wrap; fix of stack overflow when percent units used. element.call_method("...", ...) when receiver is a native behavior.frame.loadFile(pathButNotUrl) fix.input.edit.selectRange(-1); to remove selection completely. element.patch()FOCUS_OUT as do browsers.element.style.variable[s], fix of updates.behavior:slider, <input|hslider /> and <input|vslider /> refactoring. Note you may see broken rendering if you use customization of the input. See: sdk/samples/forms/custom-hslider.htm and custom-vslider.htm for the demo.appearance:none; activation in Sciter. See: sdk/samples/forms/custom-input-appearance.htmcontent-vertical-align property. vertical-align and content-vertical-align can be defined independently for inline-block elements.New:
transition: ... cubic-bezier(x1,y1,x2,y2);appearance: auto | none; property - appearance:none discards default visual styling of input elements.Fixes:
element.style.variables() handling.morph(currentcolor, ...) fix.element.send/post/fireEvent(code,reason) fix.BOOL is replaced by SBOOL (alias of int) declaration. BOOL is wildly different entity on different platforms. element.detached() lifecycle event fix in components.box-sizing:border-box / display:inline-block combination;Date.toLocaleString(#time) fix.flow:grid(...) fix of layout calculation (off by one pixel).<richtext lang="...">, if lang is defined explicitly then it is used as a spell check language.New:
Fixes:
position:absolute width calculation fix;advance(#first) fix - caret appearance on state.focus = true;font-family: "system-ui";SCROLL_SLIDER_PRESSED - proper scroll position in event;POPUP_DISMISSING event generation on scroll event;position:relative containers, see: https://sciter.com/forums/topic/widgetscrollbar-and-hover-outline/ <Reactor.Fragment>...elements...</Reactor.Fragment> support;styleset: defines style set of the element explicitly, <div styleset="styles.css#setname">, the url can end with '!' to signify !important'ce. This enables style sets in reactor's functional components. Fixes:
frame.onRequestResponse = function(rq) {...} is a sync notification - script can preprocess the request (e.g. consume it to silence);ppx(int) function fix;px() -> ppx() fix;@supports (...) {} blocks;px length units are conditional now, see this document. By default px'es are configured as dip's , use SciterSetOption(NULL,SCITER_SET_PX_AS_DIP, FALSE) to set them otherwise.
sciter::event_handler_raw for non reference counting cases . Fixes:
event doubleclick in text editors.<input :value="..." /> is not handling property value defined in script, see: https://sciter.com/forums/topic/reactor-component-state-is-undefined/#post-67738 <input value="updatedval" /> fix.Date.toLocaleString() fix to emit date and time.rem units support. rem is like em but relative to font-size of the root element (<html> or <svg>).
Fixes:
element.merge(vdom) when is a component SSX expression like <App/>.New:
th {hit-margin: ...} to define inter-header gap used for resizing.event doubleclick-gap generation, see /samples/column-resizer/ samples.Fixes:
element.move(x,y) fix.frame.onRequestResponse callback, fix of call environment.ValueInt64Data fix.lottie.play(first,last) fix + new sample: samples/animations-lottie/lottie-values-play-range.htm<lottie> element (behavior:lottie) - support of Lottie animations. See Lottie animation samples. The <lottie> uses Samsung's rlottie library (MIT licensed).Fixes:
SciterCallScriptingMethod API;New:
behavior:scrollbar - support of bound (a.k.a.) external scrollbars. See: sdk/samples/scrollbars-n-scrolling/scrollbar-bound.htm sample. Fixes:
behavior:scrollbar documented; sciter::dom::element::call_method("frame.load", url); - support of behavior/asset methods using assetname.methodname notation. cursor: ew-resize | ns-resize cursor types;backdrop-filter rendering fix for multiple elements with the backdrop in the same container;Event.keyPressed(Event.VK_CAPITAL) to return toggled state too, same thing for scroll lock;view.request { trySync:true } flag, used to get resources from local files and archives. For local data view.request will call callbacks inside the function call - not asynchronously;gc() on window close to free resources used by the window;Note: version number have not changed.
Fixes:
element.state flag fix;New:
Bytes.compress/decompress(#gz) - compressing using .gz file envelope.Fixes:
<input|date /> and <input|time />.:current flag handling fix;border-radius animations when border-radius are in %'s;[folder-view:42];flow:grid(...), fix of https://sciter.com/forums/topic/flow-grid-is-not-used-correctly-or-is-it-bug transition:blend fix.transition format gone completely. All /samples/* that use old transition format are converted to use standard CSS transitions.<select|list multiple> CTRL+CLICK fix.styleset application, see: https://sciter.com/forums/topic/child-elements-getting-style-of-parent-element-after-this-update/ ::marker pseudo element rendering optimization.flow:stack; mouse hit test fix;background-position: left 0 bottom 0; fix;styleset handling in classes-wrappers;transform="rotate(a x y)" attribute handling;animation-delay granularity fix;% computation fixes;behavior:select, change <option> state fix;<img>, fix of img.attributes["src"] = "new value"; <select multiple>, CTRL+CLICK fix.white-space: pre-wrap; + TABs fix.New:
const styleset = [name: url, #important]; - support of #important flag - when used styles are applied on top of document styles.Fixes:
NotifyWinEvent(EVENT_OBJECT_VALUECHANGE) generation on event change;margin:-1dip; - fix of negative margins handling;<select|list> fix of context menu handling;box-sizing: content-box | padding-box | border-box; as per CSS spec.clip-box: default | content-box | padding-box | border-box | margin-box | hit-margin-box; - defines clip box for scrolling. See: sdk/samples/scrollbars-n-scrolling/clip-box.htm sample.bytes.compress(#gzip).decompress(#gzip) == bytes. Compressing buffers using GZIP.Fixes:
* matching pseudo elements.box-sizing: content-box; handling in conjunction with overflow: hidden | hidden-scroll | scroll | auto; see: /sdk/samples/css++inline-vector-images/path-images.htmbackground/foreground shortcut parsing;behavior:slider; regression fix;<media charset="..."> definition; font-variant-ligatures and font-variant-caps support on Windows.background-position: bottom 14dip right 14dip; format (allows to define offsets from right/bottom).Fixes:
view.dialog() when view.state == View.WINDOW.MINIMIZED;System.Process.terminate() fix.style-set: name; handling.background-position and background-sizeElement.request -> promise fix for statuses 201..300.window-frame="extended", correct window-button-width computation.<select|tree> VK_LEFT|RIGHT handling fix;Element.remove(), fix of resource cleanup; window-frame="extended" window positioning fixes;overflow:hidden-scroll, see: https://sciter.com/forums/topic/text-indent-with-input-bug/ sciter::dom::element::fire_event / SciterFireEvent, fix of CUSTOM/"name" send/post: sciter::dom::element el = self->get_root();
BEHAVIOR_EVENT_PARAMS evt;
evt.cmd = CUSTOM;
evt.he = evt.heTarget = el;
evt.name = WSTR("hello");
evt.data = sciter::string(WSTR("world"));
assert(el.fire_event(evt,false));and in script:event hello(evt) {
assert evt.data == "world";
}Fixes:
html { size:50% } (on root document) is back - sets initial size of window's client area to be of 50% of workspace of current monitor. linear-gradient/radial-gradient handling;SciterCreateWindow(...SW_TOOL...) will not show window on taskbar.back/foreground-image: url(path:...) fixes;transition: blend ease duration; format support, sdk/samples/effects.css++/*.* updated accordingly.<pre> operation.<select> AV fix;:hover, :checked, etc. handling in reactor component style sets. See: https://sciter.com/forums/topic/vtable-hover-works-only-when-scrolling/ @{...,...} support of multiple expressions.New:
include library "name"; and SciterLibraryInit() in dll support. sdk/sqlite updated to build sciter-sqlite.dll/so. Can be used as demo of native Quark extensions.Fixes:
event tripleclick fix.font-size: var(name); fix.syle.cursor(image) fix.% calculation fixes in calc()'s element.onSize = fcn; preventing "event loop" condition.flow:stack, hit-test and mouse event handling fixes.element.style["prop"] fixes when the value resolves to CSS variable, see: https://sciter.com/forums/topic/material-bug/ element.animate {...} variant - supports "call by object" notation.calc() handling in fore/background-position;Fixes:
calc(...) computations;transition: {shortcut-property} handling;event tripleclick generation tuning;event tripleclick {}Request.requestHeaders, Request.responseHeaders + sample /sdk/samples/communication/request-response.htm
Fixes:
new RegExp(re) is prohibited now, constructor accepts only string.String.urlUnescape() fix.sciter::value::from_string(), memory leak fix.Element.request(), GC issue fix.new Path() fix.GRAPHIN_RESULT SCFN(gFlush) (HGFX hgfx); -> sciter::graphics::flush() - commit batches to GPU;Fixes:
view.clipboard(#put|#get, image) ;<plaintext linenumbers> shows plaintext with numbers.<select>, fix of <option disabled> handling.@{ @.data = data };Element.merge() method on "radical" updates. element.richtext.load(), etc.New:
view.activate([#toFront]); - activates (set focus) the window and moves it to front of z-order. Fixes:
@decorator parser fix;element::set_style_attribute/element::get_style_attribute(); View.all property documented;element.box() calculation for the case when element has pending changes;elem:drag-source flag to render drag icon, see: sdk/samples/drag-n-drop/drag-text-element.htm Fixes:
VK_LEFT/VK_RIGHT handling in <button>s;clear: before | after; fix;#define CPP11 in headers to support VS2005; New:
SciterSetGlobalAsset(asset), see: https://sciter.com/forums/topic/is-the-tiscript-apis-completely-obsolete/ Fixes:
<Wrapper><Tape/></Wrapper> case initialization; and other non-alpha characters;@set handling;Asset namespace to deal with native assets;behavior:tabs native behavior demo has been migrated to SOM;Fixes:
graphics.fillColor(clr) when clr is a named CSS variable.New:
view.windowFrame = #standard | #extended | #solid | #solid-with-shadow | #transparent; property to set window frame at runtime;Fixes:
vlist.navigateTo(record);:value={} handling;URL.parse(), fix of https://sciter.com/forums/topic/inconsistency-in-url-parse/ SciterDataReadyAsync() fix to be compatible with view.request();Reactor.Component that has @type attribute (like <input|text>, <select|tree>, etc.)<input|edit>, <input|password> fix of initial setup;!important flag parsing fix;<output|date> and <output|time> rendering fix;<input|text> initialization fix;New:
home:// url schema - home:// root gets resolved to folder of sciter.dll.Fixes:
<i>,<u>, etc.var(foo,10px) - fix of variable use in border radius;window-frame="extended";position:absolute / display:inline-block fix of auto width calculation;list-marker-color handling fix;view.state = View.WINDOW_FULL_SCREEN; in usciter.exe fix.<input|text value="something"> initialization fix.background-repeat: expand stretch-center; handling.Removals:
New:
vtape is a virtual list where items have variable heights.Fixes:
{-1:"nothing"}margin-left/right:auto; handling;gc(factor); - allows to reclaim/free not used heap space.Fixes:
<tbody> handling. While <tbody> can be ommited in markup of simple tables it is desired to put it there explicitly.event statechange when user will resize columns.Previous log items: logfile-2.htm.