[ts-gen] Announcing the 1.0 release of the shim

Bill Pippin pippin at owlriver.net
Fri Nov 26 22:23:14 EST 2010

I've fixed open bugs, and so the shim reaches version 1.0.
>From the NEWS file:

  * Announcing: version 1.0 of the shim!  Open bugs have
    been fixed, and additional features such as the following
    may be considered for, and may become part of, a post 1.0

        + add man page, add autotools "make config" packaging,
          and add man page text to help command;

        + add contracts dynamically, as contract data query
          answers occur;

        + complete port of database to postgresql;

        + add newer, extended order attributes to cmd language;

        + add support for the market scanner;

        + add user process() per-message callback for C++

        + add grammar rule driven configuration to the ruby
          sample client; and

        + port to Windows

    The order --- and for that matter, the existence --- of the
    above is not a commitment to deliver, or deliver in the
    order listed.  Readers on the list may want to consider how
    they can contribute to any of the above goals that they find
    of interest.  The shim is free software!

  * Fix bug in ErrorMsg ApiA lookup action, where type tag
    for tick id was conflated with type tag for api error
    index.  This prevents the syntax errors that were
    occurring for most api error messages, of the form:
        Syntax error:
        Grammar rule: Compound ErrorMsg
        Cursor state: match; text is:

    The trace text above was empty since the input itself
    parsed fine, and it was the trailing action that failed.

  * Relax quantity term type, to allow negative values in
    size tick messages, since the option open interest value
    for subtick type 27 can be negative; and generalize the
    TickData parent class data member to be integral, rather
    than natural.

  * Fix timestamp bug, by splitting all base and offset
    calculations for the two clocks until the final
    comparison in DualClock::check_time().  Monotonicity
    is maintained, at the cost of allowing the shim's
    clock to run ahead of the wall clock time in the
    worst case, where either the time stamp counter
    speeds up significantly over time, or the wall clock
    time is set back significantly. 

  * Update shim version to 0.99, reflecting, on the one
    hand: the simplifications to the database; use of
    exchange sets in contract lookup; grammar rules to
    document command language; grammar rules to define api
    request and message formats; and api request and message
    formats extended to provide multi-version api support,
    from api levels 17 to 49 --- all of which taken alone
    would justify a 1.0 release according to our roadmap ---
    and, on the other hand, the recent and still existing
    timestamp bug which needs to be fixed prior to 1.0. 

  * Most of the files in the lib directory have been 
    relicensed from GPLv3+ to LGPLv3+ .  Note that the
    trading-shim sources, and in particular the files in
    the src and sql directories, remain under GPLv3+

  * The order submission bug has been fixed; it was due to
    incorrect reordering of grammar action symbols for the
    submit case.

  * The layout of the sql directory has changed, to reflect
    initial work on postgresql support (no, the shim does not
    yet connect to a psql database).  There are create table
    statements in both sql/mys and sql/pgs, and users are
    welcome to compare the two directories to get some idea
    of upcoming changes to the database, and work left to
    be completed.

  * Remove obsolete help text, and modify help command to print
    the same grammar text as the help option provides.  The
    syntax of the help command is now simply:


    Note that there are differences in the grammar rules for the
    command language and those for the api request and command
    formats; broadly speaking, the first is for the benefit of
    users, while the latter two are for the use of developers
    and the shim itself.



More information about the ts-general mailing list