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++
Changelog:
The 2.13.0 release improves Scala in the following areas:
Collections: Standard library collections have been overhauled
for simplicity, performance, and safety. This is the centerpiece
of the release.
Standard library: Future is faster and more robust. Elsewhere,
useful classes and methods have been added.
Language: Literal types, partial unification, by-name implicits,
more.
Compiler: 5-10% faster, deterministic output, improved optimizer.
3.3.5:
Handle annotation args in Python 3.x
Fix vararg and function signatures in 3.x
Some 3.x < 3.6 while (1)/if fixes — others remain
Start reinstating else if -> elif
LOAD_CONST -> LOAD_CODE where appropriate
option --weak-verify is now --syntax-verify
code cleanups, start using black to reformat text
Changes:
3.6.9
=====
Documentation
-------------
- 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
0.5.0:
- **Breaking Change** comp_for is now called sync_comp_for for all Python
versions to be compatible with the Python 3.8 Grammar
- Added .pyi stubs for a lot of the parso API
- Small FileIO changes
Python 3.6.9 final
Library
bpo-37437: Update vendorized expat version to 2.2.7.
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.
Python 3.6.9 release candidate 1
Security
bpo-35907: CVE-2019-9948: Avoid file reading by disallowing local-file:// and local_file:// URL schemes in URLopener().open() and URLopener().retrieve() of urllib.request.
bpo-36742: Fixes mishandling of pre-normalization characters in urlsplit().
bpo-30458: 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 http.client.InvalidURL exception to be raised.
bpo-36216: 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.
bpo-33529: Prevent fold function used in email header encoding from entering infinite loop when there are too many non-ASCII characters in a header.
bpo-35746: [CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did not handle CRL distribution points with empty DP or URI correctly. A malicious or buggy certificate can result into segfault. Vulnerability (TALOS-2018-0758) reported by Colin Read and Nicolas Edet of Cisco.
bpo-35121: 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 http.cookiejar.DefaultCookiePolicy policy. Patch by Karthikeyan Singaravelan.
Library
bpo-35643: Fixed a SyntaxWarning: invalid escape sequence in Modules/_sha3/cleanup.py. Patch by Mickaël Schoentgen.
bpo-35121: 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 “/”. Patch by Karthikeyan Singaravelan.
Documentation
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
Tests
bpo-36816: Update Lib/test/selfsigned_pythontestdotnet.pem to match self-signed.pythontest.net’s new TLS certificate.
bpo-35925: 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.
bpo-27313: Avoid test_ttk_guionly ComboboxTest failure with macOS Cocoa Tk.
bpo-32947: test_ssl fixes for TLS 1.3 and OpenSSL 1.1.1.
macOS
bpo-34602: Avoid failures setting macOS stack resource limit with resource.setrlimit. This reverts an earlier fix for bpo-18075 which forced a non-default stack size when building the interpreter executable on macOS.
0.711:
The following two issues in mypy 0.710 were fixed:
Revert typeshed (“Define functools.partial as overloaded function instead of its own class”). This caused too many false positive errors in real-world code.
Fix MYPYC_BLACKLIST on Windows. This broke running dmypy on Windows.
Changelog:
5.1.0
- Core libraries
- Symbols ending or starting with a colon are now always pipe-quoted
when written by `write` to ensure they can be read back with a
different keyword-style setting.
- Read-write invariance of special symbols starting with #! other
than #!key, #!rest or #!optional is now preserved (#1572).
- When using (set-file-position!) on a port, its EOF status will now
be reset.
- In (chicken file posix), the values of perm/irgrp, perm/iwgrp,
perm/ixgrp, perm/iroth, perm/iwoth and perm/ixoth are now correctly
defined (they were all for "usr"; #1602, thanks to Eric Hoffman).
- In (chicken file posix), `file-truncate` now accepts also accepts
port objects, for consistency with other file procedures.
All such procedures from (chicken file posix) now have the correct
types in types.db (fixes#1609, thanks to Robert Jensen).
- Add the system-config-directory and system-cache-directory procedures
in the chicken.platform module. These procedures follow the XDG
specification and also give sensible results on Windows.
- Fix get-environment from (chicken process-context) to raise an
error when passed #f instead of segfaulting.
- Qualified symbols (##foo#bar style) are no longer encoded by a
byte prefix inside the symbol name. This ensures read-write
invariance of symbols which start with a low-byte character
(fixes#1077, except for keywords, which start with NUL bytes).
- Fix a missing export (list->s64vector) in SRFI-4.
- Runtime system
- Keywords are now distinct types; they are not a subtype of symbols.
- Use arc4random on FreeBSD (thanks to Tobias Kortkamp and gahr)
- Removed the unused, undocumented (and incorrect!) C functions
C_delete_symbol_table and C_set_symbol_table.
- Continuations which discard additional values beyond the first no
longer accept multiple values via direct invocation after being
captured through `call/cc`, only via `values` (revert of #1390,
due to #1601)
- SRFI-4 vector predicates, reference, set and length procedures
should now be faster in tight loops as they're inlineable (#757).
- Keywords are now interned in a separate keyword table, not in the
standard symbol table. This brings full read-write invariance
for symbols (they can now also start with NUL bytes). Keywords
no longer have plists. Fixes#1576.
- Increased the "binary compatibility version" to 11.
- Compiler
- Restored optimized implementations of =, +, -, /, * and quotient in
fixnum-arithmetic mode (fixes#1604 mostly; thanks to "chickendan").
- Added an optimization pass for reducing the amount of boxing of
intermediate floating point values, enabled by the "-lfa2" compiler
option.
- The "lfa2" pass is now enabled at optimization levels 2 or higher.
- Module system
- When you try to import the module you are currently defining into
itself, an error will be raised. This prevents an infinite loop in
the compiler when later trying to import that same module (fixes
#1506, thanks to Kristian Lein-Mathisen).
- Foreign function interface
- Improved hygiene in FFI macro expansions, which means you don't
have to import "scheme" or "(chicken base)" for them to work.
- Type system
- It is now possible to quote free variables in type declarations,
which acts as shorthand for `forall' (thanks to "megane")
- Tools
- csi now uses (system-config-directory) to find csirc and falls back to
$HOME/.csirc when needed.
- chicken-install now uses (system-config-directory) to find a user
defined setup.defaults file ; it also uses (system-cache-directory)
for its egg cache directory when the CHICKEN_EGG_CACHE environment
variable is not defined.
- Egg specifications
- Allows "cond-expand" and "error" forms in egg specification files.
- Add "c-object" and "object" properties to link separately compiled
C objects into CHICKEN code.
v6.9.2
This release is identical to v6.9.1, but we had to publish a new version due to a .git directory in the release.
v6.9.1
BUGFIXES
Update knownBroken version.
Fix outdated rendering for global dependencies.
Fix OTP for token create and remove.
DEPENDENCIES
sha@3.0.0
query-string@6.4.0
readable-stream@3.2.0
tacks@1.3.0
tap@12.6.0
tar-stream@2.0.1
Add comment to patch.
Changes in 2.2.5 (since 2.2.4):
* Notable improvements
** Greatly improved performance of bidirectional pipes.
The performance of bidirectional pipes, as created using 'open-pipe' or
'open-pipe*' in OPEN_BOTH mode, has been greatly improved. When reading
large blocks of binary data from a bidirectional pipe, the maximum
bandwidth has been increased by a factor of ~10^3 in some cases.
** New 'get-bytevector-some!' I/O primitive.
This new I/O primitive is similar to 'get-bytevector-some' from the
R6RS, except that it writes its data to a user-specified range of
indices in an existing bytevector. As a corollary, it is also now
possible to specify a maximum number of bytes to read. Note that
'get-bytevector-some', and now 'get-bytevector-some!', are unique among
Guile's I/O primitives in their support of efficient binary reads of
potentially large blocks while also allowing for short reads, to avoid
undesired blocking. Now these operations can be performed while also
avoiding heap-allocation.
'get-bytevector-some!' is needed to efficiently implement the new
bidirectional pipes, which are built upon R6RS custom binary
input/output ports.
** get-bytevector-{n!,some,some!} now support suspendable I/O.
Scheme implementations of 'get-bytevector-n!', 'get-bytevector-some',
and 'get-bytevector-some!' have been added to (ice-9 suspendable-ports).
As a result, these I/O operations now support suspendable I/O.
* Compiler improvements
** guild compile: Add -Wshadowed-toplevel.
Top-level definitions that shadow previous top-level definitions from
the same compilation unit will now trigger a compile-time warning, if
-Wshadowed-toplevel is enabled. It is enabled by default.
** guild compile: Add '-x' flag.
Passing "-x EXT" to 'guild compile' will now cause EXT to be recognized
as a valid source file name extension. For example, to compile R6RS
code, you might want to pass "-x .sls" so that files ending in ".sls"
can be found.
* Miscellaneous improvements
** Bootstrap optimization
eval.go and psyntax-pp.go are now built before the rest of the .go files
so that they are processed by a fast macro expander. This saves time
when using parallel builds.
** put-u8 now always writes a single byte, regardless of the port encoding.
Previously, (put-u8 PORT OCTET) worked as expected only when writing to
binary ports, i.e. those with port encoding "ISO-8859-1" a.k.a. Latin-1.
Strictly speaking, this meets the requirements of the R6RS 'put-u8',
which need only support binary ports. However, Guile in fact allows
binary I/O to be performed on any port, and yet 'put-u8' behaved in a
surprising way with other port encodings: it would perform a _textual_
I/O operation, writing the character with Unicode scalar value OCTET.
Now, 'put-u8' always writes a single byte with value OCTET, regardless
of the port encoding.
** Optimize fixnum exact integer square roots.
'exact-integer-sqrt' now avoids heap allocation when applied to a
fixnum. 'sqrt' now avoids heap allocation when applied to a fixnum
that's a perfect square. Fewer heap allocations are now required when
applying 'sqrt' to a square of an exact rational whose numerator or
denominator are fixnums.
** scm_mkstrport: Optimize the POS -> BYTE_POS conversion.
scm_mkstrport now avoids an unnecessary heap allocation and conversion
to UTF-8, when STR is provided and POS is non-zero.
** SRFI-19: Support ~N in string->date.
Support for the ~N escape, which allows fractions of a second to be
parsed, is now supported in SRFI-19 'string->date'.
** SRFI-19: Update the leap second table.
The leap on 1 January 2017 was added to SRFI-19's leap second table.
** stexi->shtml: Add support for @i, @math, @tie and @dots.
stexi->shtml is now able to convert @i, @math, @tie and @dots to HTML.
** Define AT_SYMLINK_NOFOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH.
AT_SYMLINK_FOLLOW, AT_NO_AUTOMOUNT, and AT_EMPTY_PATH are now available
from Scheme, if supported on the platform.
** Improvements to the 'time' macro from (ice-9 time).
The 'time' macro now supports expressions that return multiple values.
It has also been rewritten as a hygienic 'syntax-rules' macro.
Previously, it was built using 'define-macro', and was therefore
unhygienic. This is not merely an internal implementation detail, but
is potentially relevant to any user of the 'time' macro, since it could
lead to unintended variable capture and other problems.
** Clarify the documentation for 'nil?'.
See commit b44f505f1571fc9c42e58982f161a9cfc81fb7f4.
** Clarify the manual's "Processes" section.
See commit 8cdd3a0773930ca872a13aada7a1344f03bb382b.
** Avoid 'with-latin1-locale' in binary I/O tests.
See commit 162a031e5f2c64cd23fcf069fb7b5071196f9527.
** Update user-visible copyright years.
* Bug fixes
** Avoid regexp ranges in HTTP inter-protocol exploitation check.
The regular expression used to check for HTTP inter-protocol
exploitation attacks previously used a character range '0-9', whose
meaning depends on the current locale. This has now been fixed.
** Fixes to the SRFI-19 time/date library.
*** TAI-to-UTC conversion leaps at the wrong time.
<https://bugs.gnu.org/21911>
*** time-utc->date shows bogus zone-dependent leap second.
<https://bugs.gnu.org/22034>
*** Manual incorrectly describes Julian Date.
<https://bugs.gnu.org/21902>
*** date->string duff ISO 8601 negative years.
<https://bugs.gnu.org/21903>
*** date->string duff ISO 8601 format for non-4-digit years.
<https://bugs.gnu.org/21904>
*** julian-day->date negative input breakage.
<https://bugs.gnu.org/21906>
*** time-duration screws up negative durations.
<https://bugs.gnu.org/26162>
*** time-difference doesn't detect error of differing time types.
<https://bugs.gnu.org/26163>
** Improve overflow checks in bytevector, string, and I/O operations.
Several numerical computations, performed using primitive C arithmetic
in Guile's core bytevector, string, and I/O operations, have been
rewritten to avoid overflows.
** Fix type inferencing for 'nil?' and 'null?' predicates.
Previously, the compiler would sometimes miscompile certain combinations
of 'nil?' and 'null?' predicates present within the same top-level form.
See <https://bugs.gnu.org/33036>.
** Fix 'atomic-box-compare-and-swap!'.
Previously, 'atomic-box-compare-and-swap!' would sometimes spuriously
fail on architectures based on Load-Linked/Store-Conditional (LL/SC)
synchronication primitives (e.g. ARM, PowerPC, and MIPS) in a way that
was undetectable by the caller. See <https://bugs.gnu.org/32786>.
** Make URI handling locale independent.
Previously, procedures in (web uri) would misbehave in some locales
including sv_SE. See <https://bugs.gnu.org/35785>.
** Strings, i18n: Limit the use of alloca to approximately 8 kilobytes.
Previously, 'string-locale-ci=?', 'string-locale-ci<?',
'string-locale<?', 'string-locale-{downcase,upcase,titlecase}' and
'string-normalize-{nfd,nfc,nfkd,nfkc}' would overflow the C stack when
applied to very large strings.
** Fix documentation of R6RS 'binary-port?' to reflect reality.
Previously, the documentation incorrectly stated that 'binary-port?'
always returns #t. In fact, it returns #t if and only if the port
encoding is "ISO-8859-1". The documentation for 'binary-port?' and
'textual-port?' has been rewritten to reflect the current reality, and
also to leave open the possibility of changing the behavior of these
predicates in a future version of Guile.
** Avoid passing NULL to 'memcpy' and 'memcmp'.
Previously, NULL was sometimes passed to 'memcpy' or 'memcmp' when the
size argument was 0.
** Save and restore errno in the signal handler.
Previously, Guile's synchronous C signal handler failed to save and
restore 'errno', although it might change its value. This could
potentially lead to spurious corruptions of 'errno' within threads
interrupted by signals.
** scm_to_stringn: Avoid passing NULL to c_strcasecmp.
<https://lists.gnu.org/archive/html/guile-user/2019-05/msg00070.html>
** r6rs-ports: Accept 'port-position' values greater than 2^32.
<https://bugs.gnu.org/32161>
** r6rs-ports: 'put-bytevector' accepts 64-bit integers.
Fixed in commit 741c45458da0831a12a4f8d729814bf9f2cb6571.
** Fix R6RS call-with-{input,output}-file to open textual ports.
<https://bugs.gnu.org/32329>
** Update (ice-9 match) to include selected bug fixes from upstream.
*** ice-9/match named match-let is not working
<https://bugs.gnu.org/22925>
** open-process: Fix dup(2) and execvp(2) error handling.
Fixed in commit 521f1ab4709217407496004019c00005d2a82f78.
** bytevectors: Support large indices in integer accessors.
Fixed in commit b9cf3517efd4643670d970d2692bc7bede9a85e8.
** bytevectors: Fix list validation of *list->bytevector procedures.
<https://bugs.gnu.org/32938>
** Gracefully handle huge shift counts in 'ash' and 'round-ash'.
<https://bugs.gnu.org/32644>
** In 'ash' and 'round-ash', handle right shift count of LONG_MIN.
<https://bugs.gnu.org/21901>
** Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals.
<https://bugs.gnu.org/33044>
** web: Add support for HTTP header continuation lines.
Fixed in commit 73cde5ed7218a090ecee888870908af5445796f0.
** scm_seed_to_random_state: Support wide string arguments.
<https://bugs.gnu.org/33044>
** Do not warn the user when 'madvise' returns ENOSYS.
Fixed in commit 45e4ace6603e00b297e6542362273041aebe7305.
** Add 'texinfo' as a dependency in the README.
Fixed in commit 1bbce71501198c3c7abdf07941f5cdc1434858c2.
** Don't mutate read-only string in ports test.
Fixed in commit 552f007e91a97f136aad1b22918688b61d03a4a3.
** Remove redefinition of when & unless in snarf-check-and-output-texi.
Fixed in commit 1ba5d6f47a54dceee4452a1e7726d2635e5b3449.
** Fix strftime when Guile is built without threading support.
Fixed in commit 139c702fc8b61fdeb813c3428fef3701ea8677f9.
** Avoid leaking a file descriptor in test-unwind.
Fixed in commit 1437b76777e576b3d000e2f80c5ecdb33a74ac33.
** Fix binary output on files created by mkstemp!.
Fixed in commit 78468baa118d316050a27e43250966e52ffd3d54.
** Fix crypt-on-glibc test error.
Fixed in commit 27ffbfb0235de466016ea5a6421508f6548971b6.
** Fix race when expanding syntax-parameterize and define-syntax-parameter.
<https://bugs.gnu.org/27476#102>
** Add a fallback value for the locale-monetary-decimal-point.
Fixed in commit 9ba449643d4c2ac1d2174befca7d765af222bcc0.
** Handle newlib C library's langinfo constant names.
Fixed in commit 92105d13ad1363b511214589b7d62d95304beb17.
** Make locale monetary conversion tests be less strict on terminal whitespace.
Fixed in commit 2a3ccfb66714efc1c081ea6e921336f80b756d3c.
** Disable test for current value of setitimer on Cygwin.
Fixed in commit 3a64c504caaf83e9faf2ec9b7d0e031e1a6a09b9.
** Fix gc.test "after-gc-hook gets called" failures.
<https://bugs.gnu.org/31776#17>
** Update iconv.m4 from gnulib, to fix an iconv leak during configure.
<https://lists.gnu.org/archive/html/guile-devel/2019-05/msg00011.html>
** guild compile: Add missing newline in "unrecognized option" error message.
Fixed in commit 85c5bae4fd94f8686d26fd792b7c0f588c23bd94.
** 'basename' now correctly handles "/" and "//".
Fixed in commit 36ad1d24b3d2c174a64c445502a36f19605dbd65.
** Make srfi-71 visible through 'cond-expand'.
Fixed in commit 59a06d8392234fbec8b3605cec266a7a0a7b7a56.