//No Comment - HHVM, Bash & CoffeeScript
Written by Alex Amstrong   
Wednesday, 28 September 2016

• Facebook's PHP/HACK VM - HHVM 3.15 

• Bash-4.4 Release available 

• CoffeeScript 1.11.0

nocomment

Sometimes the news is reported well enough elsewhere and we have little to add other than to bring it to your attention.

No Comment is a format where we present original source information, lightly edited, so that you can decide if you want to follow it up. 

 

HHVMIcon

Facebook's PHP/HACK VM - HHVM 3.15

The next LTS release of HHVM has been cut and packages are now available for Ubuntu 14.04, 15.04, 15.10, and 16.04; and Debian 7 and 8.

This release replaces the 3.9 LTS and brings with it a host of improvements and new features.

The 3.15 release features native support for the shmop, pg-sql, and scrypt extensions, enhancements to the garbage collector, critical fixes for TC recycles which had been broken in recent releases. Also included in this release, various bug and incompatibility patches, and enhancements to inlining, method dispatch, and other important performance optimizations.

Many of the extension and user-facing bug fixes included in this release would not have been possible without the support of our community, both through pull requests and bug reports. 

Instructions for installing HHVM from either packages or source can be found in ourdocumentation. Should you encounter any new issues with this release please file a bug report on our issue tracker.

 nocomment

 

Bash-4.4 Release available

The first public release of bash-4.4 is now available..

Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX shell spec, but also with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features.

This release fixes many outstanding bugs in bash-4.3 and introduces several new features. The most significant bug fixes are the remaining changes to reworking of signal handling to avoid running signal and trap handlers in a signal handler context. There are also several changes dealing with variables that have been given attributes but not values, which means they are technically unset. The nameref variable implementation was overhauled and cleaned up considerably, with as little disruption to backwards compatibility as possible.

All of the released patches for the shellshock vulnerability, and several other related changes, are included in bash-4.4.

The most notable new features are

  • mapfile's ability to use an arbitrary record delimiter
  • a --help option available for nearly all builtins
  • a new family of address@hidden expansions that transform the value of `parameter'
  • the `local' builtin's ability to save and restore the state of the single-letter shell option flags around function calls
  • a new EXECIGNORE variable, which adds the ability to specify names that should be ignored when searching for commands

Also new is the beginning of an SDK for loadable builtins, which consists of a set of headers and a Makefile fragment that can be included in projects wishing to build their own loadable builtins, augmented by support for a BASH_LOADABLES_PATH variable that defines a search path for builtins loaded with `enable -f'.

 

CoffeeScript 1.11.0

The "improved" JavaScript alternative is now available in as release 1.11.0.

New features include:

  • supports ES2015 import and export syntax.
  • Added the -M, --inline-map flag to the compiler, allowing you embed the source map directly into the output JavaScript, rather than as a separate file.
  • A bunch of fixes for yield:

  • yield return can no longer mistakenly be used as an expression.
  • yield now mirrors return in that it can be used stand-alone as well as with expressions. Where you previously wrote yield undefined, you may now write simply yield. However, this means also inheriting the same syntax limitations that return has, so these examples no longer compile:

    doubles = ->
      yield for i in [1..3]
        i * 2
    six = ->
      yield
        2 * 3
  • The JavaScript output is a bit nicer, with unnecessary parentheses and spaces, double indentation and double semicolons around yield no longer present.
  • &&=||=and= and or= no longer accidentally allow a space before the equals sign.
  • Improved several error messages.
  • Just like undefined compiles to void 0NaN now compiles into 0/0 and Infinity into 2e308.
  • Bugfix for renamed destrucured parameters with defaults. ({a: b = 1}) -> no longer crashes the compiler.
  • Improved the internal representation of a CoffeeScript program. This is only noticeable to tools that use CoffeeScript.tokens or CoffeeScript.nodes. Such tools need to update to take account for changed or added tokens and nodes.
  • Several minor bug fixes, including:

  • The caught error in catch blocks is no longer declared unnecessarily, and no longer mistakenly named undefined for catch-less try blocks.
  • Unassignable parameter destructuring no longer crashes the compiler.
  • Source maps are now used correctly for errors thrown from .coffee.md files.
  • coffee -e 'throw null' no longer crashes.
  • The REPL no longer crashes when using .exit to exit it.
  • Invalid JavaScript is no longer output when lots of for loops are used in the same scope.
  • A unicode issue when using stdin with the CLI.

 

nocomment

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter,subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.

Banner


The Art Of Computer Programming - A Great Present
15/12/2024

If you are looking for a programmer present this holiday season, there is one book, or set of books, that should be top of any list... Donald Knuth's The Art of Computer Programming.



Rust 1.83 Improves Const Context Code Handling
12/12/2024

Rust 1.83 has been released with improvements to the handling of code running in const contexts.


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

nocommentlanguages

Last Updated ( Tuesday, 04 October 2016 )