Dear all,

I am happy to announce that version 0.9.6 of Links has been released.

It is available to install via OPAM

    $ opam update && ocaml install links

This release includes some bug fixes and extensions to the core features of Links:

   * Links now supports System F-style explicit type abstractions:
      For instance, writing `/\ [a, e::Row] { foo }` abstracts the
   expression `foo`
      over type variable `a` and row variable `e`. Here, `foo` must
   have a unique
      type and must be pure (to satisfy the value restriction).
   * Fixed a bug in "mixing" query normalisation, which prevented
   certain queries using
      concatenation inside `for` statements from being correctly
   converted to SQL.
   * Links now has basic support for temporal database operations. More
   information
      can be found on the
   [Wiki](https://github.com/links-lang/links/wiki/Temporal-Databases).
      There are new keywords: `valid`, `to`, `vt_insert`, `tt_insert`,
   and `TemporalTable`.
   * A new commandline option `--compile` (shorthand `-c`) has been
      added, which runs Links in a "compile only" mode. In this mode the
      JavaScript compilation artefact can be saved to a file (the naming
      of this file is controlled via the commandline option `-o`). Note
      that the generated file may not be directly runnable without linking
      the runtime system first. Currently, the runtime system must be
      linked manually.
   * Fixed a bug where calling either of `newAP`, `newClientAP`, and
      `newServerAP` on the client-side would crash the client.
   * It is now possible to dispatch an MVU message from outside of the
      event loop. This is particularly useful, for example, when dealing
      with a persistent, stateful thread which is receiving messages from
      a server. New things include:
      + A new type alias `MvuHandle(msg)`.
      + A family of runners: `runHandle`, `runCmdHandle`,
        `runSimpleHandle` which return an `MvuHandle(msg)` rather than the
        unit value.
      + A new dispatcher `Mvu.dispatch : (msg, MvuHandle(msg)) ~> ()`,
        which directly dispatches a message to the MVU loop.
   * The built-in webserver now supports SSL connections.  To enable
      secure connections, you must first obtain an adequate certificate
      and key, e.g. via Let's Encrypt or a self-signed certificate. The
      latter can be useful for testing, e.g. the following command starts
      an interactive process to create a self-signed certificate (that
      uses 4096 bits RSA encryption and is valid for 365 days):
   ```shell
   openssl req -x509 -newkey rsa:4096 -keyout server.key -out
   server.crt -days 365 -nodes
   ```
      After obtaining a valid certificate, you must tell Links to run
   in SSL
      mode and you must also tell it how to locate the `key` and `crt`
      file. This can be done via a configuration file, e.g.

   ```
   # ssl.config
   ssl=true
   ssl_cert_file=server.crt
   ssl_key_file=server.key
   ```
      Then running `./links --config=ssl.config <file.links>` will cause
      the webserver to only serve requests via https.

      When a webpage is served via https, then the websocket layer will
      automatically communicate via the wss protocol.
   * Other various bug fixes.

Happy hacking!

Kind regards, Daniel

--
Kind regards
Daniel Hillerström

Find me inInformatics Forum  
<https://www.google.co.uk/maps/place/Informatics+Forum/@55.944781,-3.187282,15z/data=%214m2%213m1%211s0x0:0xb8b2415ee37c6dd4?sa=X&ved=0CGkQ_BIwC2oVChMI95qg5f6AyAIVRPEUCh1MEgNK>
  office 5.28/1.
_______________________________________________
links-users mailing list
[email protected]
http://lists.inf.ed.ac.uk/mailman/listinfo/links-users
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

Reply via email to