Sciter 4.* logfile:

Build# Date Updates
4.4.1.530-03-2020new:      
  • view.audio(url):Audio - audio playback object to play MP3,WAV sounds. I have plans to extend this to support audio recording and streaming but only playback for a while;
  • [reactor] + sdk/samples/+reactor/components/vtape - virtual list with variable item heights;
  • [script] VM.pendingAsyncTasks property - list of running async functions;

fixes:

  • [script] fix of el.style#z-index = Z; handling;
  • [css] fix of transition: visibility ...;  handling;
  • [script] array.indexOf(el) uses now array[i] === el operator rather than ==. See: https://sciter.com/forums/topic/how-to-fix-this-runtime-error/ 
  • [gdi+] fix of rendering artefacts when border-radius is used;
  • [reactor] fix of <el key={k}> handling when k is not a string;
  • [reactor] router fix, see: https://sciter.com/forums/topic/element-content-creates-a-child-in-reactor-router/ 
  • [Windows,x64] fix of high memory consumption (styles);
  • [Windows] handling maximized dimensions of direct_window;
  • [sample] fix of sdk/samples/ideas/callout/callout.tis;
  • [script] handling element.html = "";
  • [gtk] clipboard put text fix;
  • [plus] Fix of <... repeat="..."> handling, see: https://sciter.com/forums/topic/elements-disappear-after-using-plus-repeat-in-a-tag/ 
  • fix of infinite loop in some cases of float: left | right; dynamic update;
  • <select> fix of "second click" issue;
  • [DOM] self.style.documentRules() update fix;
  • [windows] view.windowResizable = true | false fix;
  • [DOM] var map = form.value; fix for custom .value handlers;
  • [DOM] element.insert(VDOM) fix when the element is not connected to the DOM;
  • [script] fix of possible AV in Object.setPrototypeOf();
  • [windows] fix of emoji rendering, see: https://sciter.com/forums/topic/emoji-without-spaces/ ;
  • [script] fix of element.state.clear(0xFFFFFFFF);
  • [layout] fix of AV in table.style["display"] = "block"; that is a wrong usage of display property, but shall not crash.
4.4.1.414-03-2020new:
  • [css] + support of animation property and @keyframes declaration. See updated samples in sdk/samples/animations-transitions-css/inifinite***.htm
  • [SSX/reactor] ssx is allowed to pass properties to DOM elements using "state properties", so this
    <div :data={someData} :html={someHtml} />

    is an equivalent of 

    var div = Element.create(<div/>);
    div.data = someData;
    div.html = someHtml;

fixes:

  • [script] fix of GC issue in mouse event handlers.
  • [+formation] demo updates and fixes of warnings.
  • [windows] MOUSE_IDLE event generation on captions of windows with custom frame. 
  • [premake] sciter.static.vcxproj generates .PDB file in .LIB output folder, e.g. sciter/lib.win/x32/
  • [script] element.append("non-ascii chars") fix.
4.4.1.309-03-2020fixes:
4.4.1.208-03-2020fixes:
4.4.1.107-03-2020

new:

  • [DOM,script] element.owner = logicalOwnerElement; - setter implementation:
  • [reactor] new samples:
    • sdk/samples/+reactor/components/portal - a la Portal, Sciter's way; 
    • sdk/samples/+reactor/components/portal-alt - also Portal but closer to ReactJS by concept;
    • sdk/samples/+reactor/components/lightbox;
    • sdk/samples/+reactor/components/list - simple <List> implementation - close to <select|list> built-in;
  • [script] View.all : array of View instances - list of all Sciter windows on screen that belong to current process;
  • [script] VM.entityId(obj) - quasi-unique ID of heap allocated objects, the ID value is semantically close to pointer value of objects in C++.
  • [sample] sdk/samples/drag-n-drop-tiles - Packery alike thing. Note: work in progress.

