Changelog:
v1.0.2 - 2019-10-23
Bugfixes
fixes the --verbosity:2 regression
Fixed "Fail to compile a file twice under Windows (v1.0 bug)." #12242
fix nimpretty removing space before pragma
JS: gensym is stricter for 'this'
Fixed "VM Assertion Error with newruntime" #12294
Fixed "Assertion error when running nim check on compiler/nim.nim" #12281
Fixed "Compiler crash with empty array and generic instantiation with int as parameter" #12264
Fixed "Regression in JS backend codegen "Error: request to generate code for .compileTime proc"" #12240
Fix how relativePath handle case sensitiviy
Fixed "SIGSEGV in compiler when using generic types and seqs" #12336
Fixed "[1.0.0] weird interaction between import os and casting integer to char on macosx trigger bad codegen" #12291
VM: no special casing for big endian machines
Fixed "internal error: environment misses with a simple template inside one of Jester macros" #12323
nimsuggest: fix tcp socket leak
nimsuggest: fix tcp socket leak for epc backend
Fixed "writeFile and write(f, str) skip null bytes on Windows" #12315
Fixed "Crash in intsets symmetric_difference" #12366
Fixed "[regression] VM crash when dealing with var param of a proc result" #12244
fixes a koch regression that made 'koch boot --listcmd' not work anymore
Fixed "[regression] inconsistent signed int mod operator between runtime, compiletime, and semfold" #12332
Fixed "Boehm disables interior pointer checking" #12286
Fixes semCustomPragma when nkSym
Fixed yield in nkCheckedFieldExpr
Fixed "randomize() from random not working on JS" #12418
Fixed "Compiler crash with invalid object variant" #12379
fix type's case in random.nim
Fixed "Update docs with a better way to signal unimplemented methods" #10804
Fixed "Nim language manual, push pragma is not explained well" #10824
Fixed "[regression] Importing more than one module with same name from different packages produce bad codegen" #12420
Namespace unittest enums to avoid name conflicts
Fixed "VM checks unsigned integers for overflow." #12310
Fixed "line directive is not generated for first line of function definition" #12426
Documentation improvements
threadpool: fix link in docs (#12258)
Fix spellings (#12277)
fix#12278, don't expose internal PCRE documentation
Fixed "Documentation of quitprocs is wrong" [#12279(https://github.com/nim-lang/Nim/issues/12279)
Fix typo in docs
Fix reference to parseSpec proc in readme
[doc/tut1] removed discard discussion in comments
Documentation improvements around the db interface
Easier build instructions for windows - just run build_all.bat.
fix a few dead links and a missing sentence in documentation
Macro docs additions
Updated the code example in the os module to use better grammar.
Mention "lambdas" and => in the manual
Better documentation on Garbage Collector
NetBSD 9.x have libcurses with a newer major version than the
bootstrap kit is linked against. For now, work around this with
compat80. (This could also be dealt with by creating versioned
bootstrap kits, but that's more involved, and NetBSD 9.x is pre-
release software, so best to leave this off for now.) Thanks to
Greg Troxel for the compat80 hint.
NetBSD/amd64 (8.0) and NetBSD/i386 (8.0). These bootstraps do
not use the pkgsrc llvm, i.e. are built with the rust-llvm option.
Disable warnings as fatal errors; 1.38.0 building 1.38.0 produces
warnings which would otherwise be fatal, ref.
https://github.com/rust-lang/rust/issues/65722
Also, revert back to BUILD_TARGET=build which I mistakenly changed
to "dist" previously.
Bump PKGVERSION.
v2.0.2:
Bump patch version
v2.0.1:
Bump patch version
v2.0.0:
Bump major version, for non-backward-compatible changes.
- There is a parsing difference in that tuple nodes now include
surrounding parentheses (when present).
Update php71 to 7.1.33.
24 Oct 2019, PHP 7.1.33
- FPM:
. Fixed bug #78599 (env_path_info underflow in fpm_main.c can lead to RCE).
(CVE-2019-11043) (Jakub Zelenka)
Replace RUBY_BUILD_RDOC and RUBY_BUILD_RI with RUBY_BUILD_DOCUMENT since
rdoc's --no-rdoc and --no-ri options are deprecated almost 8 years ago
and these options are replaced with -no-document option.
No package should be changed.
Changes:
2.7.17
======
Documentation
-------------
- bpo-37487: Fix PyList_GetItem index description to include 0.
- bpo-37149: Replace the dead link to the Tkinter 8.5 reference by John
Shipman, New Mexico Tech, with a link to the archive.org copy.
- bpo-35126: Improve the examples in the "How do I convert a number to
string?" question of the "Programming" section of the FAQ. Contributed by
Stéphane Wirtel.
- bpo-35605: Fix documentation build for sphinx<1.6. Patch by Anthony
Sottile.
- bpo-35564: Explicitly set master_doc variable in conf.py for compliance
with Sphinx 2.0
- bpo-33832: Add glossary entry for 'magic method'.
2.7.17:
Escape the server title of :class:`DocXMLRPCServer.DocXMLRPCServer` when
rendering the document page as HTML.
Update vendorized expat library version to 2.2.8, which resolves
CVE-2019-15903.
Updated OpenSSL to 1.0.2s in Windows installer
Don't set cookie for a request when the request path is a prefix match of
the cookie's path attribute but doesn't end with "/".
Don't send cookies of domain A without Domain attribute to domain B when
domain A is a suffix match of domain B while using a cookiejar with
:class:`cookielib.DefaultCookiePolicy` policy.
Fix parsing of invalid email addresses with more than one ``@`` (e.g.
a@b@c.com.) to not return the part before 2nd ``@`` as valid email address.
Fixes mishandling of pre-normalization characters in urlsplit().
Address CVE-2019-9740 by disallowing URL paths with embedded whitespace or
control characters through into the underlying http client request. Such
potentially malicious header injection URLs now cause an httplib.InvalidURL
exception to be raised.
Changes urlsplit() to raise ValueError when the URL contains characters that
decompose under IDNA encoding (NFKC-normalization) into characters that
affect how the URL is parsed.
CVE-2019-9948: Avoid file reading by disallowing ``local-file://`` and
``local_file://`` URL schemes in :func:`urllib.urlopen`,
:meth:`urllib.URLopener.open` and :meth:`urllib.URLopener.retrieve`.
Fix race in PyThread_release_lock that was leading to memory corruption and
deadlocks. The fix applies to POSIX systems where Python locks are
implemented with mutex and condition variable because POSIX semaphores are
either not provided, or are known to be broken. One particular example of
such system is macOS.
valgrind: suppress a false alarm in memory leak checks. _PyWarnings_Init()
only allocates memory once at startup but it is not released at exit. Ignore
this issue to be able to catch other bugs more easily.
Fix possible overflow in ``wrap_lenfunc()`` when ``sizeof(long) <
sizeof(Py_ssize_t)`` (e.g., 64-bit Windows).
pymalloc returns memory blocks aligned by 16 bytes, instead of 8 bytes, on
64-bit platforms to conform x86-64 ABI. Recent compilers assume this
alignment more often.
Fix signed integer overflow in _ctypes.c's ``PyCArrayType_new()``.
Fix a possible double ``PyMem_FREE()`` due to tokenizer.c's ``tok_nextc()``.
Fix a possible reference leak in :func:`itertools.count`.
PyOS_StdioReadline() no longer leaks memory when realloc() fails.
Fix an unlikely memory leak on conversion from string to float in the
function ``_Py_dg_strtod()`` used by ``float(str)``, ``complex(str)``,
:func:`pickle.load`, :func:`marshal.load`, etc.
Fix use of uninitialized memory in cPickle when reading a truncated pickle
from a file object.
Clarified Doc string for builtin filter function. 2nd Argument can be any
iterable.
Allow the rare code that wants to send invalid http requests from the
`http.client` library a way to do so. The fixes for bpo-30458 led to
breakage for some projects that were relying on this ability to test their
own behavior in the face of bad requests.
Fix a memory leak in comparison of :class:`sqlite3.Row` objects.
_hashlib no longer calls obsolete OpenSSL initialization function with
OpenSSL 1.1.0+.
Fixed a crash in the :func:`tee` iterator when re-enter it. RuntimeError is
now raised in this case.
Fix C compiler warning caused by distutils.ccompiler.CCompiler.has_function.
Fix file descriptors transfer in multiprocessing on FreeBSD: use
``CMSG_SPACE()`` rather than ``CMSG_LEN()``; see :rfc:`3542`.
Update wheels bundled with ensurepip (pip 19.2.3 and setuptools 41.2.0)
Update vendorized expat version to 2.2.7.
:func:`urlparse.urlsplit` error message for invalid ``netloc`` according to
NFKC normalization is now a :class:`str` string, rather than a
:class:`unicode` string, to prevent error when displaying the error.
:meth:`msilib.Directory.start_component()` no longer fails if *keyfile* is
not ``None``.
Rename the :meth:`test_ascii_replace` to :meth:`test_ascii_strict`.
Fix :mod:`distutils.sysconfig` if :data:`sys.executable` is ``None`` or an
empty string: use :func:`os.getcwd` to initialize ``project_base``. Fix
also the distutils build command: don't use :data:`sys.executable` if it is
``None`` or an empty string.
Fix buffer overflow in :meth:`~socket.socket.send` and
:meth:`~socket.socket.sendall` methods of :func:`socket.socket` for data
larger than 2 GiB.
Fix a possible reference leak in the json module.
Fix a possible reference leak in the io module.
Fix two possible reference leaks in the hotshot module.
Fix ``CFLAGS`` in ``customize_compiler()`` of ``distutils.sysconfig``: when
the ``CFLAGS`` environment variable is defined, don't override ``CFLAGS``
variable with the ``OPT`` variable anymore.
Update ensurepip to install pip 19.0.3 and setuptools 40.8.0.
Fix linuxaudiodev.linux_audio_device() error handling: close the internal
file descriptor if it fails to open the device.
Fix memory leak in ctypes POINTER handling of large values.
Fix two unlikely reference leaks in _hashopenssl. The leaks only occur in
out-of-memory cases.
Resolve potential name clash with libm's sinpi().
Fix ``setup.py check --restructuredtext`` for files containing ``include``
directives.
Fix PyList_GetItem index description to include 0.
Replace the dead link to the Tkinter 8.5 reference by John Shipman, New
Mexico Tech, with a link to the archive.org copy.
Improve the examples in the "How do I convert a number to string?" question
of the "Programming" section of the FAQ.
Fix documentation build for sphinx<1.6.
Explicitly set master_doc variable in conf.py for compliance with Sphinx 2.0
Add glossary entry for 'magic method'.
Fix test_wsgiref.testEnviron() to no longer depend on the environment
variables (don't fail if "X" variable is set).
Add --cleanup option to python3 -m test to remove ``test_python_*``
directories of previous failed jobs. Add "make cleantest" to run ``python3
-m test --cleanup``.
test_gdb no longer fails if it gets an "unexpected" message on stderr: it
now ignores stderr. The purpose of test_gdb is to test that python-gdb.py
commands work as expected, not to test gdb.
Update Lib/test/selfsigned_pythontestdotnet.pem to match
self-signed.pythontest.net's new TLS certificate.
Skip specific nntplib and ssl networking tests when they would otherwise
fail due to a modern OS or distro with a default OpenSSL policy of rejecting
connections to servers with weak certificates or disabling TLS below
TLSv1.2.
Fix reference leak hunting in regrtest: compute also deltas (of reference
count and file descriptor count) during warmup, to ensure that everything is
initialized before starting to hunt reference leaks.
test_posix.PosixUidGidTests: add tests for invalid uid/gid type (str).
Add test.support.TEST_HTTP_URL and replace references of
http://www.example.com by this new constant.
Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa Tk.
Re-enable missing widget testcases in test_ttk_guionly.
Fix ``test_default_ecdh_curve`` when TLSv1.3 is enabled by default.
In Solaris family, we must be sure to use ``-D_REENTRANT``.
Fix detection of the bind_textdomain_codeset function for building gettext
support into the locale module.
``make tags`` and ``make TAGS`` now also parse ``Modules/_io/*.c`` and
``Modules/_io/*.h``.
Fix SSL module build with OpenSSL 1.1.0
Updates bundled OpenSSL to 1.0.2t
Include the ``FORMAT_MESSAGE_IGNORE_INSERTS`` flag in ``FormatMessageW()``
calls.
Update Windows builds to use SQLite 3.28.0.
Correctly handle string length in ``msilib.SummaryInfo.GetProperty()`` to
prevent it from truncating the last character.
Updated OpenSSL to 1.0.2t in macOS installer for 2.7.x.
When building 2.7 on macOS without system header files installed in
``/usr/include``, a few extension modules dependent on system-supplied
third-party libraries were not being built, most notably zlib.
Update macOS installer to use SQLite 3.28.0.
Updated OpenSSL to 1.0.2s in macOS installer.
Support building Python on macOS without /usr/include installed. As of macOS
10.14, system header files are only available within an SDK provided by
either the Command Line Tools or the Xcode app.
Properly 'attach' search dialogs to their main window so that they behave
like other dialogs and do not get hidden behind their main window.
When saving a file, call os.fsync() so bits are flushed to e.g. USB drive.
2to3 now works when run from a zipped standard library.
Fix the argument handling in Tools/scripts/lll.py.
Fix the cast on error in :c:func:`PyLong_AsUnsignedLongLongMask()`.
Libc++ 9.0.0
Fixes
Minor fixes to std::chrono operators.
libc++ now correctly handles Objective-C++ ARC qualifiers in std::is_pointer.
std::span general updates and fixes.
Updates to the std::abs implementation.
std::to_chars now adds leading zeros.
Ensure std::tuple is trivially constructible.
std::aligned_union now works in C++03.
Output of nullptr to std::basic_ostream is formatted properly.
Features
Implemented P0608: sane variant converting constructor.
Added ssize function.
Added front and back methods in std::span.
std::is_unbounded_array and std::is_bounded_array added to type traits.
std::atomic now includes many new features and specialization including improved Freestanding support.
Added std::midpoint and std::lerp math functions.
Added the function std::is_constant_evaluated.
Erase-like algorithms now return size type.
Added contains method to container types.
std::swap is now a constant expression.
Updates
libc++ dropped support for GCC 4.9; we now support GCC 5.1 and above.
libc++ added explicit support for WebAssembly System Interface (WASI).
Progress towards full support of rvalues and variadics in C++03 mode. std::move and std::forward now both work in C++03 mode.
9.0.0:
Improvements to clangd
* Background indexing is on by default
When using clangd, it will build an index of your code base (all files listed in your compile database). This index enables go-to-definition, find-references, and even code completion to find symbols across your project.
This feature can consume a lot of CPU. It can be disabled using the --background-index=false flag, and respects -j to use fewer threads. The index is written to .clangd/index in the project root.
* Contextual code actions
Extract variable, expand auto, expand macro, convert string to raw string. More to come in the future!
* Clang-tidy warnings are available
These will be produced for projects that have a .clang-tidy file in their source tree, as described in the clang-tidy documentation.
* Improved diagnostics
Errors from headers are now shown (on the #including line). The message now indicates if fixes are available. Navigation between errors and associated notes is improved (for editors that support Diagnostic.relatedInformation).
* Suggested includes
When a class or other name is not found, clangd may suggest to fix this by adding the corresponding #include directive.
* Semantic highlighting
clangd can push syntax information to the editor, allowing it to highlight e.g. member variables differently from locals. (requires editor support)
This implements the proposed protocol from https://github.com/microsoft/vscode-languageserver-node/pull/367
* Type hierachy
Navigation to base/derived types is possible in editors that support the proposed protocol from https://github.com/microsoft/vscode-languageserver-node/pull/426
* Improvements to include insertion
Only headers with #include-guards will be inserted, and the feature can be disabled with the --header-insertion=never flag.
Standard library headers should now be inserted more accurately, particularly for C++ other than libstdc++, and for the C standard library.
* Code completion
Overloads are bundled into a single completion item by default. (for editors that support signature-help).
Redundant const/non-const overloads are no longer shown.
Before clangd is warmed up (during preamble build), limited identifier- and index-based code completion is available.
* Format-on-type
A new implementation of format-on-type is triggered by hitting enter: it attempts to reformat the previous line and reindent the new line. (Requires editor support).
* Toolchain header detection
Projects that use an embedded gcc toolchain may only work when used with the corresponding standard library. clangd can now query the toolchain to find these headers. The compilation database must correctly specify this toolchain, and the --query-driver=/path/to/toolchain/bin/* flag must be passed to clangd.
* Miscellaneous improvements
Hover now produces richer Markdown-formatted text (for supported editors).
Rename is safer and more helpful, though is still within one file only.
Files without extensions (e.g. C++ standard library) are handled better.
clangd can understand offsets in UTF-8 or UTF-32 through command-line flags or protocol extensions. (Useful with editors/platforms that don’t speak UTF-16).
Editors that support edits near the cursor in code-completion can set the textDocument.completion.editsNearCursor capability to true, and clangd will provide completions that correct . to ->, and vice-versa.
Improvements to clang-tidy
New OpenMP module.
New abseil-duration-addition check.
New abseil-duration-conversion-cast check.
New abseil-duration-unnecessary-conversion check.
New abseil-time-comparison check.
New abseil-time-subtraction check.
New android-cloexec-pipe check.
New android-cloexec-pipe2 check.
New bugprone-branch-clone check.
New bugprone-posix-return check.
New bugprone-unhandled-self-assignment check.
New fuchsia-default-arguments-calls check.
New fuchsia-default-arguments-declarations check.
New google-objc-avoid-nsobject-new check.
New google-readability-avoid-underscore-in-googletest-name check.
New llvm-prefer-isa-or-dyn-cast-in-conditionals check.
New modernize-use-trailing-return-type check.
New objc-super-self check.
New openmp-exception-escape check.
New openmp-use-default-none check.
New readability-convert-member-functions-to-static check.
New alias cert-oop54-cpp to bugprone-unhandled-self-assignment was added.
New alias cppcoreguidelines-explicit-virtual-functions to modernize-use-override was added.
Added UseAssignment option to cppcoreguidelines-pro-type-member-init
The fuchsia-default-arguments check has been removed.
The google-runtime-int check has been disabled in Objective-C++.
The modernize-use-override now supports OverrideSpelling and FinalSpelling options.
The misc-throw-by-value-catch-by-reference now supports WarnOnLargeObject and MaxSize options to warn on any large trivial object caught by value.
The Acronyms and IncludeDefaultAcronyms options for the objc-property-declaration check have been removed.
Improvements to pp-trace
* Added a new option -callbacks to filter preprocessor callbacks. It replaces the -ignore option.
9.0.0:
Major New Features
* Experimental support for C++ for OpenCL has been added.
Non-comprehensive list of changes in this release
* The __VERSION__ macro has been updated. Previously this macro contained the string ‘4.2.1 Compatible’ to achieve compatibility with GCC 4.2.1, but that should no longer be necessary. However, to retrieve Clang’s version, please favor the one of the macro defined in clang namespaced version macros.
New Compiler Flags
* -ftime-trace and ftime-trace-granularity=N Emits flame chart style compilation time report in chrome://tracing and speedscope.app compatible format. A trace .json file is written next to the compiled object file, containing hierarchical time information about frontend activities (file parsing, template instantiation) and backend activities (modules and functions being optimized, optimization passes).
Modified Compiler Flags
* clang -dumpversion now returns the version of Clang itself.
Windows Support
* clang-cl now treats non-existent files as possible typos for flags, clang-cl /diagnostic:caret /c test.cc for example now produces clang: error: no such file or directory: '/diagnostic:caret'; did you mean '/diagnostics:caret'?
* clang now parses the __declspec(allocator) specifier and generates debug information, so that memory usage can be tracked in Visual Studio.
* The -print-search-dirs option now separates elements with semicolons, as is the norm for path lists on Windows
* Improved handling of dllexport in conjunction with explicit template instantiations for MinGW, to allow building a shared libc++ for MinGW without --export-all-symbols to override the dllexport attributes
9.0.0:
Non-comprehensive list of changes in this release:
* Two new extension points, namely EP_FullLinkTimeOptimizationEarly and EP_FullLinkTimeOptimizationLast are available for plugins to specialize the legacy pass manager full LTO pipeline.
* llvm-objcopy/llvm-strip got support for COFF object files/executables, supporting the most common copying/stripping options.
* The CMake parameter CLANG_ANALYZER_ENABLE_Z3_SOLVER has been replaced by LLVM_ENABLE_Z3_SOLVER.
* The RISCV target is no longer “experimental” (see Changes to the RISCV Target below for more details).
* The ORCv1 JIT API has been deprecated. Please see Transitioning from ORCv1 to ORCv2.
* Support for target-independent hardware loops in IR has been added, with PowerPC and Arm implementations.
qo1.12.11 (released 2019/10/17) includes security fixes to the crypto/dsa
package. See the Go 1.12.11 milestone on our issue tracker for details.
go1.12.12 (released 2019/10/17) includes fixes to the go command, runtime,
syscall and net packages. See the Go 1.12.12 milestone on our issue tracker
for details.
Changes:
3.7.5
-----
Documentation
* bpo-26868: Fix example usage of PyModule_AddObject() to properly handle
errors.
* bpo-37979: Added a link to dateutil.parser.isoparse in the
datetime.fromisoformat documentation. Patch by Paul Ganssle
* bpo-37937: Mention frame.f_trace in sys.settrace() docs.
* bpo-37726: Stop recommending getopt in the tutorial for command line
argument parsing and promote argparse.
* bpo-32910: Remove implementation-specific behaviour of how venv’s
Deactivate works.
* bpo-37256: Fix wording of arguments for Request in urllib.request
* bpo-37284: Add a brief note to indicate that any new sys.implementation
required attributes must go through the PEP process.
* bpo-30088: Documented that mailbox.Maildir constructor doesn’t attempt to
verify the maildir folder layout correctness. Patch by Sviatoslav
Sydorenko.
* bpo-37487: Fix PyList_GetItem index description to include 0.
* bpo-37478: Added possible exceptions to the description of os.chdir().
* bpo-37004: In the documentation for difflib, a note was added explicitly
warning that the results of SequenceMatcher’s ratio method may depend on
the order of the input strings.
* bpo-35803: Document and test that tempfile functions may accept a path-like
object for the dir argument. Patch by Anthony Sottile.
* bpo-34293: Fix the Doc/Makefile regarding PAPER environment variable and
PDF builds
3.5.0:
Fix fragment bugs
- missing RETURN_LAST introduced when adding transformation layer
- more parent entries on tokens
Preliminary support for decompiling Python 1.0, 1.1. 1.2 and 1.6
- Newer xdis version needed
Major new features of the 3.8 series, compared to 3.7
PEP 572, Assignment expressions
PEP 570, Positional-only arguments
PEP 587, Python Initialization Configuration (improved embedding)
PEP 590, Vectorcall: a fast calling protocol for CPython
PEP 578, Runtime audit hooks
PEP 574, Pickle protocol 5 with out-of-band data
Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
Parallel filesystem cache for compiled bytecode
Debug builds share ABI as release builds
f-strings support a handy = specifier for debugging
continue is now legal in finally: blocks
on Windows, the default asyncio event loop is now ProactorEventLoop
on macOS, the spawn start method is now used by default in multiprocessing
multiprocessing can now use shared memory segments to avoid pickling costs between processes
typed_ast is merged back to CPython
LOAD_GLOBAL is now 40% faster
pickle now uses Protocol 4 by default, improving performance
Apparently it's unsafe to have LD_LIBRARY_PATH in PKGSRC_MAKE_ENV because
it somehow gets passed to pkg_create(8) which then messes up REQUIRES lines
in +BUILD_INFO. Reported to pkgsrc-users@ by Mike Pumford.
* Modernize the powerpc entry in signal-sysdep.h to use the
various _UC_MACHINE_ macros.
* mk.ppc-netbsd: don't pass an empty RANLIB variable, causing build failure.
Also make checksums of all the three arch-specific distfiles ("boxes"),
for sparc, x86 and ppc.
Bump PKGREVISION.
* Makefile.common: do PLILST.nlffi (though this file isn't used...)
* Modernize the powerpc entry in signal-sysdep.h to use the
various _UC_MACHINE_ macros.
* mk.ppc-netbsd: don't pass an empty RANLIB variable, causing build failure.
Also make checksums of all the three arch-specific distfiles ("boxes"),
for sparc, x86 and ppc.
Bump PKGREVISION.
* Don't request job control in the shell scripts used during the build
via the "-m" option; it will cause a backgrounded job to stall with
SIGTTIN.
* Add a Config.generic-netbsd, and collect common settings for all
the various NetBSD configs there.
* Do tty handling in sbcl the same way OpenBSD does, i.e. no TIOCNOTTY.
Bump PKGREVISION.
Don't disable sgen after we enabled it in configure.ac
(I'm not sure the non-sgen non-boehm option is even supported).
Disable dtrace, needs a makefile fixup and is an optional thing, so
let's leave it for later.
- Use python tool.mk instead of searching more files to patch
@PYTHONBIN@ in.
- Add some preliminary ideas for how to get netbsd/aarch64 and solaris
working. it shouldn't be enough to complete a build.
(They can't use Mono's outdated libgc)
notable for us, this release re-adds FreeBSD supports.
Mono 6.4.0 release notes:
Highlights
C# compiler support for C# 8 language version
.NET Standard 2.1 support
Updated libgdiplus to 6.0.2
Notarized macOS installer package
In Depth
Runtime
Hardened Runtime and Notarization support on macOS
The Mono binary installed by the .pkg for macOS is now using the Hardened Runtime capabilities and the package was notarized to comply with Apple’s new restrictions: https://developer.apple.com/documentation/security/notarizing_your_app_before_distribution.
This allows the package to work on the upcoming macOS 10.15 Catalina without showing warning dialogs.
Interpreter improvements
The Mono interpreter was updated to support the Windows operating system.
We also completed a lot of groundwork for upcoming future optimizations in the interpreter, like constant folding.
Bitness independent AOT cross compiler
The Ahead-Of-Time (AOT) cross compiler was updated to no longer require being executed with the same bitness that it should generate code for. This means a 64bit Mono can now emit AOT code for 32bit targets.
This work was mainly done to support executing the AOT cross compiler on macOS 10.15 Catalina (which is 64bit only) as we still need to generate code for 32bit targets like older iPhone and Apple Watch devices.
WebAssembly
We continue to work on making our WebAssembly support better. Various sets of issues with the debugger have been resolved in this release and general performance and feature work is happening as well.
LLVM improvements
We now leave it up to the LLVM framework to insert safepoints. Later optimizations can understand safepoints then which leads to better generated code. See https://github.com/mono/mono/pull/11789
The LLVM backend is also supported on the Windows operating system now.
PPC JIT optimizations
The PowerPC JIT received a bunch of optimization from community contributor Calvin Buckley (@NattyNarwhal).
Experimental build support for Fuchsia
A very minimal and experimental support for building Mono targeting the Fuchsia OS landed in the build system.
Class Libraries
.NET Standard 2.1 support
We updated our class libraries to support the latest additions to .NET Standard. You can now run a library compiled against the .NET Standard 2.1 specification on Mono.
CoreFX integration
We continued to replace some of our classes with the implementation from CoreFX to improve performance and compatibility with .NET.
libgdiplus update to 6.0.2
The libgdiplus native library is used for implementing System.Drawing on Unix platforms. This release contains many important improvements from our community members.
Special thanks go to Hugh Bellamy (@hughbe), Frederik Carlier (@qmfrederik) and Filip Navara (@filipnavara) for their awesome contributions!
System.Windows.Forms
More fixes and layout improvements for different controls made by external contributors have landed in this release .
Tools
C# 8 language version support in csc and msbuild
The C# compiler and msbuild tooling were updated to versions that support the final C# 8 language specification.
The Default Interface Methods (DIM) feature also received a few runtime enhancements.
NuGet
Bundled NuGet version has been upgraded to 5.2 RTM.
Changelog:
Changes from 5.0.0 to 5.0.1
---------------------------
1. A number of ChangeLog.1 files that were left out of the distribution
have been restored.
2. Multiple syntax errors should no longer be able to cause a core dump.
3. Sandbox mode now disallows assigning new filename values in ARGV that
were not there when gawk was invoked.
4. There are many small documentation improvements in the manual.
5. The new argument "no-ext" to --lint disables ``XXX is a gawk extension''
lint warnings.
6. Infrastructure upgrades: Bison 3.4.
N. A number of bugs, some of them quite significant, have been fixed.
See the ChangeLog for details.
This is a package designed to teach the Tcl programming language in a
quick and easy manner. The goal is to teach the minimal amount of Tcl
syntax, commands and options that are necessary to write useful
programs.
You are encouraged to use the man pages and books to augment this
tutorial.
Changelog:
This is a major release containing nearly 60 commits. Most changes are bug fixes, but this release also includes a couple new features:
Binaries can now be built and run using the new run command.
The NimblePkgVersion is now defined so you can easily get the package version in your source code (example).
Some other highlights:
Temporary files are now kept when the --debug flag is used.
Fixed dependency resolution issues with "#head" packages (#432 and #672).
The install command can now take Nim compiler flags via the new --passNim flag.
Command line arguments are now passed properly to tasks (#633).
The test command now respects the specified backend (#631).
The dump command will no longer prompt and now has an implicit -y.
Fixed bugs with the new nimscript executor (#665).
Fixed multiple downloads and installs of the same package (#678).
Nimble init no longer overwrites existing files (#581).
Fixed incorrect submodule version being pulled when in a non-master branch (#675).
Update ruby26-base and ruby26 packges to 2.6.5
pkgsrc chagnes
* fix warnings of pkglint.
Quote from release announce:
Ruby 2.6.5 (2019-10-01)
This release includes security fixes. Please check the topics below for
details.
* CVE-2019-16255: A code injection vulnerability of Shell#[] and Shell#test
* CVE-2019-16254: HTTP response splitting in WEBrick (Additional fix)
* CVE-2019-15845: A NUL injection vulnerability of File.fnmatch and
File.fnmatch?
* CVE-2019-16201: Regular Expression Denial of Service vulnerability of
WEBrick's Digest access authentication
Update ruby25-base, ruby25 and ruby25-mode packges to 2.5.7.
pkgsrc chagnes
* fix warnings of pkglint.
Quote from release announce:
Ruby 2.5.7 (2019-10-01)
This release includes security fixes as listed below. Please check the
topics below for details.
* CVE-2019-16255: A code injection vulnerability of Shell#[] and Shell#test
* CVE-2019-16254: HTTP response splitting in WEBrick (Additional fix)
* CVE-2019-15845: A NUL injection vulnerability of File.fnmatch and
File.fnmatch?
* CVE-2019-16201: Regular Expression Denial of Service vulnerability of
WEBrick's Digest access authentication
Update ruby24-base and related packges to 2.4.9.
pkgsrc chagnes
* fix warnings of pkglint.
Quote from release announce:
Ruby 2.4.8 (2019-10-01)
This release includes security fixes. Please check the topics below for
details.
* CVE-2019-16255: A code injection vulnerability of Shell#[] and Shell#test
* CVE-2019-16254: HTTP response splitting in WEBrick (Additional fix)
* CVE-2019-15845: A NUL injection vulnerability of File.fnmatch and
File.fnmatch?
* CVE-2019-16201: Regular Expression Denial of Service vulnerability of
WEBrick¡Çs Digest access authentication
Ruby 2.4.9 (2019-10-02)
This release is a re-package of 2.4.8 because the previous Ruby 2.4.8
release tarball does not install. (See [Bug #16197] in detail.) There are no
essential change except their version numbers between 2.4.8 and 2.4.9.
Ruby 2.4 is now under the state of the security maintenance phase, until the
end of March of 2020. After that date, maintenance of Ruby 2.4 will be
ended. We recommend you start planning the migration to newer versions of
Ruby, such as 2.6 or 2.5.
Changes between version 1.5.6 and version 1.5.7
* platform support:
many bug fixes to the experimental 64-bit PowerPC/Linux port, to the
extent that the little-endian variant passes all applicable tests in
the regression test suite; the big-endian variant currently has some
failures
experimental support for sb-threads on 64-bit PowerPC/Linux
support threads on x86-64 Sun OS (#1841280)
handle PAX restrictions on mprotect() on NetBSD
experimental support for HaikuOS
the runtime is built as a position-independent executable by default
on x86-64 Linux and x86-64 Darwin
* fixes and enhancements related to Unicode:
update of the data files to Unicode 8.0
fix a bug in the implementation of the Unicode line breaking algorithm
regarding hebrew letters and hyphens
* enhancement: add a restart to OPEN with :IF-EXISTS :ERROR to
allow re-opening with :APPEND. (#806398, reported by Tobias
Rittweiler)
* bug fix: compiler optimizations on SEARCH with :FROM-END T
didn't account for the empty sequence. (#1844821)
* bug fix: handle SETF of nested empty VALUES correctly. (#1806478)
optimization: FLOOR and CEILING on rationals are simpler, and
the compiler's understanding of them is better.
Changes between version 1.5.5 and version 1.5.6
* platform support:
experimental support for 64-bit PowerPC running Linux (extending Brian
Bokser's work from 2018), on both the v1 and v2 ABIs
new feature: SB-EXT:SEARCH-ROOTS discovers paths from live objects to
the roots keeping them alive.
* enhancement: string output streams created with :ELEMENT-TYPE
'BASE-CHAR use internal buffers of BASE-STRING instead of UCS-4
strings restricted to the ASCII range, yielding a theoretical 4:1
space reduction.
* optimization: improved make-array type derivation for multi-dimensional
arrays. (#1838442)
* bug fix: compliant redefinition of classes whose previous definition
caused argument mismatch errors does not generate errors any
more. (#1840595, reported by 3b on #sbcl)
* bug fixes for issues caught by the random tester:
never derive the type of TRUNCATE on arbitrary numbers as the empty
type. (#1838267)
provide out-of-line definitions for internal machinery related to
FLOAT-SIGN. (#1838337)
include COMPLEX in the derived type of SIGNUM when appropriate. (#1838333)
more correct internal type testing for function types. (#1838808,
#1838888, #1838986)
don't assume that all objects of type (NOT SIMPLE-ARRAY) have an array
header. (#1838827)
recognize that PHASE on non-positive numbers can return 0 as well as
PI. (#1838892)
- Claimed shared library support. same as other ELF platforms, but
since it's not GNU ld, no -Wl,-E available.
- Change the PLIST vars based on what is actually built
- consider x86_64-*-solaris to be x86_64 and solaris. the arch=none
option doesn't build.
- Search for socket stuff in -lnsl -lsocket.
- for a POSIX prototype sigwait, we need to define _XOPEN_SOURCE to something
Commit ok'd by wiz@ for PMC.
Go 1.12.10:
net/http (through net/textproto) used to accept and normalize invalid
HTTP/1.1 headers with a space before the colon, in violation of RFC 7230. If
a Go server is used behind an uncommon reverse proxy that accepts and
forwards but doesn't normalize such invalid headers, the reverse proxy and
the server can interpret the headers differently. This can lead to filter
bypasses or request smuggling, the latter if requests from separate clients
are multiplexed onto the same upstream connection by the proxy. Such invalid
headers are now rejected by Go servers, and passed without normalization to
Go client applications.
The issue is CVE-2019-16276 and Go issue golang.org/issue/34540.
Go 1.12.9:
go1.12.9 (released 2019/08/15) includes fixes to the linker, and the os and
math/big packages. See the Go 1.12.9 milestone on our issue tracker for
details.