Elixir
- [Code.Formatter] Support comments in the middle of pipelines,
when and | expressions
- [Code.Formatter] Consider commas when breaking groups
- [Code.Formatter] Ensure proper precedence between & and operators
- [Code.Formatter] Consider .formatter.exs when formatting stdin
Logger
- [Logger.Translator] Ensure logger doesn't crash when reporting
named DynamicSupervisor
deps:
- update V8 to 6.2.414.46
- revert ABI breaking changes in V8 6.2
- upgrade libuv to 1.19.1
- re land npm 5.6.0
- ICU 60 bump
crypto:
- Support both OpenSSL 1.1.0 and 1.0.2
- warn on invalid authentication tag length
async_hooks:
- update defaultTriggerAsyncIdScope for perf
- use typed array stack as fast path
- use scope for defaultTriggerAsyncId
- separate missing from default context
- rename initTriggerId
- deprecate undocumented API
- add destroy event for gced AsyncResources
- add trace events to async_hooks
- set HTTPParser trigger to socket
- add provider types for net server
n-api:
- add helper for addons to get the event loop
cli:
- add --stack-trace-limit to NODE_OPTIONS
console:
- add support for console.debug
module:
- add builtinModules
- replace default paths in require.resolve()
src:
- add helper for addons to get the event loop
- add process.ppid
http:
- support generic `Duplex` streams
- add rawPacket in err of `clientError` event
- better support for IPv6 addresses
net:
- remove ADDRCONFIG DNS hint on Windows
process:
- fix reading zero-length env vars on win32
tls:
- unconsume stream on destroy
process:
- improve unhandled rejection message
stream:
- remove usage of *State.highWaterMark
trace_events:
- add executionAsyncId to init events
Full release notes at https://golang.org/doc/go1.10.
The latest Go release, version 1.10, arrives six months after Go 1.9. Most of
its changes are in the implementation of the toolchain, runtime, and libraries.
As always, the release maintains the Go 1 promise of compatibility. We expect
almost all Go programs to continue to compile and run as before.
This release improves caching of built packages, adds caching of successful
test results, runs vet automatically during tests, and permits passing string
values directly between Go and C using cgo. A new compiler option whitelist may
cause unexpected invalid flag errors in code that built successfully with older
releases.
As announced in the Go 1.9 release notes, Go 1.10 now requires FreeBSD 10.3 or
later; support for FreeBSD 9.3 has been removed.
Go now runs on NetBSD again but requires the unreleased NetBSD 8. Only GOARCH
amd64 and 386 have been fixed. The arm port is still broken.
On 32-bit MIPS systems, the new environment variable settings GOMIPS=hardfloat
(the default) and GOMIPS=softfloat select whether to use hardware instructions
or software emulation for floating-point computations.
Go 1.10 is the last release that will run on OpenBSD 6.0. Go 1.11 will require
OpenBSD 6.2.
Go 1.10 is the last release that will run on OS X 10.8 Mountain Lion or OS X
10.9 Mavericks. Go 1.11 will require OS X 10.10 Yosemite or later.
Go 1.10 is the last release that will run on Windows XP or Windows Vista. Go
1.11 will require Windows 7 or later.
Changelog:
Do not abort when unwinding through FFI (this reverts behavior added
in 1.24.0)
Emit UTF-16 files for linker arguments on Windows
Make the error index generator work again
Cargo will warn on Windows 7 if an update is needed.
- libuv: Updated to libuv 1.19.2
- src: Add initial support for Node.js-specific post-mortem
metadata
- timers: The return value of setImmediate() now has ref() and
unref() methods
- util: It is now possible to get the name for a numerical
platform-specific error code as a string
1. Enhancements
Mix
- [mix compile.erlang] Teach Mix erlang compiler alternative spelling
for -behavior declaration
- [mix format] Support the :subdirectories configuration that points
to other directories with their own .formatter.exs file. This is
useful in umbrella applications. mix new --umbrella has also been
changed to use this new configuration by default
- [mix format] Include the current environment for missing dependency
errors
2. Bug fixes
Elixir
- [Code.Formatter] Ensure -> does not exceed line length
- [DynamicSupervisor] Properly tag error reports generated by dynamic
supervisors so they can be properly translated by Logger
- [DynamicSupervisor] Consider extra arguments during child restart
- [Kernel] Ensure arguments given to a guard defined with defguard are
evaluated in the correct order
- [Module] Do not remove docs for previous function declaration when
@impl true is used
- [Supervisor] Ensure use Supervisor properly adds the @behaviour
Supervisor annotation
Mix
- [Mix.Shell] Bring back Mix.Shell.cmd/2 - this arity was defined via
a default argument that was accidentally removed
Vala 0.38.8
===========
* Various bug fixes:
- Fix GDestroyNotify of delegate parameters in delegate declaration [#639059]
- Avoid critical when connecting dynamic signals
- compiler: Prefix headers for set_cheader_override() if includedir is given
[#793299]
- Don't warn about unused internal methods which are meant to be visible
on DBus [#593902]
- libvaladoc: Prevent WITH_CGRAPH conditional having an impact on generated
sources
* Bindings:
- gio-2.0: Cherry-pick some DBusProxy fixes from 0.40
- gstreamer-1.0: Update from 1.13+ git master
- gdk-3.0,gtk+-3.0: Update to 3.22.27
- NetBSD current has OpenSSL-1.1 and this requires at least 7.1 to compile.
- http://php.net/supported-versions.php: 7.2 was released 2 months ago and
is too fresh.
nodejs 9.6.1
events:
- events.usingDomains being set to false by default was removed in
9.6.0 which was a change in behavior compares to 9.5.0. This
behavior change has been reverted and the events object now has
usingDomains preset to false, which is the behavior in 9.x prior
to 9.6.0
nodejs 9.6.0
async_hooks:
- deprecate unsafe emit{Before,After}
- rename PromiseWrap.parentId to PromiseWrap.isChainedPromise
deps:
- update node-inspect to 1.11.3
- ICU 60.2 bump
- Introduce ScriptOrModule and HostDefinedOptions to V8
http:
- add options to http.createServer() for IncomingMessage and
ServerReponse
http2:
- add http fallback options to .createServer
https:
- Adds the remaining options from tls.createSecureContext() to the
string generated by Agent#getName(). This allows https.request() to
accept the options and generate unique sockets appropriately.
inspector:
- --inspect-brk for es modules
lib:
- allow process kill by signal number
module:
- enable dynamic import
- dynamic import is now supported
n-api:
- add methods to open/close callback scope
src:
- allow --perf-(basic-)?prof in NODE_OPTIONS
vm:
- add support for es modules
0.14.0
Removals
* Python 3.3 is no longer supported
* def is gone; use setv instead
* apply is gone; use the new #* and #** syntax instead
* yield-from is no longer supported under Python 2
* Periods are no longer allowed in keywords
* Numeric literals can no longer begin with a comma or underscore
* Literal Inf\s and NaN\s must now be capitalized like that
Other Breaking Changes
* Single-character "sharp macros" are now "tag macros", which can have
longer names
* xi from hy.extra.anaphoric is now a tag macro #%
* eval is now a function instead of a special form
New Features
* The compiler now automatically promotes values to Hy model objects
as necessary, so you can write (eval (+ 1 ~n)) instead of
(eval (+ 1 ~(HyInteger n)))
* return has been implemented as a special form
* Added a form of string literal called "bracket strings" delimited by
#[FOO[ and ]FOO], where FOO is customizable
* Added support for PEP 492 (async and await) with fn/a, defn/a,
with/a, and for/a
* Added Python-style unpacking operators #* and #** (e.g.,
(f #* args #** kwargs))
* Added a macro comment
* Added EDN #_ syntax to discard the next term
* while loops may now contain an else clause, like for loops
* #% works on any expression and has a new &kwargs parameter %**
* Added a macro doc and a tag macro #doc
* get is available as a function
* ~@ (unquote-splice) form now accepts any false value as empty
Bug Fixes
* Relative imports (PEP 328) are now allowed
* Numeric literals are no longer parsed as symbols when followed by a dot
and a symbol
* Hy now respects the environment variable PYTHONDONTWRITEBYTECODE
* String literals should no longer be interpreted as special forms or macros
* Tag macros (née sharp macros) whose names begin with ! are no longer
mistaken for shebang lines
* Fixed a bug where REPL history wasn't saved if you quit the REPL with
(quit) or (exit)
* exec now works under Python 2
* No TypeError from multi-arity defn returning values evaluating to None
* try forms are now possible in defmacro and deftag
* Multiple expressions are now allowed in try
* Fixed a crash when macroexpand\ing a macro with a named import
* Fixed a crash when with suppresses an exception. with now returns
None in this case.
* Fixed a crash when --repl-output-fn raises an exception
* Fixed a crash when HyTypeError was raised with objects that had no
source position
* assoc now evaluates its arguments only once each
* Multiple expressions are now allowed in the else clause of
a for loop
* else clauses in for and while are recognized more reliably
* Statements in the condition of a while loop are repeated properly
* Argument destructuring no longer interferes with function docstrings
* Nullary yield-from is now a syntax error
* break and continue now raise an error when given arguments
instead of silently ignoring them
Misc. Improvements
* read, read_str, and eval are exposed and documented as top-level
functions in the hy module
* An experimental let macro has been added to hy.contrib.walk
* Disable SunOS support for a while
Changelog:
Version 1.24.0 (2018-02-15)
Language
External sysv64 ffi is now available. eg. extern "sysv64" fn foo () {}
Compiler
rustc now uses 16 codegen units by default for release builds. For
the fastest builds, utilize codegen-units=1.
Added armv4t-unknown-linux-gnueabi target.
Add aarch64-unknown-openbsd support
Libraries
str::find::<char> now uses memchr. This should lead to a 10x improvement
in performance in the majority of cases.
OsStr's Debug implementation is now lossless and consistent with Windows.
time::{SystemTime, Instant} now implement Hash.
impl From<bool> for AtomicBool
impl From<{CString, &CStr}> for {Arc<CStr>, Rc<CStr>}
impl From<{OsString, &OsStr}> for {Arc<OsStr>, Rc<OsStr>}
impl From<{PathBuf, &Path}> for {Arc<Path>, Rc<Path>}
float::from_bits now just uses transmute. This provides some optimisations
from LLVM.
Copied AsciiExt methods onto char
Remove T: Sized requirement on ptr::is_null()
impl From<RecvError> for {TryRecvError, RecvTimeoutError}
Optimised f32::{min, max} to generate more efficent x86 assembly
[u8]::contains now uses memchr which provides a 3x speed improvement
Stabilized APIs
RefCell::replace
RefCell::swap
atomic::spin_loop_hint
The following functions can now be used in a constant expression.
eg. let buffer: [u8; size_of::<usize>()];, static COUNTER: AtomicUsize =
AtomicUsize::new(1);
AtomicBool::new
AtomicUsize::new
AtomicIsize::new
AtomicPtr::new
Cell::new
{integer}::min_value
{integer}::max_value
mem::size_of
mem::align_of
ptr::null
ptr::null_mut
RefCell::new
UnsafeCell::new
Cargo
Added a workspace.default-members config that overrides implied --all
in virtual workspaces.
Enable incremental by default on development builds. Also added
configuration keys to Cargo.toml and .cargo/config to disable on
a per-project or global basis respectively.
Misc
Compatibility Notes
Floating point types Debug impl now always prints a decimal point.
Ipv6Addr now rejects superfluous ::'s in IPv6 addresses This is in
accordance with IETF RFC 4291 Sec. 2.2.
Unwinding will no longer go past FFI boundaries, and will instead abort.
Formatter::flags method is now deprecated. The sign_plus, sign_minus,
alternate, and sign_aware_zero_pad should be used instead.
Leading zeros in tuple struct members is now an error
column!() macro is one-based instead of zero-based
fmt::Arguments can no longer be shared across threads
Access to #[repr(packed)] struct fields is now unsafe
Cargo sets a different working directory for the compiler