fixes:

  • [osx] <input|text> fix of Event.VK_BACK handling;
  • [script,css] element.style.set {... animatible props... } , fix of animation triggering.
  • [css/layout] fix of margin:-1*; handling (treated now as margin:0*), see: https://github.com/c-smile/sciter-sdk/issues/150 
  • [script] fix element.html = "... <include src='..'>" - case when HTML contains <include> ;
  • [windows] window-frame="extended", view.state = WINDOW_FULL_SCREEN; fix;
  • [reactor] fix of name attributes handling: https://sciter.com/forums/topic/naming-react-component-doesnt-work-properly/ ;
  • [reactor] fix of class binding, see the case: https://sciter.com/forums/topic/reactor-segmentation-fault/#post-64343 ;
  • [reactor/vlist] fix of sdk/samples/+reactor/components/vlist/vlist.tis update when recordset changes length;
  • [script] fix of chained decorators: @bold @italic function foo() {...} ;
  • [gtk, build] support of Code::Blocks projects is back;
  • [osx] view.clipboard picture support;
  • view.clipboard(#get,#file) implementation;
  • [win,osx,lin] unified mouseenter/mouseleave support;

Sciter.Notes project update:

  • started transition to use Reactor.  Sciter.Notes uses mix of Reactor components and "classic" behaviors. Essentially Reactor.Component's are used where they make sense and provide benefits;
  • Added ability to make "note:..." hyperlinks; - notes can be dragged from note list to current note editor;
4.4.1.017-02-2020new:
  • [Windows, MacOS] Support of Color Fonts, e.g. Emoji. Windows Direct2D backend is required.

fixes:

4.4.0.813-02-2020new:
  • "Reactor 2.0" - new version of Reactor, see: https://sciter.com/reactor-2-0/
    • + new samples in sdk/samples/+reactor/components/vlist/ - sortable, filterable grids.
    • + sdk/samples/+reactor/observable/c-observable-vtable.htm sample.

fixes:

  • [script] fix of destructuring assignment using default values, handling: var {a:1,b:2} = {a:21};
  • [osx] Lower power consumption: use of integrated display card by default, to enable it put this :
    <key>NSSupportsAutomaticGraphicsSwitching</key>
    <true/>

    into info.plist of your application.

4.4.0.730-01-2020

new:

  • [script, decorators] namespaces can be @decorated now too, so functions, classes and namespaces are decoratible.
  • [CSS] + text-decoration-thickness property support: text-decoration-thickness: 1dip;
  • [reactor], new features:
    • + sdk/samples/+reactor/components/vlist/vtable-tree.htm - table-tree sample.
    • + The @observable and Reactor.observe(component,path) - "observable Reactor". Not exactly Redux but functionally close. See samples in /stable/sdk/samples/+reactor/observable

fixes:

  • [script, regexp] fix of String.split(re), see: https://sciter.com/forums/topic/regexp-capturing-parentheses-does-not-remember-the-match-in-split/  
  • [behavior:richtext] <htmlarea> fixes:
    • fix of right click on selection.
    • delete range fixes.
  • [MacOS] <input|calendar> <input|date> <input|time> fix of lang="..." handling.
  • [MacOS] View.POPUP_WINDOW windows are derived from NSPanel now. All other windows are NSWindows
  • [linux/gtk] http client re-enabled.
  • ideas/lightbox-dialog sample update: + animations.
  • [CSS] @set a < b {} rules specificity fix.
  • [CSS] custom scrollbars, fix of use of variables in vertical/horizontal-scrollbar style sets.
  • [CSS,+plus] fix of memory leak in aspect: handling. 
  • [windows] window-frame="extended" shadow around, see: https://sciter.com/forums/topic/only-add-window-frameextended-has-no-shadow/ 
  • [windows] more reliable event mouseleave generation on mouse out of the window.
  • [windows] SciterCreateWindow(SW_RESIZEABLE) fix.
  • [windows] fix of child window handling in window-frame != standard windows.
  • [windows] background-repeat handling by D2D/WARP backend.
  • [reactor] fixes:
    • [ssx] <tag.cls /> class declaration handling.
    • Fix of keyboard handling in sdk/samples/+reactor/components/tabs/tabs.tis
    • :state styles handling, see: https://sciter.com/forums/topic/maybe-a-bug/ 
    • adding Reactor documentation to SDK's help browser.
  • [API] renaming API_VERSION to [API] renaming API_VERSION -> SCITER_API_VERSION to fix https://sciter.com/forums/topic/how-to-fix-build-error/ 
  • [API] SciterElementDelete(), fix of detached() event generation on external behaviors. 
4.4.0.625-12-2019fixes:
  • [reactor] Element.merge() fix.
  • [reactor] fix of update on complex update trees.
  • [reactor] <input|checkbox> and <input|radio> compatibility fix.
  • [plaintext] fix of pt.value = "";
  • [CSS] fix of "freeze image animation" (foreground-image-frame: 1) handling.
  • [CSS] ::marker handling fix.
  • [script] Tokenizer, fix of "/" operator parsing.
  • [script] Fix of stall in idle processing.
  • [script] fix of default parameters handling in async and generator functions.
  • [script] spread operator, fix of the case [...[],1] -> [1]
  • [Sciter.Lite] adjustment for rendering to bitmap case.
  • [Sciter.Lite] fix of errors related to theme::current()
  • [Sciter.Lite] + windows, render to bitmap sample.
  • [GTK] fix of high-dpi scale rendering.
4.4.0.512-12-2019fixes:

[reactor] fixes:

  • :value assignment is skipped when element is in focus.
  • attached() notification generation.

new:

  • + sample +reactor/components/router/ - simple router implementation.
4.4.0.47-12-2019fixes:
  • window-resizable is on by default on WINDOW_FRAME views.
  • [richtext] fix of stack overflow while pasting images.
  • SK_CPU_SSE_LEVEL=41 on all buids.
4.4.0.328-11-2019

new:

  • [lite] + support of keyboard and focus events.
  • [android]
    • keyboard support.
    • support of touch scroll in scrollables. 
  • [lite] + support of popup elements.
  • [Sciter.Lite, mobiles] API: SC_KEYBOARD_REQUEST notification - issued when keyboard needs to be shown - mobiles can show soft keyboard by handling it.

fixes:

  • [drawing, css] fast path of border-radius if background is a color or gradient (Skia in particular where clipPath operation is slow)
  • Fix of AV in animation applied to collapsed element.
  • [win] view.dialog intrinsic size fix.
  • [css, flexes] fix of horizontal/vertical-alignment in flow:horizontal/vertical-wrap.
  • [css] flex computation fix, see: https://sciter.com/forums/topic/0-7-cant-work-in-4-4-0-2/ 
  • [script] fix of Storage.open(path) when path contains non-ascii characters.
  • [win] Windows XP support is back.
  • [reactor] fix of dynamic SSX reference handling, see: https://sciter.com/forums/topic/reactor-merge-issues/  
  • [script] class ... detached() call generation when element.remove() is called.
  • [script, win] fix of Date.timeZoneName() for timezones that do not use daylight savings.
4.4.0.214-11-2019new:
  • Sciter.Lite - first builds of Sciter.Lite engine. See: https://sciter.com/windowless-sciter-android-and-iot-devices/ and https://sciter.com/sciter-lite-on-android-arm64-opengles/ 
    • sdk/demos.lite - GLFW based demo of how to use Sciter.Lite in OpenGL context.
    • sdk/demos.android - Sciter.Lite / ARM64 demo in OpenGLES context of Android's Native Activity. 
  • [reactor+lang] + demo of VDOM and +lang translation.
  • [SSX, Reactor] + sdk/samples/+reactor/components/vlist/vtable-groups.htm - virtual list with grouping.
  • [reactor] <reactor> without name support - inline mounting point.
  • [+lang] + sample of context menu translation.
  • [trayicon] support of SVG images.

changes:

  • sdk folders reorganization:
    • sdk/bin -> sdk/bin.win
    • sciter.exe binary is renamed to wsciter.exe to avoid clashes with sciter.dll
    • Windows and Linux samples were generated from single sdk/premake5.lua file. Use Premake5 if you want to generate projects and workspaces for other compilers and IDEs. SDK workspaces and projects were generated by the following invocations:
      • > premake5.exe vs2015 - on Windows, sdk/build.windows folder; 
      • > premake5 codelite --cc=gcc - on Linux, sdk/build.linux folder; 
      • On MacOS samples workspace is sdk/build.macosx and is generated manually from XCode (haven't found yet how to generate projects containing resources on MacOS).

fixes:

  • [SSX] fix @{ref} initialization;
  • [reactor] support of Component.update(); without data parameter.
  • [reactor] reconciliation fixes, see: https://sciter.com/forums/topic/reactor-merge-issues/ 
  • [System.Process] "terminate" event generation fix;
  • [richtext/plaintext] fix of CTRL+BACKSPACE handling;
  • [script,dom] fix notification handling, see: https://sciter.com/forums/topic/another-crashabout-popup-menu/  
  • [CSS] flex 1* cap fix, see: https://sciter.com/forums/topic/flow-layout-error/ 
  • [win] fix of AV on initial on_size() on machines with broken D2D 
  • [script] #inf support and handling;
  • [select|dropdown] fix of el.value handling;
  • [win] fix of view.windowTopmost = false;
  • [plaintext] load/saveDocument() fixes;
  • [regression] fix of slow style resolution introduced in 4.4.0.0
  • [api, graphics] fix of textCreateForElement() and textCreateForElementAndStyle() APIs
4.4.0.126-10-2019

new:

  • [SSX] Implementation of <MsgBox>. See: samples/+reactor/components/msgbox-test.htm 

fixes:

  • [CSS] padding in scrollable flow:horizontal-wrap; See: https://sciter.com/forums/topic/overflow-and-padding/
  • [CSS, var()] limitation on 256 named variables is relaxed. Now cap for number of vars is 2^24;
  • [SSX] lifting limitation that <Foo/> (if Foo is a function) must return exactly VNode, it can return anything now. 
4.4.0.021-10-2019new:

fixes:

  • [CSS/script] Fix of prototype assignment.
  • [script, +lib] Function.throttle, fix of initial run.
  • [script] fix of await to return all arguments, see: https://sciter.com/forums/topic/promises-iterate-through-the-array-of-values/#post-63032 
  • [dom] fix of event change generation in masked inputs on VK_DELETE key.
  • [dom/script] fix of failed property assignment while document reload.
  • [script] if event handling function throws an error it now gets unsubscribed silently as an event handler.
  • [DOM] better support of el.attributes["lang"] = newval;
4.3.0.2216-10-2019fixes:
  • [dom] fix of event change generation in masked inputs on VK_BACKSPACE key.
  • [css] paddings on overflow: auto | scroll | scroll-indicator are part of content. So scrollbars are inscribed into border box but not padding box. Part II. Regression fixes. That is not quite what browsers do where overflow/padding is broken anyway, see my proposal at W3C: https://lists.w3.org/Archives/Public/www-style/2019Oct/0016.html 
  • [osx] fix of view.selectFile(,"*.*")
  • [osx] view.move() fix.
  • [osx] SciterCreateWindow(,rect,) , fix of rect interpretation ( treated as window frame rectangle ).

Note: this is the end of 4.3.0.* series if nothing critical will popup in between. Next builds will have Reactor and SSX on board.

4.3.0.2113-10-2019fixes:
4.3.0.2006-10-2019fixes:
  • [layout, position] Fix of size:* handling in positioned, see: https://github.com/c-smile/sciter-sdk/issues/134 
  • [script, DOM] form.value = {...} fix for the case of compound values, see: sdk/samples/forms/form.htm
  • Fixing :hover handling on elements when visibility changes. See: https://sciter.com/forums/topic/button-doesnt-skip-selection-after-click/ 
  • <frameset>, more tolerant @rows/@cols parsing.
  • [css, layout] Yet another implementation of flex unit calculations. Cassowary solver is slow for flow:vertical | horizontal | horizontal-wrap cases, this one (see flex::engine class) is significantly faster.
  • Fix of element.clone() // prototype handling
  • Fix of AV on handling set_focus() on window that has zero dimensions.
4.3.0.1901-10-2019fixes:
  • [win] fix of transparent popups rendering;
  • behavior:form, fix of getting values of radio groups;
  • input|calendar, fix of days navigation handling in some timezones;
  • [svg] fix of stroke-width property inheritance;
  • [API, headers] , fix of _wfopen_s use under GCC, see: https://sciter.com/forums/topic/compile-fail-with-mingw/ 
  • [GTK] SciterCreateWidget() implementation, creates engine instance as GtkWidget that can be used as a child.
  • [script] Stream.openFile() to accept file:// urls ;
  • [CSS] plaintext:empty fix;
  • [CSS] el::marker { content:parent-attr(name) } fix;
  • [osx] internal flag USE_LAYERS as configurational #define;
4.3.0.1825-09-2019fixes:
  • [HTTP] default max cap for request/response is set to 128 mb;
  • [css] fix of position:absolute; right:0; width:xx; case 
  • fix of SciterSetOption(NULL, SCITER_SET_DEBUG_MODE, TRUE);
  • [gtk] view.move() and view.box() workarounds. view.box(,#client) and view.box(,#border) report the same box values as there is no reasonable way on GTK to set place on screen of GtkWindow by using frame box coordinates;
  • [script] Element.value, fix of aggregates, see: https://sciter.com/forums/topic/form-value-doesnt-consider-repeatable-values/ 
4.3.0.1722-09-2019

new:

  • [script] support of optional chaning: a?.b will be silently resolved to undefined (without generation of runtime error) if either a or b are undefined.
  • [script] support "fallback if undefined" operator : a ?? b - if a is undefined or null the operator will yield b value. The operator can be used with optional chaining like:
    var duration = params?.animationDuration ?? 300ms; 

    so if there is no animationDuration property in params, or params itself is undefined then duration will be set to 300ms value.

fixes:

4.3.0.1618-09-2019fixes:
  • [gtk] view.box() and view.move() fixes. Note: view.box(#client) and view.box(#border) report the same coordinates on Linux/GTK as there is no reasonable way on GTK to request sizes of window decorations reliably.
  • [gtk] idle processing fix.
  • [win, tray icon] trayicon/trayicon-test.htm fixes + demo of "right-click menu";
  • [win] fix of Event.keyPressed(Event.VK_CAPITAL) - it reports now toggled state too;
  • [win] view.dialog() - will not disable other windows created by View.window{} (parentless windows);
4.3.0.1515-09-2019

new:

  • Auto UTF-16 encoding recognition support in SciterLoadHtml() and SciterSetElementHtml() 
  • [API] SciterSetOption(NULL,SCITER_SET_MAX_HTTP_DATA_LENGTH,megabytes); - sets max length of http request/response, default 32 (mb).

fixes:

  • [CSS] fixes of flex units calculations;
  • [inspector] fix of script debugger navigation buttons handling.
 4.3.0.1412-09-2019new:
  • Event.keyPressed(vkKeyCode) - allows to check pressed state of keyboard;

fixes:

  • [Windows] fix of SciterCreateWindow(, delegate, ... ) message delegate callback;
  • [CSS] fix of first + next {} CSS selector handling.
4.3.0.1311-09-2019

new:

  • overflow-y: auto | scroll | scroll-indicator; vertical-align:bottom; - scroll position invariant "attached to bottom",
    overflow-x: auto | scroll | scroll-indicator; horizontal-align:right; - scroll position invariant "attached to right",
    these are in effect when scrollable size changes.

fixes:

4.3.0.1207-09-2019

new:

  • [sample] sdk/samples/ideas/full-screen
  • Element.content/append(arrayOfTuples) - support of arrays of element template tuples to speed up DOM population, see: sdk/samples/tests/test-scrollable-table.htm
  • [script] + Date.diff(d1,d2,#months) method - calendar differences between two dates.
    Date.diff(new Date(2019,8,31),new Date(2019,9,1),#months)  will return 1 as these two dates are from different months.

fixes:

  • Graphics.Text implementation is redesigned to support style and class declarations: Graphics.Text.style = "font:12pt Arial; text-decoration:underline";
  • [SciterGraphicsAPI]  changes (affects only C/C++ as Text is not used yet in any other wrappers):
    • textCreateForElement - function signature change;
    • textCreate is now textCreateForElementAndStyle;
  • [win] scapp/32 <video> rendering fix (caused by optimization flags as it appears), see: https://github.com/c-smile/sciter-sdk/issues/129 
  • [script,vm] fix of view object constructing sequence [win, skia];
  • Fix of division by zero in some use cases of <frameset>.
  • [win] fixes in support of multiple GUI threads per process.
  • [Drag-n-drop] Event.exchangeData(#file) fix for multiple files.
  • [SDK] C++ header tweaks, see: https://sciter.com/forums/topic/some-c-syntax-causes-compilers-warnings/ 
  • Fix of potential AV in view.focus = someElement; when someElement is disconnected from the DOM of the view.
  • [Script, event declaration] fix of event handlers defined on global level that have selector, target is correct reference now (points on element matching the selector):
    event click $(button) (evt,button) {
      assert this === button;
    }
  • Support of UTF16LE encoding by SciterLoadHtml/File - input data must start from UTF16LE BOM in order the encoding to be recognized properly.
4.3.0.1123-08-2019fixes:
4.3.0.1014-08-2019

new:

  • [sample] [vlist] + sample Bloomberg Terminal alike demo at /samples/+vlist/bloomberg-terminal/

fixes:

  • [osx] window state change fix;
  • [tiscript API] fix of tiscript::get_current_ns().
  • [layout] <img height=yyy> - automatic width calculation.
  • [win,popup] fix of layered popup rendering.
  • [css,animation] regression fix of animation to height:auto;
  • [drawing] fix of transform: scale(0,0) drawing ( degenerate transform matrix )
  • [layout] fix of flex calculations.
  • [rtl] fix of text-overflow:ellipsis rendering. 
  • [DOM] fix of animated update by Element.update(changer, params);
  • [script] Float.toString(), fix of 0.0 representation, was "0.", now "0.0" 
  • [sample] fix of sdk/samples/popup/popup-trigger.htm 
  • [Windows] Element.move()'d - hide owned windows on minimize. 
  • [gtk] view.selectFile() fixes.
  • [CSS,DOM] Element.style["..."] = ... ; memory pile-up fix, see: https://sciter.com/forums/topic/element-infinite-rotate-function-performance-improvement/ 
  • [CSS] fix of hang at float:left | right handling: https://github.com/c-smile/sciter-sdk/issues/126 
  • [dom] preventing element.onSize handlers while painting.
  • behavior: layer; fixes
  • [<select multiple="checkmarks">] fix of event change generation on checkmark off.
  • [CSS] elements with defined transform shall establish new stacking context (as position:relative for example).  
  • [gtk] key handling after modal dialog fix;
4.3.0.927-07-2019new:
  • [css] fx(weight,min:length, max:length) - flex declaration with min/max limits for properties that do not have min/max-xxxxx counterparts.
  • +lang, support of <output> translation;
  • +sample sdk/samples/ideas/sticky-navbar/demo.htm
  • +sample sdk/samples/cssom/theme-switch.htm

 fixes:

  • [CRITICAL] fix of mem leak alike memory consumption, case: https://sciter.com/forums/topic/memory-leak-in-sciter/ 
  • [trayicon] mem leak fix.
  • Fix of min-height handling when height is not defined.
  • [gtk] modal dialog fixes.
  • [+plus-routes] forced update on route change to avoid non-desired initial visual effects.
  • [API] headers,  SciterPost/SendEvent(, UINT reason) -> SciterPost/SendEvent(, UINT_PTR reason)
4.3.0.819-07-2019new: 
  • text-overflow:ellipsis in multiline text containers, see: https://sciter.com/text-overflow-ellipsis-for-multiline-texts/ 
  • Event.wheelDeltas -> (x,y)
  • Event.device ->  undefined | #keyboard | #mouse | #touch | #pen | #touchpad
  • Element.merge(otherElement) and Transaction.merge() - merge of DOM trees. 
  • [DOM] Element.create([div: existingElementAsChild])
  • websocket "wss:***" URL schema - SSL support.
  • <select popup="id-of-popup-options-list"> - selects with external <popup|select> lists. Recommended for use in repeatables. to reduce number of DOM elements involved.
  • [gtk/linux] bin.gtk/scapp is back.
  • [gtk] fix of critical error in text rendering.

fixes:

4.3.0.718-06-2019

new:

  • [script, ES7 compatibility] "static" methods in classes. class Foo { static function Bar() {... no `this` here...}} 
  • [sciter.notes] sharing books (over folders, and so dropbox, onedrive, nextcloud, etc., and so with their mobile clients(access notes on mobiles)), part I. NOTE: use with care, beta and feature is not complete.

fixes:

  • [CSS] fix of @import url(...) condition-expr; handling 
  • [win] fix of resolution change handling of custom frame windows.
  • [gtk] <input|date> to use current locale settings.
  • System.sync.mkdir() ... sync equivalents.
  • [API] fix of sciter-x-api.h compatibility with C99.
  • [script] fix of Date reporting in inspector.
  • [DOM] flow:stack, fix of potential AV.
  • Fix of aspect/prototype handling that modify attribute class, see: https://github.com/c-smile/sciter-sdk/issues/124 
  • [script] System.mkdir(), System.rmdir(), System.copyFile(), System.watch(), etc. have been documented.
4.3.0.608-06-2019new:
  • view.trayicon()  - creates tray icon associated with the view (window). The view will receive trayicon-click events after successful creation. See: sdk/samples/trayicon/ demos.

fixes:

  • [documentation] popupdismissing event documented;
  • [notes] fixes.
  • [CSS] support of nested @media declarations.
  • [input|masked, input|time] applying min/max constraints on fields, see: https://sciter.com/forums/topic/how-to-improve-time-control/ 
  • [samples] fix of sdk/samples/ideas/virtual-grid/ ;
  • [sdk] value.hpp , missed #include;
  • [script] fix of AV while executing: 1.0 - (0.0/0.0) expression;
  • [DOM] fix of AV in drawing of changed-on-the-fly content;
  • [script] fix of misleading "Name already defined as function argument";
4.3.0.504-06-2019fixes:
  • [gtk] view.move(x,y,w,h) fix for the case when is not yet shown. Due to limitation of GTK design window rectangle is not guarantied to match exactly x,y,w,h box when view.move() is called when window is not yet shown (a.k.a. realized in terms of GTK). 
  • delete el.attributes["attrName" | index]; support - deletion of attribute.
  • [richtext] htmlarea.value = "<p></p>" fix.
  • [DOM] element instanceof ElementClass; fix.
  • [DOM] fix of this var handling in element classes. 
  • [script] ES7 compatibility fix: extended object literals:
    var propName = "foo";
    var obj = { [propName]:"bar" }; 
    // yields { "foo":"bar" }
4.3.0.401-06-2019fixes:
  • [System.Process] fix of process.send(textForTheirStdin);
    • + /samples/process/exec-terminal.htm sample demonstating process.send(data);
  • [script] fix of AV while parsing a.(b);
  • [gtk] view.move() fix.
  • [DOM] fix of view.move(..., true) for windows with custom frames.
  • [script] fix of setting object property that shadows class constants (was prohibited, now allowed) due to valid use cases.
  • [API] regression fix of TISAPI define_class()...
  • [script] compatibility with @decorators;
  • [default media vars] regression fix.
4.3.0.329-05-2019new:
  • script:
    • "disable $tringizers" meta instruction as the very first string token in .tis file - disables special treatment of $names.
    • Functions below are static now - callable as, for example, Object.keys(obj) rather than obj.keys() as they used to be:
      Object.isFrozen()
      Object.freeze()
      Object.isSealed()
      Object.seal()
      
      Object.addObserver()
      Object.removeObserver()
      Object.eachObserver()
      Object.referenceOf()
      
      Object.keys()
      Object.create()
      Object.assign()
      
      Object.getPrototypeOf()
      Object.setPrototypeOf()
      
      Object.store()
      Object.restore()
      Just to comply with JavaScript calling convention.

      You will need to update +plus.tis and +vlist.tis in your sources from the SDK - otherwise you will get warnings in console.

    • Support of JS's [ugly] style of object creation using functions and function.prototypes:
      function Foo() { this.prop = 42; }
      Foo.prototype.say = function() { debug log: this.prop; }
      // and usage:
      var foo = new Foo();
      foo.say(); // will print "42"
      
4.3.0.227-05-2019fixes:
4.3.0.126-05-2019

new:

  • [script] support of 'single quote strings' as in JS.
  • <input|time default-group="second"> (or "hour" or "minute") - defines group that is selected by default.  
  • +vlist and +lang (attribute novalue) updates.

fixes:

  • [script] fix of for(var (one) in coll) handling (single element var list).
  • [windows] element.state.focus = true; fix when current focus is in other window.
  • [layout] fix of occasional AV in flow:table-fixed (tables with fixed layout).
  • [notepad] dark theme compatibility.
  • [richtext] fix of richtext functionality on popup windows.
  • regression fix in Element.attributes for(...in...) enumeration.
  • [vlist] fix of https://sciter.com/forums/topic/vlist-buffer_size-error/ case. 
4.3.0.017-05-2019new:
  • [script], first phase of moving towards ES2015/ES2017 compatibility: 
    • "fat arrow" functions according to ES2015 spec;
    • class name extend othername { constructor() {...} ... } - class declarations ES2015 style including get/set functions for virtual property declarations.
    • modules support: import ...; and export statements in ES2015 specification. import  and include can both be used but for different script files;  
    • void support.

fixes:

4.2.8.516-05-2019

new:

  • "default media vars"  - defining default set of media variables common to all windows:
    • by native API : SciterSetMediaVars(NULL,&mediaVars);
    • from script : View.mediaVars {...};
  • + System.path(#DOWNLOADS) - to get location of user's Downloads folder.

fixes:

  • [gtk] modal dialogs CPU consumption fix;
  • [script] event ~change { ... } handling fix;
  • [osx] fix of drag-n-drop initiation.

NOTE: this is the last build of 4.2.8.xxx series.

4.2.8.413-05-2019fixes:
  • [animation] fix of image animation: https://sciter.com/forums/topic/foreground-image-transition-bug-in-4-2-8-3/ ;
  • [css] option:node,  better css selector handling;
  • [ddm] fix of /sciter-sdk/samples/carousel/carousel.htm case;
  • [gtk] attempt to fix popup issue;
  • [gtk] Shift-TAB keyboard event fix;
  • [css] fix of font: @SOME_CONST handling;
  • [masked edit] element.state.value -> undefined when invalid;
  • ::SciterSetOption(NULL,SCITER_SET_UX_THEMING,TRUE); returns TRUE always;
  • [vlist] fix;
  • various regression fixes;
4.2.8.304-05-2019

new:

  • [usciter] support usciter file/name.htm - file name command line parameter to open the file.

fixes:

  • [gtk] fixes causing AV in inspector;
  • view.update() and element.update() fixes;
  • [+vlist] fix of scrolling issue.
4.2.8.228-04-2019

new:

  • behavior:layer; - adds bitmap buffer to element. Used on complex elements in presence of frequently updating elements like <video>.

fixes:

4.2.8.125-04-2019fixes:
4.2.8.025-04-2019new:
  • [script] start of "ES7 compatibility" series:
    • support of ES6 fat arrow functions (this-less lambdas): (a,b) => a + b;
    • stage I of destructuring assignment support, DA in var and let initializations: var [a,b] = [1,2]; and var {a,b} = { a:1,b:2 };
    • Support of ellipsis ...  in DA and function declarations (rest parameters)
  • [script] re-implementation of Element.create();, this time object template is expressed as Tuple: Element.create([div: "text node"]);
  • [script] var (a,b,c) = (1,2); will not produce error, will just set c to undefined silently to match DA/ES7 logic. 
  • [API] + BEHAVIOR_EVENT_PARAMS::name and BEHAVIOR_EVENTS::CUSTOM - for handling custom events (element.postEvent("custom-event")) in native code.

fixes:

4.2.7.510-04-2019fixes:
4.2.7.408-04-2019fixes:
  • [CSS] fix of memory leak on elements using ::marker (<input|checkbox> and <input|radio>)
  • [script,storage] fix of AV in Storage.open("nonexistent.file.db").
  • [gtk] view.windowIcon implementation.
  • rendering optimization of large sets of elements that use ::marker quasi-element.
  • [DOM] fix of corrupted animated gif handling.
  • event parsed / Event.DOCUMENT_PARSED is back (the notes requirement).
  • [notes] purging notes from "Deleted Notes" book at startup.
  • view.load() fix of path handling that contain '#' characters. 
  • [gtk] key handling, Event.VK_*** codes fix.
  • Fix of view.move() flickering on Windows 10 / Direct Composition backend.
  • [API] implementation of missed event_handler::handle_exchange(HELEMENT he, EXCHANGE_PARAMS& params) .
  • [gtk] view.focus = el; fix
  • Fix of initial Event.VISUAL_STATUS_CHANGED event generation.
  • fix of missed Event.POPUP_DISMISSING event declaration.
  • [printing] minor measurement fixes.
4.2.7.301-04-2019fixes:
  • fix of window-frame="..." handling.
  • [notes] Fix of book rename handling on Linux.
  • [notes] Fix of UI lock issue.
4.2.7.229-03-2019

new:

  • + [input|password] sample of "show password" functionality: sdk/samples/forms/password.htm
  • + <script media="screen"> - support of @media in <script> too (in the same way as in <style>). 

fixes:

  • [gtk] more gracefull view.close() implementation.
  • html { padding: ... } dynamic update fix, see: https://sciter.com/forums/topic/can-not-change-html-padding-immediately-in-the-statechange-event/  
  • Fix of outline rendering on scrollable position:absolute elements.
  • [<select|dropdown>] fix of keyboard handling when no popup is shown.
  • [css] fix of transition: ...list...; parsing.
  • [MacOS] compatibility with MacOS 10.4.4 
  • [+vlist] fix of partial view on resize;
  • [gtk] date formatting fix;
  • [html, printing] fix of <frame|pager> when it runs in child window, see: https://sciter.com/forums/topic/how-to-just-print-no-preview/#post-60426 
  • [gtk] element.state.focus = true fix for newely created windows;
  • [script] debug log: a, b; - comma (,) is mandatory now; 
  • [gtk] view move event generation;
  • [gtk] view activate event generation;
  • [+plus] @expanded="some.prop" uses duplex binding (updates data model on event expand/collapse);
  • fix of a problem with delivering notifications when message queue is clogged by WM_PAINTs.
  • [DOM] option.state.expanded/collapsed = true; fix 
  • [script] eval(), object.eval() is disabled by default, needs explicit SciterSetOption(NULL, SCITER_SET_SCRIPT_RUNTIME_FEATURES, ALLOW_EVAL);
  • [+vlist] fix of the case when list.style["max-height"] == "max-content" 
  • [script] Array.splice(start,...) fix when start >= length
  • [DOM] fix of element.scrollToView() for the case of deep hierarchies.
4.2.7.112-03-2019fixes:
  • [script] regression, fix of parseData("-2")  issue introduced in 4.2.7.0
4.2.7.012-03-2019fixes:
  • [script] fix of parseData("-2") case. JSON.parse("-2") is not affected and works as before;
  • [Windows] fix of view.windowResizable = true | false for custom frames;
  • [lang] support of title attribute;
  • Net.DataSocket, enabling pipe connection by default to support communication with inspector;
  • [SDK headers] Fix of SCROLL_SOURCE enumeration;
  • [script] fix of "BrokenHeart" GC issue while handling include statement;
  • [script] fix of "BrokenHeart" issue in array.length = ...
  • [+vlist] params.bufferSize parameter is obsolete now - not used, vlist computes bufferSize automatically;
  • [+plus] fix of class="{{foo:expr}}" binding;
  • [+plus] <element repeat=""> fix of record reordering.
  • Fix of SciterGetElementTextCB(), see: https://github.com/sciter-sdk/go-sciter/issues/177 
  • [script] throwing error on new Array(-1);
  • <htmlarea> and <plaintext> fix of edit:selectall command handling;
  • <plaintext> fix of caret position after plaintext.value = "";
  • Fix of AV on failed TCP/IP connection.
4.2.6.1019-02-2019new:
  • [smaples/charts] + interpolation mode;
  • + sample: sdk/widgets/inertial-indicator.htm - W10 alike "busy" indicator;
  • [osx] support of view.performDrag() on MacOS too;

fixes:

  • [windows,touch] handling gestures on popups;
  • <select|dropdown> plus.tis compatibility fix;
  • [windows,touch] fix of "sticky" slider;
4.2.6.910-01-2019

new:

  • + sample sdk/samples/toast-window.

fixes:

  • [<richtext>] fix of URL handling while pasting HTML.
  • [<plaintext>] fix of https://github.com/c-smile/sciter-sdk/issues/93#issuecomment-452754154 issue.
  • [Windows, Skia] SSE 3.0 as minimal CPU requirement (was SSE 4.1)
  • [gtk] fix of view.window() positioning.
  • [inspector] better representation of calc() and cursor values. Not perfect but close enough.
  • [inspector] tab-size:4 by default.
  • [inspector] fix of line number position in CSS files.
  • [script,RegExp] fix of \b and \B handling.
  • [windows, GDI+] fix of animations with GDI+ backend. 
  • <input|hidden> runtime property value fix;
  • [CSS] cursor change fix, see: https://sciter.com/forums/topic/how-to-change-the-cursor/ 
  • [windows7] fix of graphics::fill implementation on pristine W7 (the one without service pack)
4.2.6.828-12-2018fixes:
  • fix of context menu problem introduced in 4.2.6.7
4.2.6.727-12-2018

new:

  • view.windowEnabled = true | false; runtime property - enables / disables window as a whole. Used in modal dialog emulation scenarious.
  • Element.selection.elements("selector"); - method returns list of elements covered by selection. 
  • + sciter.node - basic NodeJs Sciter integration: sdk/demos/sciter.node - NodeJs native module (DLL) and sdk/samples/sciter.node/ demos. See: https://terrainformatica.com/2018/12/23/sciternode-versus-electron/ 

fixes:

4.2.6.605-12-2018fixes:
  • [layout] fix of overflow:auto; vertical-align:middle; combination rendering.
  • [windows] view.dialog and view.window - fix of default window dimensions if width/height is not provided in parameters.
  • [inspector] fix flow:grid() serialization.
  • <htmlarea> fix of saveDocument(fileUrl) when path contains spaces. 
  • [script] color.toHSV() fix;
  • [script] element.remove() fix for airborn (a.k.a. moved) elements.
  • fix of Element.text for <button> elements.
  • support of file://winsharename/path and file:///winsharename/path URLs on Windows.
  • [script] fix of return from async function : https://sciter.com/forums/topic/async-funtion-has-problem-with-returning-array/ 
  • Fix of redundant style resolution, causing side effect: https://sciter.com/forums/topic/resource-loading/ 
  • [layout,rtl,macos] fix of text-overflow:ellipsis; rendering;
  • regression fix of "slow processing of large documents";
4.2.6.521-11-2018

new:

  • Sample sdk/samples/ideas/parallax - simple parallax effect.

fixes:

internals:

  • WEBSOCKETS_SUPPORT is optional now.
4.2.6.415-11-2018

new:

  • <htmlarea> "novalue" demo at sdk/samples/htmlarea-editor/no-value.htm
  • Conditional include: <include media="mquery" /> - conditional include. See: /sdk/samples/basics/test-include.htm
  • "Alice in Wonderland" sample : DB, virtual list, tray-notification.

fixes:

4.2.6.308-11-2018fixes:
4.2.6.207-11-2018

new:

  • notepad + markdown (GitHub flavor), editing and viewing.
  • "overlay" sample : sdk/samples/ideas/overlay

fixes:

4.2.6.101-11-2018fixes:
  • [win] fix of high-CPU consumption on hidden window.
4.2.6.001-11-2018

new:

fixes:

4.2.5.325-10-2018new:
  • /sdk/notepad/ - that are sources of html-notepad application.
  • [script, Bytes] + bytes.toDataUrl() and Bytes.fromDataUrl(dataUrl) methods;
  • [<img>,<picture>] + img.value = imageObj; imageObj = img.value; - getting/setting Image object to <img>,<picture> directly. 

fixes:

4.2.5.215-10-2018fixes:
  • [DOM,script] support view.request {noCache:true} mode - no caching.
  • [richtext, plaintext]
    • fix of "line content" removal.
    • fix of double click handling to select word.
  • [DOM, script, timers] fix of "re-entrant timer" issue.
  • fix of layered dialogs z-index issue: https://sciter.com/forums/topic/sciter-version-4-2-5-1%ef%bc%8cwindow-frametransparent/
  • [view] fix of detached windows handling. + /samples/dialogs+windows/owned-detached as a test case and demo.
  • [osx] fix of role=window-caption handling on complex elements.
  • [richtext] handling of loading HTMLs having non-canonical structure.
4.2.5.111-10-2018fixes:
  • CRITICAL: fix of memory build-up after frequent content changes.
  • [plaintext] fix of problems with VK_END handling and multiline text insertion: https://github.com/c-smile/sciter-sdk/issues/93#issuecomment-422068713 
  • [scapp] Adding SciterSetOption(NULL, SCITER_SET_SCRIPT_RUNTIME_FEATURES, ...) there too.
  • [plaintext, richtext] "edit:selectall" command change in regards of caret position.
  • [DOM, table] fix of layout calculation after dynamic content update.
4.2.5.009-10-2018

new:

  • [script] Breaking change: non-safe script features are disabled by default. To enable them use this explicit declaration:
    SciterSetOption(NULL, SCITER_SET_SCRIPT_RUNTIME_FEATURES,  
       ALLOW_FILE_IO | 
       ALLOW_SOCKET_IO | 
       ALLOW_EVAL | 
       ALLOW_SYSINFO ); 

    at the beginning of your main/WinMain. That if you really need them (e.g. ALLOW_SOCKET_IO is required for communication with inspector). The requirement was escalated by several AV vendors.

  • [SVG,CSS] svg images used in back/foreground-image inherit now CSS variables of host element so CSS variables can be used in those SVGs;
  • sciter.dll version schema numbering change - sequential numbering is back. It does not include SVN revision anymore. Sciter.BUILD property reports SVN version now, yet sciter.dll properties contain SVN revision number;
  • Event.cursor = ...; to change cursor on the fly;
  • [css] window-accent-color and window-accent-text-color (that is white or black - based on window-accent-color luminosity) colors;
  • [windows] support of view.window { direct:true } case - creation of DirectComposition windows from non-direct parents;
  • <video> youtube playback sample in /samples/video/
  • [script] gc() function is moved from global namespace to VM.gc() 
  • Element.parseHtml(html|svg) has been documented.

fixes:

4.2.4.619515-09-2018

new: 

  • /bin/skia32/html-notepad.exe - preview version of html-notepad application. In future it will be part of the SDK. For now its sources are available only in Sciter's source tree.

fixes:

  • behavior:plaintext, fix of paste operation.
  • fix of element.url() function.
  • [osx] fix of view.state = View.WINDOW_SHOWN; when window was initially hidden.
  • [skia backend] fix of Path.arcTo() handling.
4.2.4.618410-09-2018

new:

  • URL.toPath(url) and URL.fromPath(path) - path <-> file URL conversions.

fixes:

  • Fix of element.box() for table rows, see:  https://sciter.com/forums/topic/scrolling-select-table-behavior/
  • Fix of "SciterDetachEventHandler not detaching external behaviors"
  • [osx] Fix of CoreGraphics backend rendering.
  • [osx] view.state = ... fix after full screen.
  • [behavior:plaintext] Fix of text insert problem from here: https://github.com/c-smile/sciter-sdk/issues/93
4.2.3.617203-09-2018
  • [layout] fix of vertical-align:middle for display:inline-block elements.
  • [win] fix of font-family: "non-ascii-font-name"; names handling.
  • [layout, htmlarea] fix of point(x,y) -> caret position calculation. See: https://sciter.com/forums/topic/bug-with-white-space-pre-wrap/ 
  • Fix of old recurrent issue https://sciter.com/forums/topic/cant-find-element/#post-57952  
  • [win] view.msgbox and view.dialog - direct flag is off by default.
  • behavior:richtext 
    • various fixes
    • implementation of "shelved span switch"  (CTRL+B when no selection but just caret).  
  • Fix of ALT+char handling.
  • [css] text-decoration-color as standalone property
  • [osx] fix of move-window-by-caption handling on custom windows.
  • [osx] compatibility with MacOS versions below 10.10
4.2.3.614320-08-2018

new:

  • sciter.exe/uSciter.exe - CTRL-O and F5 handling.

fixes:

  • Fix of "double click to select current word" for first/last words in paragraphs.
  • Fix of sdk/samples/ideas/lightbox-dialog/ sample.
  • Fix of AV at window close in presence of running animators...
  • [linux/gtk] popup/tooltip handling fix.
  • [script,unicode] Stream.print(nonasciiString)  fix.
  • [layout] <table> dynamic update fix.
  • [dom] SCROLL_SLIDER_RELEASED event generation fix, see: https://sciter.com/forums/topic/detect-scrollbar-usage/ 
  • Support of PNGs with interlaced encoding.
4.2.3.613111-08-2018

fixes:

[script] break label; handling fix.

4.2.3.612910-08-2018

fixes:

4.2.3.610806-08-2018

new:

  • + SCROLL_EVENTS.SCROLL_SLIDER_PRESSED - marks start of slider drag scrolling. SCROLL_SLIDER_RELEASED marks end of scroll by scrollbar's slider.
  • [Sciter as a child window] Fix of position changing on SciterLoadHtml.  

fixes:

4.2.2.609027-07-2018

fixes:

4.2.1.608524-07-2018

new:

  • + media variables :
    • ui-ambience: "dark" | "light"; -OS/WM uses dark/light theme.
    • ui-blurbehind: true | false;   - OS/WM is capable and uses blurbehind (Aero, UWP alike blur, etc.)
  • + "auto-glass" mode in usciter.exe
  • usciter persists settings and window location.
  • [html] engine sets window-state="shown"|"maximized"|"minimized"|"full-screen" attribute on the root element of the window on window state change.
  • overflow:scroll-indicator - expansion to full size on mouse hover.
  • [printing] page.print([pageNumberList]) - print specific pages.
  • [Win] enabling blurbehind on window-frame="standard".

fixes:

4.2.0.606413-07-2018

new:

  • [Windows 10] Support of Windows 10 build 1803 "acrylic background".  In order to use it, the window should have a) window-frame="extended" window-blurbehind="[ultra-]light|dark" attributes and b) WS_EX_NOREDIRECTIONBITMAP extended style. Check https://sciter.com/sciter-4-2-support-of-acrylic-theming/
  • [Windows 10] Windows created by SciterCreateWindow API are using WS_EX_NOREDIRECTIONBITMAP and DirectComposition by default. Secondary transparent windows created by the engine (e.g. popups) are not using WS_EX_LAYERED mechanism anymore. Transparency is made by composing window content into DWM visual tree directly.
  • + /samples/acrylic-window/ folder. Contains sketch of typical UWP style window and UWP themed input elements (this may evolve into full master CSS schema).
  • usciter.exe demo redesign : 
    • It uses blurbehind now.
    • Connect-to-inspector button starts inspector executable (if needed) on all platforms.
  • [CSS, popups] Support of box-shadow on popup windows. For example select > popup { box-shadow: 0 0 4dip #000 } will work without the need to create additional container element.
  • [MacOS] enabling OpenGL based rendering on all types of windows.
  • [script/inspector] + debug log (stringizer {alike} parameters); variant of the log output. 
  • [script/inspector] debug log shows file/lineno in inspectors console for one click navigation to source. 

fixes:

  • [inspector, script debugger] fix of breakpoint and step navigation handling.
  • <input|masked> tweaks.
4.1.11.603704-07-2018

new:

fixes:

  • <input|masked>, input|masked > span:invalid when numeric group is out of range.
  • [Windows10] dpi-aware.manifest update to support <dpiAwareness>PerMonitorV2</dpiAwareness> modes. Check /sdk/demos/sciter/res/dpi-aware.manifest
  • [css] el { margin-top:10 } parsing fix, that's erroneous declaration (no units) but still shall be handled gracefully.
  • [osx] fix of AV on Japanese MacOS version.
  • [DOM] Fix of long standing issue of handling methods on elements created "in the air" and not yet connected to the DOM: new Element(...), Element.clone(), etc. See: https://sciter.com/forums/topic/clone-element-bug/
4.1.10.598721-06-2018

new:

  • + view.performDrag(img,xOffset,yOffset,data[,mode]) - data drag with custom icon/image
  • [script] eval(thisVar,text,[env0,env1,...envN]);
  • + element.style.set { background-image: [url:"images/mypath.png"] }
  • <output|date format="short|long|..."> and <output|time format="short|long|...">
  • [API] + sciter::graphics::draw_text(...) implementation.

    Note: struct SciterGraphicsAPI interface has been changed, non-C++ wrappers that use SciterGraphicsAPI need to update SciterGraphicsAPI bindings due to new textAddRef, textRelease members.

fixes:

4.1.9.595103-06-2018

new:

  • [script] view.focusable(#next|#prior|#first|#last [,from] ) - method that allows to traverse focusable elements in TAB order;
  • [Graphics.Path] + new Graphics.Path("svg path"); -constructing paths using SVG's <path d="..."> format. See: samples/graphics/test-graphics-path-ops.htm
  • [inspector] implementation of proper eval at breakpoint stop - it is possible to get local variables now. 
  • [inspector] + min/max intrinsic dimensions. 

fixes:

4.1.8.591820-05-2018

new:

fixes:

  • [script] RegExp.lastIndex = 0; fix.
  • [svg] <path d="s ..."> rendering fix.
  • [win] forcing WIC factory to be created in main gui thread.
  • <option expanded> fix.
  • [script] Object.referenceOf() fix.
  • [skia] sciter-opengl.exe rendering fix.
  • [DOM] fix of element::attribute update + adjacent selectors. see: https://sciter.com/forums/topic/css-adjacent-sibling-combinator-strange-behavior/ 
  • [html parser] fix of <script><![CDATA[...]]></script> parsing.
  • <select editable>.value = "foo" fix. 
  • [script] multi-value fixes.
4.1.7.589026-04-2018

fixes:

4.1.6.588323-04-2018

new:

  • [CSS] new '|' selector/combinator: input|text { color:red }  
  • [script] anonymous async functions support: var foo = async function() {...};
  • [CSS] flexes in display:inline-block elements are back;
  • [packfolder] + golang literal support, by Pravic;

fixes:

4.1.5.585631-03-2018

fixes:

  • [script,DOM] view.selectFiles(#open) shows all files by default;
  • [script] max number of simultaneously running async functions is limited by to 64.
  • [script] + Array.some(), Array.every(), Array.find(), Array.findLast()  - not sure who needs these... Just for compatibility with JS.
  • [css] flow:stack - transparent layers are mouse transparent now. See: sdk/samples/flow-flex/flow-stack.htm
  • [win,linux] Fix potential "purecall" AV in http client see: https://sciter.com/forums/topic/appcrash/ 
  • Element.move() fix, see: https://sciter.com/forums/topic/few-bugs-in-4-1-4-5838/ 
4.1.4.583420-03-2018

new:

  • Raspbery Pi (ARM processor) experimental build at sdk/bin.gtk/arm/
  • [css] + "like" expressions in @media queries:  @media os like "MacOS 10.7.*" { ... }
  • [graphics] + Path.bounds() method;
  • [+plus] + Plus.modelOf(domElement)

    fixes:

  • [script] fix of AV related to async function execution.
  • [win,d2d] fix of FarEast fonts handling: https://sciter.com/forums/topic/text-render-issue/ and others.
  • [DOM,UI] Fix of view.focus = element; when the element is invisible or is disabled.
  • [skia] fix of rendering artefacts in Graphics.arc();
  • [script] fix of multi-return values when expressions contain function calls.
  • [vlist] scrolling fix: https://sciter.com/forums/topic/vlist-scrolling/ 
  • fix of AV on monitors with less than 96 DPI resolution.
  • [css] inline style parsing fix: see: https://sciter.com/forums/topic/the-parsing-bug-of-the-css-var-of-the-style-attribute/ 
  • [+plus] fix of nested @model namespace handling;
  • <frame content-style="..."> loading fix: https://sciter.com/forums/topic/loading-resources-in-another-thread/ 
  • [svg] fix of <use> handling;
  • [DOM] self#someid accessor, performance optimization. 
  • [pager] fix of pager.loadHtml(html) method when html contains non-ascii characters.
  • [css, drawing] fix of background: url(...svg) 50% 50% pixel rounding.
  • [+plus] fix sub repeatable namespace handling. + master detail sample.
  • ValueCompare fix : https://sciter.com/forums/topic/inconsistency-in-comparison-between-object-and-value/ 
  • [script] fix of conflict of view.doEvent() and stdout.println();
  • Fix of possible AV in DOM dynamic updates (related to +plus).
  • [script] multi-return assignment, throws error if there are not enough values returned by function. 
  • [win,d2d] @font-face fix for the case when family name matches the font already installed in the system.
  • [d2d] CSS - @font-face, attempt to fix sporadic font rendering issue.
  • [script,css] fix of runtime CSS property clearance implementation: element.style#someprop = undefined; 
  • [dom/css] fix of Element.attributes["foo"] = "..." runtime update in case when foo is bound with content ( content: attr(foo)
  • fix of min-width:0 layout calculations when width:* (defined in flex units) .
  • [skia-backend] fix of problem with non-ascii font names.
  • [script] Date.toString() and Date.dayOfWeekName(), fix of weekday name.
  • [script] fix of "var declaration may shadow function parameters", see: https://sciter.com/forums/topic/tiscript-variable-redefiniton/ 
  • [plus] Repeatable update: https://sciter.com/forums/topic/plus-filter-function-is-not-called-in-child-lists/ 
  • [script] fix of mem-leak on premature Generator loop ending.
  • [osx, CoreGraphics] fix of Image.toBytes();
  • [script] "that" lambda || statement; 
  • <select multiple> fix of CTRL+CLICK handling: https://sciter.com/forums/topic/bug-in-select-multiple/ 
  • [DOM] fix of element.style updates.
  • [xgl/skia] better font substitution handling.
  • [svg] fix of runtime attribute updates.
  • [script] "that" lambda fix.
  • [css] fix of @const handling inside inactive @media sections.
  • [skia] fix of "glyph not found" issue on XP.
4.1.3.572802-02-2018

new:

  • [script] "That lambda" function form: |a,b| a + b; - uses this of outer function.
  • [DOM] + Graphics.transform(a,b,c,d,e,f) method - canonical 2d affine transformation matrix.
  • + Graphics.Path.arc() method. 
  • System.Process.exec(,,#detached) to start "torn off" child processes. 

fixes:

  • [headers] sciter::host<T> and sciter::window fixes refactoring - proper window destruction sequence.
  • [script] get and set are treated as keywords only inside property declarations. Otherwise they are ordinary identifiers.
  • [css,rtl] fix of flow:vertical-wrap layout.
  • [script] for initialization fix, see: https://sciter.com/forums/topic/for-statement-initial-list-problem/ 
  • [osx,linux] fix of role="window-caption" mouse move handling.
4.1.2.571724-01-2018

fixes:

  • [css] color:inherit; is back.
  • <input|date> + method .showPopup(); 
  • <select|dropdown> + method .showPopup();
  • fix of AV in AppendMasterCSS : https://sciter.com/forums/topic/av-in-sciterappendmastercss-api/ 
  • [CSS] fix of dynamic position change handling;
  • SciterSetupDebugOutput(hwnd), attempt to fix.
  • [win,Skia] fix of @font-family handling.
  • <select|tree> fix of expand/collapse click handling.
  • 4.1.*.* regression, fix of AV on second window create/destroy. See: https://sciter.com/forums/topic/wm_destroy-access-violation-on-4-1-x-x/
  • "popuprequest" event generation is back.
  • [svg] fill="none" fix.
  • [script] Fix of namespace a { include "a.tis" } case, see: https://sciter.com/forums/topic/tiscript-namespace-simulate-es6-import-export/ 
4.1.1.570314-01-2018

new:

  • [packfolder] -i "folder/*" option to explicitly include files or folders. 

fixes:

  • <textarea novalue> regression fix
  • tiscript::compile() fix, see: https://sciter.com/forums/topic/tiscriptcompile-fail/ 
  • [charts] tooltip styling update.  
  • [css,layout] handling vw,vh,vmin,vmax units in border-radius.
  • [script] proper escapement in Element.$([value="{val}"]) when val contains " 
  • [css] font-size handling fix in dynamic styles, see: https://sciter.com/forums/topic/bug-font-size/ 
  • SC_POSTED_NOTIFICATION is back
  • [column-resizer] fixes.
  • [win] support of multiple GUI threads in the same process.
  • [win] fix of API calls from external worker threads.
4.1.0.568708-01-2018

new:

  • Sciter uses libuv for almost all asynchronous I/O tasks. New functions
    • System.dir(...) function - scan folder for files;
    • System.watch(...) function - monitor changes in folder;
    • System.unlink(...) function - delete file;
    • System.rmdir(...) function - delete folder;
    • System.mkdir(...) function - create folder;
    • System.rename(...) function - rename file or folder;
    • System.copyFile(...) function - copy file;
    • System.stat(...) function - get file stats - times, permissions, etc.;
    • System.utime(...) function - touch file - change file access times;
    • System.exec() : Process - start process asynchronously catching its stdin, stdout, stderr.
    • + samples/file-system/folder-watch.htm - demonstrates these file system operations.
  • New Net namespace that includes:
    • Net.Socket - raw asynchronous TCP/IP socket or named pipe connection. Replaces old Stream.openSocket(); that is obsolote now.
    • Net.DataSocket - asynchronous TCP/IP socket or named pipe connection that sends/receives [binary]JSON data. Debugee and inspector communicates now using named pipe objects that increases speed of communication.
    • Net.WebSocket - web socket over HTTP connection. 
    • + samples/net/sockets.htm - demonstrates sockets communications, client and server.
  • [script] new color declarations:
    • color #fe0; color #ffee00; - CSS alike color declarations
    • color.cyan; color.red; etc. - declaring colors using HTML color names.
  • [script, Color] + methods to transform one color into another:
    • Color.hue(...),
    • Color.rotate(...),
    • Color.lightness(...),
    • Color.lighten(...),
    • Color.darken(...),
    • Color.saturation(...),
    • Color.saturate(...),
    • Color.desaturate(...),
    • Color.opacity(...),
    • Color.opacify(...),
    • Color.grayscale(...)
  • [script] Date objects comparison follows object comparison rules: date1 == date2 is true if they are equal, and date1 === date2 is false if these are two different instances. 
  • + samples/charts/ - simple Line, Area and Bar charts implementation. More chart types to come there.
  • [dom] Element.popup(pel,placement,x,y) case support.

fixes:

4.0.8.564922-12-2017

fixes:

4.0.7.563719-12-2017

new:

  • [script] spread operator in array literals and function calls : [0,1,..otherArray] and foo(0,1,..otherArray).
  • [CSS] the morph() function, see: https://sciter.com/css-addons/ 

fixes:

  • fix of time-zone issue in <input|calendar> and <input|date> 
  • [API] fix of sciter::image::from(value);
  • fix of refresh area calculation when root document has borders.
  • [script] Array.reduce(cb[,initialValue]) - handling case when array is empty and no initial value is given - throws an error rather returning NULL.
  • [css rendering], disable subpixel positioning for bitmap images, see: https://sciter.com/forums/topic/image-background-foreground-position-error-rendering/ 
  • [windows, themes] fix of scrollbar rendering: https://sciter.com/forums/topic/scrollbars-look-weird-in-4-0-6/ 
  • [Windows] use of custom WM_ANIMATE (artificial animation frame) is gone completely.
  • [DOM] speed up of element.style.set {....} , element.style["prop"] = ... - all runtime style update cases.
  • [svg] fix of gradients rendering when stops defined in userspace units.
  • [svg] fix of <style> section parsing then they contain <![CDATA[ sequences.
  • [css, style sets] fix of old issue when sets defined on doc level override stock sets only partially.
  • [SDK headers] fix of aux::utf2w (utf-8 to utf-16 conversion) for out-of-BMP codes.
  • [DOM,css] fix of Element.style.variables {...} update when they contain lengths (dimension change as a result), see: https://sciter.com/forums/topic/variable-changing-doesnt-causes-relayout/ 
4.0.6.559003-12-2017

new:

  • [DOM, script] view, "close" event: window.on("close", function() {});
  • [DOM, script] view, "closing" event, generated before document destruction: window.on("closing", function() { ... this.root ... });
  • [DirectX] sdk/demos.win/sciter-dx - one more DirectX demo, also shows FPS. 
  • [CSS] ::marker pseudo-element support;

fixes:

  • [osx] fix of view.windowIcon rendered upside down;
  • [css variables] fix of variables handling in font-size and line-height;
  • [css] fix of background/foreground image rendering when image position is in the middle of the pixel;
  • [d2d] fix of solid color brush management, overall rendering speed optimizations; 
  • [d2d] more stable (frame rate) animations. VSYNC synchronised;
  • [css] border-spacing dynamic update fix, see: https://sciter.com/forums/topic/bug-dynamically-changing-css-border-spacing-doesnt-causes-relayout/ 
  • [d2d] ALT+ENTER -> full screen is muted. Functionality disabled.
  • [osx,linux] ux-theme refactoring to support high resolution;
  • [osx,SVG] <img src="some.svg"> better resolution on Retina;
  • <select|dropdown> fix of selection by touch pad;
  • reverting r5494 ":moving not hit detectable" - breaks existing code (D&D in particular); 
  • [css, drawing] fix of { outline : ...; transform : ... } combination rendering. See: https://sciter.com/forums/topic/outline-not-affected-by-css-transform-with-positionabsolute/ 
  • [css] fix of <input|text novalue="..."> positioning; <input|text novalue> reformulation as just  input:empty { content:attr(novalue); }; 
  • fix of html {min-width: xxx } handling. See: https://sciter.com/forums/topic/min-width-min-height/ 
  • [sdk headers] aux-cvt w2utf conversion fix when utf16 contains characters out of BMP;
  • [osx] fix of setting focus on hidden window;
  • [d2d,windows] faster background:repeat drawing;
  • [API] ValueToString(,XJSON) fix of name output when name contains digits;
  • scrollbar handling, mouse capture fix;
  • fix of inline image rendering;
4.0.5.552416-11-2017

fixes:

4.0.5.552014-11-2017

new:

  • [osx] tiscript - standalone script executable.
  • [CSS] support of currentcolor color value https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#currentColor_keyword;
  • mouse handling by scroll-indicator - it works now as normal scrollbar that is rendered on top of content. 
  • css selector shortcut: recognizes input(foo) selector as input[name="foo"] 
  • <table>, support of arbitrary block elements inside <tr>, see: /sdk/samples/flow-flex/flow-table-plus.htm 
  • Element.update(callback, transitionParams), supports transitionParams parameter, see: /sdk/samples/effects/animated-content-change.htm
  • Graphics.pushLayer(...,filter); - CSS filter: drop-shadow, blur, saturation, etc. See: /sdk/samples/graphics/test-layer-filters.htm
  • [script] switch statement - pattern matching:
      switch(v) {
       case <literal> : ... break;
       like <regexp> : ... break;
       like {...} : ... break;
       like [...] : ... break;
       instanceof Integer: ... break;
       in [...]: ... break;
      }

fixes:

  • [CSS] box-shadow, drawing optimization.
  • fix
  • fix of Element.text = "val"; implementation;
  • fix CSS filter bug: https://sciter.com/forums/topic/css3-filters-bug/ 
  • Preventing state.moved element to be hit detectable. See: https://sciter.com/forums/topic/cant-receive-event-x_drag_leave-sometimes/
  • [osx,skia] RTL support with Skia backend.
  • [svg] fix of gradientTransform in Skia backend. 
  • [script] Storage.open() accepts file urls: Storage.open("file://some/path%20to%20storage/t.db");
  • [css] Fix of cascaded (multiple) text-decoration rendering;
  • Fix of htmlarea.text handling.
  • [html] <input|slider> - better mouse click handling.
  • [+plus] fix of "class" binding inside repeatables. 
  • ux-theme fix on non-standard DPI.
  • [css] fix of var() usage in gradients and transforms.
  • [css selectors] fix of :only-of-type and :has-child-of-type(TAG) selectors.

4.0.5.548222-10-2017

new:

  • WebP image format support;
  • view.selectFolder(...,defaultFolder) parameter;
  • [osx,CoreGraphics backend] RTL support and better font handling, on par with Windows implementation;
  • [css] + @imixin's with parameters. See: https://sciter.com/forums/topic/parameters-for-mixin/ and sample sdk/samples/css++/@mixin-with-params.htm
  • tiscript - standalone script compiler and VM, now on MacOS and Linux.

fixes:

  • <input|text> - selects all text if got focus by TAB navigation;
  • <input|masked> fix of value retrieval;
  • <table>'s, fix of dynamic update of cell geometry: https://sciter.com/forums/topic/tds-width-not-work/ 
  • [VM] GC/BrokenHeart issue in CsEventObjectFire;
  • [Windows] more responsive animations;
  • marquee, fix of dynamic behavior update;
  • Fix of Element.text = "something"; when element has behavior attached;
  • Fix of Element.clone() to preserve :disabled and :readonly state flags;
  • [+plus] allowing Repetable to be bound with undefined elements of array;
  • [css] fix of :empty:disabled state combination handling.
  • [richtext] AV on deletion in empty <htmlarea>
  • <select|dropdown> event change generation fix (popup closed without changing selection);
  • + cursor: copy, drag-copy, drag-move
4.0.4.542807-10-2017

new:

  • [css] nested mixin support, see: https://sciter.com/forums/topic/nesting-mixin/

fixes:

  • [richtext/plaintext] fix of keyboard handling when popup is present.
  • [notes] Insert image button functionality.
  • element.execCommand("edit:insert-html", html) fix for single elements.
  • CTRL/CMD+RIGHT/LEFT in richtext and plaintext.
  • fix of <plaintext> empty strings while copy-pasting.
  • [popup] fix of closing popup while click on scrollbar.
  • [regression] popup positioning fix.
  • [+formation] repeatable fix.
  • [regression] fix of inline span styling of <a>'s, colorizer samples, etc.
  • [textarea] support of tabs in ta.insertText("\t");
4.0.4.541302-10-2017

new: 

  • CTRL+INSERT (copy) and SHIFT+INSERT (paste) are back. 

fixes:

  • [DOM,script] forcing deletion of html::element instance on removed elements (Element.remove(), Element.clear(), etc). Use Element.detach() if you want DOM element to be removed from DOM tree but preserved from deletion.

    NOTE: this may affect existing code. plus.tis and vlist.tis are updated to use template.detach() in repeatables.

  • [drawing] fix of text color used while drawing of floats and other edge cases. 
  • [svg] support of opacity as attribute.
  • fix of AV in element.timer() when the function is called on deleted element.
  • view.msgbox() - host screen location
  • [gtk] <circle> rendering fix
  • [script] fix of GC issues related to async and generator functions
  • [script] Fix of Bytes.load(name) damages name content. 
  • [DOM,layout] fix of layout re-calculation after dynamic <td> content update.
  • [win,touch screen] default handling of touch pan gesture on scrollables.
  • [richtext] IME is back.
  • [richtext, editing] fix of deletion of sequences of atomic boxes like <br><br><br> or <img><img><img>
  • [doc] Date.toLocaleString([longFormat[,andTime]]) is documented. 
  • Date.parse("iso-date",now Date()) fix when ISO date contains timezone shift.
  • [CSS,DOM] fix of { content:attr(alt) } update on dynamic change of alt (or any other) attribute.
  • [script, DOM] forcing element removed from the DOM be invisible for GC.
  • [+plus] fix of memory buildup in repeatables, see: https://sciter.com/forums/topic/memory-leak-in-plus-repeatable/ 
  • html-to-text conversion <img alt=":)"> tweak.
  • [windows] drawing artifacts on window-frame="extended", see: https://sciter.com/forums/topic/white-background-flash-to-screen-in-window-frameextended-2/ 
  • [inspector] fix of the case then debugee is the view itself (but not document in frame as in sciter.exe)
  • [script] fix of GC issue: array with deleted elements prevents deleted elements from GC.  
  • [+plus] fix to support <,> conditionals in @bound attributes like:  <input|decimal(val) min="0" max="1.0" step="0.1" @disabled="val < 0.5"/>
  • [windows,d2d] fix of transition:blend on transparent popups.
  • [richtext] fix of AV on <pre> on/off in empty paragraph.
  • [formation] making it friendlier to vlist 
  • [windows,d2d] fix of color brush hash table overload issue: https://sciter.com/forums/topic/css-var-and-transition-have-memory-leak/ 
  • [scrollbars] mouse hover handling fix.
  • [tooltip] removing tooltips before showing context menu. 
  • [richtext] Fix of multiline text pasting. 
  • Element.request() fix of doubled request.
  • [select] fix of doubled onValueChanged notification.
  • [css] fix of vertical-align: middle; in flow:default|vertical;
  • <input|decimal> fix of value rendering.

NOTE: sciter.dlls, sciter.exe and notes.exe Windows executables in SDK are digitally signed now. MacOS SDK executables are also signed.

4.0.3.534809-09-2017

new:

  • [script] await/yield syntax compatibility with JS:

    await is allowed to be in async function() only, see: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

    yield is allowed to be in function*() only, see: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/function*

    Existing code that uses await/yield shall work as it is but with compile time warnings.

  • [osx] IME support (Far East languages input method in particular).
  • [win] support of mouse devices with MOUSE WHEEL deltas < 120.
  • [config.h] #define HTTP_SUPPORT  - enables/disables internal HTTP client. Without it no external resources are loaded and http client is excluded from compilation completely.
  • + [html5] <mark> element support.
  • + [gtk] notes project.
  • + [gtk] HTML clipboard support.
  • behavior:frame saveDocument() method implementation.
  • [API] DOCUMENT_PARSED event. Generated after parsing but before DOCUMENT_READY.
  • Element.popup() update to support "auto flip" modes.
  • New samples:
  • [script] bytes1 == bytes2, comparison of two byte vectors works in the same way as string1 == string2 - content equality.
  • [behavior:video] support of video.style.foregroundImage to access current frame.
  • [css and window-blurbehind attribute ] :
  • @media blur-behind {} 
    @media !blur-behind {} 
    @media blur-behind=="ultra-dark" {} 
    @media blur-behind=="dark" {} 
    @media blur-behind=="light" {} 
    @media blur-behind=="ultra-light" {}
    

fixes:

  • [DOM,script] element.clone() to preserve :synthetic state flag in cloned elements.
  • [win,printing] fix of printing on printers with device name larger than 31 characters. Thanks to Miloš Opálek
  • [css] :nth-child(an+b) selector fix.
  • [pager] documentation update at sdk/samples/printing/doc/pager-behavior.htm
  • [pager] restored printing functionality with GDI+ backend, thanks to Miloš Opálek
  • [win] fix of view.windowState = WINDOW_FULL_SCREEN; rendering.
  • [layout] handling of inline elements in <pre>
  • [script] "abc\n".split("\n") == 2 fix to comply with JS.
  • [plaintext, textarea] Handling ALTGR + Q and the like combinations in national keyboards: https://sciter.com/forums/topic/bug-altgr-inputs-not-working-on-plaintext/ 
  • [CSS] Support of @SOMECONST in calc()'s inside style sets.
  • [richtext] insert inline images fix. 
  • [script,storage] Fix of handling record deletion under iterator.
  • [script,storage.Index] + method clear() to remove all elements from index.
  • input|number focus handling fix.
  • [css] support of font: system, MyAwesome, sans-serif; constructs.
  • STATIC_LIB + plain C header compatibility.
  • [css] position:absolute element, width calculation fix.
  • [API] Generating event_handler::detached() call on window destruction (if it has DOM handlers set).
  • [API] sciter::image::load() implementation.
  • fix of ellipsis rendering.
  • <frame|pager> fixes.
  • regression fix of DOCUMENT_COMPLETE event generation, introduced in r5273.
  • [win] fix of AV in samples/dialogs+windows/windowed-element.htm
  • [DOM, <table>], parser forces <tbody> insertion for <tr> containment (if not provided). 

    Note:  could be a breaking change if selectors like: table > tr > td are used (to fix it use: table > tbody> tr > td ) 

  • [richtext] + table editing commands: insert/delete row/column, merge cell range, split spanned cell.
  • [gtk] far east languages/fonts rendering.
  • [context menus] fix of getting focus back, see : https://sciter.com/forums/topic/input/ 
  • [win] Fix of crash on ALT+ENTER .
  • [win] fix of "D3DGear bug" - crash when D3DGear is running.
  • cr/lf handling in plaintext editing.
  • Fix of click on <label> when bound input is disabled. 
  • [tooltips] - better tooltips handling - now tooltip gets removed only when mouse leaves tooltip's owner element. 
  • [osx] CMD+A handling fix.
  • [pager] fix of Pager.onRequest() handling.
  • [css] min/max-width: 100% fix.
  • <select|dropdown>, fix of "change" event generation when popup is shown. "change" is postponed until popup dismissal.
  • [editing] fix of VK_LEFT/VK_RIGHT handling.
  • more responsive handling of set focus on element.
  • [editing] fix of surrogate pairs handling.
  • [textarea] fox of selection by mouse handling.
  • [textarea, edit] fix of dynamic @novalue handling

NOTE: sciter.dlls, sciter.exe and notes.exe Windows executables in SDK are digitally signed now. On MacOS you may need to run SDK executables directly from console as they are not signed too.

4.0.2.526203-08-2017

fixes:

  • fixes internal promise() implementation;
  • [CSS] fix of column width calculation in flow:vertical-wrap; containers;
4.0.2.525702-08-2017

new:

  • new version numbering schema that includes SVN revision;
  • new Sciter platform demo: Sciter Notes application https://sciter.com/sciter-notes 
  • [script] new Request DOM object and onRequest(request) and onRequestResponse(request) methods on <frame> and <richtext> elements. Allows to fulfil or reject data requests from script;
  • [script] <img> or <picture>, elem.value = ... byte array ...; containing image data: png,jpeg,etc. bytes;
  • [+plus] support of <some model=... each=...> (model and each on the same element);
  • [+plus] @readonly="expr" - allows to bind element.state.readonly;
  • Element.state.flowType property, reports current layout type of the element;
  • [+formation] + ability to set element attributes from data model, see: https://sciter.com/forums/topic/dynamic-sub-menu/#post-52034 
  • Element.execCommand("edit:insert-text", "foo") for <plaintext> and <htmlarea>
  • [richtext] Transaction.split() and Transaction.wrap() methods;
  • Element.$o(selector) method - get owners of popup element by selector;
  • [CSS3] text-decoration-line, text-decoration-color, text-decoration-style support;
  • [CSS] + transition of max-width, min-width, max-height, min-height, visibility and display properties;
  • [css] back/foreground-size property animation;
  • [css, variables] color(name) and length(name) variable functions - equivalent of var(name,10px) and var(name,#f00) but without need of providing default value;
  • view.mediaVar("name") method to get single variable value;

fixes:

  • [inspector] single instance operation - starting second instance is causing first one to be activated;
  • [script] Fix of "AAA".split("A") implementation to be conformant with JS spec.
  • Changes for compatibility with Bullseye code coverage tool;
  • Fix of issues detected by PVS studio;
  • Fix of mouse hit test issue in hyperlinks, see https://sciter.com/forums/topic/blind-spots-in-hyperlink/ ;
  • Element.attributes add/remove work faster;
  • [inspector] fix of bug with inner frames handling;
  • [script] fix GC issue with persistable objects;
  • [osx] fix of Korean font rendering;
  • [osx] fix of blur behind handling;
  • [textarea, edit, richtext] hiding caret when readonly is set;
  • [layout] min-content calculation fix in flow:horizontal; elements;
  • [textarea.richtext] positioning of context menu relative to the caret when menu is invoked from keyboard;
  • [osx] getting html from clipboard;
  • Execution of Element.scrollTo() and Element.scrollToView() delayed until layout is valid. 
  • [layout] fix of text-align:center; see: https://sciter.com/forums/topic/incorrect-text-line-centering/ 
  • [osx,CG] fix of border-radius rendering;
  • [printing] fix of partial run rendering;
  • [osx,CoreGraphics] handling of TAB characters in plaintext editor;
  • behavior:plaintext, fix of CTRL-A -> DELETE;
  • [xgl] fix of samples\graphics\test-graphics-path-ops.htm (broken red lines), samples\graphics\test-immediate-mode.htm (dashed lines, different shapes);
  • and samples\graphics\test-layer-image-mask.htm (hangs)
  • [css] fix of filter:none; interpretation;
  • [svg] fix of fill-style attribute inheritance;
  • [CSS] honoring display:table | table-row | table-cell;
  • sdk/samples/ideas/lightbox-dialog/ update to use blur behind;
  • flow:grid inline-block's adjustment;
  • [win] font ascent/decent calculation adjustment;
  • SW_CONTROLS flag in SciterCreateWindow affects window icon and close button. SW_RESIZABLE adds thick border and min/max buttons;
  • element.unsubscribe("event","selector") fix, see: https://sciter.com/forums/topic/unsubscribe-issuse/ 
  • [ddm2] fix of the case: https://sciter.com/forums/topic/event-mouse_leave/ 
  • Fix of side effects in method Element.parseHtml(html) : Array of Nodes   
  • behavior:textarea and edit, VK_LEFT and VK_RIGHT handling on selection;
  • fix of Element.state["statename"] for "expanded","collapsed", "checked" and "unchecked";
  • fix of border-collapse:collapse; rendering;
  • [+formation] <menu> added to the list of repeatables;
  • <input|number>, compatibility with Element.clone()
  • [script] view.request{}, forcing it to be always async (requirement for await); 
  • [menus] closing popups when host window looses focus;
  • removing unnecessary layout updates while set focus handling;
  • FontAwesome, sample upgraded to version 4.7.0;
  • [win, gdi] fix in window closing procedure;
  • [editing] UTF16 surrogates handling fix. See: https://sciter.com/forums/topic/textarea-unicode/ 
  • [css] var(test): rgba(255,255,255,0.4); parsing fix;
  • [dom] fix of $p(selector) for code running in frames;
  • <select> auto value parsing fix in case <option value="1m">;
  • [skia] fix of Graphics.arc() and Graphics.ellipse() rendering.
  • fix of multiple tooltips appearance issue;
  • [menu] fix of keyboard navigation handling by behavior:menu;
  • [textarea][richtext] fix of setting focus after popup menu.

NOTE: Windows executables in SDK are not signed so you may encounter security warnings on W8 and W10. On MacOS you may need to run SDK executables directly from console as they are not signed too.

4.0.1.111-06-2017new:
  • Graphics.strokeDash(array[,offset]) - custom dashes support;
  • [API] SciterAttachHwndToElement(element,hwnd), support case when  hwnd == NULL ( to detach );
  • [API] sciter::value::is_color() , sciter::value::is_duration() , sciter::value::is_angle(), etc.
  • [css] cursor: drag-copy | drag-move types;
  • [osx,skia] auto fallback to CPU rendering if no OpenGL on platform (like when OSX is being run on VMWare);
  • + Node.commonParent(other:Node) : Element method;

fixes:

NOTE: Windows executables in SDK are not signed so you may encounter security warnings on W8 and W10. On MacOS you may need to run SDK executables directly from console as they are not signed too.

Previous log items: logfile-1.htm.