Go 1.9 work-in-progress release notes

The next version of Go will improve performance, compilation, and scalability
26 June 2017   971
Go

an open source project developed by a team at Google and many contributors from the open source community

Go 1.9 is planned to be released in August.

There won't be any radical changes; creators of Go 1.9 are focused on maintaining compatibility in this latest release, so no compatibility issues are expected.

New features:

  • Garbage collector's performance improved and core library is optimized; it will make programs run better;
  • The math/bits package offers optimized implementations to manipulate bits. Functions in this package are treated by the compiler as intrinsics to boost performance.
  • The Go 1.9 compiler supports parallel compilation of functions in a package, leveraging multiple processor cores. Go 1.9 retains the previous versions’ go command’s support for parallel compilation of separate packages. Parallel compilation is on by default but can be disabled. 
  • Type-alias declaration for code repair is now added to Go 1.9 in order to increase scalability. A change to the Go language, type aliases support gradual code repair while moving a type between packages.
  • Transparent monotonic time now supported. This will make computing durations between two "Time" values a safe operation in the presence of wall-clock adjustments.
  • Test helper capabilities improved.
  • New type added. It serves as a concurrent map with amortized-constant-time loads, stores, and deletes.

Official work-in-progress release notes.

NGINX to Release Unit 1.3 Beta

Developers expanded the ability to run web applications in Python, PHP, Perl, Ruby and Go
16 July 2018   104

In open access, a beta version of the NGINX Unit 1.3 application server was released. Developers continued to expand the ability to run web applications in Python, PHP, Perl, Ruby and Go. The project code is written in C and is distributed under the Apache 2.0 license.

Features

Version 1.3 eliminates the problems with handling errors when installing HTTP connections.

Among other changes:

  • parameter max_body_size to limit the size of the body of the request;
  • new parameters for setting timeouts when setting up an HTTP connection:
         "settings": {
              "http": {
                  "header_read_timeout": 30,
                  "body_read_timeout": 30,
                  "send_timeout": 30,
                  "idle_timeout": 180,
                  "max_body_size": 8388608
              }
          },
  • automatic use of the Bundler where possible in the Ruby module;
  • http.Flusher interface in the module for the Go language;
  • The possibility of using characters in the UTF-8 encoding in the request headers.

The first version of the NGINX 1.1 application server was released in mid-April 2018. Under the control of NGINX Unit, several applications can be executed simultaneously in different programming languages, the startup parameters of which can be changed dynamically without the need to edit the configuration files and restart.