Quick Nav
- Release 0.9.9
- Release 0.9.8
- Release 0.9.7
- Release 0.9.6
- Release 0.9.5
- Release 0.9.3
- Release 0.9.2
- Release 0.9.1
- Release 0.9.0
See Also
Ejscript Change Log
This release is a development release on the road to our planned 1.0 release. The 0.9.7-0.9.8 releases have focussed on the web framework with many new additions including: Ajax controls, support for jQuery, database migrations, Controller hooks and much more.
Preview Release
This release is a preview release to give developers a chance to evaluate Ejscript language and to provide testing prior to production release. Ejscript is still under active development. Some features are incomplete and compliance with the ECMAScript 262 standard is lacking in a couple of areas. Major areas of current work include: ES-262 compliance, prototype inheritance, unicode and runtime type checking.
Changes in 0.9.9
Major Features
- VxWorks support
- Cross compilation support
- Enhanced File I/O and Path support
- Add support for ECMA-262 prototype based inheritance
- Improve compliance with ECMA libraries
Minor Features
- Added ejs -f -s switches for compatibility with SpiderMonkey shell
- Added App.outputStream, errorStream, inputStream
- Added input(), output() global methods
- Enhanced print() to serialize objects
- Added stable, dev and default branches to Mercurial repository
- Partial Windows CE port (incomplete)
- Support for MAC 10.4 and PPC targets
- Support for OpenWrt platform
Fixes
- Fixed "while(assignmentExpression)"
- Fixed toString and toJSON overriding
- Fixed several interpreter VM issues
- Fixed stack pop for typeof op code
- Fixed slot generation when using configure --shared
- Fixed select() event handling on Vxworks
- Fixed searching for ejs.mod in release tree with product installed
- Fixed several byte ordering issues in module files
- Fixed module search when running inside the VS debugger
API Changes
- App.exe renamed to App.exeDir
- print() serializes objects instead of toString
- Major refactor for: File, Path and FileSystem.
- Native C API refactoring for: MprFile, MprPath, MprFileSystem.
- Modified Native APIs
- mprErrorPrintf => mprPrintfError
- mprStaticErrorPrintf => mprStaticPrintfError
- mprAllocStrcat => mprStrcat. Removed delimiter.
- mprReallocStrcat now returns string
- mprAllocSprintf => mprAsprintf and now returns string
- mprAllocVsprintf => mprVasprintf and now returns string
- mprAllocStrcpy => removed
- mprSprintf now returns string and not length
- mprVsprintf now returns string and not length
- mprCreateStaticSpinLock => mprInitSpinLock
- mprAllocObject => mprAllocWithDestructor
- mprAllocObjectZeroed => mprAllocWithDestructorZeroed
- mprAllocMemcpy removed
- mprEscapeCmd, mprUrlEncode, mprUrlDecode, mprEscapeHtml all buffers and return strings
- mprGetAppPath, mprGetAppDir return string
- Most of mprFile APIs are renamed to mprPath
- MprFileSystem, MprFile, MprFileInfo refactored.
- MprFileInfo => MprPath
- Mpr.fileService => Mpr.fileSystem
- mprAccess => mprPathExists
- mprDelete and mprDeleteDir => mprDeletePath
- mprGetBaseName => mprGetPathBase
- mprGetDirName => mprGetPathDir
- mprGetExtension => mprGetPathExtension
- mprGetParentDir => mprGetPathParent
- mprGetDirList => mprGetPathFiles
- mprGetFileInfo => mprGetPathInfo
- mprGetAbsFile => mprGetAbsPath
- mprGetRelFile => mprGetRelPath
- mprCleanFilename => mprNormalizePath
- mprMakeTempFileName => mprGetTempPath
- mprGetFileDelimiter => mprGetPathSeparator
Changes in 0.9.8
Major Features
Minor Features
- Added Cross compilation byte ordering control. New ejsc switches --cross and --endian.
- Fix source code tabbing.
- Added error code to Error class.
- Documentation updates.
Fixes
- Fixed ejsweb migrations.
- Fixed ejsweb to be smarter when creating the web server command string. Now works for installed builds and from a debug tree..
- Fixed poor error message from ejsweb when if fails to run the web server
- Fixed 64 bit MD5 encodings.
- Fixed rendering empty ejs web pages.
- Fixed date unit tests.
- Fixed source distributions for windows. Was missing some VC project files and buildConfig.h.
- Fixed crash when loading custom native modules into the web framework
- Made ejsPath per interpreter
- Modified ejsCreate() API to take a search path argument
- Fixed parsing paths with ".."
Changes in 0.9.7
Major Features
- Added CGI gateway program (ejscgi).
- Added Appweb web server for local and proxied hosting.
- Added Apache reverse proxy support.
- Added Appweb in-memory module.
- Added model validations.
- Added database migrations.
- Added controller life-cycle filter hooks.
- Enhanced ejsweb generator. Added migration, model and scaffold generation. Also migrate application and running in-built web server.
- Added native JSON support.
- Added flash[] inter-action storage.
- Added jQuery support for Ajax and effects.
- Enhanced user controls.
- Added async form and async link support.
Minor Features
- Simplified building for cross-compilation.
- Documentation updates.
- Uninstall on MAC OS X.
- Improved ECMA-262 compliance: Added Function.apply() and Function.call().
- More documentation for the Web Framework.
- Added input view control for smart rendering based on data type.
- Added improved style sheets and themes for use by framework generator.
- Enhanced configure program to intelligently search for dependent components and packages.
- Added block-less function declarations. Can define functions without {} and return. The body is just a simple expression.
- Optimized ejsweb command to directly run pre-compiled byte code.
Fixes
- Renamed compiler from ec to ejsc.
- Renamed web generator from egen to ejsweb.
- Installation and removal fixes.
- Fixed cross compilation build system.
- Fixed setting of LD_LIBRARY_PATH when building cross.
- Fixed Mips compilation switches.
- Fixed System.run. Now uses inbuilt MprCmd instead of popen.
- Fixed native JSON encoding of null, undefined and \\.
- Several VM evaluation fixes.
- Fixed session encoding.
- Fixed cross-request preservation of flash[].
- Fixed textarea control.
- Fixed SQLite datatype mapping.
- Fixed serialize/deserialize. Fixed backquoting and embedded quotes.
- Moved modules to /usr/lib/ejs/modules and binaries to /usr/local/bin.
- Fixed compiler bug not warning when accessing instance properties from static code.
- Fixed property lookup to use all open namespaces in all blocks.
Changes in 0.9.6
Major Features
- Improved ECMA-262 compatibility.
- Added language compliance controls. Added --lang switches to the configure, ejs, and ec programs. Added "use lang" pragma directive for scripts.
- Extensive updates to the documentation. Especially in language and web framework guides.
Minor Features
- Added typeof operator.
- Added Number and Boolean function constructors.
- Added typeOf() global function for easily determing the type of an object.
- Made ejs support -f switch for compatibility with Mozilla test suites.
Fixes
- Fixed Reflect().typeName not returning correct results.
- Fixed String(number) constructor pattern. Updated doc.
- Fixed parser with typeof operator as the first input token.
- Cleanup error reporting in compiler.
- Fixed prefix and postfix operators on literals. Now warns appropriately.
- Fixed the "in" operator when searching in arrays or instance objects.
Changes in 0.9.5
Major Features
- Garbage collector changed to a non-compacting, generational mark and sweep with pooled object allocations.
- New hierarchical virtual memory allocator offering arena and slab memory allocation services.
- VM Byte codes optimized for direct access and early binding.
- Object memory layout optimized and compacted.
- Class library extended with enhancements for Date, Regular expressions and other types.
- SQLite API.
- Ejscript web framework for "rails" style server side JavaScripting.
- Simple reflection API.
- More unit tests.
- Interfaces including interfaces with bodies.
- Streams classes including TextStream, BinaryStream.
- Enhanced Http. Now supports SSL, authentication, chunked transfers and post data.
Minor Features
- Enhanced and debugged ByteArray class.
- Master interpreter and clone interpreter support.
- XMLHttp class.
- More documentation.
Fixes
- Improve error reporting for ec.
- Fixes for stack trace reporting on exceptions.
- Fixed garbage collection bug for array elements in some cases.
- Fixed some compiler crashes on illegal programs.
- Fixed some code generation issues.
Changes in 0.9.3
Major Features
- Major performance work for memory and CPU utilization.
- Extended Date, Array and String classes.
- Improved documentation.
- Extended suite of unit tests including load, benchmark and valgrind tests.
Minor Features
- Added open, close, read, write file I/O convenience routines. These wrap the more comprehensive File class capabilities.
- Completed the installation and removal packaging for major operating systems.
Fixes
- Continued push to drive quality higher using a continuous integration build farm.
Changes in 0.9.2
Major Features
- Added web ESP (rails-like) framework.
- Added SQLite support.
- Added RegExp regular expression class.
- Added Http client class.
- Added the with statement.
- Lots of bug fixes.
Minor Features
- Updated MPR portable runtime layer.
Fixes
- Too many to count.
Changes in 0.9.1
Major Features
- First-cut product documentation.
- Object, Array, String methods.
- ByteArray.
- ejs.io namespace including: File, BinaryStream, TextStream, IStream.
- Updated ejsmod to support namespaces as packages.
- Extended unit test suite.
- Lots of bug fixes.
Minor Features
- Increased unit test coverage.
Fixes
- Too many to count.
Changes in 0.9.0
Major Features
- Supporting catch (var: type).
- Supporting cast, to, instanceof, in with binary expressions.
- Namespaces including "use namespace" and "use default namespaces".
- Packages are removed in deference to namespaces.
- Added module blocks and "use module".
- Added iterator support for for/in, for each.
- New ejsmod program replaces old bun program. Handles listing, slot and doc generation.
- Ejsmod generates documentation based on javadoc style comments.
- Enhanced assembler listings.
- Improved code generation.
- Completed support for block scope.
- Closures and bound method capture.
- System library documentation.
- Object, Array and String library methods implemented.
- Support class settings.
- E4X support.
- ECMA compliance mode.
- Implemented type checking on function calls in the VM relieving native types of the burden.
- Added parameter type checking and type coercion on function calls.
- Implemented rest args (...rest).
Minor Features
- Increased unit test coverage.
- Code cleanup and refactoring.