-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Claws-mail - el7 package question #245
Comments
Hi! Cheers! |
Ah good! The reason it was missing for a while was that it depended upon the gcc7 package which for a time was broken: The gcc7 issue was fixed a few days ago, but that coincided with the el7 build host being offline for a while, and so it only started building again last night: Generally the only reason software stops being available in this repository is because of the build failing, we always attempt to build and publish anything. If something isn't available, then just head over to the https://mail-index.netbsd.org/pkgsrc-bulk/ archive and find the most recent pkgsrc-el7-trunk-x86_64 build. |
Thanks a lot for the explanation, as well as for the links! I'll be sure to check the mailing list archive now if anything happens. cheers! |
1.5 --- * Fixes #280: Problem with new record * Fixes #284: Manpage errors * Fixes #287: Problem with dnssec create with algorithm/flags 1.4 --- * Fixes #268: Drop support of click < 7.0 * Drop support of python 2.6 and 3.3 * Add coverage * Test python 3.7 and pypy in travis * PEP8 1.3 --- * Use pytest instead of nose * Add extra parameter in domain create * Add support of Python 3.7 * Fixes #245: Add support of DNSSEC * Fixes #250: Drop support of Python < 3.3 1.2 --- * Add support for paas size s+ for creation/update * Fixes #232: Update 'gandi record update' command to allow filtering by name * Fix bug when attempting to migrate a vm which cannot be migrated * Only display DC closed warning if a date is set 1.1 --- * FR-SD5 is now the default datacenter. * Add new 'gandi dns update' command. * Fixes #228: Generate a user password at the creation of a VM * Improve wait for ssh connectivity after 'gandi vm create' command to handle ipv6 * Fix a bug with 'gandi disk migrate' command not working with multiple datacenters choices * Improve documentation for generating username/apikey with Gandi V5 1.0 ---- * New 'dns' namespace to manage DNS records/dnssec through LiveDNS API. * Add new 'gandi vm migrate' command. * Refactor internal click code usage. Remove hackish code to handle nested commands which was limited to only 1 nested level. - This change will break code of users which were using custom commands on top of Gandi CLI, To fix this you have to use the proper click syntax to declare a new group for your commands. - This change also remove the automatic listing of all namespace commands upon a typo or unknown/wrong command. * Fixes #224: DeprecationWarning makes tests fail with python 3.6.2 0.22 ---- * Fixes #223: 'gandi setup' command error * Fixes #222: AttributeError during vm creation on a private vlan * Fixes tests for 'gandi deploy' and 'gandi status' commands 0.21 ---- * Add new 'gandi disk migrate' command * Update 'gandi setup' command to ask for apikey for REST API * Handle deprecated images - Add a warning during 'gandi vm create' command - Display a * before image labels on 'gandi vm create' help - Display a /!\ DEPRECATED on 'gandi vm images' command * Fixes #220: gandi record update issues - Do not cast to int the id of the record, use the retrieve value - Handle both record syntax with 'IN' or not when parsing - Delete created zone if record.update call fail from xmlrpc API * Fixes #219: Can't remove disk snapshot profile * vm: delete: Fix delete when we reach the list limit - Fixed a bug when deleting a vm that wasn't listed in the first 500 results of gandi.iaas.list. * Fix issue when updating disk kernel with a kernel from another datacenter - CLI was proposing only kernels available on datacenter 1, but some kernels are available only on other datacenters, so we list everything for --kernel parameters, and for disk update command we add a new check if this kernel is available for this disk on this datacenter. * Add epilog to help messages to notify user about man documentation * Add one new verbose level for dumping data 0.20 ---- * Add support for python3.6 * Debian 8 is the new default VM image * FR-SD3 is the new default datacenter * Update 'gandi mail create' command to allow passing password as parameter * Update 'gandi certificate create' command: duration is now limited to 2 years * Update 'gandi ip create' command to fix bad units in help message * Fixes #182: 'gandi disk create' will detect datacenter when creating a new VM disk * Fixes #184: 'gandi disk list' can now filter for attach/detach state * Fixes #192: 'gandi certificate info' now still works after 500 certificates * Fixes #201: 'gandi certificate export' was duplicating intermediate certificate * Fixes #211: 'gandi paas deploy' tests should work again when using git commands * Fixes a bug with options not using corrected value when deprecated * Update unixpipe module to remove usage of posix and non portable imports
Version 2.11 - 9 Jul 2020 - Introduction of the barman-cli-cloud package that contains all cloud related utilities. - Add barman-cloud-wal-restore to restore a WAL file previously archived with barman-cloud-wal-archive from an object store - Add barman-cloud-restore to restore a backup previously taken with barman-cloud-backup from an object store - Add barman-cloud-backup-list to list backups taken with barman-cloud-backup in an object store - Add support for arbitrary archive size for barman-cloud-backup - Add support for --endpoint-url option to cloud utilities - Remove strict superuser requirement for PG 10+ (by Kaarel Moppel) - Add --log-level runtime option for barman to override default log level for a specific command - Support for PostgreSQL 13 - Bug fixes: - Suppress messages and warning with SSH connections in barman-cli (GH-257) - Fix a race condition when retrieving uploaded parts in barman-cloud-backup (GH-259) - Close the PostgreSQL connection after a backup (GH-258) - Check for uninitialized replication slots in receive-wal --reset (GH-260) - Ensure that begin_wal is valorised before acting on it (GH-262) - Fix bug in XLOG/WAL arithmetic with custom segment size (GH-287) - Fix rsync compatibility error with recent rsync - Fix PostgreSQLClient version parsing - Fix PostgreSQL exception handling with non ASCII messages - Ensure each postgres connection has an empty search_path - Avoid connecting to PostgreSQL while reading a backup.info file If you are using already barman-cloud-wal-archive or barman-cloud-backup installed via RPM/Apt package and you are upgrading your system, you must install the barman-cli-cloud package. All cloud related tools are now part of the barman-cli-cloud package, including barman-cloud-wal-archive and barman-cloud-backup that were previosly shipped with barman-cli. The reason is complex dependency management of the boto3 library, which is a requirement for the cloud utilities. Version 2.10 - 5 Dec 2019 - Pull .partial WAL files with get-wal and barman-wal-restore, allowing restore_command in a recovery scenario to fetch a partial WAL file's content from the Barman server. This feature simplifies and enhances RPO=0 recovery operations. - Store the PostgreSQL system identifier in the server directory and inside the backup information file. Improve check command to verify the consistency of the system identifier with active connections (standard and replication) and data on disk. - A new script called barman-cloud-wal-archive has been added to the barman-cli package to directly ship WAL files from PostgreSQL (using archive_command) to cloud object storage services that are compatible with AWS S3. It supports encryption and compression. - A new script called barman-cloud-backup has been added to the barman-cli package to directly ship base backups from a local PostgreSQL server to cloud object storage services that are compatible with AWS S3. It supports encryption, parallel upload, compression. - Automated creation of replication slots through the server/global option create_slot. When set to auto, Barman creates the replication slot, in case streaming_archiver is enabled and slot_name is defined. The default value is manual for back-compatibility. - Add '-w/--wait' option to backup command, making Barman wait for all required WAL files to be archived before considering the backup completed. Add also the --wait-timeout option (default 0, no timeout). - Redact passwords from Barman output, in particular from barman diagnose (InfoSec) - Improve robustness of receive-wal --reset command, by verifying that the last partial file is aligned with the current location or, if present, with replication slot's. - Documentation improvements - Bug fixes: - Wrong string matching operation when excluding tablespaces inside PGDATA (GH-245) - Minor fixes in WAL delete hook scripts (GH-240) - Fix PostgreSQL connection aliveness check (GH-239) Version 2.9 - 1 Aug 2019 - Transparently support PostgreSQL 12, by supporting the new way of managing recovery and standby settings through GUC options and signal files (recovery.signal and standby.signal) - Add --bwlimit command line option to set bandwidth limitation for backup and recover commands - Ignore WAL archive failure for check command in case the latest backup is WAITING_FOR_WALS - Add --target-lsn option to set recovery target Log Sequence Number for recover command with PostgreSQL 10 or higher - Add --spool-dir option to barman-wal-restore so that users can change the spool directory location from the default, avoiding conflicts in case of multiple PostgreSQL instances on the same server (thanks to Drazen Kacar). - Rename barman_xlog directory to barman_wal - JSON output writer to export command output as JSON objects and facilitate integration with external tools and systems (thanks to Marcin Onufry Hlybin). Experimental in this release. Bug fixes: - replication-status doesn’t show streamers with no slot (GH-222) - When checking that a connection is alive (“SELECT 1” query), preserve the status of the PostgreSQL connection (GH-149). This fixes those cases of connections that were terminated due to idle-in-transaction timeout, causing concurrent backups to fail. Version 2.8 - 17 May 2019 - Add support for reuse_backup in geo-redundancy for incremental backup copy in passive nodes - Improve performance of rsync based copy by using strptime instead of the more generic dateutil.parser (#210) - Add ‘--test’ option to barman-wal-archive and barman-wal-restore to verify the connection with the Barman server - Complain if backup_options is not explicitly set, as the future default value will change from exclusive_backup to concurrent_backup when PostgreSQL 9.5 will be declared EOL by the PGDG - Display additional settings in the show-server and diagnose commands: archive_timeout, data_checksums, hot_standby, max_wal_senders, max_replication_slots and wal_compression. - Merge the barman-cli project in Barman - Bug fixes: - Fix encoding error in get-wal on Python 3 (Jeff Janes, #221) - Fix exclude_and_protect_filter (Jeff Janes, #217) - Remove spurious message when resetting WAL (Jeff Janes, #215) - Fix sync-wals error if primary has WALs older than the first backup - Support for double quotes in synchronous_standby_names setting - Minor changes: - Improve messaging of check --nagios for inactive servers - Log remote SSH command with recover command - Hide logical decoding connections in replication-status command This release officially supports Python 3 and deprecates Python 2 (which might be discontinued in future releases). PostgreSQL 9.3 and older is deprecated from this release of Barman. Support for backup from standby is now limited to PostgreSQL 9.4 or higher and to WAL shipping from the standby (please refer to the documentation for details). Version 2.7 - 21 Mar 2019 - Fix error handling during the parallel backup. Previously an unrecoverable error during the copy could have corrupted the barman internal state, requiring a manual kill of barman process with SIGTERM and a manual cleanup of the running backup in PostgreSQL. (GH#199) - Fix support of UTF-8 characters in input and output (GH#194 and GH#196) - Ignore history/backup/partial files for first sync of geo-redundancy (GH#198) - Fix network failure with geo-redundancy causing cron to break (GH#202) - Fix backup validation in PostgreSQL older than 9.2 - Various documentation fixes Version 2.6 - 4 Feb 2019 - Add support for Geographical redundancy, introducing 3 new commands: sync-info, sync-backup and sync-wals. Geo-redundancy allows a Barman server to use another Barman server as data source instead of a PostgreSQL server. - Add put-wal command that allows Barman to safely receive WAL files via PostgreSQL's archive_command using the barman-wal-archive script included in barman-cli - Add ANSI colour support to check command - Minor fixes: - Fix switch-wal on standby with an empty WAL directory - Honour archiver locking in wait_for_wal method - Fix WAL compression detection algorithm - Fix current_action in concurrent stop backup errors - Do not treat lock file busy as an error when validating a backup
2.0.3 (2020-08-22) ~~~~~~~~~~~~~~~~~~ - Fix issues when building re2c as a CMake subproject (`#302 <https://github.com/skvadrik/re2c/pull/302>`_: - Final corrections in the SIMPA article "RE2C: A lexer generator based on lookahead-TDFA", https://doi.org/10.1016/j.simpa.2020.100027 2.0.2 (2020-08-08) ~~~~~~~~~~~~~~~~~~ - Enable re2go building by default. - Package CMake files into release tarball. 2.0.1 (2020-07-29) ~~~~~~~~~~~~~~~~~~ - Updated version for CMake build system (forgotten in release 2.0). - Added a short article about re2c for the Software Impacts journal. 2.0 (2020-07-20) ~~~~~~~~~~~~~~~~ - Added new code generation backend for Go and a new ``re2go`` program (`#272 <https://github.com/skvadrik/re2c/issues/272>`_: Go support). Added option ``--lang <c | go>``. - Added CMake build system as an alternative to Autotools (`#275 <https://github.com/skvadrik/re2c/pull/275>`_: Add a CMake build system (thanks to ligfx), `#244 <https://github.com/skvadrik/re2c/issues/244>`_: Switching to CMake). - Changes in generic API: + Removed primitives ``YYSTAGPD`` and ``YYMTAGPD``. + Added primitives ``YYSHIFT``, ``YYSHIFTSTAG``, ``YYSHIFTMTAG`` that allow to express fixed tags in terms of generic API. + Added configurations ``re2c:api:style`` and ``re2c:api:sigil``. + Added named placeholders in interpolated configuration strings. - Changes in reuse mode (``-r, --reuse`` option): + Do not reset API-related configurations in each `use:re2c` block (`#291 <https://github.com/skvadrik/re2c/issues/291>`_: Defines in rules block are not propagated to use blocks). + Use block-local options instead of last block options. + Do not accumulate options from rules/reuse blocks in whole-program options. + Generate non-overlapping YYFILL labels for reuse blocks. + Generate start label for each reuse block in storable state mode. - Changes in start-conditions mode (``-c, --start-conditions`` option): + Allow to use normal (non-conditional) blocks in `-c` mode (`#263 <https://github.com/skvadrik/re2c/issues/263>`_: allow mixing conditional and non-conditional blocks with -c, `#296 <https://github.com/skvadrik/re2c/issues/296>`_: Conditions required for all lexers when using '-c' option). + Generate condition switch in every re2c block (`#295 <https://github.com/skvadrik/re2c/issues/295>`_: Condition switch generated for only one lexer per file). - Changes in the generated labels: + Use ``yyeof`` label prefix instead of ``yyeofrule``. + Use ``yyfill`` label prefix instead of ``yyFillLabel``. + Decouple start label and initial label (affects label numbering). - Removed undocumented configuration ``re2c:flags:o``, ``re2c:flags:output``. - Changes in ``re2c:flags:t``, ``re2c:flags:type-header`` configuration: filename is now relative to the output file directory. - Added option ``--case-ranges`` and configuration ``re2c:flags:case-ranges``. - Extended fixed tags optimization for the case of fixed-counter repetition. - Fixed bugs related to EOF rule: + `#276 <https://github.com/skvadrik/re2c/issues/276>`_: Example 01_fill.re in docs is broken + `#280 <https://github.com/skvadrik/re2c/issues/280>`_: EOF rules with multiple blocks + `#284 <https://github.com/skvadrik/re2c/issues/284>`_: mismatched YYBACKUP and YYRESTORE (Add missing fallback states with EOF rule) - Fixed miscellaneous bugs: + `#286 <https://github.com/skvadrik/re2c/issues/286>`_: Incorrect submatch values with fixed-length trailing context. + `#297 <https://github.com/skvadrik/re2c/issues/297>`_: configure error on ubuntu 18.04 / cmake 3.10 - Changed bootstrap process (require explicit configuration flags and a path to re2c executable to regenerate the lexers). - Added internal options ``--posix-prectable <naive | complex>``. - Added debug option ``--dump-dfa-tree``. - Major revision of the paper "Efficient POSIX submatch extraction on NFA". ---- 1.3x ---- 1.3 (2019-12-14) ~~~~~~~~~~~~~~~~ - Added option: ``--stadfa``. - Added warning: ``-Wsentinel-in-midrule``. - Added generic API primitives: + ``YYSTAGPD`` + ``YYMTAGPD`` - Added configurations: + ``re2c:sentinel = 0;`` + ``re2c:define:YYSTAGPD = "YYSTAGPD";`` + ``re2c:define:YYMTAGPD = "YYMTAGPD";`` - Worked on reproducible builds (`#258 <https://github.com/skvadrik/re2c/pull/258>`_: Make the build reproducible). ---- 1.2x ---- 1.2.1 (2019-08-11) ~~~~~~~~~~~~~~~~~~ - Fixed bug `#253 <https://github.com/skvadrik/re2c/issues/253>`_: re2c should install unicode_categories.re somewhere. - Fixed bug `#254 <https://github.com/skvadrik/re2c/issues/254>`_: Turn off re2c:eof = 0. 1.2 (2019-08-02) ~~~~~~~~~~~~~~~~ - Added EOF rule ``$`` and configuration ``re2c:eof``. - Added ``/*!include:re2c ... */`` directive and ``-I`` option. - Added ``/*!header:re2c:on*/`` and ``/*!header:re2c:off*/`` directives. - Added ``--input-encoding <ascii | utf8>`` option. + `#237 <https://github.com/skvadrik/re2c/issues/237>`_: Handle non-ASCII encoded characters in regular expressions + `#250 <https://github.com/skvadrik/re2c/issues/250>`_ UTF8 enoding - Added include file with a list of definitions for Unicode character classes. + `#235 <https://github.com/skvadrik/re2c/issues/235>`_: Unicode character classes - Added ``--location-format <gnu | msvc>`` option. + `#195 <https://github.com/skvadrik/re2c/issues/195>`_: Please consider using Gnu format for error messages - Added ``--verbose`` option that prints "success" message if re2c exits without errors. - Added configurations for options: + ``-o --output`` (specify output file) + ``-t --type-header`` (specify header file) - Removed configurations for internal/debug options. - Extended ``-r`` option: allow to mix multiple ``/*!rules:re2c*/``, ``/*!use:re2c*/`` and ``/*!re2c*/`` blocks. + `#55 <https://github.com/skvadrik/re2c/issues/55>`_: allow standard re2c blocks in reuse mode - Fixed ``-F --flex-support`` option: parsing and operator precedence. + `#229 <https://github.com/skvadrik/re2c/issues/229>`_: re2c option -F (flex syntax) broken + `#242 <https://github.com/skvadrik/re2c/issues/242>`_: Operator precedence with --flex-syntax is broken - Changed difference operator ``/`` to apply before encoding expansion of operands. + `#236 <https://github.com/skvadrik/re2c/issues/236>`_: Support range difference with variable-length encodings - Changed output generation of output file to be atomic. + `#245 <https://github.com/skvadrik/re2c/issues/245>`_: re2c output is not atomic - Authored research paper "Efficient POSIX Submatch Extraction on NFA" together with Dr Angelo Borsotti. - Added experimental libre2c library (``--enable-libs`` configure option) with the following algorithms: + TDFA with leftmost-greedy disambiguation + TDFA with POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with leftmost-greedy disambiguation + TNFA with POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with lazy POSIX disambiguation (Okui-Suzuki algorithm) + TNFA with POSIX disambiguation (Kuklewicz algorithm) + TNFA with POSIX disambiguation (Cox algorithm) - Added debug subsystem (``--enable-debug`` configure option) and new debug options: + ``-dump-cfg`` (dump control flow graph of tag variables) + ``-dump-interf`` (dump interference table of tag variables) + ``-dump-closure-stats`` (dump epsilon-closure statistics) - Added internal options: + ``--posix-closure <gor1 | gtop>`` (switch between shortest-path algorithms used for the construction of POSIX closure) - Fixed a number of crashes found by American Fuzzy Lop fuzzer: + `#226 <https://github.com/skvadrik/re2c/issues/226>`_, `#227 <https://github.com/skvadrik/re2c/issues/227>`_, `#228 <https://github.com/skvadrik/re2c/issues/228>`_, `#231 <https://github.com/skvadrik/re2c/issues/231>`_, `#232 <https://github.com/skvadrik/re2c/issues/232>`_, `#233 <https://github.com/skvadrik/re2c/issues/233>`_, `#234 <https://github.com/skvadrik/re2c/issues/234>`_, `#238 <https://github.com/skvadrik/re2c/issues/238>`_ - Fixed handling of newlines: + correctly parse multi-character newlines CR LF in ``#line`` directives + consistently convert all newlines in the generated file to Unix-style LF - Changed default tarball format from .gz to .xz. + `#221 <https://github.com/skvadrik/re2c/issues/221>`_: big source tarball - Fixed a number of other bugs and resolved issues: + `#2 <https://github.com/skvadrik/re2c/issues/2>`_: abort + `#6 <https://github.com/skvadrik/re2c/issues/6>`_: segfault + `#10 <https://github.com/skvadrik/re2c/issues/10>`_: lessons/002_upn_calculator/calc_002 doesn't produce a useful example program + `#44 <https://github.com/skvadrik/re2c/issues/44>`_: Access violation when translating the attached file + `#49 <https://github.com/skvadrik/re2c/issues/49>`_: wildcard state \000 rules makes lexer behave weard + `#98 <https://github.com/skvadrik/re2c/issues/98>`_: Transparent handling of #line directives in input files + `#104 <https://github.com/skvadrik/re2c/issues/104>`_: Improve const-correctness + `#105 <https://github.com/skvadrik/re2c/issues/105>`_: Conversion of pointer parameters into references + `#114 <https://github.com/skvadrik/re2c/issues/114>`_: Possibility of fixing bug 2535084 + `#120 <https://github.com/skvadrik/re2c/issues/120>`_: condition consisting of default rule only is ignored + `#167 <https://github.com/skvadrik/re2c/issues/167>`_: Add word boundary support + `#168 <https://github.com/skvadrik/re2c/issues/168>`_: Wikipedia's article on re2c + `#180 <https://github.com/skvadrik/re2c/issues/180>`_: Comment syntax? + `#182 <https://github.com/skvadrik/re2c/issues/182>`_: yych being set by YYPEEK () and then not used + `#196 <https://github.com/skvadrik/re2c/issues/196>`_: Implicit type conversion warnings + `#198 <https://github.com/skvadrik/re2c/issues/198>`_: no match for ‘operator!=’ in ‘i != std::vector<_Tp, _Alloc>::rend() [with _Tp = re2c::bitmap_t, _Alloc = std::allocator<re2c::bitmap_t>]()’ + `#210 <https://github.com/skvadrik/re2c/issues/210>`_: How to build re2c in windows? + `#215 <https://github.com/skvadrik/re2c/issues/215>`_: A memory read overrun issue in s_to_n32_unsafe.cc + `#220 <https://github.com/skvadrik/re2c/issues/220>`_: src/dfa/dfa.h: simplify constructor to avoid g++-3.4 bug + `#223 <https://github.com/skvadrik/re2c/issues/223>`_: Fix typo + `#224 <https://github.com/skvadrik/re2c/issues/224>`_: src/dfa/closure_posix.cc: pack() tweaks + `#225 <https://github.com/skvadrik/re2c/issues/225>`_: Documentation link is broken in libre2c/README + `#230 <https://github.com/skvadrik/re2c/issues/230>`_: Changes for upcoming Travis' infra migration + `#239 <https://github.com/skvadrik/re2c/issues/239>`_: Push model example has wrong re2c invocation, breaks guide + `#241 <https://github.com/skvadrik/re2c/issues/241>`_: Guidance on how to use re2c for full-duplex command & response protocol + `#243 <https://github.com/skvadrik/re2c/issues/243>`_: A code generated for period (.) requires 4 bytes + `#246 <https://github.com/skvadrik/re2c/issues/246>`_: Please add a license to this repo + `#247 <https://github.com/skvadrik/re2c/issues/247>`_: Build failure on current Cygwin, probably caused by force-fed c++98 mode + `#248 <https://github.com/skvadrik/re2c/issues/248>`_: distcheck still looks for README + `#251 <https://github.com/skvadrik/re2c/issues/251>`_: Including what you use is find, but not without inclusion guards - Updated documentation and website.
This notably fixes a security issue, CVE-2020-27197. Version 1.1.118: * #247 [CVE-2020-27197] Avoid SSRF on parsing XML (@orsinium) Version 1.1.117: * #244 SSL Verify Server not working correctly (@motok) (@nschwane) * #245 Unicode lxml.etree.SerialisationError on lxml 4.5.0+ (@advptr) Version 1.1.116: * #240 PY3 Compatibility changes for HTTP Response Body (@nschwane) Version 1.1.115: * #239 Convert the HTTP response body to a string type (PY3 this will be bytes) (@sddj) Version 1.1.114: * #237 Support converting dicts to content bindings (@danielsamuels) * #238 Provide XMLParser copies instead of reusing the cached instance. Prevents future messages to lose namespace Version 1.1.113: * #234 Add ability to load a configuration file when executing a script * #232 Fix TLS handshake failure when a server requires SNI (@marcelslotema) Version 1.1.112: * #227 Fixes to poll_client script (Python3 compatibility) * #226 Clean-up documentation warnings * #228 Fix 'HTTPMessage' has no attribute 'getheader' (Python3 compatibility) * #225 Fix checks that involve xpath (lxml) to prevent FutureWarning message * #230 Fix parsing status message round-trip (@danielsamuels) Thanks leot@ and pkgsrc's security team for the heads up! Pull-up to be requested.
Most work done by leot@ and sjmulder@ in pkgsrc-wip. tig-2.5.1 --------- Improvements: - bash/zsh completion: reimplement and decrease runtime by factor 1863. (#795) - Add binding to reflog view to toggle reference display. - Fail if tig is given an invalid or ambiguous ref. (#980) - Make tig process-group leader an option. (#986, #951) - Handle GIT_WORK_TREE environment variable. - The blame view requires a working tree. - Fix use of deprecated vwprintw() function. - Update utf8proc to v2.5.0. - Add --word-diff=plain colorizing support. (#221) Bug fixes: - Fix segmentation fault. (#971) - Fix cursor position after "Move to parent" in blame view. (#973) - Fix crash on adding a line to a view. (#523) - Fix memory leak in diff unit. - Fix loop after refresh or change in refs/main split view. (#991) - Fix occasional crash on custom key bindings. (#1001) tig-2.5.0 --------- Improvements: - Single file view enters blame mode on "b". (#804) - Show untracked files in the default view. (#762) - Disable graph if log.follow is enabled and there is only one pathspec. (#881) - Disable graph for author searches. - git_colors: interpret 'ul' as 'underline'. - Add refname variable. (#900) - Add -C option to specify the working directory. (#570) - Improve behaviour of auto and periodic refresh modes. (#389, #441, #482, #794, #888, #932) - Add support for repos created with git --work-tree. (#872) - Add diff-highlight to pager mode. - Show annotated commits in main view. (#819) - Introduce reflog view. (#538) - Add option to start with cursor on HEAD commit. (#755) - Support combined diffs with more than 2 parents. - Improve how a toggle option value is shown on the status line. (#879) - Add options to filter refs output. (#694) - Update utf8proc to v2.4.0. (#961) Bug fixes: - Fix garbled cursor line with older ncurses versions. - Fix diff highlighting of removed lines starting with -- and added lines starting with ++. (#871, #875) - Fix loop when displaying search result if regex matches an empty string. (#866) - Add synchronous command description in tigrc. - Fix parsing of git rev-parse output. (#884) - Propagate --first-parent to diff arguments. (#861) - Use proper type for hash table size. (#858) - Fix incorrect cppcheck warning about realloc() use. - Don't shift signed int by 31 bits. - Fix Vim going background after running Tig outside of a git repository. (#906) - make-builtin-config: use "read -r". (#912) - Fix segfaults with readline 8.0. (#893) - Reset state before closing stage view automatically. - Don't use a child view as previous view. - Force reload of VIEW_FLEX_WIDTH views only when needed. - Combined diff uses @@@ as hunk marker. - Fix memory leak induced by 'tig grep'. - Fix memory leak in main view. - Exit gracefully if refs view was defined without ref column. (#897) - Fix pager view not moving up when child view is open. - make-builtin-config: Fix unportable sed usage in read_tigrc(). - Properly detect combined diffs. (#942) tig-2.4.1 --------- Bug fixes: - Add `CURSES_CFLAGS` to `CPPFLAGS`. (#856, Linuxbrew/homebrew-core#8440) tig-2.4.0 --------- Improvements: - Add 'send-child-enter' option to control interaction with child views. (#791) - Update make config defaults for Cygwin to ncurses6. (#792) - Build against netbsd-curses. (#789) - Change the blame view to render more like `git blame`. (#812) - Improve worktree and submodule support. (#459, #781, #783) - Support running Tig via a Git alias. (#763) - Use ISO-8601 letters for short relative dates. (#759, #760) - Change date formatting to show time zones by default. (#428, #811) - Use utf8proc to handle Unicode characters. (#827) Bug fixes: - Fix `file(1)` argument on Linux used for resolving encodings. (#788) - Fix underflow in the file search. (#800, #801) - Fix line numbers in grep view when scrolled. (#813) - Pass command line args through to the stage view. (#569, #823) - Fix resource leak. (#780) - Fix various compiler warnings and pointer arithmetic. (#799, #803) - Workaround potential null pointer dereferences. (#824) - Bind to single and double quotes by using the *<SingleQuote>* and *<DoubleQuote>* key mappings. (#821) - Make Tig the process-group leader and clean child processes. (#828, #837) - Fix sh compatibility in `contrib/tig-pick`. (#832) - Fix incorrect behaviour of up and down keys in diff view when opened from diff preview. (#802, #835) - Open the stage view when maximizing a split diff view of (un)staged changes. (#836) - Use fully qualified reference name for tags when conflicting with branch name. (#746, #787, #849) - Fix resize not working after entering command. (#845) (#846) - Use stack allocated memory to handle `TIG_LS_REMOTE`. (#839) - Fix deleted file mode line remains highlighted after hovering in diff or stage view. (#851) - Fix `TIG_LS_REMOTE` not working with git-ls-remote(1). (#853, #854) tig-2.3.3 --------- Bug fixes: - Revert "Handle \n like \r (#758)". (GH #769) - Fix GH #164 by catching SIGHUP. - Change `refs_tags` type to `size_t`. tig-2.3.2 --------- Bug fixes: - Fix busy loop detection to handle large repos. (GH #164) tig-2.3.1 --------- Improvements: - Restore TTY attributes. (GH #725) - Handle `\n` like `\r`. (GH #758) Bug fixes: - Add workaround that detects busy loops when Tig loses the TTY. This may happen if Tig does not receive the HUP signal (e.g. when started with `nohup`). (GH #164) - Fix compatibility with ncurses-5.4 which caused copy-pasting to not work in the prompt. (GH #767) - tig(1): document correct environment variable. (GH #752) tig-2.3.0 --------- Incompatibilities: - The `width` setting on the `status`, `text` and `commit-title` columns was never applied and has been removed. (GH #617) Improvements: - Improve load performance by throttling screen updates. (GH #622, #629) - Speed up graph rendering. (GH #638) - Enable scroll optimizations for Terminal.app and iTerm2. (GH #637) - Improve the test suite portability to not depend on GNU sed. (GH #609, #614) - Make build reproducible. (https://reproducible-builds.org/) (GH #613) - Enable binding to more symbolic keys and keys with control modifier: `F13`-`F19`, `ShiftLeft`, `ShiftRight`, `ShiftDel`, `ShiftHome`, `ShiftEnd`, `ShiftTab`, `Ctrl-C`, `Ctrl-V`, `Ctrl-S`, and `Ctrl-@`. (GH #314, #619, #642) - Persist readline history to `~/.tig_history` or `$XDG_DATA_HOME/tig/history`. Use `history-size` to control the number of entries to save. (GH #620, #713, #714, #718) - Preload last search from persistent history. (GH #630) - Add `view-close-no-quit` action, unbound by default. (GH #607) - Add `mouse-wheel-cursor` option (off by default) when set to true causes wheel actions to prefer moving the cursor instead of scrolling. (GH #608) - Add `truncation-delimiter` option, set to `~` by default. (GH #646) - Add `-q` parameter to `source` for "source-if-present". (GH #612) - Add `:echo` prompt command to display text in the status bar. (GH #626, #636) - Make `diff-highlight` colors configurable. (GH #625, #633) - Let Ctrl-C exit Y/N dialog, menu prompts and the file finder. (GH #632, #648) - Hide cursor unless at textual prompt. (GH #643) - Expand tilde ('~') in `:script` paths. (GH #674) - Show single-line output of external command in status bar. (GH #200, #557, #678) - Disable the graph when `--no-merges` is passed. (GH #687) - Print backtraces on segfault in debug mode. - Ignore script lines starting with `#` (comment). (GH #705) - Complete `repo:*` variables when readline is enabled. (GH #702) - Incorporate XTerm's `wcwidth.c` to find Unicode widths. (GH #691) Bug fixes: - Fix graph display issues. (GH #419, #638) - Fix and improve rendering of Unicode characters. (GH #330, #621, #644, #682) - Handle hyphenated directory names when listing content. (GH #602) - Do not jump to next match when cancelling the search prompt. (GH #627) - Fix clearing of the status line after `Ctrl-C`. (GH #623, #649) - Fix handling of width on line-number and trimmed width of 1. (GH #617) - Set cursor position when not updating prompt contents. (GH #647) - Erase status line at exit time for users without altscreen-capable terminals. (GH #589) - Fix unexpected keys when restoring from suspend (`Ctrl-Z`). (GH #232) - contrib/vim.tigrc: Also bind G in the main as a workaround for limitations of the `none` action. (GH #594, #599) - Only override `blame-options` when commands are given and fix parsing of `-C`. (GH #597) - Fix diff name discovery to better handle prefixes. - Interpret button5 as wheel-down. (GH #321, #606) - Fix `back` / `parent` in tree view. (GH #641) - Fix memory corruption in `concat_argv` and file finder. (GH #634, #655) - Fix reading from stdin for `tig show`. - Document problem of outdated system-wide `tigrc` files in Homebrew. (GH #598) - Repaint the display when toggling `line-graphics`. (GH #527) - Fix custom date formatting support longer strings. (GH #522) - Don't segfault on ":exec" irregular args. (GH #686) - Fix segfault when calling htab_empty. (GH #663, #745) tig-2.2.2 --------- Upgrade instructions: - The `status-untracked-dirs` option was renamed to `status-show-untracked-dirs` to match the new `status-show-untracked-files` option. Improvements: - Use `diff-options` when preparing the diff in the stage view to make the diff state configurable. (GH #545) - Add 'status-show-untracked-files' option mirroring Git's 'status.showUntrackedFiles' to toggle display of untracked files. in the status view. On by default. (GH #562) - Update `ax_with_curses.m4` and use `pkg-config` to detect. (GH #546) - Add `tig-pick` script for using Tig as a commit picker. (GH #575, #580) - Add "smart case" option ('set ignore-case = smart-case') to ignore case when the search string is lower-case only. (GH #320, #579) Bug fixes: - Fix author ident cache being keyed by email only. (GH #424, #526, #547) - Fix periodic refresh mode to properly detect ref changes. (GH #430, #591) - Add workaround for detecting failure to start the diff-highlight process. - Show diffs in the stash view when `set mailmap = true`. (GH #556) - Fix parsing of git-log revision arguments, such as `--exclude=...` in conjunction with `--all`. (GH #555) - Fix diff stat parsing for binary copies. - Fix crash when resizing terminal while search is in progress. (GH #515, #550) - Fix argument filtering to pass more arguments through to Git. - Check for termcap support in split tinfo libs. (GH #568, #585) tig-2.2.1 --------- Improvements: - Support Git's 'diff-highlight' program when `diff-highlight` is set to either true or the path of the script to use for post-processing. - Add navigation between merge commits. (GH #525) - Add 'A' as a binding to apply a stash without dropping it. - Bind 'Ctrl-D' and 'Ctrl-U' to half-page movements by default. - manual: Mention how to change default Up/Down behavior in diff view. Bug fixes: - Reorganize checking of libraries for termcap functions. - Fix `:goto <id>` error message. tig-2.2 ------- Incompatibilities: - Note that all user-defined commands are now executed at the repository root instead of whatever subdirectory Tig was started in. (GH #412) - Remove `cmdline-args` option to avoid problems where setting it in `~/.tigrc` potentially breaks other views due to its "context-sensitive" nature, where a `git-log` option maybe cause `git-grep` to fail. (GH #431) Improvements: - Use .mailmap to show canonical name and email addresses, off by default. Add `set mailmap = yes` to `~/.tigrc` to enable. (GH #411) - Highlight search results, configurable via `search-result` color. (GH #493) - Wrap around when searching, configurable via `wrap-search` setting. - Populate `%(file)` with file names from diff stat. (GH #404) - `tig --merge` implies `--boundary` similar to gitk. - Expose repository variables to external commands, e.g. `%(repo:head)` gives the branch name of the current HEAD and `%(repo:cdup)` for the repo root path. - Add `make uninstall`. (GH #417) - Add ZSH completion file (based on Bash completion) (GH #433) - Expose the text of the currently selected line as the %(text) (GH #457) - Allow users to specify rev arguments to blame (GH #439) - Update OSX make config to find brew installed ncurses - Add sample git-flow keybinding (GH #421) - Add chocolate theme (GH #432) - Show stash diffs. (GH #328) - Make user tigrc location configurable. (GH #479) - Compact relative date display mode. (GH #331) - Add date column option controlling whether to show local date. - Move to parent commit in the main view. (GH #388) - Add `:goto <rev>` prompt command to go to a `git-rev-parse`d revision, e.g. `:goto some/branch` or `:goto %(commit)^2`. - Respect the XDG standard for configuration files. (GH #513) - Show tracking information in `tig status` (GH #504) - Resolve diff paths when `diff.noprefix` is true. (GH #487, #488) - Support for custom `strftime(3)` date formats, e.g.: set main-view-date = custom set main-view-date-format = "%Y-%m-%d" Bug fixes: - Prevent staged rename from displaying unstaged changes (GH #472, #491) - Fix corrupt chunk header during staging of single lines. (GH #410) - Fix out of bounds read in graph-v2 module. (GH #402) - Add currently checked out branch to `%(branch)`. (GH #416) - Size diff stats correctly for split views. - Fix `git-worktree` support by using `git-show-ref`. (GH #437) - Add currently checked out branch to `%(branch)` (GH #416) - Fix segfault when hitting return in empty file search (GH #464) - Remove separator on horizontal split when switching from vertical split - Do not expand `--all` when parsing `%(revargs)` (GH #442, #462) - Fix exit when the main view is reloaded due to option toggling. (GH #470) - Expand all whitespace and control characters to spaces. (GH #485) - Restore ability to unbind a default keybinding with `none`. (GH #483) - Fix blob view to honor the `wrap-lines` setting. tig-2.1.1 --------- Improvements: - Add support for key combos. (GH #67) - See `contrib/vim.tigrc` for Vim-like keybindings. (GH #273, #351) - Add GitHub inspired file finder to search for and open any file. (GH #342) - Add `search` keymap for navigating file finder search results. Bug fixes: - Fix display of multiple references per commit. (GH #390, #391) - Sync the prompt's cursor position with readline's internal position. (GH #396) - Keep unstaged changes view open after an staging command. (GH #399) tig-2.1 ------- Improvements: - Improve C99 compliance so Tig compiles with the native compilers on Solaris (SunStudio cc) and AIX (xlc). (GH #380) - Add move-half-page-up and move-half-page-down actions. (GH #323) - Preserve the cursor position when changing the diff context. - Show 'Unstaged changes' above 'Staged changes' in the main view. (GH #383) - Add `:exec <flags><args...>` prompt command to execute commands. - Add shorthand for changing the view settings of a single column, eg. `set main-view-author = short`. (GH #318) - Show better diff context info in the stage view. - Add `%(lineno)` state variable. (GH #304) - Use hash table to speed up refs lookup. (GH #350) - Show the file path in the blob view when available. - Use `set commit-order = default` to use Git's default commit order, even when the commit graph is enabled. The option will turn off automatic enabling of `--topo-order` when the graph is shown in the main view. (GH #310, #324) - Speed up the diff view in large repos by loading git-describe info after the diff content has been read. (GH #324) - Add the old graph rendering as an option. (GH #310, #324) - Add `main-options` setting for specifying default main view options. Example: `set main-options = --max-count=1000`. (GH #368) - See `contrib/large-repo.tigrc` for settings that will help to speed up Tig in large repos. (GH #368) - Add `:save-options <file>` prompt command to save config to file. (GH #315) Bug fixes: - Update manual to reflect default keybinding changes. (GH #325) - Fix graph support for `--first-parent`. (GH #326) - Fix off-by-one error when opening editor from the grep view. - Fix status on-branch information. - Fix main view to handle the case when git-log doesn't find any commits. - Fix corner case when parsing diff chunk when lines information is missing. - Ensure main view changes commits are shown right before the current HEAD. - Fix rendering of boundary commits. - Fix compilation with GNU Make 3.80 by removing `$(abspath)`. (GH #362) - Fix config parsing to support shell-like quoting in user-defined command, e.g. `bind generic <Ctrl-f> :!git log -G"%(prompt Prompt: )"` (GH #371) - Make diff meta information colors more consistent with Git. (GH #375) - Fix segfault when updating changes in a maximized stage view opened via the main view. (GH #376) - Handle line number configs where the interval is not specified. (GH #378) - Fix display of error messages during startup. (GH #385) - Show untracked files outside the current directory like git-status. (GH #230) tig-2.0.3 --------- Improvements: - Add `:save-display <file>` prompt command to save the current display. - Add `:script <file>` prompt command for scripting the Tig UI. - Add test framework and convert existing tests to use it. - Add command-line option for starting in refs view: `tig refs`. (GH #309) - Make blame commit ID colors stable across reloads. (GH #303) - Increase blame ID and graph rendering color palette to 14 colors. - New setting 'split-view-width' controls the width for vertical splits. It takes the width of the right-most view either as a number or a percentage. - Expose settings holding command line argument lists: `file-args`, `rev-args`, and `cmdline-args`. They are mainly intended for testing purposes but also allows to change the filtering arguments dynamically. (GH #306) - Add `log-options` setting for specifying default log view options. Example: `set log-options = --pretty=fuller`. - Use option specific view flags to reload view after `:set` commands. Bug fixes: - Refresh the current view when returning from an external command and `refresh-mode=after-command`. (GH #289) - Fix readline completion. - Fix '/' to `find-next` when readline support is enabled. (GH #302) - Fix readline prompt to correctly handle UTF-8 characters. - Add warnings for more obsolete actions and colors. - Fix passing of commit IDS via stdin to the main view. - Fix commit title overflow drawing for multibyte text. (GH #307) - Fix installation directory permissions. - Handle binary files matches reported by git-grep. - Toggling of "args"-typed options without any arguments will clear the current arguments. Example: `:toggle blame-options`. - Detect custom `pretty.format` settings that break the log view and fallback to use the `medium` format. (GH #225) - Fix invocation of git-diff for the blame view's line tracking. (GH #316) - Fix blame completion of directory names. (GH #317) - Fix display of conflicts in the main view when 'show-changes' is enabled. - Fix off-by-one error when displaying line numbers in the grep view. - When showing the commit graph ensure that either topo, date or author-date commit order is used. (Debian #757692) (GH #238) tig-2.0.2 --------- Improvements: - Use git-status for diffing the index. - Group toggle options together in the help view. Bug fixes: - Fix refs, main and grep loading when 'gui.encoding' is set. (GH #287) - Ignore 'gui.encoding' and 'i18n.commitencoding' when set to 'UTF-8'. - Add work-around for missing strndup() on Mac OS X v10.6. (GH #286) - Fix spurious abbreviation of author names. (GH #288) - Don't show empty action groups in the help view. tig-2.0.1 --------- Bug fixes: - Fix compilation in watch.c. - Fix parsing of key bindings mapped to '^' and '<'. (GH #280, #282) tig-2.0 ------- Incompatibilities: - In preparation for key combo support, key mappings for symbolic keys (e.g. `Up` and `Down`) must now start with `<` and end with `>`, e.g. `<Up>` and `<Down>`. Furthermore, escape key combos must now use `<Esc>key` instead of `^[key`, and control key mappings must now use `<Ctrl-key>` instead of `^key`. - Only use 'diff-options' for the diff view and introduce '%(cmdlineargs)' to hold non-file and non-revision flags passed on the command line. Affects all user-defined commands that expect '%(diffargs)' to hold both 'diff-options' arguments and those passed on the command line. (GH #228) - Remove built-in keybinding for `git gc`. Add the following line to `~/.tigrc` to restore it: `bind generic G ?git gc`. - To support view specific colors, '.' can no longer be used interchangeably with '-' and '_' in settings names and in particular color names. - Replace 'stage-next' action with prompt command using a predefined search (see below) and add binding (`@` by default) to also work in the diff view. - Most view display options must now be set via the new `*-view` options in tigrc. Existing options are no longer recognized, but a warning is shown. - Remap default bindings to have more consistent convention: use lower-case keys primarily for view switching and non-destructive actions, use upper-case keys for view-specific actions including user-defined commands. To preserve old default key bindings see `contrib/bindings-v1.x.tigrc`. (GH #257) Improvements: - Add mouse support: scroll view, click line to move cursor, double click line (or click again) to "Enter" cursor line, e.g. open commit diff. Disabled by default, since it makes text selection less intuitive. If you enable this remember to hold down Shift (or Option on Mac) when selecting text. - Rewrite and improve the rendering of the commit graph. (GH #144, #46) - Add completion and history support to the prompt via readline. (GH #185) - Options can be configured and toggled individually for each view. Use the new view settings to configure the order and display options for each view columns. See system tigrc and tigrc(5) for examples. (GH #89, #222) - Add grep view as a front-end to git-grep(1): `tig grep -p strchr`. From within Tig, the key for switching or grepping is bound to 'g' by default. - Rename 'branch' view to 'refs' view and show tags. (GH #134) - Add main view pager mode that reads git-log's '--pretty=raw' data from stdin, e.g. `git reflog --pretty=raw | tig --pretty=raw`. - Add support for `--graph` and highlight diff stats in the log view. - Add default command bindings: `!` to delete branch, `!` to drop stash. - Add 'stage-split-chunk' action for splitting chunks in the stage view. Bound to '\' by default. (GH #107) - Add 'back' action bound to '<' by default, which will return the blame view to the previous revision and line after moving e.g. to the parent. (GH #124) - Auto-refresh views based on watched repository changes. Configure by setting `refresh-mode` to 'manual', 'auto', 'after-command', or 'periodic'. (GH #190) - All default settings are in well-documented system `tigrc`. - Add `:toggle` prompt command to manipulate options using keybindings. For example: `bind diff D :toggle diff-options --patience --notes`. (GH #69) - Add a new "auto" value for the 'vertical-split' option to let Tig choose the split orientation (this is the new default behavior). Can be toggled. - Make it possible to toggle the display of files in untracked directories. - Allow Tig to be started with no default configuration by specifying an alternative system `tigrc` file, e.g.: `TIGRC_SYSTEM=~/.tigrc.safe tig`. Set `TIGRC_SYSTEM` to the empty string to use built-in configuration instead of - Key mappings can contain UTF-8 multibyte unicode keys. - Warn about conflicting keybindings using Ctrl, e.g. `<Ctrl-f>` and `<Ctrl-F>`. (GH #218) - Extend key bindings for prompt commands (ie. `bind <keymap> <key> :<prompt>`) to support predefined searches, eg.: `bind stage 2 :?^@@`. - Git color mappings can be configured in tigrc. - More informative configuration error messages. - Make reference label formatting configurable, for example: `set reference-format = (branch) <tags> remote`. (GH #201) - Adjust author width and other view columns automatically. (GH #49) - Support view specific colors: `color stage.diff-add yellow default`. - Copy `-S`, `-G` and `--grep=` pattern to search buffer so 'find-next' and 'find-prev' work as expected. - Optionally specify custom prompt for `%(prompt)` in shell commands, e.g. `bind main B ?git checkout -b "%(prompt Enter new branch name: )"`. - Add `%(remote)` and `%(tag)` symbols to complement `%(branch)`. - User-defined commands can now be prefixed with any of the supported flags, e.g. `?git checkout -b %(branch)`. - Open editor at line number for combined diffs e.g. diffs of unmerged files. - Add build configuration for Cygwin (OS name: CYGWIN_NT-6.1). (GH #92) - Document the Git commands supported by the pager mode. (GH #1) system `tigrc` configuration. (GH #235) Bug fixes: - Fix stash diff display when reloading the stash view after a deleting. - Set the commit reference when opening the blame view from the blob view. - Correctly identify and highlight the remote branch tracked by HEAD. - Pass --no-color after user defined arguments to ensure that colors do not break the output parsing. (GH #191) - Close stdin when pager mode is not supported. - Show newly created branches in the main view. (GH #196) - File with 0 changes breaks diffstat highlighting (GH #215) - Update %(branch) variable in the main view. (GH #223) - Disable graph rendering when either of `--reverse`, `-S`, `-G`, and `--grep` are passed to the main view. (GH #127) - Only refresh views that support it. - Fix author and date annotation of renamed entries in the tree view. - Fix use of unsafe methods in the signal handler. (GH #245) - Fix rendering in non-UTF8 terminals. - Fix stage-update-line by rewriting the diff chunk containing the line instead of using `--unidiff-zero` and a diff context of zero. (GH #130) - Fix status-update to work for untracked directories. (GH #236) - Don't pass log parameters given on the command line to the diff view.
httpuv 1.6.1 ============ * The `timegm()` function is a non-standard GNU extension, so it has been replaced with an internal `timegm2()` function. (#300) httpuv 1.6.0 ============ * Remove BH dependency. httpuv now requires a compiler which supports C++11. (#297) httpuv 1.5.5 ============ * Fix SHA1 calculation, and thus WebSocket server handshakes, on big-endian systems. (#284) * Fixed #195: Responses required `headers` to be a named list. Now it can also be `NULL`, an empty unnamed list, or it can be unset. (#289) * Allow responses to omit `body` (or set it as `NULL`) to avoid sending a body or setting the `Content-Length` header. This is intended for use with HTTP 204/304 responses. (#288) httpuv 1.5.4 ============ * Fixed #275: Large HTTP request headers could get truncated if they spanned more than one TCP message. (#277) * Fixed build for Solaris. (#271) * Fixed a test that had incorrect logic. (#272) httpuv 1.5.3.1 ============== * Updated libuv to version 1.37.0. (#266) * Fixed #204: On UBSAN builds of R, there were warnings about unaligned memory access. (#246) * Avoid creating a new Rook error stream object for each request. This should improve performance. (#245) * Resolved #247: httpuv no longer returns a HTTP 400 code for static files when the "Content-Length" header is 0. This Content-Length header is inserted by some proxies even for messages without payloads. (#248) * Resolved #253: Setting the FRAMEWORK environment variable would break compilation. This change removes any dependency on that variable. (#254) httpuv 1.5.2 ============ * In the static file-serving code path, httpuv previously looked for a `Connection: upgrade` header; if it found this header, it would not try to serve a static file, and it would instead forward the HTTP request to the R code path. However, some proxies are configured to always set this header, even when the connection is not actually meant to be upgraded. Now, instead of looking for a `Connection: upgrade` header, httpuv looks for the presence of an `Upgrade` header (with any value), and should be more robust to incorrectly-configured proxies. (#215) * Fixed handling of messages without payloads: (#219) * Fixed #224: Static file serving on Windows did not work correctly if it was from a path that contained non-ASCII characters. (#227) * Resolved #194, #233: Added a `quiet` option to `startServer`, which suppresses startup error messages that are normally printed to console (and can't be intercepted with `capture.output()`). (#234) * Added a new function `randomPort()`, which returns a random available port for listening on. (#234) * Added a new (unexported) function `logLevel()`, for controlling debugging information that will be printed to the console. Previously, httpuv occasionally printed messages like `ERROR: [uv_write] broken pipe` and `ERROR: [uv_write] bad file descriptor` by default. This happened when the server tried to write to a pipe that was already closed, but the situation was not harmful, and was already being handled correctly. Now these messages are printed only if the log level is set to `INFO` or `DEBUG`. (#223) * If an application's `$call()` method is missing, it will now give a 404 response instead of a 500 response. (#237) * Disallowed backslash in static path, to prevent path traversal attacks. (#235) * Static file serving on Windows could fail if multiple requests accessed the same file simultaneously. (#239)
Changed in xts 0.12.1: o Various function could change the tclass of xts objects. This would happen in calls to reclass(), period.apply(), and for logical operations on POSIXct indexes. Thanks to Tom Andrews for the report and testing, and to Panagiotis Cheilaris for contributing test cases (#322, #323). o plot.xts() now supports y-axis labels via 'ylab'. Thanks to Jasen Mackie for the suggestion and PR (#333, #334). o The API header has been updated to fix the signatures of do_merge_xts() and is_xts, which did not return a SEXP as required of functions callable by .Call(). Thanks to Tomas Kalibera for the report (#317), and Dirk Eddelbuettel for the PR (#337). This is a breaking change, but is required to avoid the potential for a segfault. o Michael Chirico added an internal isUTC() function to recognize many UTC- equivalent time zones (#319). o first() now operates correctly on non-xts objects when 'n = -1'. Previously it would always return the last two values. Thanks to GitHub user vxg20 for the report (#325). o The .xts() constructor would create an xts object with row names if 'x' had row names. This shouldn't happen, because xts objects do not have or support row names (#298). o Claymore Marshall added many examples of time-of-day subsetting to ?subset.xts. He also fixed a bug in time-of-day subsetting where subsetting by hour only returned wrong results (#304, #326, #328). Changed in xts 0.12-0: o All the index-attributes have been removed from the xts object and are now only attached to the index itself (#245). We took great care to maintain backward compatibility, and throw warnings when deprecated functions are called and when index-attributes are found on the xts object. But there still may be some breaking changes lurking in edge cases. o @SamoPP found one edge case (#297) where an error was thrown when index() was called on an xts object with an index that had no tclass attribute. o ...which led Joshua to find that the index setting functions did not always copy index attributes (#305). o Several binary operations (e.g. +, -, !=, <, etc.) on variations of uncommon xts objects with other xts, matrix, or vector objects, could result in malformed xts objects (#295). Some examples of the types of uncommon xts objects: no dim attribute, zero-width, zero-length. o Calling as.matrix() on an xts object without a dim attribute no longer throws an error (#294). o merge.xts() now honors check.names = FALSE (#293). o The possible values for major.ticks, minor.ticks, and grid.ticks.on in the Details section of ?plot.xts have been corrected. Thanks to Harvey Smith (@harvey131) for the report and patch (#291). o as.zoo.xts() is now only registered for zoo versions prior to 1.8-5. Methods to convert an object to another class should reside in the package that implements the target class. Thanks to Kurt Hornik for the report (#287). o .parseISO8601() no longer has a potential length-1 logical error. Thanks to Kurt Hornik for the report (#280). o endpoints() now honors k > 0 when on = "quarters". Thanks to @alkment for the report (#279). o Performance for the period.XYZ() functions (sum, prod, min, max) is much faster (#278). Thanks to Harvey Smith (@harvey131) for the report and examples. o merge.xts() now creates shorter column names when passed unnamed objects. This is now consistent with zoo (#248). o Time-of-day performance is ~200x faster, thanks to StackOverflow user3226167 (#193).
# rio 0.5.27 * Documentation fixes for CRAN. # rio 0.5.26 * Added support for "zsav" format. (#273) # rio 0.5.25 * Modified tests per email request from CRAN. * Added `coerce_character` argument (default FALSE) to `factorize()` to enable coercing character columns to factor. (#278) # rio 0.5.24 * Fix handling of "label" and "labels" attributes when exporting using haven methods (SPSS, Stata, SAS). (#268, h/t Ruben Arslan) * Fix (a different bug?) handling factors by haven::labelled() (#271, Alex Bokov) * HTML import can now handle multiple tbody elements within a single table, a th element in a non-header row, and empty elements in either the header or data. (#260, #263, #264 Bill Denney) # rio 0.5.23 * CSVY support is now provided by `data.table::fread()` and `data.table::fwrite()`, providing significant performance gains. * Added an internal `arg_reconcile()` function to streamline the task of removing/renaming arguments for compatibility with various functions (#245, Alex Bokov) # rio 0.5.22 * Added an `export_list()` function to write a list of data frames to multiple files using a vector of file names or a file pattern. (#207, h/t Bill Denney) * Added an `is_file_text()` function to determine whether a file is in a plain-text format. Optionally narrower subsets of characters can be specified, e.g. ASCII. (#236 Alex Bokov) # rio 0.5.21 * Added support for Apache Arrow (Parquet) files. (#214) * Fix dropping of variable label in `characterize()` and `factorize()`. (#204, h/t David Armstrong) * `import_list()` now returns a `filename` attribute for each data frame in the list (when importing from multiple files), in order to distinguish files with the same base name but different extensions (e.g., `import_list(c("foo.csv", "foo.tsv"))`). (#208, h/t Vimal Rawat) * Import of DBF files now does not convert strings to factors. (#202, h/t @jllipatz) * Implemented `import()` method for .dump R files. (#240) # rio 0.5.20 * Additional pointers were added to indicate how to load .doc, .docx, and .pdf files (#210, h/t Bill Denney) * Ensure that tests only run if the corresponding package is installed. (h/t Bill Denney) * Escape ampersands for html and xml export (#234 Alex Bokov) # rio 0.5.19 * Fix behavior of `export()` to plain text files when `append = TRUE` (#201, h/t Juli�$BC!�(Bn Urbano) * `import_list()` now preserve names of Excel sheets, etc. when the 'which' argument is specified. (#162, h/t Danny Parsons) * Modify message and errors when working with unrecognized file formats. (#195, h/t Trevor Davis) * Add support for GraphPad Prism .pzfx files (#205, h/t Bill Denney) # rio 0.5.18 * Adjust `import()`/`export()` for JSON file formats to allow non-data frame objects. Behavior modeled after RDS format. (#199 h/t Nathan Day) # rio 0.5.17 * Fix `the condition has length > 1 and only the first element will be used` warning in `gather_attributes()`. (#196, h/t Ruben Arslan)
# htmltools 0.5.2 ## Breaking Changes * Closed #205: When calling `tagGetAttribute(x)` on an object with a non-atomic attribute, a list of untouched values will be returned. It is still recommended to only store character values inside attributes. (#212) ## New Features & Improvements * `{htmltools}` now has its own `{pkgdown}` site hosted at <https://rstudio.github.io/htmltools/>. * The new `tagQuery()` function provides a [jQuery](https://jquery.com/) inspired interface to query and/or modify HTML `tag()` (e.g., `div()`) or `tagList()` objects. To learn more, see the [{pkgdown} article](https://rstudio.github.io/htmltools/articles/tagQuery.html). (#208) * Added `tagAddRenderHook()` for delaying modification of a tag object until it is rendered. A list of render-time hooks may also be added via the new `.renderHook` argument added to all `tag()` functions. (#215) * Closed #243: Added `withTags(.noWS)` to change the default whitespace behavior for all tags within the call to `withTags()`. (#245) * Closed #251: Added `.cssSelector` parameters to tag modifying functions such as `tagAppendChildren()` or `tagAppendChildren()`. The `.cssSelector` allows you to target particular (inner) tags of interest. See `tagAppendChildren()` for examples. (#224) * Closed #225: Added `tagInsertChildren()` to be able to insert child tag objects at a particular location. (#224) ## Bug Fixes * When retrieving a tag attribute using `tagGetAttribute(tag, attr)`, `NA` values will be removed before combining remaining attribute values. If all attribute values are `NA`, then a single `NA` value will be returned. (#212) * Closed #197: Fixed rendering of boolean attributes in `<script>` tags rendered via `renderDependencies()` (#197, thanks @atusy). * Closed #222: Unnamed attributes are no longer allowed to be appended via `tagAppendAttribs()`. When trying to print unnamed tag attribs, a better error message is provided. (#229)
# NLopt Release Notes ## NLopt 2.6.2 15 April 2020 * Fixed forced stop exception with dimension elimination ([#317]) * Fixed `get_initial_step` wrapping ([#319]) * Various build fixes ([#314], [#308], [#303], [#278]) ## NLopt 2.6.1 13 April 2019 * Fix `nlopt_version` result for 2.6.x and update soname. ## NLopt 2.6 12 April 2019 * New `nlopt_set_upper_bound` and `nlopt_set_lower_bound` functions in the low-level C API to set one bound at a time ([#257]). * There is no longer a separate `libnlopt_cxx` library: C++ algorithms (STOGO and AGS) are compiled and included by default ([#198]). * Various build fixes ([#197], [#216], [#245], [#250], [#230], [#261], etc.), other fixes ([#242], [#258]). ## NLopt 2.5 26 July 2018 * New AGS global solver ([#194]), thanks to Vladislav Sovrasov. * New `nlopt_get_numevals` function providing a built-in evaluation counter ([#160]). * New `nlopt_get_errmsg` function for more descriptive error messages. * Build system is converted to `cmake` ([#49]), thanks to Julien Schueller * Plugins updated for recent Octave and Guile versions. * Various other build fixes and minor bug fixes.
Change log: 4.16.2 ====== - keyboard: Mark system defaults switch as active (Fixes #310) - keyboard: Correctly initialize setting (Fixes #310) - keyboard: Fix icon name in settings dialog - keyboard: Make buttons translatable (Fixes #306) - xfsettingsd: Fix setting float array properties - Translation Updates: Arabic, Basque, Bulgarian, Estonian, Hebrew, Norwegian Bokmål, Slovenian, Spanish, Swedish, Thai, Ukrainian 4.16.1 ====== - display: Fix scale by rounding (Fixes #258) - Drop preferences-desktop-default-applications icon name - Also allocate terminating element - Translation Updates: Albanian, Arabic, Armenian (Armenia), Asturian, Basque, Belarusian, Belarusian (Tarask), Bengali, Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, Eastern Armenian, English (Australia), English (Canada), English (United Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese, Kabyle, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Norwegian Nynorsk, Occitan (post 1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian 4.16.0 ====== - Drop subtitles from settings dialogs (Fixes #239) - display: Fix icon name in settings dialog - settings-manager: Fix visibility of filterbar - settings-manager: Correctly show/hide the filterbar - settings-manager: Switch to GtkSearchEntry - settings-manager: Put filter in separate bar (Fixes #226) - appearance: Add 'Add' button to install themes (Fixes #193) - color: Tweak colors of icon - mime: Accept Thunar's old id name (Fixes #247) - settings-editor: Enable tooltips and ellipsizing for `Value` column - settings-editor: Fix scrollbar for channels - settings-editor: Point to correct docs URL (#245) - bump glib (and gio, gthread, etc) minimum to 2.50.0 - Remove GSourceFunc casts - Indentation fixes - Translation Updates: Basque, Bulgarian, Estonian, French, German, Hebrew, Indonesian, Italian, Japanese, Norwegian Bokmål, Norwegian Nynorsk, Portuguese, Portuguese (Brazil), Russian, Serbian, Slovenian, Swedish, Turkish, Ukrainian 4.15.3 ====== - Disable UPower support by default - Add 24px and 32px icons - xfsettingsd: avoid default double fork - mime: Add 'Open with...' button - mime: Add new generic launcher icons - color: Adjust padding of dialog - color: Add labels to toolbar - keyboard: Make 'system defaults' a GtkSwitch - keyboard: Adjust width of shortcut column (Fixes #223) - keyboard: Update dialog UI - keyboard: Make all table columns sortable - keyboard: Improve inline toolbar alignment - display: Center minimal dialog on monitor where cursor is - settings-editor: Add labels to toolbar items - Update README file - Translation Updates: Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Belarusian (Tarask), Bengali, Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, Eastern Armenian, English (Australia), English (Canada), English (United Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Norwegian Nynorsk, Occitan (post 1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian, Uyghur 4.15.2 ====== - appearance: Fix width of DPI spinbutton (Bug #16125) - appearence: Sync theme, icon, font names to gsettings - appearance: Fix list refresh on DnD (Fixes #213) - appearance: Drop toolbar style setting (Bug #16665) - display: Initial fractional scaling support (Fixes #162) - display: Custom scale changes are display changes - display: Improve layout in settings dialog - display: Resize display widget according to scale - display: Move scaling presets to glade - display: Set minimum scale to 0.1 - display: Improve state machine for scaling option - xfsettingsd: Correctly get current xrandr scale - mime-settings: Rename dialog and icon to 'Default Applications' - mime-settings: Fix window icon name - mime-settings: Fix double free - mime-helpers: Fix Nautilus icon name - mime-helpers: Rename Thunar to thunar - Rename Thunar to thunar in make and potfiles - Expand desktop entry field codes - keyboard-settings: Support libxfce4ui XfceTitledDialog new API - keyboard: Show shortcuts with keycap class - settings-manager: Ensure searchbox has initial focus (Bug #16890) - settings-manager: Simplify redrawing of search results (Fixes #141) - settings-manager: Hide filter entry in plugged dialogs - Convert xfce4-compose-mail to Python - Add dependency to Python3 - Use just binary name (instead of full path) as argument - Don't crash when upowerd isnt present (bug #60) - Always install shiny new icons - Drop libxfce4ui 4.15.1 ifdefs - Fix xfconf-related memory leaks - Update .gitignore - Fix typo - Translation Updates: Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong), Chinese (Taiwan), Croatian, Danish, Dutch, English (Canada), Estonian, Finnish, French, German, Hebrew, Hungarian, Indonesian, Italian, Japanese, Kazakh, Korean, Lithuanian, Norwegian Bokmål, Serbian, Swedish, Turkish 4.15.1 ====== This release transitions several exo components to xfce-settings. Please use with exo 4.15.1 or later for best results. - exo-compose-email -> xfce4-compose-email - exo-helper -> xfce4-mime-helper - mime-settings now includes preferred applications Other Updates: - Switch to new app icons and rDNS icon names - Increase mouse cursor upper bound for HiDPI (Bug #16042) - Fix a memory leak - Fix typo - Add basic GitLab pipeline - Make "Profiles matching" sentence translatable (Bug #16679) - settings-manager: Use symbolic find/clear icons - Move from exo-csource to xdt-csource (Bug #16717) - Handle failure to get Xkl engine for display (Bug #16017) - settings-manager: Make sure content determines size - Fix cast warnings - Fix GTimeVal deprecation (Bug #16645) - Fix keywords and mark them as translateable - Use proper fallback configuration on "apply" and "toggle off" (Bug #16476) - keyboard-settings: Fix log flood (Bug #16521) - keyboard: Fix crash when editing shortcut (Bug #15958) - Add keywords to .desktop files (Bug #10694) - settings-manager: Improve search by including keywords (Bug #10694) - xfsettingsd: Add --disable-wm-check flag (Bug #16128) - Fix typecasting - Set "gtk-titlebar-middle-click" to "lower" by default - display: Allow resizing of minimal dialog (Bug #15450) - settings-manager: Show min and max buttons - dialogs: Ensure dialogs have min and max buttons - Translation Updates: Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Belarusian (Tarask), Bulgarian, Catalan, Chinese (China), Chinese (Hong Kong), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, English (Australia), English (Canada), English (United Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Norwegian Nynorsk, Occitan (post 1500), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish, Uighur, Ukrainian 4.15.0 ====== - xsettings: Use CSD for GtkDialogs by default - settings-manager: Fix XfceTitledDialog layout with CSD - settings-manager: Drop setting the old header style - display: Show ratio next to display resolution - display: Mark preferred mode with an asterisk - display: Add init function for aspect ratios - display: Right-align the display ratio - display: Fixed warning and removed ratio - display: Improve look of ratio - display: Fix icon name for primary indicator - display: Initialize crtc->scalex/y (Bug #15971) - settings-editor: Add consistent inline-toolbar - appearance: Only show themes that support Gtk3 (Bug #15849) - color: Fix crash in add-profiles dialog (Bug #15876) - color: Conditionally hide info button in add-profile dialog - color: Add tooltip to profile info buttons - display: Fix profile matching in xfsettingsd - display: Assure correct gchar** (Bug #15816) - keyboard: Improve layout of add-command dialog - keyboard: Add mnemonics to add-command dialog (Bug #10495) - Switch to symbolic window-close icon - Bump libxfce4ui dependency to 4.15.1 - Improve string for session managers - Ensure the newly labeled 'Xfce Settings Daemon' is translated - Do not show translation info on --help output - Translation Updates: Albanian, Arabic, Basque, Belarusian, Bulgarian, Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, English (United Kingdom), Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Indonesian, Interlingue, Italian, Japanese, Korean, Lithuanian, Malay, Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish
Changes since 0.2.0: ## What's added? - feat: Add additional info in view cmd #209 @ankitpokhrel - feat: Show linked issues when viewing #219 @ankitpokhrel - feat: Show latest comment when viewing #220 @ankitpokhrel - feat: Add an option to load N comments when viewing issue #226 @ankitpokhrel ## What's fixed? - fix: Allow config generations even when no boards #216 @sushilkg - fix: Off by one error in wiki parser #224 @ankitpokhrel - fix: Language support for Jira cloud #234 @ankitpokhrel - fix(docs): Optional COMMENT_BODY #236 @realtime-neil - fix: Respect BROWSER env #253 @ankitpokhrel ## Other notable changes - cfg: A new field handle is added in issue.types section as part of #234 - build: Reproducible builds #244 #245 @realtime-neil - build: Initialize version using runtime build info #249 @ankitpokhrel Full Changelog: ankitpokhrel/jira-cli@v0.2.0...v0.3.0 To all direct/indirect contributors and backers, Thank you
37.1 (2022-09-03) ----------------- * Allow HTML5 `nav` tag through cleaner (#259) 37.0 (2022-08-21) ----------------- * Remove command line example from docs (#197) * Multiple pyproject.toml fixes (#251) * Confirm handling multiple inline strong (#252) * Convert RST output to HTML5 (#253) * Add Typing to classifiers (#254) * Development tweaks - coverage reporting, actions updates (#255) * Add test confirming behavior with unknown lexers (#256) 36.0 (2022-08-06) ----------------- * Enable gitpod development (#238) * Allow rst admonitions to render (#242) * Add badges to README (#243) * Update codebase for modern Python (#244) * Fix table cell spans (#245) * Allow ``math`` directive in rst (#246) * Preserve ``lang`` attribute in ``pre`` (#247) 35.0 (2022-04-19) ----------------- * Add py.typed to the built wheel (#228) * Use isolated build for tox (#229) * Fix renderer ignore (#230) * Remove legacy check command and distutils (#233) * Emit a warning when no content is rendered (#231) * Drop support for Python 3.6 (#236) * Update html attribute order in tests (#235) 34.0 (2022-03-11) ----------------- * Add static types (#225) 33.0 (2022-03-05) ----------------- * Support cmarkgfm>=0.8.0 (#224) 33.0 (2022-02-05) ----------------- * Support cmarkgfm>=0.8.0 (#224) * Support Python 3.10 32.0 (2021-12-13) ----------------- * Allow start attribute in ordered lists (#216) * No limit rendering RST one column field names (#219) 31.0 (2021-12-09) ----------------- * Render disabled checkboxes from Markdown (#217) 30.0 (2021-09-30) ----------------- * support cmarkgfm>=0.6.0 (#209)
2.1.9 [fsevents] Fix flakey test to assert that there are no errors when stopping the emitter. [inotify] Suppress occasional OSError: [Errno 9] Bad file descriptor at shutdown. #805 [watchmedo] Make auto-restart restart the sub-process if it terminates. #896 [watchmedo] Avoid zombie sub-processes when running shell-command without --wait. #405 2.1.8 Fix adding failed emitters on observer schedule. (#872) [inotify] Fix hang when unscheduling watch on a path in an unmounted filesystem. (#869) [watchmedo] Fix broken parsing of --kill-after argument for the auto-restart command. (#870) [watchmedo] Fix broken parsing of boolean arguments. (#887) [watchmedo] Fix broken parsing of commands from auto-restart, and shell-command. (#888) [watchmedo] Support setting verbosity level via -q/--quiet and -v/--verbose arguments. (#889) 2.1.7 Eliminate timeout in waiting on event queue. (#861) [inotify] Fix not equality implementation for InotifyEvent. (#848) [watchmedo] Fix calling commands from within a Python script. (#879) [watchmedo] PyYAML is loaded only when strictly necessary. Simple usages of watchmedo are possible without the module being installed. (#847) 2.1.6 [bsd] Fixed returned paths in kqueue.py and restored the overall results of the test suite. (#842) [bsd] Updated FreeBSD CI support .(#841) [watchmedo] Removed the argh dependency in favor of the builtin argparse module. (#836) [watchmedo] Removed unexistant WindowsApiAsyncObserver references and --debug-force-winapi-async arguments. [watchmedo] Improved the help output. 2.1.5 Fix regression introduced in 2.1.4 (reverted "Allow overriding or adding custom event handlers to event dispatch map. (#814)"). (#830) Convert regexes of type str to list. (#831) 2.1.4 [watchmedo] Fix usage of os.setsid() and os.killpg() Unix-only functions. (#809) [mac] Fix missing FileModifiedEvent on permission or ownership changes of a file. (#815) [mac] Convert absolute watch path in FSEeventsEmitter with os.path.realpath(). (#822) Fix a possible AttributeError in SkipRepeatsQueue._put(). (#818) Allow overriding or adding custom event handlers to event dispatch map. (#814) Fix tests on big endian platforms. (#828) 2.1.3 Publish macOS arm64 and universal2 wheels. (#740) 2.1.2 [mac] Fix relative path handling for non-recursive watch. (#797) [windows] On PyPy, events happening right after start() were missed. Add a workaround for that. (#796) 2.1.1 [mac] Fix callback exceptions when the watcher is deleted but still receiving events (#786) 2.1.0 [inotify] Simplify libc loading (#776) [mac] Add support for non-recursive watches in FSEventsEmitter (#779) [watchmedo] Add support for --debug-force-* arguments to tricks (#781) 2.0.3 [mac] Use logger.debug() instead of logger.info() (#774) Updated documentation links (#777) 2.0.2 [mac] Add missing exception objects (#766) 2.0.1 [mac] Fix a segmentation fault when dealing with unicode paths (#763) Moved the CI from Travis-CI to GitHub Actions (#764) 2.0.0⚠️ [mac] Drop support for macOS 10.12 and earlier (#750) [mac] Support coalesced filesystem events (#734) [mac] Fix an issue when renaming an item changes only the casing (#750) [inotify] Add support for IN_CLOSE_WRITE events. A FileCloseEvent event will be fired. Note that IN_CLOSE_NOWRITE events are not handled to prevent much noise. (#184, #245, #280, #313, #690) [inotify] Allow to stop the emitter multiple times (#760) Avoid deprecated PyEval_InitThreads on Python 3.7+ (#746) 1.0.2 Wheels are published for GNU/Linux, macOS and Windows (#739) [mac] Fix missing event_id attribute in fsevents (#721) [mac] Return byte paths if a byte path was given in fsevents (#726) [mac] Add compatibility with old macOS versions (#733) Uniformize event for deletion of watched dir (#727) 1.0.0 Versioning is now following the semver Drop support for Python 2.7, 3.4 and 3.5 [mac] Regression fixes for native fsevents (#717) [windows] winapi.BUFFER_SIZE now defaults to 64000 (instead of 2048) (#700) [windows] Introduced winapi.PATH_BUFFER_SIZE (defaults to 2048) to keep the old behavior with path-realted functions (#700) Use pathlib from the standard library, instead of pathtools (#556) Allow file paths on Unix that don't follow the file system encoding (#703) Removed the long-time deprecated events.LoggingFileSystemEventHandler class, use LoggingEventHandler instead 0.10.5 [mac] Regression fixes for native fsevents (#716)
# lintr 3.0.2 * Fix test to avoid leaving behind cache files in the global cache directory. # lintr 3.0.1 * Skip multi-byte tests in non UTF-8 locales (#1504) * `modify_defaults()` no longer uses the mistaken `"lintr_function"` S3 class, instead applying the `"linter"` class also common to `Linter()`. `Linter()` also includes `"function"` in the S3 class of its output to facilitate S3 dispatch to `function` methods where appropriate (#1392, @MichaelChirico). ## Changes to defaults * `brace_linter()` allows opening curly braces on a new line when there is a comment ending the preceding line (#1433 and #1434, @IndrajeetPatil). * `seq_linter()` produces lint for `seq(...)`, since it also cannot properly handle empty edge cases (#1468, @IndrajeetPatil). * `seq_linter()` additionally lints on `1:n()` (from {dplyr}) and `1:.N` (from {data.table}) (#1396, @IndrajeetPatil). * `literal_coercion_linter()` lints {rlang}'s atomic vector constructors (i.e., `int()`, `chr()`, `lgl()`, and `dbl()`) if the argument is a scalar (#1437, @IndrajeetPatil). * `redundant_ifelse_linter()`'s lint message correctly suggests negation when the `yes` condition is `0` (#1432, @IndrajeetPatil). * `seq_linter()` provides more specific replacement code in lint message (#1475, @IndrajeetPatil). ## New and improved features * `unreachable_code_linter()` ignores trailing comments if they match a closing nolint block (#1347, @AshesITR). * New `function_argument_linter()` to enforce that arguments with defaults appear last in function declarations, see the [Tidyverse design guide](https://design.tidyverse.org/args-data-details.html) (#450, @AshesITR). * New `allow_trailing` argument added to `assignment_linter()` to check when assignment operators are at the end of a line, and the value is on the following line (#1491, @ashbaldry) ## New features * `commented_code_linter()` now lints commented argument code, containing a trailing comma, as well (#386, @AshesITR). For example a comment containing `# na.rm = TRUE,` now triggers a lint. ## Bug fixes * `object_length_linter()` does not fail in case there are dependencies with no exports (e.g. data-only packages) (#1509, @IndrajeetPatil). * `get_source_expressions()` no longer fails on R files that match a knitr pattern (#743, #879, #1406, @AshesITR). * Parse error lints now appear with the linter name `"error"` instead of `NA` (#1405, @AshesITR). Also, linting no longer runs if the `source_expressions` contain invalid string data that would cause error messages in other linters. * Prevent `lint()` from hanging on Rmd files with some syntax errors (#1443, @MichaelChirico). * `get_source_expressions()` no longer omits trailing non-code lines from knitr files (#1400, #1415, @AshesITR). This fixes the location information for `trailing_blank_lines_linter()` in RMarkdown documents without terminal newlines. * The `vignette("lintr")` incorrectly cited `exclude` as the key for setting file exclusions in `.lintr` when it is actually `exclusions`. (#1401, @AshesITR) * Fixed file exclusion detection in `lint_dir()` so it no longer errors if there are multiple exclusions or no global exclusions configured for a single file (#1413, #1442, @AshesITR). ## Other changes * The minimum needed version for soft dependency `{withr}` has been bumped to `2.5.0` (#1404, @IndrajeetPatil). * Changed the deprecation warning for `with_defaults()` to also mention `modify_defaults()` (#1438, @AshesITR). # lintr 3.0.0 ## Breaking changes * All linters are now function factories (i.e., functions that return functions) for consistency. Previously, only linters with customizable parameters were factories (#245, @fangly, @AshesITR, and @MichaelChirico). This means that usage such as `lint("file.R", seq_linter)` should be updated to `lint("file.R", seq_linter())`, and the following update for custom linters: ```r my_custom_linter <- function(source_expression) { ... } # becomes my_custom_linter <- function() Linter(function(source_expression) { ... }) ``` * Exclusions specified in the `.lintr` file are now relative to the location of that file and support excluding entire directories (#158, #438, @AshesITR). * Removed long-deprecated linters (they've been marked as deprecated since v1.0.1 in 2017): + `absolute_paths_linter()` + `camel_case_linter()` + `multiple_dots_linter()` + `snake_case_linter()` + `trailing_semicolons_linter()` * Removed `return()` from `all_undesirable_functions` because early returns (which often improve readability and reduce code complexity) require explicit use of `return()`. Follow #1100 for an upcoming `return_linter()` to lint unnecessary `return()` statements (#1146, @AshesITR). Note that you can replicate old behavior by supplying `return` as a custom undesirable function: `undesirable_function_linter(c(all_undesirable_functions, list(return = NA)))` ## Deprecations * Lints are now marked with the name of the `linter` that caused them instead of the name of their implementation function. Deprecated the obsolete `linter` argument of `Lint()` (#664, #673, #746, @AshesITR). Downstream custom linters should follow suit. * Renamed `semicolon_terminator_linter()` to `semicolon_linter()` for better consistency. `semicolon_terminator_linter()` survives but is marked for deprecation. The new linter also has a new signature, taking arguments `allow_compound` and `allow_trailing` to replace the old single argument `semicolon`, again for signature consistency with other linters. * The following linters were subsumed into `brace_linter()` and are now deprecated; see the item on `brace_linter()` below: + `closed_curly_linter()` + `open_curly_linter()` + `paren_brace_linter()` * The `...` argument for `lint()`, `lint_dir()`, and `lint_package()` has been promoted to an earlier position to better match the [Tidyverse design principle](https://design.tidyverse.org/args-data-details.html) of data->descriptor->details. This change enables passing objects to `...` without needing to specify non-required arguments, e.g. `lint_dir("/path/to/dir", linter())` now works without the need to specify `relative_path`. This affects some code that uses positional arguments (#935, @MichaelChirico). + For `lint()`, `...` is now the 3rd argument, where earlier this was `cache`. + For `lint_dir()` and `lint_package()`, `...` is now the 2nd argument, where earlier this was `relative_path`. * Deprecated argument `source_file` to exported functions `with_id()` and `ids_with_token()`. It has been renamed to `source_expression` to better reflect that this argument is typically the output of `get_source_expressions()`. For now, the old argument `source_file` can still be used (with warning). The now-private functional versions of many linters also underwent the same renaming (`source_file` -> `source_expression`). This has no direct effect on packages importing lintr, but is mentioned in case custom linters imitating `lintr` style had also adopted the `source_file` naming and want to adapt to keep in sync. * Deprecated `with_defaults()` in favor of `linters_with_defaults()`, and add `modify_defaults()` which is intended to be used more generally to modify (i.e., extend, trim, and/or update) a list of defaults. Note that the argument corresponding to `with_defaults()`'s `default=` is called `defaults=` (i.e., pluralized) in both of these, and that usage like `with_defaults(default = NULL, ...)` should be converted to `linters_with_defaults(defaults = list(), ...)` (#1029, #1336, #1361, @AshesITR and @MichaelChirico). * Deprecated the `find_line()` and `find_column()` helpers from the item-level `expressions` returned with `get_source_expressions()`. These helpers were typically associated with regex-based logic for building linters, which is rarely needed and prone to false positives; now that lintr almost exclusively uses XPath-based logic for linters, these are no longer necessary (#1373, @MichaelChirico). ## Other changes to defaults ### Updates to `default_linters` * New `brace_linter()` which combines several curly brace related linters, deprecating the following predecessors (#1041, @AshesITR): + `closed_curly_linter()`; both now also allow `}]` in addition to `})` and `},` as exceptions, i.e., `}` doesn't need to be on its own line if paired with a closing square bracket, a closing parenthesis, or a comma. Also improved lint metadata so that source markers land at the closing brace instead of the closing parenthesis to improve the experience of fixing the lint (#583, @AshesITR). + `open_curly_linter()`; both also no longer lint unnecessary trailing whitespace (use `trailing_whitespace_linter()` for this) and also allow `(`, `,`, and `%>%` on preceding lines as exceptions, i.e., `{` can be alone on a line if the previous line is terminated with an opening parenthesis, a comma, or a pipe (`%>%`) (#487, #1028, @AshesITR). + `paren_brace_linter()`; `brace_linter()` also lints `if`/`else` and `repeat` with missing whitespace. + `brace_linter()` also newly enforces the following rules surrounding curly braces (originally Google linters, see below): - Require `else` to come on the same line as the preceding `}`, if present (#884, @MichaelChirico). - Require functions spanning multiple lines to use curly braces (#987, @MichaelChirico). - Require balanced usage of `{}` in `if`/`else` conditions, i.e., if the `if` branch uses braces, then so must the `else` branch, and _vice versa_ (#983, @MichaelChirico). * New `paren_body_linter()` checks that there is a space between a right parenthesis and a body expression (#809, @kpagacz). * Added `semicolon_linter()` as a default because it enforces a tidyverse style guide rule (#683, @AshesITR). * `assignment_linter()` (#915, @MichaelChirico): + Right assignments are now linted by default (`->` and `->>`). + New argument `allow_cascading_assign` (`TRUE` by default) toggles whether to lint `<<-` and `->>`. + New argument `allow_right_assign` (`FALSE` by default) toggles whether to lint `->` and `->>`. * `commented_code_linter()`: use the parse tree to find comments, eliminating some false positives (#451, @AshesITR). * `equals_na_linter()` (#545, @MichaelChirico): + Extended to lint `x != NA` (before, only `==` was caught) and `NA == x` (before, only `NA` on RHS was caught). + Extended to skip usages in comments like `is.na(x) # use is.na(x), not x == NA`. * `function_left_parentheses_linter()`: improved location information (#1266, #1267, @AshesITR). * `infix_spaces_linter()`: + Added argument `allow_multiple_spaces` (`TRUE` by default) which toggles whether to generate a lint for operators used with multiple spaces, e.g. `x + 2`. The default setting allows extra spacing to be used to increase line-to-line alignment (#940, @f-ritter and @MichaelChirico). + Extended so that usages like `a~b` and `function(a=1) { ... }` are linted (#930, #michaelchirico). + Added argument `exclude_operators` to disable lints on selected infix operators. By default, all "low-precedence" operators throw lints; see `?infix_spaces_linter` for an enumeration of these. (#914, @MichaelChirico). + Add an exception for `/` usage in `box::use()` declarations (#1087, @klmr). * `line_length_linter()`: place the source marker at the margin of the affected line to improve user experience during de-linting -- just press <kbd>Return</kbd> (#735, @AshesITR).* * `no_tab_linter()`: use more reliable matching (e.g., excluding matches found in comments; #441, @russHyde). * `object_length_linter()`: correctly detect generics and only count the implementation class towards the length. This prevents false positive lints in the case of long generic names, e.g. `very_very_very_long_generic_name.short_class` no longer produces a lint (#871, @AshesITR). * `object_name_linter()`: + Improved generic detection -- in user-defined method `my_method.upstream.class`, `upstream.class` no longer throws a lint because the generic (`my_method`) properly uses `snake_case` (#737, @AshesITR). + Exclude special R namespace hook functions such as `.onLoad()` (#500, #614, @AshesITR and @MichaelChirico). + Correctly detect imported functions when linting packages (#642, @AshesITR). + Correctly detect assignment generics like `names<-.class_name` (#843, @jonkeane). + Added new styles `"symbols"` and `"SNAKE_CASE"` (#494, #495, #615, #670, @MichaelChirico and @AshesITR). - `"symbols"` is a new default style which won't lint all-symbol object names. In particular, that means operator names like `%+%` are allowed. + No longer lints names used in `$` extractions (#582, @AshesITR). * `object_usage_linter()`: + Detect global variables if there are top-level dollar-assignments (#666, @AshesITR). + Report usage warnings spanning multiple lines (#507, @AshesITR). + Detect usages inside `glue::glue()` constructs (#942, @AshesITR). + Extended to include functions assigned with `=` instead of `<-` (#1081, @MichaelChirico). + Detect functions exported by packages that are explicitly attached using `library()` or `require()` calls (#1127, @AshesITR). + Improved location information in some cases where the previous regex-based approach didn't work, e.g. unicode characters in variable names (#1285, @AshesITR). + Correctly detect functions declared within `assign()` and `setMethod()` (#1322, @AshesITR). * `spaces_inside_linter()`: ignore spaces preceding trailing comments (#636, @MichaelChirico). * `T_and_F_symbol_linter()`: + Added as a default because it enforces a tidyverse style guide rule (#517, @AshesITR). + No longer lint occurrences of `T` and `F` when used for subsetting, and give a better message when used as variable names (#657, @AshesITR). * `trailing_blank_lines_linter()`: + Extended to lint files without a terminal newline (#675, @AshesITR). + Also, running `lint()` on a file without a terminal newline no longer throws a `warning()`. * `trailing_whitespace_linter()`: + Extended to also lint completely blank lines by default (#1044, @AshesITR). + Added argument `allow_empty_lines` (`FALSE` by default) to toggle this behavior. + Improved so that trailing whitespace inside string literals does not trigger a lint (#1045, @AshesITR). + Added argument `allow_in_strings` (`TRUE` by default) to toggle this behavior. * `undesirable_function_linter()`: + Added new functions to `default_undesirable_functions` related to debugging (#876, @MichaelChirico): - `browser()` - `debug()` - `debugcall()` - `debugonce()` - `trace()` - `untrace()` + No longer lints `library()` and `require()` calls attaching a package with an undesired name, e.g. `library(foo)` (#814, @kpagacz and @MichaelChirico). + No longer lints undesirable symbols if they are used as names in `$` extractions (#1050, @AshesITR). + Added more explanation why certain functions might be undesirable and what alternatives to use; ditto for `undesirable_operator_linter()` (#1133, #1146, #1159, @AshesITR). ### Other noteworthy changes * `cyclocomp_linter()`: set the default `complexity_limit` to 15. This brings the default into sync with what is enforced via `default_linters` (#693, @AshesITR). * `lint_package()` now lints files in the `demo` directory by default (#703, @dmurdoch). * Moved the default lintr cache directory from `~/.R/lintr_cache` (which was a violation of CRAN policy) to `R_user_dir("lintr", "cache")`. Note that 3.0.0 is a major version update and invalidates the old cache anyway, so it can be safely deleted (#1062, @AshesITR). ## New and improved features ### New linters * `backport_linter()` for detecting mismatched R version dependencies (#506, #1316, #1318, #1319, @MichaelChirico and @AshesITR). * `duplicate_argument_linter()` similarly checks that there are no duplicate arguments supplied to function calls (#850, @renkun-ken). * `missing_argument_linter()` to check for empty (missing) arguments in function calls (#563, #1152, @renkun-ken and @AshesITR). * `missing_package_linter()` to check if packages in calls to `library()` and friends are missing (#536, #1037, @renkun-ken and @MichaelChirico). * `namespace_linter()` to check for common mistakes in `pkg::symbol` usages (#548, @renkun-ken). * `package_hooks_linter()` to run a series of checks also done by `R CMD check` on the `.onLoad()`, `.onAttach()`, `.Last.lib()` and `.onDetach()` hooks (#882, @MichaelChirico). * `pipe_call_linter()` to enforce that all steps of `magrittr` pipelines use explicit calls instead of symbols, e.g. `x %>% mean()` instead of `x %>% mean` (#801, @MichaelChirico). * `sprintf_linter()` to check for common mistakes in `sprintf()` usage (#544, #624, @renkun-ken and @AshesITR). * `unused_import_linter()` to detect unnecessary `library()` calls in R scripts (#239, @jimhester, @AshesITR). #### Google linters Google is a heavy user of lintr internally, and has developed a large set of linters improving code consistency and correcting common R usage mistakes. This release includes many of these linters that are of general interest to the broader R community. More will be included in future releases. See, e.g. #884, #979, #998, #1011, #1016, #1036, #1051, #1066, and #1067; special thanks to @MichaelChirico and @michaelquinn32. * `any_duplicated_linter()` Require usage of `anyDuplicated(x) > 0L` over `any(duplicated(x))` and similar. * `any_is_na_linter()` Require usage of `anyNA(x)` over `any(is.na(x))`. * `class_equals_linter()` Prevent comparing `class(x)` with `==`, `!=`, or `%in%`, where `inherits()` is typically preferred. * `condition_message_linter()` Prevent condition messages from being constructed like `stop(paste(...))` (where just `stop(...)` is preferable). * `conjunct_test_linter()` Require usage of `expect_true(x); expect_true(y)` over `expect_true(x && y)` and similar. * `consecutive_stopifnot_linter()` Require consecutive calls to `stopifnot()` to be unified into one. * `expect_comparison_linter()` Require usage of `expect_gt(x, y)` over `expect_true(x > y)` and similar. * `expect_identical_linter()` Require usage of `expect_identical()` by default, and `expect_equal()` only by exception. * `expect_length_linter()` Require usage of `expect_length(x, n)` over `expect_equal(length(x), n)` and similar. * `expect_named_linter()` Require usage of `expect_named(x, n)` over `expect_equal(names(x), n)` and similar. * `expect_not_linter()` Require usage of `expect_false(x)` over `expect_true(!x)`, and _vice versa_. * `expect_null_linter()` Require usage of `expect_null(x)` over `expect_equal(x, NULL)` and similar. * `expect_s3_class_linter()` Require usage of `expect_s3_class(x, k)` over `expect_equal(class(x), k)` and similar. * `expect_s4_class_linter()` Require usage of `expect_s4_class(x, k)` over `expect_true(methods::is(x, k))`. * `expect_true_false_linter()` Require usage of `expect_true(x)` over `expect_equal(x, TRUE)` and similar. * `expect_type_linter()` Require usage of `expect_type(x, t)` over `expect_equal(typeof(x), t)` and similar. * `fixed_regex_linter()` Require `fixed = TRUE` or `stringr::fixed()` for regular expressions that can be expressed statically, e.g. `strsplit(x, "[.]")` can be `strsplit(x, ".", fixed = TRUE)`. + Added parameter `allow_grepl` (default `FALSE`) to toggle whether `grepl()` usages should be linted. These might be treated separately because `grepl("^x", NA)` is `FALSE`; the `startsWith()` equivalent to get `FALSE` for missing input is clunkier, but more explicit: `!is.na(x) & startsWith(x, string)` (#1376, @MichaelChirico). * `ifelse_censor_linter()` Require usage of `pmax()` / `pmin()` where appropriate, e.g. `ifelse(x > y, x, y)` is `pmax(x, y)`. * `inner_combine_linter()` Require inputs to known-vectorized functions to be combined first rather than later, e.g. `as.Date(c(x, y))` over `c(as.Date(x), as.Date(y))`. * `literal_coercion_linter()` Require using correctly-typed literals instead of direct coercion, e.g. `1L` instead of `as.numeric(1)`. * `nested_ifelse_linter()` Prevent nested calls to `ifelse()` like `ifelse(A, x, ifelse(B, y, z))`, and similar. * `numeric_leading_zero_linter()` Require a leading `0` in fractional numeric constants, e.g. `0.1` instead of `.1`. * `outer_negation_linter()` Require usage of `!any(x)` over `all(!x)` and `!all(x)` over `any(!x)`. * `paste_linter()` lint for common mis-use of `paste()` and `paste0()`: + `paste0()` encouraged instead of `paste(sep = "")`. + `toString()` or `glue::glue_collapse()` encouraged instead of `paste(x, collapse = ", ")`. + Lint `sep=` passed to `paste0()` -- typically a mistake. * `redundant_ifelse_linter()` Prevent usage like `ifelse(A & B, TRUE, FALSE)` or `ifelse(C, 0, 1)` (the latter is `as.numeric(!C)`). * `regex_subset_linter()` Require usage of `grep(ptn, x, value = TRUE)` over `x[grep(ptn, x)]` and similar. * `string_boundary_linter()` Require usage of `startsWith(x, ptn)` over `grepl("^ptn", x)` or `substr(x, 1, 3) == ptn` and similar. * `strings_as_factors_linter()` Check for code designed to work before and after the `stringsAsFactors = FALSE` default change in R 4.0 by examining code for `data.frame()` usages susceptible to assumptions about the default value of `stringsAsFactors=`. * `system_file_linter()` Prevent usage like `file.path(system.file("A", package = "pkg"), "B")` where simply `system.file("A", "B", package = "pkg")` is more concise and readable. * `unreachable_code_linter()` Prevent code after `return()` and `stop()` statements that will never be reached (extended for #1051 thanks to early user testing, thanks @bersbersbers!). * `vector_logic_linter()` Require use of scalar logical operators (`&&` and `||`) inside `if()` conditions and similar. * `yoda_test_linter()` Require usage of `expect_identical(x, 1L)` over `expect_equal(1L, x)` and similar. ### Other features and improvements * **Documentation**: Reorganize linter documentation into new tag-based Rd pages (#888, #1015, @AshesITR). + Each linter has its own help page. + `?linters` also links to tag help pages, collecting linters with a similar goal. + Each linter can have multiple tags. + `available_linters()`: new function to list available linters and their tags. This feature is extensible by package authors providing add-on linters for {lintr}. + `available_tags()`: new function to list available tags. + `linters_with_tags()`: new function to help build a list of linters using tags. * **Encodings**: lintr now supports non-system character Encodings. The correct the correct encoding is auto-detected from .Rproj or DESCRIPTION files in your project. Override the default in the `encoding` setting of lintr (#752, #782, @AshesITR). * **Jenkins CI**: Support for writing comments to GitHub repo when running in Jenkins CI (#488, @fdlk). * **Performance**: Optimized performance-critical functions in lintr, such as `get_source_expressions()` resulting in about 2x speedup in our test suite and even more for complex files (#1169, #1197, #1200, #1201, #1214, @MichaelChirico and @AshesITR). Average `lint_package()` execution time is down about 30% and the median package sees about 40% improvement. * **Raw strings**: Several linters tightened internal logic to allow for raw strings like `R"( a\string )"` (#1034, #1285, @MichaelChirico and @AshesITR). * **Selective exclusion syntax**: New syntax to exclude only selected linters from certain lines or passages. Use `# nolint: linter_name, linter2_name.` or `# nolint start: linter_name, linter2_name.` in source files or named lists of line numbers in `.lintr`. Note the terminal `.` is required. Also allows for partial matching as long as the supplied prefix is unique, e.g. `# nolint: infix_spaces.` works to exclude `infix_spaces_linter` (#605, #872, @AshesITR). + Added the linter name to lintrs output to facilitate discovery of the correct name (#1357, @AshesITR). * Improved S3 generic detection for non-standard S3 generics where `UseMethod()` is called after several preceding expressions (#846, @jonkeane). * New `sarif_output()` function to output lints to SARIF output (#1424, @shaopeng-gh) * `extraction_operator_linter()`: no longer lint `x[NULL]` (#1273, @AshesITR). * `is_lint_level()`: new exported helper for readably explaining which type of expression is required for a custom linter. Some linters are written to require the full file's parse tree (for example, `single_quotes_linter()`). Others only need single expressions, which is more cache-friendly (most linters are written this way to leverage caching) (#921, @MichaelChirico). * `lint_dir()` excludes the `renv` and `packrat` directories by default (#697, @AshesITR). * `lint()`: new optional argument `text` for supplying a line or lines directly, e.g. if the file is already in memory or linting is being done _ad hoc_ (#503, @renkun-ken). * `seq_linter()`: improve lint message to be clearer about the reason for linting (#522, @MichaelChirico). * `unneeded_concatenation_linter()`: + Correctly considers arguments in pipelines (`%>%` or `|>`; #573, #1270, @michaelquinn32 and @AshesITR). + New argument `allow_single_expression`, default `TRUE`, toggling whether `c(x)` should be linted, i.e., a call to `c()` with only one entry which is not a constant. In some such cases, `c()` can simply be dropped, e.g. `c(a:b)`; in others, the parentheses are still needed, e.g. `-c(a:b)` should be `-(a:b)`; and in still others, `c()` is used for the side-effect of stripping attributes, e.g. `c(factor(letters))` or `c(matrix(1:10, 5, 2))`. In this last case, `c()` can (and should) in most cases be replaced by `as.vector()` or `as.integer()` for readability. In fact, we suspect it is _always_ preferable to do so, and may change the default to `allow_single_expression = FALSE` in the future. Please report your use case if `as.vector()` does not suit your needs (#1344, @MichaelChirico). * `use_lintr()`: new exported helper for creating a minimal `.lintr` configuration (#902, @AshesITR). * `xml_nodes_to_lints()`: new exported helper for converting `xml_node` objects obtained using linter logic expressed in XPath into `Lint` objects (#1124, #1216, #1234, @MichaelChirico and @AshesITR). ## Bug fixes * **RStudio**: Source markers are cleared when there are no lints (#520, @AshesITR). * Error message for mismatched starts and ends of exclusion ranges is now more helpful. (#571, #860, @AshesITR and @danielinteractive). * Improved location information for R parse errors (#894, #892, @renkun-ken and @AshesITR). * `get_source_expressions()`: + Fix possible error on invalid XML produced by `xmlparsedata::xml_parse_data()` (#559, @renkun-ken). + Fix handling zero-length variable name error (#566, @renkun-ken). + Malformed Rmd files now cause a lint instead of an error (#571, @AshesITR). + No longer fails if `getParseData()` returns a truncated (invalid) Unicode character as parsed text (#815, @leogama). + Fixes the `text` value for `STR_CONST` nodes involving 1- or 2-width octal escapes (e.g. `"\1"`) to account for an R parser bug (https://bugs.r-project.org/show_bug.cgi?id=18323; #1056, @MichaelChirico). + Handle Rmd inputs containing unevaluated code blocks with named format specifiers (#472, @russHyde). * `line_length_linter()`: fix a bug causing duplicate lints for lines containing multiple expressions (#681, @AshesITR). * `lint_package()`: + Warns and returns `NULL` if no package is found (instead of giving a peculiar error message; #776, @MichaelChirico). + Stricter about what is considered to be a package -- folders named `DESCRIPTION` are ignored (#702, @MichaelChirico). * `linters_with_defaults()` (formerly `with_defaults()`): + No longer duplicates the `lintr_function` class when it is already present (#511, @AshesITR). + Warns if a named argument is `NULL` but its name is not in `defaults` (#1049, @AshesITR). * `linters_with_defaults()` handles automatic naming of very long arguments correctly (#774, @MichaelChirico). * `save_cache()` will now recursively create the cache directory; this avoids errors that could arise if any parent directories do not exist (#60, @dankessler). * `spaces_left_parentheses_linter()`: fix a bug causing warnings like "In `parent == parent[before_operator_idx]` longer object length is not a multiple of shorter object length" in nested expressions (#654, @AshesITR). ## Internals * Added a new, more restrictive test workflow - `test-package` - that fails on warnings emitted by tests (#1263, #1272, @AshesITR). * Added a secondary, more restrictive lint workflow - `lint-changed-files` - for newly written / modified code (#641, @dragosmg). * Several optional `Imported` packages have become `Suggested` dependencies: `httr`, `testthat`, and `rstudioapi`. This should allow snappier CI builds for usages not relying on some more "peripheral" features of the package. * Special thanks to @bersbersbers for early testing on the 3.0.0 changes. * Switched CI from Travis to GitHub Actions, using the full tidyverse recommended `R CMD check`. Code coverage and linting are implemented using separate GitHub Actions workflows (#572, @dragosmg). * Updated R CMD GitHub Actions workflow to check for R 3.6 on Ubuntu, instead of R 3.3, and for R 4.0 on Windows, instead of R 3.6 (#803, @ dragosmg). * `lintr` now uses the 3rd edition of `testthat` (@MichaelChirico, @AshesITR, #910, #967).
ChangeLog: Version 1.45 - shows a rotating cursor in search dialog - update build scripts to autoconf 2.71 and automake 1.16.5 (for Ubuntu 22.04) - removed the intl directory and allow to build Xfe with external gettext - fixed problem of wrong panel sizes when switching from vertical to horizontal panels - beautified code using uncrustify - added a new root authentication mode using pkexec (to use it, the pkexec package must be installed on the system) and also added the associated policy file org.xfe.root.policy - fixed the problem of opening too many windows when selected items have different associations (bug #254) - added a timeout parameter for mount point not responding mechanism - fixed the mechanism that detects mount points that are not responding - added cifs to file system mounts that are checked for up / down state - fixed the problem that links to executable text file are executed when the "Don't execute text files" option is enabled (bug #264) - select image in XFileImage (xfi) file list when opening an image file (bug #262) - fixed the failing 'make check' (bug #257) - updated xferc.in with .json and .policy file types - fixed imprecise error message when attempting to create a folder and a file/folder with the same name already exists - added Dark color theme - added new menu item "Copy name(s)" (shortcut Ctrl-Shift-N) to allow copying file names (without path) to clipboard - removed deprecated register directive - updated brazilian portuguese translation (thanks to Vinicius <megaphantomx@hotmail.com>> - updated russian translation (thanks to Bogdan V. Kilin <bkilin@ya.ru>) - updated czech translation (thanks to David Vachulka <arch_dvx@users.sourceforge.net> - fixed a regression that broke the "Save as" operation in Xfw - try to show Xfe window later to avoid black transient window - disabled the hassubdir() function because it is too slow on network drives Version 1.44 (released 14/03/2021) - fixed segmentation fault when Xfe can't find the default xferc (bug #255) - removed CDE color theme and renamed GNOME2 and KDE3 color themes to GNOME and KDE - refreshed default, gnome, kde and xfce icon themes and removed old tango, windows, xfe and gnomeblue icon themes - switched arrange by row and arranged by columns in icon lists - enter target directory in root mode, when invoked from an error message - updated Gnome icons for LibreOffice / OpenOffice documents - fixed loss of data in full disk partition with xfw (bug #245) - fixed copy/paste between xfe windows requires source window to be open (bug #247) - fixed wrong position of the '(copy)' suffix when a folder name contains a dot - fixed root mode not working in FreeBSD (bug #237) - fixed unzip not working in FreeBSD (bug #236) - fixed window & icon title wrong when path contains hidden directory (bug #243) - updated Catalan translation (thanks to Pere Orga <pere@orga.cat>) - updated Turkish translation (thanks to yaşar çiv <yasarciv67@gmail.com>) - fixed a compilation warning with gcc 8 in Properties.cpp - set focus to main window when closing command window, help or search dialog - updated documentation to add instructions for HiDPI support - changed the hand cursor to a more modern shape - implemented HiDPI support and added the Edit / Preferences / Appearance / DPI option that allows to manually set the screen resolution. For a Ultra HD monitor (4K), a value of 200 - 240 dpi should be fine - renamed Edit / Preferences / Themes to Edit / Preferences / Appearance - vertically centered toolbar buttons in Xfe, Xfi, Xfp and Xfw - execution of text files (e.g. script shells) do not support startup notification - implemented custom sudo/su commands - fixed the wrong number of selected files/folders in file panels - added an option to prevent the execution of text files - it is now possible to open/view multiple files in single click mode - fixed the middle mouson button view command in single click mode - changed st terminal name to "Xfe" - upgraded st terminal to version 0.8.2
1.9.13.p2 (2023-02-27) What's new in Sudo 1.9.13p2 * Fixed the --enable-static-sudoers option, broken in sudo 1.9.13. GitHub issue #245. * Fixed a potential double-free bug when matching a sudoers rule that contains a per-command chroot directive (CHROOT=dir). This bug was introduced in sudo 1.9.8.
# rgl 1.0.1 ## Major changes * The long promised deprecations of the `rgl.*` functions have happened. Now deprecated: `rgl.abclines`, `rgl.bbox`, `rgl.bg`, `rgl.clear`, `rgl.clipplanes`, `rgl.close`, `rgl.light`, `rgl.lines`, `rgl.linestrips`, `rgl.material`, `rgl.open`, `rgl.planes`, `rgl.points`, `rgl.quads`, `rgl.select3d`, `rgl.set`, `rgl.setAxisCallback`, `rgl.sprites`, `rgl.surface`, `rgl.texts`, `rgl.triangles`, and `rgl.viewpoint`. * A vignette "Deprecating the `rgl.*` interface" has been added. * Also deprecated: `elementId2Prefix`, `writeWebGL` ## Minor changes * Since `rgl.material` is deprecated and no longer contains the list of material types in its argument list, `rgl.material.names` and `rgl.material.readonly` have been added. * Similarly, `rgl.par3d.names` and `rgl.par3d.readonly` contain lists of properties that may be set or queried in `par3d()`. * The flexibility improvements for `surface3d()` in 0.111.6 were incomplete. * Argument `flip` has been added to `surface3d()` to allow front and back to be switched. # rgl 0.111.6 ## Minor changes * Added a panning example to the help page for `setUserCallbacks()`. * Replaced all calls to `sprintf` from C/C++ code with calls to `snprintf`. * `surface3d` and `rgl.surface` are now more flexible, allowing any of the 3 coordinates to be a vector or matrix as long as at least one is a matrix. * `material3d` can now specify an `id` to query properties for individual objects. * Since `rgl.material` is soon to be deprecated and no longer contain the list of material types in its argument list, `rgl.material.names` and `rgl.material.readonly` have been added. * Similarly, `rgl.par3d.names` and `rgl.par3d.readonly` contain lists of properties that may be set or queried in `par3d()`. * Made some examples conditional on interactive use to save time on CRAN. ## Bug fixes * Default mouse modes used when a window is opened by an `rgl.*` call (which is not recommended!) now match the defaults in `rgl::r3dDefaults`. * Missing values could cause `surface3d()` to segfault. * The C source code for `gl2psGetFileFormat` missed declaring a prototype. # rgl 0.110.2 ## Major changes * Material property `"blend"` has been added, to allow various kinds of blending for semi-transparent objects (issue #245). ## Minor changes * The `Buffer` object now handles reading of sparse accessors. * Low level drawing of primitives has been made more memory efficient. This is only likely to make a noticeable change with very large objects, where R was running out of memory because of unnecessary duplication. (Related to issue #260.) * Recycling of x, y and z vectors in several functions is more consistent. * The `polygon3d()` function now chooses coordinates automatically, as `triangulate()` does (PR #262.) * The `mtext3d()` and related functions such as `title3d()` now accept language objects other than expressions, as `plotmath3d()` always has (issue #273). ## Bug fixes * The bounding box could be calculated incorrectly if data all had large values (issue #250). * Shiny displays failed to load the shaders (issue #249). * `transform3d()` failed due to missing argument (issue #253). * `readOBJ()` is now more flexible in what kinds of separators it will accept. (issue #258). * Failure to initialize could cause a segfault. * On non-macOS platforms, gray-scale textures failed to display, with a message about an invalid enumerant. * The third coordinate for `adj` that was added in 0.108.3 was not rendered properly in `rglwidget()` displays of text. This sometimes caused text to disappear when it was near the far limit of the display (issue #269). * The X11 error fix in 0.109.6 could result in R freezing in `Rcmdr`. * Low level drawing functions are now more consistent about returning an invisible `NULL` if asked to plot zero items, rather than raising an error or crashing (issue #274). * Calling `axis3d()` with no ticks or labels no longer triggers an error, it now silently returns `NULL`. # rgl 0.109.6 ## Minor changes * `rglwidget()` displays now act on "pointer" events, not just "mouse" events, so they should be more usable on touch screens and tablets (PR #240). ## Bug fixes * Plotting `scene3d()` objects didn't handle suppressed axes properly, drawing the default axis instead (issue #241). * On some systems using X11, `rgl` would segfault when the "fixed" font was not found. * X11 errors could cause R to abort. # rgl 0.109.2 ## Major changes * Changes to support glTF animation: - Handling of `embedding = "modify"` for the model matrix has changed. Now the centering step is only done for `embedding = "replace"`. In addition, various bugs have been fixed. - If a subscene has no lights defined, the lights from the parent are used. - `plot.rglscene()` now ends with the root subscene as current. It also allows specification of `open3d()` parameters in a list. - The `MATn` types in `Buffer` are returned as arrays with dim `c(n, n, count)`. - The `plot3d.rglscene` method now passes `...` to `open3d()`. - The `setUserShaders()` function now allows arrays of 4x4 matrices as "uniforms", and allows additional textures to be specified. * `sprites3d()` now has the option of `rotating = TRUE`, to allow 3D sprites to rotate with the scene. * Added `getShaders()` function to get shaders used in WebGL. * Now detects if `rgl` is running within `reprex::reprex()` and if so arranges that a screenshot will be included in the output. * Added default shaders to be used in `rglwidget()`, rather than constructing them on the fly. This incompatibly affects the use of lights and clipping planes with user shaders: their data is now stored in arrays rather than multiple numbered variables. ## Minor changes * Now that `pkgdown` 2.0.0 has been released, a number of internal workarounds to support the development version have been removed. * Added `as.mesh3d()` methods for `"rglsubscene"` and `"rglscene"`. * `open3d()` now handles `useNULL` and `silent` arguments passed in `params`. * Controls passed to `playwidget()` may now include a component specifying HTML dependencies. * Added `rglwidgetClass.readAccessor()` method to let other code use the buffering. * Changed the internal organization of bounding box calculations. * All functions that produce meshes now accept material properties. Newly modified to do so using the `...` argument: `cylinder3d()`, and `getBoundary3d()`. * Updated the system requirements and installation instructions. * Solid bounding box decorations now try harder to display 3 faces (issue #206). * Now that `webshot2` is on CRAN, instructions for installing it from Github have been removed. * Sometimes `webshot2` snapshots are very slow, so the default for the `webshot` argument to `snapshot3d()` now depends on the `RGL_USE_WEBSHOT` environment variable, using `TRUE` if it is unset. (Reported by Prof. B. D. Ripley.) * If the Chrome browser is not found, `snapshot3d(webshot = TRUE)` now issues a warning and reverts to using `rgl.snapshot()`. * Buffers now use "normalized integers" to store color or texture coordinate values that lie between 0 and 1 when it saves some space. * At the request of CRAN, the `akima` package is no longer suggested. ## Bug fixes * `as.mesh3d.rglobject()` didn't handle objects with indices properly. * In WebGL, the front vs back calculation sometimes got the wrong result (issue #164). * `pop3d(tag = x)` did not always find the objects with `tag == x` if they were not in the current subscene. * The default values for `front` and `back` in `rgl.material` and `material3d` are now `"filled"`, as documented in some places. * The `fog` setting wasn't handled properly by `bg3d()`. * Numerous cases of partial argument matching were fixed (suggestion of Henrik Bengtsson in issue #170.) * Argument `col` is accepted as a synonym for `color` in `material3d()` and `rgl.material()`. * `planes3d()` objects were not displayed consistently in `rgl` windows and WebGL displays, because the bounding boxes were not computed consistently (issue #169). * Some initialization wasn't done properly in Shiny apps, so they failed after a redraw (issue #173). * Buffers are now optional, as they don't work with Shiny scene changes (also issue #173). * The NULL device would sometimes miscalculate the bounding box. * `selectpoints3d(closest = TRUE)` selected too many points when multiple objects were in the scene. * Clearing nested subscenes could cause a segfault and crash. * In `knitr` and `rmarkdown`, blank plots could be shown when `par3d(skipRedraw=TRUE)` was set (issue #188). * Objects drawn with `sprites3d()` weren't lit correctly in WebGL (issue #189). * Objects with textures were sometimes drawn more than once, both before the texture loaded and after. This was most noticeable for objects with user textures. * Axis mode `"pretty"` got lost when scenes were redrawn. * Tick labels were sometimes lost in WebGL displays and `snapshot3d()` results (issue #197). * The new material properties from 0.107.10 and 0.108.3 were not handled properly by `plotmath3d()`. * `rglMouse()` did not set the default value of the drop-down selector properly (issue #213). * `merge.mesh3d()`, used by `filledContour3d()`, didn't handle colors properly (issue #212). * `bg3d(sphere = TRUE)` has been fixed (issue #207). * Textures were not appearing on spheres, and front-back differences weren't being rendered (issue #217). * When "knitting" within RStudio under R 4.2.0 on Windows, `rgl` scenes didn't appear (reported by Dieter Menne.) A workaround has been added. * In `rglwidget()`, axis labels were not always displayed, and did not move with solid bounding box decorations properly (issue #206). * On some systems, `lines3d()` using both missing values and transparency did not draw properly (issue #234, originally reported by Gaspar Jekely). * The `rglShared()` example failed when `crosstalk` was uninstalled. # rgl 0.108.3.2 ## Bug fixes * Changes introduced in 0.100.50 lacked checks; these caused segfaults in Windows with R 4.2.0 and RStudio (issue #208). * A typo caused problems loading fonts on some systems. # rgl 0.108.3 ## Major changes * Added `getBoundary3d()` function to extract the boundary edges of a mesh. * Added material property `tag`, a string associated with each object. The value is reported by `ids3d(tags = TRUE)` and may be used to select objects in most functions that use ids, but otherwise is largely ignored by `rgl`. The `tagged3d()` function returns information on tags. * Primitive types (points, lines, segments, triangles, quads) can now accept an `indices` parameter, similar to the indices in `mesh3d` objects. * Added `Buffer` object, based on glTF design, for holding binary data for `rglwidget()`. ## Minor changes * Allowed for a third coordinate in `text3d()`'s `adj` parameter. * Added support for `adj`, `pos` and `offset` to `sprites3d()`. * Added support for `pos` values of `0` (at specified location), `5` (in front of it), and `6` (behind it) in `text3d()`, `sprites3d()` and `plotmath3d()`. * `crosstalk` is now a Suggested package, rather than a required one. * The `Makevars.ucrt` file has been modified with contributions from Tomas Kalibera to work with his `winutf8` build of R. * `bgplot3d()` no longer pauses for each page when running examples. * `deldir` version 1.0-2 is incompatible with `rgl`. Added the `checkDeldir()` function to avoid running it. * `shade3d()` treated texture coordinates like colors, and duplicated the first one for the whole face when `meshColor = "faces"` was chosen. Instead, they are now treated like vertex coordinates. (Reported by Michael Sumner in issue #145). * Corrected the documentation and made the implementations of `asHomogeneous()`, `asEuclidean()` etc. more consistent. * An `as.rglscene()` generic has been added, though no methods are defined in this package. * `downlit` 0.4.0 has been released with support for `rgl`, so instructions for installing the devel version have been removed. ## Bug fixes * Fixed rendering of text as sprites3d() objects. * Added `--static` flag to configure script for FreeType installation. (Suggestion of Simon Urbanek and Prof. Brian Ripley.) * `shade3d()`, `wire3d()` and `dots3d()` overrode `"front"` and `"back"` material settings in mesh objects. * `rglwidget()` handling of bounding box decorations had several bugs. * `rgl` could not find routines in the DLL on some Windows installs (Issue 148.) * Some cases where allocations were not protected have been fixed.
# stringr 1.5.0 ## Breaking changes * stringr functions now consistently implement the tidyverse recycling rules (#372). There are two main changes: * Only vectors of length 1 are recycled. Previously, (e.g.) `str_detect(letters, c("x", "y"))` worked, but it now errors. * `str_c()` ignores `NULLs`, rather than treating them as length 0 vectors. Additionally, many more arguments now throw errors, rather than warnings, if supplied the wrong type of input. * `regex()` and friends now generate class names with `stringr_` prefix (#384). * `str_detect()`, `str_starts()`, `str_ends()` and `str_subset()` now error when used with either an empty string (`""`) or a `boundary()`. These operations didn't really make sense (`str_detect(x, "")` returned `TRUE` for all non-empty strings) and made it easy to make mistakes when programming. ## New features * Many tweaks to the documentation to make it more useful and consistent. * New `vignette("from-base")` by @sastoudt provides a comprehensive comparison between base R functions and their stringr equivalents. It's designed to help you move to stringr if you're already familiar with base R string functions (#266). * New `str_escape()` escapes regular expression metacharacters, providing an alternative to `fixed()` if you want to compose a pattern from user supplied strings (#408). * New `str_equal()` compares two character vectors using unicode rules, optionally ignoring case (#381). * `str_extract()` can now optionally extract a capturing group instead of the complete match (#420). * New `str_flatten_comma()` is a special case of `str_flatten()` designed for comma separated flattening and can correctly apply the Oxford commas when there are only two elements (#444). * New `str_split_1()` is tailored for the special case of splitting up a single string (#409). * New `str_split_i()` extract a single piece from a string (#278, @bfgray3). * New `str_like()` allows the use of SQL wildcards (#280, @rjpat). * New `str_rank()` to complete the set of order/rank/sort functions (#353). * New `str_sub_all()` to extract multiple substrings from each string. * New `str_unique()` is a wrapper around `stri_unique()` and returns unique string values in a character vector (#249, @seasmith). * `str_view()` uses ANSI colouring rather than an HTML widget (#370). This works in more places and requires fewer dependencies. It includes a number of other small improvements: * It no longer requires a pattern so you can use it to display strings with special characters. * It highlights unusual whitespace characters. * It's vectorised over both string` and `pattern` (#407). * It defaults to displaying all matches, making `str_view_all()` redundant (and hence deprecated) (#455). * New `str_width()` returns the display width of a string (#380). * stringr is now licensed as MIT (#351). ## Minor improvements and bug fixes * Better error message if you supply a non-string pattern (#378). * A new data source for `sentences` has fixed many small errors. * `str_extract()` and `str_exctract_all()` now work correctly when `pattern` is a `boundary()`. * `str_flatten()` gains a `last` argument that optionally override the final separator (#377). It gains a `na.rm` argument to remove missing values (since it's a summary function) (#439). * `str_pad()` gains `use_width` argument to control whether to use the total code point width or the number of code points as "width" of a string (#190). * `str_replace()` and `str_replace_all()` can use standard tidyverse formula shorthand for `replacement` function (#331). * `str_starts()` and `str_ends()` now correctly respect regex operator precedence (@carlganz). * `str_wrap()` breaks only at whitespace by default; set `whitespace_only = FALSE` to return to the previous behaviour (#335, @rjpat). * `word()` now returns all the sentence when using a negative `start` parameter that is greater or equal than the number of words. (@pdelboca, #245) # stringr 1.4.1 Hot patch release to resolve R CMD check failures.
2.6.0 (2023-06-07) What's Changed * Fix trasient typo; make general syntax and punctuation edits to readme by @ColinDKelley in #235 * Better error handling when scheduler is closed. by @ioquatix in #240 * Delegate to Fiber#annotate where possible. by @ioquatix in #241 * Fix handling of stop stopping the stopping task. by @ioquatix in #242 * Strip device suffix before resolving hostname. by @ioquatix in #243 New Contributors * @ColinDKelley made their first contribution in #235 2.6.1 (2023-06-09) What's Changed * Ensure transient tasks are correctly terminated. by @ioquatix in #245
1.9.13.p2 (2023-02-27) What's new in Sudo 1.9.13p2 * Fixed the --enable-static-sudoers option, broken in sudo 1.9.13. GitHub issue #245. * Fixed a potential double-free bug when matching a sudoers rule that contains a per-command chroot directive (CHROOT=dir). This bug was introduced in sudo 1.9.8.
Link with libsocket where needed (#234) by @amigadave in #235 Remove libsoup from doc and CI by @janbrummer in #238 Fix coverity findings by @janbrummer in #241 Add a comment that docs option needs introspection by @janbrummer in #242 Set pac data after download only by @janbrummer in #244 Fix race condition in px_manager_get_proxies_sync by @janbrummer in #245 Update gobject dependency in pkgconfig file by @floppym in #239 Reread env variables in each get_config call by @janbrummer in #246 Bump version to 0.5.2 by @janbrummer in #247
pkgsrc: patch away libgit2 mismatch for now. ⛰️ Features (changelog) [breaking] Add postprocessors (#155) - (5dc5fb7) 🐛 Bug Fixes (cd) Do not publish release notes for pre-releases (#249) - (7a82aa1) (cd) Disable win32-arm64 PyPI builds - (baf34a8) (deps) Avoid problematic serde release - (87f74bc) (examples) Add missing newline (#253) - (aad4222) (informer) Do not inform about pre-releases (#249) - (87e47e6) Fix previous release references - (fbb605e) 🚜 Refactor (clippy) Apply clippy suggestions - (4c09759) (clippy) Apply clippy suggestions - (a814bbe) (config) Use a macro for generating commit list - (c695ca3) (docker) Avoid copying volume inside container (#142) - (65d365c) (lib) Use implicit serde imports - (c8cf855) 📚 Documentation (blog) Add blog post for 1.3.0 release (#264) - (93d4aa4) (example) Update the header of configuration examples - (0bf5ebe) (example) Add example for generating changelog similar to cocogitto - (e1cf26e) (readme) Add contributors graph - (3c9ced0) 🎨 Styling (config) Further beautify the changelog in this repo - (fd7446c) (config) Apply formatting to configuration files - (e9aa991) Fix formatting - (14725e5) 🧪 Testing (changelog) Add cases for docs: prefix (#167) - (3a717e2) (repo) Add an informative error message to failing test - (7d7470b) Fix keep a changelog test case - (0a6ed62) Fix keep a changelog test case - (f5d3365) ⚙️ Miscellaneous Tasks (cargo) Update MSRV to 1.70.0 - (1068912) (cd) Use the latest git-cliff-action for releases - (3eb97b8) (cd) Support creating prereleases on GitHub - (a22426a) (config) Add additional parsers for default config - (b745778) (config) Update configuration for alpha/beta/rc releases - (7e7e5a7) (config) Skip dependency updates in the changelog - (b2edc23) (core) Make git2 optional - (5fdf39a) (docker) Update versions in Dockerfile - (0ccab91) (github) Add config for welcome bot - (a4725d4) (mergify) Rename mergify configuration file - (9fd1be6) (mergify) Add configuration file for automatic merge (#245) - (0a79aae) (pypi) Publish git-cliff on PyPI (#158) - (2b7a1ef) Check without default features - (e323621)
v0.15.2 Changes - HOTFIX: revert windows crate's version to 0.44.0 (6d3a2ea) v0.15.1 What's Changed - Make it possible to enable streaming only in daemon mode by @Schnouki in #242 - Add support for getting track's data from CLI get command by @aome510 in #245 - Add player event hook command by @aome510 in #244 - filter out unplayable/unavailable tracks by @rileyallyn in #207 - Optimize CLI command runtime by @aome510 in #249 - Update player_event_hook_command usage by @aome510 in #251 - Set PulseAudio app properties using environment variables by @Schnouki in #252 - Consistent Spotify naming by @jacksongoode in #256 - Add audio normalization device config option by @jsbmg in #255 - Add Mute command by @BKasin in #253 - Improve rendering performance for liked tracks page by @aome510 in #262 - [Windows]: Create dummy window to handle media control by @rashil2000 in #261
This is the biggest update ever, with 36 new features, 24 bug fixes, and 3 performance improvements. Thank you to every contributor for making Yazi better and better! What's Changed feat: add Mintty (Git Bash) image preview support by @sxyazi in #103 refactor: use Url instead of PathBuf by @sxyazi in #107 fix: mime of javascript by @XYenon in #106 perf: load large folders in chunks by @sxyazi in #117 fix: set cursor block after closing input prompt from insert mode by @auvred in #109 fix: doesn't redirect the stderr of the clipboard command to null by @sxyazi in #119 feat: suspend process (Ctrl-Z) by @sxyazi in #120 fix: notification of file changes in linked directories by @sxyazi in #121 feat: file size sorting under the simplified file system by @sxyazi in #123 fix: show_hidden not properly applied to hovered folder by @sxyazi in #124 fix: recognize symlink directories as files by @sxyazi in #125 fix: respect symlink paths without canonicalizing them by @sxyazi in #126 feat: make Input streamable by @sxyazi in #127 perf: doesn't wait for the process of killing by @sxyazi in #128 feat: find by @sxyazi in #104 feat: tab-specific sorting by @sxyazi in #131 feat: new V, D, C keybinding for Input component by @sxyazi in #139 fix: swap description for search commands by @knutwalker in #141 fix: image position calculation by @sxyazi in #144 feat: support for image preview within tmux by @sxyazi in #147 feat: show keywords when in search mode by @sxyazi in #152 feat: fallback to built-in highlighting if jq is not installed by @ndtoan96 in #151 feat: make the glob expr case insensitive by default, and prepend \s to make it sensitive by @sxyazi in #156 fix: check relative path on expand_path by @sxyazi in #165 feat: support for FreeBSD permission type by @yggdr in #169 feat: multiple openers for a single rule by @Linus789 in #154 fix: leave upwards only if an IO error occurs in current by @sxyazi in #172 docs: add archlinuxcn installation guide by @Integral-Tech in #176 fix: image preview not working on Zellij by @Eric-Song-Nop in #181 feat: make trash optional by @sxyazi in #178 fix: inconsistent Shift key behavior on Unix and Windows by @ndtoan96 in #174 feat: new force option added for the remove command, which does not show the confirmation dialog on trashing/deleting by @sxyazi in #173 fix: typo of LICENSE file by @conradojordan in #201 feat: add flake.nix by @XYenon in #205 feat: include ignored files on search when hidden files are shown by @PhotonQuantum in #212 feat: new orphan option for opener rules, to keep the process running even when Yazi exited by @sxyazi in #216 feat: scroll half/full page with arrow percentage supported, and new Vi-like <C-u>, <C-d>, <C-b>, and <C-f> keybindings added by @TD-Sky in #213 feat: highlight matching words on finding by @PhotonQuantum in #211 feat: add BackTab support by @sxyazi in #209 fix: set stdio to null when orphan is true by @sxyazi in #229 feat: new force option for creating and renaming by @sxyazi in #208 feat: loop through to find by @ndtoan96 in #234 feat: backward/forward by @ndtoan96 in #230 perf: reimplement optimized natural sorting algorithm, speed up ~6 times for case-insensitive sorting by @sxyazi in #237 chore: changing the finding key to n/N to keep with Vim's conventions by @sxyazi in #238 feat: added new options to the `find' command for smart-case/ case-insensitive finds by @ndtoan96 in #240 feat: add new --no-cwd-file option to quit command for flexible cwd-file setting by @XOR-op in #245 fix: avoid adding non-regular paths to backstack by @ndtoan96 in #249 fix: support RGBA16 images by @sxyazi in #250 feat: support trash for NetBSD by @sxyazi in #251 feat: support environment variable in cd path by @ndtoan96 in #241 feat: new theme system by @sxyazi in #161 fix: cannot cd if there is whitespace in path by @ndtoan96 in #255 fix: add application/x-wine-extension-ini to text mime by @ndtoan96 in #259 fix: collect and fix all hard coded themes and color by @Eric-Song-Nop in #221 fix: some colors not readable in light mode by @sxyazi in #264 feat: better file hover state by @sxyazi in #269 refactor: split commands into separate files by @sxyazi in #272 feat: cancel selected items automatically on entering, leaving, copying, or cutting by @sxyazi in #273 feat: add a new Bar component, and make border styles customizable by @sxyazi in #278 fix: adapt another $TERM value of foot-extra for foot by @sxyazi in #277 refactor: simplify building conditions by @sxyazi in #280 chore: add git rev to nix pkg version by @XYenon in #206 feat: new Manager component for better style extensions by @sxyazi in #284 feat: cross-system opener rule support by @sxyazi in #289 fix: delegate the SIGINT signal of processes with orphan=true to their parent by @sxyazi in #290 feat: line mode by @sxyazi in #291 feat: shell completions & auto releasing by @TD-Sky in #282
[1.0.0] - 2023-11-07 A quick note to any packages. The generated shell completions and man page are now in the gen directory of the repo. They're also included in the pre-built release artifacts on the releases page. Improvements #115 Do not replace symlink with output file (@SimplyDanny) Fixes an issue where a symlink would be replaced with a regular file #124 Fix tests (@Linus789) Removed displaying the file path when passing the --preview flag and fixed how text coloring was handled in tests Breaking #192 Rename --string-mode to --fixed-strings (@CosmicHorrorDev) Renamed -s --string-mode to -f --fixed-strings to better match similar tools -s and --string-mode will still continue to work for backwards compatibility, but are no longer documented #258 Error on $<num><non_num> capture replacement names (@CosmicHorrorDev) Previously when you tried to use a numbered capture group right before some letters in the replacement text (e.g. $1foo) then it would be considered the impossible-to-use 1foo capture. The correct way to pass the numbered capture group in this case would be to surround the number with curly braces like so ${1}foo. The error just detects this case and informs the user of the issue Docs #93 Add note about in-place file modification to --help output (@jchook) #148 Doc: nitpick -- has no special meaning to shells (@hexagonrecursion) #181 Fix man page -f flag help text (@ulope) Fixed copy-pasted text in the man page's -f flag's help text #186 Improve error message for failed replacements (@CosmicHorrorDev) #187 Freshen up README (@CosmicHorrorDev) Added a repology badge to document different installation methods Improved the formatting of the benchmarks #207 Documenting $ escape (@yahkbar) Adds a section in the README that covers that $$ is a literal $ in the replacement text #227 Improve README readability (@vassudanagunta) Various formatting improvements #231 Use clap_mangen and roff to generate manpage (@nc7s) This change ensures the man page contents stay in sync with the CLI automatically, and fixes some broken rendering of the existing manpage #243 Exclude unsupported packages from the repology badge (@CosmicHorrorDev) Pre-built Releases (11295fb) Add ARM target (@chmln) Added the arm-unknown-linux-gnueabihf target to CI and releases #114 Adding aarch64-apple-darwin target (@yahkbar) #143 Fix paths to release binary in "publish" action (@skrattaren) #179 Build Adjustments (@yahkbar) striped release binaries and added the aarch64-ubuntu-linux-musl target #204 Adding armv7-unknown-linux-gnueabihf target (@yahkbar) Added the armv7-unknown-linux-gnueabihf target to the list of targets to build in CI and for each release #205 Resolving broken aarch64-apple-darwin tests (@yahkbar) Switched aarch64-apple-darwin to only try building the executable without running the tests since there seems to be no easy way to test for ARM Apple targets #206 Adding Windows builds back (@yahkbar) Added the x86_64-pc-windows-gnu and x86_64-windows-musl targets back to the list of targets to build in CI and for each release Internal #118 Fix master (@SimplyDanny) Fixes several cross-compilation issues that effected different targets in CI #182 cargo update (@CosmicHorrorDev) Bumps dependencies to their latest compatible versions #183 Switch memmap -> memmap2 (@CosmicHorrorDev) Switches away from an unmaintained crate #184 Add editor config file matching rustfmt config (@CosmicHorrorDev) Adds an .editorconfig file matching the settings listed in the .rustfmt.toml file #185 Fix warnings and clippy lints (@CosmicHorrorDev) #188 Switch atty for is-terminal (@CosmicHorrorDev) Switches away from an unmaintained crate #189 Replace structopt with clap v4 (@CosmicHorrorDev) Switches away from a defacto deprecated crate #190 Change how all shell variants are expressed (@CosmicHorrorDev) Tiny tidying up PR #196 Move generating static assets to a cargo-xtask task (@CosmicHorrorDev) Moves the generation of the man page and shell completions from a build script to a cargo-xtask task #197 Add a release checklist (@CosmicHorrorDev) #209 Dependency updates (@yahkbar) #235 Update generated assets (@CosmicHorrorDev) #236 Tone down dependabot (@CosmicHorrorDev) #245 Update sd to 2021 edition (@CosmicHorrorDev) Updates sd to the Rust 2021 edition #248 Misc Cargo.toml tweaks (@CosmicHorrorDev) Switches to use workspace edition and dependencies where appropriate #249 Resolve CI warnings (@CosmicHorrorDev) Switched from actions-rs actions to dtolnay@rust-toolchain Switched from using ::set-output to $GITHUB_ENV #251 Update dependencies (@CosmicHorrorDev) A lot of sad CI tweaking: #252 Fix build target usage in CI (@CosmicHorrorDev) #253 Improve publishing CI job (@CosmicHorrorDev) #256 More CI tweaks (@CosmicHorrorDev) #257 Fix publish action (@CosmicHorrorDev) #267 Rework the replacements flag (@CosmicHorrorDev) #269 Make modified text blue instead of green (@CosmicHorrorDev) #271 Fix release checklist indentation (@CosmicHorrorDev) #272 Remove outdated release checklist step (@CosmicHorrorDev) #274 Prepare 1.0.0-beta.0 release (@CosmicHorrorDev) #275 Update sd version in lockfile (@CosmicHorrorDev)
v32 (October 01, 2023) Changes: - Removed legacy multi-frame loaders. Animated image support now requires Imlib2 v1.8.0 or above. - Move loading/caching messages to right side bar #446 - Set a default delay if delay is 0 in a multi-frame image #445 - config.mk: default to -O2 #435 - config.mk no longer explicitly sets CC to c99 #455 - Assertions are now opt-in and requires explicitly defining DEBUG #447 Added: - Added a pick-quit key-binding #432 - Ability to configure Xresources class name in config.h #427 - --version output now also includes compiled-in feature list #462 - Document handling of empty X resources values #428 - Experimental flag --bg-cache to generate thumbnail cache in a background process #438 Fixes: - Changing brightness/contrast on multi-frame images #440 - Brightness keybindings on manpage #467 - Various autoreload bugs #437, #459, #460 - *-info scripts not updating when selecting thumbnail with mouse #477 - Updated openbsd configuration in config.mk #453 - Memory leak in win_draw_bar #444 - Thumbnail leak when removing the last file #423 v31 (January 28, 2023) Changes: - Uncritical files moved to etc/. #350 - Empty Xresource entry will now be ignored. #340 - win-title will be read in a non-blocking manner. #314 Added: - Support for multi-frame images via Imlib2. #373 - Support for long-opts. #332 - Cli flag --anti-alias to enable/disable anti-aliasing. #361 - Cli flag --alpha-layer to enable/disable checkerboard background. #408 - Accept directory via stdin (-i) #383 - Support for modifying brightness and contrast #396 Fixes: - Build failure when _SC_PHYS_PAGES is not defined. #334 - Various statusbar issues. #353,#341 - Crashes due to faulty signal-handler. #411 - Potential memory leak in r_readdir(). #319 - Potentially printing incorrect error message. #321 - Wrong slideshow length on animated webp. #381 - Document missing Ctrl+6 binding in the manpage. #347 SPECIAL NOTE: Due to this incident we have moved development over to Codeberg. A lot of the references below may now be 404 on GitHub. Any threads which survived the wipe have been migrated over to nsxiv-record. All of the references above can be found on the new main nsxiv repository on Codeberg. v30 (June 15, 2022) Changes: - Development and main repository moved over to Codeberg. See the special note above for more info. - autoreload_{inotify,nop}.c merged into a single file, autoreload.c. #263 - Moved all configuration related macros to config.mk. #264 - win-title is now called only when there's change rather than being called on each redraw. #266 Added: - Added more mimetypes to the .desktop entry. #260 - Added thumb-info for customizing the statusbar in thumbnail-mode. #265 - Added comments for building on OpenBSD. #264 Fixes: - "Too many open file" error due to not closing the win-title script. #245 - -f now directly starts in fullscreen mode rather than opening a normal window and then going fullscreen. #251 - Broken slideshow on slow systems or fast animations. #282 - Memory leak when removing an image in thumbnail mode. #247 - Correctly setting _NET_WM_PID. #251 - Don't override statusbar if info script doesn't exist. #271 - Potential misbehavior regarding font. #250
# Version 2.3.1 * Fixed a sprintf format string for long integers. # Version 2.3.0 * `NULL` is not longer considered to be atomic in future versions of R (c.f. <https://stat.ethz.ch/pipermail/r-devel/2023-September/082892.html>). To avoid breaking reverse dependencies, checkmate will stick to the old behavior until further notice. * Fixed a warning in `checkAtomic()` (#245).
0.20.5 Replace non-JSON-standard single-quotes with double-quotes in binding.gyp by @nordlow in #240 Fixes by @amaanq in #245 0.20.4 not documented 0.20.3 fix: heredocs with many trailing file redirects by @ahlinc in #197 fix: don't expose \n rule anchors as visible anonymous nodes by @ahlinc in #198 fix: restore missed redirect field by @ahlinc in #200 fix: alias simple_heredoc_body to heredoc_body by @ahlinc in #201
[1.4.0] - 2024-06-11 Added - Structured bodies can now be defined with tags on the body field of a recipe, making it more convenient to construct bodies of common types. Supported types are: - `!json` [#242](LucasPickering/slumber#242) - `!form_urlencoded` [#244](LucasPickering/slumber#244) - `!form_multipart` [#243](LucasPickering/slumber#243) - [See docs](https://slumber.lucaspickering.me/book/api/request_collection/recipe_body.html) for usage instructions - Support multiple instances of the same query param [#245](LucasPickering/slumber#245) (@maksimowiczm) - Query params can now be defined as a list of `<param>=<value>` entries - [See docs](https://slumber.lucaspickering.me/book/api/request_collection/query_parameters.html) - Templates can now render binary values in certain contexts - [See docs](https://slumber.lucaspickering.me/book/user_guide/templates.html#binary-templates) Changed - When a modal/dialog is open `q` now exits the dialog instead of the entire app - Upgrade to Rust 1.76 Fixed - Fix "Unknown request ID" error showing on startup [#238](LucasPickering/slumber#238)
Based on PR 58426 by jonathan buschmann. ## 2.4.7 2024-05-05 ### Fixed - docs(pop): clarify --spill behavior (#445) - fix(branch): disallow branch before subcommand (#447) ### Changed - refactor: get gix-command via gix with command feature - Update gix to version 0.62 ## 2.4.6 2024-04-07 ### Fixed - fix(bash): fix completion for "committish" ### Changed - docs: Update copyright year - chore: update gix to 0.61.1 - ci: update to wix 4.0.5 ## 2.4.5 2024-02-18 ### Fixed - fix: stdout from hooks (#418) ### Changed - chore: add category and keywords to Cargo.toml - build: exclude some paths from crate - docs(readme): enumerate more package repositories - chore: update dependencies ## 2.4.4 2024-02-11 ### Fixed - fix: pass stdio for interactive editing (#415) - fix: update gix-tempfile and gix-lock to 13.1.0 (#413) ### Changed - chore: update dependencies ## 2.4.3 2024-02-04 ### Added - feat(branch): allow delete of current branch ### Fixed - fix(branch): delete branch config with branch - fix: use gix-command for interactive edit (#407) - fix: improved interactive editor diagnostics - chore: update gix to 0.58.0 (#407) - docs: fix dates in changelog ### Changed - refactor(branch): use gix to rename config section - refactor: use gix to remove stgit branch config - refactor: use gix-command for hooks - refactor: use non-deprecated indexmap methods - ci: update cargo-generate-rpm to 0.14.0 - ci: update to upload-artifact@v4 - ci: restore use of IO::Pty in MacOS build ## 2.4.2 2023-12-26 ### Changed - feat(pop): allow unescaped negative patch offsets - feat(show): allow unescaped negative patch offsets - chore: update dependencies ## 2.4.1 2023-12-10 ### Fixed - fix(zsh): short -r opt for `stg series` ### Changed - chore: update gix to 0.56.0 - chore: update transient dependencies ## 2.4.0 2023-10-08 ### Added - feat(delete): --all -A -U -H options - feat(sink): -T/--above option - feat(branch): short opts for clone and delete ## 2.3.3 2023-10-04 ### Fixed - fix(zsh): -S option for float, import, and sync - build: avoid non-portable install options - test: improved test script portability ### Changed - update dependencies ## [2.3.2] 2023-08-19 ### Fixed - fix!(uncommit): check for HEAD/top mismatch (#360) - docs: docstring spelling and formatting fixes ### Changed - feat(uncommit): print uncommited patches - pin serde to avoid using precompiled binary - update dependencies ## [2.3.1] 2023-07-25 ### Fixed - fix(zsh): typo in completion help for stg commit --all - fix: use canonical Message-ID spelling - fix(stgit.el): recognize new empty patch marker - fix(import): Keep first line break in body ### Changed - update dependencies ## [2.3.0] 2023-05-25 ### Removed - import-compressed is always enabled, no longer a feature ### Added - unofficial deb and rpm packages - msi package for Windows ### Fixed - fix(import): would panic without import-url feature - fix(import): patch numbers not stripped from name ### Changed - use bzip2-rs instead of bzip2 crate - update dependencies ## [2.2.4] 2023-05-15 ### Added - feat: Upgrade from ancient stack state formats (#235) ### Fixed - fix(branch): create based on remote branch (#317) - fix(import): lost subject lines resembling header (#321) - fix(import): subject line may be discarded ### Changed - chore: update dependencies ## [2.2.3] 2023-04-26 ### Fixed - fix: error using on Windows (#273) - fix: path handling for Windows compatibility - fix: commit-msg hook run from work root - fix: avoid "stg.exe" in usage on Windows - fix: use gitattributes to force LF endings on Windows - fix: wrap hooks with sh on Windows ### Changed - chore: update to gix 0.44.0 - chore: update other dependencies ## [2.2.2] 2023-04-01 ### Fixed - fix: rebase with '@' in ref names (#306) - fix: improved error messages for unrecognized commands ## [2.2.1] 2023-03-29 ### Changed - chore: update to clap 4.2.0 - chore: update to gix 0.43.0 - chore: pin clap minor version ### Fixed - fix(branch): allow reuse of partially deleted branch names (#290) - fix(branch): branch list alignment - fix: running hooks from worktree subdir (#295) - fix: running from linked worktree (#297) - fix(float): correct -S in usage string - fix: correctly show bold command/subcommand in overidden usage ## [2.2.0] 2023-02-24 ### Removed - feat!: remove short -s option for --submodules - fix!: patch name cannot be {base} or @ ### Added - feat: patch locator syntax - feat: locate branches using @{-N} syntax - feat(series): Add --reverse option - feat(series): options for patch offsets and indices - feat(series): --no-xxx options to override display options - feat(series): optional value for --short - feat!: short -s option for --signoff (#245) - feat(init): add -b/--branch option ### Changed - fix!: use -S as short opt for --series - feat!: constrain refresh -p to visible patches - feat(series)!: empty patch prefix changed to * - feat!: spell errors in lowercase - refactor: use gitoxide instead of git2 - refactor: use time crate instead of chrono - feat!: update to clap 4.1 - chore: update to latest dependencies ### Fixed - fix: Error if author or committer is not configured - fix: Use correct base directory for core.hooksPaths - fix(rename): colliding patch names - fix(rebase): repair rebasing to a tag (#265) - fix(branch): switch branch with detached head - docs: Repair docstrings being confused as html - docs: normalized spelling for --branch value ## [2.1.0] 2022-12-12 ### Added - feat: Configurable push conflict policy (#60) - feat: Add --committer-date-is-author-date option (#47) - feat(import): Add --3way option (#36) - feat(import): Add --directory option (#36) ### Changed - feat!: Relaxed stack initialization (#238) - feat!: Only sign stack based on stgit.gpgsign (#238) - fix!: Allow "---" separator in messages (#243) - feat: More descriptive push conflict message (#60) - feat: Avoid post-edit commits when no change - chore: Update dependencies to latest versions ### Fixed - fix: Improved error message for uninitialized stack - fix: Improve error for re-initialization attempt - fix(prev): Different error message for empty stack - fix: Accept full ref name for branches - fix(zsh): Complete --edit and --diff for stg new ## [2.0.4] 2022-11-30 ### Changed - docs: Document configuration variables - refactor: Use is-terminal instead of atty - chore: Update Cargo.lock with latest dependencies. ### Fixed - fix: Don't generate new patch name until after edit (#239) - fix: Run shell aliases from top-level of work tree - fix: Use GIT_PREFIX in built-in aliases ## [2.0.3] 2022-11-21 ### Changed - chore: Update Cargo.lock with latest dependencies. ### Fixed - fix: improved git version parsing on MacOS - fix: StGit-specific branch config handling - docs: fixed many typos ## [2.0.2] 2022-11-17 ### Changed - chore: Update Cargo.lock with latest dependencies. - docs(init): Add long help for `stg init`. ### Added - feat: Enable basic support for `extensions.worktreeconfig` to unblock sparse checkout with partial clone (#195). ### Fixed - docs: More inter-command links - docs: Normalize quoting ## [2.0.1] 2022-11-07 ### Changed - chore: Update to clap 4.0.22 ### Fixed - docs(readme): Clarify static versus dynamic linking (#230) - build: Improve Documentation build performance (#229) ## [2.0.0] 2022-11-06 ### Removed - `stg clone` is removed. Use `git clone` and `stg init` instead. - `stg mail` is replaced with `stg email format` and `stg email send`. - `stg refresh --spill` is replaced with dedicated `stg spill` command. - `stg edit` no longer accepts `-O/--diff-opts`. Custom diff options is in conflict with editable diffs since many (most?) diff options cause the diff to no long be applicable. - `stg files` no longer accepts `-O/--diff-opts`. This option was of marginal value since it only had a possible side effect when `--stat` was being used. ### Added - `stg id` now accepts the `-b/--branch` option. - `stg completion` command provides runtime support for shell completions. - `stg completion bash` generates bash shell completion script. - `stg completion fish` generates fish shell completion script. - `stg completion zsh` outputs zsh shell completion script. - `stg completion list` shows StGit commands and aliases and is used at completion-time by shell completion scripts. - `stg completion man` generates man pages in asciidoc format. - `stg email format` wraps `git format-patch` and provides a mechanism to generate patch emails and optional cover letter in mbox format. - `stg email send` wraps `git send-email` and allows sending patch emails, either from files generated by `stg email format` or by specifying patches directly. - `stg new --refresh` allows a new patch to be refreshed with changes in one step. The `-i/--index`, `-F/--force`, `-s/--submodules`, and `--no-submodules` options from `stg refresh` are also available to `stg new` when using `-r/--refresh`. - `stg series` gains the `-i/--commit-id` option to display patches' commit ids. - `stg show` diff output can now be limited to certain paths by specifying path limits on the command line. - `stg spill` replaces `stg refresh --spill`. - `stg version` gains `-s/--short` flag to show shortened version info. - Added documentation for patch range syntax to stg(1) man page. - Added `install-all` target to top-level Makefile that installs the executable, man pages, html pages, and shell completions. ### Changed - StGit is now implemented entirely in Rust instead of Python. - StGit is generally much faster; many commands are up to 4x faster. There was an emphasis on making informational commands such as `stg id`, `stg series`, and `stg top` as fast as possible to make their use in interactive contexts (shell prompts, IDE extensions) more comfortable. - StGit error messages have been updated; many have different, and hopefully better, wording. Error messages are also use color (when color is enabled). Scripts relying on exact error messages from StGit will need to be updated. - StGit output to stdout is generally more terse. Commands that change the stack such as `push`, `pop`, and `commit`, use sigils to denote the changes made to the stack. E.g. `stg commit p0..p3` will output `$ p0..p3` where the "$" sigil means that a patch, or patch range, has been committed. These are all the currently used stack change sigils: - `+` patch was pushed - `-` patch was popped - `>` patch became the current topmost patch - `&` patch was updated - `$` patch was committed - `#` patch was deleted - `@` patch was rolled-back - `!` patch was hidden - StGit aliases are now more like Git aliases. Normal aliases refer to StGit subcommands, but aliases prefixed with '!' are shell aliases that may run arbitrary commands. An example normal alias would be `git config stgit.alias.list 'series --description --empty'`. An example shell alias would be `git config stgit.alias.st '!git status --short'`. - Commands such as `stg goto`, `stg push`, and `stg pop` now require full/correct patch names on the command line and no longer accept unambiguous patch name prefixes. When an inexact patch name is provided on the command line, the error message will now suggest similar valid patch names. - Additional template search paths were added. In addition to looking for template files in .git/, also look in `$XDG_CONFIG_HOME/stgit/templates/` and `$HOME/.stgit/templates`. This search strategy is consistent with how git looks for the global config file. - The new `--signoff` patch edit option supersedes the deprecated `--sign` and `--sign-by` options. `--signoff` without its optional value does the same thing as `--sign`, while `--signoff=<value>` does the same thing as `--sign-by=<value>`. - The `--ack` and `--review` patch edit options now optionally take a value. The `--ack-by` and `--review-by` options are deprecated. - `stg branch` output is now generally less verbose. - `stg branch --describe` replaces `stg branch --description`. The `--description` subcommand remains supported as a hidden alias to `--describe`, but the description string must now be provided as its own argument; i.e. `--description="description string"` is no longer supported. - `stg branch --list` now produces colorized output. The `--color` option or `NO_COLOR` environment variable may be used to affect this behavior. - `stg branch --rename` now supports renaming regular git branches in addition to StGit-enabled branches. - `stg clean` now uses `-A` and `-U` short options for `--applied` and `--unapplied` instead of `-a` and `-u`. This is done for consistency with `stg series` and `stg show`. - `stg import` now only recognizes compressed patches by their file extension (`.bz2` or `.gz`) and no longer proactively attempts to decompress using all known decompressors. - `stg import` support for compressed input files is selectable at compile time using the `import-compressed` feature. - `stg import` support for importing from a URL is selectable at compile time using the `import-url` feature. **N.B.** there is a measurable runtime performance impact of building with `import-url` due to the unconditional, pre-main initialization of `curl` which affects **all** `stg` commands. - `stg log` now colorizes output by default. The `--color` option or `NO_COLOR` environment variable may be used to affect this behavior. - `stgit.new.verbose` changed to `stgit.edit.verbose` and now also affects edit behavior for `edit`, `refresh`, and `squash` along with `new`. - `stg new` now accepts `-e/--edit` and `-d/--diff` instead of `-v/--verbose` - `stg pick` now allows a mix of commits and patches to be picked whereas previously only a single commit xor multiple patches could be picked. - `stg pick` now performs a single stack transaction for all the picked patches/commits instead of one transaction per pick. - `stg push` now attempts to perform three-way merges, which may improve conflict resolution in some cases. This feature is enabled by default when git >= 2.32.0 is detected. - `stg rebase --interactive` the "squash" and "fixup" instructions may no longer be applied to the first patch in the instruction list. The stated semantics of both "squash" and "fixup" is that they squash the labeled patch with the preceding patch, which is not possible/valid when there is no preceding patch. - `stg refresh` no longer has a `--spill` flag. Use `stg spill` instead. - `stg series` has updated colorized output. - `stg series` now requires patch range arguments to be both in-order and contiguous. Constraining patch ranges in this manner ensures that the output from `stg series` is always a valid/correct view of a subset of the series. - `stg show` diff output respects the `--color` option. - `stg squash` now allows the full suite of patch edit options, including `-d/--diff`. Previously only a few message-related options were available. - `stg version` now displays copyright and license statements. ### Fixed - `stg branch --create` inherits the current branch's remote branch configuration, if available. The Python implementation had an apparent bug that prevented inheriting the remote branch configuration when creating from the current branch. - Avoid case insensitive patch name collisions. On operating systems with case-insensitive paths, patch names that only differ by case lead to patch reference collisions. StGit now ensures that patch names are distinct under case insensitive comparisons. - `stg pull` and `stg rebase` record updated stack state instead of deferring until the next stack-modifying command to do so. ### Changed since 2.0.0-rc.2 #### Changed - chore: Update Cargo.lock #### Fixed - fix(zsh): Repair broken completion of --git-opt - fix(zsh): Add missing `stg email send --branch` - fix(email): Send using --branch option - fix: Avoid duplicate signoff with stgit.autosign - fix: Do not use 3way for merged checks ## [2.0.0-rc.2] 2022-10-23 ### Changed - The `--diff-opts` option is renamed to `--diff-opt`. `--diff-opts` remains available as an alias. - The `--diff-opt` option no longer allows multiple git options per occurrence. This allows git diff options with spaces in their values. - The `--git-opts` option for `stg email format` and `stg email send` is renamed `--git-opt`. - The `--git-opt` option no longer allows multiple git options per occurrence. This allows git options with spaces in their values. - Zsh completion for `--diff-opt` and `--git-opt` leverage the full-featured git completion capability. ### Fixed - Repair check for modifications to stack by external tools. - `stg pull` and `stg rebase` record updated stack state instead of deferring until the next stack-modifying command to do so. - Improve patch application with `git apply --3way` when pushing` (#225) - Zsh completion for `--diff-opt` accommodates multiple occurrences ## [2.0.0-rc.1] 2022-09-30 ### Added - Added `--annotate` flag to `stg email send`. - Added `-p`/`--patch` option to `stg show` as alternative way to select patch ranges (#216). - Added `-n`/`--name` option to `stg new` as alternative way to specify new patch name (#216). ### Changed - Update `git2` to 0.15.0, which may further help compatibility with sparse checkouts and multiple worktrees (#195). - Update to `clap` 4.0, which changes the help formatting and coloring. - Update other dependencies to latest versions in Cargo.lock. - No longer depend on `lazy_static` crate. - Use `std::thread::scope` instead of custom mechanism. This brings the total number of uses of `unsafe` in StGit to zero. - Minimum rustc requirement is set to 1.63.0. - The '$' sigil used for committed patches is now yellow instead of white. - Patch names beginning with a hyphen '-' may be disambiguated from command line options by escaping the leading '-' with a backslash. - `stg email format` and `stg email send` now use `-G`/`--git-opts` to pass additional options to `git format-patch` and `git send-email`. - Patch name arguments to `stg email format` and `stg email-send` can now be placed after a `--` separator (#216). - Update top-level usage help for `stg`. ### Fixed - Various errors that may occur when executing a stack transaction are now handled more robustly such that the changes from the transaction are rolled-back so that the stack, repository, and worktree are all in a consistent state (#205). - The `stg uncommit -h` usage indentation is repaired. - The `stg float` usage now shows the two distinct usage modes. - `stg squash --name` allows patch names with leading '-'. - `stg diff --range` allows patch names and ranges with leading '-'. - Fix some pre-indented paragraphs in help/about strings. - Zsh completion for `stg edit` incorrectly included -O/--diff-opts. - Zsh completion for `stg files` incorrectly included -O/--diff-opts. ## [2.0.0-beta.3] 2022-08-28 ### Added - Add install targets for `contrib/` directory. ### Changed - Use `git` executable instead of `libgit2` for all status and index operations to improve compatibility with sparse index checkouts (#195). - Show commit hash in `stg version` output when not built from tag. - Use `cargo --locked` consistently in Makefiles. - Use "patch" extension in temp file name when editing a patch with a diff. - Updated transient dependencies in Cargo.lock. ### Fixed - Repair `stg branch --describe` panic when run without arguments - Repair zsh completions for `git branch` - Repair `stgit.el` to use compatible `stg show` commands (#202). - Repair `stg uncommit --to` to work with annotated tags (#203). - Repair `make install` to not install cargo tracking files. ## [2.0.0-beta.2] 2022-08-05 ### Changed - Improved error when push conflicts with untracked files (#193) - Removed a few transitive dependencies by turning-off features in bstr and chrono. - Update Cargo.lock with latest dependencies - Update to clap 3.2 and only use non-deprecated interfaces ### Fixed - Repair `stg spill` when spilling newly added files and using path limits. ## [2.0.0-beta.1] 2022-07-28 ### Removed - Removed Python implementation of StGit. ### Added - Man page generation in asciidoc format with `stg completion man`. This was needed for feature parity with the Python implementation. - Added documentation for patch range syntax to stg(1) man page. - Added `install-all` target to top-level Makefile that installs the executable, man pages, html pages, and shell completions. ### Changed - Additional template search paths were added. In addition to looking for template files in .git/, also look in `$XDG_CONFIG_HOME/stgit/templates/` and `$HOME/.stgit/templates`. This search strategy is consistent with how git looks for the global config file. - Makefile targets are updated such that they are all applicable to the Rust implementation. - Argument value names are now all lowercase in help and man pages. - Updated Cargo.lock with latest versions of dependencies. - Release checklist is updated for Rust implementation. ### Fixed - Minor typo fixes in help strings - Improved documentation for top-level `stg` options. - Improve error message in edge case of attempting to push a hidden patch by name when there are no unapplied patches. ## [2.0.0-alpha.2] 2022-07-07 ### Added - `stg email format` wraps `git format-patch` and provides a mechanism to generate patch emails and optional cover letter in mbox format. - `stg email send` wraps `git send-email` and allows sending patch emails, either from files generated by `stg email format` or by specifying patches directly. ### Changed - Bash completions for shell aliases now fallback to filename completions (#191). - Help options listings now ensure --color and --help are shown last. - Various zsh completion improvements: - Add descriptions for --color values - Complete -O/--diff-opts values (using `git diff-tree --git-completion-helper`) - Comprehend `stg -C <dir>` options - Improved/corrected alias expansion - Improved error messages when completion is attempted outside git repo and/or StGit-initialized branch - Patch name completions now look and feel like output from `stg series` - Complete patch range syntax ('patch0..patchN') for all relevant commands - Completion for `stg squash` no longer allows duplicate patch name arguments - Removed completions for removed `stg mail` command - Completion for `stg sink` no longer offers hidden patches - Completion for `stg rename` comprehends second, new patch name argument - Completion for `stg diff --range` now works ### Fixed - Compatibility with git versions prior to 2.35.0 is repaired by avoiding using `git apply --allow-empty` (#192). - Fish completions for -O/--diff-opts are repaired ## [2.0.0-alpha.1] 2022-06-17 ### Added - `stg series` gains the `-i/--commit-id` option to display patches' commit ids. - `stg series` colorized output is modified. The main change is that patch descriptions are no longer yellow. - `stg version` now displays copyright and license statements. - `stg version` gains `-s/--short` flag to show shortened version info. - The `stgit.diff-opts` configuration variable is now respected as it was in the Python implementation. - `stg completion` command provides runtime support for shell completions. - `stg completion bash` generates bash shell completion script. - `stg completion fish` generates fish shell completion script. - `stg completion zsh` outputs zsh shell completion script. - `stg completion list` shows StGit commands and aliases and is used at completion-time by shell completion scripts. ### Changed - The `-O/--diff-opts` flag now allows both multiple space separated opts in one value as well as multiple occurrences of `-O/--diff-opts` on the same command line. This behavior is compatible with the Python implementation. - `stg series` help output splits options into a few sections. - Dependencies are updated to more recent versions in Cargo.lock. ### Fixed - `stg edit --set-tree` no longer causes the interactive editor to be implicitly invoked. - Repair build for non-Linux unix targets (including MacOS) and Windows targets. - Avoid case insensitive patch name collisions. On operating systems with case-insensitive paths, patch names that only differ by case lead to patch reference collisions. StGit now ensures that patch names are distinct under case insensitive comparisons. - Add missing `-t` short option for `--set-tree` for `stg edit`. - Add missing `-k` short option for `--keep`. ## [2.0.0-alpha.0] 2022-05-17 ### Removed - `stg edit` no longer accepts `-O/--diff-opts`. Custom diff options is in conflict with editable diffs since many (most?) diff options cause the diff to no long be applicable. - `stg files` no longer accepts `-O/--diff-opts`. This option was of marginal value since it only had a possible side effect when `--stat` was being used. - `stg clone` is removed (at least for the time being). Use `git clone` and `stg init` instead. - `stg mail` is removed, but will be re-added or replaced prior to the 2.0.0 release. ### Added - `stg new --refresh` allows a new patch to be refreshed with changes in one step. The `-i/--index`, `-F/--force`, `-s/--submodules`, and `--no-submodules` options from `stg refresh` are also available to `stg new`. - `stg id` now accepts the `-b/--branch` option. - `stg spill` replaces `stg refresh --spill`. ### Changed - StGit aliases are now more like Git aliases. Normal aliases refer to StGit subcommands, but aliases prefixed with '!' are shell aliases that may run arbitrary commands. An example normal alias would be `git config stgit.alias.list 'series --description --empty'`. An example shell alias would be `git config stgit.alias.st '!git status --short'`. - The `--ack` and `--review` options now optionally take a value. The `--ack-by` and `--review-by` options are deprecated. - Commands such as `stg goto`, `stg push`, and `stg pop` now require full/correct patch names on the command line and no longer accept unambiguous patch name prefixes. When an inexact patch name is provided on the command line, the error message will now indicate similar valid patch names. - `stg branch` output is now generally less verbose. - `stg branch --describe` replaces `stg branch --description`. The `--description` subcommand remains supported as a hidden alias to `--describe`, but the description string must now be provided as its own argument; i.e. `--description="description string"` is no longer supported. - `stg branch --list` now produces colorized output. The `--color` option or `NO_COLOR` environment variable may be used to affect this behavior. - `stg branch --rename` now supports renaming regular git branches in addition to StGit-enabled branches. - `stg clean` now uses `-A` and `-U` short options for `--applied` and `--unapplied` instead of `-a` and `-u`. This is done for consistency with `stg series` and `stg show`. - `stg import` now only recognizes compressed patches by their file extension (`.bz2` or `.gz`) and no longer attempts to decompress using all known decompressors. - `stg import` support for compressed input files is selectable at compile time using the `import-compressed` feature. - `stg import` support for importing from a URL is selectable at compile time using the `import-url` feature. - `stg log` now colorizes output by default. The `--color` option or `NO_COLOR` environment variable may be used to affect this behavior. - `stgit.new.verbose` changed to `stgit.edit.verbose` and now affects edit behavior for `edit`, `refresh`, and `squash` along with `new`. - `stg new` now accepts `-e/--edit` and `-d/--diff` instead of `-v/--verbose` - `stg pick` now allows a mix of commits and patches to be picked whereas previously only a single commit xor multiple patches could be picked. - `stg pick` now performs a single stack transaction for all the picked patches/commits instead of one transaction per pick. - `stg rebase --interactive` the "squash" and "fixup" instructions may no longer be applied to the first patch in the instruction list. The stated semantics of both "squash" and "fixup" is that they squash the labeled patch with the preceding patch, which is not possible/valid when there is no preceding patch. - `stg refresh` no longer has the `--spill` flag. Use `stg spill` instead. - Updated colorized output for `stg series`. - `stg series` now requires patch range arguments to be both in-order and contiguous. Constraining patch ranges in this manner ensures that the output from `stg series` is always a valid/correct view of a subset of the series. - `stg show` diff can now be limited to certain paths by specifying path limits on the command line. - `stg show` diff output respects the `--color` option. - The new `--signoff` patch edit option supersedes the deprecated `--sign` and `--sign-by` options. `--signoff` without its optional value does the same thing as `--sign`, while `--signoff=<value>` does the same thing as `--sign-by=<value>`. - `stg squash` now allows the full suite of patch edit options, including `-d/--diff`. Previously only a few message-related options were available. ### Fixed - `stg branch --create` inherits the current branch's remote branch configuration, if available. The Python implementation had an apparent bug that prevented inheriting the remote branch configuration when creating from the current branch. ## [1.5] 2022-01-28 ### Removed ### Added - Add Makefile targets for installing shell completions - `stg rebase --interactive` learns 'hide' instruction ### Changed - Picked patch names are preserved when possible (#175) - Replace `--unapplied` option with `--noapply` for `stg pick` (#174) - `stg pick --noapply` no longer reverses patch order (#174) - Use `stg version` uses `sys.executable` to get Python version. ### Fixed - Repair `stg repair` with amended first patch (#163) - Repair corner cases where invalid patchnames could be generated by `stg new`, `stg uncommit`, etc. (#176) - `stg mail` could crash due to a misspelled reference (#178) - Zsh completion for `stg refresh -p` now completes against all patches (not just applied patches). - Zsh gains missing completion for `stg push --noapply` - Minor repair to help for `stg float --noapply` and `stg push --noapply` - Restore `stg sink --nopush` capability. ## [1.4] 2021-10-27 ### Removed - Python 3.5, which became EOL 2020-09-13, support is deprecated and will be removed in a future StGit release - Python 3.6, which will be EOL 2021-12-23, support is deprecated and will be removed in a future StGit release ### Added - The new `stg import --message-id` option causes the Message-ID from imported emails to be included as the Message-Id trailer in the patch description (#42) - The new 'stgit.import.message-id' config option also enables the Message-Id trailer (#42) ### Changed - `stg import` no longer creates "Message-Id" trailer by default when importing patches from email (#42) - StGit works with Python 3.10 - `stg version` prints a more abbreviated Python version - `stg commit` will no longer commit empty patches by default; the `--allow-empty` option may be used to override this behavior (#158) - The `stgit.main.main()` function now takes an argv parameter and returns an int return code in most cases instead of calling sys.exit(), thus making main() a bit easier to use as an API. ### Fixed - Repair stack upgrade with `stg branch --list` (#155) - Repair crash in `stg squash` with out of order patches and no name specified (#157) - Zsh completions learn `stg float --noapply` option - Zsh completion for `stg sink` now allows multiple patches ## [1.3] 2021-09-26 ### Removed ### Added ### Changed ### Fixed - Repair crash regression when using `stgit.autosign` ## [1.2] 2021-09-26 ### Removed ### Deprecated - Python 3.5, which became EOL 2020-09-13, support is deprecated and will be removed in a future StGit release - Python 3.6, which will be EOL 2021-12-23, support is deprecated and will be removed in a future StGit release ### Added - `stg rebase ` learns `--interactive`; easily re-order, edit, squash, fixup, or delete patches via your editor - `stg rebase` learns `--autostash`; stash changes before the rebase and apply them after. Also configurable with the `stgit.autostash` configuration option - `stg edit` can now rename patches (#119) - `stg edit` gains helpful instructions (#138) - `stg new` learns `--verbose`, which includes a diff in the editor window (similar to `git commit --verbose`). This behavior is also configurable with the `stgit.new.verbose` configuration option - `stg push` and `stg float` learn `--noapply` option; allows patches to be reordered without updating worktree and deferring merge conflict resolution (#144) - `stg edit`, `stg refresh`, and `stg new` learn the `--sign-by`, `--ack-by`, and `--review-by` options which allow those respective trailers' values to be specified by the user on the command line (#92) ### Changed - Stack metadata version 5; stack metadata is moved from `refs/heads/<branch>.stgit` to `refs/stacks/<branch>` and the stack metadata file now uses a JSON format instead of the prior custom format; the stack metadata will be upgraded to v5 on first use of this version of StGit; like all stack metadata upgrades, **this is a one-way auto-upgrade for existing stacks** (#65) - Use setuptools instead of distutils for packaging - No git or python version checks in setup.py - Use different dynamic versioning system - Install `stg` executable as console_script entry point - More sophisticated search for bash.exe on Windows when running hooks - The editor window text for `stg squash` has been modified to mirror git's behavior -- the squash edit message now includes all commits (#71) - Binary diffs are no longer shown when with `stg edit -d` - Multiple trailers can now be added at once; this is now allowed, for example: `stg edit --sign --review --ack` - Update zsh completion for `stg rebase` to show local and remote heads (#102) - Zsh completions for commands with patch arguments now comprehend the effect of `-b/--branch` and `-B/--ref-branch` - Zsh completions now guard patch names--one less TAB press to complete patch names in certain contexts - `stg import` now extracts the `Message-ID` email header into the patch message (#42) ### Fixed - Repair crash when attempting to export empty patch (#112) - Exact command name matches are unambiguous (#110) - Exiting with an empty `stg edit` editor will now abort the edit; previously it would delete your commit message. (#138) - Repair completions when stg.series.description is enabled in config - Workaround child process reaping race on Windows (#78) - Repair crash with `stg float --series` when bad patch name in series - Repair zsh completion for `stg float` to accept multiple patch names - Repair zsh completion for changed files, affecting `stg refresh` and `stg diff` ### Internal - Add link to coverage.io project to CONTRIBUTING.md - Set smart `exclude_lines` default for 'coverage' - Expanded test suite for `stg edit` - Add pkgtest.py script to help test StGit packaging - Cleanup .gitignore files ## [1.1] 2021-04-30 ### Removed ### Added - StGit GPG-signs patches when `commit.gpgsign` is set (#12) - Support `core.hooksPath` in git config - Add `-C` option for `stg import` and `stg fold` (#18) ### Changed - Allow importing mail and series from urls (#94) - `stg refresh --edit` may also use `--diff` and `--diff-opts` (#98) - `stg goto` allows sha1 of a patch instead of patch name (#93) ### Fixed - Repair hang in `stg pull -m`, `stg goto -m`, and `stg push -m` - Repair `stg mail` to show diffstat of whole series (#104) - Repair MANIFEST.in to include AUTHORS.md and README.md files ## [1.0] 2021-02-07 ### Removed - Drop support for Python < 3.5 - Remove previously deprecated `stg publish` command - Removed contrib scripts: `stg-swallow`, `stg-fold-files-from`, `stg-dispatch`, `stg-whatchanged`, and `stg-show-old` ### Added - The pre-commit hook is now run for `stg refresh` - New `--spill` option for `stg refresh` - Add stgit.series.description config option (#88) - Official support for Python versions up to 3.9 ### Changed - Stack metadata format 4. All metadata now kept in Git objects; no more stack state files in .git/patches. **A one-way auto-upgrade to format version 4 will occur when StGit commands are run on an existing StGit branch.** - Use `python3` in shebangs instead of `python` - `contrib/stgbashprompt.sh` is no longer executable - Internal docstrings now use reStructuredText instead of Epytext ### Fixed - Importing large patches is much, much faster (#66) - Other performance improvements when dealing with large patches - Repair diffstat when outside work tree root (#62) - Use encoded (string) environment variables on Windows (#79) - Fix `stg pull` when no upstream is configured (#83) - Fix `refresh` crash with path limiting and files added to index (#85) - Repair `new` with patchdescr.template crash (#87) - Repair `log` from worktree subdir with patches specified - Repair `import` allowing/generating duplicate patch names (#64) - Repair `mail --auto` to strip comments after addrs (#91) ## [0.23] 2020-06-12 ### Removed - Drop support for Python 3.3; Python 2 (2.6 and 2.7) remain deprecated, but supported for one last release - Tutorial is removed; it now exists as part of the website ### Deprecated - Python 2.x support is deprecated and will be removed in a future release ### Added - Support html5 output of docs from asciidoc - Add `--expose` option for `stg pick` to allow picked commit message to be customized ### Changed - Limit mail diffstat to 72 columns - Added pyproject.toml file for black configuration - Minimum Git version is 2.2.0 - Quote stg and subcommand in man page synopsis - Replaced RELEASENOTES with this CHANGELOG.md - Replaces Documentation/SubmittingPatches with CONTRIBUTING.md ### Fixed - Repair MANIFEST.in and generated source dist - Repair importing mail with ": " (colon space) in subject - Fix mail cover letter shortlog - Fix mail cover letter diffstat - `stg series` now only outputs colors when `isatty()` - Repair mail SSL check (#57) - Repair `stg mail` with both `-a` and `-e` options (#58) - Remove empty short-opt for `--no-submodules` of `stg refresh` - Repair build.py for Python 2 with explicit `flush()` - `stgit.refreshsubmodules` added to sample gitconfig ### Internal - Update docs build system from upstream Git docs - Use coverage contexts to map commands to covered lines - Improve mail tests - Use GitHub Actions instead of TravisCI - Format StGit source using black formatter ## [0.22] - 2020-03-02 ### Removed - Remove debian packaging; downstream Debian uses its own anyway ### Deprecated - Python 2.x support is deprecated and will be removed in the next StGit release - `stg publish` is deprecated and will be removed in the next StGit release ### Added - `stg import` has new --keep-cr option, like `git mailsplit` ### Changed - `stg new` now includes patch name in log message - `stg branch --rename` can now rename the current branch - `stg branch --create` now works even if the workspace is dirty, consistent with `git checkout` - `stg branch --description` now works on both regular and stgit branches - `stg edit --diff` now implies `--edit` - `stg refresh` and `stg edit` now reset the committer information, consistent with `stg push` - git notes are now preserved when patches are modified - Tutorial improvements - Many additional tests and test improvements - All stgit commands now use "new" git library infrastructure ### Fixed - `stg branch --create` inherits remote correctly from parent committish - Patch names are checked earlier to avoid inconsistent stack states - Improved commit data parsing and handling of non-UTF8 encodings - Repair git error messages when checking stgit version from outside a git repo ## [0.21] - 2019-10-28 ### Changed - Faster handling of large patches (#44) ### Fixed - Build reproducibility repairs (Thanks reproducible-builds.org team!) - Python can now be run with optimizations (`python -O`) - `stg log` now prints trailing newline - Improved command line option parsing for `stg log` ## [0.20] - 2019-10-04 ### Added - `stg patches -d` can now output colored diffs. - `stg publish --overwrite` allows branch to be overwritten instead of creating new commits. - `stg log --clear` deletes the stack's log history. Use with caution. - Fish shell completions for stg. - Zsh completions for stg. - `stg mail --domain` option overrides the host's domain in the message ID. ### Changed - Branch protection metadata now captured in config instead of .git/patches/<branch>protect file. This updates stgit's metadata format from v2 to v3. - `stg diff` no longer shows binary diffs by default. Use `-O--binary` or add `--binary` to stgit.diff-opts in config. - Diagnostic output is now routed to stderr instead of stdout. Diagnostic output is also now sent to stderr unconditionally, i.e. no more isatty() test (#35). - Converted to "new" lib infrastructure: `show`, `patches`, `diff`, `pick`, `pull`, `rebase`, and `fold`. ### Fixed - `stg show` detects conflicting --applied and --unapplied options. - `stg show --stat` now shows commit headers. - `stg patches --diff` now shows proper diff instead of `b'...'` repr of diff. - `stg diff --range` detects some invalid values (e.g. `-r ..`). - Date parsing is now more portable, only use platform specific `date` as last parsing option. Affects, e.g., `stg refresh --authdate`. - Repaired search path for templates to avoid looking in Python site-packages directory. - Ensure stdout and stderr are flushed. Rarely affected `stg diff`. - `stg repair` will now fail if extra command line arguments are provided. - Bash completions are now generated in a reproducible manner. - `stg edit --diff` on an empty patch no longer crashes. - `stg pick` no longer fails when picked commit has empty message (#39). - `stg rebase` no longer crashes when there are conflicts (#34). - `stg pick` no longer crashes if --name is not provided when picking a regular commit object. - Improved test coverage for: branch, diff, pick, sync, - New tests for: files, patches, fold, series - Portable use of iconv, sort, and sed in tests. - Linting using flake8 and isort. - All Python code now conforms to PEP-8. - Updated test infrastructure from git 2.20. - Parallel tests with coverage (`make -j4 coverage`) now works. - Documentation build is not included in code coverage. - Repaired log end messages when using `STGIT_SUBPROCESS_LOG=debug`. - Renamed "dunder" instance attributes to improve debugging. - Fail faster when patch name has slash ('/') (#24). ## [0.19] 2018-11-05 ### Changed - Python 3 support. StGit supports Python 2.6, 2.7, 3.3, 3.4, 3.5, 3.6, and 3.7. PyPy interpreters are also supported. - Submodules are now ignored when checking if working tree is clean. Submodules are also not included by default when refreshing a patch. - Config booleans are now parsed similarly to git-config. - `contrib/stgit.el` is now licenced with GPLv2. - Add continuous integration (travis-ci) and code coverage (coveralls) support. - Many new test cases were added. ### Fixed - Repair handling of emails with utf-8 bodies containing latin-1 characters. Also correctly decode email headers containing quoted encoded words. - StGit's version is now correct/available in the release archive. ## [0.18] 2017-08-14 ### Added - `commit-msg` hook support for easier integration with Gerrit, allowing a Change-Id line to be inserted in the commit message - `stg mail` improvements for 'Suggested-by:' tag and auto generation of Cc for the cover letter based on all tags in the series - `stg mail` bash completion for the --to, --cc and --bcc options based on the content of the [mail "alias"] section of Git configuration - `stg edit --review` option to add a 'Reviewed-by:' tag - `stg pop --spill` functionality to allow popping a patch from the stack while keeping its modification in the tree ### Changed - Project page details updated (gna.org has been shut down) ### Fixed - Various fixes and test coverage improvements
Features / Improvements ✨ Support marking a room as a direct message room (#92) Add external_edit_file_suffix to config (#253) Allow typing newline with <S-Enter> and enable keyboard enhancement protocol (#272) Display file sizes for attachments (#278) Implement set/unset/show for alternative and canonical aliases (#279) Allow notifications on open room if terminal not focused (#281) Add command to set per-room notification levels (#305) Add message slash commands (#317) Support reacting literally with non-Emojis (#320) Include room name in desktop notifications (#326) Add ban/unban/kick room commands (#327) Add command for setting room history visibility (#328) Add commands for viewing and clearing unreads (#332) Documentation / README updates 📚 Update Welcome window to reference TOML instead of JSON (#254) Add FreeBSD installation instructions (#280) Fix openSUSE link and installation command in README (#283) Add Hombrew as install method on MacOS (#303) Bug Fixes 🐞 Fix reaction count when there are duplicate reaction events from a user (#239) Prevent sending duplicate reaction events (#240) Use color overrides for users when message_user_color is enabled (#245) Fix image preview placement when messages are preceded by a date in the timeline (#257) Trim :editor output and check if it's empty (#275) Add error for missing username on :logout (#277) Remove timeout for desktop notifications (#314) Fix underflow panics when using TextPrinter::push_span_nobreak (#322) Remove modifyOtherKeys enablement (#324) Avoid treating simple messages as Markdown (#325) Handle message marks on non-64-bit platforms (#329) Building / Housekeeping 🧹 Update to ratatui-image@1.0.0 (#241) Update Cargo.toml to v0.0.10-alpha.1 and update dependencies (#269) Update to modalkit{,-ratatui}@0.0.19 (#273) Fix LICENSE file (#274) Add missing darwin build dependency (#286) Fix newer Clippy warnings for 1.80 (#301) Add FreeDesktop MetaInfo file (#315) Update to modalkit{,-ratatui}@0.0.20 (#319) Add metadata for cargo-deb and cargo-generate-rpm (#321) Build cross-platform binaries and packages of main (#323)
…vel/boost-headers, devel/boost-libs,devel/boost-mpi,devel/py-boost: Uodate to 1.86.0 Changelog: New Libraries * No new libraries. Updated Libraries * Atomic: + Use futex(2) system call on OpenBSD since recent OpenBSD versions have removed support for syscall(2). * Beast: + API Changes o Added HTTP status code 418 I'm a teapot. + Fixes o Narrowing conversion in read_size_hint_db(). o Overloads that are ambiguous when using default completion tokens. o Misplaced static_assert in http::basic_fields move-assignment operator. o Underflow of bytes_transferred in WebSocket partial write operations. o websocket::stream::read_size_hint() does not exceed read_message_max. o Various warnings in tests. o Error handling in SSL shutdown operations in examples. o Annotate fallthrough case in zlib. o Handling of expired timers in basic_stream::ops::transfer_op. o Ambiguity in test::basic_stream constructor overloads. o Partial parsing of the final chunk in http::parser. + Improvements o Graceful shutdown in server_flex_awaitable example. o Simplified awaitable examples. o Added fuzzing targets. o Remove superfluous uses of std::bind in some examples. o ssl_stream does not use flat_stream. + Documentation o ssl_stream and flat_stream marked as deprecated. o net::ssl::stream is canonical in snippets and examples. o Added SSL/TLS Shutdown Procedure section. + Acknowledgements o tyler92, Ruslan Zakirov, Orgad Shaneh, Alexander Kernozhitsky * Charconv: + Fixed support for PPC64LE architecture. + Fixed support for platforms like Alpine linux that provide the < quadmath.h> header but not the compiled library. + Fixed first character pattern matching in from_chars for integer types. + Fixed overflow detection for integers with base greater than 10. + Added native support for std::float16_t and std::bfloat16_t instead of using interchange formats. * Cobalt: + Added support for asio::cancel_after + Made asio::deferred co_await-able, because it's asio's default token + Added noop utility + Added experimental support for stackful coroutines/fibers + Fixed movability of channel & coroutine types * Compat: + Added bind_front.hpp, bind_back.hpp, invoke.hpp, mem_fn.hpp, integer_sequence.hpp and type_traits.hpp. + Added function_ref.hpp. * Container: + Fixed bugs/issues: o GitHub #285: "devector<>::push_front asserts after clear()". o GitHub #280: "Several containers don't support non-movable types when move assigning". o GitHub #279: "small_vector cannot go back to use stack space". o GitHub #277: "Remove dep on boost::static_assert". o GitHub #275: "Compilation fails if custom key comparison is used". o GitHub #273: "flat_map/vector crashes on appends (memory corruption)". o GitHub #269: "flat_multimap::emplace not sorting elements under GCC". o GitHub #266: "small_vector<T> is misaligned on the stack in 32 bits". o GitHub #259: "Global variables". o GitHub #245: "flat_tree::insert ordered range doesn't assert sorting". o GitHub #241: "flat_map should support same interface as std::map". * Core: + Added a boost/core/pointer_in_range.hpp header with a pointer_in_range function template to check if a pointer is within a given range. + Fixed type_name for abstract classes. (#172) + Fixed boost/core/type_name.hpp compilation error with MSVC with disabled native wchar_t type. (#173) + Added a workaround for an MSVC bug causing empty_value compilation errors when it is used with a nested class. (PR#175) * CRC: + C++03 is no longer supported; a C++11 compiler is required. (This includes GCC 4.6 or later, and MSVC 10.0 (VS 2010) or later.) + Removed dependencies on Array, Config, Integer, and TypeTraits. The library is now standalone. * Filesystem: + is_empty operation is now better protected against concurrent filesystem modifications. + On POSIX systems, is_empty now indicates error if invoked on a file other than a regular file or a directory. + On Windows, fixed file_size and is_empty operating on symlinks rather than the files the symlinks refer to. (#313) + directory_entry::refresh no longer throws an exception if the file referenced by the entry doesn't exist. This makes directory_entry:: status and directory_entry::symlink_status, as well as methods based on them, behave similarly to the equivalent standalone operations. The fact that the file does not exist is still indicated via the error_code returned by the corresponding directory_entry::refresh overload, or can be seen by testing if the file type returned by directory_entry::status or directory_entry::symlink_status calls is file_type::file_not_found. (#314) + Fixed weakly_canonical testing path elements for existence relative to the current path instead of the base path specified in the call, if the input path was a relative path. + On Windows, fixed weakly_canonical producing incorrect result path when the input path started with "..". (#311) * Format: + C++03 is no longer supported; a C++11 compiler is required. (This includes GCC 4.7 or later, and MSVC 12.0 (VS 2013) or later.) * Function: + Removed dependency on Boost.TypeTraits. + Brought back the argN_type typedefs that were accidentally lost in 1.85. * GIL: + Added o Added tell() and error() functions to istream_device and ostream_device classes (PR#747). + Changed o Don't ignore custom color converter in color_converted_view function (PR#726). o Added workaround for conflict with min() and max() macros on WinAPI (PR#745). o The use of boost::filesystem in GIL is now configurable in CMake via option BOOST_GIL_USE_BOOST_FILESYSTEM (PR#743). + Fixed o Fixed convolution in convolve_2d (PR#723) o Normalize Gaussian 2D kernel to avoid darkening (PR#725) o Wrong buffer size in path string conversion functions for std:: wstring is fixed, avoiding buffer overflows when using I/O-related functions with std::wstring paths (PR#746). + Acknowledgements o Christoph Gringmuth, Christopher Kormanyos, nicolacandussi, Dirk Stolle, Olzhas Zhumabek * Graph: + Major update: C++14 is the new minimum standard; this was partly dictated by dependencies (at least to C++11) and partly by choice. If you require support for an older standard, please contact the maintainer. + Remove direct dependency on Boost.Regex. + Fix several compilation errors caused by not explicitly including common headers. + isomorphism: Fix docs, ignore vertex_max_invariant parameter in favour of cheaply calculating upper exclusive bound, fix bug with Associative Property Map, improve space efficiency from linear in the size of the maximum invariant to linear in the size of g1. + boykov_kolmogorov_max_flow: Fix named parameter overload. + adj_list_edge_iterator: Fix maybe-uninitialized warnings. + hawick_circuits: Add a parameter to optionally limit the depth of the search, causing a potentially suboptimal answer to be returned early. + disjoint_sets: Improve performance of link_sets by removing redundant lookup of set representatives. + maximum_adjacency_search: Refactor and more tests. + property: Use BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS to remove wasted space. + labeled_graph: Fix remove_labeled_vertex so that it actually removes the label too. + r_c_shortest_paths: Fix bug that the single-solution variant did not always return the shortest path. + read_graphviz: Fix stack overflow (oss-fuzz issue 66719) and non-keyword subgraph parsing. + Many miscellaneous improvements: broken links, typos, etc. * Interprocess: + Fixed bugs: o GitHub #191 ("vectorstream: support file sizes larger than INT_MAX "). o GitHub #198 ("Minor fixes for documentation of offset_ptr"). o GitHub #202 ("Allow to map message_queue in anonymous memory"). o GitHub #207 ("cmake: link system libraries"). o GitHub #214 ("Doc: Fix github links"). * Intrusive: + Fixed bug GitHub #86: Invalid UTF-8 character in comment * JSON: + Support for GCC versions older than version 5.0 is deprecated and will stop in Boost 1.88.0. + source_location parameter was added to throwing accessor functions. + Parse option to tolerate invalid UTF-16 surrogate pairs, and produce WTF-8. + Added accessor functions that return system::result. + Handle missing error case in direct parsing. * LexicalCast: + Fixed conversion of std::basic_string_view and boost::basic_string_view containing one or more \0 characters. Issue was introduced in 1.85.0. * leaf: + More optimal verbose_diagnostic_info implementation. + Bug fixes. + Added [[nodiscard]] to class result<>. * Locale: + Add support for custom allocators in conv::utf_to_utf + Don't build examples by default * Log: + Added a workaround for windres.exe issue, when it is used in CMake to compile event log resource files on MinGW-w64. (PR#231) * Math: + Correct Bessel function results at infinity, see 1143. + Improve Non Central T numerical stability, see scipy20693. + Correct float_next/float_prior behaviour at infinity. + Prevent spurious underflow in non-central beta, see scipy20693. + Add improvement to Heuman Lambda precision. + Improve Skew Normal root finding, see 1120. + Lots of minor fixes and improved code coverage. * Multiprecision: + Make sure eval_convert_to() does not terminate with super large numbers, see 618. + Fix sinc implementation to match behavior of Boost.Math. + Fix divide-by-zero in cpp_int modulus operations. + Fix underflow behavior consistency for integers greater than 128-bits, see 626. * MySQL: + The long-deprecated functions query, start_query, execute_statement and start_statement_execution (and their async equivalents) have been removed. + Breaking changes to experimental APIs: o The identifier class (client-side SQL formatting) has been removed. Use the new format specifiers feature, instead. o The required interface for custom formatters has been changed to accomodate the new format specifiers API. o any_connection::async_connect now requires that its connect_params argument be kept alive until the operation completes. The overload taking a const connect_params* has been removed. o character_set::name is now a const char* instead of a string_view, as MySQL character set names can't contain NULL characters. o any_connection internal buffer is now limited to 64MB. If you need to read or write rows bigger than that, increase any_connection_params::max_buffer_size. connection and their helper typedefs are not limited. o Renamed any_connection_params::initial_read_buffer_size to initial_buffer_size. o Renamed pool_params::initial_read_buffer_size to initial_buffer_size. + New experimental API: pipelines. Pipelines can increase efficiency by coalescing several requests in a single network packet. Pipelines can be used to run text queries, prepare, execute and close statements, reset session state and set the connection's character set. + Client-side SQL formatting now supports ranges out of the box. Formatting can be further customized using the new sequence function. Use cases like batch inserts and batch lookups can be significantly simplified using this functionality. + Client-side SQL formatting now supports format specifiers which modify how values are formatted. {:i} formats a string as a dynamic SQL identifiers, and {:r} outputs a raw unescaped + The static interface (static_results and static_execution_state) now supports Boost.Pfr types using pfr_by_name and pfr_by_position. Added underlying_row_t to support such types. + date and datetime can now be constructed from and converted to C++20 std::chrono::local_time. + Added any_connection_params::max_buffer_size, which allows to set a limit to the connection's internal buffer. + Added is_fatal_error, which allows users can now distinguish between fatal (which require closing and re-opening the connection) and non-fatal error codes. + Added formattable_ref, a type-erased reference type that can refer to any type satisfying the Formattable concept. + Fixed an ODR violation under MSVC which could cause crashes in release builds when using Boost.MySQL with other code also using asio:: coroutine in different translation units. * Odeint: + Added CMake Option BOOST_NUMERIC_ODEINT_NO_ADAPTORS to reduce dependencies, see 82 + Fixed CMake detection of MPI. * Process: + Moved the old boost.process to v1 subfolder and inline namespace. deprecated process/*.hpp v1 headers + Turned v2 into a compile library. + Fixed usage on alpine linux / musl * Stacktrace: + Big new feature: stacktrace from arbitrary exception for Windows. std:: stacktrace::from_current_exception() now works on Windows platform. Many thanks to huangqinjin for the implementation PR#159 Now on POSIX and Windows the from_current_exception() function returns the stacktrace of the current exception object as if the stacktrace was captured at the point of throwing the exception. + Fixed inclusion of rarely used Windows SDK headers which can cause conflict with other code using Windows SDK. Thanks to Marat Abrarov for fixing the issue PR#157. + Build option boost.stacktrace.from_exception now properly works on MacOS. Thanks to Peter Dimov for the fix PR#166. + Fixed a typo in assert expression. Thanks to Kilian Henneberger for the bug report #164. + Fixed shadowing warnings. Thanks to Nigel Stewart for the bug report # 141. + Added dladdr minimal support for AIX. Many thanks to Cl??ment Chigot for the implementation PR#114. + Added Boost::stacktrace CMake alias that refers to the best supported implementation of Boost.Stacktrace on the platform. Thanks to Alex for the feature PR#167. + Significant improvement of CMake: multiple fixes, added many new tests, improved CI. Many thanks to Peter Dimov for all the improvements. + Fix addr2line work when the process is looked up via PATH. Thanks to Schreischildkroete for the bug report and to Jens Richter for fix #72. * Test: + Fix -Wundef in configuration step. + Fix unreachable return compilation error on MSVC. * Unordered: + Added container pmr aliases when header <memory_resource> is available. The alias boost::unordered::pmr::[container] refers to boost::unordered ::[container] with a std::pmr::polymorphic_allocator allocator type. + Equipped open-addressing and concurrent containers to internally calculate and provide statistical metrics affected by the quality of the hash function. This functionality is enabled by the global macro BOOST_UNORDERED_ENABLE_STATS. + Avalanching hash functions must now be marked via an is_avalanching typedef with an embedded value constant set to true (typically, defining is_avalanching as std::true_type). using is_avalanching = void is deprecated but allowed for backwards compatibility. + Added Visual Studio Natvis framework custom visualizations for containers and iterators. This works for all containers with an allocator using raw pointers. In this release, containers and iterators are not supported if their allocator uses fancy pointers. This may be addressed in later releases. * UUID: + Major update. + C++03 is no longer supported, a C++11 compiler is required. (This includes GCC 4.8 or later, MSVC 14.0 (VS 2015) or later, and MinGW-w64.) + Decreased number of Boost dependencies from 39 (in total) to just 5. + Updated to reflect the newer RFC 9562. + Added generators for time-based UUIDs. + Many other improvements, see the revision history. * Wave: + Replaced one use of vsprintf with the more secure vsnprintf + Fixed bug: o #197: Improper signed overflow handling (UB and a missing division check) * WinAPI: + Added BOOST_USE_WINAPI_VERSION CMake option, which allows users to specify the Windows version for Boost to target. Updated Tools * BoostBook: + DTD updated: constructor, copy-assignment and destructor elements are now allowed inside method-group elements. + Many fixes and improvements in Doxygen-generated documentation: o Fixed duplicate equal signs in Doxygen-generated enum value initializers. o Disabled alphabetical sorting of function arguments. The sorting can be re-enabled by setting the new boost.sort.params XSL parameter to 1. o Added support for custom class member grouping. See Doxygen tags @ name and @{/@}. o Added support for Doxygen references to classes, methods, enums, variables, etc. (see @ref tag). o Added support for @remark and @Important tags. o Added support for @parblock tags, which can be used to place multiple paragraphs under a tag that expects a single paragraph as an argument (e.g. @returns). o Template parameter defaults that refer to implementation details are now concealed, similar to function parameter defaults. o Improved presentation of unnamed enums. Instead of showing a synthesized name such as @0, the name is either omitted or is [ unnamed], if the name is necessary to introduce a link to the enum documentation. o Changed the "See Also" (@sa) blocks to be displayed inline, similar to "Returns". o Fixed presentation of multiple exception specifications (@throws). o Added support for free form description of throwing behavior. If the exception type after the @throws tag is "~" then the exception type is omitted from the output, and the following description is displayed directly in the "Throws" section. o Removed redundant spaces in return types and template parameters. * Build: + Includes release of B2 version 5.2.1.
Hi!
I don't know if this is the right place to ask, but I am wondering - were there any recent changes in the
pkgin
repository for Linux?I couldn't find
claws-mail
package that I have been using from around mid 2019 for my CentOS 7 installation. I get that this is a free service that distributes binary packages for people to use freely and I am deeply grateful for that 🙏. However I was wandering if this was a planned drop of some of the software in the repository that I just missed?If so, and there are no plans for distributing more desktop oriented packages, could you perhaps point me to correct place where I could find some information how to set my own repo for pkgin to use?
Thank you very much for your time & work! 🙇♂️
Cheers!
The text was updated successfully, but these errors were encountered: