Upstream changes:
4.33.0.txt
doc/release_notes/4.33.0.txt
Last Update: 2016-04-01 07:24:12 -0700
New Features
A Sequel::Model.require_valid_table accessor has been added. This setting is false for backwards compatibility, but if set to true, will raise an error you try to create a model class where an invalid table name is used or the schema or columns cannot be determined. This makes it easier to catch bugs, as things will fail fast, but it means that you must change code like:
class Foo < Sequel::Model
set_dataset :my_foos
end
to:
class Foo < Sequel::Model(:my_foos)
end
as otherwise Foo will attempt to use the foos table by default when creating the class, which will raise an error as it is not the correct table name.
Sequel::Database#transaction now supports a :savepoint=>:only option, which will create a savepoint if already inside a transaction, but will yield without creating a transaction if not inside a transaction. The use case for this is when you are running code that may raise an exception, and you don't want to invalidate the current transaction state.
Other Improvements
The graph_each extension now splits results into subhashes when using Sequel::Dataset#first, as it did before Sequel 4.27.0.
On PostgreSQL, Dataset#insert_conflict now accepts an array of columns as the value for the :target option.
You can now pass a Sequel::SQL::Identifier or a Sequel::SQL::QualifiedIdentifer as the table argument when creating a foreign key. Previously, only symbols were supported, and using other values required specifying the :table option. So this will now work to reference a table that includes a double underscore:
foreign_key :foo_id, Sequel.identifier(:fo__oo)
Creating model classes inside a transaction on PostgreSQL where the implicit table name isn't correct no longer causes the transaction to fail.
Similar issues were also fixed in the boolean_readers, boolean_subsets, and class_table_inheritance plugins.
On PostgreSQL, You can now use the :qualify=>true option in the schema dumper, to dump using schema-qualified table names.
On Microsoft SQL Server, the set_column_allow_null and set_column_not_null alter table methods now work on varchar(max), text, and similar columns.
On Oracle, Sequel::Database#sequence_for_table now returns nil if given a table that doesn't exist or that the user does not have access to.
Passing arbitrary objects to a model association method now indicates that the association should be reloaded, which was used to work but was broken in Sequel 4.32.0.
It is now possible to raise Sequel::ValidationFailed and Sequel::HookFailed without an argument.
Backwards Compatibility
Sequel::Model no longer swallows many errors when subclassing or setting datasets. While this should hopefully not affect backwards compatibility, it may break things where the methods were raising exceptions. If this does break backwards compatibility, it is most likely because it is no longer hiding another bug that should be fixed. Specific changes include:
Model.inherited no longer rescues exceptions raised by set_dataset
When subclassing a model that has a dataset, the columns and schema are just copied from the superclass
Only Sequel::Error is rescued in calls to columns and schema, before it would rescue StandardError.
The Sequel.firebird and Sequel.informix adapter methods have been removed, they are no longer needed as the firebird and informix adapters were removed a few versions back.
This release closes security hole CVE-2016-2193, where a query plan might get reused for more than one ROLE in the same session. This could cause the wrong set of Row Level Security (RLS) policies to be used for the query.
The update also fixes CVE-2016-3065, a server crash bug triggered by using pageinspect with BRIN index pages. Since an attacker might be able to expose a few bytes of server memory, this crash is being treated as a security issue.
Upstream changlog:
Changes in hwde version 0.66
CORRECTIONS TO DATA
o Data in the dataset mendelABC was in error. Substantial corrections
have been made. (Thanks to Boris Igic for drawing the errrors to
our attention.)
Upstream changes:
Changes in Rcpp version 0.12.4 (2016-03-22)
Changes in Rcpp API:
New accessors as() and clone() were added to the Nullable class (Dan in PR #423 closing #421)
The Nullable<>::operator SEXP() and Nullable<>::get() now also work for const objects (Kirill Mueller in PR #417).
A subsetting error was fixed (Qiang via #432 closing #431).
Changes in Rcpp Sugar:
Added new Sugar function median() (Nathan in PR #425 closing #424)
Added new Sugar function cbind() (Nathan in PR #447 closing #407)
Changes in Rcpp Attributes:
A plugin for C++14 was added (Dan in PR #427)
Changes in Rcpp Documentation:
An entry was added to the Rcpp-FAQ vignette describing the required packages for vignette building (#422).
Use on OS X was further detailed (James Balamuta in #433 with further review by Bob Rudis).
An entry was added concerning the hard-code limit of arguments to some constructor and function (cf #435).
The Rcpp-FAQ vignette now contains a table of content.
Typos and indentation were corrected in the Rcpp Sugar vignette (#445 by Colin Gillespie).
Changes in Rcpp version 0.12.3 (2016-01-10)
Changes in Rcpp API:
Const iterators now CharacterVector now behave like regular iterators (PR #404 by Dan fixing #362).
Math operators between matrix and scalars type have been added (PR #406 by Qiang fixing #365).
A missing std::hash function interface for Rcpp::String has been addded (PR #408 by Qiang fixing #84).
Changes in Rcpp Attributes:
Avoid invalid function names when generating C++ interfaces (PR #403 by JJ fixing #402).
Insert additional space around & in function interface (PR #400 by Kazuki Fukui fixing #278).
Changes in Rcpp Modules:
The copy constructor now initialized the base class (PR #411 by Joshua Pritikin fixing #410)
Changes in Rcpp Repository:
Added a file Contributing.md providing some points to potential contributors (PR #414 closing issue #413)
Changes in Rcpp version 0.12.2 (2015-11-14)
Changes in Rcpp API:
Correct return type in product of matrix dimensions (PR #374 by Florian)
Before creating a single String object from a SEXP, ensure that it is from a vector of length one (PR #376 by Dirk, fixing #375).
No longer use STRING_ELT as a left-hand side, thanks to a heads-up by Luke Tierney (PR #378 by Dirk, fixing #377).
Rcpp Module objects are now checked more carefully (PR #381 by Tianqi, fixing #380)
An overflow in Matrix column indexing was corrected (PR #390 by Qiang, fixing a bug reported by Allessandro on the list)
Nullable types can now be assigned R_NilValue in function signatures. (PR #395 by Dan, fixing issue #394)
operator<<() now always shows decimal points (PR #396 by Dan)
Matrix classes now have a transpose() function (PR #397 by Dirk fixing #383)
operator<<() for complex types was added (PRs #398 by Qiang and #399 by Dirk, fixing #187)
Changes in Rcpp Attributes:
Enable export of C++ interface for functions that return void.
Changes in Rcpp Sugar:
Added new Sugar function cummin(), cummax(), cumprod() (PR #389 by Nathan Russell fixing #388)
Enabled sugar math operations for subsets; e.g. x[y] + x[z]. (PR #393 by Kevin and Qiang, implementing #392)
Changes in Rcpp Documentation:
The NEWS file now links to GitHub issue tickets and pull requests.
The Rcpp.bib file with bibliographic references was updated.
1. The ACL conditions regex and mime_regex now capture substrings
into numeric variables $regex1 to 9, like the "match" expansion condition.
2. New $callout_address variable records the address used for a spam=,
malware= or verify= callout.
3. Transports now take a "max_parallel" option, to limit concurrency.
4. Expansion operators ${ipv6norm:<string>} and ${ipv6denorm:<string>}.
The latter expands to a 8-element colon-sep set of hex digits including
leading zeroes. A trailing ipv4-style dotted-decimal set is converted
to hex. Pure ipv4 addresses are converted to IPv4-mapped IPv6.
The former operator strips leading zeroes and collapses the longest
set of 0-groups to a double-colon.
5. New "-bP config" support, to dump the effective configuration.
6. New $dkim_key_length variable.
7. New base64d and base64 expansion items (the existing str2b64 being a
synonym of the latter). Add support in base64 for certificates.
8. New main configuration option "bounce_return_linesize_limit" to
avoid oversize bodies in bounces. The dafault value matches RFC
limits.
9. New $initial_cwd expansion variable.
+ Enabled utf-8 mailbox support for IMAP.
+ New expandos %r and %R for comma separated list of To: and Cc:
recipients respectively.
+ Improved support for internationalized email and SMTPUTF8 (RFC653[0-3]).
! $use_idn has been renamed to $idn_decode.
+ $idn_encode controls whether outgoing email address domains will
be IDNA encoded. If your MTA supports it, unset to use utf-8
email address domains.
+ The S/MIME message digest algorithm is now specified using the
option $smime_sign_digest_alg. Note that $smime_sign_command
should be modified to include "-md %d". Please see
contrib/smime.rc.
+ $reflow_space_quotes allows format=flowed email quotes to be
displayed with spacing between them.
! multipart draft files are now supported.
+ The "-E" command line argument causes mutt to edit draft or include files.
All changes made in mutt will be saved back out to those files.
+ $resume_draft_files and $resume_edited_draft_files control how
mutt processes draft files.
+ For classic gpg mode, $pgp_decryption_okay should be set to verify
multipart/encrypted are actually encrypted. Please see
contrib/gpg.rc for the suggested value.
! mailto URL header parameters by default are now restricted to
'body' and 'subject'.
+ mailto_allow and unmailto_allow can be used to add or remove
allowed mailto header parameters.
! The method of setting $hostname has been changed. Rather than
scanning /etc/resolv.conf, the domain will now be determined using
DNS calls.
Fix a boundary condition error introduced by version 3.12.0 that can result in a crash during heavy SAVEPOINT usage.
Fix views so that they inherit column datatypes from the table that they are defined against, when possible.
Fix the query planner so that IS and IS NULL operators are able to drive an index on a LEFT OUTER JOIN.
+ Enabled utf-8 mailbox support for IMAP.
+ New expandos %r and %R for comma separated list of To: and Cc:
recipients respectively.
+ Improved support for internationalized email and SMTPUTF8 (RFC653[0-3]).
! $use_idn has been renamed to $idn_decode.
+ $idn_encode controls whether outgoing email address domains will
be IDNA encoded. If your MTA supports it, unset to use utf-8
email address domains.
+ The S/MIME message digest algorithm is now specified using the
option $smime_sign_digest_alg. Note that $smime_sign_command
should be modified to include "-md %d". Please see
contrib/smime.rc.
+ $reflow_space_quotes allows format=flowed email quotes to be
displayed with spacing between them.
! multipart draft files are now supported.
+ The "-E" command line argument causes mutt to edit draft or include files.
All changes made in mutt will be saved back out to those files.
+ $resume_draft_files and $resume_edited_draft_files control how
mutt processes draft files.
+ For classic gpg mode, $pgp_decryption_okay should be set to verify
multipart/encrypted are actually encrypted. Please see
contrib/gpg.rc for the suggested value.
! mailto URL header parameters by default are now restricted to
'body' and 'subject'.
+ mailto_allow and unmailto_allow can be used to add or remove
allowed mailto header parameters.
! The method of setting $hostname has been changed. Rather than
scanning /etc/resolv.conf, the domain will now be determined using
DNS calls.
Upstream changes:
2 February 2016: statmod 1.4.24
- speedup for rinvgauss() by replacing rchisq() with rnorm() and
rbinom() with runif().
- speedup for qinvgauss() by using qgamma as starting approximation
for very small right tail probabilities, and inverse chisq as
starting approximation for very small left tail probabilities.
- qinvgauss() now computes Newton step using log probabilities
and a Taylor series expansion for small steps. This improves
accuracy in extreme cases. The stopping criterion for the Newton
iteration has been revised.
- Bug fix to dinvgauss(), pinvgauss() and qinvgauss() which were not
preserving attributes of the first argument.
30 December 2015: statmod 1.4.23
- qinvgauss() has been improved to return best achievable machine
accuracy. It now checks for backtracking of the Newton iteration.
- dinvgauss() and pinvgauss() now check for a wider range of special
cases. This allows them to give valid results in some cases
for infinite or missing parameter values and for x outside the
support of the distribution.
26 October 2015: statmod 1.4.22
- Functions needed from the stats and graphics packages are now
explicitly imported into the package NAMESPACE.
add experimental SunOS backend support adapted from the upstream RTI
submission from Oracle and initial illumos support from OpenIndiana/Hipster
From the Changelog:
For detailed information about the changes below, please see the git log or
visit: http://log.libusb.info
2015-09-13: v1.0.20
* Add Haiku support
* Fix multiple memory and resource leaks (#16, #52, #76, #81)
* Fix possible deadlock when executing transfer callback
* New libusb_free_pollfds() API
* Darwin: Fix devices not being detected on OS X 10.8 (#48)
* Linux: Allow larger isochronous transfer submission (#23)
* Windows: Fix broken builds Cygwin/MinGW builds and compiler warnings
* Windows: Fix broken bus number lookup
* Windows: Improve submission of control requests for composite devices
* Examples: Add two-stage load support to fxload (#12)
* Correctly report cancellations due to timeouts
* Improve efficiency of event handling
* Improve speed of transfer submission in multi-threaded environments
* Various other bug fixes and improvements
The (#xx) numbers are libusb issue numbers, see ie:
https://github.com/libusb/libusb/issues/16
MAKE_JOBS_SAFE=no given build issues when enabled.
o [Zenmap] Avoid file corruption in zenmap.conf, reported as files containing
many null ("\x00") characters. Example exception:
ValueError: unable to parse colour specification
o [NSE] VNC updates including vnc-brute support for TLS security type and
negotiating a lower RFB version if the server sends an unknown higher
version.
o [NSE] Added STARTTLS support for VNC, NNTP, and LMTP
o Added new service probes and match lines for OpenVPN on UDP and TCP.