homesciterlogfile

Sciter logfile:

Build# Date Updates
1.0.9.31 27-07-2010
  • Fix of rendering elements with opacity: < 1.0.
  • Fix of scroll handling of elements that have positioned overlays on top them.
  • TIScript, extended syntax of for(... in ... ) ...; statement. Now it may have optional otherwise part:
    for(... in ... ) <loop-body-statement> otherwise <else-statement>;
    where otherwise part gets executed only when body of the loop is not executed at all - very first call of iterator returns nothing.
  • CSS, new, support of #RRGGBBOO format of colors, where 'OO' is a hexadecimal representation of opacity in the range 00..FF
  • Fix of Element.request(...,#put-data,...) it used to send POST HTTP request rather than correct one - PUT HTTP.

Builds: win32, win64, win-mobile.

1.0.9.30 25-07-2010
  • Fix of AV while trying to get self.outerHtml.

Builds: win32, win64, win-mobile.

1.0.9.29 23-07-2010
  • Fix of opacity:< 1.0 elements rendering on layered windows.
  • TIScript, RegExp fix of [-a-z] (first '-' in character sets) handling.
  • Update, internal behavior:path is renamed to behavior:path-select to avoid name conflicts with external behavior:path from HTMLayout SDK.
  • TIScript, fix of var dt = new Date(str) when str is date in ISO 8601 format (with or without 'z')
  • TIScript, new method Date.toISOString(asUTC:bool) - emits ISO 8601 date/time string.
  • Fix of style updates after styleElement.activate() call.
  • Fix of popup positioning in CSSS! el.show-popup() function when popup uses margins.
  • TIScript, fix of minor memory leak in CsCompiler.
  • Fix of "data:..." urls handling in <img>es.

Builds: win32, win64, win-mobile.

1.0.9.28 19-07-2010
  • Fix, position:absolute position calculations when right:XXpx is used. See: http://rsdn.ru/forum/htmlayout/3884345.1.aspx
  • Update, Element.request(), new HTTP-verbs/protocol formats: #post-data, #put-data, #post-json, #put-json and #delete. This is support for RESTful communications with CouchDB,Persevere, etc. See: http://en.wikipedia.org/wiki/REST and https://www.ibm.com/developerworks/webservices/library/ws-restful
  • JS compatibility fix, new Date(2010,7,12); interprets date componentes as a local date/time (internal storage is still UTC).
  • Fix, Date.toString() emits local time representation and Date.toUTCString() emits UTC time representation.
  • Fix in Stream.openSocket() implementation.
  • Fix in socket streams when Stream.encoding = "utf-8" is using.

Builds: win32, win64, win-mobile.

1.0.9.27 18-07-2010
  • Fix, h-smile core, calulation of dimensions of elements with float:left | right and position:absolute | fixed when width property is not defined explicetly.
  • Fix, h-smile core, hyperlink handling in <frame>s.
  • Fix, TIScript, new Date() reported wrong time when daylight savings time is in effect.
  • Fix in Sciter, Element.text "eats" first character. The bug was introduced in v. 1.0.9.26.
  • Fix of Stream.openSocket() function.

Builds: win32, win64, win-mobile.

1.0.9.26 17-07-2010
  • Update, Element.request() reports HTTP status / WinInet codes now. See documentation and updated sdk/samples/communications/json-rpc sample;
  • New Bytes.fromBase64() method.
  • Fix in sdk/api/aux-cvt.h.
  • Element.scroll(#bottom), Element.scroll(#right) fixes to match documentation.
  • New, CSS3, cursor:no-drop | move | copy values.
  • New sample sdk/samples/ideas/wizard/ - simple "wizard" implementation.
  • New behavior:path and so <input type="file-path" /> and <input type="folder-path" />, see: sdk/samples/forms/file-folder-path.htm
  • Update in behavior:richtext|plaintext and behavior:htmlarea:
    • DoubleClick - selects current word.
    • Ctrl+DoubleClick - selects current paragraph.  
    • DoubleClick, DoubleClick - (two consecutive DoubleClicks) - selects current paragraph.
  • RTL fix, rendering lines starting from numerals.

Builds: win32, win64, win-mobile.

1.0.9.25 12-07-2010
  • TIScript, fix of RegExp ctor introduced in previous build.
  • New, CSS3, support of background-attachment:local; See:  background-attachment and sample: Path sdk/samples/html-and-css/backgrounds/background-attachments.htm
  • Fix of multiple file drop in system D&D (Event.X_DROP, typeof evt.dragging == #array)

Builds: win32, win64, win-mobile.

1.0.9.24 09-07-2010
  • Fix of view updates while scrolling. Fixes in particular Marquee behavior issue.
  • Fix of :root:rtl case handling, see HTMLayout 3.3.2.3 issues with html dir=RTL
  • Fix of column positioning in scrollable table:rtl, see: RTL issues
  • Fix of show-popup() calls from popup menus, see: Show popup menu for popup menu item
  • Fix of :current state flag reset on inactive [behavior:]tabs.
  • Fix, better handling of scrollables with background:repeat.
  • TIScript, fix of RegExp ctor, flags made optional to match documentation.
  • tiscript.hpp, tiscript::pinned class extended.
  • Fix of /sdk/samples/images/dynamic-background-image.htm case - dynamic generation of images from script for use in CSS.
  • Support of in-doc <style> declaration in behavior:richtext.
Builds: win32, win64, win-mobile.
1.0.9.23 04-07-2010
  • libpng update to v.1.4.3 due to "Buffer overflow in pngpread.c in libpng before 1.2.44 and 1.4.x before 1.4.3"
  • Fix of startup GIF animation.
  • Fixof JSON parsing, string literals with unicode escapement:
    <script type="application/json" #vals>
    {"qwerty":"\u041f\u0440\u0438\u0432\u0435\u0442!"}
    </script>
  • Fix of opacity < 1.0 rendering on layered windows.
  • behavior:htmlarea, fix of auto scroll while selection.
  • Fix of documentation of View.msgbox().

Builds: win32, win64, win-mobile.

1.0.9.22 27-06-2010
  • One more fix of margin calculation in flow:horizontal-flow; to match specification http://www.terrainformatica.com/w3/flex-layout/flex-layout.htm
  • Fix of sdk/samples/html-and-css/fixed-table/table-fixed-10000-rows-sections.htm case handling.
  • Fixes in behavior:htmlarea: better handling of RTL selections and needless caret removal.
  • Speedup of RTL texts handling.
  • Fix of HTML dialog implementation: <title> defines initial dialog window caption.
  • Fix of horizontal-align:right / overflow-x: hidden handling.

Builds: win32, win64, win-mobile.

1.0.9.21 23-06-2010
  • Fix of the RegExp bug introduced in previous build.
  • New Element.x property - interface to native behaviors attached to the element. Allows to call behavior methods without name conflicts:
    e.g. el.x.doSpellCheck() will call method defined in behavior:richtext (if it is attached to the element).
    From now and on this is recommended method of calling methods of native behaviors.

Builds: win32, win64, win-mobile.

1.0.9.20 21-06-2010
  • Fixes in behavior:richtext/plaintext.
  • RTL fixes:
    • possible AV in RTL rendering.
    • better handling of horizontal alignment in RTL texts.
    • better handling of intermediate scroll position in elements under delayed measurement and having horizontal-align:right (used by RTL). This is mostly about <frameset>/splitter handling.
  • Fix of behavior:clickable, on_x_method_call
  • Fix of scrollbar updates.
  • New SciterVersion() external API function, returns minor and major versions of the engine.
  • Fix of possible AV in regexp implementation.
  • Fix of Length.toString();
  • Update, new parameter numOfAttempts in Stream.openSocket(address,timeout,numOfAttempts) function.
  • TIScript, fix of !!expr parsing (a.k.a boolean cast);
  • TIScript, update, support of decorators inside function bodies.

Builds: win32, win64, win-mobile.

1.0.9.19 07-06-2010
  • Fix of rendering of cases similar to htmlayoutsdk/html_samples/css-plus/content-transform.htm (content property in CSS).
  • Fix of Element.prototype = ... handling.
  • New, behavior:marquee, includes all features of http://www.w3.org/TR/css3-marquee/ but in form of behavior.
    See: http://www.terrainformatica.com/wiki/h-smile/built-in-behaviors/marquee
  • New feature in CSS - relative flexes via the fx(weight,base-lenght) function. That covers all features of so called additive flex system used in Mozilla XUL. See specification in sciter/sdk/doc/flex-flow/flex-layout.htm
Builds: win32, win64, win-mobile.
1.0.9.18 01-06-2010
  • Fix of <input type=number> and <input type=decimal> handling. http://rsdn.ru/forum/htmlayout/3828129.1.aspx
  • Fix of rendering of scrollbars with custom styling (image-on-demand-loading issue);
  • Fix of click on hyperlink in scrollable environment (used to scroll unexpectedly).
  • Fix of Event.target value when there is no target element e.g. in FOCUS_LOST when other window is getting focus.
  • Fix of comma in MQ expressions, this
    @media screen, print { ... } works exactly as
    @media screen || print { ... } now.
Builds: win32, win64, mobile.
1.0.9.17 31-05-2010
  • Update:
    • JPEG lib used inside is upgraded from version 6b to recent 8a;
    • PNG lib (with APNG patch) was upgraded from 1.2.9 to recent 1.4.2.
Builds: win32, win64, mobile.
1.0.9.16 31-05-2010
  • Update, Element.graphics(color[,forceInitialization]) - forceInitialization parameter.
  • Fix of AV in behavior:reflection (under D&D), testcase: http://www.rsdn.ru/forum/htmlayout/3811669.1.aspx
  • Fix of @const update while reloading <style> by changing @src and element.state.disable = true/false;
  • Fix of Date.toLocaleString() for Arabic Windows.
  • Fix of text selection (behavior:htmlarea) operation on tables with hidden rows/cells.
  • New, support of Media Queries http://www.w3.org/TR/css3-mediaqueries  but with use of CSSS! expression notation.
    So it is possible to write in CSS the following:
  • @media handheld && device-width > 800
    {
      ... hires device declarations ...
    }
    
  • Side effects of MediaQuery support:
    • all style sheets that document refers to are getting loaded upfront, no matter of media types.
    • all images are getting loaded on demand only.
      So if CSS has declaration like background-image:url(something); that image gets loaded in memory ONLY if there is at least one and visible DOM element that uses it.
  • New SciterSetMediaVars(HWND hWndSciter, SCITER_VALUE vars) API function. Setting application specific media queries.
  • See sdk/samples/mediaq/ samples and /sdk/doc/core/css-media-queries.htm document.
Builds: win32, win64, mobile.
1.0.9.15 22-05-2010
  • Update, Support of 'noime' attribute in behavior:edit so this: <input type="text" noime /> will disable IME input in that field.
  • Fix of AV in "forced LTR" (direction:ltr) on purely RTL text runs.
  • Fix of flex paddings computation in children of flow: horizontal | horizontal-flow containers.
  • Update, in dropdown selects SELECT_SELECTION_CHANGED event is delivered only after popup dismissal.  
  • Fix in <select size=N>: making SELECT_SELECTION_CHANGED event to be generated only if selected item really changes.
Builds: win32, win64, mobile.
1.0.9.14 15-05-2010
  • Update, IME support is redesigned. It does not use separate candidate window now.
  • Fix of outline:glow partial rendering. See: http://www.rsdn.ru/forum/htmlayout/3802267.1.aspx
  • Fix of behavior:edit rendering with position:relative; See: http://rsdn.ru/forum/htmlayout/3802267.1.aspx
  • Fix of @src and @href interpretation when they set through code by value containing non-URL characters.
  • Update, support of 1, 4, 8, 16 BMP + RLE4,RLE8 files loading.
  • Fix of "call of Element.loadImage multiple times causing drawing issues".
  • Fix in themes support engine, case: "DLL loaded, windows were created and destroyed, theme is changed (while no windows) and new window is created again after that - wrong theme handler is used."
  • Minor fix: Element.request(timeout,...) - better error reports.
  • Fix in richtext, case: pasting table fragments from clipboard. It used to paste only first row from range of rows.
Builds: win32, win64, mobile
1.0.9.13 08-05-2010
  • Change of text-wrap:unrestricted rendering. text-wrap:unrestricted now works as text-wrap:normal but long words that do not fit are getting splitted into multiple "bricks" so placed in different lines.
  • Fix of :nth-child(2n) handling, see http://rsdn.ru/forum/htmlayout/3794162.1.aspx
  • Fix of the issue "Focus rectangle remaining on disabled links"
  • Fix of the issue "Disappearing text in a button" in some circumstances.
  • Fix, TIScript. Internal constant named "_next" was removed (its name just changed to "!next" - such name cannot be defined in script so it will never clash with user defined vars and consts). See: http://www.rsdn.ru/forum/htmlayout/3798984.1.aspx
  • Minor Float.toString() fix for Float.MIN and Float.MAX values.
  • Fix of "quick select" issue in behavior:dropdown-select.
  • Fix of scrollable menus rendering.
  • TIScript update, RegExp package was changed again. This version was made initially by Rob Pike (@Google now, author of SAM editor and Go language) and ported to C++ and to use UTF-16 inputs. It is simple/compact and uses NFA algorithm that makes it fastest and most reliable RE around. Theory is here: http://swtch.com/~rsc/regexp/regexp1.html .
    Henry Spencer's RE package I was using initially hang-ups on various REs (by its backtracking design actually).
    Documentation was updated by definition of supported RE syntax.
  • Optimization fix of scrollable tables rendering.
Builds: win32, win64, mobile
1.0.9.12 24-04-2010
  • Fix. Optimization of dynamic change of top/left CSS attributes for position:absolute|fixed elements. See: last comment in http://terrainformatica.com/forums/topic.php?id=1285&page&replies=11
  • New API: SciterCallScriptingFunction() and so dom::element::call_function() - allows to call global script functions that defined in main (a.k.a. host) document and or in frame loaded in main document.
  • New, CSS property horizontal-align, see: sdk/samples/html-and-css/horizontal-vertical-align samples.
  • Update, proper handling of vertical-align for elements with overflow:hidden when content overflows, see: sdk/samples/html-and-css/horizontal-vertical-align samples.
  • New sample: Sequencer, see: sdk/samples/ideas/animation-sequencer demo. That allows declaratively define sequence of animations on elements and element groups.
  • Fix of :drop-marker state flag handling (D&D).
  • Fix of Japanese full stop (period) and comma characters wrapping.
  • Fix of grayscale JPEG files loading.
  • Fix of Image used as a background-image, see: sdk/samples/images/dynamic-background-image.htm
  • Two new global functions $(...) and $$(...) (select-by-selector and select-all-by-selector ) that are equivalents of self.$(...) and self.$$(...). Was simply bored writing that 'self.' each time.
  • New MOUSE_CLICK event generation (mouse events group) - pair of MOUSE_DOWN/MOUSE_UP is detected on some element. So if element has no behaviors that are generating BUTTON_CLICK/HYPERLINK_CLICK events it will generate MOUSE_CLICK. Not handled MOUSE_CLICK event will cause Element.onClick() to be called (if it is set).
Builds: win32, win64, mobile
1.0.9.11 18-04-2010
  • Fix of AV in behavior:htmlarea;
Builds: win32, win64
1.0.9.10 17-04-2010
  • Fix of new Element(... mem allocating calls ...), see: http://terrainformatica.com/forums/topic.php?id=1289&page&replies=6
  • Fix of min-intrinsic calculation in dropdown selects, see: http://rsdn.ru/forum/htmlayout/3754228.1.aspx
  • Fixes of loading compiled script files (bytecodes). Note: this requires existing bytecode files to be recompiled.
  • New: Support of SCITER_TRANSPARENT_WINDOW option for Aero DWM and DwmExtendFrameIntoClientArea(). The feature is explained here.
  • Fix of animation steps computation when multiple animators with different step times are running at the same time.
  • Fix of nested <tbody> parsing in tables. <tbody> can contain other <tbody> elements.
  • Fix of high CPU consumption when animating element is covered in full by other window.
  • Fix of self.onSize() generation, see: http://terrainformatica.com/forums/topic.php?id=1289&page&replies=20
  • Fixes of RegExp.exec() - a) it uses non-greedy algorithm by default and b) returns proper collection of matched sub-groups. See: http://terrainformatica.com/forums/topic.php?id=1289&page&replies=20
  • Fix, proper generation of Behavior.detached().
  • Fix, better handling of animated GIFs having different sizes of frames.
  • Fix of specificity calculation in CSS selectors. Specificity of these two selectors:
    • button:checked > text
    • button > text
      used to be equal. Fixed now.
  • Fix of dynamic table updates in sdk/samples/drag-n-drop-map/the-map.htm sample.
  • Fix of thread handle leak when process creates/destroys multiple GUI threads with Sciter instances.
  • Fix of initial popup windows rendering (it might draw first time on hdc(0) thus on desktop surface).
  • Fix of the issue "Engine isn't rendering mixed English / Hebrew characters in the correct order".
  • Now engine is using three distinct RTL/LTR modes:
    1. @dir undefined:
      <text> rtl/ltr mix </text>
      automatic directionality algorithm used (first char with strong directionality defines default order of text block).
    2. @dir defined and is "ltr":
    3. <text dir="ltr"> rtl/ltr mix </text>
      default is LTR order.
    4. @dir defined and is "rtl":
    5. <text dir="rtl"> rtl/ltr mix </text>
      default is RTL order
  • Fix of table intinsic height calculation when @cellspacing is present. See: http://rsdn.ru/forum/htmlayout/3776906.1.aspx
  • Fix of flow:vertical-flow layout calculation when a) clear is used and b) width of a child is in flex units.
  • Fix, CSS 'clear' property accepts 'before' and 'after' values that are synonyms of 'left' and 'right'.
  • Fix of AV in <richtext>, details are here.  
