v6.10.2:
tl;dr - Fixes several issues with the cache when npm is run as sudo on Unix systems.
TESTING
check test cache for root-owned files
run sudo tests on Travis-CI
set --no-esm tap flag
add script to run tests and leave fixtures for inspection and debugging
BUGFIXES
add a util for writing arbitrary files to cache This prevents metrics timing and debug logs from becoming root-owned.
infer cache owner from parent dir in correct-mkdir util
ensure correct owner on cached all-packages metadata
report server error on failure
Fix npm ci with file: dependencies.
Version 10.16.1 'Dubnium' (LTS)
Notable changes
deps: upgrade openssl sources to 1.1.1c
stream: do not unconditionally call \_read() on resume()
worker: fix nullptr deref after MessagePort deser failure
Erlang/OTP 22 is a new major release with new features and improvements as well as incompatibilities.
For a deeper dive into the hightligts of the OTP 22 release, you can read our blog here:
http://blog.erlang.org/OTP-22-Highlights/
Potential Incompatibilities
gen_* behaviours: If logging of the last N messages through sys:log/2,3 is active for the server, this log is included in the terminate report.
reltool: A new element, Opts, can now be included in a rel tuple in the reltool release specific configuration format: {rel, Name, Vsn, RelApps, Opts}.
All external pids/ports/refs created by erlang:list_to_pid and similar functions now compare equal to any other pid/port/ref with same number from that node.
The old legacy erl_interface library is deprecated as of OTP 22, and will be removed in OTP 23. This does not apply to the ei library.
VxWorks is deprecated as of OTP 22 and will be removed in OTP 23.
Erts:
Support for Erlang Distribution protocol to split the payload of large signals into several fragments.
ETS option write_concurrency now also effects and improves scalability of ordered_set tables.
The length/1 BIF used to calculate the length of the list in one go without yielding, even if the list was very long. Now it yields when called with long lists.
A new (still experimental) module socket is introduced. It is implemented as a NIF and the idea is that it shall be as "close as possible" to the OS level socket interface.
Added the NIF function enif_term_type, which helps avoid long sequences of enif_is_xyz by returning the type of the given term. This is especially helpful for NIFs that serialize terms, such as JSON encoders, where it can improve both performance and readability.
Compiler:
The compiler has been rewritten to internally use an intermediate representation based on Static Single Assignment (SSA). The new intermediate representation makes more optimizations possible.
The binary matching optimizations are now applicable in many more circumstances than before.
Type optimizations are now applied across local function calls, and will remove a lot more redundant type tests than before.
All compiler options that can be given in the source file can now be given in the option list on the command line for erlc.
In OTP 22, HiPE (the native code compiler) is not fully functional. The reasons for this are new BEAM instructions for binary matching that the HiPE native code compiler does not support. If erlc is invoked with the +native option, and if any of the new binary matching instructions are used, the compiler will issue a warning and produce a BEAM file without native code.
Standard libraries:
Cover now uses the counters module instead of ets for updating counters. The new function cover:local_only/0 allows running Cover in a restricted but faster local-only mode. The increase in speed will vary depending on the type of code being cover-compiled, as an example the compiler test suite runs more than twice as fast with the new Cover.
A simple socket API is provided through the socket module. This is a low level API that does *not* replace gen_[tcp|udp|sctp]. It is intended to *eventually* replace the inet driver. It also provides a basic API that facilitates the implementation of other protocols than TCP, UDP and SCTP. Known issues are; No support for the Windows OS (currently), a small term leakage. This feature will be classed as experimental in OTP 22.
SSL: now uses the new logger API, including log levels and verbose debug logging.
SSL: Basic support for TLS 1.3 Server for experimental use.
crypto: The new hash_info/1 and cipher_info/1 functions returns maps with information about the hash or cipher in the argument.
## v1.9.1 (2019-07-18)
### 1. Enhancements
#### Mix
* [mix format] Print relative paths in `--check-formatted` output
* [mix release] Support included applications
### 2. Bug fixes
#### Elixir
* [Code] Fix formatter wrongly removing nested parens in nested calls
#### Logger
* [Logger] Do not crash translator on poorly formatted supervisor names
#### Mix
* [mix compile] Raise readable error for mismatched sources during compilation
* [mix release] Preserve UTF8 encoding in release config files
## v1.9.0 (2019-06-24)
### 1. Enhancements
#### EEx
* [EEx] Allow more complex mixed expressions when tokenizing
#### Elixir
* [Access] Allow `Access.at/1` to handle negative index
* [CLI] Add support for `--boot`, `--boot-var`, `--erl-config`, `--pipe-to`, `--rpc-eval`, and `--vm-args` options
* [Code] Add `static_atom_encoder` option to `Code.string_to_quoted/2`
* [Code] Support `:force_do_end_blocks` on `Code.format_string!/2` and `Code.format_file!/2`
* [Code] Do not raise on deadlocks on `Code.ensure_compiled/1`
* [Config] Add `Config`, `Config.Reader`, and `Config.Provider` modules for working with configuration
* [File] Add `File.rename!/2`
* [Inspect] Add `:inspect_fun` and `:custom_options` to `Inspect.Opts`
* [Kernel] Add `~U` sigil for UTC date times
* [Kernel] Optimize `&super/arity` and `&super(&1)`
* [Kernel] Optimize generated code for `with` with a catch-all clause
* [Kernel] Validate `__struct__` key in map returned by `__struct__/0,1`
* [Module] Add `Module.get_attribute/3`
* [Protocol] Improve `Protocol.UndefinedError` messages to also include the type that was attempted to dispatch on
* [Protocol] Optimize performance of dynamic dispatching for non-consolidated protocols
* [Record] Include field names in generated type for records
* [Regex] Automatically recompile regexes
* [Registry] Add `Registry.select/2`
* [System] Add `System.restart/0`, `System.pid/0` and `System.no_halt/1`
* [System] Add `System.get_env/2`, `System.fetch_env/1`, and `System.fetch_env!/1`
* [System] Support `SOURCE_DATE_EPOCH` for reproducible builds
#### ExUnit
* [ExUnit] Allow multiple `:exclude` on configuration/CLI
* [ExUnit.DocTest] No longer wrap doctest errors in custom exceptions. They ended-up hiding more information than showing
* [ExUnit.DocTest] Display the actual doctest code when doctest fails
#### IEx
* [IEx.CLI] Copy ticktime from remote node on IEx `--remsh`
* [IEx.CLI] Automatically add a host on node given to `--remsh`
#### Logger
* [Logger] Use a decentralized mode computation for Logger which allows overloads to be detected more quickly
* [Logger] Use `persistent_term` to store configuration whenever available for performance
#### Mix
* [Mix] Follow XDG base dir specification in Mix for temporary and configuration files
* [Mix.Generator] Add `copy_file/3`, `copy_template/4`, and `overwite?/2`
* [Mix.Project] Add `preferred_cli_target` that works like `preferred_cli_env`
* [mix archive.uninstall] Allow `mix archive.uninstall APP` to uninstall any installed version of APP
* [mix new] No longer generate a `config/` directory for mix new
* [mix release] Add support for releases
* [mix release.init] Add templates for release configuration
* [mix test] Allow running tests for a given umbrella app from the umbrella root with `mix test apps/APP/test`. Test failures also include the `apps/APP` prefix in the test location
### 2. Bug fixes
#### EEx
* [EEx] Consistently trim newlines when you have a single EEx expression per line on multiple lines
#### Elixir
* [Code] Quote `::` in `Code.format_string!/1` to avoid ambiguity
* [Code] Do not crash formatter on false positive sigils
* [Enum] Ensure the first equal entry is returned by `Enum.min/2` and `Enum.max/2`
* [Kernel] Improve error message when string interpolation is used in a guard
* [Kernel] Properly merge and handle docs for callbacks with multiple clauses
* [Kernel] Guarantee reproducible builds on modules with dozens of specs
* [Kernel] Resolve `__MODULE__` accordingly in nested `defmodule` to avoid double nesting
* [Kernel] Type variables starting with an underscore (`_foo`) should not raise compile error
* [Kernel] Keep order of elements when macro `in/2` is expanded with a literal list on the right-hand side
* [Kernel] Print proper location on undefined function error from dynamically generated functions
* [Kernel] **Potentially breaking** Do not leak aliases when nesting module definitions that are fully namespaced modules. If you defined `defmodule Elixir.Foo.Bar` inside `defmodule Foo`, previous Elixir versions would automatically define an alias, but fully namespaced modules such as `Elixir.Foo.Bar` should never define or require an alias. If you were accidentally relying on this broken behaviour, your code may no longer work
* [System] Make sure `:init.get_status/0` is set to `{:started, :started}` once the system starts
* [Path] Do not expand `~` in `Path.expand/2` when not followed by a path separator
* [Protocol] Ensure `debug_info` is kept in protocols
* [Regex] Ensure inspect returns valid `~r//` expressions when they are manually compiled with backslashes
* [Registry] Fix ETS leak in `Registry.register/2` for already registered calls in unique registries while the process is still alive
#### ExUnit
* [ExUnit] Raise error if attempting to run single line tests on multiple files
* [ExUnit] Return proper error on duplicate child IDs on `start_supervised`
#### IEx
* [IEx] Automatically shut down IEx if we receive EOF
#### Logger
* [Logger] Don't discard Logger messages from other nodes as to leave a trail on both systems
#### Mix
* [mix compile] Ensure Erlang-based Mix compilers (erlang, leex, yecc) set valid position on diagnostics
* [mix compile] Ensure compilation halts in an umbrella project if one of the siblings fail to compile
* [mix deps] Raise an error if the umbrella app's dir name and `mix.exs` app name don't match
* [mix deps.compile] Fix subcommand splitting bug in rebar3
* [mix test] Do not consider modules that are no longer cover compiled when computing coverage report, which could lead to flawed reports
### 3. Soft-deprecations (no warnings emitted)
#### Mix
* [Mix.Config] `Mix.Config` has been deprecated in favor of the `Config` module that now ships as part of Elixir itself. Reading configuration files should now be done by the `Config.Reader` module
### 4. Hard-deprecations
#### Elixir
* [CLI] Deprecate `--detached` option, use `--erl "-detached"` instead
* [Map] Deprecate Enumerable keys in `Map.drop/2`, `Map.split/2`, and `Map.take/2`
* [String] The `:insert_replaced` option in `String.replace/4` has been deprecated. Instead you may pass a function as a replacement or use `:binary.replace/4` if you need to support earlier Elixir versions
#### Mix
* [Mix.Project] Deprecate `Mix.Project.load_paths/1` in favor of `Mix.Project.compile_path/1`
Update to the canonical form of an R package and fix the LICENSE
field. Note that this package is now included within the base R
package, so it is marked with CONFLICTS.
This repo is a continuation of the bsd-port tree, still maintained by
the FreeBSD ports java people.
It is forked from (and merges regularly from) AdoptOpenJDK.
They accept patches for other BSDs, so we should see if we have anything
in our tree worth contributing.
As a side effect, this changes updates openjdk8 to u222.
1 New and Improved Features
1.1 Direct Linking
Direct linking can be enabled with -Dclojure.compiler.direct-linking=true
Direct linking allows functions compiled with direct linking on to make direct static method calls to most other functions, instead of going through the var and the Fn object. This can enable further optimization by the jit, at a cost in dynamism. In particular, directly-linked calls will not see redefinitions.
With this change, clojure.core itself is compiled with direct linking and therefore other namespaces cannot redefine core fns and have those redefinitions seen by core code.
A new metadata key ^:redef is provided. A function declared with this key can be redefined and will never be direct linked. Also, functions declared as ^:dynamic will never be direct linked.
CLJ-1809
CLJ-1805
CLJ-1854
CLJ-1856
1.2 String Functions
Several new string functions were added to clojure.string to increase portability and reduce the need for Java interop calls:
index-of - search for the index of a char or string in a string
last-index-of - search for the index of a char or string backwards in a string
starts-with? - true if string starts with a substring
ends-with? - true if string ends with a substring
includes? - true if string includes a substring
CLJ-1449
1.3 Socket Server and REPL
The Clojure runtime now has the ability to start a socket server at initialization based on system properties. One expected use for this is serving a socket-based REPL, but it also has many other potential uses for dynamically adding server capability to existing programs without code changes.
A socket server will be started for each JVM system property like clojure.server.<server-name>. The value for this property is an edn map representing the configuration of the socket server with the following properties:
address - host or address, defaults to loopback
port - positive integer, required
accept - namespaced symbol of function to invoke on socket accept, required
args - sequential collection of args to pass to accept
bind-err - defaults to true, binds *err* to socket out stream
server-daemon - defaults to true, socket server thread doesn't block exit
client-daemon - defaults to true, socket client thread doesn't block exit
Additionally, there is a repl function provided that is slightly customized for use with the socket server in clojure.core.server/repl.
Following is an example of starting a socket server with a repl listener. This can be added to any existing Clojure program to allow it to accept external REPL clients.
-Dclojure.server.repl="{:port 5555 :accept clojure.core.server/repl}"
An example client you can use to connect to this socket repl is telnet:
$ telnet 127.0.0.1 5555
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
user=> (println "hello")
hello
See:
CLJ-1671
CLJ-1853
Socket REPL design page
CLJ-1829
2 Enhancements
2.1 Error handling
CLJ-1778 let-bound namespace-qualified bindings should throw (if not map destructuring)
CLJ-1456 Compiler now errors if too few or too many arguments to throw
CLJ-1282 quote now throws if passed more or less than one arg
CLJ-1210 Improved error message for (clojure.java.io/reader nil)
2.2 Documentation strings
CLJ-1060 'list*' returns not a list
CLJ-1722 Typo in the docstring of 'with-bindings'
CLJ-1769 Docstrings for *' and +' refer to * and +
CLJ-1414 sort and sort-by now indicate sort is stable in docstring
2.3 Performance
CLJ-703 Improve writeClassFile performance
CLJ-1765 areduce performance improvements
CLJ-1724 Remove unnecessary call to seq() in LazySeq.hashCode()
CLJ-1295 Improved array-map dissoc performance
CLJ-1277 Speed up printing of time instants with type hints
CLJ-1259 Speed up pprint and cl-format with type hints
CLJ-668 Improve slurp performance by using StringWriter and jio/copy
2.4 Other enhancements
CLJ-1208 Optionally require namespace on defrecord class init
CLJ-1823 Document new :load-ns option to defrecord/deftype
CLJ-1810 ATransientMap now marked public
CLJ-1653 str of an empty list should be "()"
CLJ-1567 Removed unused local in condp implementation
CLJ-1351 Unused swapThunk method was being emitted for fns with keyword callsites
CLJ-1329 Removed unused local in PersistentVector.cons()
CLJ-1831 Add clojure.core/map-entry? predicate
CLJ-1845 Make clojure.core/load dynamic so it can be redef'ed even with direct linking
3 Bug Fixes
CLJ-130 Namespace metadata lost in AOT compile
CLJ-1134 star-directive in clojure.pprint/cl-format with at-prefix ("~n@*") does not obey its specification
CLJ-1137 Metadata on a def gets evaluated twice
CLJ-1157 Classes generated by gen-class aren't loadable from remote codebase
CLJ-1225 quot overflow issues around Long/MIN_VALUE for BigInt
CLJ-1313 Correct a few unit tests
CLJ-1319 array-map fails lazily if passed an odd number of arguments
CLJ-1361 pprint with code-dispatch incorrectly prints a simple ns macro call
CLJ-1390 pprint a GregorianCalendar results in Arity exception
CLJ-1399 field name unmunged when recreating deftypes serialized into bytecode
CLJ-1485 clojure.test.junit/with-junit-output doesn't handle multiple expressions
CLJ-1528 clojure.test/inc-report-counter is not thread-safe
CLJ-1533 invokePrim path does not take into account var or form meta
CLJ-1562 some->,some->>,cond->,cond->> and as-> doesn't work with (recur)
CLJ-1565 pprint produces infinite output for a protocol
CLJ-1588 StackOverflow in clojure.test macroexpand with are and anon fn
CLJ-1644 into-array fails for sequences starting with nil
CLJ-1645 protocol class does not set the source file
CLJ-1657 proxy bytecode calls super methods of abstract classes
CLJ-1659 compile leaks files
CLJ-1761 clojure.core/run! does not always return nil per docstring
CLJ-1782 Spelling mistake in clojure.test/use-fixtures
CLJ-1785 Reader conditionals throw when returning nil
CLJ-1766 Serializing+deserializing lists breaks their hash
CLJ-1609 Edge case in Reflector's search for a public method declaration
CLJ-1586 Compiler doesn't preserve metadata for LazySeq literals
CLJ-1232 Functions with non-qualified return type hints will now work without import from other namespace
CLJ-1812 Fix test failure on windows due to line endings
CLJ-1380 3-arg ExceptionInfo constructor permitted nil data
CLJ-1226 set! of a deftype field using field-access syntax caused ClassCastException
Records and types without fields eval to empty map
CLJ-1827 Fix reflection warning introduced in CLJ-1259
CLJ-1453 Ensure that all Iterator implementations throw NoSuchElementException on next() when exhausted
CLJ-1868 Avoid compiler NPE when checking class return type
Changes in 2.2.6 (since 2.2.5)
* Bug fixes
** Fix regression introduced in 2.2.5 that would break HTTP servers
Guile 2.2.5 introduced a bug that would break the built-in HTTP server
provided by the (web server) module. Specifically, HTTP servers would
hang while reading requests. See <https://bugs.gnu.org/36350>.
** 'strftime' and 'strptime' honor the current locale encoding
Until now these procedures would wrongfully assume that the locale
encoding is always UTF-8. See <https://bugs.gnu.org/35920>.
** Re-export 'current-load-port'
This procedure was erroneously removed in the 2.2 series but was still
documented.
** Minor documentation mistakes were fixed
Changelog:
Changes affecting backwards compatibility
All strutils.rfind procs now take start and last like strutils.find with the same data slice/index meaning. This is backwards compatible for calls not changing the rfind start parameter from its default. (#11487)
In the unlikely case that you were using rfind X, start=N, or rfind X, N, then you need to change that to rfind X, last=N or rfind X, 0, N. (This should minimize gotchas porting code from other languages like Python or C++.)
On Windows stderr/stdout/stdin are not opened as binary files anymore. Use the switch -d:nimBinaryStdFiles for a transition period.
Breaking changes in the standard library
Mac OS X / BSD: TSa_Family is now the uint8 type, so type conversions like x.sin_family = uint16 toInt(nativesockets.AF_INET) need to be changed into x.sin_family = TSa_Family toInt(nativesockets.AF_INET).
Library additions
toOpenArray is now available for the JS target.
Library changes
Fix async IO operations stalling even after socket is closed. (#11232)
More informative error message for streams.openFileStream. (#11438)
Compiler changes
Better error message for IndexError for empty containers. (#11476)
Fix regression in semfold for old right shift. (#11477)
Fix for passing tuples as static params to macros. (#11423)
Bugfixes
Fixed "nimpretty goes crazy with this snippet" (#10295)
Fixed "nimpretty doesn't trim all whitespace on the right side of an export marker" (#10177)
Fixed "nimpretty gives invalid indentation to array elements" (#9505)
Fixed "nimpretty doesn't indent correctly if preceding line ends with ;, { etc" (#10159)
Fixed "Nimpretty wrong indentation for doc comments" (#10156)
Fixed "HttpClient Documentation needs Proxy example" (#11281)
Fixed "nimpretty aligns comment annoyingly" (#9399)
Fixed "ENDB missing from Docs and TheIndex, remove ENDB from -fullhelp" (#11431)
Fixed "Nimrod on Documentation generator" (#11460)
Fixed "nimpretty (de)indents code where it shouldn't" (#11468)
Fixed "nimpretty adds spaces where it shouldn't" (#11470)
Fixed "nimpretty formats enums differently based on commas" (#11467)
Fixed "strutils.rfind start parameter is unecessarily unusual" (#11430)
Fixed "TinyC is not documented" (#11495)
Fixed "c2nim missing from 0.20.0" (#11434)
Fixed "nimsuggest doesn't work unless compiled with -d:danger" (#11482)
Fixed "random.initRand crashes in Nim 0.20.0 JS backend" (#11450)
Fixed "0.20.0 fails to bootstrap when passing "-verbosity:2" (or 3) to koch" (#11436)
Fixed "Destructors lifting doesn't work with inheritance" (#11517)
Fixed "std/sums missing from TheIndex" (#11543)
Fixed "sequtils module: link is broken" (#11546)
Fixed "Case Statement Macros do not work in functions above exported functions." (#11556)
Fixed "newruntime: internal error when initializing a proc variable" (#11533)
Fixed "newruntime: error when modifying a sequence" (#11524)
Fixed "fmod and other math module functions are missing in js mode" (#4630)
Fixed "Object variants and new runtime" (#11563)
Fixed "newruntime exceptions" (#11577)
Fixed "nimpretty is not aware that the next line is a part of the same context" (#11469)
Fixed "Distinct procs fail to compile" (#11600)
Fixed "[SharedTables] Error: undeclared identifier: 'defaultInitialSize'" (#11588)
Fixed "newSeqOfCap is not working in newruntime" (#11098)
Fixed "nimpretty destroys source with a source code filter" (#11532)
Fixed "Unexpected behaviour when constructing with result" (#11525)
Fixed "Regression in 0.20.0: Nested proc using outer scope variable fails to compile" (#11523)
Fixed "os:standalone Error: redefinition of 'nimToCStringConv' " (#11445)
Fixed "No ambiguity error on field overloaded by field=" (#11514)
Fixed "object variants and new runtime part 2" (#11611)
Fixed "seq Error: unhandled exception: value out of range: 32772 " (#11606)
Fixed "Compiled binary includes full path to internal nim files" (#11572)
Fixed "Newruntime: top-level string variable is empty after an array assignment" (#11614)
Fixed "Newruntime: raise ObjContructor() doesn't compile" (#11628)
Fixed "Owned ref can be copied and causes double-free" (#11617)
Fixed "When compiling to JS (in -d:release) output contains toolchain path on dev's machine" (#11545)
Fixed "wrong unicode string output" (#11618)
Fixed "unittest "generic instantiation too nested" error" (#11515)
Fixed "Last read of a var parameter generates sink instead of assignment" (#11633)
Fixed "const table with proc type does not compile anymore" (#11479)
Fixed "Can't use offsetOf on object that ends with an UncheckedArray" (#11320)
Fixed "Newruntime/regression: Bad codegen for inline methods" (#11636)
Fixed "String or sequences inside a loop are not cleared in each iteration" (#11510)
Fixed "Nim -v doesn't acknowledge new danger flag" (#11484)
Fixed "SIGSEGV while compiling when trying to instantiate a case type, that uses an enum with nsage of parts of strutils fails when using -d:useNimRtl" (#8405)
Fixed "regression(0.20): finally block executed twice in VM" (#11610)
Fixed "exportc symbol not exported, leading to link error" (#11651)
Fixed "Render bug: opearatorasses refs across threads" (#7057)
Fixed "BUG: "varargs[string, $]" calls $ n^2 times instead of n times (n=len(varargs))" (#8316)
Fixed "Problem with the same name for module and exported type" (#3333)
Fixed "-gc:go does notles/objects fail with "non-trivial" error..." (#11671)
Fixed "Regression: parameter default value + typedesc parameter causes compiler crash" (#11660)
Fixed "newruntime: undetected dangling ref" (#11350)
Fixed "Newruntime: setLen() not working on sequences of owned refs" (#11530)
Fixed "Incorrect overflow/underflow error in case statements" (#11551)
Fixed "cgen preprocessor directive placed after struct declaration" (#11691)
Fixed "continue in an except Exception as e block crashes the compiler." (#11683)
Fixed "nimsuggest, nim check segfault when using bindSym and doAssert" (#10901)
Fixed "Nimpretty issue, multiline string of x length only causes output grow every time." (#11700)
Fixed "Array indexed by distinct int doesnt work with iterators" (#11715)
Before, the filename "3270" was wrongly replaced with "${PYVERSSUFFIX}"
since the version number "3.7", when interpreted as a regular expression,
matched that filename.
crates.
Previously, crates with a '-' outside the version and version with semver
pre-release version and semver build metadata were not properly handled.
Improvement suggestion by leot@
Tested all cargo.mk users in pkgsrc.
This also addresses PR/54316.
Please note: this bootstrap is built against 8.99.50, i.e. fairly
recent -current. This should make it possible to build rust on
this OS version. The previous bootstrap kit was built against
8.99.35, and apparently a C++ update happened since then making
the older bootstrap kit unusable on a fresh, new -current.
This fixes a nasty code-generation bug, among other things:
go1.12.6 (released 2019/06/11) includes fixes to the compiler, the linker,
the go command, and the crypto/x509, net/http, and os packages.
See the Go 1.12.6 milestone on our issue tracker for details.
go1.12.7 (released 2019/07/08) includes fixes to cgo, the compiler,
and the linker. See the Go 1.12.7 milestone on our issue tracker for details.
go1.11.11 (released 2019/06/11) includes a fix to the crypto/x509 package.
See the Go 1.11.11 milestone on our issue tracker for details.
go1.11.12 (released 2019/07/08) includes fixes to the compiler and the linker.
See the Go 1.11.12 milestone on our issue tracker for details.
Python 3.7.4 final
Core and Builtins
bpo-37500: Due to unintended side effects, revert the change introduced by bpo-1875 in 3.7.4rc1 to check for syntax errors in dead conditional code blocks.
Documentation
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.
Python 3.7.4 release candidate 2
Security
bpo-37463: ssl.match_hostname() no longer accepts IPv4 addresses with additional text after the address and only quad-dotted notation without trailing whitespaces. Some inet_aton() implementations ignore whitespace and all data after whitespace, e.g. ‘127.0.0.1 whatever’.
Core and Builtins
bpo-24214: Improved support of the surrogatepass error handler in the UTF-8 and UTF-16 incremental decoders.
Library
bpo-37440: http.client now enables TLS 1.3 post-handshake authentication for default context or if a cert_file is passed to HTTPSConnection.
bpo-37437: Update vendorized expat version to 2.2.7.
bpo-37428: SSLContext.post_handshake_auth = True no longer sets SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the option is documented as ignored for clients, OpenSSL implicitly enables cert chain validation when the flag is set.
bpo-32627: Fix compile error when _uuid headers conflicting included.
Windows
bpo-37369: Fixes path for sys.executable when running from the Microsoft Store.
bpo-35360: Update Windows builds to use SQLite 3.28.0.
macOS
bpo-34602: Avoid test suite failures on macOS by no longer calling resource.setrlimit to increase the process stack size limit at runtime. The runtime change is no longer needed since the interpreter is being built with a larger default stack size.
Imported from wip.
"Commodore BASIC" (cbmbasic) is a 100% compatible version of Commodore's
version of Microsoft BASIC 6502 as found on the Commodore 64. You can use it
in interactive mode or pass a BASIC file as a command line parameter.
cbmbasic does not emulate 6502 code; all code is completely native. On a
1 GHz CPU you get about 1000x speed compared to a 1 MHz 6502.
In 5.1.0 the binary-version was bumped to 11. Update OWN_DIRS
accordingly and introduce CHICKEN_BINARY_VERSION variable to
automatically adjust OWN_DIRS and PLIST.
PKGREVISION++