## [2019-01-28]
### Added
- Global versions of box affine functions, e.g. `\box_grotate:Nn`
- Global versions of box size adjustment functions
- `\box_(g)set_eq_drop:NN`, `\(h|v)box_unpack_drop:N`
- `\file_get:nnN` and `\file_get:nnNTF`
- Experimental functions `\sys_shell_get:nnN` and `\sys_shell_get:nnNTF`
### Changed
- `\char_generate:nn` now always takes exactly two expansions
- Move `\prg_generate_conditional_variant:Nnn` to stable
- Renamed experimental `\box_trim:Nnnnn` and `\box_viewport:Nnnnn` as
`\box_set_trim:Nnnnn` and `\box_set_viewport:Nnnnn`, respectively
### Deprecated
- `\box_(g)set_eq_clear:NN`, replaced by `\box_(g)set_eq_drop:NN`
- `\(h|v)box_unpack_clear:N`, replaced by `\(h|v)box_unpack_drop:N
- `\tl_(g)set_from_file(_x):Nnn`, replaced by `\file_get:nnN`
### Fixed
- Scope treatment of `\box_set_dp:N`, _etc._
- In (u)platex: detection of spaces in `\tl_rescan:nn` and related
functions
### Removed
- Experimental function family `\tl_(g)set_from_shell:(N|c)nn`
(replaced by `\sys_shell_get:nnN`)
LLD is a linker from the LLVM project that is a drop-in replacement for system
linkers and runs much faster than them. It also provides features that are
useful for toolchain developers.
pytest 4.2.0:
Features
* Class xunit-style functions and methods now obey the scope of autouse fixtures.
This fixes a number of surprising issues like setup_method being called before session-scoped autouse fixtures.
* Display a message at the end of the test session when running under Python 2.7 and 3.4 that pytest 5.0 will no longer support those Python versions.
* The number of selected tests now are also displayed when the -k or -m flags are used.
* pytest_report_teststatus hook now can also receive a config parameter.
* pytest_terminal_summary hook now can also receive a config parameter.
Bug Fixes
* --junitxml can emit XML compatible with Jenkins xUnit. junit_family INI option accepts legacy|xunit1, which produces old style output, and xunit2 that conforms more strictly to https://github.com/jenkinsci/xunit-plugin/blob/xunit-2.3.2/src/main/resources/org/jenkinsci/plugins/xunit/types/model/xsd/junit-10.xsd
* Improve quitting from pdb, especially with --trace.
Using q[quit] after pdb.set_trace() will quit pytest also.
* Warning summary now groups warnings by message instead of by test id.
This makes the output more compact and better conveys the general idea of how much code is actually generating warnings, instead of how many tests call that code.
* monkeypatch.delattr handles class descriptors like staticmethod/classmethod.
* Restore marks being considered keywords for keyword expressions.
* tmp_path fixture and other related ones provides resolved path (a.k.a real path)
* pytest_terminal_summary uses result from pytest_report_teststatus hook, rather than hardcoded strings.
* Correctly handle unittest.SkipTest exception containing non-ascii characters on Python 2.
* Ensure the tmpdir and the tmp_path fixtures are the same folder.
* Ensure tmp_path is always a real path.
Trivial/Internal Changes
* Use a.item() instead of the deprecated np.asscalar(a) in pytest.approx.
np.asscalar has been deprecated in numpy 1.16..
* Copy saferepr from pylib
4.4.3:
This release fixes an open file leak that used to cause ResourceWarnings.
4.4.2:
This release changes Hypothesis's internal approach to caching the results of executing test cases. The result should be that it is now significantly less memory hungry, especially when shrinking large test cases.
Some tests may get slower or faster depending on whether the new or old caching strategy was well suited to them, but any change in speed in either direction should be minor.
4.4.1:
This patch tightens up some of our internal heuristics to deal with shrinking floating point numbers, which will now run in fewer circumstances.
You are fairly unlikely to see much difference from this, but if you do you are likely to see shrinking become slightly faster and/or producing slightly worse results.
4.4.0:
This release adds the :func:~hypothesis.extra.django.from_form function, which allows automatic testing against Django forms. (:issue:35)
4.3.0:
This release deprecates HealthCheck.hung_test and disables the associated runtime check for tests that ran for more than five minutes. Such a check is redundant now that we enforce the deadline and max_examples setting, which can be adjusted independently.
4.2.0:
This release adds a new module, hypothesis.extra.lark, which you can use to generate strings matching a context-free grammar.
In this initial version, only :pypi:lark-parser EBNF grammars are supported, by the new :func:hypothesis.extra.lark.from_lark function.
4.1.2:
This patch fixes a very rare overflow bug (:issue:1748) which could raise an InvalidArgument error in :func:~hypothesis.strategies.complex_numbers even though the arguments were valid.
4.1.1:
This release makes some improvements to internal code organisation and documentation and has no impact on behaviour.
4.1.0:
This release adds :func:~hypothesis.register_random, which registers random.Random instances or compatible objects to be seeded and reset by Hypothesis to ensure that test cases are deterministic.
We still recommend explicitly passing a random.Random instance from :func:~hypothesis.strategies.randoms if possible, but registering a framework-global state for Hypothesis to manage is better than flaky tests!
4.0.2:
This patch fixes :issue:1387, where bounded :func:~hypothesis.strategies.integers with a very large range would almost always generate very large numbers. Now, we usually use the same tuned distribution as unbounded :func:~hypothesis.strategies.integers.
4.0.1:
This release randomizes the order in which the shrinker tries some of its initial normalization operations. You are unlikely to see much difference as a result unless your generated examples are very large. In this case you may see some performance improvements in shrinking.
4.0.0:
Welcome to the next major version of Hypothesis!
There are no new features here, as we release those in minor versions. Instead, 4.0 is a chance for us to remove deprecated features (many already converted into no-ops), and turn a variety of warnings into errors.
If you were running on the last version of Hypothesis 3.x without any Hypothesis deprecation warnings (or using private APIs), this will be a very boring upgrade. In fact, nothing will change for you at all. Per :ref:our deprecation policy <deprecation-policy>, warnings added in the last six months (after 2018-07-05) have not been converted to errors.
Removals
hypothesis.extra.datetime has been removed, replaced by the core date and time strategies.
hypothesis.extra.fakefactory has been removed, replaced by general expansion of Hypothesis' strategies and the third-party ecosystem.
The SQLite example database backend has been removed.
Settings
The :obj:~hypothesis.settings.deadline is now enforced by default, rather than just emitting a warning when the default (200 milliseconds per test case) deadline is exceeded.
The database_file setting has been removed; use :obj:~hypothesis.settings.database.
The perform_health_check setting has been removed; use :obj:~hypothesis.settings.suppress_health_check.
The max_shrinks setting has been removed; use :obj:~hypothesis.settings.phases to disable shrinking.
The min_satisfying_examples, max_iterations, strict, timeout, and use_coverage settings have been removed without user-configurable replacements.
Strategies
The elements argument is now required for collection strategies.
The average_size argument was a no-op and has been removed.
Date and time strategies now only accept min_value and max_value for bounds.
:func:~hypothesis.strategies.builds now requires that the thing to build is passed as the first positional argument.
Alphabet validation for :func:~hypothesis.strategies.text raises errors, not warnings, as does category validation for :func:~hypothesis.strategies.characters.
The choices() strategy has been removed. Instead, you can use :func:~hypothesis.strategies.data with :func:~hypothesis.strategies.sampled_from, so choice(elements) becomes data.draw(sampled_from(elements)).
The streaming() strategy has been removed. Instead, you can use :func:~hypothesis.strategies.data and replace iterating over the stream with data.draw() calls.
:func:~hypothesis.strategies.sampled_from and :func:~hypothesis.strategies.permutations raise errors instead of warnings if passed a collection that is not a sequence.
Miscellaneous
Applying :func:@given <hypothesis.given> to a test function multiple times was really inefficient, and now it's also an error.
Using the .example() method of a strategy (intended for interactive exploration) within another strategy or a test function always weakened data generation and broke shrinking, and now it's an error too.
The HYPOTHESIS_DATABASE_FILE environment variable is no longer supported, as the database_file setting has been removed.
The HYPOTHESIS_VERBOSITY_LEVEL environment variable is no longer supported. You can use the --hypothesis-verbosity pytest argument instead, or write your own setup code using the settings profile system to replace it.
Using :func:@seed <hypothesis.seed> or :obj:derandomize=True <hypothesis.settings.derandomize> now forces :obj:database=None <hypothesis.settings.database> to ensure results are in fact reproducible. If :obj:~hypothesis.settings.database is not None, doing so also emits a HypothesisWarning.
Unused exception types have been removed from hypothesis.errors; namely AbnormalExit, BadData, BadTemplateDraw, DefinitelyNoSuchExample, Timeout, and WrongFormat.
1.0.4
- Support flake8 3.7+ by checking existence of "app.make_notifier";
- More fixes for Travis CI -- properly specify Python versions, in
particular for pypy (and fix a typo)
From Michael Baeuerle via pkgsrc-wip.
- Master site updated
- Patch "patch-src_xmlgen.cpp" removed (merged upstream)
- Option "latex" reenabled
Dependencies updated/added
- Dependency graphviz no longer has option "pangocairo"
Handling of that build option removed from Makefile
- Set c++11 in USE_LANGUAGES
C++11 is now used by doxygen (see changelog below)
- Test target added
HTML-Menus are now working without JavaScript again (HTML_DYNAMIC_MENUS = NO).
Changelog for Release 1.8.15 (release date 2017-12-27):
--------------------------------------------------------------------------------
Bug 851 - A function cannot be documented as related to two classes.
Bug 1041 - <a href> doesn't allow <img> as visible part?
Bug 1601 - Missing warning of undocumented member in member group
Bug 2274 - Tooltips are not shown in dot-generated graphsand,
Bug 2354 - caller graph can be improved by having caller on left & callee on
right
Bug 2478 - Handling of unnamed parameters (C/C++) unclear
Bug 2655 - cond/endcond cannot be used in aliases
Bug 2859 - Unnamed parameters parsed incorrectly
Bug 3206 - Fortran: Does not recognize backslash at end of documentation line
Bug 3361 - Merging of consecutive repeated commands creates poorly-structured
HTML
Bug 3677 - <![CDATA[ is not handled inside C# comments
Bug 3691 - C# keywords 'get' and 'set' are highlighted as reserved words in C++
documentation source browser.
Bug 3892 - @var in php is not documented
Bug 3958 - \cond after @string literal containing backslash fails in C#
Bug 4013 - Automatic links don't work correctly with operator< and operator<=
Bug 4064 - Support for C# nullable type
Bug 4244 - Fortran: tagfile.tag:789: warning: Unknown compound attribute `type'
found!
Bug 4316 - Can't use pound sign in alias command, escaped or unescaped
Bug 4458 - @todo in @param leads to strange confusing message
Bug 4529 - HTML tags <u> and </u> not supported,
Bug 4725 - single quote in HTML section of PHP breaks doxygen
Bug 4771 - Not warning of undocumented function parameters
Bug 4878 - Value from enumeration followed with semicolon is not present in java
docs
Bug 4954 - JavaDoc @linkplain is not recognized
Bug 5032 - Line numbers for examples
Bug 5068 - The 'Examples:' section; bad/missing style and incorrect spelling
Bug 5213 - Generated Doxyfile differs from result of doxygen -u,
Bug 5327 - <img> on a \page does not copy the image to the html output folder
Bug 5366 - Error with inserting images to PDF with Markdown
Bug 5442 - Misparsed comments leading to missing call graph
Bug 5539 - Error message when using memberof in a C macro
Bug 5547 - "remove" is treated as a keyword (green) in the source browser for
C++
Bug 5677 - Negative sign in -Foo::Bar ruins hyperlink in generated output
Bug 5725 - Field with name "internal" confuses documentation builder.
Bug 5765 - \todo at end of C# XML comment breaks following todo's
Bug 5783 - Navigation incorrect with escaped symbols
Bug 5784 - Doxygen not creating call graphs for C# methods if namespace contains
the classname
Bug 5818 - Main page absent in TOC of CHM, if PROJECT_NAME is empty
Bug 5853 - Can't suppress @author, @date and @copyright information in the
detailed file description
Bug 5901 - Macros (@test, @todo, etc) used with PHP namespaces causes illegal
command warning
Bug 5929 - \internal stops all parsing if used inside a section
Bug 6025 - Make maxLineLen of latex output configurable
Bug 6041 - PHP: New array syntax not supported when parsing initial value
Bug 6104 - EXTERNAL_GROUPS lose hierarchy
Bug 6118 - Title in rtf file is incorrect when overridden by user in extension
file
Bug 6153 - Build of PDF with LaTEX breaks
Bug 6160 - Python List as Default Parameter not parsed correctly
Bug 6172 - CREATE_SUBDIRS breaks SERVER_BASED_SEARCH
Bug 6175 - plantuml:an unwanted newline is generated after @startuml
Bug 6197 - Czech/Slovak language documentation with tables from LaTeX to PDF is
not possible
Bug 6208 - Annotated function parameter generates <dt> warning in todo list
Bug 6213 - rtf generation
Bug 6214 - LaTeX output for \tparam block fails to compile when it contains a
\code block,
Bug 6224 - .tex file is wrong when generating a function whose name includes an
underline
Bug 6269 - Disabled controls when `HAVE_DOT` is already set to `YES`
Bug 6270 - Bad handling of Python class members when a class declaration line
contains a comment
Bug 6295 - doxygen has problem with operator&=()
Bug 6305 - XHTML pages are broken several waysand
Bug 6308 - When generating xhtml, async attribute on script tags need a value
Bug 6310 - Table markdown produces invalid xhtml code
Bug 6311 - Blank rows on class page when using external tag file
Bug 6312 - markdown plantuml use of graphviz fail if plantuml work i code file
Bug 6316 - unescaped double quote in searchdata.js breaks search box
functionality
Bug 6322 - incorrect parsing of markdown table
Bug 6323 - error: Could not open file .../doc/html/functions_ .html for writing
Bug 6324 - C#: Incorrect parsing of property definitions containing "//" symbols
in one line with "}
Bug 6325 - Segmentation fault when generating graphical class hierarchy
Bug 6339 - Examples of TCL files fail to display
Bug 6340 - Missed warning opportunity: duplicated arguments
Bug 6345 - c# see langword broken
Bug 6346 - Doxygen crash when using \code{.markdown}...\endcode in VHDL source
Bug 6350 - Broken extension test in FileDef::generateSourceFile()
Bug 6352 - "unexpected token TK_EOF as the argument of ref" when target starts
with a digit
Bug 6362 - Adjacent xrefitems always added to first list present on page
Bug 6363 - Backslashes in default values confuse the parser (and cause params
to be ignored)
Bug 6368 - LaTeX: Class scrbook Error: undefined old font command `\tt'
Bug 6370 - Invalid 3-byte UTF8 found in input of graph
Bug 6373 - Collapsed treeview arrow displays as emoji in Microsoft Edge
Bug 6378 - @cond does not stop at @endcond Fortran
Bug 6517 - Emoji support,
Bug 6524 - Markdown formats missing in doxygen outputs.
Bug 6533 - PHP: Namespaced typehints in deprecated methods not handled correctly
Bug 6547 - Call graph missing due to ALIASES,
Bug 6566 - INHERIT_DOCS not working for python
Bug 6580 - xrefitems not listed if the page is referenced multiple times
Bug 6589 - anchor after test command in a namespace produces duplicate tests
Bug 6594 - using ingroup and anchor causes tests to disappear
Bug 6597 - SIGSEGV presumably caused by C++ "using" declaration
Bug 6601 - tparam HTML gobbles up lines after the tparam comment
Bug 6612 - Issue with handling of emoji
Bug 6632 - References to Objective C protocols by name broken in 1.8.12
Bug 6657 - "QGDict::hashAsciiKey: Invalid null key" when using anonymous
union/struct
Bug 6690 - Regression in handling of shorthand signed/unsigned types in function
parameters (with bisect and test case)
Bug 6691 - Multiple issues with emoji matching
Bug 6692 - XML TOC generation is not backwards-compatible with 1.8.14
'self' keyword in PHP documentation
Added: support RTL for DocXRefItem in html - Removed: support RTL form Return
section in html, for consistency with parameter sections
Fixed: list item bullets overlap floating elements in html - Fixed: fragment
lines overlap floating elements in html
Fixed: text-align of rtl toc
Fixed: last line underline overlap border in html fragment
A few more language updates
Add VHDL strings to Translator class and add german translations.
Add commands to handle referenced by relation and references relation,
Add formula (images) to RTF output
Add function annotations support
Add possibility for adding doxygen configuration items to, all, tests during
runtime.
Add support for std::shared_ptr
Add support of dict/set in annotations and default values
Add variadic arguments support to @link and @ref, aka '...' arguments, fixes
Add variadic function arguments '...' regression tests
Add variadic template function regression tests
Added *.ice files as a recognized file type. Added a Slice-optimized output
mode.
Added French translation
Added missing #include for util.h to portable.cpp
Added not for usage of [TOC] together with Markdown headers
Added some VHDL code coloring
Added some missing default types for argument matching
Added substitution variant for character substitution
Added support for RTL(right to left) languages like Arabic and Persian in HTML
output
Added test case for \ref, and fixed representation of operator->*()
Adding debug options to vhdl parser generator
Adjustment of xhtml1-transitional.dtd
Automatic detection of UCS-2 based on BOM corrected
Better HTML output for VHDL Ports
Bold text terminated by plus sign
Bug fix for plantuml
Bump minimal deployment target for OSX to 10.9 to avoid deprecation warning
while linking
C++11 features used in Doxygen
Cannot Generate Layout File using -l
Cannot properly jump from brief to detailed function description
Change german translation of trClassDocumentation() for VHDL output.
Changed implementation, added test case
Changed mail address and removed obsolete files
Changed refiltering to forced use of insideTabbing
Changed state guard instead of adding pattern check+reject
Close last code line properly.
Combined lrRank and rank parameters for computeMd5Signature
Consistency between 'generate' and 'update' startup option
Consistency between preprocessor and handling of \cond and \if
Consistency for "group" commands
Consistency in headings and layout for template parameters (tparam)
Consistency of Index name in LaTeX output
Consistency of environment variables between config and code,
Consistent warning messages
Correct list of not used translator functions
Correct typing error in test 5
Correct typing error in test 51
Correct typing error in warning message.
Corrected description of XML output for emoji characters
Corrected warning in case of a not supported output format with \image command.
Correcting "Definition at line @0 of file @1."
Correcting labels for citations,
Correcting tag example and uniform calling all examples
Correcting tag in printdocvisitor
Correcting warning messages and echoing unknown command
Correction for `doxygen -g`
Correction in example of FILE_VERSION_FILTER
Correction in title of FAQ
Correction internal documentation
Correction of some coloring of code comments in VHDL, adding data type
'positive'
Create command for escaped equal sign
Create test possibilities for xhtml and pdf output,
Debug output commentcnv independent of QUIET setting
Difference between standard and used Doxyfile
Difference between standard and used Doxyfile (list)
Disabled Appveyor documentation build due to unreliability of MikTeX download
Disabled debug print
Documentation EXTENSION_MAPPING
Documentation correction
Documentation correction CLANG option usage
Documentation correction include command with options
Documentation corrections
Documentation internet addresses
Documentation update regarding right font usage in architecture chapter
Does not generate TOC for markdown
Don't link to non existing / not accessible namespaces , in CSharp, in the
source code
Doxygen creates empty image titles for Docbook output
Doxygen manual doesn't have lines around markdown tables / cells.
Doxygen manual is not XHTML compliant
Drop down lists in menu bar missing
Enable comma as separator in configuration lists
Enable in page table of contents for LaTeX
Enable in page table of contents for XML and add maximum level to in page table
of contents,
Enable possibility of CLANG for Cygwin,
Enable possibility to run single tests
Ensure all language files are reset
Expand sqlite3gen's breadth, depth, and quality
Extending \cite command with '-' and '?' characters.
Extending tests with extra possibilities
Fix French lang build
Fix HTTPS links
Fix VHDL Latex documentation having two chapters with the same name.
Fix Windows build failure
Fix annotation with default value parsing
Fix building with Visual Studio 2013
Fix for 'Definition at line' points to end of multiple-lined definition for
Python #6706
Fix for module quicklinks
Fix for unbounded memory usage due to a bug in \ref const matching #6689
Fix potential hangup when merging scopes
Fix regression due to move of markdown processing
Fix scanner.l for Slice,,
Fix/New: add variadic function args '...' support to @link
Fix/New: add variadic function args '...' support to @ref
Fixed bug in URL
Fixed compile errors in clang and gcc
Fixed compiler warning for nested /* in scanner.l
Fixed differently by changing root cause for introducing the space
Fixed documentation to point to GitHub issue tracker
Fixed incorrect XHTML output for test 021
Fixed logic error
Fixed merge problem
Fixed one remained compile error in clang
Fixed problems with emoji handling and added a test case for it
Fixed some more small memory leaks
Fixed two small memory leaks
Fixing coverity messages
Fixing coverity messages (Namespace tag)
Fixing problem with possible not initialized variable (endless loop in VS 2017
debug)
Fortran code coloring improvements (REAL and comment lines)
Fortran improvements
Fortran improvements (2)
Fortran scanner abort message
French translation for VHDL additions
Further simplified the fix
Generating doxygen documentation on Windows (with MikTex)
Handling Fortran functions in call graphs
Heading in rtf. #6522https://github.com/doxygen/doxygen/issues/6522
Ignore build* directories and not just build
Implementation Fortran ENUM / ENUMERATION
Implementation of standard generator for docbook output,
Improved robustness of the emoji feature
Improvement LaTeX outputandand
Improvement regarding width and title for docbook
Improvements in handling special characters in Latex
Include "empty" directories in the documentation if they contain a `.dox` file
(or similar) documenting the directory itself.
Include header for CompilationDatabase
Include height item in XML output
Inconsistency in respect to tgroup in docbook
Incorrect tag sequence for xhtml with class diagram possible
Incorrect closing tags for in page table of contents (XHTML)
Incorrect closing tags for in page table of contents (docbook)
Incorrect number of start / end paragraph tags for xhtml with htmlonly
Incorrect number of start / end paragraph tags for xhtml with image command
Incorrect number tag sequence for xhtml with htmlinclude command possible
Incorrect tag sequence for xhtml with latexinclude command possible
Incorrect tag sequence possible for images possible in case of xhtml
Index bugfix
Index list cannot contain special characters in ids for XHTML
Inline images
Invalid warnings regarding todos when source file name contains a '-'
Issue #6631 Code blocks incorrectly formatted in Latex
Issue 6411: CSS for Markdown tables do not use HTML_COLORSTYLE_HUE,
HTML_COLORSTYLE_SAT config variables
Issue 6469: Java method calls are ignored in generating call/caller graph with
Graphviz
Issue 6494: asterisks before args and kwargs are ignored in python
Issue_6456 Using # in links causes errors in PDF generation
Issue_6585: Unexpected anchor tags in tag-files
Keyword register (in code) is deprecated since C++11,
LaTeX with verbatim part inside a table
Large CALL / CALLER graphs cannot be processed in LaTeX
Make conanfile creation more readable
Make it possible to list namespace members in file scope for XML output.
Making VHDL error messages more doxygen like
Making the 'tex' part of \makeindex available to the user
Markdown list wrong displayed
Minor documentation fix
Minor fixes to local toc logic after feedback
Minor restructuring
Misc. typos,
Missing opening round bracket in case of an exception
More typos
Moved #include "config.h" back to the original place
Moved duplicated code into dedicated function skipLanguageSpecificKeyword
Moved local toc data into a separate type for better encapsulation
Multiple `\xreflist` in one page with same key,
Multiple addindex commands in HTML with same name
Namespace with name docstrings_linebreak
Not showing external project in HTML hierarchy class pages
Numbers in comment disappear
Numbers overlap the titles in TOC of PDF
Order resources not only on filename but also dirname
PATCH -- updates reference link with no closing
Path for external commands on windows
Possibility to have a \image command inside a <A> tag
Possible fix for the build
Prevent <center> and <div> inside brief descriptions to avoid broken XHTML
output
Prevent empty list
Prevent empty member list table (XHTML)
Prevent empty page list table (XHTML)
Prevent possible 'QGDict::hashAsciiKey: Invalid null key' warning
Prevent potential race condition
Print emoji text in case of unknown emoji
Problem with TEST_FLAGS when using CMake for Visual Studio
Problem with \cond in normal comment of test 015
Problem with code inside a Doxy table in LaTeX
Problems and some enhancements for LaTeX tables
RTF layout regarding References and Referenced by
RTF lists more levels and removing extra paragraphs
Readded missing "Span" case to DocStyleChange::styleString
Redundant whitespace removal breaks some C++ links [with test case and Git
bisect] (Origin: bugzilla #791942)
Refactored code a bit
Refactored code a bit (use const references and made global functions members)
Reference text in reference list seen as emoji
Remove debug statement
Remove debug statements
Remove default assignment from Translator::trVhdlType() declaration
Remove double line with documented argument from addContentsItem in ftvhelp.cpp
Remove non-english translations
Remove obsolete definitions from scanner
Remove obsolete line from README.md
Remove old obsolete docbook generator
Remove some dead code
Renamed (start/end)SimpleSect to (start/end)Examples.
Renamed command and moved duplicated code into a macro
Renamed option and test case numbers
Replace ''printf' with appropriate warn 'message'
Replace calls to trTypeString with trVhdlType in single mode, which is the
default.
Replaced replace(QRegExp(..)) by substitute
Replaced replace(QRegExp..) by substitute
Resolve inconsistency in formula repositories.
Restructured code to avoid the need for global state
Return VHDL specific text in trClassHierarchyDescription()
Section label with minus sign not recognized properly.
Small clarification for REFERENCED_BY_RELATION
Small correction installation / build procedure
Small corrections in distributed man pages
Small documentation corrections
Small problems when displaying python code
Small problems when having code in LaTeX output,
Sorting of index in case of LaTex
Spanish translation for VHDL additions
Spelling of the word Javadoc
Synchronize chapter names of doxygen's own documentation.
Syntax highlighting / code coloring in RTF
Tag sequence incorrect for svg image (XHTML)
Test renumbering,
Tooltip was twice 'HTML escaped',
Translators updated to version 1.8.15.
Truncated split bar in HTML output between treeview and normal text area
Typos [view],,
Unbalanced start of lists resulting in not creatable pdf of rtf document
Update Dutch translation for new Slice implementation
Update Dutch translation in respect to new VHDL entries.
Updated Hungarian translation
Upgrade to jQuery 1.7.2 to get rid of security scan violations.
Usage of '{', '}' and ',' in ALIAS
Use QCStringList::split i.s.o. QStringList::split
Version bump for next release
Warning running xmllint for xhtml
Wrong counting of lines during VHDL code output
Wrong determination of begin / end tag of formula in markdown.
Wrong link generated for inherited members when tag files are used.
Wrong separator in index for a.o. Python, C#
Wrong spelling of word doxygen
XHTML image tag mandatory alt attribute
XHTML incorrect attribute values for align and valign
XHTML problem with class index table
XHTML problem with multiple use of node numbers in id attribute
XHTML problem with name attribute with VHDL name attribute
XML output: avoid warnings with scoped enum values in anonymous namespaces.
[ImgBot] Optimize images
added PHP7 support for the search engine on HTML output.
See: http://php.net/manual/en/language.basic-syntax.phptags.php
addindex supports also DocBook and RTF
correct typo in comment
declares XMLCodeGenerator in xmlgen.h
doxyparse bugfixes and minor improvements
fix build with qt 5.11, deprecated qt5_use_modules macro was removed, patch
by Christophe Giboudeaux
perlmod syntax correction
redundant input_filter runs significantly reduce performance when
FILTER_SOURCE_FILES and INLINE_SOURCES are both enabled #6395
sqlite3: fix missing external_file view schema col
sqlite3: require sqlite >= 3.9.0
--------------------------------------------------------------------------------
3.7.3:
Bugs Fixed
Fix imports of typing in python 3.5.0 / 3.5.1
Fix flake8 --statistics
Gracefully ignore flake8-per-file-ignores plugin if installed
Improve error message for malformed per-file-ignores
3.7.2:
Bugs Fixed
Fix broken flake8 --diff (regressed in 3.7.0)
Fix typo in plugin exception reporting
Fix AttributeError while attempting to use the legacy api (regressed in
3.7.0)
3.7.1:
Bugs Fixed
- Fix capitalized filenames in per-file-ignores setting
3.7.0:
New Dependency Information
- Add dependency on entrypoints >= 0.3, < 0.4
- Pyflakes has been updated to >= 2.1.0, < 2.2.0
- pycodestyle has been updated to >= 2.5.0, < 2.6.0
Features
- Add support for per-file-ignores
- Enable use of float and complex option types
- Improve startup performance by switching from pkg_resources to
entrypoints
- Add metadata for use through the pre-commit_ git hooks framework
- Allow physical line checks to return more than one result
- Allow # noqa:X123 comments without space between the colon and codes
list
- Remove broken and unused flake8.listen plugin type
2.5.0:
New checks:
* E117: Over-indented code blocks
* W505: Maximum doc-string length only when configured with --max-doc-length
Changes:
* Remove support for EOL Python 2.6 and 3.3.
* Add E117 error for over-indented code blocks.
* Allow W605 to be silenced by # noqa and fix the position reported by W605
* Allow users to omit blank lines around one-liner definitions of classes and
functions
* Include the function return annotation (->) as requiring surrounding
whitespace only on Python 3
* Verify that only names can follow await. Previously we allowed numbers
and strings.
* Add support for Python 3.7
* Fix detection of annotated argument defaults for E252
* Cprrect the position reported by W504
Changelog:
New Functionality:
* Bug 818686 - Support XDG basedir specification
Notable changes:
* Added support for some of the testcases from the Wycheproof project:
- Bug 1508666 - Added AES-GCM test cases
- Bug 1508673 - Added ChaCha20-Poly1305 test cases
- Bug 1514999 - Added the Curve25519 test cases
- Thanks to Jonas Allmann for adapting these tests.
Bugs fixed in NSS 3.42:
* Bug 1490006 - Reject invalid CH.legacy_version in TLS 1.3
* Bug 1507135 and Bug 1507174 - Add additional null checks to several CMS
functions to fix a rare CMS crash. Thanks to Hanno Böck and Damian Poddebniak
for the discovery and fixes.
* Bug 1513913 - A fix for Solaris where Firefox 60 core dumps during start when
using profile from version 52
2.0.8:
Bug fixes:
- Fixes the issue where changes made to the buffer in the accept handler were
not reflected in the history.
- Fix in the application invalidate handler. This prevents a significat slow
down in some applications after some time (especially if there is a refresh
interval).
- Make print_container utility work if the input is not a pty.
New features:
- Underline non breaking spaces instead of rendering as '&'.
- Added mouse support for radio list.
- Support completion styles for READLINE_LIKE display method.
- Accept formatted text in the display text of completions.
- Added a FuzzyCompleter and FuzzyWordCompleter.
- Improved error handling in Application (avoid displaying a meaningless
AssertionError in many cases).
v16.3.0:
Bugfixes
Use importlib over deprecated imp in distutils/__init__.py for python 3
Preserve cert option defined in pip.conf or environment variable.
fixed a ResourceWarning: unclosed file in call_subprocess()
pre-import some built-in modules in site.py on PyPy according to PyPy’s site.py
Copy files from sys.exec_prefix only if it is really different path than used prefix
v40.7.0
* File inputs for the license field in setup.cfg files now explicitly raise an error.
* Add support for non-ASCII in setup.cfg. Add support for native strings on some parameters.
* setuptools.package_index no longer relies on the deprecated urllib.parse.splituser per Python.
* Added tests for PackageIndex.download (for git URLs).
* In PEP 517 build_meta builder, ensure that sdists are built as gztar per the spec.
Update geany to cover the last year or so of development. I will circle
back later and add optional GTK3 support (unless someone beats me to
it).
Geany 1.34.1 (January 4, 2019)
Bug fixes
* Fix line breaking on existing lines (PR#2027).
* Fix displaying filenames containing XML control characters inside
infobars (Issue#2033).
Windows
* Fix rectangular selection modifier (PR#2032).
Internationalization
* Updated translations: uk
Geany 1.34 (December 16, 2018)
General
* Auto-select GTK2 or GTK3 at build time depending on availability
(PR#1182).
* Process files in the order they appear on the command line when
generating tags files (Issue#1989, PR#1991).
Bug fixes
* Fix high CPU usage with the Scope plugin (Dimitar Zhekov, Issue#1461).
* Fix loading some tags files with format specifier (Issue#1814, PR#1817).
* Fix Plugin Manager buttons sometimes getting out of sync, possibly
leading to a crash (Issue#1781, PR#1799).
* Fix horizontal and page scrolling under GTK3 (PR#1843).
Interface
* Show part of the file path to show unique elements in the go to symbol
popup (Thomas Martitz, PR#1445, Issue#1069).
* Always show icons in the go to symbol popup (PR#1997).
* Add a keybinding for "Strip Trailing Spaces" (LarsGit223, Issue#395,
PR#1806).
* Add some missing label relations.
Editor
* Update Scintilla to version 3.10.0 (Issue#1421, PR#1914).
* Fix line breaking with multi-byte characters (Issue#1958, PR#1960).
* Don't beep when trying to go to the next cursor location in a snippet and
there is none (see Issue#1554).
Filetypes
* Markdown: Display bold and italics as such (FMuro, PR#1837).
* Python: Update keywords to Python 3.7 (Miro Hrončok, Issue#1351, PR#1894).
* PHP: Update tags for PHP 7.2 (Dominic Hopf, PR#1970).
* Batch: Use REM as single-line comment marker (Issue#1912, PR#1932).
* VHDL: Classify string styles as such (PR#1402).
Windows
* Fix display issues on HiDPI displays (Issue#692, PR#1992).
API
* Add `msgwin_compiler_add_string()`, `msgwin_msg_add_string()`,
`msgwin_status_add_string()` (Thomas Martitz, PR#1748).
* Add GeanyObject::key-press` signal allowing plugins to intercept key
presses before Geany (Jiří Techet, PR#1829).
* Add `utils_strv_shorten_file_list()` (Thomas Martitz, PR#1445).
* Fix value of GeanyDocument::changed when quitting (Jason Cumbie, PR#1857).
Internationalization
* Add translation: da
* Updated translations: de, es, fr, hu, it, ja, pt, sv, sk, uk, ru,
zh_CN, zh_TW
Geany 1.33 (February 25, 2018)
Bug fixes
* Fix the symbols tree hierarchy when several tags have the same name
(PR#1598).
Interface
* Add a tooltip showing the full path on menu items representing documents
(PR#1706).
* Add a note for applying the indent settings in the project preferences
(PR#1650).
* Enable popup menu on sidebar and message window notebooks (PR#1726).
* Show status message on attempt to execute empty context action
(Lars Paulsen, PR#1642).
* GTK3 theming improvements and documentation (PR#1382).
Filetypes
* CSS: Update Grid properties (Issue#1705).
Internationalization
* Updated translations: de, el, es, fr, it, lv, pl, pt, tr, ru, zh_CN
Upstream changes:
rlang 0.3.1
This patch release polishes the new backtrace feature introduced in rlang 0.3.0 and solves bugs for the upcoming release of purrr 0.3.0. It also features as_label() and as_name() which are meant to replace quo_name() in the future. Finally, a bunch of deparsing issues have been fixed.
Backtrace fixes
New entrace() condition handler. Add this to your RProfile to enable rlang backtraces for all errors, including warnings promoted to errors:
if (requireNamespace("rlang", quietly = TRUE)) {
options(error = rlang::entrace)
}
This handler also works as a calling handler:
with_handlers(
error = calling(entrace),
foo(bar)
)
However it’s often more practical to use with_abort() in that case:
with_abort(foo(bar))
with_abort() gains a classes argument to promote any kind of condition to an rlang error.
New last_trace() shortcut to print the backtrace stored in the last_error().
Backtrace objects now print in full by default.
Calls in backtraces are now numbered according to their position in the call tree. The numbering is non-contiguous for simplified backtraces because of omitted call frames.
catch_cnd() gains a classes argument to specify which classes of condition to catch. It returns NULL if the expected condition could not be caught (#696).
as_label() and as_name()
The new as_label() and as_name() functions should be used instead of quo_name() to transform objects and quoted expressions to a string. We have noticed that tidy eval users often use quo_name() to extract names from quosured symbols. This is not a good use for that function because the way quo_name() creates a string is not a well defined operation.
For this reason, we are replacing quo_name() with two new functions that have more clearly defined purposes, and hopefully better names reflecting those purposes. Use as_label() to transform any object to a short human-readable description, and as_name() to extract names from (possibly quosured) symbols.
Create labels with as_label() to:
Display an object in a concise way, for example to labellise axes in a graphical plot.
Give default names to columns in a data frame. In this case, labelling is the first step before name repair.
We expect as_label() to gain additional parameters in the future, for example to control the maximum width of a label. The way an object is labelled is thus subject to change.
On the other hand, as_name() transforms symbols back to a string in a well defined manner. Unlike as_label(), as_name() guarantees the roundtrip symbol -> string -> symbol.
In general, if you don’t know for sure what kind of object you’re dealing with (a call, a symbol, an unquoted constant), use as_label() and make no assumption about the resulting string. If you know you have a symbol and need the name of the object it refers to, use as_name(). For instance, use as_label() with objects captured with enquo() and as_name() with symbols captured with ensym().
Note that quo_name() will only be soft-deprecated at the next major version of rlang (0.4.0). At this point, it will start issuing once-per-session warnings in scripts, but not in packages. It will then be deprecated in yet another major version, at which point it will issue once-per-session warnings in packages as well. You thus have plenty of time to change your code.
Minor fixes and features
New is_interactive() function. It serves the same purpose as base::interactive() but also checks if knitr is in progress and provides an escape hatch. Use with_interactive() and scoped_interactive() to override the return value of is_interactive(). This is useful in unit tests or to manually turn on interactive features in RMarkdown outputs
calling() now boxes its argument.
New done() function to box a value. Done boxes are sentinels to indicate early termination of a loop or computation. For instance, it will be used in the purrr package to allow users to shortcircuit a reduction or accumulation.
new_box() now accepts additional attributes passed to structure().
as_string() now unwraps quosured symbols automatically.
Note that quo_name() is not appropriate for transforming symbols to strings. quo_name() is suitable for creating default labels, not for deterministic conversions between symbol and string. Please use as_string() instead.
Fixed a quotation bug with binary operators of zero or one argument such as `/`(1) (#652). They are now deparsed and printed properly as well.
New call_ns() function to retrieve the namespace of a call. Returns NULL if the call is not namespaced.
Top-level S3 objects are now deparsed properly.
Empty { blocks are now deparsed on the same line.
Fixed a deparsing issue with symbols containing non-ASCII characters (#691).
expr_print() now handles [ and [[ operators correctly, and deparses non-syntactic symbols with backticks.
call_modify() now respects ordering of unnamed inputs. Before this fix, it would move all unnamed inputs after named ones.
as_closure() wrappers now call primitives with positional arguments to avoid edge case issues of argument matching.
as_closure() wrappers now dispatch properly on methods defined in the global environment (tidyverse/purrr#459).
as_closure() now supports both base-style (e1 and e2) and purrr-style (.x and .y) arguments with binary primitives.
exec() takes .fn as first argument instead of f, for consistency with other rlang functions.
Fixed infinite loop with quosures created inside a data mask.
Base errors set as parent of rlang errors are now printed correctly.
rlang 0.3.0
Breaking changes
The rlang API is still maturing. In this section, you’ll find hard breaking changes. See the life cycle section below for an exhaustive list of API changes.
quo_text() now deparses non-syntactic symbols with backticks:
quo_text(sym("foo+"))
#> [1] "`foo+`"
This caused a number of issues in reverse dependencies as quo_text() tends to be used for converting symbols to strings. quo_text() and quo_name() should not be used for this purpose because they are general purpose deparsers. These functions should generally only be used for printing outputs or creating default labels. If you need to convert symbols to strings, please use as_string() rather than quo_text().
We have extended the documentation of ?quo_text and ?quo_name to make these points clearer.
exprs() no longer flattens quosures. exprs(!!!quos(x, y)) is now equivalent to quos(x, y).
The sentinel for removing arguments in call_modify() has been changed from NULL to zap(). This breaking change is motivated by the ambiguity of NULL with valid argument values.
call_modify(call, arg = NULL) # Add `arg = NULL` to the call
call_modify(call, arg = zap()) # Remove the `arg` argument from the call
The %@% operator now quotes its input and supports S4 objects. This makes it directly equivalent to @ except that it extracts attributes for non-S4 objects (#207).
Taking the env_parent() of the empty environment is now an error.
Summary
The changes for this version are organised around three main themes: error reporting, tidy eval, and tidy dots.
abort() now records backtraces automatically in the error object. Errors thrown with abort() invite users to call rlang::last_error() to see a backtrace and help identifying where and why the error occurred. The backtraces created by rlang (you can create one manually with trace_back()) are printed in a simplified form by default that removes implementation details from the backtrace. To see the full backtrace, call summary(rlang::last_error()).
abort() also gains a parent argument. This is meant for situations where you’re calling a low level API (to download a file, parse a JSON file, etc) and would like to intercept errors with base::tryCatch() or rlang::with_handlers() and rethrow them with a high-level message. Call abort() with the intercepted error as the parent argument. When the user prints rlang::last_error(), the backtrace will be shown in two sections corresponding to the high-level and low-level contexts.
In order to get segmented backtraces, the low-level error has to be thrown with abort(). When that’s not the case, you can call the low-level function within with_abort() to automatically promote all errors to rlang errors.
The tidy eval changes are mostly for developers of data masking APIs. The main user-facing change is that .data[[ is now an unquote operator so that var in .data[[var]] is never masked by data frame columns and always picked from the environment. This makes the pronoun safe for programming in functions.
The !!! operator now supports all classed objects like factors. It calls as.list() on S3 objects and as(x, "list") on S4 objects.
dots_list() gains several arguments to control how dots are collected. You can control the selection of arguments with the same name with .homonyms (keep first, last, all, or abort). You can also elect to preserve empty arguments with .preserve_empty.
Conditions and errors
New trace_back() captures a backtrace. Compared to the base R traceback, it contains additional structure about the relationship between frames. It comes with tools for automatically restricting to frames after a certain environment on the stack, and to simplify when printing. These backtraces are now recorded in errors thrown by abort() (see below).
abort() gains a parent argument to specify a parent error. This is meant for situations where a low-level error is expected (e.g. download or parsing failed) and you’d like to throw an error with higher level information. Specifying the low-level error as parent makes it possible to partition the backtraces based on ancestry.
Errors thrown with abort() now embed a backtrace in the condition object. It is no longer necessary to record a trace with a calling handler for such errors.
with_abort() runs expressions in a context where all errors are promoted to rlang errors and gain a backtrace.
Unhandled errors thrown by abort() are now automatically saved and can be retrieved with rlang::last_error(). The error prints with a simplified backtrace. Call summary(last_error()) to see the full backtrace.
New experimental option rlang__backtrace_on_error to display backtraces alongside error messages. See ?rlang::abort for supported options.
The new signal() function completes the abort(), warn() and inform() family. It creates and signals a bare condition.
New interrupt() function to simulate an user interrupt from R code.
cnd_signal() now dispatches messages, warnings, errors and interrupts to the relevant signalling functions (message(), warning(), stop() and the C function Rf_onintr()). This makes it a good choice to resignal a captured condition.
New cnd_type() helper to determine the type of a condition ("condition", "message", "warning", "error" or "interrupt").
abort(), warn() and inform() now accepts metadata with .... The data are stored in the condition and can be examined by user handlers.
Consequently all arguments have been renamed and prefixed with a dot (to limit naming conflicts between arguments and metadata names).
with_handlers() treats bare functions as exiting handlers (equivalent to handlers supplied to tryCatch()). It also supports the formula shortcut for lambda functions (as in purrr).
with_handlers() now produces a cleaner stack trace.
Tidy dots
The input types of !!! have been standardised. !!! is generally defined on vectors: it takes a vector (typically, a list) and unquotes each element as a separate argument. The standardisation makes !!! behave the same in functions taking dots with list2() and in quoting functions. !!! accepts these types:
Lists, pairlists, and atomic vectors. If they have a class, they are converted with base::as.list() to allow S3 dispatch. Following this change, objects like factors can now be spliced without data loss.
S4 objects. These are converted with as(obj, "list") before splicing.
Quoted blocks of expressions, i.e. { } calls
!!! disallows:
Any other objects like functions or environments, but also language objects like formula, symbols, or quosures.
Quoting functions used to automatically wrap language objects in lists to make them spliceable. This behaviour is now soft-deprecated and it is no longer valid to write !!!enquo(x). Please unquote scalar objects with !! instead.
dots_list(), enexprs() and enquos() gain a .homonyms argument to control how to treat arguments with the same name. The default is to keep them. Set it to "first" or "last" to keep only the first or last occurrences. Set it to "error" to raise an informative error about the arguments with duplicated names.
enexprs() and enquos() now support .ignore_empty = "all" with named arguments as well (#414).
dots_list() gains a .preserve_empty argument. When TRUE, empty arguments are stored as missing arguments (see ?missing_arg).
dots_list(), enexprs() and enquos() gain a .check_assign argument. When TRUE, a warning is issued when a <- call is detected in .... No warning is issued if the assignment is wrapped in brackets like { a <- 1 }. The warning lets users know about a possible typo in their code (assigning instead of matching a function parameter) and requires them to be explicit that they really want to assign to a variable by wrapping in parentheses.
lapply(list(quote(foo)), list2) no longer evaluates foo (#580).
Tidy eval
You can now unquote quosured symbols as LHS of :=. The symbol is automatically unwrapped from the quosure.
Quosure methods have been defined for common operations like ==. These methods fail with an informative error message suggesting to unquote the quosure (#478, #tidyverse/dplyr#3476).
as_data_pronoun() now accepts data masks. If the mask has multiple environments, all of these are looked up when subsetting the pronoun. Function objects stored in the mask are bypassed.
It is now possible to unquote strings in function position. This is consistent with how the R parser coerces strings to symbols. These two expressions are now equivalent: expr("foo"()) and expr((!!"foo")()).
Quosures converted to functions with as_function() now support nested quosures.
expr_deparse() (used to print quosures at the console) now escapes special characters. For instance, newlines now print as "\n" (#484). This ensures that the roundtrip parse_expr(expr_deparse(x)) is not lossy.
new_data_mask() now throws an error when bottom is not a child of top (#551).
Formulas are now evaluated in the correct environment within eval_tidy(). This fixes issues in dplyr and other tidy-evaluation interfaces.
New functions new_quosures() and as_quosures() to create or coerce to a list of quosures. This is a small S3 class that ensures two invariants on subsetting and concatenation: that each element is a quosure and that the list is always named even if only with a vector of empty strings.
Environments
env() now treats a single unnamed argument as the parent of the new environment. Consequently, child_env() is now superfluous and is now in questioning life cycle.
New current_env() and current_fn() functions to retrieve the current environment or the function being evaluated. They are equivalent to base::environment() and base::sys.function() called without argument.
env_get() and env_get_list() gain a default argument to provide a default value for non-existing bindings.
env_poke() now returns the old value invisibly rather than the input environment.
The new function env_name() returns the name of an environment. It always adds the “namespace:” prefix to namespace names. It returns “global” instead of “.GlobalEnv” or “R_GlobalEnv”, “empty” instead of “R_EmptyEnv”. The companion env_label() is like env_name() but returns the memory address for anonymous environments.
env_parents() now returns a named list. The names are taken with env_name().
env_parents() and env_tail() now stop at the global environment by default. This can be changed with the last argument. The empty environment is always a stopping condition so you can take the parents or the tail of an environment on the search path without changing the default.
New predicates env_binding_are_active() and env_binding_are_lazy() detect the kind of bindings in an environment.
env_binding_lock() and env_binding_unlock() allows to lock and unlock multiple bindings. The predicate env_binding_are_locked() tests if bindings are locked.
env_lock() and env_is_locked() lock an environment or test if an environment is locked.
env_print() pretty-prints environments. It shows the contents (up to 20 elements) and the properties of the environment.
is_scoped() has been soft-deprecated and renamed to is_attached(). It now supports environments in addition to search names.
env_bind_lazy() and env_bind_active() now support quosures.
env_bind_exprs() and env_bind_fns() are soft-deprecated and renamed to env_bind_lazy() and env_bind_active() for clarity and consistency.
env_bind(), env_bind_exprs(), and env_bind_fns() now return the list of old binding values (or missing arguments when there is no old value). This makes it easy to restore the original environment state:
old <- env_bind(env, foo = "foo", bar = "bar")
env_bind(env, !!!old)
env_bind() now supports binding missing arguments and removing bindings with zap sentinels. env_bind(env, foo = ) binds a missing argument and env_bind(env, foo = zap()) removes the foo binding.
The inherit argument of env_get() and env_get_list() has changed position. It now comes after default.
scoped_bindings() and with_bindings() can now be called without bindings.
env_clone() now recreates active bindings correctly.
env_get() now evaluates promises and active bindings since these are internal objects which should not be exposed at the R level (#554)
env_print() calls get_env() on its argument, making it easier to see the environment of closures and quosures (#567).
env_get() now supports retrieving missing arguments when inherit is FALSE.
Calls
is_call() now accepts multiple namespaces. For instance is_call(x, "list", ns = c("", "base")) will match if x is list() or if it’s base::list():
call_modify() has better support for ... and now treats it like a named argument. call_modify(call, ... = ) adds ... to the call and call_modify(call, ... = NULL) removes it.
call_modify() now preserves empty arguments. It is no longer necessary to use missing_arg() to add a missing argument to a call. This is possible thanks to the new .preserve_empty option of dots_list().
call_modify() now supports removing unexisting arguments (#393) and passing multiple arguments with the same name (#398). The new .homonyms argument controls how to treat these arguments.
call_standardise() now handles primitive functions like ~ properly (#473).
call_print_type() indicates how a call is deparsed and printed at the console by R: prefix, infix, and special form.
The call_ functions such as call_modify() now correctly check that their input is the right type (#187).
Other improvements and fixes
New function zap() returns a sentinel that instructs functions like env_bind() or call_modify() that objects are to be removed.
New function rep_named() repeats value along a character vector of names.
New function exec() is a simpler replacement to invoke() (#536). invoke() has been soft-deprecated.
Lambda functions created from formulas with as_function() are now classed. Use is_lambda() to check a function was created with the formula shorthand.
is_integerish() now supports large double values (#578).
are_na() now requires atomic vectors (#558).
The operator %@% has now a replacement version to update attributes of an object (#207).
fn_body() always returns a { block, even if the function has a single expression. For instance fn_body(function(x) do()) returns quote({ do() }).
is_string() now returns FALSE for NA_character_.
The vector predicates have been rewritten in C for performance.
The finite argument of is_integerish() is now NULL by default. Missing values are now considered as non-finite for consistency with base::is.finite().
is_bare_integerish() and is_scalar_integerish() gain a finite argument for consistency with is_integerish().
flatten_if() and squash_if() now handle primitive functions like base::is.list() as predicates.
is_symbol() now accepts a character vector of names to mach the symbol against.
parse_exprs() and parse_quos() now support character vectors. Note that the output may be longer than the input as each string may yield multiple expressions (such as "foo; bar").
parse_quos() now adds the quosures class to its output.
Lifecycle
Soft-deprecated functions and arguments
rlang 0.3.0 introduces a new warning mechanism for soft-deprecated functions and arguments. A warning is issued, but only under one of these circumstances:
rlang has been attached with a library() call.
The deprecated function has been called from the global environment.
In addition, deprecation warnings appear only once per session in order to not be disruptive.
Deprecation warnings shouldn’t make R CMD check fail for packages using testthat. However, expect_silent() can transform the warning to a hard failure.
tidyeval
.data[[foo]] is now an unquote operator. This guarantees that foo is evaluated in the context rather than the data mask and makes it easier to treat .data[["bar"]] the same way as a symbol. For instance, this will help ensuring that group_by(df, .data[["name"]]) and group_by(df, name) produce the same column name.
Automatic naming of expressions now uses a new deparser (still unexported) instead of quo_text(). Following this change, automatic naming is now compatible with all object types (via pillar::type_sum() if available), prevents multi-line names, and ensures name and .data[["name"]] are given the same default name.
Supplying a name with !!! calls is soft-deprecated. This name is ignored because only the names of the spliced vector are applied.
Quosure lists returned by quos() and enquos() now have “list-of” behaviour: the types of new elements are checked when adding objects to the list. Consequently, assigning non-quosure objects to quosure lists is now soft-deprecated. Please coerce to a bare list with as.list() beforehand.
as_quosure() now requires an explicit environment for symbols and calls. This should typically be the environment in which the expression was created.
names() and length() methods for data pronouns are deprecated. It is no longer valid to write names(.data) or length(.data).
Using as.character() on quosures is soft-deprecated (#523).
Miscellaneous
Using get_env() without supplying an environment is now soft-deprecated. Please use current_env() to retrieve the current environment.
The frame and stack API is soft-deprecated. Some of the functionality has been replaced by trace_back().
The new_vector_along() family is soft-deprecated because these functions are longer to type than the equivalent rep_along() or rep_named() calls without added clarity.
Passing environment wrappers like formulas or functions to env_ functions is now soft-deprecated. This internal genericity was causing confusion (see issue #427). You should now extract the environment separately before calling these functions.
This change concerns env_depth(), env_poke_parent(), env_parent<-, env_tail(), set_env(), env_clone(), env_inherits(), env_bind(), scoped_bindings(), with_bindings(), env_poke(), env_has(), env_get(), env_names(), env_bind_exprs() and env_bind_fns().
cnd_signal() now always installs a muffling restart for non-critical conditions. Consequently the .mufflable argument has been soft-deprecated and no longer has any effect.
Deprecated functions and arguments
Deprecated functions and arguments issue a warning inconditionally, but only once per session.
Calling UQ() and UQS() with the rlang namespace qualifier is deprecated as of rlang 0.3.0. Just use the unqualified forms instead:
# Bad
rlang::expr(mean(rlang::UQ(var) * 100))
# Ok
rlang::expr(mean(UQ(var) * 100))
# Good
rlang::expr(mean(!!var * 100))
Although soft-deprecated since rlang 0.2.0, UQ() and UQS() can still be used for now.
The call argument of abort() and condition constructors is now deprecated in favour of storing full backtraces.
The .standardise argument of call_modify() is deprecated. Please use call_standardise() beforehand.
The sentinel argument of env_tail() has been deprecated and renamed to last.
Defunct functions and arguments
Defunct functions and arguments throw an error when used.
as_dictionary() is now defunct.
The experimental function rst_muffle() is now defunct. Please use cnd_muffle() instead. Unlike its predecessor, cnd_muffle() is not generic. It is marked as a calling handler and thus can be passed directly to with_handlers() to muffle specific conditions (such as specific subclasses of warnings).
cnd_inform(), cnd_warn() and cnd_abort() are retired and defunct. The old cnd_message(), cnd_warning(), cnd_error() and new_cnd() constructors deprecated in rlang 0.2.0 are now defunct.
Modifying a condition with cnd_signal() is defunct. In addition, creating a condition with cnd_signal() is soft-deprecated, please use the new function [signal()] instead.
inplace() has been renamed to calling() to follow base R terminology more closely.
Functions and arguments in the questioning stage
We are no longer convinced these functions are the right approach but we do not have a precise alternative yet.
The functions from the restart API are now in the questioning lifecycle stage. It is not clear yet whether we want to recommend restarts as a style of programming in R.
prepend() and modify() are in the questioning stage, as well as as_logical(), as_character(), etc. We are still figuring out what vector tools belong in rlang.
flatten(), squash() and their atomic variants are now in the questioning lifecycle stage. They have slightly different semantics than the flattening functions in purrr and we are currently rethinking our approach to flattening with the new typing facilities of the vctrs package.
rlang 0.2.2
This is a maintenance release that fixes several garbage collection protection issues.
Upstream changes:
1.0.1
New cli_sitrep() function, situation report about UTF-8 and ANSI color support (#53).
Fall back to ASCII only characters on non-Windows platforms without UTF-8 support, and also in LaTeX when running knitr (#34).
Upstream changes:
2.096 2018-12-30 BOOK
- Properly separate different attempts at loading the same module
- Override CORE::GLOBAL::require to ensure the hook is always first
(so `use lib` won't hide the module loaded right after it)
- Refactorized some of the internals
- Updated some links in the documentation
Upstream changes:
version 3.88 at 2019-01-20 10:24:12 +0000
-----------------------------------------
Change: 03ee3441d9e80abdb012059d815ed4b813de836b
Author: Chris 'BinGOs' Williams <chris@bingosnet.co.uk>
Date : 2019-01-20 10:24:12 +0000
Updated for v5.29.7
Update DEPENDS
Upstream changes:
0.86
- Released at 2019-01-19T09:39:55+0900
- Thanks to our contributors: Olaf Alders, Paul Cochrane
- Fix an error from 'install' command. https://rt.cpan.org/Public/Bug/Display.html?id=128083
- Tweak the separater characters of 'exec' command: See https://github.com/gugod/App-perlbrew/issues/648
0.85
- Released at 2018-12-15T23:24:15+0900
- Thanks to our contributors: Branislav Zahradník, Guido Flohr, Joelle Maslak, Luca Ferrari, rage311
- Fix the behaviour of 'clone-modules'
- Various internal refactoring
Upstream changes:
1.51 2019-01-19 14:23:23 -0500
- cmake plugin sets CMAKE_INSTALL_LIBDIR:PATH to lib for share installs
for cmake projects using GNUInstallDirs on platforms that default to
something other than lib.
1.50 2019-01-16 12:55:08 -0500
- Removed temp testing files unintentionally included in the previous
release.
- Require ExtUtils::MakeMaker 6.64, for Alien::Build::MM, which can
sometimes have its BUILD_REQUIRES or TEST_REQUIRES overridden by
Dist::Zilla otherwise.
1.49 2018-11-04 15:22:40 -0500
- Added Alien::Build::Plugin::Test::Mock
- Added alienfile_skip_if_missing_prereqs function to Test::Alien::Build
- Remove run-time dependency on Test2::Suite
Test2::API is still a run-time dependency, but that has
been in-core since 5.26.
Upstream changes (from NEWS):
== Ruby-GNOME2 3.3.1: 2019-01-09
This is a release that improves GObject Introspection support.
=== Changes
==== Ruby/GLib2
* Improvements
* (({rbgobj_remove_relative()})): Added support for removing a
relative added by (({rbgobj_add_relative()})).
* Stopped to use raw (({Hash})) to guard objects from GC.
* (({GLib::Idle.remove})): Deprecated. Use
(({GLib::Source.remove})) instead.
* Fixes
* Fixed typos in samples.
[GitHub#1267][Patch by kojix2]
==== Ruby/CairoGObject
* Improvements
* Started to require cairo gem 1.16.2 or later.
==== Ruby/GObjectIntrospection
* Improvements
* Added support for input object validation.
* Added support for callback with module function such as
(({Gdk.threads_add_idle})).
[GitHub#1256][Reported by xetum]
* Added support for converting (({GHash<utf8, GObject>})).
* Added support for transfer full (({GHash})).
* Added support for freeing array of primitive types.
[GitHub#1266][Patch by Yosuke Shiro]
* Improved suitable method detection for array and list.
* Added support for converting an array of (({GObject})).
* Added support for renaming compare operations:
* (({not_equal})): (({!=}))
* (({less_than})): (({<}))
* (({less_than_or_equal})): (({<=}))
* (({greater_than})): (({>}))
* (({greater_than_or_equal})): (({>=}))
==== Ruby/GdkPixbuf2
* Fixes
* Fixed markup.
[GitHub#1250][Patch by kojix2]
* Fixed a bug that data passed to (({GdkPixbuf::Pixbuf.new(data:
array)})) is corrupt by GC.
==== Ruby/Pango
* Improvements
* (({Pango::Layout#get_pixel_extents})): Added for backward
compatibility.
* (({Pango::Rectangle#ascent})): Added for backward
compatibility.
* (({Pango::Rectangle#descent})): Added for backward
compatibility.
* (({Pango::Rectangle#lbearing})): Added for backward
compatibility.
* (({Pango::Rectangle#rbearing})): Added for backward
compatibility.
* (({Pango::Rectangle#left_bearing})): Added.
* (({Pango::Rectangle#right_bearing})): Added.
==== Ruby/GTK2
* Fixes
* Fixed typos in samples.
[GitHub#1268][Patch by kojix2]
==== Ruby/GTK3
* Improvements
* Updated sample to work on HiDPI environment.
[GitHub#1246][Patch by noanoa07]
* Updated samples.
[GitHub#1258][GitHub#1259][GitHub#1260][Patch by kojix2]
==== Ruby/RSVG2
* Fixes
* Fixed typos.
[GitHub#1253][Patch by kojix2]
* Removed needless rsvg2 gem dependency for Windows.
[GitHub#1261][Reported by noanoa07]
==== Ruby/GEGL
* Fixes
* Fixed a typo in README.
[GitHub#1263][Patch by kojix2]
=== Thanks
* noanoa07
* kojix2
* xetum
* Yosuke Shiro