Builds: win32, win64, mobile
1.0.9.09 27-03-2010
  • Scrollable table fix, scrollbar calculation when border-spacing is used.
  • New, CSS support of text-selection-color, text-selection-background-color and text-selection (shortcut of previous two). So <input> elements, <plaintext>, <richtext> and <textarea> can have customizable selection colors.
  • Fix of transition:none handling for animating png/gif images.
  • Update: regular expression engine used in TIScript is replaced by TRE.
  • Fix of selectElement.value = undefined; - it clears the value of the select properly. So if select has @novalue it is is applied properly.
  • TIScript, fix of multi-return for the cases like "return (foo(),bar());"
  • Fix of Element.state.current = true/false handling.
  • TIScript, fix of var f = new Function("...tiscript source...");
  • Fix of popups rendering having border-radius.
  • Fix of opacity:0 interpretation - it is interpreted as visibility:hidden now.
  • Update. TIScript uses strict mode by default. This means:
    1. All variables must be declared before being used. So
      one = 1;
      will generate runtime error if the one was not declared as var one; before.
    2. Multiple declarations of variables with the same name in same scope like:
      var one = 1;
      var one = 2;
      will generate an error.
      NOTE: this is potential breaker of existing code (such errors need to be fixed anyway).
  • Fix of scroll-while-selecting in behavior:richtext|plaintext.
  • VISUAL_STATUS_CHANGED and DISABLED_STATUS_CHANGED are now posted events rather than being sent synchronously as it used to be. This reduces C++ and TIScript call stack depths.
  • New. TIScript, support of local var declarations in if(<test-expr>) and while(<test-expr>) text expressions. Therefore these are valid pieces of code now:
    if( var nel = getNext() )
    {
    ... do something with the nel here ...
    }
    and
    while( var nel = getNext() )
    {
    ... do something with the nel here ...
    }
  • Fix of submit on <form [noaction]> see: http://rsdn.ru/forum/htmlayout/3742531.1.aspx
  • Fix of header rows rendering in scrollable tables.
  • New notification in onControlEvent() - Event.ANIMATION - start/stop animation events.
  • Fix in CSS, transition: parser. For example:
    transition: margin-top(back-out,0.4s, 0.1s, cubic-in)
    defines transition that starts after 0.1s delay and lasts 0.4s.
  • Fix of table scrolling (border-spacing:-1 case) and dynamic updates in tables.
  • Update, TIScript. In boolean expressions empty array evaluates to true now. So this:
    if([]) print(true); else print(false);
    will outputs true. This conforms JS behavior in such cases.
  • New method Element.content(...elements...) has been added. Used primarily to set content of table rows. Properly handles row/colspans in cells.
  • Fix of DOM API methods to work in SciLite (windowless) environment.
  • tiscript.exe fix of compilation of input files having UTF-8 BOM.
  • Fix of @include mime-type url(); statement in CSS. It is capable to load compiled (bytecode) script files now.
  • Fix of Element.ns property - it properly reports namespace of the element.
  • Fix of the case when scrollbars are removed in runtime, test case:  http://rsdn.ru/forum/htmlayout/3748429.1.aspx
  • Fix of Element.box(#width|#height, #content) calculations after updates.
  • Fix of TEXT_EDIT_REPLACE_SELECTION handling in <textarea>
Builds: win32, win64, mobile
1.0.9.08 09-03-2010
  • behavior:htmlarea; fix of text selection in Hebrew, Arabic and other RTL scripts.
Builds: win32, win64, mobile
1.0.9.07 07-03-2010
  • Fixes in H-SMILE core.
  • New, behavior:file and so support of <input type="file" /> in <form>s using multipart/form-data transfer. See: /samples/communications/file-upload/ sample. uploader.php is standard PHP way of accepting file transmissions on server side.
  • New, TIScript, macro variables:
    __FILE__ - name of current file;
    __LINE__ - current line number in the file;
    __TRACE__ - actually is an instruction that creates current call trace snapshot as a vector of triplets. Each triplet is a vector of three elements where:
    [0] - integer, line number;
    [1] - symbol, function name;
    [2] - symbol, file name.
    see: sdk/samples/ideas/log/log.tis and sdk/samples/ideas/log/test-log.htm
  • Update: Element.postEvent(,,owner) is using the element itself for event sinking/bubbling traversal (it used to be the owner).
  • New Bytes.name property used for passing filename to the server in Element.request().
  • New, support of multipart/form-data transfer in Element.request(,#post-data) - programmatic file upload support.
  • New, Image.toBytes() method - image compression to PNG or JPG.
Builds: win32, win64, mobile
1.0.9.06 01-03-2010
  • TIScript, fix of string keys in objects. Test case.
  • One more fix in update queue implementation.
Builds: win32, win64, mobile
1.0.9.05 27-02-2010
  • New feature - behavior:reflection, as it's name stands it implements visual effect of reflection. See: /sdk/samples/html-and-css/effects/reflection.htm. That was a weekend project.
Builds: win32, win64, mobile
1.0.9.04 27-02-2010
Builds: win32, win64, mobile
1.0.9.03 14-02-2010
Builds: win32, win64, mobile
1.0.9.02 13-02-2010
  • Fix of <include> parsing, details of the bug
  • Update: Element.loadImage(url) - loads data from cache to avoid multiple copies of image. This allows to use dynamic background/foreground images in CSS updateable via script. See: sdk/samples/images/dynamic-background-image.htm
  • TIScript, fix of fetch() function.
  • Fix of Element.style#overflow-y = "scroll", dynamic update.
  • Fix of style calculation issue http://terrainformatica.com/forums/topic.php?id=1232&page&replies=1
  • New, TIScript, binary literals: var i = 0b1101;
  • Fix of stack overflow in this case: http://terrainformatica.com/forums/topic.php?id=1236&page&replies=1
  • Fix of <link media="..."> and <style media="..."> parsing.
  • Fix of AV in behavior:edit in some peculiar case : http://rsdn.ru/forum/htmlayout/3697582.1.aspx
  • Fix of Element.scrollToView() after dynamic updates.
  • TIScript, fix of parseData() function on large JSON data sets.
  • New in CSS prototype property:
    prototype: name [ url(...) ] - optional URL field in prototype property - loads script file that contain the behavior class if needed.
  • Attempt to fix problems using proxy.
  • CSS transition:
    • Update: transition, support of named params:
      transition: margin(timing-function:quad-in, duration:0.4s)
    • New, sound support in transitions:
      transition: margin(timing-function:quad-in, duration:0.4s)
      sound(in: url(notification.wav));

      See: sdk/samples/html-and-css/transitions/margin-animation.htm
  • TIScript, fix of === operator handling for strings.
  • Fix of flex heights handling in flow:horizontal/overflow-x:auto containers.
  • Fix of doubled SELECT_SELECTION_CHANGED events in <select type="select-dropdown">, see: http://terrainformatica.com/forums/topic.php?id=1242&page&replies=2
  • Fix of 32bit BMP loading.
Builds: win32, win64, mobile
1.0.9.01 02-02-2010
  • Fix of position:relative|absolute elements rendering.
  • Fix in behavior:form, get/set value handling.
  • TIScript, new function membersOf(objOrFunOrElement) allows to use for(..in..) for property enumeration of object that have other meanings of iteration.
  • New, mosciter-x.dll - Sciter for Mobile. Thanks to Dmitrii Yakimov from http://activekitten.com for making this to happen.
Builds: win32, win64, mobile
1.0.9.00 30-01-2010
  • Fix of Sciter rendering when it is a child window with background:transparent document loaded.
  • Fix of negative margins handling.
  • Fix of relative elements on popups rendering.
  • Fix of <select> onValueChanged generation.
  • Fix of behavior:masked, EDIT_VALUE_CHANGED generation on paste()
  • Fix, SCN_LOAD_DATA.url and SCN_DATA_LOADED.url contain now unescaped urls.
  • Fix of behavior:date, KEY_DOWN handling on empty values.
  • Fix of AV while accessing evt.xRoot/yRoot properties in some circumstances.
  • TIScript, fix of try {} finally {} (no catch) case.
  • Fix of image-transformation for :expand images having solid color sections.
  • New, support of multi-returns from native functions:
    • tiscript_native_interface::set_nth_retval()
    • new macro definitions in tiscript.hpp: TISCRIPT_RETURN_2, TISCRIPT_RETURN_3, TISCRIPT_RETURN_4

New feature: transition CSS attribute supports now animations of CSS attributes using various easing functions (around 30 in total). Transitions defined this way support automatic and configurable rollbacks of animations.
  • sciter/sdk/samples/html-and-css/transitions/ folder contains various samples of the transition,
  • sciter/sdk/samples/html-and-css/transitions/!transition-doc.htm is a specification of the transition feature.
This implementation of the transition is close to http://www.w3.org/TR/css3-transitions/ module proposed by Apple but is different in a) syntax and b) in feature set, e.g. H-SMILE transitions support declarations of animations in both directions, not only one.

Builds: win32, win64.

1.0.8.60 24-01-2010
  • Fix of custom scrollbar styles handling.
  • New Element.style.dimension(width,height[,delayed]) method for dynamic changing of width and height of the element. See discussion.
  • New macros in sciter-x-behavior.h file:
    BEGIN_FUNCTION_MAP
    FUNCTION_V...
    FUNCTION_1...
    END_FUNCTION_MAP
    They allow to define native methods for behaviors in WTL/MFC fashion.
  • Fix of class Grid : Behavior {} to match the one from htmlayout SDK (events generation).
Builds: win32, win64.
1.0.8.59 20-01-2010
  • Fix of animated scrolling in presence of custom toolbars.
  • Fix of Image(w,h, color) constructor, color parameter interpretation.
  • New parameter in Element.post/sendEvent(,,,data:value) functions - passes the data value to the BEHAVIOR_EVENT_PARAMS.data field. Method sendEvent() returns the value of BEHAVIOR_EVENT_PARAMS.data if it was set. Useful for interaction with native code from UI.
Builds: win32, win64.
1.0.8.58 17-01-2010
  • Fix of MOUSE_DCLICK handling in richtext, added Ctrl+DClick to select whole paragraph.
  • Fix of position:relative on popup elements, http://terrainformatica.com/forums/topic.php?id=1213&page&replies=3
  • Fix of PNG/alpha rendering on Mobile.
  • Fix of Custom tooltip problem , rendering of position:relative elements on popups.
  • Fix of Border-radius problem on hover
  • Fix of PI (processing instructions) handling in XMLScanner.
  • New sample sdk/samples/ideas/file-explorer. Demonstrates behavior:file-icon and System.scanFiles() function.
  • New method XMLScanner.stepBack();
    • New sample sciter/sdk/samples/xml. File sciter/sdk/samples/xml/xml-parser.tis implements table driven SAX-alike parser.
  • New method String.$() - stringizer for gluing text with data.
  • New Math.atan2() function has been added.
  • New method Color.tint( luminance [, saturation] ): color.
    Luminance (lightness) and saturation are in the range -1.0 .. +1.0. See: http://en.wikipedia.org/wiki/Tint
Builds:
win32, win64.
1.0.8.57 (build skipped)
1.0.8.56 09-01-2010
Builds:
win32, win64.
1.0.8.56 08-01-2010
  • TIScript, fix of compile() function (closing of streams).
  • Fix of view.close() function, see:  http://rsdn.ru/forum/htmlayout/3656221.1.aspx
  • Fix of code related to sdk/samples/forms/masked-plus.htm sample.
  • Delphi compatibility fix. See Sciter + Delphi + border-radius = App hangs
  • Slightly faster rendering.
  • Fix of cursor appearance when sciter window is covered by another one.
  • New, Graphics.pointInPolygon() method.
  • New, Graphics.worldToScreen() and Graphics.screenToWorld() methods.
  • New sample: sdk/samples/ideas/world-map - interactive world map. Demonstrates Graphics.pointInPolygon and Event.REQUEST_TOOLTIP event handling among other things.
  • New, CSS, support of script inclusion from the CSS by using @include directive in CSS, example:
    @include "text/tiscript" url(script.tis) screen;
    See sample : sciter/sdk/samples/html-and-css/css-plus/@include.htm.
  • Fixes in custom CSS attributes handling. E.g. -custom:red; will return value of color type (used to return string).
  • New, CSS, support of the @font-face rule. Sample is in sdk/samples/html-and-css/@font-face.
  • @font-face support is not full though:
    • only 'font-family' and 'src' attributes are supported,
    • font-family value shall match exactly font name declared in TTF file itself.
    Fonts loaded by @font-face can be used only inside the process.
  • Update of view.move() function, it allows to move window using coordinates of the client area rather than the window.
    See: sciter/sdk/samples/window/move-window.htm sample.
Builds:
win32, win64.
1.0.8.55 25-12-2009
  • TIScript:
    • Update: include directive in TIScript is capable to load compiled bytecode files. If you have custom loader set on SC_LOAD_DATA then you can provide pre-compiled versions of scripts if needed.
    • TIScript, fix of the "external nested namespace/class declaration" issue: http://terrainformatica.com/forums/topic.php?id=1178&page&replies=2 ,tiscript unit test was updated.
    • Fix of GC related issue in System.scanFiles().
    • New, implementation of the operator this super+, see discussion.
    • Mutiple fixes in persistent module.
    • New Object.persistent property indicating that object is persistent.
    • Fix, handling of cyclic references in compile()/store() function. ATTN!: format of bytecode files emitted by the compile() function was changed.
  • H-SMILE core:
    • New in CSS, one more layout manager: flow:stack. It's main purpose to handle cases when a container has children with visibility:hidden and only one of them has visibility:visible. Dimension of the element with flow:stack is a dimension of its widest/tallest children. See: http://terrainformatica.com/forums/topic.php?id=1174&page&replies=2 for the idea.
    • One more fix of border-radius artifacts on dark backgrounds.
    • Update of behavior:file-icon, it supports now special values of the filename attribute:
      • filename="." - generic folder icon
      • filename=".."  - generic drive icon.
      • filename="\\"  - computer icon.
    • Optimization of rendering of expandable images (***ground-repeat:expand) . If some section of the image contains only pixels of the same color it's rendering is as fast as a call of ::FillRect() in GDI. For cases like  sdk/samples/ideas/virtual-list/ scrolling is less CPU consuming.
    • Fix of outline rendering for zero-height elements, see:  http://terrainformatica.com/forums/topic.php?id=1181&page&replies=3
    • CSS, fix of the calc() issue mentioned here: http://terrainformatica.com/forums/topic.php?id=1185&page&replies=1
    • behavior:masked-edit:
      • fix of VK_BACKSPACE handling;
      • hatch fill for empty fields was removed.
    • Fix of RTL text rendering: http://terrainformatica.com/forums/topic.php?id=1179&page&replies=2
    • New, support of background-clip CSS.3 attribute. The background-clip is especially useful with the border-radius.
    • Fix of glow outline rendering in some cases.
    • Fix of STATE_DRAG_SOURCE and STATE_MOVING flags coexistence, ATTN!: values of these flags were changed in sdk/api/sciter-x-dom.h
    • Fix of behavior:date and behavior:time initialization on elements other than WIDGET and INPUT, e.g. on table cells.
  • Sciter:
    • Update: Element.commitGraphics() method was removed, use Graphics.commit() instead.
    • Fix of DOM manipulation handling while scripts are loading, see: http://terrainformatica.com/forums/topic.php?id=1183&page&replies=1
    • SDK distribution now contains tiscript.exe file - command line TIScript engine. This exe can be used to compile script source files into bytecode (file).
Builds:
win32, win64.
1.0.8.54 13-12-2009
  • Fix of Index.select() and Index.next() methods in persistence module.
  • Fix of multi-return bytecode generation for cases like: return recorded.x, recorded.y, true;
  • Fix, self.closing() call for document in frames.
  • Fix of richtext.loadContent() and saveContent() methods - persist the value of richtext as an object bundle:
    {html:..., resources: {} }. resources there contain bytes of all images used in the document.
  • New, Integer.limit(min,max) method - limits the value in min/max bounds.
  • New, enumeration support in Integer class so this:
    for( var i in 100 )
    ...
    will repeat body of the loop with generated i values in 0..99 range.
  • Fix of border-radius artifacts on dark backgrounds, see: http://rsdn.ru/forum/htmlayout/3630197.1.aspx
  • New, built-in stringizer methods:
    • Element.$content(...) - these methods accept HTML
    • Element.$append(...)
    • Element.$prepend(...)
    • Element.$after(...)
    • Element.$before(...)
    • Element.$replace(...)
  • New, methods:
    • Element.append("...")
    • Element.prepend("...")
  • Fix of behavior:file-icon for rendering folder icons an files given by abs path.
  • Fix of flow:horizontal-flow for children with min/max-width:auto;
  • Update, Color values are persistable in Storage now.
  • New API functions (added for compatibility with HTMLayout):
    • SciterGetElementIntrinsicWidths()
    • SciterGetElementIntrinsicHeight()
    • SciterControlGetType()
    • SciterAppendMasterCSS()
    • SciterRender()
    • Fields MOUSE_PARAMS.dragging and MOUSE_PARAMS.dragging_mode.
  • New, Graphin API similar to the one found in HTMLayout, sdk/api/sciter-x-graphin.h is its header.
  • Fix of updates on elements with glow outline, see: http://terrainformatica.com/forums/topic.php?id=1151&page
  • Fix in behavior:richtext, selection of text by mouse should behave better now.
  • New, methods:
    • Image.render(element), see sample sciter/sdk/samples/tests/graphics/test-image-render.htm
    • Image.destroy()
Builds:
win32, win64.
1.0.8.53 04-12-2009
  • New: min/max-width:auto in children of flow:horizontal-flow containers. auto value means width of widest child element. This allows to organize elements in grids. TOC panel (on the right) in Sciter help system demonstrates this layout.
  • Update: scrolling and smooth scrolling were redesigned, it is more smooth now. Especially for containers having solid (single color) background.
    • New concept of integral scrolling step, new CSS attribute scroll-manner and function scroll-manner() that allows to configure various aspects of scrolling behavior.
      See: http://www.terrainformatica.com/htmlayout/cssmap.whtm and
      scroll-manner-*** samples in sciter/sdk/samples/html-and-css/css-plus/ folder.
    • overflow[-x/y] CSS attribute was extended to support scroll-manner() function.
    • New, MOUSE_WHEEL handling is using sort of kinetic algorithm with adjustable acceleration.
  • Fix of scrollToView() implementation for the richtext.
  • Fix of Ctrl+C/V in masked-edit and date/time inputs.
Builds:
win32, win64.
1.0.8.52 28-11-2009
  • New, behavior:time ( <input type="time"> ) supports no-seconds attribute.
  • New, support of theme:tab-item-leftmost-*** and theme:tab-item-rightmost-*** images.
  • Update, support of calc() expressions in margin and padding CSS attributes.
  • Fix of accesskey handling for :disabled elements.
  • Fix, behavior:time ( <input type="time"> ), now element.value=undefined is causing the element to be cleared.
  • New, built-in sciter help system has TOC (table of content) panel now.
  • New, SciterGetElementHtmlCB() and SciterGetElementTextCB() functions, better handling of return values of inner html and text. These functions are not using internal static buffers. This allows to use them in multiple threads running separate instances of Sciter.
  • Fix of MOUSE_UP handling in behavior:richtext.
  • Fix of ALTGR issue : http://terrainformatica.com/forums/topic.php?id=1153&page&replies=1
Builds:
win32, win64.
1.0.8.51 14-11-2009
  • Fix in <input type="date">, popup calendar dimensions calculation. Problem introduced in 1.0.8.50 build.
Builds:
win32, win64.
1.0.8.50 13-11-2009
  • Final fix of Absolute Position Resize Bug
  • Fix of Element.push() and Element.unshift() methods. These methods allow now to insert multiple values at the same time.
  • New sample: sciter/sdk/samples/ideas/carousel/
Builds:
win32, win64.
1.0.8.49 12-11-2009
  • Fix of VK_BACKSPACE handling in masked edit + derrived ctls.
  • Fix, DOM inspector in Sciter is back again.
  • Fix of Absolute Position Resize Bug
  • Fix of <input type="progress"> rendering.
    • New element <progress> from HTML5 element set. <progress> is just a short form of <input type="progress">.
Builds:
win32, win64.
1.0.8.48 11-11-2009
  • Fix of GDI handle leak in .ICO files rendering code.
  • Fix of selection rendering in behavior:htmlarea.
  • Fix of two "BrokenHeart" (GC related) issues in Element.select(function,selector) and Element.$$() functions.
  • New constants: System.MOBILE_OS : true|false, System.DESKTOP_OS : true|false and System.OS : symbol.
  • New sample sciter/sdk/samples/ideas/virtual-list/, demonstartes following concepts:
    1. Virtual list with fixed DOM buffer and potentially unlimited source data set;
    2. So called kinetic scrolling using Element.scrollTo() and Element.animate().
Builds:
win32, win64.
1.0.8.47 07-11-2009
  • New behavior:time, that is time input. Supports hh:mm:ss, hh:mm:ss [am/pm] and [am/pm] hh:mm:ss locale settings. Sample: sciter/sdk/samples/forms/date-and-time.htm
  • Update of behavior:masked-edit . It was redesinged to support enumeration fields and numerics. Behaviors date and time are using this behavior in their <caption> sub-elements. Sample: sciter/sdk/samples/forms/masked-plus.htm - IP address and phone input fields.
  • TIScript:
    • New, namespace object is made callable. Its call handler is function this(). Therefore this will work now:
      namespace Test
      {
      function this(p)
      // call handler of the namespace object.
      {
      stdout.printf("Test.this %v\n", p);
      }
      }
      Test(12);
      // in fact invokes Test.this().
    • Support of this function quasi-variable so:
      • this - reference to the object this function called with;
      • this function - reference to the function itself (a.k.a. arguments.callee in JavaScript);
      Use of this function is the only way to get function object reference inside anonymous function.
  • Fix of border-radius/background-offset interaction, details.
Builds:
win32, win64.
1.0.8.46 31-10-2009
  • Fixes in file Stream handling.
  • Fix of <select type=select multiple>, setting value in particular: mselect.value = [ ... selected items ...];
  • More fixes in compile()/loadbc() functions.
  • Fix of MENU_ITEM_CLICK event propagation for hierarchical menus.
  • Fix of input:empty state flag handling
Builds:
win32, win64.
1.0.8.45 24-10-2009
  • Fix of the case:
    compile("test.tis","test.bc");
    loadbc("test.bc"); // http://rsdn.ru/forum/htmlayout/3574591.1.aspx
  • New methods in Element.Attributes, adding/removing particular classes from the @class attribute of the element:
    • Element.attributes.addClass("class1","class2", ...)
    • Element.attributes.removeClass("class1","class2", ...)
  • New method:
    Element.style.set(obj) - allows to set multiple style attributes at once.
  • Fix of Element.insert(child, childIdx) for the case when child is already inside that container but before the insertion point.
  • New Element.swap(otherElement) method - swap in-DOM positions of two elements.
  • More in Element.box() function, this:
    var (mx1,my1,mx2,my2) = el.box(#rect,#margin,#border);
    for example, allows to get computed values of margins of the element.
  • New samples in sdk/samples/ideas/drag-n-drop-manager folder.
  • + fix of built-in compile() function, non-ascii characters handling.
Builds:
win32, win64.
1.0.8.44 18-10-2009
  • Fix of write operations in file Streams.
  • New sample: sdk/samples/ideas/dom-creation, that $ thing a la jQuery.
  • Update: SDK reorganization - source code of sample applications were moved to sdk/demo-apps/ folder.
  • New Element.subscribe() and Element.unsubscribe() methods. One more way of attaching event handlers to elements.
  • Update of Element.box() function. Now it allows to get multiple values at once:
    • var (x1,y1,x2,y2) = this.box(#rect, #inner, #view);
    • var (x,y,w,h) = this.box(#rectw, #inner, #view);
    • var (x,y) = this.box(#position, #inner, #view);
    • var (w,h) = this.box(#dimension, #inner, #view);
  • New Element.sendKeyEvent{} and Element.sendMouseEvent{} methods - synthesize and traverse UI events. That allows to generate given events programmatically. Can be used e.g. for automation of testing sequences.
  • New sample sdk/samples/ideas/drag-n-drop-manager (not finished). This does Drag-n-drop solely by script, that should give more flexibility in handling various nuances of DD (like docking animation, etc).
Builds:
win32, win64.
1.0.8.43 13-10-2009
  • Fix of Date.toLocaleString() and Date.monthName(). These functions return correct information for current user's locale.
  • New methods Date.isDaylight(), Date.timeZoneOffset() and Date.timeZoneName().
  • New API functions SciterCall_V, Sciter_v2V and Sciter_V2v that do conversion from/to json::value and tiscript::value (that is specific to current instance of the VM only).
    • New sample in the SDK: wtl_threads. It demonstrates interaction of worker threads with GUI:
      • class worker_thread in thread_object.h
      • Thread script class - wrapper of the class worker_thread in thread_object.cpp.
      • test.htm - starts thread (in native code) that scans hardrive for files and shows the result in the table.
      • class worker_thread is made suitable for the whole domain of similar tasks. Particular thread/task is created by the worker_thread_factory() function in worker_threads.cpp.
Builds:
win32, win64.
1.0.8.42 10-10-2009
  • Fix (I hope final) of operators == and != in script.
  • Fix of table columns removal from script code.
  • New sample: sdk/samples/ideas/lightbox-dialog/lightbox-dialog.html, it contains implementation of pretty simple function named dialog() that shows any given <form> element as so called document modal dialog.
Builds:
win32, win64.
1.0.8.41 07-10-2009
  • Fix, operators == and != were made more conforming to ECMA specification. Some test cases were added to sdk/samples/tests/tiscript/tiscript-tests.tis in function Equality_test().
  • Update, SciterTranslateMessage() API function is obsolete now. You do not need to call it from your code. It introduced  problems in MFC and .NET wrappers. From now and beyond Sciter creates hooks when it needs to show popup/tool windows.
Builds:
win32, win64.
1.0.8.40 04-10-2009
  • Fix of String.toString() method
  • Fix of if( "str" == undefined ) comparison.
Builds:
win32, win64.
1.0.8.39 03-10-2009
  • Fix of flow: vertical-flow and horizontal-flow layout managers.
  • Fix of Element.clone() method for tables.
  • Fix of Element.move() method rendering for some cases, details.
  • Fix of String.urlEscape() method for non-ASCII strings.
  • TIScript:
    • Fix of Array.join(), correct toString() calls.
    • New String, Integer, Float, Color, Length classes got methods toHtmlString() and toUrlString().
    • New: "Stringizer" function & methods. See: sdk/doc/content/script/language/Functions.htm where this feature is documented. In short, stringizer functions allow to use various microformats inside the script.
      So now you can write in Sciter
      var bodyDiv = self.$( div#body );
      var nthDiv = self.$( div:nth-child({ n }) );

      Note quotation is not needed as $() is a stringizer method.
  • Update, functions:
    Element.$()
    Element.$$()
    Element.$p()
    Element.$$p()
    Element.$is()
    are stringizer functions by definition (their name start from $ sign).
    Attn: this is potentially breaking change if you use Element.$(function,selector) in your code. To fix such cases simply use select() call instead of $().

Stringizer idea illustration.

This method that extends Element class:

function Element.$append(html..)
{
for( var i = 1; i < html.length; i += 2 ) // each odd parameter is a formal one
  html[i] = html[i].toHtmlString();
this.insert( html.join(""));
}

will allow to define HTML inline like this:

var def = { name:"something", value:">23" };
table.$append( <tr><td>{ def.name }</td><td>{ def.value }</td></tr> );

Builds:

win32, win64.
1.0.8.38 26-09-2009
  • Fix of http://terrainformatica.com/forums/topic.php?id=1086&page&replies=1
  • Fix of second click on <menu> or <select> - it just closes the popup. (delayed toggling of :owns-popup state)
  • Fix of Element.value = ... call when element did not get the behavior yet.
  • Fix of toolbar button rendering in Windows Classic mode.
  • Fix of http://rsdn.ru/forum/htmlayout/3548671.1.aspx - get values of custom CSS attributes.
  • Fix, elimination of redundant WM_TIMER messages.
  • New demo: SciLite-Demo.
    Demonstrates use of Scilite interface - windowless Sciter wrapper. All Scilite specific code is located in MainFrm.h file.
    This demo is based on Layered Window that has underlying 32 DIB with alpha. UpdateLayeredWindow() API call is used to set this bitmap to the window.
Builds:
win32, win64.
1.0.8.37 18-09-2009
  • Fixes of issues mentioned here: Bugs in 1.0.8.36 samples
  • Optimization of sciter/sdk/samples/ideas/virtual-grid/ sample.
Builds:
win32, win64.
1.0.8.36 17-09-2009
  • Fixes in Element.request() method.
  • Fix of scrollable <tbody> calculations.
  • Better handling of dynamic updates.
Builds:
win32, win64.
1.0.8.35 16-09-2009
  • Fix of tooltip appearance when window is not active.
  • Fix of ALT+char handling in editing widgets.
  • Better mouse double click handling in behavior:plaintext and richtext.
Builds:
win32, win64.
1.0.8.34 14-09-2009
  • Fix of Stream.openFile(filename) when the file resides inside zip file.
  • Note: engine is not generating SC_DOCUMENT_COMPLETE notification anymore. Use DOCUMENT_COMPLETE DOM event for that purposes. target field in DOCUMENT_COMPLETE notification is reference to the <html> node loaded as the root of the view or in one of frames if there are any.
Builds:
win32, win64.
1.0.8.33 13-09-2009
  • Fix of BOM handling in UTF-8 encoded files.
  • Fix of loading files when file name contains white spaces.
Builds:
win32, win64.
1.0.8.32 12-09-2009
  • Sync with htmlayout v. 3.3.1.33
Builds:
win32, win64.
1.0.0.31 11-09-2009
  • Fixes in <table> layout module.
Builds:
win32, win64.
1.0.8.30 09-09-2009
  • Various minor fixes.
Builds:
win32, win64.
1.0.8.29 08-09-2009
  • Fix of attributes handling in tables with <tbody> elements. Details
  • Fix of context menu sizing.
  • CSSS! animations, new function morph( ease-type, start-val, end-val ) that contains all ease functions defined in sdk/samples/animations/animations.tis. Now they are built-in CSSS!. element.start-animation() was also updated to support animation duration parameter. Documentation for the morph() is coming. See samples in sciter/sdk/samples/html-and-css/csss!/
Builds:
win32, win64.
1.0.8.28 07-09-2009
Main build.
  • Fix of some rendering artifacts introduced in 1.0.8.27;
  • Note: from now and on call of BOOL SciterTranslateMessage(MSG* lpmsg); is mandatory in order popup and tool windows to work.
Builds:
win32, win64.
1.0.8.27 05-09-2009
Note: this is still a trunk (experimental) build. It is available here: http://www.terrainformatica.com/sciter/sciter-sdk-trunk.zip
  • Further updates of <table>s (conventional and fixed) layout modules:
    • <table>, <thead>, <tbody> and <tfoot> elements are allowed to contain any block elements other than <tr>. For example <tbody> can contain <caption>, etc.
    • sdk/samples/ideas/virtual-grid sample was updated to use flow:table-fixed;
  • Fix of for(a in b) case parsing introduced in previous build.
  • Fix of tooltip and other popup elements positioning.
Builds:
win32, win64.
1.0.8.26 02-09-2009
Note: this is trunk (experimental) build. It is available here: http://www.terrainformatica.com/sciter/sciter-sdk-trunk.zip
  • Fixed tables layout module is substantially redesigned:
    • Computational complexity of fixed table layout algorithms was made less dependent from number of rows. As a result tables that have 10,000 rows are handled with the same speed as if they are of 1,000 rows. The only limit is time of parsing such tables and memory consumption. Virtual table is still an option if you have data sets of unknown size.
    • Fixed tables can have <thead>, <tbody> and <tfoot> elements. Each such section in its turn can have <thead>, <tbody> and <tfoot> elements.
    • Rows in fixed tables can be of different height. That height has to be declared explicitly in CSS for rows that are different from normal rows.
    • Samples: sciter.trunk/sdk/samples/html-and-css/fixed-table/
  • Tool windows:
    • When DOM element is moved outside of the main view by Element.move(x,y) function then engine creates so called tool window for it. Such tool window is pretty much popup window but is not "mouse modal" as standard popup window. When main window of the Sciter moves on the screen these tool windows follow it.
    • Sample sciter.trunk/sdk/samples/ideas/moveable-windows/desktop-widgets.htm demonstrates two basic concepts:
      1. how to implement dockable windows in Sciter and
      2. how to make system of desktop widgets like Konfabulator (a.k.a. Yahoo! Widgets).
  • Update: there is a new API function:
    BOOL SciterTranslateMessage(MSG* lpmsg);
    Call of this function is mandatory if your application is using popup and tool windows. Here is typical implementation of main message loop of GUI application using Sciter:

    // Main message loop:
    while (GetMessage(&msg, NULL, 0, 0))
    {
    if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
    {
    if(!SciterTranslateMessage(&msg))
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    }
    }

    Using of SciterTranslateMessage eliminates need of internal popup loops and makes all this more reliable.
Builds:
win32, win64.
1.0.8.25 23-08-2009
  • Fix of multi-value assignment parsing that may cause hangup of the parser in some circumstances.
  • Update, border-radius is using conic gradients when colors of borders are different.
Builds:
win32, win64.
1.0.8.24 19-08-2009
  • Fix of scrollbar update while handling MOUSE_WHEEL.
  • Update of ZIP file loading. Stream.openFile() can handle files sitting inside zip files.
Builds:
win32, win64.
1.0.8.23 18-08-2009
  • Fix of interpretation of margins in children of flow:h-flow container.
  • Fix of <native-function>.apply() in tiscript.
  • Fix of option:checked handling in dropdown <select>s.
  • New, implementation of border-radius CSS3 attribute(s). See sdk/samples/html-and-css/border-radius/ samples.
Builds:
win32, win64.
1.0.8.22 13-08-2009
  • Fix of calculations of intrinsic dimensions of buttons.
  • Fix of floats positioning, e.g. inside flow:... layouts.
Builds:
win32, win64.
1.0.8.21 12-08-2009
  • Fix of popup elements handling. Details are here.
Builds:
win32, win64.
1.0.8.20 11-08-2009
  • Fixes of issues mentioned here.
Builds:
win32, win64.
1.0.8.19 10-08-2009
  • Fix of possible AV while drag-n-drop.
  • Fix of possible AV in destructor of DOM element that has behaviors assigned.
Builds:
win32, win64.
1.0.8.18 09-08-2009
  • Fixes mentioned in HTMLayout v. 3.3.1.30
  • New, TIScript, multi-target assignment and multi-return. Examples:

    function rect() { return (10,10,100,100); } // returns multiple values
    var (x,y,w,h) = rect(); // declares variables x,y,w,h and assigns values 10,10,100 and 100 to them.

    and here is an example of updated for-in statement, enumeration of name/value of properties of some object:

    for( var (k,v) in obj ) stdout.printf("k=%s v=%v\n",k,v);

    See this topic on the forum for more details. Test cases can be found here: sciter/sdk/samples/tests/tiscript/multi-return-and-assignment/
Builds:
win32, win64.
1.0.8.17 03-08-2009
  • Fixes of problems mentioned on the forum here. Bobef, thanks.
Builds:
win32, win64.
1.0.8.16 02-08-2009
  • Various fixes reported on forums.
  • Sting.replace() supports callback function now.
  • CSSS!: rgb() and rgba() functions have been added.
  • sciter-x-bahvior.h: HANDLE_TISCRIPT_METHOD_CALL + TISCRIPT_METHOD_PARAMS. Used for implementation of native sciter behaviors to handle calls from script "as is" (without conversion to json::value). See ScIDE sources as an example of use.
  • Element.style.all(): object - returns map of name/value of CSS attributes that are defined on the element.
    • Element.style.rules also passes list of CSS attributes defined for each rule applied to the element to the callback function.
    • Sciter DOM inspector was updated accordingly - it now lists CSS attributes applied to the element. See: /sdk/sciter/res/inspector.tis as an example of Element.style.all() use.
  • New, builtin inter-thread communications:
    • Stream.openPipe() -creates communcation pipe between two threads that allows to call sync. or async. methods from one thread on another.
    • New tiscript API method tiscript::set_remote_std_streams(VM* vm, pinned& input, pinned& output, pinned& error) that allows to setup pipes from one VM/thread on other VM/thread as stdin, stdout and stderr streams. Used in ScIDE to handle output from other window/GUI-thread. See ScIDE sources.
  • ScIDE parses error messages and converts error locations to hyperlinks. This allows to navigate to the error source by single click.
  • Documentation. sdk/doc/content/script/language/ contains up to date description of TIScript language. This available from the Sciter.exe built-in help browser.
Builds:
win32, win64.
1.0.8.15 12-07-2009
  • DOM, new methods:
    • Element.intrinsicWidthMin() and Element.intrinsicWidthMax() - intrinsic widths of the element.
    • Element.intrinsicHeight(forWidth) - intrinsic height of the element.
  • TIScript, fix of Length.toInteger() method.
  • TIScript, new, supporto of the assert statement, see: http://www.terrainformatica.com/wiki/tiscript/statements.
  • ScIDE, new, by joined effort of myself and Dmitrii Yakimov it got right sidebar that shows so called Code Outline: http://terrainformatica.com/screenshots/scide2.png for HTML and TIS code.
  • tiscript-sqlite.dll - various updates in DLL itself and in sdk/samples/sqlite/sqlite.tis module.
  • Various fixes in h-smile core and <richtext>.
Builds:
win32, win64.
1.0.8.14 03-07-2009
  • TIScript, support of :
    this[ prop_sym] = property(v) {}
    That is local, lambda alike property function definition. Allows to generate computable properties dynamically, e.g. in decorators.
  • TIScript, new methods added: Object.propertyAt(propSym) and Element.propertyAt(propSym) - allows to get property/method by symbol value.
  • Support of the "data" URL schema.
  • Further progress in ScIDE.
  • Further work on samples/ideas/virtual-grid sample.
  • win64 port is fully operational now.
Builds:
win32, win64 (64-bit binaries are in the sdk/x64).
1.0.8.13 28-06-2009
  • Update of flow CSS attribute:
    • if equal to vertical-list then element is using delayed measurement - this mode is good for elements that has large content and are resized frequently. Example: panels of <frameset> with resizing splitter between them will behave better with this style set.
    • if it has explicit vertical value then element uses standard just-in-time measurement.
    • if flow undefined and content of the element is quite large then it will be measured as vertical-list otherwise as vertical.
  • Fixes in <richtext>.
  • Update, some progress is made in scide sample and scapps/sciter.ide by Dmitrii Yakimov, in particular "Run" buttons added to run scapps from the IDE, Visual Studio alike shortcuts, etc.
  • Update, samples/ideas/virtual-grid sample is improved. It is significantly closer to reality now.
  • Switched to Visual Studio 2005, all samples in the SDK and sciters-x.dll itself.  
Builds:
win32, win64 (64-bit binaries are in the sdk/x64, but they are not verified yet).
1.0.8.12 19-06-2009
  • Fixes of Update bug and CSS flow: template not resizing on real time issues.
  • Support of <tbody>, <thead> and <tfoot> elements. These elements support overflow-y: auto | scroll too.
  • Support of disabled DOM attribute on <link> and <style>. Setting/clearing of element.state.disabled for such elements also supported allowing to disable/[re]load group of styles without DOM reloading.
1.0.8.11 04-06-2009
  • Sync with htmlayout 3.3.1.23
1.0.8.10 29-05-2009
  • Sync with htmlayout 3.3.1.22
  • Implementation of "new Function()" constructor , see Function and samples/tests/tiscript/tiscript.htm, tiscript-tests.tis
1.0.8.09 17-05-2009
  • Fix of memory leak in <frame>s when content the frame has scripts inside.
  • length() global function is renamed to Length.make(). 'length' as a name clashes with the length property of Object class.
  • Another fix of the case: element.style#attr = value when the value is a string.
1.0.8.08 16-05-2009
  • Fix of element.style#attr = value when the value is a string. But it is still recommended to use explicit type conversions like px(100) for pixels values and color("blue") for colors.
  • Scripting API: new member of tiscript_class_def structure: on_gc_copy. This method allows to use tiscript::value as a weak reference of the 'self' value. It is called by GC to notify that 'self' is moved to new location. Thus if you need to store back reference to self value in your native class you can use something like this:
class NativeObject
{
   tiscript::value self;

   ...
   static void  TISAPI on_gc_copy(void* instance_data, tiscript_value new_self)
   {
     NativeObject* pthis = (NativeObject*)instance_data;
     pthis->self = new_self;
   }
}
  • Sync with HTMLayout 3.3.1.20.
1.0.8.07 09-05-2009
  • Fix of view.msgbox() call inside timer callback function.
  • New scripting API function: tiscript_post() allows to execute code in "VM thread" (GUI thread in Sciter).
  • Other html/css core fixes.
1.0.8.06 02-05-2009
  • Various fixes.
  • Implementation of Element.onExchange(evt) event handlers - support of system shell drag-n-drop to the Sciter. This allowed to implement drag files from the Windows Explorer to the sciter.exe. See: sdk/sciter/res/default.htm and http://www.terrainformatica.com/sciter/Event.whtm
1.0.8.04 13-04-2009
  • Fix of Element.graphics(color) initialization.
1.0.8.03 12-04-2009
  • Fix of bug in SciterEval()
  • New method Element.style.constant(name) - allows to retrieve constant defined in CSS (@const name:value);
  • New properties Element.style.backgroundImageWidth/Height and Element.style.foregroundImageWidth/Height.
1.0.8.02 07-04-2009
  • Fix of String.indexOf() function introduced in previous build.
  • Color.hsv(), Color.toHSV() and Color.hsl(), Color.toHSL() methods have been added.
1.0.8.01 05-04-2009
  • Changes and fixes in h-smile core up to the version #3.3.1.16+ of htmlayout including: dip units and flow: "template"  
  • New in TIScript core:
    • Stream.scanf(format):array and String.scanf(format):array methods - that is safe implementation of C/C++ scanf function. See: sdk/samples/tests/tiscript/tiscript-scanf-test.htm sample.
    • New data types in the language: color (RGBA) and length (em, px, mm, etc.). These are new first class data types (as integer, float and string) supported by the language.
  • New in Sciter demos:
    • sciter/sdk/samples/animations/animations.tis - namespaces Animation and Animation.Ease - implementation of morphStyle() function and various so called ease functions. Animation.expand() and Animation.move() functions do the magic.
    • sciter/sdk/samples/animations/ease-demo.htm - pretty cool visualization and demo explorer of the collection of ease functions.
    • sciter/sdk/samples/animations/expand.htm - demo of Outlook alike bar with various ease functions.
    • scapp/blocknote.net contains /scapps/blocknote.net/formats/google-code-wiki.tis module that converts content of the richtext to Google Code wiki format.
  • New methods view.clipboard() - communication with system clipboard.
  • New in the Richtext:
    • method Richtext.visit() - allows to walk through the loaded document, see /scapps/blocknote.net/formats/google-code-wiki.tis module.  
    • Support of <input> and <widget> elements in the Richtext. Engine creates <input> and <widget> elements as DOM objects of the "big DOM" (objects of Element type) thus <input> and <widget> elements used in the loaded document are accessible as children of the richtext element - richtext[0], richtext[1], ...
1.0.7.31 08-03-2009
  • Fix in rgba(R,G,B,opacity), opacity interpretation.
  • Fix of AV in dialogs that use skinned dialogs. See demo sdk/samples/tests/skin/skin-view-dialog.htm
1.0.7.28 04-03-2009
  • Richtext:
    • various bug fixes;
    • CSS, e.g. added support for compound selectors in its mini-CSS implementation. See file scapps/blocknote.net/config/richtext-editing.css - default CSS style used for WYSIWYG editing.
    • New .searchNext() and replaceBy() methods. See Ctrl-F/Ctrl-R implementation in scapps/blcoknote.net. File: scapps/blocknote.net/code/searchbar.tis
    • New .getStyleRules()/.getStyleRule() methods that allow to explore loaded CSS, start of mini CSSOM implementation.
    • Work on scapps/blcoknote.net. Added key-map handling based on decorators. See: scapps/blocknote.net/code/decorators.tis
  • API, new function SciterGetElementNamespace() / sciter::dom::element::get_namespace() - allows to get namespace object of the dom element. See sdk/api/samples/win32/basic/basic.cpp.
  • H-SMILE core:
    • support of background-color: argb(R,G,B,0.5) - that is semi-transparent colors of backgrounds.
    • fix of ClearType fonts rendering on surfaces with alpha, e.g. while blend animations. Not perfect but sufficient.
1.0.7.27 22-02-2009
  • Update, Element.move() method accepts additional parameters - width and height of the element. See: sdk/samples/ideas/rect-tracker/ demo.
  • Updates and fixes in behavior:richtext. In particular "fore" and "back" dichotomy of spans is not the case anymore. Order of spans is defined by input markup and editing actions. But it is still a limitiation of how many span levels (3 for now) each character can be contained in.
  • Updates of /sdk/scapps/blocknote.net scapp. I have started to edit SDK documentation with it.
1.0.7.24 08-02-2009
1.0.7.19 29-01-2009
  • Fix of Bugs in 1.0.7.17
  • New: TIScript Native Interface (TisNI) - new API to access and extend TIScript VM by custom classes and native objects. TisNI allows to define properties, functions, constants, operator [] and iterators (for v in nativeObj) for native classes.
    1. Support of statement:
      include library "name-of-the-dll";
      It allows to load native TIScript extension modules on demand. TIScript Extension Library is a DLL/SO file that has at least one external function TIScriptLibraryInit(). This function receives reference of TisNI when include library statement is executed.
      Example:
      1. http://terrainformatica.com/sciter/tiscript-sqlite.zip - Source of TIScript Extension Library - SQLite3 engine with two native classes: DB and Recordset. See files class_db.cpp and class_rs.cpp there for an idea of how to create your own classes.
      2. sdk/samples/sqlite/ - demos of SQLite usage in Sciter.
    2. api/tiscript.h and api/tiscript.hpp files are parts of official SDK distribution now and beyond.
    3. TisNI can be used to access VM and objects in host application. New functions added:
      • TIScriptAPI() - returns address of TisNI inside sciter-x.dll;
      • SciterGetObject(HELEMENT, tiscript::value* pval) - get scripting object associated with the DOM element.
  • New: tiscript-sqlite.dll is a part of the SDK now.
1.0.7.17 26-01-2009
  • + fix of the bug with path resolution in include statement introduced in 1.0.7.17
1.0.7.17 25-01-2009
  • Sync with HTMLayout 3.3.1.10;
  • new method Element.style.rules() - returns list of CSS rules applied to the element.
  • new functionality in sciter.exe - DOM explorer. See last button on sciter.exe main screen. Implementation of the DOM explorer is in files: sdk/sciter/res/dom-inspector.htm, sdk/sciter/res/inspector.css and sdk/sciter/res/inspector.tis
  • SDK contains /mobile/ subfolder with the mosciter exe.
1.0.7.16 11-01-2009
  • Sync with HTMLayout 3.3.1.9;
  • new Function.arguments property - returns array of argument names declared in the function.
  • new feature in TIScript - Decorators. See: http://www.terrainformatica.com/wiki/tiscript/decorators and samples:
    • sdk/samples/tests/tiscript/tiscript-decorators-***.htm
    • sdk/samples/tests/rpc/web-methods(decorators).htm
1.0.7.15 24-12-2008
  • Sync with HTMLayout 3.3.1.8;
  • More GC fixes;
  • new Element.textWidth(text:string) and Element.textHeight(text:string) methods, see: sdk/samples/tests/basics/test-textWidthHeight.htm
  • new Function.length and Function.optionals properties. Function.length return total number of defined arguments of the function (object). Function.optionals return number of parameters that have default values. See: sdk/samples/tests/tiscript/tiscript-tests.tis
1.0.7.14 13-12-2008
  • Sync with HTMLayout 3.3.1.7;
  • Fixes of bugs related to frame loading.
  • Scilite API has been added - windowless Sciter (similar to HTMLite).
1.0.7.13 07-12-2008
  • Sync with HTMLayout 3.3.1.6;
  • Fixes of bugs mentioned here.
1.0.7.12 02-12-2008
  • Fix of hang-up when scripting behavior is defined for the root node.
1.0.7.11 30-11-2008
  • Sync with HTMLayout 3.3.1.5 including behavior:history. Update of sdk/doc/* files to support browsing of the help with history navigation.
  • ATTN! Engine is not generating events view.onLoad and view.onUnload anymore. Use self.ready and self.closing for the same purpose. These events are also generated for content of frames (on their self object).
1.0.7.10 25-11-2008
  • Sync with HTMLayout 3.3.1.4 including "keep aspect ratio" feature and behavior:file-icon
  • Sources of sciter.exe are now part of the SDK. It uses sciter-x.dll now and beyond.
1.0.7.9 18-11-2008
  • Fix of problem in GC() that was causing more memory allocation than requested.
1.0.7.8 16-11-2008
  • Sync with htmlayout v. 3.3.1.3;
  • new function Bytes.load() - load bytes from file on hard drive;
  • new sample: minimal - minimal Sciter-X hosting application. pure win32.
  • new sample: sciter-external-behavior - demo of external (dll based) behavior for the Sciter-X.
1.0.7.7 05-11-2008
  • GC related fixes, many thanks to Eudo "the Baker" for supplied tests.
  • Value*** functions fixes.
  • WTL sample is updated to demonstrate methods implemented in DOM event_handler attached to the view.
1.0.7.6 28-10-2008
  • New keywords class and namespace.
    Declaration class Something {...} is the same thing as type Something: Object {...}.
    Declaration namespace Something {..} is close to type Something {...}
    See: http://www.terrainformatica.com/wiki/tiscript/classes
  • Fix (hope final) of all issues related to the super.
  • Added new sample: sdk/samples/tests/tiscript/tiscript.htm . I'll use it as a unit test for TIScript engine before publishing any new build. If you believe that something needs to be added there - let me know. I'd suggest to look through this test to get brief overview of TIScript features.
1.0.7.5 26-10-2008
  • Fix of issues with super handling in TIScript. See Inheritance in Sciter, possible bug.
  • New example /sdk/samples/ideas/virtual-grid - demonstrates one of possible ways of creating virtual grids - browsers of virtually unlimited data sets. The VGrid behavior uses external DataSource variable that is bound by data-source HTML attribute.
  • New feature: Native methods of event_handlers that are implemented by
    virtual bool handle_scripting_call(HELEMENT he, SCRIPTING_METHOD_PARAMS& params ))
    function and are accessible now through Element.xcall(#funcName, p1, ... ) scripting method can also be accessed from script as any other methods: Element.funcName( p1, ... ).
    This apply to event_handlers attached to the view.  
    This also apply to xcall methods of all built-in behaviors. See for example list of methods of the behavior:scrollbar - http://www.terrainformatica.com/wiki/h-smile/built-in-behaviors/scrollbar .
    Xcall methods that accept no parameters can be used as properties:
    var v = elemWithMyBehavior.myProperty;
    will end up in call of event_handler::handle_scripting_call() with:
    params.argc == 0 and
    params.name == "myProperty".
1.0.7.4 25-10-2008
1.0.7.3 23-10-2008
  • New API function SciterSetOption().
  • New API function ValueCompare().
  • Update of Sciter DOM API. All DOM functions are moved from SciterDomApi structure to the set of plain external functions.
  • Fix of SciterEval function. It executes in scope of loaded document (self === scope).
  • Drag-n-drop was significantly redesigned to support e.g. drag-n-drop of menu items between different popup menus. See samples in sdk/samples/tests/drag-n-drop
  • New methods:
    • Bytes.save() - dumps byte array on hard drive.  Sample sdk/samples/communications/test-download.htm shows how to e.g. download upgrades for your software.
    • Element.scrollTo(x,y) - sets scroll position of element with overflow:scroll | auto | hidden-scroll;
  • Other fixes.
Bad news: ABI is changed again - need recompilation and tweaking of your projects. Good news: I am again not going to change ABI anymore.
1.0.7.2 04-10-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.1.0
  • New behavior:form. Handles submissions to web sites. Quite useful for programmatic set/get values of multiple input elements. See sdk/samples/communications/form-***.htm samples.
  • Fix of Massive slowness in Sciter 1.0.7.01 issue.
1.0.7.01 01-10-2008
  • New value API. json::value implementation is redesigned completely. See: api/value.h. json::value / SCITER_VALUE is using built-in implementation now. That is a requirement of non-C++ based wrappers. Native implementation of json::value allowed to support direct references of scripting objects. See json::value::is_object_native() ... json::value::is_object_function(). sdk/wtl sample demonstrates use of scripting object wrappers.
  • New method SciterEval(string). Allows to evaluate script in context of current document in the view.
  • New method SciterDomApi::GetExpando(HELEMENT). Returns scripting object associated with the DOM element.
  • Update. Signature of native methods and properties of native classes was changed. Pay attention. That needs changes on application side but not too much.
  • Multiple fixes.
Bad news: ABI is changed - need recompilation and tweaking of your projects. Good news: I am not going to change ABI anymore.
1.0.6.10 21-09-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.16
  • New Element.create and update of Element.insert method. These methods support object-templates for creating DOM elements directly from code. See its definition.
1.0.6.8 30-08-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.13
  • Fix of issue with GC when it is triggered inside animate() callback function.
1.0.6.6 10-08-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.11
  • Various fixes in tiscript core.
  • Fixes in Graphics - Image rendering and blending.
1.0.6.5 02-08-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.10
  • New attribute Element.id - shortcut of Element.attributes["id"] call.
  • New method Element.move(x,y,rel) - Declares element as having position:popup and moves it to the position (x,y). If the element happens to be outside of the view then engine creates special popup window for it. Third parameter describes relation of x and y values. Sample is in sdk/samples/ideas/moveable-windows/ folder.
  • ScIDE project and scapp filese have been updated - processing Ctrl+F and Ctrl-H shortcuts + support of C++ files. ScIDE is available as a separate distribution.
  • Sciter.exe is aware now about .scapp files. x.scapp is a manifest file (JSON) used for presenting applications on Sciter.exe front page.
1.0.6.4 20-07-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.8
  • New Element.state sub-object that represents collection of runtime state flags of the Element.
  • New method Element.animate( nextStep: function ). See Element and samples in sdk/samples/animations/. On Windows animate() uses multimedia timers that are more precise than UI timers.
1.0.6.3 01-07-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.5
  • New API function SciterUpdateWindow(HWND hSciterWnd)
    This function executes following sequence:
    1. Execites all pending (posted) events (including CSSS: assigned!).
    2. Exectues batch update of all pending DOM mutations.
    3. Calls ::UpdateWindow();
  • New method view.update() - does the same as SciterUpdateWindow().
1.0.6.2 17-06-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.4
  • As in htmlayout Element.update() call is optional now.
1.0.6.1 14-05-2008
  • h-smile core: update to the state of HTMLayout v. 3.3.0.1 so with CSSS! (if it makes sense for the Sciter at all)
  • New: support of column resizing in <table fixedlayout>
  • New: ScIDE - scide.exe is an mutitab editor based on sciter-scintilla.dll (not finished yet):
    • /scide/ - WTL project that just a wrapper of sciter-x.dll.
    • /scide.modules/ - html/css/tis files - facade of the editor.
      ScIDE is aimed to be a simple, customizeable through scripts programming tool. I have plans to add there suppot of TIScript debugger (and probably other debuggers too)
  • Various fixes of bugs mentioned on the forum.
1.0.6.0 27-03-2008
  • h-smile core: update to the state of HTMLayout v. 3.2.2.17.
  • New attribute '@' of Element class. This is just an alias of Element.attributes collection.
    this.@#selected = true; // is a bit shorter than:
    this.attributes["selected"] = true; // equivalent of the line above.
  • New API function api()->AttachHwndToElement(HELEMENT, HWND). This function allows to attach child HWND to the element. I am using this function in sciter-scintilla to attach Scintilla window to DOM element.
  • New, sciter-scintilla.dll - Scintilla editor wrapped as a native Sciter behavior.
    • sdk/samples/scintilla/ - is a sample of type Scintilla: Behavior (scintilla.tis).
    • Source code of the sciter-scintilla.dll is here: sciter-scintilla.zip
      • scintilla/sciter/sbx.cpp is an implementation of Sciter behavior.
  • New sample sdk/samples/ideas/tab-strip - implementation of tab strip similar to the one used in Microsoft Visual Studio.
1.0.5.4 30-03-2008
  • h-smile core: update to the state of HTMLayout v. 3.2.2.14.
  • tiscript: changes in type keyword - to declare custom class you should use name of superclass explicitly. E.g. declaration:
    type MyObject :Object  {}
    will declare custom type of objects derived from the Object.
  • New sample in folder drag-n-drop-map.
1.0.5.1 02-03-2008
  • h-smile core: update to the state of HTMLayout v. 3.2.2.9.
  • Various fixes in scripting engine.
  • New samples in folder: sdk/samples/ideas/
1.0.5.0 16-02-2008
  • h-smile core: update to the state of HTMLayout v. 3.2.2.7.
  • tiscript: extended form of for(var el in collection) statement. collection can be not only an array or object but also a function (also known as generator function). Enumeration continues until return value of the function will be undefined. See sample in sdk/samples/tests/basics/test-generator.htm
  • Various fixes of bugs reported on Sciter forums.
  • Note: Embeddable version of the Sciter resides now in sciter-x.dll. This dll supports only plain API interfaces. ActiveX support is removed from the library. If someone will need ActiveX interfaces - let me know - I'll provide simple SDK sample of ActiveX wrapper.
1.0.4.50 09-12-2007
  • Update to the state of HTMLayout v. 3.2.1.15.
  • New sample blocknote.net demonstaring behavior:richtext.  Open sdk/scapps/blocknote.net/main.htm in sciter.exe. This project is about of new version of my BlockNote application but in Sciter. Idea is to make BlockNote that can be extended for various purposes e.g. integrated with, say, online CMS or Wiki engines.
  • Note: Element.timer() method is changed. Now it has signature as: timer( milliseconds: int, callback: function ) so it willl call callaback function periodically (if it returns true) or once (if it will return false).
1.0.4.42 04-11-2007
1.0.4.24 29-07-2007
  • Various VM, compiler and runtime fixes.
  • HTML/CSS engine fixes and feauters that correspond to htmlayout v. 3.2.0.19.

mosciter.exe was also updated.
0.9.4.18 09-06-2007
  • Various VM, compiler and runtime fixes.
  • HTML/CSS engine that correspond to htmlayout v. 3.2.0.14.
  • support of:
    function view.onLoad() {  }
    Define this function if you need to run code after completion of assignment of Behaviors of elements.
0.9.4.01 03-04-2007
  • SVG support added, see: sdk/samples/tests/graphics/test-svg.htm
  • Fixes, fixes, fixes...
0.9.3.25 25-03-2007
  • Fix of couple of issues related to UTF-8 encoded text parsing.
  • Fix of memory leak in ActiveX inteface.
  • Transition of Graphics from AGG v.2.3 to AGG v.2.4.
0.9.3.24 20-03-2007
  • Fixes related to interarction of persistent storage and GC in script engine.
  • New integaration sample: WTL this time.
0.9.3.22 14-03-2007
  • Various fixes of script/DOM interaction.
  • Updates made in h-smile core up to v. 3.1.2.8 of htmlayout.
  • Fixes in tiscript core related to try/catch/finally implementation.
0.9.3.15 25-02-2007
  • Fix of Array.splice function.
  • Script, new, implementation of named loops and break name; and continue name; statements.  
  • New, view.doEvent() method and view.eventsRoot property. They allow to implement so called modal document loops. See sample implementation of such dialog in sdk/samples/tests/basics/test-lightbox-dialog.htm. Thanks to Igor Afanasyev for the sample.
  • New, Element.isVisible and Element.isEnabled properties.
  • New xsciter.dll integration sample sdk/vb6, demonstrates how to catch stdin/stdout and callback events in VB6 (and in Delphi).
0.9.3.09 18-01-2007
  • New feature: loading of zip files. You can place content of your application folder into, let's say, application.zip file and then call view.load("application.zip") to load it. Engine will unzip that file and will try to load either main.htm or index.htm or index.html files that shall reside in the root folder of the zip.
  • New event: view.onUnload().  If defined this function will be invoked before the view will get a new content or window will be destroyed. See: Event handlers for more details.
  • New Event.HANDLED flag and update in event propagation schema. Container now can catch events even if they "consumed" by some of its children. See Event.HANDLED definition in Event.
  • New sciter-bn.dll - this is a BlockNote editing engine packaged as a sciter binary behavior. See sdk/facades/. Load blocknote-editor-facade.htm from there to get an idea. This work is still in progress. The goal is to reproduce in blocknote-editor-facade.htm full functionality of the BlockNote application. And do this as a reusable component.
  • New methods in class Element:
    • Element.sendEvent()
    • Element.postEvent()
    • Element.url()
  • Fix of Array.concat function.
  • Fix of storage autocommit feature.
  • Various other fixes. E.g. fix of Element.next.
0.9.3.01 28-01-2007
  • Sciter Script update: syntax errors reports are more verbose now. Example of typical error:
  • Error: file://.../tests/graphics/test-image-operations.tis(31)
    : syntax error : Expecting a primary expression
    line:      gfx.drawImage(img, -imgHalfWidth (, - imgHalfHeight );
    here:________________________________________^
          at @5(res:default.htm#:20)
  • Graphics, new methods: copyImage, blendImage and drawImage. New test samples in sdk/samples/tests/graphics :
  • Mobile SDK update: new xmosciter.dll this is a mobile version of xsciter.dll - embeddable Sciter.

0.9.3.00 25-01-2007
New demo application/projects:
  • New API that allows to define native (C++) classes for Sciter Script.
  • sciterbar - scriptable and styleable desktop sidebar thing. This project demonstrates of how to write your own native (C++) classes that can be used in scripts. Check it out - it's really simple.
New features:
  • property Element.style of type Style. Allows to get/set CSS attributes of the element.
  • method Element.loadImage(url). Allows to load local and remote images.
  • method Element.request was extended to support receiving of binary data types.
  • class Image. Object of this class can be drawn on the Graphics by using graphics.copyImage and graphics.blendImage methods. Image by itself can provide graphics thus you can draw on image in script.
  • class Graphics was extended by set of path methods.
  • New html/css/script samples:
    • samples/tests/skin/skin-view.htm - semi-transparent windows, here is a screenshot of such windows. To create such window start sciter.exe and click on the button "Open in the current window".
    • samples/tests/rpc/get-raw-data.htm - how to get binary data from the server.
    • samples/tests/basics/*.htm - some new files there too.
Sciter Script features:
  • new class Bytes. Binary data manipulations.
  • new operator like and !like. VB/VBA alike simple and fast pattern matching. See: operator like.
  • Operator instanceof got negative form too: Operator !instanceof - "is not an instance of".
Fixes: many.
0.9.2.67 15-12-2006
  • New features in tiscript:
    • type - keyword and implementation - classes in the script. Behaviors are defined now as classes. See sdk/samples/richtext.
    • include statement. See statements in the script. include loads script only once. If compiler will get include with the same url second time then loading will be skipped silently.
  • Fix of after GC problems in memory consuming code.
  • New behavior:richtext is a blocknote editing engine built in to the Sciter. I am adding limited support of CSS in the editor - work is not complete yet.
0.9.1.62 26-11-2006 Changes and fixes from HTMLayout#3.1.1.62 and TIScript#2.0.0.3. See: HTMLayoutSDK Changes.Log and TIScript Changes Log.
0.9.1.60 18-11-2006
  • Mobile Sciter SDK has been published. Now and beyond mobile builds will appear in sync with desktop version. Desktop version was also updated in the build (minor fixes).
  • Fix of Sciter crashed with AV in sudoku.
0.9.1.58 16-11-2006
  • New communications samples:
    • samples/communications/json-rpc - full but simple implementation of json-rpc protocol. Server side PHP json-rpc framework provided. See http://json-rpc.org for specifications.
    • samples/communications/yahoo-rpc - this is a client for Yahoo Web Services. Extremely simple.
  • New, Scidoku - Sciter Sudoku game designed by Alexei Marintes. Sample also demonstrates persistence of game data in the database. CSS there is not perfect - will appreciate if somebody from designers cohort will put hands on it.
  • Fix of script parser/compiler. It used to crash on long strings.
  • Fixes in Element.request function code.
I consider communication subsystem as 100% done.
0.9.1.56 11-11-2006
  • New samples of Element.request() function demonstrating JSON-RPC protocol ( symmetric POST - application/json mime type in and out). See files in sdk/samples/tests/rpc folder.
  • Fix of object literal parsing - {...} when key is non-identifier.
  • New, extended notation of object literals: {[:classname] key1:value1[, key2:value2[, ... ]]}.  Classname here allows to define literals of user defined classes.
  • Fix of Function.call and Function.apply methods - they are now compatible with JavaScript in full.
  • New, function arguments with predefined values.
  •   function foo( a, b = 2 )

    So function foo can be called as foo(1) and its parameter b will get value 2 by default.
  • New, support of variable number of arguments in functions. In declaration like:
  •   function foo( a, b.. )

    b will be a name of array that contains actual parameters passed to the function. So if foo will be called with parameters foo(1,2,3,4) then array b will contain elements [2,3,4] and parameter a will have value 1.

    New sample file: sdk/samples/tiscript-unit-tests.tis - unit tests of compiler and runtime of the TIScript - this is a compact form of almost all basic functions.

    Fix, xsciter.dll now can be used in VB6 projects.

0.9.1.52 08-11-2006
  • New, Element.request() function - allows to send AJAX and JSON-RPC requests to the server. See: sdk/samples/tests/basics/test-json-rpc.htm and sdk/samples/tests/basics/test-json-rpc.php samples.
  • sciter-bn.sbx - was removed from SDK distribution. Next build of the sciter will contain the editor built-in.
0.9.1.50 04-11-2006
  • New, implementation of SciterCall function in xsciter.dll - application from its code can call scripting function defined in the loaded document.
  • New sample sdk/api/samples/win32/basic - Really Simple Sample demonstrating integration of xsciter.dll into your win32 application.
BTW: correct pronunciation of xsciter is excatly as exciter.
0.9.1.47 30-10-2006
  • New function Element.popup, it allows to show popup elements. New files samples/tests/basics/test-color-chooser.htm, lib/behaviors/color-chooser.tis and lib/behaviors/color-chooser.css - this is scripting implementation of <input type="color-chooser" />. See screenshot on the right side.
  • New folder sdk/api/ - Sciter Plain API.
    Sciter Plain API is a set of *.h files and xsciter.lib allowing to embed xsciter engine.
0.9.1.44 22-10-2006
  • SDK has been published. Sciter now contains all major modules I wanted to be there.
  • sdk/doc has been updated.
  • sdk/samples has been updated too.
  • sciter-bn.sbx - BlockNote editing engine packaged as Sciter Binary eXtension.

Sciter

Documentation

Classes and objects
Download