SourceForge.net
NullLogic | Nesla | Groupware | Webmail
Google
  Web http://www.nulllogic.ca/
 

 Site Menu

Downloads
Projects
Résumé


 Favourites

Slashdot
FreshMeat
SourceForge
Linux Kernel
Slackware


NullLogic
 Nesla ChangeLog  

      What follows is an overview of changes made in Nesla for each released version.

0.9.3 (2009-06-01)

  • added ternary conditional expression operator ?:
  • added catch, finally and throw to try
  • added 'new' to control behaviour of object constructor functions
  • fixed odbc data retrieval
  • added string.itoa and string.atoi function pair
  • added foreach (x in y) loops
  • added \0 to string<->character mapping
  • added 'this' between local and global var lookups to create a transparent illusion of oo support
  • moved 'this' from the last function argument to the first to fix bug with missing args
  • added === operator for strict comparisons
  • fixed explicit variable declaration of locals when matching globals exist

0.9.2 (2008-06-05)

  • added basic signal handling to allow shutdown requests in multithreaded environments, etc.
  • fixed broken eval of break and exit values
  • fixed output of large values in printvar()
  • added simple MIME parser able to digest e-mails (and probably HTTP MIME POST data)
  • added quoted-printable and rfc2047 header decoding for MIME
  • added support for libssh2 (sftp and shell support)
  • added crude support for reading from and writing to pipes
  • added file.append(), file.mkdir(), tcp.info()
  • added DNS query code to libtcp
  • added tcp ftp helper functions to upload/download files and list dirs
  • fixed io.flush to not cause an error when being used to report an error

0.9.1 (2007-11-07)

  • updated xyssl lib to support v0.8
  • fixed redefinition of an existing function
  • fixed cases where function existence was evaled to 0 (should be true if exists, or false)
  • added AES encryption to the source tree
  • added password prompt form to win32 api
  • added eval()
  • added line number tracking during tokenizing phase
  • added support for string multiplication ('x'*5 is equal to 'xxxxx')
  • added dirhash, factorial, and sqrt examples
  • fixed memory leaks caused by error trapping
  • fixed segfaults caused by error calls in c functions and subsequent attempts to free the base pointer of script functions
  • fixed display limit of numbers larger than 2 billion (kinda)

0.9.0 (2007-09-05)

  • all time functions are now grouped in a single table
  • major xmlread rewrite, including an optional tree trimmer
  • added sha1 hash algorithm to libcrypto
  • fixed returned strings defaulting to zero length in string.sub()
  • added ival() to compliment iname()
  • added extension module to convert source to html
  • added popsync.nes - a working pop3/pop3s client
  • added httpd.nes - a working http server (with and without ssl)
  • added tcp server support for xyssl and openssl
  • added support for xyssl encryption lib (aes, md5 and sha1 sums, tcp, etc...)
  • fixed broken table comparisons
  • added 'try' to trap errors within scripts
  • added regex lib based on code by Henry Spencer

0.8.0 (2007-08-08)

  • added 'this' object for that object-oriented stuff some people like
  • functions can now be declared inside a statement
  • x=x+1 no longer clobbers x before evaluating the expression
  • all extension libraries can now be built as shared objects (except for the one that adds shared object support)
  • added native postgresql support
  • values are now completely destroyed when setting them to null
  • mixed string and number math now works as expected
  • evaluating expressions is now more than twice as fast as before
  • major overhaul of the internal binary format of scripts
  • variable assignment inside an expression now works
  • fixed several cases of bogus return values from mixed object type comparisons
  • fixed the use of direct table declarations inside function parameters
  • added dl extension lib for dynamic module loading
  • added gmtime(), localtime(), string.tolower(), string.toupper() and string.join() to core lib
  • added winapi extension lib
  • changed type() and size() to typeof() and sizeof()
  • += now works for strings
  • rewrote the extension makefiles in pure nesla

0.7.0 (2007-07-13)

  • added md5 support
  • added native mysql support
  • added native sqlite v3 support
  • numerous inprovements to the windows tray host including improved forms, and process spawning
  • fixed bad sorting of numeric indexes
  • improved documentation
  • added stat and unlink to file functions
  • added zlib support for reading and decompressing tgz files
  • added api function to sort tables by subkeys
  • readded api function to sort tables

0.6.0 (2007-06-05)

  • 'else if' is no longer evaluated after a previous comparison returns true
  • added a simple dependency tester written in nesla
  • added support for Windows ODBC and unixODBC (tested with mysql and mdb)
  • added working tcp functions, i.e. open, close, read, write, bind, accept ...
  • basic ssl client and server code is now working
  • added working demos of raw http, ftp, pop3, etc... controlled entirely by nesla code
  • added working management for externally defined c structures
  • added a very basic ldap.search() function
  • changed nes_tostr from macro to function. it was making my binaries look fat.
  • minor improvements to the Win32 taskbar host
  • added support for c comments

0.5.0 (2007-04-25)

  • Added a Win32 taskbar host for primitive desktop scripting
  • fixed several possible segfaults triggered by random or malicious data being fed to the parser
  • fixed the limited output size in print()
  • Added a CGI host to serve Nesla scripts via web servers
  • numbers can now be appended directly to strings using + (without tonumber())
  • tostring() now allows an optional decimal precision for numbers
  • core lib can now be used without libm
  • added do loops
  • fixed mixed references to function pointers and data pointers (i think some compilers just like to whine)
  • documentation is 1% less cryptic, and even has a couple examples
  • if, for and while loops no longer require braces for single statements
  • values now hold their own attributes, not the vars that point to them
  • fixed the hugely defective operator precedence resolution stuff (new and improved with 10% less defectiveness)

0.4.0 (2007-04-18)

  • All major core language issues resolved (i think). Next release will either be the last alpha, or the first beta.
  • added primitive file.read() and file.write() functions
  • added string.split() to turn strings into tables
  • fixed bug declaring signed numbers and functions as vals in new tables
  • nesla now understands the concept of operator precedence
  • functions can now return tables (or just subtables)
  • variables and values are now completely separate from each other. now multiple vars can point to the address of the same val without conflict
  • minor tweaks to fix cygwin compatibility
  • xml parsing code can now more-or-less read html documents
  • complete rewrite of the http client makes it almost useful
  • fixed a minor mem leak in string comparisons (valgrind rocks)
  • old string vals are freed _after_ the new val has been set
  • escape char processing is now done when the string is read, not on output

0.3.0 (2007-04-04)

  • fixed segfault caused by unsafe longjmp in n_error
  • table autosorting can now be toggled (on by default)
  • passing a table as a function arg no longer makes the sky catch fire
  • added NST_LINK as a flag for static var links
  • added nes_readtable and nes_readtablef to api
  • added nes_eval to api
  • blank loop conditions (for(;->this<-;)) fixed
  • fixed free table references (free = anything not enslaving table refs to vars)
  • added a basic http client

0.2.0 (2007-03-09)

  • replaced most libc string functions with portable (and faster) substitutes
  • added working boolean var handling
  • added internal output buffering system (much faster than standard buffering)
  • added minimal and portable snprintf
  • added simple(minded) xml parsing
  • added _VARS[] and _ARGS[] table initialization to the cli
  • added string math and comparisons using basic ops
  • new vars are automatically alphabetized
  • added rot13 to the extension lib

0.1.0 (2007-02-15)

  • initial release
 
 
  Please direct feedback to:
nulllogic@users.sourceforge.net
Copyright © 2000-2010 Dan Cahill
All rights reserved