* Disable SunOS support for a while
Changelog:
Version 1.22.1 (2017-11-22)
Update Cargo to fix an issue with macOS 10.13 "High Sierra"
Version 1.22.0 (2017-11-22)
Language
non_snake_case lint now allows extern no-mangle functions
Now accepts underscores in unicode escapes
T op= &T now works for numeric types. eg. let mut x = 2; x += &8;
types that impl Drop are now allowed in const and static types
Compiler
rustc now defaults to having 16 codegen units at debug on supported
platforms.
rustc will no longer inline in codegen units when compiling for debug
This should decrease compile times for debug builds.
strict memory alignment now enabled on ARMv6
Remove support for the PNaCl target le32-unknown-nacl
Libraries
Allow atomic operations up to 32 bits on armv5te_unknown_linux_gnueabi
Box<Error> now impls From<Cow<str>>
std::mem::Discriminant is now guaranteed to be Send + Sync
fs::copy now returns the length of the main stream on NTFS.
Properly detect overflow in Instant += Duration.
impl Hasher for {&mut Hasher, Box<Hasher>}
impl fmt::Debug for SplitWhitespace.
Option<T> now impls Try This allows for using ? with Option types.
Stabilized APIs
Cargo
Cargo will now build multi file examples in subdirectories of the
examples folder that have a main.rs file.
Changed [root] to [package] in Cargo.lock Packages with the old
format will continue to work and can be updated with cargo update.
Now supports vendoring git repositories
Misc
libbacktrace is now available on Apple platforms.
Stabilised the compile_fail attribute for code fences in doc-comments.
This now lets you specify that a given code example will fail to compile.
Compatibility Notes
The minimum Android version that rustc can build for has been
bumped to 4.0 from 2.3
Allowing T op= &T for numeric types has broken some type inference cases
pkgsrc changes:
- Take MAINTAINERship (or, in other words, make me blameworthy if the Python
documentation isn't synced with the respective lang/python* packages :))
Changes:
No changelog is available but it syncs py36-html-docs to current
python36 version.
pkgsrc changes:
- Take MAINTAINERship (or, in other words, make me blameworthy if the Python
documentation isn't synced with the respective lang/python* packages :))
Changes:
No changelog is available but it syncs py35-html-docs to current
python35 version.
pkgsrc changes:
- Take MAINTAINERship (or, in other words, make me blameworthy if the Python
documentation isn't synced with the respective lang/python* packages :))
Changes:
No changelog is available but it syncs py34-html-docs to current
python34 version.
pkgsrc changes:
- Take MAINTAINERship (or, in other words, make me blameworthy if the Python
documentation isn't synced with the respective lang/python* packages :))
Changes:
No changelog is available but it syncs py27-html-docs to current
python27 version.
No changes intended on other platforms, the configure script arguments
should be identical to those previously found in config.toml. Doing it
this way makes it a lot easier to have per-OS configuration.
This patch is a workaround for a perl core problem.
The patch has not been accepted upstream, and in its current form
introduces other bugs, see https://rt.perl.org/Ticket/Display.html?id=132448
Bump PKGREVISION.
crypto:
- Support building with both 1.1.0 and 1.0.2
fs:
- fs.realpathSync.native and fs.realpath.native are now exposed
process:
- expose process.ppid
While MACHINE_ARCH can be earmv6hf on NetBSD, configure has to match
what config.guess outputs, which is armv6. For now, leave the old
earmv6/7 tokens, because this code inexplicably succeeded on earmv7hf.
With this, ocaml builds and builds a working unison, on earmv6hf
(RPI3).
PHP 7.2.x builds upon 7.1.x, adding new features:
* Argument type declarations
* Object return type declarations
* Parameter Type Widening
* Trailing commas in list syntax
* Argon2 in password hash
* Libsodium as part of PHP Core
* Deprecated: __autoload, $php_errormsg, create_function(),
mbstring.func_overload, parse_str() without second argument,
gmp_random(), each(), assert(), $errcontext
* uniqid() patch to avoid usleep() integrated, 10000x improvement on NetBSD,
about 10x on Linux
This should be the last part of the renaming operation for print/cups to
print/cups-base.
Rationale: packages depending on CUPS but not relying on a functional
printing setup only need to depend on print/cups-base (equivalent to the
former print/cups). The new print/cups now depends on print/cups-base
and on print/cups-filters, thus directly providing a functional printing
setup. This bump reflects this change of dependency.
As discussed on tech-pkg@
This is with the notable exception of meta-pkgs/desktop-gnome, which I
believe implies a fully functional cups.
This is still missing revision bumps - I'll be right there (first time I
am doing this on so many packages at a time).
As discussed on tech-pkg@
assert:
- assert.fail() can now take one or two arguments
crypto:
- add sign/verify support for RSASSA-PSS
deps:
- upgrade openssl sources to 1.0.2m
- upgrade libuv to 1.15.0
fs:
- Add support for fs.write/fs.writeSync(fd, buffer, cb) and
fs.write/fs.writeSync(fd, buffer, offset, cb) as documented
inspector:
- enable --inspect-brk
process:
- add --redirect-warnings command line argument
src:
- allow CLI args in env with NODE_OPTIONS
- --abort-on-uncaught-exception in NODE_OPTIONS
- allow --tls-cipher-list in NODE_OPTIONS
- use SafeGetenv() for NODE_REDIRECT_WARNINGS
test:
- remove common.fail()
CLI:
- NODE_OPTIONS now supports the --stack-trace-limit option. #16495
deps:
- OpenSSL is upgraded to 1.0.2m #16691
http:
- A 'connect' event handler leak has been fixed. #16725
- The 103 Early Hints status code is now supported. #16644
Common logic that can be used by packages that depend on cargo crates
from crates.io. This lets existing pkgsrc infrastructure fetch and verify
cargo crates instead of using the rust package manager in the build phase.
Inspired by cargo.mk from FreeBSD ports.
- run install.sh instead of manually moving around directories
- allow user to set RUST_BOOTSTRAP_PATH (and RUST_ARCH if needed)
in mk.conf to use a locally installed bootstrap toolchain.
Includes many improvements and bugfixes (none that seem to be breaking
backwards compatibility though), see the CHANGELOG.
For packaging:
- camlp4 support removed, package now uses camlp5 exclusively
- fix for PR pkg/52651
### Notable Changes
- Async hooks: Older experimental APIs have been removed.
- Improvements have been made to `buffer` module error messages.
- Child Processes: Errors are emitted on process nextTick.
- Domains: The long-deprecated `.dispose()` method has been removed.
- fs
- The `fs.ReadStream` and `fs.WriteStream` classes now use `destroy()`.
- `fs` module callbacks are now invoked with an undefined context.
- HTTP/1
- A 400 Bad Request response will now be sent when parsing fails.
- Socket timeout will be set when the socket connects.
- A bug causing the request `'error'` event to fire twice was fixed
- HTTP clients may now use generic `Duplex` streams in addition
to `net.Socket`.
- Intl
- The deprecated `Intl.v8BreakIterator` has been removed.
- OS
- The `os.EOL` property is now read-only
- Timers
- `setTimeout()` will emit a warning if the timeout is larger that
the maximum 32-bit unsigned integer.
Changes since nodejs 8.8.1:
- doc: add Gibson Fahnestock to Release team
- deps: update npm to 5.5.1
- http2: The exposed http2 socket is no longer manipulatable
- module: support custom paths to require.resolve()
- util: util.TextEncoder and util.TextDecoder are no longer experimental.
There will no longer be a warning when they are used
Reviewed and thanks to <agc>!
Changes:
=========================
Duktape 2.1 release notes
=========================
Release overview
================
Main changes in this release (see RELEASES.rst for full details):
* Performance, footprint, and portability improvements.
* API additions for more convenient handling of optional arguments:
duk_opt_xxx() and duk_get_xxx_default().
* Allow duk_push_heapptr() for objects which have become unreachable and
are pending finalization. In such a case a duk_push_heapptr() cancels
the pending finalizer call and automatically rescues the object.
* ES2015 additions like String.prototype.{startsWith,endsWith,includes}()
and HTML comment syntax. Non-standard shebang ("#!...") comment support.
* Finalizer handling rework for reference counting and mark-and-sweep to fix
a few "side effect" bugs. Also improved torture test coverage for ensuring
side effects are handled correctly in Duktape internals.
* DUK_VERSION is now visible to duk_config.h so it's possible for duk_config.h
to support multiple Duktape versions. For example, some config options may be
disabled prior to a certain patch level.
Upgrading from Duktape 2.0
==========================
No action (other than recompiling) should be needed for most users to upgrade
from Duktape v2.0.x. Note the following:
* The Duktape thread used for finalizer calls is now always the initial thread
(heap_thread), for both reference counting and mark-and-sweep triggered
finalization. This should be taken into account in finalizer functions;
in particular, if there are multiple global environments, finalizers will
execute in the first global environment created for the heap.
Prior to 2.1 the finalizer thread could also be heap_thread but usually the
current thread would be used.
=========================
Duktape 2.0 release notes
=========================
Release overview
================
Main changes in this release (see RELEASES.rst for full details):
* New tools/configure.py frontend tool replaces genconfig.py for configuring
and preparing Duktape sources for build.
* Buffer handling has been simplified: Duktape.Buffer has been removed and is
replaced by Uint8Array, plain buffers now behave like Uint8Array objects.
Node.js Buffer behavior aligned with more recent Node.js Buffer API.
* Implement more ES2015 and ES2016 functionality, and align some ES5.1
semantics with ES2015/ES2016. Implement WHATWG Encoding API with
TextEncoder() and TextDecoder() bindings.
* Some incompatible API changes, and several API additions. API and config
changes to avoid I/O dependencies (such as printf() and fopen()) in core
Duktape code to simplify porting.
* More configuration flexibility in dropping Duktape specific functionality
from build, e.g. coroutines and finalization.
* Disabled Ecmascript bindings are no longer present (instead of being present
but throwing a TypeError).
* Built-in functionality moved to optional extras: print/alert bindings,
logging, and module loader. New optional extras include a Node.js-like
module loader and a 'console' binding.
* Bug fixes, performance and footprint improvements.
The release has API incompatible changes, see upgrading notes below.
Upgrading from Duktape 1.x
==========================
There are API incompatible changes in this release. Whenever possible the
incompatible changes cause a compilation error (or warning) so that fixing
call sites should be straightforward. Below are instructions on how to
migrate from 1.x to 2.0.0. There are also bug fixes and other minor
behavioral changes which may affect some applications, see ``RELEASES.rst``
for details.
There are backwards compatible providers for some removed/modified API calls
in ``extras/duk-v1-compat``.
Known issues
============
* Some non-compliant behavior for array indices near 2G or 4G elements.
* RegExp parser is strict and won't accept some real world RegExps which
are technically not compliant with Ecmascript E5/E5.1 specification
but allowed in ES2015 Annex B.
* Final mantissa bit rounding issues in the internal number-to-string
conversion.
=========================
Duktape 1.6 release notes
=========================
Release overview
================
Main changes in this release (see RELEASES.rst for full details):
* Add duk_suspend() and duk_resume() API calls, backported from Duktape 2.0.
Upgrading from Duktape 1.5.x
============================
No action (other than recompiling) should be needed for most users to upgrade
from Duktape v1.5.x.
Known issues
============
This release has the following known issues worth noting:
* Non-compliant behavior for array indices near 2G or 4G elements.
* RegExp parser is strict and won't accept some real world RegExps which
are technically not compliant with Ecmascript E5/E5.1 specification.
* Final mantissa bit rounding issues in the internal number-to-string
conversion.
* On FreeBSD 10.x (at least 10.1 and 10.2): Clang with ``-m32`` generates
incorrect code for union assignments needed by Duktape's 8-byte packed
value encoding (see
https://github.com/svaarala/duktape/blob/master/misc/clang_aliasing.c).
The issue can be detected by defining ``DUK_OPT_SELF_TESTS``. A workaround
is to avoid packed types in this case by defining ``DUK_OPT_NO_PACKED_TVAL``.
This release includes fixes to the compiler, linker, runtime, documentation,
go command, and the crypto/x509, database/sql, log, and net/smtp packages. It
includes a fix to a bug introduced in Go 1.9.1 that broke "go get"
of non-Git repositories under certain conditions.
The asttokens module annotates Python abstract syntax trees (ASTs) with the
positions of tokens and text in the source code that generated them.
It makes it possible for tools that work with logical AST nodes to find the
particular text that resulted in those nodes, for example for automated
refactoring or highlighting.