Ejscript Changelog

What's new in Ejscript 2.5.1

Dec 6, 2014
  • Fix format of temp files
  • Fix http command when using auth

New in Ejscript 2.5.0 (Dec 6, 2014)

  • New Path.files and Path.operate APIs
  • New documentation layout and design using Expansive for layout
  • Improved Windows nmake and Visual Studio projects
  • Various cleanup, improved tests and documentation updates
  • MakeMe 0.8.4 support with plugins
  • SSL POODLE fix

New in Ejscript 2.4.1 (Jul 31, 2014)

  • Fixes:
  • Fix Path.files with dot-dot in the argument. [issue 66].

New in Ejscript 2.4.0 (Jul 31, 2014)

  • Fixes:
  • Fix parsing bad package.json files with missing commas [issue 63].

New in Ejscript 2.3.5 (May 17, 2014)

  • Convert to use MakeMe instead of Bit to build.

New in Ejscript 2.3.4 (May 1, 2014)

  • Features:
  • Update MPR and HTTP packs to latest versions
  • Sign installation packages
  • Fixes:
  • Improved shutdown support
  • Fix package.json title
  • Better support for SemVer, remove build numbers
  • Fix MPR handling of time zone warping

New in Ejscript 2.3.3 (May 1, 2014)

  • Minor Features:
  • Add support for multi-line strings using back-tick. E.g. `string`
  • Add support for Pak packages. Remove ejs.jem in favor of Pak. Use SemVer for versioning.
  • Add App.getpass to read a password from the console
  • Add Path.trimComponents
  • Add App.home and add ~/.ejs to the module search path.
  • Fixes:
  • ejs.unix cp() command. Was incorrectly handling destination paths when options.tree == true
  • Added Add Path.trimDirs to trim directory components
  • Parse bad literal causes compiler crash
  • Fix Http and WebSocket retries to different hosts. Was setting Host header incorrectl
  • Fix RegExp.exec with bad start argument
  • ejs.tar for handling directories and hidden headers
  • Fix name of Zlib uncompress destination filename
  • GC when loading modules fails to retain module file
  • Iterating over arrays and object where elements are deleted in the loop body

New in Ejscript 2.3.2 (May 1, 2014)

  • Add support for Ecmascript6 functions in object literals.
  • E.g. o = { fun() { print("Hello"); }}

New in Ejscript 2.3.1 (May 1, 2014)

  • Minor Features:
  • Add MPR palloc/pfree APIs to allocate and free permanent memory
  • Update API stability classifications
  • Update SQLite to 3.7.15.1
  • Improve conditional makefiles to support SSL and SQLite
  • Add make deploy
  • Add static makefiles and projects
  • Fixes:
  • Base directory includes inside ejs.template
  • Define default stack size for VxWorks
  • Fix make/bit install for non-root installations
  • Add "public" to cookies over SSL for firefox
  • Fix Path.relative for paths with a common basename
  • Fix RegExp back quoting. Add JSON option regexp to emit native RegExp literals

New in Ejscript 2.3.0 (May 1, 2014)

  • Minor Features:
  • Fixed listening on Windows 64 with IPv6 and IPv4 on a single socket
  • Speed up Tar.extract
  • Add prototype support for the EST SSL stack. Enabled by default
  • Removed Bit as it is now a stand-alone product
  • Added base64()
  • Fixes:
  • Fix JSON encoding and parsing of regular expressions
  • The mpr.h header has been split into a cross platform operating system layer called bitos.h. The mpr.h header includes this, so there should be no API impact
  • Fix generated makefiles determining the system CPU architecture
  • Remove compiler switch -mtune when not required
  • Bit support for static projects via configure --static, including generating IDE projects
  • Optimize Array.join
  • Fix Cmd.write for large data blocks
  • Renamed ejs.mail mail() to sendmail()
  • String.replace with multi-line replacements

New in Ejscript 2.2.0 (May 1, 2014)

  • Minor Features:
  • Added ejs.mail module with basic mail() API
  • Added bit --prefix, to set installation path prefixes
  • Make bit listen to CFLAGS etc on all runs. Configure will save in platform bit file
  • Fixes:
  • Generated Xcode project scripts were missing /usr/local/bin
  • Bit now creates dependencies for nested header includes
  • JSON deserializing keys with spaces
  • Path.makeDir(attributes) now sets attributes even if the directory already exists
  • Bit --keep install now preserves files under */pkg
  • Update Http to listen on both IPv6 and IPv4
  • Fix Logger.level, was asserting

New in Ejscript 2.1.0 (May 1, 2014)

  • Minor Features:
  • Added static build support (configure --static)
  • Changed default for type annotations to not allow nulls. Use Type? to permit nulls
  • Fixes:
  • Change xcode projects output directory to be unique
  • Xcode debug builds to include BIT_DEBUG
  • Http: HTTP/1.0 connection management
  • Http: PUT method response to include Etag and Location
  • Http: Consuming body of failed requests to preserve keep-alive
  • Http: Remove Content-Length in 304 (NotModified) responses
  • Remove *def files on windows. Use PUBLIC export decoration
  • Rename T() to UT() to avoid winnt.h clash
  • Fix base64 encoding for blocks

New in Ejscript 2.0.0 (May 1, 2014)

  • Major Features:
  • Full async API for Streams, Http, HttpServer and Socket
  • Decouple MVC, ORM and web server hosting into separate packages
  • Enhanced web framework with HttpServer class and URL routing
  • Support for RESTful and unobtrusive JavaScript client-side techniques
  • Full ECMA 262 ES5 Object methods
  • Type validation and checking. Currently type annotations are not validated in expressions and type casting is done at runtime. Convert this to do type validation at compile time with cast injection into the byte code stream.
  • Numerous class library improvements
  • Faster performance in general and 2-5x faster web applications
  • Fast, concurrent garbage collector
  • Application configuration via ejsrc files
  • Extensive unit tests
  • Command line argument parsing class
  • Caching module and API
  • Bit Build and Configuration tool

New in Ejscript 1.1.4 (May 1, 2014)

  • Key Fixes:
  • Return in try blocks
  • Idle threads consuming CPU after long delay
  • Prune workers not terminating idle threads

New in Ejscript 1.1.3 (May 1, 2014)

  • Key Fixes:
  • Fixes for building for VxWorks on linux
  • Add SSL_OP_NO_TICKET and SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION to force session renegotiation.
  • Enable no free threads message to continually be emitted

New in Ejscript 1.0.0 Beta 3 (Dec 15, 2009)

  • Dependency checking when building
  • Iteration in for statements inside Constructors
  • Strict equality testing with null and undefined