Release history
42 releases of Simple Scripting Engine.
- Implemented the return complex types (SQL.Recordset, Socket Client/Server etc.) from function calls.
- Resolved issues with FOR NEXT with custom stepping.
- Resolved bug where pre-validation exceptions were not reporting file names which crashed the IDE.
- Replaced AutoComplete method with pre-compiled json, removed real-time CHM decompilation.
- Remastered documentation, indexing now makes sense.
- Implemented the return complex types (SQL.Recordset, Socket Client/Server etc.) from function calls.
- Implemented [+=] for appending strings and error checking for non-numeric types on [--], [++] and [-=].
- Fully implemented list/vector type.
- Fixed multi-level namespace support.
- Added DECLARE procedures to contained namespaces.
- Fixed major issue which caused instant crash on some systems. Caused by improper command-line parsing.
- Resolved issue where some early error detection would not report file and line of exceptions.
- Resolved issues with passing SocketClient by reference.
- Resolved issue with IDE auto-completion on multiple monitor systems when the IDE is off of the primary screen.
- Resolved issues with strict types data lengths.
- Resolved issue setting strict type boolean - caused memory violation.
- Added native support for Base64 encoding and decoding.
- Added new EventLoggin namespace for writing WinAPI EventLogs.
- Added native XML Writer support.
- Added native XML Reader support.
- Centralized the memory pool. All objects now share the same pool, including intrinsic methods such as CSocketServer().
- Implemented Trim(), String.Trim() and ability to pass complex types by reference (including recursively).
- Corrected SSE IDE project drag-drop and project persistence.
- Resolved issues with "NOT" boolean math.
- Associated FortitudeHTTP change: Implemented ability to run server as alternate service name, disable management interface and specify alternate configuration files directory. This is in an effort to integrate the server into 3rd-party products (starting with Simple Scripting Engine).
- Further development on SSE-IDE.
- Corrected syntax highlighter scopes. keywords are nolonger highlighted out of scope.
- The current path is set to the path of the first script. This eases relative include file logic.
- Removed the OS namespace, merged most of the functionality into the Sys namespace.
- Added Process namespace to ease the task of retrieving scripting engine instance process information.
- Implemented bitwise NOT and corrected order of operation of logical NOT.
- Removed redundant functionality StrCmp, StrCmpI, StrEql, StrElqI, InStr, InStrI.
- Removed ReplaceI and String.ReplaceI. Replaced with parametrized versions.
- Fixed IDE "save as" tab naming functionality.
- Fixed non-recoverable IDE error when attempting to save read-only files.
- Resolved functionality conflicts in library code and fixed "For terminator not found error".
- Corrected reversed CaseSensitivity parameter of IndexOf function.
- Replaced form and query variable parsing methods. Added new Query namespace.
- Replaced entire CGI parsing library with custom functionality. Stability was in question.
- Resolved issue which would cause pre-processor errors not to be sent to IDE.
- Re-Implemented first functional external API functionality (Not yet released).
- IDE: Resolved crashing when auto-complete function documentation is unavailable.
- IDE: Resolved accidental feature removal: Immediate.
- Resolved issue which caused stdout to be written to the IDE out of order.
- Began first draft of custom types, complex types and strict types (for external API use).
- IDE: Resolved issue finding next occurrence on same line.
- IDE: Added ability to set default run file when multiple files are open in the IDE.
- IDE: Added file list tab which allows the user to view and easily open files loaded by the main script.
- IDE: Changed "Local Variables" tab to only show local variables as opposed to all vars in higher scope.
- Altered For loop scope to that it no longer increases and drops the scope by two - now functions like While.
- Implemented concept of "Major Scopes" for locals debugging.
- Optimized variable value allocations.
- Optimized array allocations (Functions, Variables and Code Lines).
- Refined detection of mathematical expressions.
- Added constants for bitwise And and Or: bAND and bOR respectively.
- Corrected return data-types on several system calls.
- Corrected documentation.
- Implemented ability to attach to running scripts.
- Implemented ability to attach to scripts that are launched with the /debug parameter or which contain the #Debug pre-processor.
- Fixed locking caused when script functions (with return values used in logic) throw exceptions.
- Fixed major bug which would cause text data to be written out of order on exception.
- Added ContentType pre-processor for web use.
- Implemented nested properies when working with mathematical expressions and logic.
- Added new Env namespace functionality: Get, Set, Count, Name, Index and Value.
- Added additional type checking for numeric parameters.
- IDE: Added copy, paste, breakpoint and watch to the context menu.
- IDE: Added options item to file menu for IDE customizations.
- Major milestone release - 1.0.6.0
- Resolved potential mathematical flaw which could cause engine crash.
- Removed legacy "NoConsole" engine switch.
- Implemented new SQL connection transaction functionality.
- Made RecordSet optional to support "execute non-query" functionality.
- Fixed bug which caused engine to crash on RecordSet execptions (as opposed to connection exceptions).
- Added many new files to the IDEs built in library.
- Changed File.Open default creation dispositions to create a safer and cleaner environment.
- Changed the type of several Socket and SQL output values.
- Added new Numeric.ToString functionality to complement FormatNumeric.
- Resolved problems with Web.URLDecode when not passing a specified length.
- Added additional type checking when passing complex objects to functions.
- Corrected IDEs handing of Current Words when searching and opening documentation.
- Corrected issues with Socket.Server which could cause network data-loss on disconnection.
- Implemented new SQL connection transaction functionality.
- Made RecordSet optional to support "execute non-query" functionality.
- Fixed bug which caused engine to crash on RecordSet execptions (as opposed to connection exceptions).
- Added many new files to the IDEs built in library.
- Changed File.Open default creation dispositions to create a safer and cleaner environment.
- Changed the type of several Socket and SQL output values.
- Major refinements/fixes to auto-completion.
- Added auto-completion to the immediate window with runtime debug support.
- Refined on-the-fly-watch from the context menu.
- Reworked internal procedure order by namespace for performance.
- Added additional numeric and string properties.
- Started on second part of documentation (non-code related).
- Added find-text-at-cursor to find/replace dialogs.
- Reworked find/replace methodology.
- Lots of new file manipulation functionality.
- Renamed SendA and RecvA to TrySend and TryRecv.
- Renamed SendA and RecvA to TrySend and TryRecv to better reflect their functionality.
- Implemented numeric properties.
- Added additional string properties.
- Performed documentation overhaul.
- Fixed several example scripts which were using outdated functionality.
- Implemented first version of code completion.
- IDE: Resolved issue which caused the IDE not to prompt to save new documents.
- IDE: Changed key mappings for Find, Find next and Replace.
- IDE: Added mouse handlers to all debug grids.
- Fully implemented try / catch capabilities.
- Increased the precision of floating point expressions.
- Resolved representation of long or infinite precision results.
- Fixed parsing of long or infinite precision logical expressions.
- Added new Sys namespace and many new diagnostic functions.
- Added include preprocessor in addition to include function.
- Added include preprocessor in addition to include function. The include function is not a preprocessor but is executed sequentially by the engine, while the include preprocessor is expanded inline.
- Resolved problem parsing simple expressions with right hand negative values. Example: (5<-10).
- Implemented inline iterators.
- Implemented inline iterators
- Implemented ability to pass complex types to script functions.
- Fixed issue with IF->ELSE IF->ELSE->END IF logic not being followed correctly.
- Enhanced try/catch ability to catch errors that occur during declarations and logic parsing.
- Added supplemental looping keywords: Break and Continue
- Fully implemented socket support.
- Added lots of new string functions and properties.
- Added ability to add and remove break-points while running.
- Added tons of new debugging functionality to the engine. Such as Debug.Break() and Debug.Evaluate().
- Reworked many language namespaces – the documentation is now out-of-date.
- Added ability to evaluate variables and expressions through the IDE.
- Added ability to evaluate variables and expressions through the IDE. This can be done in several ways - some update when break points are hit, while others are real-time.
- Added real-time expression watch. Variables and expressions can be evaluated without break points.
- Added “script library” to the IDE interface under the help menu.
- Remove ActiveX and external API call support.
- Remove ActiveX and external API call support. This is not a permanant removal but is intended to enable us to refocus on core functionality of the engine.
- Added support for watchs (evaluation of variable values at runtime).
- Added IDE break-points. Support break, step-into, step-over and step-out.
- Added "snippets" tool functionality. Accessible from the Snippets tool bar icon.
- Added many new functions (Checksum, SHA1, URLEncode, URLDecode, etc, etc.)
- Added ability to parse C/C++ #define and #undef preprocessors.
- Added ability to parse C/C++ #define preprocessors. Other preprocessors, such as #if #elif and #else have NOT been implemented.