Changes
1.21.05
- Added the standard Lock module.
- Added Iconv.width.
- Added String.flatten and Buffer.flatten.
- Added module List.
- Removed Kata/Lists in favor of List.
- Added module Gd.
- Improved and made XML Expat a standard module (Xml/XmlParse).
- Added Dict.find and Dict.__plus.
- Enhanced 'use'.
- Added __std keyword to force use module in /opt/qu/lib.
- Use directory is no longer supported.
- Enhanced Pointer.new.
- Added the __extern keyword.
- Added Container.istrue and isfalse.
- Made Pointer and Record non-final.
- Enhanced Pointer.
- Got rid of _Array_, _String_, etc. so use Array, String, etc.
- Renamed _int_, _float_, etc. to Cint, Cfloat, etc.
- Added the universe statement.
- Enhanced the Qu module.
- Added the FILE module.
- Rewrote the Curses module in Qu.
- Added the Gtk module.
- Added GC critical memory.
- Fixed the experimental "with" statement.
- Updated Mysql.c to support version >= 4.
- Fixed some Kata bugs.
1.21.04
- Fixed XxxIs macros in Array.h, Dict.h, Set.h and Queue.h (ObjectIsa
should have been ObjectInstOf).
- Added support for SQLite 3 from Bruno Luca.
- Added basic support for Irv's GTK module.
- Fixed x.foo () to work when x.foo is a Class.
- Fixed bug in Db.Handle.sql.
- Fixed struct to enable late declaration of item type.
- Fixed bug in Container.union.
- Fixed bug in Time.make.
- Enhanced String.__as.
- Added Set.copy, Dict.copy.
- Enhanced Set/Dict/Array.delete methods.
- Fixed calling Struct when the Struct is an attribute.
- Major cleaning and prefix all public C functions.
- Now C modules init function names must be qu_XXX_init.
- Now the Class class does not define any attribute. All moved to Object.
- Allowed non-final static attributes overridden by instance or class methods.
- Renamed all xxx_free C functions to xxx__destroy.
- Changed the field 'free' in struct qu_class_s to 'dtor'.
- Added the field 'fnew' in struct qu_class_s to optimize object creation.
- Optimized CALLXXX instructions in interp to use 'fnew'.
- Enhanced eval with option 'f' to accept a file path.
- Added the HTOPEN, HTCLOSE and HTENTITY instructions. They're very fast.
- Fixed Os.signal.
- Fixed Emit special switch cases. Should have processed by Reduce first.
- Added the JMPTRUEX and JMPFALSEX instructions.
- Fixed Rational as Integer (div should have been idiv).
- Fixed qu_rational_tol and family.
- Added the Zlib standard module.
- Added Record.__in and Record.__len.
- Added the Gdbm standard module.
- Added the Syslog standard module.
- Added the Iconv standard module.
- Fixed qu_stream_read/recv to throw EPIPE when applicable.
1.21.03
- Added the -E command line option.
- Added Sys.__daemon__ to check whether Qu was run as a daemon (the -S option).
- Now Array, Dict, Set and Queue may be subclassed.
- Fixed Kata installer.
1.21.02
- Fixed the installer that did not copied some files.
1.21.01
- Removed all __store and __load methods in builtin classes.
- Implemented weak references for better module loading.
- Fixed Qu -P option.
- Now __verbose__ prints to system stdout as it should be.
1.21
- Better error reporting.
- Now File.temp returns an Array instead of File.
- Renamed module HtmlSyntax to html.
- Now pragma html must not be followed by with.
- Added html.tag to register tag handlers.
- Now all HTML attributes are uppercased.
- Moved Kata/Cache to standard module Cache.
- Fixed bug in StringDup.
- Added more debugging stuffs in Gc.
- Added use xxx for yyy to (temporarily?) solve __package documentation problem.
- Optimized Tokenizer to use static objects for resident modules.
- Added experimental Utf8 module.
1.20.03 Beta
- Added the with-in syntax.
- Implemented __call.
- Allow "as" ":" "=" "->" as alias of "in" within for x in y.
- Now assert is a keyword.
- Now __quit__ is called for both EExit and EEAssert.
- Now eval changes EAssert to EProgram and EExit to EQuit.
- Now termination signal is EQuit instead of EExit. Only __exit__ generates EExit.
- Now module __init is automatically called, just like __destroy.
- Now verbose (-o) prints module message init and exit messages.
- Fixed field name mday to day of Time.Tm.
- Rewritten the Store module.
- Added Stream.readv and Stream.writev.
- Removed modules: Flow, Task, Context, Lock, Counter, Log, Pattern.
- Added the -S option to run as daemon (forks).
- Now throw can take expressions.
- Moved Utf8 back into core.
- Changed the SQL argument of all Db module handle methods.
- Moved back the Valid module to C.
- Added (_ a b c) syntax to mean a _ b _ c.
- Added (. a b c) syntax to mean print (a b c).
- Added (\ a b c) syntax to mean print (a b c) HTML escaped.
- Added builtin function __errmsg__.
- Added HTML syntax into Qu directly.
- Fixed bug in PC_PARAM.
- Added PC_PRINT.
- Now a statement with a single literal prints.
- Fixed method__eq: should only be the same if it is the same object.
- Added experimental __interface methods.
- Added the --- tag and __args decorators.
- Now the Db module is included in the standard distribution.
- Included the Kata framework.
1.20.02 Beta
- Fixed links in /doc/tutorial/structure and added a few things.
- Added a few things in doc/tutorial/validator.
- Added C and Python to Pretty.
- Trashed String.item and String.slice. We can use the [,] operator.
- Enhanced String.parseform a bit.
- Enhanced Int/Long/etc. new to accept Buffer
- Added the standard Log module.
- Fixed bug in Queue.
- Fixed bug in RecordNew. Items were not initialized.
- Fixed bug in Uri and changed Uri.split to return an URI record.
- Added syntax catch a, b, c -> var.
- Enhanced File.istype and File.isdir.
- Enhanced Time.value.
- Removed the Job module.
- Fixed bug in Set.__clear.
- Fixed bug in ClassSetSuper.
- Added some Web modules.
- Added Dict.add.
- Added Buffer.head and Buffer.tail.
- Fixed the Socket and Ssl module.
- Fixed bug in InterpLock.
- WARNING: now no autodetect deadlocks -> faster thread.
- Cond does not need a Mutex.
- Added HttpServer.
1.20.01 Beta
- Added the String.__rem method.
- Added the String.title and Buffer.title methods.
- Enhanced use statement syntax to say foo.bar.baz.
- Added Sub.change.
- Added some tutorials.
- Fixed integer incremental in enum.
- Fixed printing of Ast line number.
- Fixed __unsafe.
- Fixed String.indent and Buffer.indent.
- Added methods: Sub.argc, Sub.isclosure.
- Added methods: Frame.__string, Frame.__print, Frame.__true.
- Fixed calling class method via reference -> interp.c (CALL).
- Added methods: Var.isprivate, Var.isreadonly.
- Fixed _class_check_attr that missed checking for abstract attributes
not overrided by real subclass.
- Enhances NumberScan.
- Added Big and Rational literal syntax.
- Now Big exponent is D or d.
- Fixed ensure for class properties.
- Added the standard Pretty module.
- Added methods: Dict.collect, Tokenizer.listkey, Tokenizer, listop.
- Added methods: String.item, String.slice.
- Enhanced switch case statements .
- Changed case ? to mean a boolean test.
- Added methods: String.startswith, String.endswith.
- Added the -C option: more compile-time checks.
- Added compile-time check: setting read-only/constant property.
- Disallowed the use of mixin classes as validators.
- Allowed the use of variables as validators.
- Added the Sys.sysdelay function.
- Fixed access of private class constants.
- Implemented module finalization __destroy.
- Enhanced enum, now built by Reduce.
- Enhanced use try Foo or Missing.Foo.
- First step into simplifying the whole symbol access affair.
- Added the standard Extern module.
- Allowed comment in between backtick strings. No limit know.
- Changed all Sys validators signature to return Boolean.
- Enhanced super to work with class methods.
- Now __auto and __mixin are exclusive.
- Now __auto and __abstract are exclusive.
- All documentations now use the stylesheet file: doc/doc.css.
- Added a number of tutorials.
- Removed all experimental operators.
- Added File.agecmp.
- Rewritten all manuals.
Older versions are not shown here.
|