3.3.104 24jan20 Added support for loading .vf files (provided FSDB reader
libraries are enabled).
Added support for dumping variable types in vcd saveer, not
just using "wire" for non-reals/strings.
Fix for uninitialized values at time 0 for FST, FSDB loaders.
# testthat 2.3.1
* The last version of testthat introduced a performance regression in
error assertions (#963). To fix it, you need to install rlang 0.4.2.
* Fixed error assertions with rJava errors (#964).
* Fixed issue where error and warning messages were not retrieved with
`conditionMessage()` under certain circumstances.
# testthat 2.3.0
## Conditions
This release mostly focusses on an overhaul of how testthat works with conditions (i.e. errors, warnings and messages). There are relatively few user-facing changes, although you should now see more informative backtraces from errors and failures.
* Unexpected errors are now printed with a simplified backtrace.
* `expect_error()` and `expect_condition()` now display a backtrace
when the error doesn't conform to expectations (#729).
* `expect_error()`, `expect_warning()` and `expect_message()` now call
`conditionMessage()` to get the condition message. This generic
makes it possible to generate messages at print-time rather than
signal-time.
* `expect_error()` gets a better warning message when you test for a custom
error class with `regexp`.
* New `exp_signal()` function is a condition signaller that
implements the testthat protocol (signal with `stop()` if the
expectation is broken, with a `continue_test` restart).
* Existence of restarts is first checked before invokation. This makes
it possible to signal warnings or messages with a different
condition signaller (#874).
* `ListReporter` now tracks expectations and errors, even when they occur
outside of tests. This ensures that `stop_on_failure` matches the results
displayed by the reporter (#936).
* You can silence warnings about untested error classes by
implementing a method for `is_uninformative_warning()`. This method
should be lazily registered, e.g. with `vctrs::s3_register()`. This
is useful for introducing an experimental error class without
encouraging users to depend on the class in their tests.
* Respect options(warn = -1) to ignore all warnings (@jeroen #958).
## Expectations
* Expectations can now be explicitly subclassed with
`new_expectation()`. This constructor follows our new conventions
for S3 classes and takes an optional subclass and optional
attributes.
* Unquoted inputs no longer potentially generate multiple test messages (#929).
* `verify_output()` no longer uses quasiquotation, which fixes issues
when verifying the output of tidy eval functions (#945).
* `verify_output()` gains a `unicode` parameter to turn on or off the
use of Unicode characters by the cli package. It is disabled by
default to prevent the tests from failing on platforms like Windows
that don't support UTF-8 (which could be your contributors' or your
CI machines).
* `verify_output()` now correctly handles multi-line condition
messages.
* `verify_output()` now adds spacing after condition messages,
consistent with the spacing added after normal output.
* `verify_output()` has a new syntax for inserting headers in output
files: insert a `"# Header"` string (starting with `#` as in
Markdown) to add a header to a set of outputs.
## Other minor improvements and bug fixes
* `compare.numeric()` uses a more sophisticated default tolerance that will
automatically skip tests that rely on numeric tolerance if long doubles are
not available (#940).
* `JunitReporter` now reports tests in ISO 8601 in the UTC timezone and
uses the maximum precision of 3 decimal places (#923).
-----------------------------------------
# rlang 0.4.4
* Maintenance release for CRAN.
-----------------------------------------
# rlang 0.4.3
* You can now use glue syntax to unquote on the LHS of `:=`. This
syntax is automatically available in all functions taking dots with
`list2()` and `enquos()`, and thus most of the tidyverse. Note that
if you use the glue syntax in an R package, you need to import glue.
A single pair of braces triggers normal glue interpolation:
```r
df <- data.frame(x = 1:3)
suffix <- "foo"
df %>% dplyr::mutate("var_{suffix}" := x * 2)
#> x var_foo
#> 1 1 2
#> 2 2 4
#> 3 3 6
```
Using a pair of double braces is for labelling a function argument.
Technically, this is shortcut for `"{as_label(enquo(arg))}"`. The
syntax is similar to the curly-curly syntax for interpolating
function arguments:
```r
my_wrapper <- function(data, var, suffix = "foo") {
data %>% dplyr::mutate("{{ var }}_{suffix}" := {{ var }} * 2)
}
df %>% my_wrapper(x)
#> x x_foo
#> 1 1 2
#> 2 2 4
#> 3 3 6
df %>% my_wrapper(sqrt(x))
#> x sqrt(x)_foo
#> 1 1 2.000000
#> 2 2 2.828427
#> 3 3 3.464102
```
* Fixed a bug in magrittr backtraces that caused duplicate calls to
appear in the trace.
* Fixed a bug in magrittr backtraces that caused wrong call indices.
* Empty backtraces are no longer shown when `rlang_backtrace_on_error`
is set.
* The tidy eval `.env` pronoun is now exported for documentation
purposes.
* `warn()` and `abort()` now check that either `class` or `message`
was supplied. `inform()` allows sending empty message as it is
occasionally useful for building user output incrementally.
* `flatten()` fails with a proper error when input can't be flattened (#868, #885).
* `inform()` now consistently appends a final newline to the message
(#880).
* `cnd_body.default()` is now properly registered.
* `cnd_signal()` now uses the same approach as `abort()` to save
unhandled errors to `last_error()`.
* Parsable constants like `NaN` and `NA_integer_` are now deparsed by
`expr_deparse()` in their parsable form (#890).
* Infix operators now stick to their LHS when deparsed by
`expr_deparse()` (#890).
-----------------------------------------
# rlang 0.4.2
* New `cnd_header()`, `cnd_body()` and `cnd_footer()` generics. These
are automatically called by `conditionMessage.rlang_error()`, the
default method for all rlang errors.
Concretely, this is a way of breaking up lazy generation of error
messages with `conditionMessage()` into three independent
parts. This provides a lot of flexibility for hierarchies of error
classes, for instance you could inherit the body of an error message
from a parent class while overriding the header and footer.
* The reminder to call `last_error()` is now less confusing thanks to
a suggestion by @markhwhiteii.
* The functions prefixed in `scoped_` have been renamed to use the
more conventional `local_` prefix. For instance, `scoped_bindings()`
is now `local_bindings()`. The `scoped_` functions will be
deprecated in the next significant version of rlang (0.5.0).
* The `.subclass` argument of `abort()`, `warn()` and `inform()` has
been renamed to `class`. This is for consistency with our
conventions for class constructors documented in
https://adv-r.hadley.nz/s3.html#s3-subclassing.
* `inform()` now prints messages to the standard output by default in
interactive sessions. This makes them appear more like normal output
in IDEs such as RStudio. In non-interactive sessions, messages are
still printed to standard error to make it easy to redirect messages
when running R scripts (#852).
* Fixed an error in `trace_back()` when the call stack contains a
quosured symbol.
* Backtrace is now displayed in full when an error occurs in
non-interactive sessions. Previously the backtraces of parent errors
were left out.
-----------------------------------------
# rlang 0.4.1
* New experimental framework for creating bulleted error messages. See
`?cnd_message` for the motivation and an overwiew of the tools we
have created to support this approach. In particular, `abort()` now
takes character vectors to assemble a bullet list. Elements named
`x` are prefixed with a red cross, elements named `i` are prefixed
with a blue info symbol, and unnamed elements are prefixed with a
bullet.
* Capture of backtrace in the context of rethrowing an error from an
exiting handler has been improved. The `tryCatch()` context no
longer leaks in the high-level backtrace.
* Printing an error no longer recommends calling `last_trace()`,
unless called from `last_error()`.
* `env_clone()` no longer recreates active bindings and is now just an
alias for `env2list(as.list(env))`. Unlike `as.list()` which returns
the active binding function on R < 4.0, the value of active bindings
is consistently used in all versions.
* The display of rlang errors derived from parent errors has been
improved. The simplified backtrace (as printed by
`rlang::last_error()`) no longer includes the parent errors. On the
other hand, the full backtrace (as printed by `rlang::last_trace()`)
now includes the backtraces of the parent errors.
* `cnd_signal()` has improved support for rlang errors created with
`error_cnd()`. It now records a backtrace if there isn't one
already, and saves the error so it can be inspected with
`rlang::last_error()`.
* rlang errors are no longer formatted and saved through
`conditionMessage()`. This makes it easier to use a
`conditionMessage()` method in subclasses created with `abort()`,
which is useful to delay expensive generation of error messages
until display time.
* `abort()` can now be called without error message. This is useful
when `conditionMessage()` is used to generate the message at
print-time.
* Fixed an infinite loop in `eval_tidy()`. It occurred when evaluating
a quosure that inherits from the mask itself.
* `env_bind()`'s performance has been significantly improved by fixing a bug
that caused values to be repeatedly looked up by name.
* `cnd_muffle()` now checks that a restart exists before invoking
it. The restart might not exist if the condition is signalled with a
different function (such as `stop(warning_cnd)`).
* `trace_length()` returns the number of frames in a backtrace.
* Added internal utility `cnd_entrace()` to add a backtrace to a
condition.
* `rlang::last_error()` backtraces are no longer displayed in red.
* `x %|% y` now also works when `y` is of same length as `x` (@rcannood, #806).
* Empty named lists are now deparsed more explicitly as
`"<named list>"`.
* Fixed `chr()` bug causing it to return invisibly.
## 1.7.0 (2019-10-14)
### New features
- `utils.quote_arg` will now optionally take an array of arguments and escape
them all into a single string.
- `app.parse_args` now accepts a 3rd parameter with a list of valid flags and aliasses
- `app.script_name` returns the name of the current script (previously a private function)
### Changes
- Documentation updates
- `utils.quit`: exit message is no longer required, and closes the Lua state (on 5.2+).
- `utils.assert_arg` and `utils.assert_string`: now return the validated value
- `pl.compat`: now exports the `jit` and `jit52` flags
- `pretty.write`: now sorts the output for easier diffs [#293](https://github.com/Tieske/Penlight/pull/293)
### Fixes
- `utils.raise` changed the global `on_error`-level when passing in bad arguments
- `utils.writefile` now checks and returns errors when writing
- `compat.execute` now handles the Windows exitcode -1 properly
- `types.is_empty` would return true on spaces always, indepedent of the parameter
- `types.to_bool` will now compare case-insensitive for the extra passed strings
- `app.require_here` will now properly handle an absolute base path
- `stringx.split` will no longer append an empty match if the number of requested
elements has already been reached [#295](https://github.com/Tieske/Penlight/pull/295)
- `path.common_prefix` and `path.relpath` return the result in the original casing
(only impacted Windows) [#297](https://github.com/Tieske/Penlight/pull/297)
- `dir.copyfile`, `dir.movefile`, and `dir.makepath` create the new file/path with
the requested casing, and no longer force lowercase (only impacted Windows)
[#297](https://github.com/Tieske/Penlight/pull/297)
- added a missing assertion on `path.getmtime` [#291](https://github.com/Tieske/Penlight/pull/291)
- `stringx.rpartition` returned bad results on a not-found [#299](https://github.com/Tieske/Penlight/pull/299)
## 1.6.0 (2018-11-23)
### New features
- `pl.compat` now provides `unpack` as `table.unpack` on Lua 5.1
### Changes
- `utils.unpack` is now documented and respects `.n` field of its argument.
- `tablex.deepcopy` and `tablex.deepcompare` are now cycle aware (#262)
- Installing through LuaRocks will now include the full rendered documentation
### Fixes
- Fixed `seq.last` returning `nil` instead of an empty list when given an empty iterator (#253).
- `pl.template` now applies `tostring` when substituting values in templates, avoiding errors when they are not strings or numbers (#256).
- Fixed `pl.import_into` not importing some Penlight modules (#268).
- Fixed version number stuck at 1.5.2 (#260).
- Fixed `types.is_empty` returning `true` on tables containing `false` key (#267).
- Fixed `test.assertraise` throwing an error when passed an array with a function to call plus its arguments (#272).
- Fixed `test.assertraise` not throwing an error when given function does not error but instead returns a string matching given error pattern.
- Fixed placeholder expressions being evaluated with wrong precedence of binary and unary negation.
- Fixed placeholder expressions being evaluated assuming wrong binary operator associativity (e.g. `_1-(_2+_3)` was evaluated as `(_1-_2)+_3`.
- Fixed placeholder expressions being evaluated as if unary operators take precedence over power operator (e.g. `(-_1)^_2`) was evaluated as `-(_1^2)`).
- Fixed vulnerable backtracking pattern in `pl.stringx.strip` (#275)
### 0.9.2 (9-Oct-2017)
- fix assorted crashes in closure callback invocation code
- fix double-free bug caused by incorrect annotation of Gio.DBusProxy.get_interface_info
- fix marshaling of arrays of pointers
- make objects unusable in __gc metamethod
- work around API break in GLib 2.54
- use structured GLib logging when available
- add Gio.Async support also for static methods and global functions
- better error message when Gtk.init fails
- add support for Travis
- don't hardcode pkg-config executable
- fix URI in GStreamer sample
- fix flags for DBus samples
Update clamav to 0.102.2.
## 0.102.2
ClamAV 0.102.2 is a bug patch release to address the following issues.
- [CVE-2020-3123](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-3123):
An Denial-of-Service (DoS) condition may occur when using the optional credit
card data-loss-prevention (DLP) feature. Improper bounds checking of an
unsigned variable resulted in an out-of-bounds read which causes a crash.
- Significantly improved scan speed of PDF files on Windows.
- Re-applied a fix to alleviate file access issues when scanning RAR files in
downstream projects that use libclamav where the scanning engine is operating
in a low-privelege process. This bug was originally fixed in 0.101.2 and the
fix was mistakenly omitted from 0.102.0.
- Fixed an issue wherein freshclam failed to update if the database version
downloaded is 1 version older than advertised. This situation may occur after
a new database version is published. The issue affected users downloading the
whole CVD database file.
- Changed the default freshclam ReceiveTimeout setting to 0 (infinite).
The ReceiveTimeout had caused needless database update failures for users with
slower internet connections.
- Correctly display number of kilobytes (KiB) in progress bar and reduced the
size of the progress bar to accomodate 80-char width terminals.
- Fixed an issue where running freshclam manually causes a daemonized freshclam
process to fail when it updates because the manual instance deletes the
temporary download directory. Freshclam temporary files will now download to a
unique directory created at the time of an update instead of using a hardcoded
directory created/destroyed at the program start/exit.
- Fix for Freshclam's OnOutdatedExecute config option.
- Fixes a memory leak in the error condition handling for the email parser.
- Improved bound checking and error handling in ARJ archive parser.
- Improved error handling in PDF parser.
- Fix for memory leak in byte-compare signature handler.
- Updates to the unit test suite to support libcheck 0.13.
- Updates to support autoconf 2.69 and automake 1.15.
Special thanks to the following for code contributions and bug reports:
- Antoine Deschênes
- Eric Lindblad
- Gianluigi Tiesi
- Tuomo Soini
The remserial program acts as a communications bridge between a
TCP/IP network port and a Linux device such as a serial port. Any
character-oriented Linux /dev device will work.
The program can also use pseudo-ttys as the device. A pseudo-tty
is like a serial port in that it has a /dev entry that can be opened
by a program that expects a serial port device, except that instead
of belonging to a physical serial device, the data can be intercepted
by another program. The remserial program uses this to connect a
network port to the "master" (programming) side of the pseudo-tty
allowing the device driver (slave) side to be used by some program
expecting a serial port. See example 3 below for details.
The program can operate as a server accepting network connections
from other machines, or as a client, connecting to remote machine
that is running the remserial program or some other program that
accepts a raw network connection. The network connection passes
data as-is, there is no control protocol over the network socket.
Multiple copies of the program can run on the same computer at the
same time assuming each is using a different network port and
device.
Changes:
2.26.4
======
- Always use a light theme for rendering form controls.
- Fix the build with WPE renderer disabled.
- Fix the build with OpenGL disabled.
- Fix the build with GCC 10.
- Fix several crashes and rendering issues.
Changes:
4.4
---
- Use a single inotify queue on Linux, limited by
/proc/sys/fs/inotify/max_user_watches
- Set the environment variable `ENTR_INOTIFY_WORKAROUND` to enable a
compatibility mode for platforms with deformed inotify support
PostgreSQL 12.2, 11.7, 10.12, 9.6.17, 9.5.21, and 9.4.26
PostgreSQL 9.4 Now EOL
This is the last release for PostgreSQL 9.4, which will no longer receive security updates and bug fixes. PostgreSQL 9.4 introduced new features such as JSONB support, the ALTER SYSTEM command, the ability to stream logical changes to an output plugin, and more.
While we are very proud of this release, these features are also found in newer versions of PostgreSQL. Many of these features have also received improvements, and, per our versioning policy, it is time to retire PostgreSQL 9.4.
To receive continued support, we suggest that you make plans to upgrade to a newer, supported version of PostgreSQL. Please see the PostgreSQL versioning policy for more information.
Security Issues
CVE-2020-1720: ALTER ... DEPENDS ON EXTENSION is missing authorization checks.
Versions Affected: 9.6 - 12
The ALTER ... DEPENDS ON EXTENSION sub-commands do not perform authorization checks, which can allow an unprivileged user to drop any function, procedure, materialized view, index, or trigger under certain conditions. This attack is possible if an administrator has installed an extension and an unprivileged user can CREATE, or an extension owner either executes DROP EXTENSION predictably or can be convinced to execute DROP EXTENSION.
Bug Fixes and Improvements
This update also fixes over 75 bugs that were reported in the last several months. Some of these issues affect only version 12, but may also affect all supported versions.
Some of these fixes include:
Fix for partitioned tables with foreign-key references where TRUNCATE ... CASCADE would not remove all data. If you have previously used TRUNCATE ... CASCADE on a partitioned table with foreign-key references please see the "Updating" section for verification and cleanup steps.
Fix failure to add foreign key constraints to table with sub-partitions (aka a multi-level partitioned table). If you have previously used this functionality, you can fix it by either detaching and re-attaching the affected partition, or by dropping and re-adding the foreign key constraint to the parent table. You can find more information on how to perform these steps in the ALTER TABLE documentation.
Fix performance issue for partitioned tables introduced by the fix for CVE-2017-7484 that now allows the planner to use statistics on a child table for a column that the user is granted access to on the parent table when the query contains a leaky operator.
Several other fixes and changes for partitioned tables, including disallowing partition key expressions that return pseudo-types, such as RECORD.
Fix for logical replication subscribers for executing per-column UPDATE triggers.
Fix for several crashes and failures for logical replication subscribers and publishers.
Improve efficiency of logical replication with REPLICA IDENTITY FULL.
Ensure that calling pg_replication_slot_advance() on a physical replication slot will persist changes across restarts.
Several fixes for the walsender processes.
Improve performance of hash joins with very large inner relations.
Fix placement of "Subplans Removed" field in EXPLAIN output by placing it with its parent Append or MergeAppend plan.
Several fixes for parallel query plans.
Several fixes for query planner errors, including one that affected joins to single-row subqueries.
Several fixes for MCV extend statistics, including one for incorrect estimation for OR clauses.
Improve efficiency of parallel hash join on CPUs with many cores.
Ignore the CONCURRENTLY option when performing an index creation, drop, or reindex on a temporary table.
Fall back to non-parallel index builds when a parallelized CREATE INDEX has no free dynamic shared memory slots.
Several fixes for GiST & GIN indexes.
Fix possible crash in BRIN index operations with box, range and inet data types.
Fix support for BRIN hypothetical indexes.
Fix failure in ALTER TABLE when a column referenced in a GENERATED expression is added or changed in type earlier in the same ALTER TABLE statement.
Fix handling of multiple AFTER ROW triggers on a foreign table.
Fix off-by-one result for EXTRACT(ISOYEAR FROM timestamp) for BC dates.
Prevent unwanted lowercasing and truncation of RADIUS authentication parameters in the pg_hba.conf file.
Several fixes for GSSAPI support, including having libpq accept all GSS-related connection parameters even if the GSSAPI code is not compiled in.
Several fixes for pg_dump and pg_restore when run in parallel mode.
Fix crash with postgres_fdw when trying to execute a remote query on the remote server such as UPDATE remote_tab SET (x,y) = (SELECT ...).
Disallow NULL category values in the crosstab() function of contrib/tablefunc to prevent crashes.
Several fixes for Windows, including a race condition that could cause timing oddities with NOTIFY.
Several ecpg fixes.
Highlights:
- Groupby aggregation with relabeling
- Better repr for MultiIndex
- Better truncated repr for Series and DataFrame
- Series.explode to split list-like values to rows
Suggested by the upstream author Stefan Hundhammer in
https://mail-index.netbsd.org/pkgsrc-users/2020/02/13/msg030448.html.
Changes since 1.6:
- Much better handling for "permission denied" errors while reading directories.
- Now showing the exact byte size (134 495 994 Bytes instead of 128.3 MB)
upon mouse click in the tree (right click) and in the details panel (left or
right click).
- New optional tree column "Oldest File" (not enabled by default).
- Bug fix: Support for dark widget themes in File Size Histogram window.
Changelog:
Notable Changes in NSS 3.50
* Verified primitives from HACL* were updated, bringing performance
improvements for several platforms.
Note that Intel processors with SSE4 but without AVX are currently unable to
use the improved ChaCha20/Poly1305 due to a build issue; such platforms will
fall-back to less optimized algorithms. See Bug 1609569 for details.
* Updated DTLS 1.3 implementation to Draft-30. See Bug 1599514 for details.
* Added NIST SP800-108 KBKDF - PKCS#11 implementation. See Bug 1599603 for
details.
Bugs fixed in NSS 3.50
* Bug 1599514 - Update DTLS 1.3 implementation to Draft-30
* Bug 1603438 - Fix native tools build failure due to lack of zlib include dir
if external
* Bug 1599603 - NIST SP800-108 KBKDF - PKCS#11 implementation
* Bug 1606992 - Cache the most recent PBKDF1 password hash, to speed up
repeated SDR operations, important with the increased KDF iteration counts.
NSS 3.49.1 sped up PBKDF2 operations, though PBKDF1 operations are also
relevant for older NSS databases (also included in NSS 3.49.2)
* Bug 1608895 - Gyp builds on taskcluster broken by Setuptools v45.0.0 (for
lacking Python3)
* Bug 1574643 - Upgrade HACL* verified implementations of ChaCha20, Poly1305,
and 64-bit Curve25519
* Bug 1608327 - Two problems with NEON-specific code in freebl
* Bug 1575843 - Detect AArch64 CPU features on FreeBSD
* Bug 1607099 - Remove the buildbot configuration
* Bug 1585429 - Add more HKDF test vectors
* Bug 1573911 - Add more RSA test vectors
* Bug 1605314 - Compare all 8 bytes of an mp_digit when clamping in Windows
assembly/mp_comba
* Bug 1604596 - Update Wycheproof vectors and add support for CBC, P256-ECDH,
and CMAC tests
* Bug 1608493 - Use AES-NI for non-GCM AES ciphers on platforms with no
assembly-optimized implementation, such as macOS.
* Bug 1547639 - Update zlib in NSS to 1.2.11
* Bug 1609181 - Detect ARM (32-bit) CPU features on FreeBSD
* Bug 1602386 - Fix build on FreeBSD/powerpc*
* Bug 1608151 - Introduce NSS_DISABLE_ALTIVEC
* Bug 1612623 - Depend on NSPR 4.25
* Bug 1609673 - Fix a crash when NSS is compiled without libnssdbm support,
but the nssdbm shared object is available anyway.
v3.5.0
* add ``no-local-version`` local scheme and improve documentation for schemes
v3.4.4
* fix: also sort out resource warnings when dealing with git file finding
0.13.1
- Drop support for Python 2.6 and 3.4.
- Ignore empty lines in log files when looking for the pattern that indicates
a process has started.
0.13.0
- Never released due to deploy issues.
- Important (and possibly breaking) changes:
- Change default schema from JSON to Core.
Reason: This is the recommended Schema for YAML 1.2, and what people
would expect to be the default.
- load* in scalar context returns first document.
Reason: I think this is the most reasonable behaviour, and it
will continue to work the same if you later add documents to a file.
- Empty nodes in YAML 1.2 JSON Schema resolve to '' by default like
before, but now it can be configured
- Fix some control character escaping and encoding issues (issue#16, issue#17)
YAML::PP will now just assume all input data are unicode characters
and won't do an explicit utf8::upgrade
- Fix Core schema resolver for inf: add +.inf, +.Inf, +.INF
- Improve emitter regarding empty lists/hashes (no newline before []/{})
- Spelling and grammar fixes (PR#23 @gregoa)
- Fix YAML::PP::Grammar pod (PR#22 @gregoa)
- Fix yamlpp5-load-dump
- Fix error tokens output
- Update yaml-test-suite to data-2020-02-11
This software has a lot of hard-coded references to external binaries,
with sometimes incorrect assumptions. Deal with these through the SUBST
framework for now. (Any mistakes here are solely mine.)