Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
v1.7.3
======
1. Bug fixes
ExUnit
- [ExUnit.Assertions] Do not attempt to expand `try/1` as it is a
special form
Mix
- [mix compile.app] Do not include applications with `runtime: false`
as a runtime dependency for applications coming from Hex
v1.7.2
======
1. Bug fixes
Elixir
- [DateTime] Take negative years into account in
`DateTime.from_iso8601/1`
- [Kernel] Do not emit warnings for repeated docs over different
clauses due to false positives
Mix
- [mix compile] Properly mark top-level dependencies as optional and
as runtime. This fixes a bug where Mix attempted to start optional
dependencies of a package when those optional dependencies were not
available
- [mix compile] Avoid deadlock when a config has a timestamp later
than current time
- [mix help] Show task and alias help when both are available
- [mix test] Do not fail suite if there are no test files
v1.7.1
======
1. Bug fixes
Elixir
- [Calendar] Work-around a Dialyzer bug that causes it to loop for a
long time, potentially indefinitely
v1.7.0
======
1. Enhancements
Elixir
- [Calendar.ISO] Support negative dates in `Calendar.ISO`
- [Calendar] Add `Calendar.months_in_year/1` callback
- [Code] Add `Code.compile_file/2` that compiles files without leaving
footprints on the system
- [Code] Add `Code.purge_compiler_modules/0` that purges any compiler
module left behind. This is useful for live systems dynamically
compiling code
- [Code] Add `Code.fetch_docs/1` that returns docs in the [EEP
48](http://erlang.org/eep/eeps/eep-0048.html) format
- [Date] Add `Date.months_in_year/1` function
- [DynamicSupervisor] Use the name of the `DynamicSupervisor` as the
ID whenever possible
- [Exception] Provide "did you mean" suggestions on KeyError
- [Exception] Provide more information on ArithmeticError on
Erlang/OTP 21+
- [Function] Add `Function` module with `capture/3`, `info/1` and
`info/2` functions
- [GenServer] Support the new `handle_continue/2` callback on
Erlang/OTP 21+
- [IO.ANSI] Add cursor movement to `IO.ANSI`
- [Kernel] Support adding arbitrary documentation metadata by passing
a keyword list to `@doc`, `@moduledoc` and `@typedoc`
- [Kernel] Introduce `__STACKTRACE__` to retrieve the current
stacktrace inside `catch`/`rescue` (this will be a requirement for
Erlang/OTP 21+)
- [Kernel] Raise on unsafe variables in order to allow us to better
track unused variables
- [Kernel] Warn when using `length` to check if a list is not empty on
guards
- [Kernel] Add hints on mismatched `do`/`end` and others pairs
- [Kernel] Warn when comparing structs using the `>`, `<`, `>=` and
`<=` operators
- [Kernel] Warn on unsupported nested comparisons such as `x < y < z`
- [Kernel] Warn if redefining documentation across clauses of the same
definition
- [Kernel] Warn on unnecessary quotes around atoms, keywords and calls
- [Macro] Add `Macro.special_form?/2` and `Macro.operator?/2` that
returns `true` if the given name/arity is a special form or operator
respectively
- [Macro.Env] Add `Macro.Env.vars/1` and `Macro.Env.has_var?/2` that
gives access to environment data without accessing private fields
- [Regex] Include endianness in the regex version. This allows regexes
to be recompiled when an archive is installed in a system with a
different endianness
- [Registry] Add `Registry.count/1` and `Registry.count_match/4`
- [String] Update to Unicode 11
- [StringIO] Add `StringIO.open/3`
- [System] Use ISO 8601 in `System.build_info/0`
ExUnit
- [ExUnit.Assertion] Print the arguments in error reports when
asserting on a function call. For example, if `assert is_list(arg)`
fails, the argument will be shown in the report
- [ExUnit.Diff] Improve diffing of lists when one list is a subset of
the other
- [ExUnit.DocTest] Show colored diffs on failed doctests
- [ExUnit.Formatter] Excluded tests, via the `--exclude` and `--only`
flags, are now shown as "Excluded" in reports. Tests skipped via
`@tag :skip` are now exclusively shown as "Skipped" and in yellow
IEx
- [IEx.Helpers] Add `use_if_available/2`
- [IEx.Helpers] Allow `force: true` option in `recompile/1`
- [IEx.Helpers] Add `:allocators` pane to `runtime_info/1`
- [IEx.Helpers] Show documentation metadata in `h/1` helpers
Logger
- [Logger] Ensure nil metadata is always pruned
- [Logger] Only evaluate Logger macro arguments when the message will
be logged
- [Logger] Add `:compile_time_purge_matching` to purge logger calls
that match certain compile time metadata, such as module names and
application names
- [Logger] Log to `:stderr` if a backend fails and there are no other
backends
- [Logger] Allow translators to return custom metadata
- [Logger] Return `:crash_reason`, `:initial_call` and
`:registered_name` as metadata in crash reports coming from
Erlang/OTP
Mix
- [mix archive.install] Add support for the Hex organization via
`--organization`
- [mix archive.uninstall] Support `--force` flag
- [mix compile] Improve support for external build tools such as
`rebar`
- [mix deps] Include `override: true` in rebar dependencies to make
the behaviour closer to how rebar3 works (although diverged deps are
still marked as diverged)
- [mix escript.install] Add support for the Hex organization via
`--organization`
- [mix escript.uninstall] Support `--force` flag
- [mix help] Also list aliases
- [mix local] Use ipv6 with auto fallback to ipv4 when downloading
data
- [mix profile] Allow all profiling tasks to run programatically
- [mix test] Add `--failed` option that only runs previously failed
tests
- [mix test] Print coverage summary by default when the `--cover` flag
is given
- [Mix.Project] Add `Mix.Project.clear_deps_cache/0`
- [Mix.Project] Add `Mix.Project.config_mtime/0` that caches the
config mtime values to avoid filesystem access
2. Bug fixes
Elixir
- [IO.ANSI.Docs] Fix table column alignment when converting docs to
ANSI escapes
- [Code] Ensure `string_to_quoted` returns error tuples instead of
raising in certain constructs
- [Code.Formatter] Consistently format keyword lists in function calls
with and without parens
- [Code.Formatter] Do not break after `->` when there are only
comments and one-line clauses
- [File] Allow the `:trim_bom` option to be used with `:encoding`
- [Kernel] Raise on unsafe variables as some of the code emitted with
unsafe variables would not correctly propagate variables or would
disable tail call optimization semantics
- [Kernel] Do not crash on dynamic sizes in binary generators with
collectable into in comprehensions
- [Kernel] Do not crash on literals with non-unary size in binary
generators with collectable into in comprehensions
- [Task] Improve error reports and exit reasons for failed tasks on
Erlang/OTP 20+
ExUnit
- [ExUnit.Case] Raise proper error if `@tag` and `@moduletag` are used
before `use ExUnit.Case`
- [ExUnit.Case] Raise proper error if `@describetag` is used outside
of `describe/2` blocks
- [ExUnit.DocTest] Emit proper assertion error on doctests with
invalid UTF-8
Mix
- [mix archive.install] Fetch optional dependencies when installing an
archive from Git/Hex
- [mix compile] Properly track config files in umbrella projects and
recompile when any relevant umbrella configuration changes
- [mix deps] Ensure the same dependency from different SCMs are tagged
as diverged when those SCMs are remote and non-remote
- [mix deps] Ensure we re-run dependency resolution when overriding a
skipped dep in umbrella
- [mix deps.compile] Perform clean builds for dependencies on outdated
locks to avoid old modules from affecting future compilation
- [mix escript.install] Fetch optional dependencies when installing an
escript from Git/Hex
3. Soft-deprecations (no warnings emitted)
Elixir
- [Code] Deprecate `Code.load_file/2` in favor of
`Code.compile_file/2`
- [Code] Deprecate `Code.loaded_files/0` in favor of
`Code.required_files/0`
- [Code] Deprecate `Code.unload_files/1` in favor of
`Code.unrequire_files/1`
Logger
- [Logger] `compile_time_purge_level` is deprecated in favor of
`compile_time_purge_matching`
4. Hard-deprecations
Elixir
- [Code] `Code.get_docs/2` is deprecated in favor of
`Code.fetch_docs/1`
- [Enum] `Enum.chunk/2/3/4` is deprecated in favor of
`Enum.chunk_every/2/3/4` - notice `chunk_every` does not discard
incomplete chunks by default
- [GenServer] Warn if `super` is used in any of the GenServer
callbacks
- [Kernel] `not left in right` is ambiguous and is deprecated in favor
of `left not in right`
- [Kernel] Warn on confusing operator sequences, such as `1+++1`
meaning `1 ++ +1` or `........` meaning `... .. ...`
- [OptionParser] Deprecate dynamic option parser mode that depended on
atoms to be previously loaded and therefore behaved inconsistently
- [Stream] `Stream.chunk/2/3/4` is deprecated in favor of
`Stream.chunk_every/2/3/4` - notice `chunk_every` does not discard
incomplete chunks by default
|
|
From Michael Taylor in PR pkg/53567
|
|
And do not use 1.28.0 bootstrap for FreeBSD.
This will fix the problem from gdt@.
|
|
|
|
Vala 0.42.0
===========
* Bindings:
- gstreamer: Update from 1.15+ git master
- webkit2gtk-4.0: Update to 2.21.92
- Update GIR-based bindings
Vala 0.41.92
============
* Various improvements and bug fixes:
- codegen: Fix floating reference regression with Variants [#661]
- build: Correctly quote square brackets in regular expression
- codegen: Call ref_sink on Object.new_valist/new_with_properties if needed
- vala: Don't bail early on property with not supported default value
- manual: Update from wiki.gnome.org
* Bindings:
- glib-2.0: Add return-type of Queue.remove*(), add HashTable.foreach_steal()
- glib-2.0: Add float.parse/try_parse() [#649]
- gstreamer: Update from 1.15+ git master
- webkit2gtk-4.0: Update to 2.21.91
Vala 0.41.91
============
* Various bug fixes:
- codegen: Call ref_sink on objects passed to generic type [#655]
- codegen: Free errors after returning them on GDBusMethodInvocation [#657]
- girparser: Actually resolve type-arguments to be able to box them if needed
- vala: Add consts/methods to retrieve and check library version [#304]
* Bindings:
- glib-2.0: Add Array.remove*() wrapper to avoid leaking generic elements
- glib-2.0: Add (u)long.parse/try_parse() [#649]
- gstreamer: Update from 1.15+ git master
- gtk+-3.0: Update to 3.23.2+6b6e53fd
- gtk+-4.0: Update to 3.94.0+4e868584
Vala 0.41.90
============
* Highlights
- Reintroduce POSIX profile
- parser: Add support for explicit "unlock" syntax
- vala: Support anonymous definitions of delegates in bindings
- codegen: Support automatic properties as GtkChild
- codegen: Apply G_PARAM_EXPLICIT_NOTIFY on properties with "notify = false"
- codegen: Drop support for non-auto property initializer in gobjects
- codegen: Avoid using deprecated "g_type_class_add_private"
* Various bug fixes:
- vala: Constants and signals are not lockable
- codegen: Don't apply ref_sink_function if target_type is floating_reference
- vala: Treat floating method-return-type as nullable if error may be thrown
- vala: Transfer floating-reference attribute while casting
- analyzer: Break cyclic references of BasicBlock
- vala: Break reference chain between DataType and Symbol if possible
- codegen: Fix invocation of abstract/virtual methods with NoWrapper in
compact classes
- vala: Report error for invalid base access in method/property of compact
class
- libvaladoc: Replace void* with corresponding Vala API
- codegen: Don't include the full absolute path in line directives
- codegen: Add source_reference to unsupported floating reference error
* Bindings:
- gobject-2.0: Make GLib.Signal a struct of uint and bind g_signal_new*
- clutter-1.0: Change type of Clutter.Key.* constants to uint
- gdk-3.0: Change type of Gdk.Key.* constants to uint
- gtk+-4.0: Change type of Gdk.Key.* constants to uint
- gstreamer: Update from 1.15+ git master
- webkit2gtk-4.0: Add JSC namespace to javascriptcoregtk-4.0 and fix depends
- Remove clutter-gst-1.0, GStreamer 0.10, rest-0.6,
tracker-indexer-module-1.0, libsoup-2.2, gdu and gdu-gtk,
twitter-glib-1.0, mx-1.0
- Remove vala-specific deprecations <= vala-0.22
|
|
|
|
inherited by child processes.
|
|
Previously GOCACHE was not passed as environment variable and hence
during the build of packages the cache was stored in `${GO} env
GOCACHE' (${XDG_CACHE_HOME} if defined or ${HOME}/.cache).
Pass GOCACHE so that all cached file will ends up under ${WRKDIR}.
While here also pass both GOPATH and GOCACHE via MAKE_ENV.
Thanks to Antonio Huete Jimenez for spotting this problem!
Discussed and ok by <bsiegert>, thanks!
|
|
go1.10.4 (released 2018/08/24) includes fixes to the go command, linker, and
the net/http, mime/multipart, ld/macho, bytes, and strings packages. See the
Go 1.10.4 milestone on our issue tracker for details.
pkgsrc note: After the import of Go 1.11, this package will be renamed to
lang/go110.
|
|
Honor LDFLAGS when linking.
Fixes RELRO build.
|
|
|
|
|
|
|
|
Removed some ancient patches. Fix a pkglint warning.
Core Enhancements
Unicode 10.0 is supported
delete on key/value hash slices
Experimentally, there are now alphabetic synonyms for some regular expression assertions
Mixed Unicode scripts are now detectable
In-place editing with perl -i is now safer
Initialisation of aggregate state variables
Full-size inode numbers
The sprintf %j format size modifier is now available with pre-C99 compilers
Close-on-exec flag set atomically
String- and number-specific bitwise ops are no longer experimental
Locales are now thread-safe on systems that support them
New read-only predefined variable ${^SAFE_LOCALES}
Security
[CVE-2017-12837] Heap buffer overflow in regular expression compiler
[CVE-2017-12883] Buffer over-read in regular expression parser
[CVE-2017-12814] $ENV{$key} stack buffer overflow on Windows
Default Hash Function Change
Incompatible Changes
Subroutine attribute and signature order
Comma-less variable lists in formats are no longer allowed
The :locked and :unique attributes have been removed
\N{} with nothing between the braces is now illegal
Opening the same symbol as both a file and directory handle is no longer allowed
Use of bare << to mean <<"" is no longer allowed
Setting $/ to a reference to a non-positive integer no longer allowed
Unicode code points with values exceeding IV_MAX are now fatal
The B::OP::terse method has been removed
Use of inherited AUTOLOAD for non-methods is no longer allowed
Use of strings with code points over 0xFF is not allowed for bitwise string operators
Setting ${^ENCODING} to a defined value is now illegal
Backslash no longer escapes colon in PATH for the -S switch
the -DH (DEBUG_H) misfeature has been removed
Yada-yada is now strictly a statement
Sort algorithm can no longer be specified
Over-radix digits in floating point literals
Return type of unpackstring()
Deprecations
Use of vec on strings with code points above 0xFF is deprecated
Some uses of unescaped "{" in regexes are no longer fatal
Use of unescaped "{" immediately after a "(" in regular expression patterns is deprecated
Assignment to $[ will be fatal in Perl 5.30
hostname() won't accept arguments in Perl 5.32
Module removals
Performance Enhancements
Modules and Pragmata
Removal of use vars
Use of DynaLoader changed to XSLoader in many modules
Updated Modules and Pragmata
Removed Modules and Pragmata
More details are in the included perldelta.pod.
|
|
|
|
in last update.
|
|
|
|
|
|
|
|
16 Aug 2018, PHP 7.2.9
- Calendar:
. Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset).
(cmb)
- Filter:
. Fixed bug #76366 (References in sub-array for filtering breaks the filter).
(ZiHang Gao)
- PDO_Firebird:
. Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis)
- PDO_PgSQL:
. Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option).
(Anatol)
- SQLite3:
. Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle).
(cmb)
- Standard:
. Fixed bug #73817 (Incorrect entries in get_html_translation_table). (cmb)
. Fixed bug #68553 (array_column: null values in $index_key become incrementing
keys in result). (Laruence)
. Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`).
(cmb)
- Zip:
. Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)).
(Timur Ibragimov)
|
|
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
16 Aug 2018, PHP 7.1.21
- Calendar:
. Fixed bug #52974 (jewish.c: compile error under Windows with GBK charset).
(cmb)
- Filter:
. Fixed bug #76366 (References in sub-array for filtering breaks the filter).
(ZiHang Gao)
- PDO_Firebird:
. Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis)
- PDO_PgSQL:
. Fixed bug #75402 (Possible Memory Leak using PDO::CURSOR_SCROLL option).
(Anatol)
- SQLite3:
. Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle).
(cmb)
- Standard:
. Fixed bug #68553 (array_column: null values in $index_key become incrementing
keys in result). (Laruence)
. Fixed bug #73817 (Incorrect entries in get_html_translation_table). (cmb)
. Fixed bug #76643 (Segmentation fault when using `output_add_rewrite_var`).
(cmb)
- Zip:
. Fixed bug #76524 (ZipArchive memory leak (OVERWRITE flag and empty archive)).
(Timur Ibragimov)
|
|
|
|
- buffer: Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2
encoding (CVE-2018-12115)
|
|
Vala 0.40.8
===========
* Various improvements and bug fixes:
- Fix links in the Manual
- libvaladoc: Change link to Valadoc wiki page for HTML doclet
- valadoc: Use HTML5 doctype in HTML doclet
- codegen: Let methods return -1 on error by default if possible [#526]
- Allow TypeModule subclasses as parameter-type in module-init-method [#648]
- girparser: Allow changing the type of constants using metadata [#643]
- girwriter: Add boolean GIR visible attribute to allow skipping symbols
- vala: Report error for error-domains without any code
- parser: Accept "empty" enums/error-domains [#253]
- codewriter: Output bodies of code-blocks if in VAPIGEN mode [#253]
* Bindings:
- gobject-2.0: Add lower_case_csuffix attributes to Type* symbols
- gdk-3.0,gtk+-3.0: Update to 3.23.0+df045423
- gio-2.0: Add custom IOError.from_errno() to make it work as expected [#253]
- gtk+-4.0: Update to 3.94.0+bf5f27c6
- gstreamer-rtsp-server-1.0: Update from 1.14+ git master [#653]
|
|
- buffer: Fix out-of-bounds (OOB) write in Buffer.write() for UCS-2
encoding (CVE-2018-12115)
|
|
- buffer:
- Fix out-of-bounds (OOB) write in `Buffer.write()` for UCS-2
encoding (CVE-2018-12115)
- Fix unintentional exposure of uninitialized memory in
`Buffer.alloc()` (CVE-2018-7166)
- deps:
- Upgrade to OpenSSL 1.1.0i, fixing:
- Client DoS due to large DH parameter (CVE-2018-0732)
- ECDSA key extraction via local side-channel (CVE not assigned)
- Upgrade V8 from 6.7 to 6.8
- Memory reduction and performance improvements
- http: `http.get()` and `http.request()` (and `https` variants) can
now accept three arguments to allow for a `URL` _and_ an `options`
object
|
|
Changes in 2.2.4 (since 2.2.3):
* New interfaces and functionality
** SRFI-71 (Extended LET-syntax for multiple values)
Guile now includes SRFI-71, which extends let, let*, and letrec to
support assigning multiple values. See "SRFI-71" in the manual for
details.
** (web client) export 'http-request' procedure
The 'http-request' procedure is the generalized procedure underneath
'http-get', 'http-post', etc.
** GDB support now registers the 'guile-backtrace' GDB command
The 'guile-backtrace' GDB command displays a backtrace of the VM stack
for the current thread.
** Recognize RISC-V compilation targets in (system base target)
* Bug fixes
** Fix stack-marking bug affecting multi-threaded programs
(<https://bugs.gnu.org/28211>)
** Add missing SYNC_IP calls in the VM
These could cause multi-threaded code to crash.
** Fix multi-threaded access to modules
(<https://bugs.gnu.org/30602>, <https://bugs.gnu.org/31879>,
and <https://bugs.gnu.org/31878>)
** (ice-9 match) now has better documentation
** 'get-bytevector-n' and 'get-bytevector-n!' can now read more than 4 GB
** Fix cross-compilation support for elisp
** Fix error reporting in 'load-thunk-from-memory'
** Fix GOOPS 'instance?' to work on objects that aren't structs
(<https://bugs.gnu.org/31606>)
** Fix type inference for bitwise logical operators
(<https://bugs.gnu.org/31474>)
** Avoid inexact arithmetic in the type inferrer for 'sqrt'
** Fix floating point unboxing regression in 2.2.3
(<https://bugs.gnu.org/30020>)
** Fix eta-conversion edge cases in peval (<https://bugs.gnu.org/29520>)
** Correctly interpret SRFI-18 timeout parameters
(<https://bugs.gnu.org/29704>)
** 'select' returns empty sets upon EINTR and EAGAIN
(<https://bugs.gnu.org/30368>)
** Restore pre-2.2.3 '%fresh-auto-compile' behavior
This reverts an incorrect fix for <https://bugs.gnu.org/29226>.
|
|
|
|
It looks like I accidentally built the 1.27.2 bootstrap without the stack clash
fix required for newer illumos platforms, so just use 1.28.0 which was built
correctly for now.
|
|
|
|
* 1.27.2 bootstrap kit has a serious bug and does not work under NetBSD.
So use 1.28.0 instead.
|
|
NetBSD/i386 is temporarily disabled due to missing binary bootstraps.
Version 1.28.0 (2018-08-02)
===========================
Language
--------
- [The `#[repr(transparent)]` attribute is now stable.][51562] This attribute
allows a Rust newtype wrapper (`struct NewType<T>(T);`) to be represented as
the inner type across Foreign Function Interface (FFI) boundaries.
- [The keywords `pure`, `sizeof`, `alignof`, and `offsetof` have been unreserved
and can now be used as identifiers.][51196]
- [The `GlobalAlloc` trait and `#[global_allocator]` attribute are now
stable.][51241] This will allow users to specify a global allocator for
their program.
- [Unit test functions marked with the `#[test]` attribute can now return
`Result<(), E: Debug>` in addition to `()`.][51298]
- [The `lifetime` specifier for `macro_rules!` is now stable.][50385] This
allows macros to easily target lifetimes.
Compiler
--------
- [The `s` and `z` optimisation levels are now stable.][50265] These optimisations
prioritise making smaller binary sizes. `z` is the same as `s` with the
exception that it does not vectorise loops, which typically results in an even
smaller binary.
- [The short error format is now stable.][49546] Specified with
`--error-format=short` this option will provide a more compressed output of
rust error messages.
- [Added a lint warning when you have duplicated `macro_export`s.][50143]
- [Reduced the number of allocations in the macro parser.][50855] This can
improve compile times of macro heavy crates on average by 5%.
Libraries
---------
- [Implemented `Default` for `&mut str`.][51306]
- [Implemented `From<bool>` for all integer and unsigned number types.][50554]
- [Implemented `Extend` for `()`.][50234]
- [The `Debug` implementation of `time::Duration` should now be more easily
human readable.][50364] Previously a `Duration` of one second would printed as
`Duration { secs: 1, nanos: 0 }` and will now be printed as `1s`.
- [Implemented `From<&String>` for `Cow<str>`, `From<&Vec<T>>` for `Cow<[T]>`,
`From<Cow<CStr>>` for `CString`, `From<CString>, From<CStr>, From<&CString>`
for `Cow<CStr>`, `From<OsString>, From<OsStr>, From<&OsString>` for
`Cow<OsStr>`, `From<&PathBuf>` for `Cow<Path>`, and `From<Cow<Path>>`
for `PathBuf`.][50170]
- [Implemented `Shl` and `Shr` for `Wrapping<u128>`
and `Wrapping<i128>`.][50465]
- [`DirEntry::metadata` now uses `fstatat` instead of `lstat` when
possible.][51050] This can provide up to a 40% speed increase.
- [Improved error messages when using `format!`.][50610]
Stabilized APIs
---------------
- [`Iterator::step_by`]
- [`Path::ancestors`]
- [`SystemTime::UNIX_EPOCH`]
- [`alloc::GlobalAlloc`]
- [`alloc::Layout`]
- [`alloc::LayoutErr`]
- [`alloc::System`]
- [`alloc::alloc`]
- [`alloc::alloc_zeroed`]
- [`alloc::dealloc`]
- [`alloc::realloc`]
- [`alloc::handle_alloc_error`]
- [`btree_map::Entry::or_default`]
- [`fmt::Alignment`]
- [`hash_map::Entry::or_default`]
- [`iter::repeat_with`]
- [`num::NonZeroUsize`]
- [`num::NonZeroU128`]
- [`num::NonZeroU16`]
- [`num::NonZeroU32`]
- [`num::NonZeroU64`]
- [`num::NonZeroU8`]
- [`ops::RangeBounds`]
- [`slice::SliceIndex`]
- [`slice::from_mut`]
- [`slice::from_ref`]
- [`{Any + Send + Sync}::downcast_mut`]
- [`{Any + Send + Sync}::downcast_ref`]
- [`{Any + Send + Sync}::is`]
Cargo
-----
- [Cargo will now no longer allow you to publish crates with build scripts that
modify the `src` directory.][cargo/5584] The `src` directory in a crate should be
considered to be immutable.
Misc
----
- [The `suggestion_applicability` field in `rustc`'s json output is now
stable.][50486] This will allow dev tools to check whether a code suggestion
would apply to them.
Compatibility Notes
-------------------
- [Rust will no longer consider trait objects with duplicated constraints to
have implementations.][51276] For example the below code will now fail
to compile.
```rust
trait Trait {}
impl Trait + Send {
fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test`
}
impl Trait + Send + Send {
fn test(&self) { println!("two"); }
}
```
|
|
|
|
This enables compiler-rt, libcxx, and libunwind, as well as fixing various
assumptions in the code about what should be set on SunOS. In bulk builds
a while back this was able to compete favourably with GCC.
|
|
libc++ is a new implementation of the C++ standard library, targeting
C++11.
Features and Goals
* Correctness as defined by the C++11 standard.
* Fast execution.
* Minimal memory use.
* Fast compile times.
* ABI compatibility with gcc's libstdc++ for some low-level features
such as exception objects, rtti and memory allocation.
* Extensive unit tests.
|
|
libc++abi is a new implementation of low level support for a standard
C++ library.
Features and Goals
* Correctness as defined by the C++11 standard.
* Provide a portable sublayer to ease the porting of libc++
* On Mac OS X, be ABI compatible with the existing low-level support.
|
|
|
|
|
|
|
|
The compiler-rt project consists of:
- builtins - a simple library that provides an implementation of the low-level
target-specific hooks required by code generation and other runtime
components. For example, when compiling for a 32-bit target, converting a
double to a 64-bit unsigned integer is compiling into a runtime call to the
"__fixunsdfdi" function. The builtins library provides optimized
implementations of this and other low-level routines, either in
target-independent C form, or as a heavily-optimized assembly.
- sanitizer runtimes - runtime libraries that are required to run the code
with sanitizer instrumentation. This includes runtimes for:
* AddressSanitizer
* ThreadSanitizer
* UndefinedBehaviorSanitizer
* MemorySanitizer
* LeakSanitizer
* DataFlowSanitizer
- profile - library which is used to collect coverage information.
- BlocksRuntime - a target-independent implementation of Apple "Blocks"
runtime interfaces.
|
|
Changes:
3.5.6
-----
Documentation
- bpo-33216: Clarify the documentation for CALL_FUNCTION_VAR,
CALL_FUNCTION_KW, and CALL_FUNCTION_VAR_KW.
|
|
Changes:
Sync py34-html-docs to current python34 version (no changes regarding
documentation in the 3.4.9 changelog).
|
|
Mark lib/libLLVMARMUtils.a with PLIST.ARM.
Mark lib/libLLVMBPFAsmParser.a with PLIST.BPF.
|
|
6.0.1:
Non-comprehensive list of changes in this release
Support for retpolines was added to help mitigate “branch target injection” (variant 2) of the “Spectre” speculative side channels described by Project Zero and the Spectre paper.
The Redirects argument of llvm::sys::ExecuteAndWait and llvm::sys::ExecuteNoWait was changed to an ArrayRef of optional StringRef‘s to make it safer and more convenient to use.
The backend name was added to the Target Registry to allow run-time information to be fed back into TableGen. Out-of-tree targets will need to add the name used in the def X : Target definition to the call to RegisterTarget.
The Debugify pass was added to opt to facilitate testing of debug info preservation. This pass attaches synthetic DILocations and DIVariables to the instructions in a Module. The CheckDebugify pass determines how much of the metadata is lost.
Significantly improved quality of CodeView debug info for Windows.
Preliminary support for Sanitizers and sibling features on X86(_64) NetBSD (ASan, UBsan, TSan, MSan, SafeStack, libFuzzer).
Changes to the LLVM IR
----------------------
The fast-math-flags (FMF) have been updated. Previously, the ‘fast’ flag indicated that floating-point reassociation was allowed and all other flags were set too. The ‘fast’ flag still exists, but there is a new flag called ‘reassoc’ to indicate specifically that reassociation is allowed. A new bit called ‘afn’ was also added to selectively allow approximations for common mathlib functions like square-root. The new flags provide more flexibility to enable/disable specific floating-point optimizations. Making the optimizer respond appropriately to these flags is an ongoing effort.
Changes to the AArch64 Target
-----------------------------
Enabled the new GlobalISel instruction selection framework by default at -O0.
Changes to the ARM Target
-------------------------
Support for enabling SjLj exception handling on platforms where it isn’t the default.
Changes to the Hexagon Target
-----------------------------
The Hexagon backend now supports V65 ISA.
The -mhvx option now takes an optional value that specifies the ISA version of the HVX coprocessor. The available values are v60, v62 and v65. By default, the value is set to be the same as the CPU version.
The compiler option -mhvx-double is deprecated and will be removed in the next release of the compiler. Programmers should use the -mhvx-length option to specify the desired vector length: -mhvx-length=64b for 64-byte vectors and -mhvx-length=128b for 128-byte vectors. While the current default vector length is 64 bytes, users should always specify the length explicitly, since the default value may change in the future.
The target feature hvx-double is deprecated and will be removed in the next release. LLVM IR generators should use target features hvx-length64b and hvx-length128b to indicate the vector length. The length should always be specified when HVX code generation is enabled.
Changes to the MIPS Target
--------------------------
Fixed numerous bugs:
fpowi on MIPS64 giving incorrect results when used with a negative integer.
Usage of the asm ‘c’ constraint with the wrong datatype causing an assert/crash.
Fixed a conversion bug when using the DSP ASE.
Fixed an inconsistency where objects were not marked as using the microMIPS as when the micromips function attribute or the ”.set micromips” directive was used.
Reordered the MIPSR6 specific hazard scheduler pass to after the delay slot filler, fixing a class of rare edge case bugs where the delay slot filler would violate ISA restrictions.
Fixed a crash when using a type of unknown size with gp relative addressing.
Corrected the j macro for microMIPS.
Corrected the encoding of movep for microMIPS32r6.
Fixed an issue with the usage of insert instructions having an invalid set of operands.
Fixed an issue where TLS symbols were not marked as such.
Enabled the usage of register scavenging with MSA, due to its shorter offsets for loads and stores.
Corrected the ELF headers when using the DSP ASE.
New features:
The long branch pass now generates some R6 specific instructions when targeting MIPSR6.
The delay slot filler now performs more branch conversions if delay slots cannot be filled.
The MIPS MT ASE is now fully supported.
Added support for the lapc pseudo instruction.
Improved the selection of multiple instructions (dext, nmadd, nmsub).
Further improved microMIPS codesize reduction.
Deprecation notices:
microMIPS64R6 support was been deprecated since 5.0, and has now been completely removed.
Changes to the SystemZ Target
-----------------------------
During this release the SystemZ target has:
Added support for 128-bit atomic operations.
Added support for the “o” constraint for inline asm statements.
Changes to the X86 Target
-------------------------
During this release the X86 target has:
Added support for enabling SjLj exception handling on platforms where it isn’t the default.
Added intrinsics for Intel Extensions: VAES, GFNI, VPCLMULQDQ, AVX512VBMI2, AVX512BITALG, AVX512VNNI.
Added support for Intel Icelake CPU.
Fixed some X87 codegen bugs.
Added instruction scheduling information for Intel Sandy Bridge, Ivy Bridge, Haswell, Broadwell, and Skylake CPUs.
Improved scheduler model for AMD Jaguar CPUs.
Improved llvm-mc’s disassembler for some EVEX encoded instructions.
Add support for i8 and i16 vector signed/unsigned min/max horizontal reductions.
Improved codegen for memory comparisons
Improved codegen for i32 vector multiplies
Improved codegen for scalar integer absolute values
Improved codegen for vector integer rotations (XOP and AVX512)
Improved codegen of data being transferred between GPRs and K-registers.
Improved codegen for vector truncations.
Improved folding of address computations into gather/scatter instructions.
Gained initial support recognizing variable shuffles from vector element extracts and inserts.
Improved documentation for SSE/AVX intrinsics in intrin.h header files.
Gained support for emitting retpolines, including automatic insertion of the necessary thunks or using external thunks.
|
|
|
|
Paver is a Python-based build/distribution/deployment scripting tool along the
lines of Make or Rake. What makes Paver unique is its integration with commonly
used Python libraries. Common tasks that were easy before remain easy. More
importantly, dealing with your applications specific needs and requirements is
also easy.
|
|
3.4.9:
Bug fix release for Python 3.4.
|
|
3.5.6:
Bug fix release for Python 3.5.
|
|
Bump revision.
This fixes a build failure on my machine with an older libuv version
installed.
|