- Remove qmail-qfilter-*-queue shell scripts, which would conflict with
the C programs of the same name included in mail/qmail 1.03nb29 with
the "qmail-rejectutils" option (enabled by default).
- Bump mail/qmail dependency to 1.03nb29.
- Shorten and improve MESSAGE.
Remove unneeded options:
- Unconditionally apply netqmail (which includes a local patch; remove it)
- Unconditionally apply bigdns, maildiruniq, outgoingip, rcptcheck, remote
- Unconditionally apply the TLS + SMTP AUTH _patch_ (not the options)
- Record all applied patches (mandatory and optional) in QMAILPATCHES
- Remove badrcptto, qregex, realrcptto, viruscan (moved to rejectutils)
Simplify packaging:
- Extract a standalone patch <https://schmonz.com/qmail/rejectutils> to
repackage the mutually conflicting recipient- and content-checking
patches as separate programs, along with wrappers for running checks
in sequence
- Extract a standalone patch <https://schmonz.com/qmail/destdir> to
build to a staging area, as non-root, without hardcoded IDs
- Run the destdir patch's `install-destdir` to make or repair the queue
and set special file permissions, obviating the need for a dependency
on mail/queue-fix and handcrafted SPECIAL_PERMS
- While here, run `instcheck` to ensure we've installed just like `make
setup check` as root would have
- Install INSTALL and SENDMAIL docs under their original names,
even on Darwin
- Avoid building catpages, since we don't install them, and remove nroff
from USE_TOOLS
Default-enable more useful options:
- "eai" (new) permits UTF-8 almost everywhere in email
- "qmail-rejectutils" (new) adds several tools for selectively
rejecting messages
- "syncdir" forces synchronous link() and related syscalls
- "tls" and "sasl", instead of causing patch conflicts, cause the TLS
and SMTP AUTH code to be included (!)
User-Visible OpenAFS Changes
OpenAFS 1.6.21
All platforms
* Avoid a possible 100ms transmit delay in the RX protocol when a peer's
receive window transitions from closed to open (12627)
* Documentation improvements (12476 12477 12559[RT #133339])
All server platforms
* When bosserver is started with an unknown option, print an error message
and exit with a non-zero value rather than failing silently (12631)
All DB server platforms
* Hold the DB lock while checking for an aborted write transaction (12516)
All file server platforms
* On demand attach fileservers, don't save or restore a client's host
state if CPS ("Current Protection Subdomain") recalculation for it is
in progress, to avoid fileserver thread exhaustion (12568)
* On demand attach fileservers, avoid flooding the log with error messages,
which could happen when the fileserver was restarted while a volume was
offline (12569)
* Update a volume's "Last Update" time when its content is modified by
the salvager, to make the change visible in the output of "vos examine"
and to backup services (12633)
All client platforms
* Corrected the DCentries bucket counts for very large and zero length
files in the output of "fs getcacheparms -excessive" (12604 12605)
* Fixed a bug that prevented users with GID 2748 and 2750 from executing
the "fs sysname" command on clients running afsd with -rmtsys (12607)
* Provide a new -inumcalc switch for afsd to allow enabling the alternative
MD5 method of inode number calculation, which was previously only
possible on Linux and through the sysctl interface (12608 12632)
Linux clients
* Support for mainline kernel 4.12 and distribution kernels with backports
from it (12624 12626)
* Re-added the improved algorithm for freeing unused vcaches to reduce
memory consumption first introduced with the 1.6.18 release, together
with a fix for the issue leading to its removal in 1.6.18.2 (12448..12451)
macOS clients
* Fixed a crash while stopping the client on macOS 10.12 "Sierra" (12602)
Fixed a bug introduced in 3.3.0 where the supervisorctl reload command would crash supervisord with the error OSError: [Errno 9] Bad file descriptor if the kqueue poller was used. Patch by Jared Suttles.
Fixed a bug introduced in 3.3.0 where supervisord could get stuck in a polling loop after the web interface was used, causing high CPU usage. Patch by Jared Suttles.
Fixed a bug where if supervisord attempted to start but aborted due to another running instance of supervisord with the same config, the pidfile of the running instance would be deleted. Patch by coldnight.
Fixed a bug where supervisorctl fg would swallow most XML-RPC faults. fg now prints the fault and exits.
Parsing the config file will now fail with an error message if a process or group name contains a forward slash character (/) since it would break the URLs used by the web interface.
supervisorctl reload now shows an error message if an argument is given. Patch by Joel Krauska.
supervisorctl commands avail, reread, and version now show an error message if an argument is given.
Fix bug for skips raised in setUpClass
v1.2.1
In python 2.7+ label skips as skip tests.
Change skip test exception coloring to blue..
v1.1.1
Fix for immediate broken with recent release when I switched API usage and removed an function.
v1.1.0
Update tests for better reporting
fix for errors during module setup
Better support for skips
Introduce proper printing for skipped tests as well as the ability to suppress them using --hide-skips
Test with python 3.4
v1.0.0 - [!] Major Changes [!]
[!] This release completely changes the way in which color test results are printed. It now attempts to override the code which nose uses to print results rather than to suppress those results and print them separately.
[!] Package maintainer changes to JBKahn
Use travis for testing
* Revert fix for issue 103 which causes problems for dependent applications
0.3.8
* Fix issue 121: "invalid escape sequence" deprecation fixes on Python 3.6+
* Fix issue 110: fix "set console title" when working with unicode strings
* Fix issue 103: enable color when using "input" function on Python 3.5+
* Fix issue 95: enable color when stderr is a tty but stdout is not
Fixed missing brackets in HTTP CONNECT when connecting to IPv6 address via IPv6 proxy.
Made the connection pool retry on SSLError. The original SSLError is available on MaxRetryError.reason.
Drain and release connection before recursing on retry/redirect. Fixes deadlocks with a blocking connectionpool.
Fixed compatibility for cookiejar.
pyopenssl: Use vendored version of six
Deprecations:
- Deprecated ``OpenSSL.rand`` - callers should use ``os.urandom()`` instead.
Changes:
- Fixed a bug causing ``Context.set_default_verify_paths()`` to not work with cryptography ``manylinux1`` wheels on Python 3.x.
- Fixed a crash with (EC)DSA signatures in some cases.
Ideally, tests reliably pass or fail, but sometimes test fixtures must rely on
components that aren’t 100% reliable. With flaky, instead of removing those
tests or marking them to @skip, they can be automatically retried.
* Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead.
Platform-Specific Notes
* Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them.
Functionality Added or Changed
* For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing.
* The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniël van Eeden for the patch.
* mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc.
Bugs Fixed
* InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table.
* InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied.
* Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect.
* Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread.
* Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly.
* Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event.
* Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug.
* Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet.
* With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions.
* mysqldump could write database names in USE statements incorrectly.
* If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead.
* Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table.
* Man pages for a few utilities were missing from Debian/Ubuntu packages.
* The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch.
* Debian client packages were missing information about conflicts with native packages.
* The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11.
* The server exited abnormally attempting to access invalid memory.
* A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses.
* MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__.
* mysqld_failed to start the server if the --datadir option was specified with a relative path name.
* With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions.
*Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit.
* On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes.
* An assertion was raised during a fetch operation by the memcached plugin.
* Queries that contained UNION in a subquery and GROUP BY could return incorrect results.
* LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory.
- add has_plugin(name) method to pluginmanager.
- fix issue11: make plugin parsing more resilient against exceptions
from __getattr__ functions.
- fix issue 4: specific HookCallError exception for when a hook call
provides not enough arguments.
- better error message when loading setuptools entrypoints fails
due to a VersionConflict.
- sse: preserve non volatile sse registers, needed for MSVC
- x86: don't hard-code register size to zero in orc_x86_emit_*() functions
- Fix incorrect asm generation on 64-bit Windows when building with MSVC
- Support build using the Meson build system
pkgsrc changes:
- dunst now also needs x11/gtk2 and x11/libXrandr
Changes:
## 1.2.0 - 2017-07-12
### Added
- `always_run_script` option to run script even if a notification is suppressed
- Support for more icon file types
- Support for raw icons
- `hide_duplicate_count` option to hide the number of duplicate notifications
- Support for per-urgency frame colours
- `markup` setting for more fine-grained control over how markup is handled
- `history_ignore` rule action to exclude a notification from being added to the
history
- Support for setting the dpi value dunst will use for font rendering via the
`Xft.dpi` X resource
- Experimental support for per-monitor dpi calculation
- `max_icon_size` option to scale down icons if they exceed a certain size
- Middle click on notifications can be used to trigger actions
- Systemd service file, installed by default
- `%n` format flag for getting progress value without any extra characters
### Changed
- Text and icons are now centred vertically
- Notifications aren't considered duplicate if urgency or icons differ
- The maximum length of a notification is limited to 5000 characters
- The frame width and color settings were moved to the global section as
`frame_width` and `frame_color` respectively
- Dropped Xinerama in favour of RandR, Xinerama can be enabled with the
`-force_xinerama` option if needed
### Deprecated
- `allow_markup` is deprecated with `markup` as its replacement
- The urgency specific command line flags have been deprecated with no
replacement, respond to issue #328 on the bug tracker if you depend on them
### Fixed
- Infinite loop if there are 2 configuration file sections with the same name
- URLs with dashes and underscores in them are now parsed properly
- Many memory leaks
- Category based rules were applied without actually matching
- dmenu command not parsing quoted arguments correctly
- Icon alignment with dynamic width
- Issue when loading configuration files with very long lines
- '\n' is no longer expanded to a newline inside notification text
- Notification window wasn't redrawn if obscured on systems without a compositor
- `ignore_newline` now works regardless of the markup setting
- dmenu process being left as a zombie if no option was selected
- Crash when opening urls parsed from `<a href="">` tags
Fixed a couple major decoding issues and simplified the URL API.
* limit types accepted by URL.from_text() to just text (str on py3, unicode on py2)
* fix percent decoding issues surrounding multiple calls to URL.to_iri()
* remove the socket-inspired family argument from URL's APIs. It was never consistently implemented and leaked slightly more problems than it solved.
* Improve authority parsing
* include LICENSE, README, docs, and other resources in the package
Generate proper dates before 1970.
Made it possible to seed .binary().
Add color names for hr_HR.
Add implementation of ssn provider for the pl_PL locale.
Add pt_BR colors localization.
Create a method for codes of cryptocurrencies in the currency provider.
Fix female name format typo in hu_HU person provider.
Fix deprecated usage of print statement in README.
Add gender-specific names for sv_SE person provider.
Add an implementation of regon for pl_PL company provider.
Addi an implementation of local_regon for pl_PL company provider.
Replace deprecated getargspec on py3.
Add new automotive provider.
Add an implementation of company_vat for pl_PL company provider.
Add Taiwan/Traditional character support for internet and lorem providers.
Use random.choices when available for better performance.
Refactor RGB color methods.
Features added
* Pythran can be used as a backend for evaluating NumPy array expressions.
* cdef classes now support pickling by default when possible.
This can be disabled with the ``auto_pickle`` directive.
* Speed up comparisons of strings if their hash value is available.
* Support pyximport from zip files.
* IPython magic now respects the ``__all__`` variable and ignores
names with leading-underscore (like ``import *`` does).
* ``abs()`` is optimised for C complex numbers.
* The display of C lines in Cython tracebacks can now be enabled at runtime
via ``import cython_runtime; cython_runtime.cline_in_traceback=True``.
The default has been changed to False.
* The overhead of calling fused types generic functions was reduced.
* "cdef extern" include files are now also searched relative to the current file.
* Optional optimization for re-aquiring the GIL, controlled by the
`fast_gil` directive.
Bugs fixed
----------
* Item lookup/assignment with a unicode character as index that is typed
(explicitly or implicitly) as ``Py_UCS4`` or ``Py_UNICODE`` used the
integer value instead of the Unicode string value. Code that relied on
the previous behaviour now triggers a warning that can be disabled by
applying an explicit cast. (Github issue 1602)
* f-string processing was adapted to changes in PEP 498 and CPython 3.6.
* Invalid C code when decoding from UTF-16(LE/BE) byte strings.
* Unicode escapes in 'ur' raw-unicode strings were not resolved in Py2 code.
* File paths of code objects are now relative.
* Decorators of cdef class methods could be executed twice.
* Several warnings in the generated coder are now suppressed.
Other changes
-------------
* The ``unraisable_tracebacks`` option now defaults to ``True``.
* Coercion of C++ containers to Python is no longer automatic on attribute
access (Github issue 1521).
* Access to Python attributes of cimported modules without the corresponding
import is now a compile-time (rather than runtime) error.
* Do not use special dll linkage for "cdef public" functions.
* cdef/cpdef methods must match their declarations. See Github Issue 1732.
This is now a warning and will be an error in future releases.
* Security Fix: The linked OpenSSL library for the MySQL Commercial Server has been updated to version 1.0.2l. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/vulnerabilities.html.
This change does not affect the Oracle-produced MySQL Community build of MySQL Server, which uses the yaSSL library instead.
Platform-Specific Notes
* Linux: The generic Linux build for MySQL 5.6 is now built on Oracle Linux 6 using glibc 2.12. Systems that use the build need to have glibc 2.12 or later installed on them.
Functionality Added or Changed
* For Windows, MSI installer packages now include a check for the required Visual Studio redistributable package, and produce a message asking the user to install it if it is missing.
* The mysql client now supports a --binary-as-hex option that causes display of binary data using hexadecimal notation (0xvalue). Thanks to Daniël van Eeden for the patch.
* mysqlaccess now looks for its configuration file only in the SYSCONFDIR directory and /etc.
Bugs Fixed
* InnoDB: The server allocated memory unnecessarily for an operation that rebuilt the table.
* InnoDB: When using an index merge optimizer switch, a SELECT COUNT(*) operation sometimes returned 0. Partitioning code incorrectly performed a memcpy instead of a column copy of columns read by the index, causing the wrong records to be copied.
* Replication: A USE statement that followed a SET GTID_NEXT statement sometimes had no effect.
* Replication: If the binary log on a master server was rotated and a full disk condition occurred on the partition where the binary log file was being stored, the server could stop unexpectedly. The fix adds a check for the existence of the binary log when the dump thread switches to next binary log file. If the binary log is disabled, all binary logs up to the current active log are transmitted to slave and an error is returned to the receiver thread.
* Replication: If a relay log index file named relay log files that did not exist, RESET SLAVE ALL sometimes did not fully clean up properly.
* Replication: mysqlbinlog, if invoked with the --raw option, does not flush the output file until the process terminates. But if also invoked with the --stop-never option, the process never terminates, thus nothing is ever written to the output file. Now the output is flushed after each event.
* Replication: A memory leak in mysqlbinlog was fixed. The leak happened when processing fake rotate events, or when using --raw and the destination log file could not be created. The leak only occurred when processing events from a remote server. Thanks to Laurynas Biveinis for his contribution to fixing this bug.
* Replication: Multi-threaded slaves could not be configured with small queue sizes using slave_pending_jobs_size_max if they ever needed to process transactions larger than that size. Any packet larger than slave_pending_jobs_size_max was rejected with the error ER_MTS_EVENT_BIGGER_PENDING_JOBS_SIZE_MAX, even if the packet was smaller than the limit set by slave_max_allowed_packet.
* With this fix, slave_pending_jobs_size_max becomes a soft limit rather than a hard limit. If the size of a packet exceeds slave_pending_jobs_size_max but is less than slave_max_allowed_packet, the transaction is held until all the slave workers have empty queues, and then processed. All subsequent transactions are held until the large transaction has been completed. The queue size for slave workers can therefore be limited while still allowing occasional larger transactions.
* mysqldump could write database names in USE statements incorrectly.
* If the mysql_stmt_close() C API function was called, it freed memory that later could be accessed if mysql_stmt_error(), mysql_stmt_errno(), or mysql_stmt_sqlstate() was called. To obtain error information after a call to mysql_stmt_close(), call mysql_error(), mysql_errno(), or mysql_sqlstate() instead.
* Queries could be cached incorrectly, leading to incorrect query results, under these circumstances: InnoDB table; rows are being inserted but have not yet been committed; a query uses the table as a base table in a derived table; the optimizer chooses to materialize the derived table.
* Man pages for a few utilities were missing from Debian/Ubuntu packages.
* The field-t unit test failed to run with AddressSanitizer enabled. Thanks to Laurynas Biveinis for the patch.
* Debian client packages were missing information about conflicts with native packages.
* The Perl path in #! lines at the beginning of Perl scripts has been adjusted to /usr/local/bin/perl for FreeBSD 11.
* The server exited abnormally attempting to access invalid memory.
* A race condition could occur for CREATE TABLE statements with DATA DIRECTORY or INDEX DIRECTORY clauses.
* MySQL compilation in different directories produced different builds to leakage of absolute paths into debug information and __FILE__.
* mysqld_failed to start the server if the --datadir option was specified with a relative path name.
* With read_only enabled, creation of non-TEMPORARY tables by non-SUPER users was permitted under certain conditions.
*Certain stored functions, if used in a query WHERE clause, could be handled using Index Condition Pushdown (which should not happen), resulting in a server exit.
* On x86 machines, the uint3korr() macro read 4 bytes of data instead of the intended 3 bytes.
* An assertion was raised during a fetch operation by the memcached plugin.
* Queries that contained UNION in a subquery and GROUP BY could return incorrect results.
* LOAD XML INFILE performance became noticeably slower when the XML file being read contained a great many spaces, such as those introduced by indenting or pretty-printing. Now all leading whitespace is trimmed from each such value before reading it into memory.
* The “Visual Studio 14 2015” generator has been taught about a
change to the “v140” toolset made by a VS 2015 update. VS changed
the set of values it understands for the “GenerateDebugInformation”
linker setting that produces the “-DEBUG” linker flag variants.
* “CUDA” is now supported by the Visual Studio Generators for VS
2010 and above. This complements the existing support by the
Makefile Generators and the “Ninja” generator. CUDA 8.0.61 or higher
is recommended due to known bugs in the VS integration by earlier
versions.
* CMake is now aware of the “C++ standards” and “C standards” and
their associated meta-features for the following “compiler ids”:
“Cray”, “PGI”, and “XL”.
* The “add_library()” command “IMPORTED” option learned to support
Object Libraries.
* All “find_” commands now have a “PACKAGE_ROOT” search path group
that is first in the search heuristics. If a “find_” command is
called from inside a find module, then the CMake variable and
environment variable named “_ROOT” are used as prefixes
and are the first set of paths to be searched.
* The “install(TARGETS)” command learned a new “OBJECTS” option to
specify where to install Object Libraries.
* The “install(EXPORT)” command learned how to export Object
Libraries.
* A “BUILD_WITH_INSTALL_NAME_DIR” target property and corresponding
“CMAKE_BUILD_WITH_INSTALL_NAME_DIR” variable were added to control
whether to use the “INSTALL_NAME_DIR” target property value for
binaries in the build tree. This is for macOS “install_name” as
“BUILD_WITH_INSTALL_RPATH” is for “RPATH”.
* A “CUDA_PTX_COMPILATION” target property was added to Object
Libraries to support compiling to “.ptx” files instead of host
object files.
* A new “GoogleTest” module was added to provide the
“gtest_add_tests()” function independently of the “FindGTest”
module. The function was also updated to support keyword arguments,
with functionality expanded to allow a test name prefix and suffix
to be specified, the dependency on the source files to be optional
and the list of discovered test cases to be returned to the caller.
* The “Ninja” generator has loosened the dependencies of object
compilation. Object compilation now depends only on custom targets
and custom commands associated with libraries on which the object’s
target depends and no longer depends on the libraries themselves.
Source files in dependent targets may now compile without waiting
for their targets’ dependencies to link.
* Interprocedural optimization (IPO) is now supported for GNU and
Clang compilers using link time optimization (LTO) flags. See the
“INTERPROCEDURAL_OPTIMIZATION” target property and
“CheckIPOSupported” module.
* The “TARGET_OBJECTS” “generator expression” is now supported by
the “add_custom_command()” and “file(GENERATE)” commands.
Fix README rendering.
2.1.1
Restored use of ``portend.client_host`` during
``assert_free`` check on Windows, fixing check
when the bind address is *ADDR_ANY.
2.1
Use tempora.timing.Timer from tempora 1.8, replacing
boilerplate code in occupied and free functions.
2.0
Removed ``portend._getaddrinfo`` and its usage in
``Checker.assert_free``.
Dropped support for Python 2.6.
The LDAP controls and extended operations (EXOP) has been merged upstream
with some modifications. The patches backports upstream code to php70
and php71, with additionnal EXOP REFRESH support that is missing for now.
* Fix a timezone issue with the ``date_time_between_dates`` provider.
0.7.16:
* fix timezone issues with ``date_time_between`` provider.
* Add ``ext_word_list`` parameter to methods in the `Lorem` generator. Thanks @guinslym.
0.7.15:
* fix start and end date for datetime provider methods.
0.7.14:
* fix ``future_date``, `and ``past_date`` bounds.