Sciter 4.* logfile:

Build# Date Updates
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:

  • [osx,lin] fix of memory corruption while SVG images handling;
  • [richtext] fix of backward deletion, see: https://sciter.com/forums/topic/get-text-from-textrarea/#post-58551
  • [inspector] log formatting fix, see:  https://sciter.com/forums/topic/redundant-space-in-debug-logstringized-output/
  • disabling embedded scripts execution in richtext documents.
  • [script, painting] fix of CSS color variables resolving in element.paint*** methods.
  • [plaintext/richtext] copy context menu state fix;
  • [richtext] fix of space sequence insertion handling (NBSP auto insertion);
  • [richtext] LEFT/RIGHT navigation fixes;
  • [Windows] Fix of stalemate of timers on lengthy and frequent animations.
  • [osx] fix of view.selectFile(#open,...,filter) filter handling.
  • fix of sciter::debug_output_console , message preambula printout.
  • [richtext] better block start/end caret drawing.
  • usciter.exe/app fix of Help button handling on MacOS.
  • color.rotate() fix. See: https://sciter.com/forums/topic/color-rotate-wont-wrap-around-at-360deg/
  • fix of :current state rendering after select.value = "...";, fixes: https://sciter.com/forums/topic/inspector-does-not-highlight-elements-in-source-tree/ 
  • [osx] fix of sdk/demos.osx/layered/ sample;
  • Fix of view.msgbox { caption:"..." } handling.
  • [plaintext] fix of plaintext.setContent(text,p1,p2) method.
  • [css] fix of flow:grid(...), min/max calculations.
  • [el.attach_hwnd(nullptr)] fix;
  • [css] ::marker pseudo-element 
    • is allowed to be replaced outside of its host element.
    • obeys vertical-align and horizontal-align for its alignment inside its host element.
  • [behavior:masked] fix of "clamp" behavior on last group, see: https://sciter.com/forums/topic/mask-edit/
  • URL.toPath() fix, see: https://sciter.com/forums/topic/use-view-selectfile-to-get-file-name/
  • [VS2017 compatibility] Separate sciter.dll.Debug.pdb and sciter.dll.pdb generation.
  • win-master.css issue on <button>s, see: https://sciter.com/forums/topic/remove-outline-issue/#post-58187 
  • Fix of runtime style update issue, see: https://sciter.com/forums/topic/remove-outline-issue/
  • [htmlarea,plaintext] fix of caret appearance on element.state.focus = true;
  • [windows] Fix of WIC factory initialization;
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.