Vala 0.40.7
===========
* Various improvements and bug fixes:
- Update bugtracker links to https://gitlab.gnome.org/GNOME/vala/issues
- codegen:
+ Handle delegate_target attribute of fields [#520]
+ Free generic elements of glib collections [#694765]
+ Fix warning for source_funcs parameter of g_source_new()
+ Actually treat GLib.Source as compact class
+ Custom abstract methods of GLib.Source are handled differently [#641]
+ Consistently use gpointer for delegate targets
+ Unify some delegate-type check patterns
+ Use default_init instead of base_init when registering interfaces
[#699550]
- girparser: Add support for bool delegate_target [#520]
- girwriter:
+ Output deprecated="1"
+ construct-only properties don't have a setter method
+ Don't write any custom attributes [#608]
- valadoc: Fix TreeBuilder.create_array() for stacked Arrays
* Bindings:
- glib-2.0:
+ Do not mark simple-type out-parameters as nullable [#634]
+ Make Source.attach() use the default MainContext by default
+ Make Bytes.slice() use the memory-efficient Bytes.from_bytes() [#638]
+ Fix Bytes.with_free_func()
- gio-2.0:
+ Mark ActionEntry.parameter_type/state fields as nullable [#632]
+ Delegate fields of DBus*VTable do not have implicit target fields
+ Apply delegate_target = false on ActionEntry callbacks and make them weak
[#630]
+ Add default to all io_priority parameters
- gstreamer: Cherry-pick some fixes from 0.42, add gst-editing-services-1.0
- gtk+-3.0: Update to 3.22.30+9ac7f906
- gtk+-4.0: Update to 3.93.0+29fee2e8
- webkit2gtk-4.0: Update to 2.21.4
- Update GIR-based bindings
* SunOS parts are from jperkin@.
Changelog:
Version 1.27.0 (2018-06-21)
Language
Removed 'proc' from the reserved keywords list. This allows proc to be used as an identifer.
The dyn syntax is now available. This syntax is equivalent to the bare Trait syntax, and should make it clearer when being used in tandem with impl Trait. Since it is equivalent to the following syntax: &Trait == &dyn Trait, &mut Trait == &mut dyn Trait, and Box<Trait> == Box<dyn Trait>.
Attributes on generic parameters such as types and lifetimes are now stable. e.g. fn foo<#[lifetime_attr] 'a, #[type_attr] T: 'a>() {}
The #[must_use] attribute can now also be used on functions as well as types. It provides a lint that by default warns users when the value returned by a function has not been used.
Compiler
Added the armv5te-unknown-linux-musl target.
Libraries
SIMD (Single Instruction Multiple Data) on x86/x86_64 is now stable. This includes arch::x86 & arch::x86_64 modules which contain SIMD intrinsics, a new macro called is_x86_feature_detected!, the #[target_feature(enable="")] attribute, and adding target_feature = "" to the cfg attribute.
A lot of methods for [u8], f32, and f64 previously only available in std are now available in core.
The generic Rhs type parameter on ops::{Shl, ShlAssign, Shr} now defaults to Self.
std::str::replace now has the #[must_use] attribute to clarify that the operation isn't done in place.
Clone::clone, Iterator::collect, and ToOwned::to_owned now have the #[must_use] attribute to warn about unused potentially expensive allocations.
Stabilized APIs
DoubleEndedIterator::rfind
DoubleEndedIterator::rfold
DoubleEndedIterator::try_rfold
Duration::from_micros
Duration::from_nanos
Duration::subsec_micros
Duration::subsec_millis
HashMap::remove_entry
Iterator::try_fold
Iterator::try_for_each
NonNull::cast
Option::filter
String::replace_range
Take::set_limit
hint::unreachable_unchecked
os::unix::process::parent_id
process::id
ptr::swap_nonoverlapping
slice::rsplit_mut
slice::rsplit
slice::swap_with_slice
Cargo
cargo-metadata now includes authors, categories, keywords, readme, and repository fields.
Added the --target-dir optional argument. This allows you to specify a different directory than target for placing compilation artifacts.
Cargo will be adding automatic target inference for binaries, benchmarks, examples, and tests in the Rust 2018 edition. If your project specifies specific targets e.g. using [[bin]] and have other binaries in locations where cargo would infer a binary, Cargo will produce a warning. You can disable this feature ahead of time by setting any of the following autobins, autobenches, autoexamples, autotests to false.
Cargo will now cache compiler information. This can be disabled by setting CARGO_CACHE_RUSTC_INFO=0 in your environment.
Misc
Added "The Rustc book" into the official documentation. "The Rustc book" documents and teaches how to use the rustc compiler.
All books available on doc.rust-lang.org are now searchable.
Compatibility Notes
Calling a CharExt or StrExt method directly on core will no longer work. e.g. ::core::prelude::v1::StrExt::is_empty("") will not compile, "".is_empty() will still compile.
Debug output on atomic::{AtomicBool, AtomicIsize, AtomicPtr, AtomicUsize} will only print the inner type. e.g. print!("{:?}", AtomicBool::new(true)) will print true not AtomicBool(true).
The maximum number for repr(align(N)) is now 2^29. Previously you could enter higher numbers but they were not supported by LLVM. Up to 512MB alignment should cover all use cases.
crypto:
- Support for crypto.scrypt() has been added.
fs:
- BigInt support has been added to fs.stat and fs.watchFile.
- APIs that take mode as arguments no longer throw on values larger
than 0o777.
- Fix crashes in closed event watchers.
Worker Threads:
- Support for multi-threading has been added behind the
--experimental-worker flag in the worker_threads module. This
feature is experimental and may receive breaking changes at any time.
Fixes usage with packages like print/lilypond on at least Darwin and SunOS, where dynamically loaded guile extensions cannot be found without resorting to LTDL_LIBRARY_PATH quirks.
add netbsd/arm EABI target. recognise dwarf2 unwinding in the common arm code.
switch convoluted stddef.h logic from relying on include guards having certain
names to only applying for netbsd, which should be the sole remaining user.
(necessary for netbsd/arm, which uses different include guards for ansi.h)
move linux/alpha code out of shared alpha+ELF header.
make all netbsd targets include netbsd-stdint.h.
Fixes PR pkg/52951.
Bump PKGREVISION. bump gcc7-libs PKGREVISION above this one.
- Fixes memory exhaustion DoS (CVE-2018-7164): Fixes a bug introduced
in 9.7.0 that increases the memory consumed when reading from the
network into JavaScript using the net.Socket object directly as a
stream.
- http2
- (CVE-2018-7161): Fixes Denial of Service vulnerability by updating
the http2 implementation to not crash under certain circumstances
during cleanup
- (CVE-2018-1000168): Fixes Denial of Service vulnerability by
upgrading nghttp2 to 1.32.0
- tls (CVE-2018-7162): Fixes Denial of Service vulnerability by
updating the TLS implementation to not crash upon receiving
- n-api: Prevent use-after-free in napi_delete_async_work
- buffer (CVE-2018-7167): Fixes Denial of Service vulnerability where
calling Buffer.fill() could hang
- http2:
- (CVE-2018-7161): Fixes Denial of Service vulnerability by updating
the http2 implementation to not crash under certain circumstances
during cleanup
- (CVE-2018-1000168): Fixes Denial of Service vulnerability by
upgrading nghttp2 to 1.32.0
py-python-lua is a python3 application which translates python 3 scripts
into Lua. It can act as a standalone translator, or as an embedded package.
Lua can be embedded in Python 3 input scripts, and will be passed through.
go1.10.3 (released 2018/06/05) includes fixes to the go command, and the
crypto/tls, crypto/x509, and strings packages. In particular, it adds minimal
support to the go command for the vgo transition. See the Go 1.10.3 milestone
on our issue tracker for details.
New features in Qore:
* the sqlutil script has been updated with the –select option
to allow dumped table rows to be filtered
* "thread list", "backtrace all" commands implemented for
the debugger
* QUnit: overloaded the testAssertionValue() method to support
auto/number/float and more verbose output when a difference
in number/float values is found
* qdbg-remote supports ConnectionProvider connections
* new method: Breakpoint::getProgram()
* improved debugging support:
- added support for a Visual Studio Code debug adapter for Qore
- the debugger can now retrieve sources when running from a remote
debug server
- debugger options can now be set from command line (verbosity etc.)
- the onAttach() event is now executed synchronously when
the program thread context starts
- the onDetach() event is executed properly when program thread
contexts terminate
- the onStep() now provides the breakpointId value if available
- the onExit() event was added for greater control over
code execution in the debugger
- the onException() event was improved
- server commands now support frameid as a parameter
Bug fixes:
to many to list.
Previously all lines (matching or not /${GO_PLATFORM}/) were printed
unconditionally and could interfere with other PRINT_PLIST_AWKs used by always
printing every line in `print-PLIST' phase.
Avoid that by limiting the pattern of PRINT_PLIST_AWK in go-package.mk.
Since Python 2.7.15 patches/patch-ah is no longer needed and badly interfere
(e.g. with it `curses.KEY_*' are no longer exposed):
- Prototypes of NetBSD curses(3) are as described, no need to patch them
- Avoid {lines,columns} -> {nlines,columns} rename, they are properly
undef-ed due HAVE_TERM_H.
- Use keyname() (it should be present since NetBSD 2.0)
Bump PKGREVISION for devel/py-curses so it will be properly rebuild.
Fixes PR pkg/53330 reported by <oster>.
isn't mis-categorized as little-endian only because _LITTLE_ENDIAN
is defined -- what matters on NetBSD is the value of _BYTE_ORDER.
Retain the old test in the #else clause.
Bump PKGREVISION.
Changelog:
Version 1.26.1 (2018-05-29)
Tools
RLS now works on Windows
Rustfmt stopped badly formatting text in some cases
Compatibility Notes
fn main() -> impl Trait no longer works for non-Termination trait This
reverts an accidental stabilization.
NaN > NaN no longer returns true in const-fn contexts
Prohibit using turbofish for impl Trait in method arguments
- fs: fix reads with pos > 4GB
- net: new option to allow IPC servers to be readable and writable
by all users
- stream: fix removeAllListeners() for Stream.Readable to work as
expected when no arguments are passed
Vala 0.40.6
===========
* Regression fix:
- codegen: Avoid critical for array in-parameters with custom length-type
- tests: Drop assert which is failing on big-endian archs
Vala 0.40.5
===========
* Various improvements and bug fixes:
- Warn if --gir is used without --library [#708693]
- Report an error if rank attribute is required but was not found [#660991]
- scanner: Accept \R and \N escape sequences in regex literals [#749576]
- scanner: Accept backreferences \1 through \99 in regex literals [#728574]
- codegen:
+ Avoid critical in get_basic_type_info() when there is no signature
[#729517]
+ Fix serializing multidimensional arrays [#735437]
+ Guard get_default_ref_sink_function() against null base-class
+ Respect cname ccode-attribute of lockable fields
+ Fix casting of length for "ref" array parameters
- codewriter: Add 'new' to symbols if needed to match the original source
[#614686]
- girparser: Deal with missing "name" attribute by falling back on "c:type"
- girwriter: Drop errornous indent
- girwriter: Properly output variadic methods and use introspectable="0"
- genie: Add support for the \v escape character [#664689]
- genie: Add support for the \uXXXX escape sequence
* Bindings:
- glib-2.0: Fix IConv.iconv() [#634753]
- gobject-2.0: Make constructor of ParamSpecBoxed public
- gstreamer: Cherry-pick some fixes from 0.42
- gtk+-3.0: Update to 3.22.30+21fddc39
- gtk+-4.0: Update to 3.93.0+3a860719
- javascriptcoregtk-4.0: buffer of String.get_utf8_cstring() is not "ref"
[#788113]
- posix: Add missing cname = "int" to Posix.Signal enum
- sqlite3: Add additional constants for flags of Database.open_v2() [#795627]
- webkit2gtk-4.0: Cherry-pick some fixes from 0.42
Changelog:
core-libs java.time (tz) Upgrade time-zone data to tzdata2018d
xml jax-ws Newlines in JAXB string values of SOAP-requests are escaped to " "
hotspot compiler Crash with assert(handler_address == SharedRuntime::compute_compiled_exc_handler(..) failed: Must be the same
deploy webstart JRE bundled in App-V package will not start Java Web Start applications
deploy webstart javaws.exe failed to launch UTF-8 encoded JNLP file
javafx web Intermittent crash when using WebView from JFXPanel applicationS
hotspot runtime Hotspot crash on Cassandra 3.11.1 startup with libnuma 2.0.3
security-libs org.ietf.jgss Kerberos krb5 authentication: AuthList's put method leads to performance issue
hotspot gc Performance drop with Java JDK 1.8.0_162-b32
Changelog:
core-libs java.time (tz) Upgrade time-zone data to tzdata2018d
xml jax-ws Newlines in JAXB string values of SOAP-requests are escaped to " "
hotspot compiler Crash with assert(handler_address == SharedRuntime::compute_compiled_exc_handler(..) failed: Must be the same
deploy webstart JRE bundled in App-V package will not start Java Web Start applications
deploy webstart javaws.exe failed to launch UTF-8 encoded JNLP file
javafx web Intermittent crash when using WebView from JFXPanel applicationS
hotspot runtime Hotspot crash on Cassandra 3.11.1 startup with libnuma 2.0.3
security-libs org.ietf.jgss Kerberos krb5 authentication: AuthList's put method leads to performance issue
hotspot gc Performance drop with Java JDK 1.8.0_162-b32
- NEW FEATURE: npm audit fix
- OTHER NEW audit FEATURES
- Add support for npm audit --json to print the report in JSON
format.
- Include number of audited packages in npm install summary output.
- Overhaul audit install and detail output format.
- NEW FEATURE: GIT DEPS AND npm init <pkg>!
- FIX WRITE AFTER END ERROR
- DETECT CHANGES IN GIT SPECIFIERS
- OTHER BUGFIXES
- When requesting the update of a direct dependency that was also a
transitive dependency to a version incompatible with the
transitive requirement and you had a lock-file but did not have a
node_modules folder then npm would fail to provide a new copy of the
transitive dependency, resulting in an invalid lock-file that could
not self heal.
- Cleanup output of npm ci summary report.
- Node.js now has a test that scans for things that look like
conflict markers in source code. This was triggering false
positives on a fixture in a test of npm's ability to heal lockfiles
with conflicts in them.
- Make the new npm view work when the license field is an object
instead of a string.
- Add support for environments (like Docker) where the expected
binary for opening external URLs is not available.
- Fix a spurious colon in the new update notifier message and add
support for the npm canary.
- Infer a version range when a package.json has a dist-tag instead
of a version range in one of its dependency specs. Previously,
this would cause dependencies to be flagged as invalid.
- Make sure scoped bundled deps are shown in the new publish
preview, too.
- Stop dropping size from metadata on npm cache verify.
- Fix nested command aliases.
- Make sure different versions of the Path env var on Windows all
get node_modules/.bin prepended when running lifecycle scripts.
- addons:
- Fixed a memory leak for users of `AsyncResource` and N-API.
- assert:
- The `error` parameter of `assert.throws()` can be an object
containing regular expressions now.
- crypto:
- The `authTagLength` option has been made more flexible.
- esm:
- Builtin modules (e.g. `fs`) now provide named exports in ES6
modules.
- http:
- Handling of `close` and `aborted` events has been made more
consistent.
- module:
- add --preserve-symlinks-main
- timers:
- `timeout.refresh()` has been added to the public API.
- Embedder support:
- Functions for creating V8 `Isolate` and `Context` objects with
Node.js-specific behaviour have been added to the API.
- Node.js `Environment`s clean up resources before exiting now.
- Support for multi-threaded embedding has been improved.