-
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
GNU uname should identify OS as illumos #195
Comments
A long time ago I played with this and had the following:
But that is lazy way to fix it as it would be wrong when using pkgsrc on Oracle Solaris. |
Older Solaris releases don't support |
Note that I will need to override this for our builds anyway as they are performed on a platform prior to 1956. |
Fixes TritonDataCenter#195. Bump PKGREVISION.
Fixed in trunk. |
Fixes TritonDataCenter#195. Bump PKGREVISION.
For a security fix. Release 2.2.7 Wed June 19 2019 Security fixes: #186 #262 Fix extraction of namespace prefixes from XML names; XML names with multiple colons could end up in the wrong namespace, and take a high amount of RAM and CPU resources while processing, opening the door to use for denial-of-service attacks Other changes: #195 #197 Autotools/CMake: Utilize -fvisibility=hidden to stop exporting non-API symbols #227 Autotools: Add --without-examples and --without-tests #228 Autotools: Modernize configure.ac #245 #246 Autotools: Fix check for -fvisibility=hidden for Clang #247 #248 Autotools: Fix compilation for lack of docbook2x-man #236 #258 Autotools: Produce .tar.{gz,lz,xz} release archives #212 CMake: Make libdir of pkgconfig expat.pc support multilib #158 #263 CMake: Build man page in PROJECT_BINARY_DIR not _SOURCE_DIR #219 Remove fallback to bcopy, assume that memmove(3) exists #257 Use portable "/usr/bin/env bash" shebang (e.g. for OpenBSD) #243 Windows: Fix syntax of .def module definition files Version info bumped from 7:8:6 to 7:9:6 Special thanks to: Benjamin Peterson Caolán McNamara Hanno Böck KangLin Kishore Kunche Marco Maggi Rhodri James Sebastian Dröge userwithuid Yury Gribov
Changes: 1.9.0 ----- ### Additions - Support for - `erolord` (#326) - Add login support for `instagram` (#195) - Add `--no-download` and `extractor.*.download` disable file downloads (#220) - Add `-A/--abort` to specify the number of consecutive download skips before aborting - Interpret `-1` as infinite retries (#300) - Implement custom log message formats per log-level (#304) - Implement an `mtime` post-processor that sets file modification times according to metadata fields (#332) - Implement a `twitter.content` option to enable tweet text extraction (#333, #338) - Enable `date-min/-max/-format` options for `tumblr` (#337) ### Changes - Set file modification times according to their `Last-Modified` header when downloading (#236, #277) - Use `--no-mtime` or `downloader.*.mtime` to disable this behavior - Duplicate download URLs are no longer silently ignored (controllable with `extractor.*.image-unique`) - Deprecate `--abort-on-skip` ### Fixes - Retry downloads on OpenSSL exceptions (#324) - Ignore unavailable pins on `sexcom` instead of raising an exception (#325) - Use Firefox's SSL/TLS ciphers to prevent Cloudflare CAPTCHAs (#342) - Improve folder name matching on `deviantart` (#343) - Forward cookies to `youtube-dl` to allow downloading private videos - Miscellaneous fixes for `35photo`, `500px`, `newgrounds`, `simplyhentai`
== Version 2.6 (2019-09-08) New features:: * core: add support of 32767 color pairs (issue #1343, issue #1345) * core: add option "close" in command /window (issue #853) * api: add infos "term_colors" and "term_color_pairs" * api: add function list_user_data (issue #666) * api: add argument "strip_items" in function string_split * buflist: add infolist "buflist" with list of buffer pointers (issue #1375) * exec: evaluate option exec.command.shell, change default value to "${env:SHELL}" (issue #1356) * fset: add filters "h=xxx" and "he=xxx" to filter options by description (translated or in English) * irc: make command char optional in server option "command" (issue #615) * irc: add variables "user_max_length" and "host_max_length" in server structure (issue #1387) Bug fixes:: * core: use fixed-width integer for computing nick and hashtable DJB2 key hashes, add values "djb2_32" and "sum_32" for option weechat.look.nick_color_hash (issue #1394) * core: create or update option weechat.notify.xxx when function buffer_set is called with "notify" property (issue #1390) * core: fix memory leak in case of error when building content of bar item for display (issue #1384) * core: send command line parameter to plugins only if the name starts with the plugin name followed by a colon * core: auto disable upgrade process (command line option "--upgrade") if the file weechat.upgrade is not found * core: replace newlines by spaces in argument "completion" of function hook_command (issue #538) * core: replace char "," by "~" in color codes to separate foreground from background (issue #1264) * alias: remove default aliases /AME and /AMSG (issue #1355) * buflist: use extra variables in option buflist.look.display_conditions (issue #1393) * irc: fix parsing of messages 346 (invite list), 348 (exception list), 367 (ban list) and 728 (quiet list) when there is a colon before the timestamp (issue #1396) * irc: fix memory leak when removing a server * irc: fix length of user/nick/host in split of messages (issue #1387) * irc: quote NICK command argument sent to the server only if there's a ":" in the nick (issue #1376, issue #1319) * irc: return all arguments in the PONG response to a PING (issue #1369) * irc: disable server reconnection when the server buffer is closed (issue #236) * irc: strip spaces at beginning/end of addresses in server option "addresses" (issue #195) * irc: fix display of enabled/disabled client capabilities received in command CAP ACK (issue #151) * ruby: fix conversion of big integers on 32bit architecture (issue #1395) Tests:: * unit: add tests on IRC ignore, message and nick functions Build:: * core: fix compilation with autotools on FreeBSD 12.0 * debian: disable Javascript plugin on Debian Buster/Bullseye (issue #1374) * python: compile with Python 3 by default * python: use pkg-config to detect Python (issue #1382)
# v0.19.4 ## Bugfix - slack: fix regression with slack library (#264) - slack: fix an unexpected panic (#263) # v0.19.3 ## Enhancement * general: Add UPDATELASTVIEWED command, and make DisableAutoView work consistently (#255) * slack: Handle message edits and deletion (#260) * slack: Add handling of reactions, stars and pins (#229) ## Bugfix * mattermost: Fix a panic #247 * mattermost: Fixes incorrect users because of paging. #244 * mattermost: Fix outdated channel issue * mattermost: Add paging so we can see > 200 users in a channel #248 * mattermost: Fix expired session panic #259 * general: Fix datarace #246 * general: Fix empty JoinInclude * general: Fix panic #257 This release couldn't exist without the following contributors: @Aketzu, @bucko909, @42wim # v0.19.2 ## Enhancement * general: Add a default value matterirc.toml for the '-conf' flag (#240) * slack: library updated * mattermost: library updated * mattermost: Add support for channel created/deleted events ## Bugfix * mattermost: Remove ourselves from the channel when removed in mattermost. Fixes #233 * mattermost: Add/remove ourselves to the channel if we join using the GUI. #239 * mattermost: Update topics in mattermost. Closes #241 * mattermost: Fix pastes and attachments in direct message. Closes #228 * mattermost: Update channels if not known on join yet # v0.19.1 ## New features * mattermost: Added support for disabling of automatic view flag updates (#226). See DisableAutoView in matterircd.toml.example * slack: Add message showing enhancements and add slackbot to all channels (#230) ## Bugfix * general: Fix tight loop (100% CPU). Closes #231 # v0.19.0 ## New features * irc: Add support for spoofing query messages. #195 * You can now see your own messages you've typed on slack/mattermost web in irc * irc: Add PasteBufferTimeout option (send ascii-art!) * See matterircd.toml.example for an example. * PasteBufferTimeout specifies the amount of time in milliseconds that messages get kept in matterircd internal buffer before being sent to mattermost or slack. Messages that will be received in this time will be concatenated together So this can be used to paste stuff like ascii-art or code. Default 0 (is disabled) Depending on how fast you type 2500 is a good number ## Bugfix * slack: Correctly handle different nick and username #203 * slack: Ignore channel join messages #198
Update ruby-faraday_middleware to 1.0.0. pkgsrc change: add "USE_LANGUAGES= # none". 1.0.0 (2020-03-29) This is FaradayMiddleware 1.0 official release! This release officially supports Faraday 1.0. It contains all changes included in the 1.0.0.rc1 release, plus: * Increase minimum rake version to 12.3.3 for security reasons Special thanks to contributors who helped us push this over the line: @BobbyMcWho, @onk and @d-m-u 1.0.0.rc1 (2020-02-28) This is a prerelease. See #200 for details on the shipping plans for 1.0.0. Changes * Support Ruby 2.3+. * Drop support for Faraday v0.7 Bugs fixed * #198 Autoload an exception class correctly Chores and misc * Lint the codebase with RuboCop * Closed the Wiki and turned it into Markdown files in docs/ 0.14.0 (2020-01-10) NOTE: This is the last minor release in the v0.x series, next release will be 1.0 to match Faraday v1.0 release and from then on only fixes will be applied to v0.14.x! * Fix support for empty bodies having Content-Encoding Gzip (#192) * RSpec: disable_monkey_patching (#191) * Add ResponseMiddleware.define_parser unit test (#190) * Use full URL (url.host + url.request_uri) as cache key (#195) 0.13.1 (2019-02-04) * Clear Authorization header when redirecting cross-site (#183) * Brotli is an optional dependency for Gzip (#186) 0.13.0 (2019-01-22) * Adds support for Brotli decompression of responses (#134) * Adds support for JSON 2 (#169) * Hash request URIs before using them as a cache key (#181) * Remove Addressable::URI query hack (#184)
v1.4.0 (2020-06-07) ------------------- Features ^^^^^^^^ * `#197 <https://github.com/readthedocs/sphinx-autoapi/issues/197>`: Added ``autoapi.__version__`` and ``autoapi.__version_info__`` attributes for accessing version information. * `#201 <https://github.com/readthedocs/sphinx-autoapi/issues/201>`: (Python) Added the ``autoapi_member_order`` option to allow the order that members are documentated to be configurable. * `#203 <https://github.com/readthedocs/sphinx-autoapi/issues/203>`: (Python) A class without a docstring inherits one from its parent. A methods without a docstring inherits one from the method that it overrides. * `#204 <https://github.com/readthedocs/sphinx-autoapi/issues/204>`: (Python) Added the ``imported-members`` AutoAPI option to be able to enable or disable documenting objects imported from the same top-level package or module without needing to override templates. Bug Fixes ^^^^^^^^^ * `#198 <https://github.com/readthedocs/sphinx-autoapi/issues/198>`: Documentation describes the required layout for template override directories. * `#195 <https://github.com/readthedocs/sphinx-autoapi/issues/195>`: (Python) Fixed incorrect formatting when ``show-inheritance-diagram`` and ``private-members`` are turned on. * `#193 <https://github.com/readthedocs/sphinx-autoapi/issues/193>` and * `#208 <https://github.com/readthedocs/sphinx-autoapi/issues/208>`: (Python) Inheritance diagrams can follow imports to find classes to document. * `#213 <https://github.com/readthedocs/sphinx-autoapi/issues/213>`: (Python) Fixed module summary never showing. Trivial/Internal Changes ^^^^^^^^^^^^^^^^^^^^^^^^ * black shows diffs by default * `#207 <https://github.com/readthedocs/sphinx-autoapi/issues/207>`: Fixed a typo in the code of the golang tutorial.
pkgsrc changes: - Fix a typo in DISTNAME/PKGNAME: it is now go-ffuf (instead of go-fuff) - Only installs bin/ffuf and its README - Reset MAINTAINERship, requested by <nikita> Changes: 1.1.0 ----- - Add unsupported arch/os to goreleaser ignore list (#267) - Release 1.1 (#266) - Fix crash with 3xx requests without location header (#265) - Update random seed logic (#262) - fix file get thing (#226) - Update CONTRIBUTORS.md to add bsysop (#258) - Fixed behavior of wordlist:keyword separator in Windows (#240) - Add Host information to JSON output file (#223) - Support outputting all file formats concurrently (#218) - Increase default rows per page on html report (#217) - Add the wordlists to the header information (#211) - Fix error with missing usage info (#195) - Feature178 (#186) - Fix for #193 (#194) - Fix for issue #179 (#180) - Prepare for 1.1.0-git (#176)
0.60: Asciidoc: * Introduce "compat" option to parse like asciidoc or asciidoctor. Text (and Markdown): * Fix the support of nested lists (GitHub's #131). Other: * Remove the experimental C extension that was never built, distributed, tested nor modified since 2007. XML: * Provide a meaningful message when the translators butcher the <placeholder> attributes instead of truncating the file. (GitHub's #254) 0.59.1: po4a tool: * Really fix --srcdir and --destdir handling (Debian's #960892 again). Even with the previous fix, the aptitude package was still broken. Documentation: * Clarify the syntax of -o parameters (GitHub's #233). Sgml: * Sort the attributes. Without this, msgids are randomly fuzzied. (Debian's #725931 and Debian's #810988) 0.59: po4a tool: * Fix --srcdir handling (GitHub's #237 and Debian's #960892). This bug was breaking the build of several packages, including dpkg. Addendum: * New mode 'eof' to easily add at the end of the file (Debian's #960949). Documentation: * Fix many typos and glitches * Start a section about external projects using po4a Tests: * po4a: Add a test for the [po_directory] feature Overall: * Improve the displayed messages, don't translate debug messages. 0.58.1: Documentation: * Document an option of the XML parser (GitHub's #223). * Small glitches found during the translations. Tests: * Also ignore 'Project-Id-Version' when diffing PO files (GitHub's #224) * asciidoc: reactivate tablecells tests AsciiDoc: * Fix management of images in tables (Github's #226) * Tolerate underline length variations in two lines titles (Github's #212) 0.58: AsciiDoc: * Accept numbered list items beginning with any number of dots (GitHub's #210) Markdown: * Avoid translating Markdown fenced code block info string (GitHub's #194) * List Markdown fenced code block info string as text type (GitHub's #195) * Support YAML Front Matter (GitHub's #196). This requires YAML::Tiny. * Introduce options yfm_keys and yfm_skip_array to respectively specify which YAML keys should be translated, and that the array content should not be translated. * Work around a bug in YAML::Tiny that quotes numbers (GitHub's #217) * Add gettext flag "markdown-text" for relevant entries (GitHub's #208) Text: * Honor the (existing) --neverwrap option to handle every content verbatim. Texinfo: * Add the comments starting with 'TRANSLATORS:' to the po file (GitHub's #162) XHTML: * Don't fail nor warn when a closing tag is missing, that's legit in HTML. (GitHub's #179) XML and DocBook: * Allow attributes with no value (GitHub's #178). * Processing Instructions are handled as inline tags by default, but you can change them back to breaking with '-o break-pi' (GitHub's #170) Yaml: * Introduce option to skip array values. (GitHub's #187) po4a tool: * Cleanups and fixups about options' parsing (now tested and documented) _ / \ You may need to upgrage your po4a.conf if you were using /_!_\ "unwanted features" (ie, bugs) of the previous implementation. * Do not touch source dir when --destdir is provided (Debian #602387) * Pass --add-location=file to msgmerge when receiving option porefs. (requires gettext >= 0.19 -- June 2014) * Option --master-charset sets the charset of the generated POT file. * Option --master-language sets the language of the generated POT file. * Add support for addendum path in po4a_paths (Debian #823189) * Stop pretending that --porefs can control the wrapping of reference comments, as the gettext tools used internally always rewrap them. Scripts: * Rename po4aman-display-po to po4a-display-man * Rename po4apod-display-po to po4a-display-pod Core: * Use UTF-8 by default (the 20th century is over -- Debian #862460) po4a used to prefer ascii unless it proved impossible. But the underlying detection would fail, possibly for document containing UTF-8 chars composed on printable ascii chars only. * Add a --wrap-po option to control how the po file is wrapped, and chose between either nicely wrapped files that tend to produce git conflicts, or ugly files that are easy to automatically deal with. Tests: * Completely refactor most tests. They are now more reliable and the error messages are much more useful to understand the issues. * Many bugs to po4a and the core were ironed out in the process. * PO files content are now tested too (GitHub's #67) Documentation: * Various cleanups by Golubev Alexander (GitHub's #190 & #191)
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.
Version 1.64.1 -------------- - The BigInt type is now _actually_ available, as it wasn't enabled in the 1.64.0 release even though it was mentioned in the release notes. - Closed bugs and merge requests: * testCommandLine's Unicode tests failing on Alpine Linux [Philip Chimento, #296, !399] * build: Various clean-ups [Jan Tojnar, !403] * Correctly handle vfunc inout parameters [Marco Trevisan, !404] * Fix failed redirect of output in CommandLine tests [Liban Parker, !409] Version 1.58.6 -------------- - Various backports: * Correctly handle vfunc inout parameters [Marco Trevisan] * Fix failed redirect of output in CommandLine tests [Liban Parker] * Avoid filename conflict when tests run in parallel [Philip Chimento] Version 1.64.0 -------------- - No change from 1.63.92. Version 1.63.92 --------------- - Closed bugs and merge requests: * object: Use g_irepository_get_object_gtype_interfaces [Colin Walters, Philip Chimento, #55, !52] * Add -fno-semantic-interposition to -Bsymbolic-functions [Jan Alexander Steffens (heftig), #303, !397] * examples: add a dbus-client and dbus-service example [Andy Holmes, !398] * Various GNOME Shell crashes during GC, mozjs68 regression [Jan Alexander Steffens (heftig), Philip Chimento, #301, !396] Version 1.63.91 --------------- - Closed bugs and merge requests: * [mozjs68] Reorganize modules for ESM. [Evan Welsh, Philip Chimento, !383] * Various maintenance [Philip Chimento, !388] * Fix building GJS master with Visual Studio and update build instructions [Chun-wei Fan, !389] * Resolve "Gnome Shell crash on GC run with mozjs68" [Philip Chimento, !391] * installed-tests/js: Add missing dep on warnlib_typelib [Jan Alexander Steffens, !393] * object: Cache known unresolvable properties [Daniel van Vugt, Philip Chimento, !394, #302] Version 1.58.5 -------------- - Closed bugs and merge requests: * Fix Visual Studio builds of gnome-3-34 (1.58.x) branch [Chun-wei Fan, !392] * Can not access GObject properties of classes without GI information [Juan Pablo Ugarte, !385, #299] Version 1.63.90 --------------- - New JS API: The GObject module has gained new overrides: GObject.signal_handler_find(), GObject.signal_handlers_block_matched(), GObject.signal_handlers_unblock_matched(), and GObject.signal_handlers_disconnect_matched(). These overrides replace the corresponding C API, which was not idiomatic for JavaScript and was not fully functional because it used bare C pointers for some of its functionality. See modules/overrides/GObject.js for API documentation. - New JavaScript features! This version of GJS is based on SpiderMonkey 68, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 60. Here are the highlights of the new JavaScript features. For more information, look them up on MDN or devdocs.io. * New language features + The BigInt type, currently a stage 3 proposal in the ES standard, is now available. * New syntax + `globalThis` is now the ES-standard supported way to get the global object, no matter what kind of JS environment. The old way, `window`, will still work, but is no longer preferred. + BigInt literals are expressed by a number with "n" appended to it: for example, `1n`, `9007199254740992n`. * New APIs + String.prototype.trimStart() and String.prototype.trimEnd() now exist and are preferred instead of trimLeft() and trimRight() which are nonstandard. + String.prototype.matchAll() allows easier access to regex capture groups. + Array.prototype.flat() flattens nested arrays, well-known from lodash and similar libraries. + Array.prototype.flatMap() acts like a reverse filter(), allowing adding elements to an array while iterating functional-style. + Object.fromEntries() creates an object from iterable key-value pairs. + Intl.RelativeTimeFormat is useful for formatting time differences into human-readable strings such as "1 day ago". + BigInt64Array and BigUint64Array are two new typed array types. * New behaviour + There are a lot of minor behaviour changes as SpiderMonkey's JS implementation conforms ever closer to existing ECMAScript standards and adopts new ones. For complete information, read the Firefox developer release notes: https://developer.mozilla.org/en-US/Firefox/Releases/61#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/62#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/63#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/64#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/65#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/66#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/67#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/68#JavaScript * Backwards-incompatible changes + The nonstandard String generics were removed. These had only ever been implemented by Mozilla and never made it into a standard. (An example of a String generic is calling a string method on something that might not be a string like this: `String.endsWith(foo, 5)`. The proper way is `String.prototype.endsWith.call(foo, 5)` or converting `foo` to a string.) This should not pose much of a problem for existing code, since in the previous version these would already print a deprecation warning whenever they were used. You can use `moz68tool` from mozjs-deprecation-tools (https://gitlab.gnome.org/ptomato/moz60tool) to scan your code for this nonstandard usage. - Closed bugs and merge requests: * invalid import on signal.h [#295, !382, Philip Chimento] * SpiderMonkey 68 [#270, !386, Philip Chimento] * GObject: Add override for GObject.handler_block_by_func [#290, !371, Philip Chimento] Version 1.63.3 -------------- - Closed bugs and merge requests: * JS ERROR: TypeError: this._rooms.get(...) is undefined [Philip Chimento, #289, !367] * Run CI build with --werror [Philip Chimento, #286, !365] * build: Remove Autotools build system [Philip Chimento, !364] * gjs-symlink script is incompatible with distro builds [Michael Catanzaro, Bastien Nocera, #291, !369, !370] * installed-tests: Don't hardcode the path of bash [Ting-Wei Lan, !372] * Update Visual Studio build instructions (after migrating to full Meson-based builds) [Chun-wei Fan, !375] * object: Warn when setting a deprecated property [Florian Müllner, !378] * CI: Create mozjs68 CI images [Philip Chimento, !379] * Various maintenance [Philip Chimento, !374, !380, !381] Version 1.58.4 -------------- - Now prints a warning when constructing an unregistered object inheriting from GObject (i.e. if you forgot to use GObject.registerClass.) In 1.58.2 this would throw an exception, which broke some existing code, so that change was reverted in 1.58.3. In this version the check is reinstated, but we log a warning instead of throwing an exception, so that people know to fix their code, but without breaking things. NOTE: In 1.64 (the next stable release) the warning will be changed back into an exception, because code with this problem can be subtly broken and cause unexpected errors elsewhere. So make sure to fix your code if you get this warning. - Closed bugs and merge requests: * GSettings crash fixes [Andy Holmes, !373] - Memory savings for Cairo objects [Philip Chimento, !374] - Fix for crash in debug functions [Philip Chimento, !374] Version 1.63.2 -------------- - There is an option for changing the generated GType name for GObject classes created in GJS to a new scheme that is less likely to have collisions. This scheme is not yet the default, but you can opt into it by setting `GObject.gtypeNameBasedOnJSPath = true;` as early as possible in your prograṁ. Doing this may require some changes in Glade files if you use composite widget templates. We recommend you make this change in your codebase as soon as possible, to avoid any surprises in the future. - New JS API: GObject.Object has gained a stop_emission_by_name() method which is a bit more idiomatic than calling GObject.signal_stop_emission_by_name(). - It's now supported to use the "object" attribute in a signal connection in a composite widget template in a Glade file. - Closed bugs and merge requests: * CI: Tweak eslint rule for unneeded parentheses [Florian Müllner, !353] * Smarter GType name computation [Marco Trevisan, !337] * Meson CI [Philip Chimento, !354] * Visual Studio builds using Meson [Chun-wei Fan, !355] * Hide internal symbols from ABI [Marco Trevisan, #194, !352] * Allow creating custom tree models [Giovanni Campagna, #71] * build: Fix dist files [Florian Müllner, !357] * GObject: Add convenience wrapper for signal_stop_emission_by_name() [Florian Müllner, !358] * Various maintenance [Philip Chimento, !356] * object_instance_props_to_g_parameters should do more check on argv [Philip Chimento, #63, !359] * Support flat C arrays of structures [Philip Chimento, !361] * Gtk Templates: support connectObj argument [Andy Holmes, !363] - Various build fixes [Philip Chimento] Version 1.58.2 -------------- - Closed bugs and merge requests: * GObject based class initialization checks [Marco Trevisan, Philip Chimento, !336] * Silently leaked return value of callbacks [Xavier Claessens, Philip Chimento, #86, !44] * Crash when calling Gio.Initable.async_init with not vfunc_async_init implementation [Philip Chimento, #287, !362] * [cairo] insufficient checking [Philip Chimento, #49, !360] - Various crash fixes backported from the development branch that didn't close a bug or merge request. Version 1.63.1 -------------- - Note that the 1.59, 1.60, 1.61, and 1.62 releases are hereby skipped, because we are calling the next stable series 1.64 to match gobject-introspection and GLib. - GJS now includes a Meson build system. This is now the preferred way to build it; however, the old Autotools build system is still available for a transitional period. - Closed bugs and merge requests: * GObject: Add convenience wrapper for signal_handler_(un)block() [Florian Müllner, !326] * GObject based class initialization checks [Marco Trevisan, Philip Chimento, !336] * Meson port [Philip Chimento, !338] * add http client example [Sonny Piers, !342] * Smaller CI, phase 2 [Philip Chimento, !343] * add websocket client example [Sonny Piers, !344] * Fix Docker images build [Philip Chimento, !345] * CI: Use new Docker images [Philip Chimento, !346] * docs: Update internal links [Andy Holmes, !348] * Don't pass generic marshaller to g_signal_newv() [Niels De Graef, !349] * tests: Fail debugger tests if command failed [Philip Chimento, !350] * Minor CI image fixes [Philip Chimento, !351] * Various fixes [Marco Trevisan, Philip Chimento] Version 1.58.1 -------------- - Closed bugs and merge requests: * Import wiki documentation [Sonny Piers, !341] * Smaller CI, phase 1 [Philip Chimento, !339] * Crashes after setting child property 'icon-name' on GtkStack then displaying another GtkStack [Florian Müllner, #284, !347] * GLib.strdelimit crashes [Philip Chimento, #283, !340] Version 1.58.0 -------------- - No change from 1.57.92. Version 1.57.92 --------------- - Closed bugs and merge requests: * tests: Enable regression test cases for GPtrArrays and GArrays of structures [Stéphane Seng, !334] * Various maintenance [Philip Chimento, !333, !335] Version 1.57.91 --------------- - GJS no longer links to libgtk-3. This makes it possible to load the Gtk-4.0 typelib in GJS and write programs that use GTK 4. - The heapgraph tool has gained some improvements; it is now possible to print a heap graph of multiple targets. You can also mark an object for better identification in the heap graph by assigning a magic property: for example, myObject.__heapgraph_name = 'Button' will make that object identify itself as "Button" in heap graphs. - Closed bugs and merge requests: * Remove usage of Lang in non legacy code [Sonny Piers, !322] * GTK4 [Florian Müllner, #99, !328, !330] * JS syntax fixes [Marco Trevisan, Philip Chimento, !306, !323] * gi: Avoid infinite recursion when converting GValues [Florian Müllner, !329] * Implement all GObject-introspection test suites [Philip Chimento, !327, !332] * Heapgraph improvements [Philip Chimento, !325] Version 1.57.90 --------------- - New JS API: GLib.Variant has gained a recursiveUnpack() method which transforms the variant entirely into a JS object, discarding all type information. This can be useful for dealing with a{sv} dictionaries, where deepUnpack() will keep the values as GLib.Variant instances in order to preserve the type information. - New JS API: GLib.Variant has gained a deepUnpack() method which is exactly the same as the already existing deep_unpack(), but fits with the other camelCase APIs that GJS adds. - Closed bugs and merge requests: * Marshalling of GPtrArray broken [#9, !311, Stéphane Seng] * Fix locale chooser [!313, Philip Chimento] * dbus-wrapper: Remove interface skeleton flush idle on dispose [!312, Marco Trevisan] * gobject: Use auto-compartment when getting property as well [!316, Florian Müllner] * modules/signals: Use array destructuring in _emit [!317, Jonas Dreßler] * GJS can't call glibtop_init function from libgtop [#259, !319, Philip Chimento] * GLib's VariantDict is missing lookup [#263, !320, Sonny Piers] * toString on an object implementing an interface fails [#252, !299, Marco Trevisan] * Regression in GstPbutils.Discoverer::discovered callback [#262, !318, Philip Chimento] * GLib.Variant.deep_unpack not working properly with a{sv} variants [#225, !321, Fabián Orccón, Philip Chimento] * Various maintenance [!315, Philip Chimento] - Various CI fixes [Philip Chimento] Version 1.57.4 -------------- - Closed bugs and merge requests: * gjs 1.57 requires a recent sysprof version for sysprof-capture-3 [#258, !309, Olivier Fourdan] - Misc documentation changes [Philip Chimento] Version 1.57.3 -------------- - The GJS profiler is now integrated directly into Sysprof 3, via the GJS_TRACE_FD environment variable. Call stack information and garbage collector timing will show up in Sysprof. See also GNOME/Initiatives#10 - New JS API: System.addressOfGObject(obj) will return a string with the hex address of the underlying GObject of `obj` if it is a GObject wrapper, or throw an exception if it is not. This is intended for debugging. - New JS API: It's now possible to pass a value from Gio.DBusProxyFlags to the constructor of a class created by Gio.DBusProxy.makeProxyWrapper(). - Backwards-incompatible change: Trying to read a write-only property on a DBus proxy object, or write a read-only property, will now throw an exception. Previously it would fail silently. It seems unlikely any code is relying on the old behaviour, and if so then it was probably masking a bug. - Closed bugs and merge requests: * Build failure on Continuous [#253, !300, Philip Chimento] * build: Bump glib requirement [!302, Florian Müllner] * profiler: avoid clearing 512 bytes of stack [!304, Christian Hergert] * system: add addressOfGObject method [!296, Marco Trevisan] * Add support for GJS_TRACE_FD [!295, Christian Hergert] * Gio: Make possible to pass DBusProxyFlags to proxy wrapper [!297, Marco Trevisan] * Various maintenance [!301, Philip Chimento] * Marshalling of GPtrArray broken [#9, !307, Stéphane Seng] * Build fix [!308, Philip Chimento] * Gio: sync dbus wrapper properties flags [!298, Marco Trevisan] * GjsMaybeOwned: Reduce allocation when used as Object member [!303, Marco Trevisan] Version 1.57.2 -------------- - There are now overrides for Gio.SettingsSchema and Gio.Settings which avoid aborting the whole process when trying to access a nonexistent key or child schema. The original API from GLib was intended for apps, since apps should have complete control over which settings keys they are allowed to access. However, it is not a good fit for shell extensions, which may need to access different settings keys depending on the version of GNOME shell they're running on. This feature is based on code from Cinnamon which the copyright holders have kindly agreed to relicense to GJS's license. - New JS API: It is now possible to pass GObject.TypeFlags to GObject.registerClass(). For example, passing `GTypeFlags: GObject.TypeFlags.ABSTRACT` in the class info object, will create a class that cannot be instantiated. This functionality was present in Lang.Class but has been missing from GObject.registerClass(). - Closed bugs and merge requests: * Document logging features [#230, !288, Andy Holmes] * Support optional GTypeFlags value in GObject subclasses [!290, Florian Müllner] * Ensure const-correctness in C++ objects [#105, !291, Onur Şahin] * Programmer errors with GSettings cause segfaults [#205, !284, Philip Chimento] * Various maintenance [!292, Philip Chimento] * debugger: Fix summary help [!293, Florian Müllner] * context: Use Heap pointers for GC objects stored in vectors [!294, Philip Chimento] Version 1.56.2 -------------- - Closed bugs and merge requests: * Crash in BoxedInstance when struct could not be allocated directly [#240, !285, Philip Chimento] * Cairo conversion bugs [!286, Philip Chimento] * Gjs crashes when binding inherited property to js added gobject-property [#246, !289, Marco Trevisan] * console: Don't accept --profile after the script name [!287, Philip Chimento] Version 1.57.1 -------------- - Closed bugs and merge requests: * Various maintenance [!279, Philip Chimento] * mainloop: Assign null to property instead of deleting [!280, Jason Hicks] * Added -d version note README.md [!282, Nauman Umer] * Extra help for debugger commands [#236, !283, Nauman Umer] * Crash in BoxedInstance when struct could not be allocated directly [#240, !285, Philip Chimento] * Cairo conversion bugs [!286, Philip Chimento] Version 1.56.1 -------------- - Closed bugs and merge requests: * Calling dumpHeap() on non-existent directory causes crash [#134, !277, Philip Chimento] * Using Gio.MemoryInputStream.new_from_data ("string") causes segfault [#221, !278, Philip Chimento] * Fix gjs_context_eval() for non-zero-terminated strings [!281, Philip Chimento] Version 1.56.0 -------------- - No change from 1.55.92. Version 1.55.92 --------------- - Closed bugs and merge requests: * Fix CI failures [!269, Philip Chimento] * Possible memory allocation/deallocation bug (possibly in js_free() in GJS) [!270, Chun-wei Fan, Philip Chimento] * cairo-context: Special-case 0-sized vector [!271, Florian Müllner] * Add some more eslint rules [!272, Florian Müllner] * win32/NMake: Fix introspection builds [!274, Chun-wei Fan] * NMake/libgjs-private: Export all the public symbols there [!275, Chun-wei Fan] Version 1.55.91 --------------- - The problem of freezing while running the tests using GCC's sanitizers was determined to be a bug in GCC, which was fixed in GCC 9.0.1. - Closed bugs and merge requests: * gnome-sound-recorder crashes deep inside libgjs [#223, !266, Philip Chimento] * Various maintenance [!267, Philip Chimento] * wrapperutils: Define $gtype property as non-enumerable [!268, Philip Chimento] Version 1.55.90 --------------- - New JS API: It's now possible to call and implement DBus methods whose parameters or return types include file descriptor lists (type signature 'h'.) This involves passing or receiving a Gio.UnixFDList instance along with the parameters or return values. To call a method with a file descriptor list, pass the Gio.UnixFDList along with the rest of the parameters, in any order, the same way you would pass a Gio.Cancellable or async callback. For return values, things are a little more complicated, in order to avoid breaking existing code. Previously, synchronously called DBus proxy methods would return an unpacked GVariant. Now, but only if called with a Gio.UnixFDList, they will return [unpacked GVariant, Gio.UnixFDList]. This does not break existing code because it was not possible to call a method with a Gio.UnixFDList before, and the return value is unchanged if not calling with a Gio.UnixFDList. This does mean, unfortunately, that if you have a method with an 'h' in its return signature but not in its argument signatures, you will have to call it with an empty FDList in order to receive an FDList with the return value, when calling synchronously. On the DBus service side, when receiving a method call, we now pass the Gio.UnixFDList received from DBus to the called method. Previously, sync methods were passed the parameters, and async methods were passed the parameters plus the Gio.DBusInvocation object. Appending the Gio.UnixFDList to those parameters also should not break existing code. See the new tests in installed-tests/js/testGDBus.js for examples of calling methods with FD lists. - We have observed on the CI server that GJS 1.55.90 will hang forever while running the test suite compiled with GCC 9.0.0 and configured with the --enable-asan and --enable-ubsan arguments. This should be addressed in one of the following 1.55.x releases. - Closed bugs and merge requests: * GDBus proxy overrides should support Gio.DBusProxy.call_with_unix_fd_list() [#204, !263, Philip Chimento] * Add regression tests for GObject vfuncs [!259, Jason Hicks] * GjsPrivate: Sources should be C files [!262, Philip Chimento] * build: Vendor last-good version of AX_CODE_COVERAGE [!264, Philip Chimento] Version 1.55.4 -------------- - Closed bugs and merge requests: * Various maintenance [!258, Philip Chimento] * Boxed copy constructor should not be called, split Boxed into prototype and instance structs [#215, !260, Philip Chimento] Version 1.55.3 -------------- - Closed bugs and merge requests: * Manually constructed ByteArray toString segfaults [#219, !254, Philip Chimento] * signals: Add _signalHandlerIsConnected method [!255, Jason Hicks] * Various maintenance [!257, Philip Chimento] Version 1.52.5 -------------- - This was a release consisting only of backports from the GNOME 3.30 branch to the GNOME 3.28 branch. - This release includes the "Big Hammer" patch from GNOME 3.30 to reduce memory usage. For more information, read the blog post at https://feaneron.com/2018/04/20/the-infamous-gnome-shell-memory-leak/ It was not originally intended to be backported to GNOME 3.28, but in practice several Linux distributions already backported it, and it has been working well to reduce memory usage, and the bugs have been ironed out of it. It does decrease performance somewhat, so if you don't want that then don't install this update. - Closed bugs and merge requests: * Ensure not to miss the force_gc flag [#150, !132, Carlos Garnacho] * Make GC much more aggressive [#62, !50, Giovanni Campagna, Georges Basile Stavracas Neto, Philip Chimento] * Queue GC when a GObject reference is toggled down [#140, !114, !127, Georges Basile Stavracas Neto] * Reduce memory overhead of g_object_weak_ref() [#144, !122, Carlos Garnacho, Philip Chimento] * context: Defer and therefore batch forced GC runs [performance] [!236, Daniel van Vugt] * context: use timeout with seconds to schedule a gc trigger [!239, Marco Trevisan] * Use compacting GC on RSS size growth [!133, #151, Carlos Garnacho] * GType memleak fixes [!244, Marco Trevisan] Version 1.55.2 -------------- - Closed bugs and merge requests: * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco Trevisan] * Various maintenance [!235, !250, Philip Chimento] * Auto pointers builder [!243, Marco Trevisan] * configure.ac: Update bug link [!245, Andrea Azzarone] * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone, Philip Chimento] * Fix build with --enable-dtrace and create CI job to ensure it doesn't break in the future [#196, !237, !253, Philip Chimento] * Delay JSString-to-UTF8 conversion [!249, Philip Chimento] * Annotate return values [!251, Philip Chimento] * Fix a regression with GError toString() [!252, Philip Chimento] * GType memleak fixes [!244, Marco Trevisan] * Atoms refactor [!233, Philip Chimento, Marco Trevisan] * Write a "Code Hospitable" README file [#17, !248, Philip Chimento, Andy Holmes, Avi Zajac] * object: Method lookup repeatedly traverses introspection [#54, !53, Colin Walters, Philip Chimento] * Handler of GtkEditable::insert-text signal is not run [#147, !143, Tomasz Miąsko, Philip Chimento] Version 1.54.3 -------------- - Closed bugs and merge requests: * object: Fix write-only properties [!246, Philip Chimento] * SIGSEGV when exiting gnome-shell [#212, !247, Andrea Azzarone] * SelectionData.get_targets crashes with "Unable to resize vector" [#201, !241, Philip Chimento] * Gnome-shell crashes on destroying cached param specs [#213, !240, Marco Trevisan] * GType memleak fixes [!244, Marco Trevisan] * Fix build with --enable-dtrace and create CI job to ensure it doesn't break in the future [#196, !253, Philip Chimento] Version 1.54.2 -------------- - Closed bugs and merge requests: * context: Defer and therefore batch forced GC runs [performance] [!236, Daniel van Vugt] * context: use timeout with seconds to schedule a gc trigger [!239, Marco Trevisan] * fundamental: Check if gtype is valid before using it [!242, Georges Basile Stavracas Neto] - Backported a fix for a crash in the interactive interpreter when executing something like `throw "foo"` [Philip Chimento] - Backported various maintenance from 3.31 [Philip Chimento] Version 1.55.1 -------------- - New API for programs that embed GJS: gjs_memory_report(). This was already an internal API, but now it is exported. - Closed bugs and merge requests: * object: Implement newEnumerate hook for GObject [!155, Ole Jørgen Brønner] * Various maintenance [!228, Philip Chimento] * ByteArray.toString should stop at null bytes [#195, !232, Philip Chimento] * Byte arrays that represent encoded strings should be 0-terminated [#203, !232, Philip Chimento] * context: Defer and therefore batch forced GC runs [performance] [!236, Daniel van Vugt] * context: use timeout with seconds to schedule a gc trigger [!239, Marco Trevisan] * arg: Add special-case for byte arrays going to C [#67, !49, Jasper St. Pierre, Philip Chimento] Version 1.52.4 -------------- - This was a release consisting only of backports from the GNOME 3.30 branch to the GNOME 3.28 branch. - Closed bugs and merge requests: * `ARGV` encoding issues [#22, !108, Evan Welsh] * Segfault on enumeration of GjSFileImporter properties when a searchpath entry contains a symlink [#154, !144, Ole Jørgen Brønner] * Possible refcounting bug around GtkListbox signal handlers [#24, !154, Philip Chimento] * Fix up GJS_DISABLE_JIT flag now the JIT is enabled by default in SpiderMonkey [!159, Christopher Wheeldon] * Expose GObject static property symbols. [!197, Evan Welsh] * Do not run linters on tagged commits [!181, Claudio André] * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip Chimento] * gjs no longer builds after recent autoconf-archive updates [#149, !217, Philip Chimento] Version 1.54.1 -------------- - Closed bugs and merge requests: * legacy: Ensure generated GType names are valid [!229, Florian Müllner] * Fix GJS profiler with MozJS 60 [!230, Georges Basile Stavracas Neto] * Regression with DBus proxies [#202, !231, Philip Chimento] Version 1.54.0 -------------- - Compatibility fix for byte arrays: the legacy toString() behaviour of byte arrays returned from GObject-introspected functions is now restored. If you use the functionality, a warning will be logged asking you to upgrade your code. - Closed bugs and merge requests: * byteArray: Add compatibility toString property [Philip Chimento, !227] Version 1.53.92 --------------- - Technology preview of a GNOME 3.32 feature: native Promises for GIO-style asynchronous operations. This is the result of Avi Zajac's summer internship. To use it, you can opt in once for each specific asynchronous method, by including code such as the following: Gio._promisify(Gio.InputStream.prototype, 'read_bytes_async', 'read_bytes_finish'); After executing this, you will be able to use native Promises with the Gio.InputStream.prototype.read_async() method, simply by not passing a callback to it: try { let bytes = await stream.read_bytes_async(count, priority, cancel); } catch (e) { logError(e, 'Failed to read bytes'); } Note that any "success" boolean return values are deleted from the array of return values from the async method. That is, let [contents, etag] = file.load_contents_async(cancel); whereas the callback version still returns a useless [ok, contents, etag] that can never be false, since on false an exception would be thrown. In the callback version, we must keep this for compatibility reasons. Note that due to a bug in GJS (https://gitlab.gnome.org/GNOME/gjs/issues/189), promisifying methods on Gio.File.prototype and other interface prototypes will not work. We provide the API Gio._LocalFilePrototype on which you can promisify methods that will work on Gio.File instances on the local disk only: Gio._promisify(Gio._LocalFilePrototype, 'load_contents_async', 'load_contents_finish'); We estimate this will cover many common use cases. Since this is a technology preview, we do not guarantee API stability with the version coming in GNOME 3.32. These APIs are marked with underscores to emphasize that they are not stable yet. Use them at your own risk. - Closed bugs and merge requests: * Added promisify to GJS GIO overrides [!225, Avi Zajac] * Temporary fix for Gio.File.prototype [!226, Avi Zajac] Version 1.53.91 --------------- - Closed bugs and merge requests: * CI: add webkit and gtk-app tests [!222, Claudio André] * Fix example eslint errors [!207, Claudio André, Philip Chimento] * Fix more "lost" GInterface properties [!223, Florian Müllner] * Fix --enable-installed-tests when built from a tarball [!224, Simon McVittie] Version 1.53.90 --------------- - GJS now depends on SpiderMonkey 60 and requires a compiler capable of C++14. - GJS includes a simple debugger now. It has basic stepping, breaking, and printing commands, that work like GDB. Activate it by running the GJS console interpreter with the -d or --debugger flag before the name of the JS program on the command line. - New API for programs that embed GJS: gjs_context_setup_debugger_console(). To integrate the debugger into programs that embed the GJS interpreter, call this before executing the JS program. - New JavaScript features! This version of GJS is based on SpiderMonkey 60, an upgrade from the previous ESR (Extended Support Release) of SpiderMonkey 52. Here are the highlights of the new JavaScript features. For more information, look them up on MDN or devdocs.io. * New syntax + `for await (... of ...)` syntax is used for async iteration. + The rest operator is now supported in object destructuring: e.g. `({a, b, ...cd} = {a: 1, b: 2, c: 3, d: 4});` + The spread operator is now supported in object literals: e.g. `mergedObject = {...obj1, ...obj2};` + Generator methods can now be async, using the `async function*` syntax, or `async* f() {...}` method shorthand. + It's now allowed to omit the variable binding from a catch statement, if you don't need to access the thrown exception: `try {...} catch {}` * New APIs + Promise.prototype.finally(), popular in many third-party Promise libraries, is now available natively. + String.prototype.toLocaleLowerCase() and String.prototype.toLocaleUpperCase() now take an optional locale or array of locales. + Intl.PluralRules is now available. + Intl.NumberFormat.protoype.formatToParts() is now available. + Intl.Collator now has a caseFirst option. + Intl.DateTimeFormat now has an hourCycle option. * New behaviour + There are a lot of minor behaviour changes as SpiderMonkey's JS implementation conforms ever closer to ECMAScript standards. For complete information, read the Firefox developer release notes: https://developer.mozilla.org/en-US/Firefox/Releases/53#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/54#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/55#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/56#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/57#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/58#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/59#JavaScript https://developer.mozilla.org/en-US/Firefox/Releases/60#JavaScript * Backwards-incompatible changes + Conditional catch clauses have been removed, as they were a Mozilla extension which will not be standardized. This requires some attention in GJS programs, as previously we condoned code like `catch (e if e.matches(Gio.IOError, Gio.IOError.EXISTS))` with a comment in overrides/GLib.js, so it's likely this is used in several places. + The nonstandard `for each (... in ...)` loop was removed. + The nonstandard legacy lambda syntax (`function(x) x*x`) was removed. + The nonstandard Mozilla iteration protocol was removed, as well as nonstandard Mozilla generators, including the Iterator and StopIteration objects, and the Function.prototype.isGenerator() method. + Array comprehensions and generator comprehensions have been removed. + Several nonstandard methods were removed: ArrayBuffer.slice() (but not the standard version, ArrayBuffer.prototype.slice()), Date.prototype.toLocaleFormat(), Function.prototype.isGenerator(), Object.prototype.watch(), and Object.prototype.unwatch(). - Many of the above backwards-incompatible changes can be caught by scanning your source code using https://gitlab.gnome.org/ptomato/moz60tool, or https://extensions.gnome.org/extension/1455/spidermonkey-60-migration-validator/ - Deprecation: the custom ByteArray is now discouraged. Instead of ByteArray, use Javascript's native Uint8Array. The ByteArray module still contains functions for converting between byte arrays, strings, and GLib.Bytes instances. The old ByteArray will continue to work as before, except that Uint8Array will now be returned from introspected functions that previously returned a ByteArray. To keep your old code working, change this: let byteArray = functionThatReturnsByteArray(); to this: let byteArray = new ByteArray.ByteArray(functionThatReturnsByteArray()); To port to the new code: * ByteArray.ByteArray -> Uint8Array * ByteArray.fromArray() -> Uint8Array.from() * ByteArray.ByteArray.prototype.toString() -> ByteArray.toString() * ByteArray.ByteArray.prototype.toGBytes() -> ByteArray.toGBytes() * ByteArray.fromString(), ByteArray.fromGBytes() remain the same * Unlike ByteArray, Uint8Array's length is fixed. Assigning an element past the end of a ByteArray would lengthen the array. Now, it is ignored. Instead use Uint8Array.of(), for example, this code: let a = ByteArray.fromArray([97, 98, 99, 100]); a[4] = 101; should be replaced by this code: let a = Uint8Array.from([97, 98, 99, 100]); a = Uint8Array.of(...a, 101); The length of the byte array must be set at creation time. This code will not work anymore: let a = new ByteArray.ByteArray(); a[0] = 255; Instead, use "new Uint8Array(1)" to reserve the correct length. - Closed bugs and merge requests: * Run tests using real software [#178, !192, Claudio André] * Script tests are missing some errors [#179, !192, Claudio André] * Create a '--disable-readline' option and use it [!196, Claudio André] * CI: stop using Fedora for clang builds [!198, Claudio André] * Expose GObject static property symbols. [!197, Evan Welsh] * CI fixes [!200, Claudio André] * Docker images creation [!201, Claudio André] * Get Docker images built and stored in GJS registry [#185, !203, !208, Claudio André, Philip Chimento] * Clear the static analysis image a bit more [!205, Claudio André] * Rename the packaging job to flatpak [!210, Claudio André] * Create SpiderMonkey 60 docker images [!202, Claudio André] * Debugger [#110, !204, Philip Chimento] * Add convenience g_object_set() replacement [!213, Florian Müllner] * Add dependencies of the real tests (examples) [!215, Claudio André] * CWE-126 [#174, !218, Philip Chimento] * gjs no longer builds after recent autoconf-archive updates [#149, !217, Philip Chimento] * gjs-1.52.0 fails to compile against x86_64 musl systems [#132, !214, Philip Chimento] * Run the GTK real tests (recently added) [!212, Claudio André] * Fix thorough tests failures [!220, Philip Chimento] * Port to SpiderMonkey 60 [#161, !199, Philip Chimento] * Replace ByteArray with native ES6 TypedArray [#5, !199, Philip Chimento] * Overriding GInterface properties broke [#186, !216, Florian Müllner, Philip Chimento] * Avoid segfault when checking for GByteArray [!221, Florian Müllner] - Various build fixes [Philip Chimento]
# magrittr 2.0.1 * Fixed issue caused by objects with certain names being present in the calling environment (#233). * Fixed regression in `freduce()` with long lists (kcf-jackson/sketch#5). # magrittr 2.0.0 ## Fast and lean implementation of the pipe The pipe has been rewritten in C with the following goals in mind: - Minimal performance cost. - Minimal impact on backtraces. - No impact on reference counts. As part of this rewrite we have changed the behaviour of the pipe to make it closer to the implementation that will likely be included in a future version of R. The pipe now evaluates piped expressions lazily (#120). The main consequence of this change is that warnings and errors can now be handled by trailing pipe calls: ```r stop("foo") %>% try() warning("bar") %>% suppressWarnings() ``` ## Breaking changes The pipe rewrite should generally not affect your code. We have checked magrittr on 2800 CRAN packages and found only a dozen of failures. The development version of magrittr has been advertised on social media for a 3 months trial period, and no major issues were reported. However, there are some corner cases that might require updating your code. Below is a report of the backward incompatibilities we found in real code to help you transition, should you find an issue in your code. ### Behaviour of `return()` in a pipeline In previous versions of magrittr, the behaviour of `return()` within pipe expressions was undefined. Should it return from the current pipe expression, from the whole pipeline, or from the enclosing function? The behaviour that makes the most sense is to return from the enclosing function. However, we can't make this work easily with the new implementation, and so calling `return()` is now an error. ```r my_function <- function(x) { x %>% { if (.) return("true") "false" } } my_function(TRUE) #> Error: no function to return from, jumping to top level ``` In magrittr 1.5, `return()` used to return from the current pipe expression. You can rewrite this to the equivalent: ```r my_function <- function(x) { x %>% { if (.) { "true" } else { "false" } } } my_function(TRUE) #> [1] "true" ``` For backward-compatibility we have special-cased trailing `return()` calls as this is a common occurrence in packages: ```r 1 %>% identity() %>% return() ``` Note however that this only returns from the pipeline, not the enclosing function (which is the historical behaviour): ```r my_function <- function() { "value" %>% identity() %>% return() "wrong value" } my_function() #> [1] "wrong value" ``` It is generally best to avoid using `return()` in a pipeline, even if trailing. ### Failures caused by laziness With the new lazy model for the evaluation of pipe expressions, earlier parts of a pipeline are not yet evaluated when the last pipe expression is called. They only get evaluated when the last function actually uses the piped arguments: ```r ignore <- function(x) "return value" stop("never called") %>% ignore() #> [1] "return value" ``` This should generally not cause problems. However we found some functions with special behaviour, written under the assumption that earlier parts of the pipeline were already evaluated and had already produced side effects. This is generally incorrect behaviour because that means that these functions do not work properly when called with the nested form, e.g. `f(g(1))` instead of `1 %>% g() %>% f()`. The solution to fix this is to call `force()` on the inputs to force evaluation, and only then check for side effects: ```r my_function <- function(data) { force(data) peek_side_effect() } ``` Another issue caused by laziness is that if any function in a pipeline returns invisibly, than the whole pipeline returns invisibly as well. ```r 1 %>% identity() %>% invisible() 1 %>% invisible() %>% identity() 1 %>% identity() %>% invisible() %>% identity() ``` This is consistent with the equivalent nested code. This behaviour can be worked around in two ways. You can force visibility by wrapping the pipeline in parentheses: ```r my_function <- function(x) { (x %>% invisible() %>% identity()) } ``` Or by assigning the result to a variable and return it: ```r my_function <- function(x) { out <- x %>% invisible() %>% identity() out } ``` ### Incorrect call stack introspection The magrittr expressions are no longer evaluated in frames that can be inspected by `sys.frames()` or `sys.parent()`. Using these functions for implementing actual functionality (as opposed as debugging tools) is likely to produce bugs. Instead, you should generally use `parent.frame()` which works even when R code is called from non-inspectable frames. This happens with e.g. `do.call()` and the new C implementation of magrittr. ### Incorrect assumptions about magrittr internals Some packages were depending on how magrittr was internally structured. Robust code should only use the documented and exported API of other packages. ## Bug fixes * Can now use the placeholder `.` with the splicing operator `!!!` from rlang (#191). * Piped arguments are now persistent. They can be evaluated after the pipeline has returned, which fixes subtle issues with function factories (#159, #195).
Change since 1.3.1 from RELEASE_NOTES 1.4.0 2018/06/?? Add ARC support. Extensive work contributed by ValiMail. Add "DomainWhitelist" and "DomainWhitelistFile" config options. Extract client IP address for ARC reports when provided via Authentication-Results. Update SQL schema to support new reporting functionality for DKIM selectors and ARC local policy overrides (refer to the example schema.mysql file). Add experimental support for reporting of ARC local policy overrides. Add support for recording and reporting of DKIM selectors. Override a DMARC "fail" if an ARC "pass" is recorded in conjunction with an ARC policy pass. Fix bug #137: Handle base64 inside AR tokens that are values. Problem reported by Joseph Coffland. LIBOPENDMARC: Fix bug #203: Reject DMARC records that have duplicate tags in them. Reported by Dirk Stoecker. REPORTS: Feature request #146: Add option to pull input from a file. REPORTS: Fix bug #153: Suppress duplicate results from the same domain. Patch from Tomki Camp. 1.3.2 2017/03/04 Feature request #86: Change meaning of "RequiredHeaders" such that header validity is always checked, but messages are only rejected on that basis when the flag is set. Based on a patch from Andreas Schulze. Feature request #127: Log SPF results when rejecting. Requested by Patrick Wagner; patch from Andreas Schulze, follow-up patch from Juri Haberland. Feature request #138: Inculde policy and disposition information in an Authentication-Results comment. Based on a patch from Juri Haberland. Feature request #139: Include the client host name if known in failure reports. Suggested by Roland Turner; patch by Andreas Schulze. Fix bug #95: Assume IPv6 for SPF operations. Patch from Juri Haberland. Fix bug #120: Fix control logic around the SPF result. Reported by Christophe Wolfhugel; patch from Andreas Schulze. Fix bug #122: Don't skip the HELO milter phase when SPF is enabled. Reported by Christophe Wolfhugel. Fix bug #157: Fix logging of implicit authserv-ids. Reported by Andreas Schulze; patch from Juri Haberland. Fix bug #158: Log ignored connections. Patch from Andreas Schulze. Fix bug #160: Fix "SyslogFacility" handling. Patch from Juri Haberland. Fix bug #163: Use a larger buffer for the raw MAIL FROM value. Based on a patch from Andreas Schulze. Fix bug #174: Trim "!" suffixes from reporting addresses. Problem noted by Juri Haberland. Fix bug #186: When reloading the configuration file, the public suffix list was read in with the wrong comment indicator. Patch from Federico Omoto. Fix bug #194: Fix inappropriate DMARC status when "p=none" is discovered. Patch from Juri Haberland. Fix bug #195: When parsing Received-SPF, use the correct constants in the history file entries. Patch from Juri Haberland. LIBOPENDMARC: Fix bug #115: Fix type mismatch. Patch from Sebastian A. Siewior via Scott Kitterman. LIBOPENDMARC: Fix bug #121: Fix IPv6 CIDR matching in SPF code. Patch from Christophe Wolfhugel. LIBOPENDMARC: Fix bug #125: Compile time IPv6 fix. Reported by Christophe Wolfhugel. LIBOPENDMARC: Fix bug #131: Fix alignment bug. Patch from Andreas Schulze. LIBOPENDMARC: Fix bug #147: Fix stripping of whitespace from DMARC DNS records. Based on a patch from Job Noorman. LIBOPENDMARC: Fix bug #149: Apply "sp" setting, if present and applicable. Patch from Petr Novak. LIBOPENDMARC: Fix bug #154: Fix "rf" and "fo" processing logic. LIBOPENDMARC: Fix bug #156: Fix variable name. Patch by Andreas Schulze. LIBOPENDMARC: Fix bug #165: Fix logic in checking which SPF identifier was used. Patches from Marco Favero and Juri Haberland. LIBOPENDMARC: Fix bug #167: Don't return "fail" when we should return "none". Patch from Marco Favero. REPORTS: Fix bug #134: Handle SMTP errors correctly. Patch from Andreas Schulze. REPORTS: Fix bug #141: Set the HELO parameter correctly. Reported by Alan Smith; patch from Andreas Schulze. REPORTS: Fix bug #143: Fix logic in table truncation. Reported by Wayne Andersen; patch from Juri Haberland. REPORTS: Fix bug #162: Always report "sp" in aggregate reports. Patch from Juri Haberland. REPORTS: Fix bug #166: Fix report start/end time logic. Patch from Juri Haberland. REPORTS: Fix bug #188: Don't delete inputs too early in opendmarc-reports. Patch from Juri Haberland. TOOLS: Fix bug #161: "Forensic" reports were renamed "Failure" reports. Patch from Andreas Schulze. TOOLS: Fix bug #164: Handle IPv6 test addresses. Reported by Andreas Schulze; patch from Juri Haberland. DOCS: Patch #189: Replace the DMARC RFC with an HTML page referencing the relevant specs, since Debian doesn't consider RFCs to be "free". Patch from Scott Kitterman via Juri Haberland.
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)
# 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)
# rvest 1.0.1 * `html_table()` correctly handles tables with cells that contain blank values for `rowspan` and/or `colspan`, so that e.g. `<td rowspan="">` is parsed as `<td rowspan=1>` (@epiben, #323). * Fix broken example # rvest 1.0.0 ## New features * New `html_text2()` provides a more natural rendering of HTML nodes into text, converting `<br>` into "\n", and removing non-significant whitespace (#175). By default, it also converts ` ` into regular spaces, which you can suppress with `preserve_nbsp = TRUE` (#284). * `html_table()` has been re-written from scratch to more closely mimic the algorithm that browsers use for parsing tables. This should mean that there are far fewer tables for which it fails to produce some output (#63, #204, #215). The `fill` argument has been deprecated since it is no longer needed. `html_table()` now returns a tibble rather than a data frame to be compatible with the rest of the tidyverse (#199). Its performance has been considerably improved (#237). It also gains a `na.strings` argument to control what values are converted to `NA` (#107), and a `convert` argument to control whether to run the conversion (#311). * New `html_form_submit()` allows you to submit a form directly, without needing to create a session (#300). * rvest is now licensed as MIT (#287). ## API changes Since this is the 1.0.0 release, I included a large number of API changes to make rvest more compatible with current tidyverse conventions. Older functions have been deprecated, so existing code will continue to work (albeit with a few new warnings). * rvest now imports xml2 rather than depending on it. This is cleaner because it avoids attaching all the xml2 functions that you're less likely to use. To reduce the change of breakages, rvest re-exports xml2 functions `read_html()` and `url_absolute()`, but your code may now need an explicit `library(xml2)`. * `html_form()` now returns an object with class `rvest_form` (instead of form). Fields within a form now have class `rvest_field`, instead of a variety of classes that were lacking the `rvest_` prefix. All functions for working with forms have a common `html_form_` prefix: `set_values()` became `html_form_set()`. `submit_form()` was renamed to `session_submit()` because it returns a session. * `html_node()` and `html_nodes()` have been superseded in favor of `html_element()` and `html_elements()` since they (almost) always return elements, not nodes (#298). * `html_session()` is now `session()` and returns an object of class `rvest_session` (instead of `session`). All functions that work with session objects now have a common `session_` prefix. * Long deprecated `html()`, `html_tag()`, `xml()` functions have been removed. * `minimal_html()` (which doesn't appear to be used by any other package) has had its arguments flipped to make it more intuitive. * `guess_encoding()` has been renamed to `html_encoding_guess()` to avoid a clash with `stringr::guess_encoding()` (#209). `repair_encoding()` has been deprecated because it doesn't appear to work. * `pluck()` is no longer exported to avoid a clash with `purrr::pluck()`; if you need it use `purrr::map_chr()` and friends instead (#209). * `xml_tag()`, `xml_node()`, and `xml_nodes()` have been formally deprecated in favor of their `html_` equivalents. ## Minor improvements and bug fixes * The "harvesting the web" vignette has been rewritten to focus more on basics rvest, eliminating the screenshots to keep the installed package as svelte as possible. It's also been renamed to `vignette("rvest")` since it's the vignette that you should read first. * The SelectorGadget vignette is now a web-only article, <https://rvest.tidyverse.org/articles/articles/selectorgadget.html>, so we can be more generous with screenshots since they're no longer bundled with every install of the package. Together with the rewrite of the other vignette, this means that rvest is now ~90 Kb instead of ~1.1 Mb. * All uses of IMDB have been eliminated since the site explicitly prohibits scraping (#195). * `session_submit()` errors if `form` doesn't have a `url` (#288). * New `session_forward()` function to complement `session_back()`. It now allows you to pick the submission button by position (#156). The `...` argument is deprecated; please use `config` instead. * `html_form_set()` can now accept character vectors allowing you to select multiple checkboxes in a set or select multiple values from a multi-`<select>` (#127, with help from @juba). It also uses dynamic dots so that you can use `!!!` if you have a list of values (#189). # rvest 0.3.6 * Remove failing example
Changes since 0.1.1: > This version has some breaking changes in the config file and, you will need to regenerate the config for all features to work. ## Notable changes - The tool is now compatible with next-gen/team-managed project. - New filters when listing issues, viz: - Filter by parent: This will allow you to list all sub-tasks of a task. - Order by filter: This will allow you to display a list sorted by their rank for example. - You can now assign epic to the issue on creation. - You can add issues to the sprint with `jira sprint add` ## What's added? - feat: Allow to assign epic on create #194 - feat: Cmd to add issues to sprint #205 - feat: Allow to filter by parent #197 - feat: Add order-by filter #206 - feat: Add type on project listing #190 ## What's fixed? - fix: Make epic add work in next-gen project #195 - fix: Epic creation for next-gen project #192 - fix: Make epic remove work in next-gen project #196 - fix: Make epic list work for next-gen project #201 - fix: Segmentation fault on view #202 - fix(tui): Link/key copy is broken for altered key col #204 ## Config changes - cfg!: Expand config to include project type #191 - cfg!: Rename field to name and add link field to epic #193 ## Dependency updates - dep: Upgrade rivo/tview #176 - dep: Upgrade outdated deps to latest #177 - dep: Use Go 1.17 #178 **Full Changelog**: ankitpokhrel/jira-cli@v0.1.1...v0.2.0
Update eog to 40.3 Highlights: - !106, EogImage: Do not crash if content type or filesize cannot be detected (Felix Riemann) - #195, Critical warning after closing EOG (invalid unclassed pointer; assertion 'EOG_IS_IMAGE (img)' failed) (Felix Riemann) - !100, Remove directories when unmount external drive (Krifa75) - #189, Crash Report: eog_thumb_view_clear_range: assertion failed: (start_thumb <= end_thumb) (Andrew Consroe) - #146, Part of a large image (exceeding certain dimensions) does not display (Felix Riemann) - #181, docs: Remove PicasaWeb support (Andre Klapper) - !83, Re-detect mimetype from data if loading fails the first time (Krifa75) - !89, Update EogWindow and EogListStore when deleting a monitored directory (Krifa75) - !85, Fix several image reference counting issues (Felix Riemann) - many new and updated translations
Upstream changes: R6 2.5.1 Removed unused packages from Suggests section in DESCRIPTION. R6 2.5.0 Resolved #195: Slightly clearer message when there is an error in the initialize() method. Fixed #214: When a non-portable object inheritance was cloned, methods that were inherited (and not overridden) had the wrong environment. (#215, #217) Printing R6 objects, no longer includes .__active__.
0.5.0 - 2022-06-02 Added Added support for tracing using IPv6 for icmp and udp (#35) Added BSOD error reporting to Tui (#179) Added Ctrl-C keyboard command to quit the Tui (#91) Changed Rewrite of network code to use RAW sockets (#195, #192) Fixed Setting -c (--report-cycles) to 1 returns no traces (#189) Tracer failures not being shown for reports (#183)
pysmb-1.2.8, 12 Jun 2022 ======================== - Fix issue with listPath based on recommendation in #195 - Fix embedded MD4 algorithm - Add SMB UTF-16 surrogate exception workaround policy
pkgsrc change: remove redundant PKGNAME. 2.3.0 (2022-06-19) Minor Enhancements * Separate tokenizer from hasher, allowing custom tokenizers. (#162) * Improved handling of Zero division and Zero vector normalization. (#173) * Support Numo Gem for performing SVD (#198) Development Fixes * remove deprecated has_rdoc in gemspec * auto-gen-config for Rubocop * auto-correct offenses * Freeze all Ruby string literals (#190) * Migrate TravisCI to GitHub Actions & Update Tested Ruby Versions (#195) * Test Native and GSL Implementations (#196) * Actually Use GSL in CI Tests (#197) Documentation * Updated Bayes docs for filters (#191)
1.53 2022-10-08 12:26:55-07:00 America/Los_Angeles * dist.ini - changed bugtracker.web to https://github.com/finance-quote/finance-quote/issues * DWS.pm - Set $info{$symbol, 'symbol'} to $symbol. * Union.pm - #231 - reworked for a different CSV file. * CurrencyRates/AlphaVantage.pm - API CURRENCY_EXCHANGE_RATE no longer accepts free API keys. Changed to use FX_DAILY API. Issue #229 PR #230 * Set minimum version for LWP::UserAgent in dist.ini to honor redirects. * CurrencyRates/AlphaVantage.pm - Added logic to account for empty JSON returned from currency exchange fetch. * Bourso.pm - Added Europe and France back as failover methods. These were removed some time ago in commit e26484b. * Tradeville.pm - Changed hostname in URL to tradeville.ro. Added logic to better account for the symbol not being found. * YahooJSON.pm - #202 - Account for symbols with '&'. * Minor change to isoTime function in Quote.pm. * Updated TSP.pm - PR #227 - update URL and handling of dates. 1.52 2022-07-03 15:15:38-07:00 America/Los_Angeles * Quote.pm - Fixed logic for FQ_LOAD_QUOTELET starting with "-defaults" reported in issue #197. PR #199. * AlphaVantage currency module: Don't recurse infinitely when exchange rate is less than .001 (PR 193) * Bourso.pm - Fixed data bug reported in issue #174 with PR #194. * TSP.pm - Minor fix for URL used to retrieve data. PR #195. Note: URL was changed after the PR was merged. Module remains in a non-working status. * TesouroDireto.pm - New module for Brazilian's National Treasury public bounds. PR #198. * Bloomberg.pm - Update Bloomberg class names #205. Correct html parsing errors. * MorningstarCH.pm - Re-enabled and fixed in #207. * ZA.pm - Change to return price from sharenet in major denomination. PR #208. * Changes to SourceForge project website HTML files. * Add [Prereqs] to dist.ini. #215 1.51 2021-07-04 14:41:59-07:00 America/Los_Angeles * Fix bugs in t/fq-object-methods.t * Add code to hide warning in t/currency_lookup.t 1.50 2021-06-26 20:52:16-07:00 America/Los_Angeles * New modules: CurrencyRates * Updated modules: ASX, TIAA-CREF, Fool, Currencies * Corrected some POD issues (thanks to the Debian Perl Group)
pkgsrc change: avoid use empty in options.mk. What's new in Sudo 1.9.13 (2023-02-14) * Fixed a bug running relative commands via sudo when "log_subcmds" is enabled. GitHub issue #194. * Fixed a signal handling bug when running sudo commands in a shell script. Signals were not being forwarded to the command when the sudo process was not run in its own process group. * Fixed a bug in cvtsudoers' LDIF parsing when the file ends without a newline and a backslash is the last character of the file. * Fixed a potential use-after-free bug with cvtsudoers filtering. GitHub issue #198. * Added a reminder to the default lecture that the password will not echo. This line is only displayed when the pwfeedback option is disabled. GitHub issue #195. * Fixed potential memory leaks in error paths. GitHub issues #199, #202. * Fixed potential NULL dereferences on memory allocation failure. GitHub issues #204, #211. * Sudo now uses C23-style attributes in function prototypes instead of gcc-style attributes if supported. * Added a new "list" pseudo-command in sudoers to allow a user to list another user's privileges. Previously, only root or a user with the ability to run any command as either root or the target user on the current host could use the -U option. This also includes a fix to the log entry when a user lacks permission to run "sudo -U otheruser -l command". Previously, the logs would indicate that the user tried to run the actual command, now the log entry includes the list operation. * JSON logging now escapes control characters if they happen to appear in the command or environment. * New Albanian translation from translationproject.org. * Regular expressions in sudoers or logsrvd.conf may no longer contain consecutive repetition operators. This is implementation- specific behavior according to POSIX, but some implementations will allocate excessive amounts of memory. This mainly affects the fuzzers. * Sudo now builds AIX-style shared libraries and dynamic shared objects by default instead of svr4-style. This means that the default sudo plugins are now .a (archive) files that contain a .so shared object file instead of bare .so files. This was done to improve compatibility with the AIX Freeware ecosystem, specifically, the AIX Freeware build of OpenSSL. Sudo will still load svr4-style .so plugins and if a .so file is requested, either via sudo.conf or the sudoers file, and only the .a file is present, sudo will convert the path from plugin.so to plugin.a(plugin.so) when loading it. This ensures compatibility with existing configurations. To restore the old, pre-1.9.13 behavior, run configure using the --with-aix-soname=svr4 option. * Sudo no longer checks the ownership and mode of the plugins that it loads. Plugins are configured via either the sudo.conf or sudoers file which are trusted configuration files. These checks suffered from time-of-check vs. time-of-use race conditions and complicate loading plugins that are not simple paths. Ownership and mode checks are still performed when loading the sudo.conf and sudoers files, which do not suffer from race conditions. The sudo.conf "developer_mode" setting is no longer used. * Control characters in sudo log messages and "sudoreplay -l" output are now escaped in octal format. Space characters in the command path are also escaped. Command line arguments that contain spaces are surrounded by single quotes and any literal single quote or backslash characters are escaped with a backslash. This makes it possible to distinguish multiple command line arguments from a single argument that contains spaces. * Improved support for DragonFly BSD which uses a different struct procinfo than either FreeBSD or 4.4BSD. * Fixed a compilation error on Linux arm systems running older kernels that may not define EM_ARM in linux/elf-em.h. GitHub issue #232. * Fixed a compilation error when LDFLAGS contains -Wl,--no-undefined. Sudo will now link using -Wl,--no-undefined by default if possible. GitHub issue #234. * Fixed a bug executing a command with a very long argument vector when "log_subcmds" or "intercept" is enabled on a system where "intercept_type" is set to "trace". GitHub issue #194. * When sudo is configured to run a command in a pseudo-terminal but the standard input is not connected to a terminal, the command will now be run as a background process. This works around a problem running sudo commands in the background from a shell script where changing the terminal to raw mode could interfere with the interactive shell that ran the script. GitHub issue #237. * A missing include file in sudoers is no longer a fatal error unless the error_recovery plugin argument has been set to false. What's new in Sudo 1.9.13p1 (2023-02-17) * Fixed a typo in the configure script that resulted in a line like "]: command not found" in the output. GitHub issue #238. * Corrected the order of the C23 [[noreturn]] attribute in function prototypes. This fixes a build error with GCC 13. GitHub issue #239. * The "check" make target misbehaved when there was more than one version of the UTF-8 C locale in the output of "locale -a". GitHub issue #241. * Removed a dependency on the AC_SYS_YEAR2038 macro in configure.ac. This was added in autoconf 2.72 but sudo's configure.ac only required autoconf 2.70. * Relaxed the autoconf version requirement to version 2.69.
v12.5.0 ------- - #195: Project now depends on ``path``. v12.4.0 ------- - #169: Project now depends on ``path < 13.2``. - Fixed typo in README. v12.3.0 ------- - #169: Project is renamed to simply ``path``. This release of ``path.py`` simply depends on ``path < 13.1``. v12.2.0 ------- - #169: Moved project at GitHub from ``jaraco/path.py`` to ``jaraco/path``. v12.1.0 ------- - #171: Fixed exception in ``rmdir_p`` when target is not empty. - #174: Rely on ``importlib.metadata`` on Python 3.8. v12.0.2 ------- - Refreshed package metadata. 12.0.1 ------ - #166: Removed 'universal' wheel support. 12.0 --- - #148: Dropped support for Python 2.7 and 3.4. - Moved 'path' into a package.
Release 0.20 (2023-05-09) ========================= * General - Docutils 0.20 is the last version supporting Python 3.7 and 3.8. - Support Python 3.11 (patch #198 by Hugo van Kemenade). * docutils/core.py - New functions `rst2…()` for use as "console_scripts" `entry points`_. (cf. `Future changes` in the RELEASE-NOTES_). * docutils/frontend.py - New configuration setting "output_". Obsoletes the ``<destination>`` positional argument (cf. `Future changes` in the RELEASE-NOTES_). * docutils/languages/ docutils/parsers/rst/languages/ - Support Ukrainian. Patch by Dmytro Kazanzhy. * docutils/nodes.py - Fix `previous_sibling()` method that led to invalid HTML in some cases (cf. patch #195). - Fix bug #463. Spurious comma in deprecation warning. * docutils/parsers/recommonmark_wrapper.py - Improved mock Sphinx module. * docutils/transforms/__init__.py - `Transformer.populate_from_components()` now silently ignores components that are not instances of `docutils.TransformSpec`. * docutils/transforms/frontmatter.py - Accept author names with initials like ``A. Einstein`` in the "author" `bibliographic field`_ instead of rising an error (generally, such names are `parsed as enumerated list`__). .. _bibliographic field: docs/ref/rst/restructuredtext.html#bibliographic-fields __ docs/ref/rst/restructuredtext.html#enumerated-lists * docutils/transforms/references.py - `DanglingReferences` ignores `citation_reference` nodes if the "use_bibex" setting is active. (In this case, citations are provided by LaTeX/BibTeX.) Fixes bug #384. * docutils/utils/__init__.py - New utility function `xml_declaration()`. - `DependencyList.add()` accepts `pathlib.Path` instances. - `find_file_in_dirs()` now returns a POSIX path also on Windows; `get_stylesheet_list()` no longer converts ``\`` to ``/``. * docutils/utils/math/latex2mathml.py - Support "mod" notation for modulo operation / modulus arithmetic. * docutils/utils/math/tex2mathml_extern.py - Support `Pandoc` as alternative LaTeX to MathML converter. Patch by Ximin Luo. * docutils/writers/_html_base.py - Refactoring of `HTMLTranslator` initialization and collecting of document "parts". Adapt HTML writers importing `_html_base`. Changes to the HTML output (no space character before closing tag of XML declaration, order of metadata elements) don't affect the HTML semantics, styling, and rendering. - Wrap definition lists with "details" class argument in a <div> with the "id" and "class" values of the list node. - Use dpub-ARIA role "doc-footnote__" (instead of ARIA role "note") for footnotes. __ https://www.w3.org/TR/dpub-aria-1.1/#doc-footnote * docutils/writers/latex2e/__init__.py - Do not load the `inputenc` package in UTF-8 encoded LaTeX sources. (UTF-8 is the default encoding for LaTeX2e since 2018). - Fix behaviour of the use_bibtex_ setting. - Outsource parts of `depart_document()` to new auxiliary methods `make_title()` and `append_bibliography()`. - Ensure POSIX paths in stylesheet loading macros. * docutils/writers/latex2e/titlepage.tex - Drop ``\usepackage{fixltx2e}`` from template. (Obsolete since 2015 and dropped from other templates in Docutils 0.14.) * docutils/writers/manpage.py - Do not output empty "manual" in ``.TH``. * docutils/writers/xetex/__init__.py - Ignore settings in the [latex2e writer] configuration file section. Place common settings in section [latex writers]. * setup.py - Fix SetuptoolsDeprecationWarning: ``Installing '' as data is deprecated`` by adding data directories to package_data.packages list. * tox.ini - Extracted flake8 configuration and moved to ``.flake8``. - changedir to directory ``test`` to avoid path problems. * test/ - Refactored tests to use common `unittest` idioms. Fixes errors when running the test suite with ``python -m unittest`` or external test frameworks, such as Pytest_. .. _pytest: https://pypi.org/project/pytest/ * test/coverage.sh - Removed. Use the coverage.py_ project instead, ``coverage run test/alltests.py`` and ``coverage report``. .. _coverage.py: https://pypi.org/project/coverage/ * tools/ - Moved ``quicktest.py`` to ``tools/dev/``.
What's Changed Fix building without duktape by @mattst88 in #180 Fix WITH_GNOME2 documentation by @mattst88 in #181 bindings: perl: Use ccflags from %Config for libproxy module compilation by @Vogtinator in #183 Use XDG_CURRENT_DESKTOP to detect GNOME desktop like systems by @janbrummer in #192 Enable the use of ducktape in Windows systems by @illera88 in #194 Enable static builds for libproxy by @illera88 in #195 Fix build on macOS by @wegank in #189 Complete rewrite by @janbrummer in #201 kde: Remove line breaks in values by @janbrummer in #203 Add man page for proxy tool by @janbrummer in #204 Add PX_FORCE_CONFIG env by @janbrummer in #205 add alert function to pacrunners by @multiSnow in #196 Update architecture documentation by @janbrummer in #206 Check for valid uri_host in ignore_ip() by @janbrummer in #210 Remove line break in debug output by @janbrummer in #211 Improve GNOME/KDE get_config() execution by @janbrummer in #212
# gargle 1.4.0 ## Google Compute Engine * `credentials_gce(scopes = NULL)` is now equivalent to `credentials_gce(scopes = "https://www.googleapis.com/auth/cloud-platform")`, i.e. there's an even stronger current towards the recommended "cloud-platform" scope. * `credentials_gce(scopes =)` now includes those `scopes` in its request to the metadata server for an access token (#216). Note that the scopes for a GCE access token are generally pre-determined for the instance and its associated service account at creation/launch time and these requested `scopes` will have no effect. But this seems to do no harm and it is possible that there are contexts where this is useful. * `credentials_gce()` now emits considerably more information when the `"gargle_verbosity"` option is set to `"debug"`. For example, it reports mismatches between requested scopes and instance scopes and between requested scopes and the access token's actual scopes. * `credentials_gce()` stores the actual scopes of the received access token, which can differ from the requested scopes. This is also noted when the `"gargle_verbosity"` option is set to `"debug"`. * The `GceToken` R6 class gains a better `$print()` method that is more similar to gargle's treatment of tokens obtained with other flows. ## Behaviour in a cloud/server context * gargle is better able to detect when it's running on Posit Workbench or RStudio Server, e.g., in a subprocess. * `gargle_oauth_client_type()` is a new function that returns either "installed" or "web". It returns the value of the new global option by the same name (`"gargle_oauth_client_type"`), if defined. If the option is not defined, returns "web" on RStudio Server, Posit Workbench, Posit Cloud, or Google Colaboratory and "installed" otherwise. In the context of out-of-band (OOB) auth, an "installed" client type leads to the conventional OOB flow (only available for GCP projects in testing mode) and a "web" client leads to the new pseudo-OOB flow. The option and accessor have been added to cover contexts other than those mentioned above where it is helpful to request a "web" client. * `credentials_user_oauth2()` now works in Google Colaboratory (#140). ## Everything else * gargle now elicits user input via `readline()`, instead of via `utils::menu()`, which is favorable for interacting with the user in a Jupyter notebook (#242). * The roxygen templating functions that wrapper packages can use to generate standardized documentation around auth have been updated to reflect gargle's pivot from OAuth "app" to "client". Changes of note: - `PREFIX_auth_configure_description()` crosslinks to `PREFIX_oauth_client()` now, not `PREFIX_oauth_app()`. So this assumes the package has indeed introduced the `PREFIX_oauth_client()` function (and, presumably, has deprecated `PREFIX_oauth_app()`). - `PREFIX_auth_configure_params()` gains `client` argument. - `PREFIX_auth_configure_params()` deprecates the `app` argument and uses a lifecycle badge. It is assumed that the badge SVG is present, which can be achieved with `usethis::use_lifecycle()`. - `PREFIX_auth_configure_params()` crosslinks to `gargle::gargle_oauth_client_from_json()`. The wrapper package therefore needs to state a minimum version for gargle, e.g. `gargle (>= 1.3.0)` (or higher). * `credentials_byo_oauth2()` works now for (variations of) service account tokens, as intended, not just for user tokens (#250). It also emits more information about scopes when the `"gargle_verbosity"` option is set to `"debug"`. # gargle 1.3.0 ## (Partial) deprecation out-of-band (OOB) auth flow On February 16, 2022, Google announced the gradual deprecation of the out-of-band (OOB) OAuth flow. OOB **still works** if the OAuth client is associated with a GCP project that is in testing mode and this is not going away. But OOB is no longer supported for projects in production mode. To be more accurate, some production-mode projects have gotten an extension to permit the use of OOB auth for a bit longer, but that's just a temporary reprieve. The typical user who will (eventually) be impacted is: * Using R via RStudio Server, Posit Workbench, or Posit Cloud. * Using tidyverse packages such as googledrive, googlesheets4, or bigrquery. * Relying on the built-in OAuth client. Importantly, this client is associated with a GCP project that is in production mode. The phased deprecation of OOB is nearly complete and we expect conventional OOB to stop working with the built-in tidyverse OAuth client on February 1, 2023, at the latest. **In preparation for this, gargle has gained support for a new flow, which we call pseudo-OOB (in contrast to conventional OOB)**. The pseudo-OOB flow is triggered when `use_oob = TRUE` (an existing convention in gargle and gargle-using packages) and the configured OAuth client is of "Web application" type. The gargle/googledrive/googlesheets4/bigrquery packages should now default to a "Web application" client on RStudio Server, Posit Workbench and Posit Cloud, leading the user through the pseudo-OOB flow. Other than needing to re-auth once, affected users should still find that things "just work". Read the `vignette("auth-from-web")` for more. ## gargle-specific notion of OAuth client `gargle_oauth_client()` is a new constructor for an S3 class by the same name. There are two motivations: - To adjust to Google's deprecation of conventional OOB and to support gargle's new pseudo-OOB flow, it is helpful for gargle to know whether an OAuth client ID is of type "Web application" or "Desktop app". That means we need a Google- and gargle-specific notion of an OAuth client, so we can introduce a `type` field. - A transition from httr to httr2 is on the horizon, so it makes sense to look more toward `httr2:oauth_client()` than to `httr::oauth_app()`. gargle's vocabulary is generally shifting towards "client" and away from "app". `oauth_app_from_json()` has therefore been (soft) deprecated, in favor of a new function `gargle_oauth_client_from_json()`, which is the preferred way to instantiate an OAuth client, since the downloaded JSON conveys the client type and redirect URI(s). As a bridging measure, `gargle_oauth_client` currently inherits from httr's `oauth_app`, but this probably won't be true in the long-term. `gargle_client(type =)` replaces `gargle_app()`. ## Google Compute Engine and Google Kubernetes Engine `credentials_gce()` no longer asks the user about initiating an OAuth cache, which is not relevant to that flow (#221). `gce_instance_service_accounts()` is a newly exported utility that exposes the service accounts available from the metadata server for the current instance (#234). The global option `"gargle.gce.timeout"` is newly documented in `credentials_gce()`. This controls the timeout, in seconds, for requests to the metadata server. The default value (or strategy) for setting this should often suffice, but the option exists for those with an empirical need to increase the timeout (#186, #195). `vignette("non-interactive-auth")` has a new section "Workload Identity on Google Kubernetes Engine (GKE)" that explains how gargle supports the use of workload identity for applications running on GKE. This is the recommended method of auth in R code running on GKE that needs to access other Google Cloud services, such as the BigQuery API (#197, #223, @MarkEdmondson1234). ## Credential function registry It's gotten a bit easier to work with the credential registry. The primary motivation is that, for example, on Google Compute Engine, you might actually want to suppress auth with the default service account and auth as a normal user instead. This is especially likely to come up with gmailr / the Gmail API. * The credential-fetcher `credentials_byo_oauth2()` has been moved to the very beginning of the default registry. The logic is that a user who has specified a non-`NULL` value of `token` must mean business and does not want automagic auth methods like ADC or GCE to be tried before using their `token` (#187, #225). * The `...` in `cred_funs_all()` are now [dynamic dots](https://rlang.r-lib.org/reference/dyn-dots.html) (#224). * Every registered credential function must have a unique name now. This is newly enforced by `cred_funs_add()` and `cred_funs_set()` (#224). * `cred_funs_list_default()` is a new function that returns gargle's default list of credential functions (#226). * `cred_funs_add(cred_fun = NULL)` is now available to remove a credential function from the registry (#224). * `with_cred_funs()` and `local_cred_funs()` are new helpers for making narrowly scoped changes to the registry (#226). * The `ls` argument of `cred_funs_set()` has been renamed to `funs` (#226). * In general, credential registry functions now return the current registry, invisibly (#224). # gargle 1.2.1 * Help files below `man/` have been re-generated, so that they give rise to valid HTML5. (This is the impetus for this release, to keep the package safely on CRAN.) * We have switched to newer oauth2.googleapis.com-based OAuth2 URIs, moving away from the accounts.google.com and googleapis.com/oauth2 equivalents. * `credentials_gce()` no longer validates the requested scopes against instance scopes. In practice, it's easy for this check to be more of a nuisance than a help (#161, #185 @craigcitro). * `request_retry()` retries for an expanded set of HTTP codes: 408, 429, 500, 502, 503. Previously, retries were limited to 429 (#169). ## Dependency changes * The minimum versions of rlang and testthat have been bumped. The motivation is to exploit and adapt to the changes to the display of error messages.
pkgsrc change: avoid use empty in options.mk. What's new in Sudo 1.9.13 (2023-02-14) * Fixed a bug running relative commands via sudo when "log_subcmds" is enabled. GitHub issue #194. * Fixed a signal handling bug when running sudo commands in a shell script. Signals were not being forwarded to the command when the sudo process was not run in its own process group. * Fixed a bug in cvtsudoers' LDIF parsing when the file ends without a newline and a backslash is the last character of the file. * Fixed a potential use-after-free bug with cvtsudoers filtering. GitHub issue #198. * Added a reminder to the default lecture that the password will not echo. This line is only displayed when the pwfeedback option is disabled. GitHub issue #195. * Fixed potential memory leaks in error paths. GitHub issues #199, #202. * Fixed potential NULL dereferences on memory allocation failure. GitHub issues #204, #211. * Sudo now uses C23-style attributes in function prototypes instead of gcc-style attributes if supported. * Added a new "list" pseudo-command in sudoers to allow a user to list another user's privileges. Previously, only root or a user with the ability to run any command as either root or the target user on the current host could use the -U option. This also includes a fix to the log entry when a user lacks permission to run "sudo -U otheruser -l command". Previously, the logs would indicate that the user tried to run the actual command, now the log entry includes the list operation. * JSON logging now escapes control characters if they happen to appear in the command or environment. * New Albanian translation from translationproject.org. * Regular expressions in sudoers or logsrvd.conf may no longer contain consecutive repetition operators. This is implementation- specific behavior according to POSIX, but some implementations will allocate excessive amounts of memory. This mainly affects the fuzzers. * Sudo now builds AIX-style shared libraries and dynamic shared objects by default instead of svr4-style. This means that the default sudo plugins are now .a (archive) files that contain a .so shared object file instead of bare .so files. This was done to improve compatibility with the AIX Freeware ecosystem, specifically, the AIX Freeware build of OpenSSL. Sudo will still load svr4-style .so plugins and if a .so file is requested, either via sudo.conf or the sudoers file, and only the .a file is present, sudo will convert the path from plugin.so to plugin.a(plugin.so) when loading it. This ensures compatibility with existing configurations. To restore the old, pre-1.9.13 behavior, run configure using the --with-aix-soname=svr4 option. * Sudo no longer checks the ownership and mode of the plugins that it loads. Plugins are configured via either the sudo.conf or sudoers file which are trusted configuration files. These checks suffered from time-of-check vs. time-of-use race conditions and complicate loading plugins that are not simple paths. Ownership and mode checks are still performed when loading the sudo.conf and sudoers files, which do not suffer from race conditions. The sudo.conf "developer_mode" setting is no longer used. * Control characters in sudo log messages and "sudoreplay -l" output are now escaped in octal format. Space characters in the command path are also escaped. Command line arguments that contain spaces are surrounded by single quotes and any literal single quote or backslash characters are escaped with a backslash. This makes it possible to distinguish multiple command line arguments from a single argument that contains spaces. * Improved support for DragonFly BSD which uses a different struct procinfo than either FreeBSD or 4.4BSD. * Fixed a compilation error on Linux arm systems running older kernels that may not define EM_ARM in linux/elf-em.h. GitHub issue #232. * Fixed a compilation error when LDFLAGS contains -Wl,--no-undefined. Sudo will now link using -Wl,--no-undefined by default if possible. GitHub issue #234. * Fixed a bug executing a command with a very long argument vector when "log_subcmds" or "intercept" is enabled on a system where "intercept_type" is set to "trace". GitHub issue #194. * When sudo is configured to run a command in a pseudo-terminal but the standard input is not connected to a terminal, the command will now be run as a background process. This works around a problem running sudo commands in the background from a shell script where changing the terminal to raw mode could interfere with the interactive shell that ran the script. GitHub issue #237. * A missing include file in sudoers is no longer a fatal error unless the error_recovery plugin argument has been set to false. What's new in Sudo 1.9.13p1 (2023-02-17) * Fixed a typo in the configure script that resulted in a line like "]: command not found" in the output. GitHub issue #238. * Corrected the order of the C23 [[noreturn]] attribute in function prototypes. This fixes a build error with GCC 13. GitHub issue #239. * The "check" make target misbehaved when there was more than one version of the UTF-8 C locale in the output of "locale -a". GitHub issue #241. * Removed a dependency on the AC_SYS_YEAR2038 macro in configure.ac. This was added in autoconf 2.72 but sudo's configure.ac only required autoconf 2.70. * Relaxed the autoconf version requirement to version 2.69.
v0.8.1 (Sat Aug 05 2023) Release Notes Add language selection (#190) You can now change the language of the current article by pressing F3 (requires an article to be open and the key can be configured). Within the popup, you can select a new language from the available ones (not all articles are available in all languages). This feature also include several configuration options, so be sure to check them out in the docs. Exciting New Features 🎉 - Add language selection #190 (@Builditluc) Bug Fixes 🐛 - Fix whitespace caused by quoteboxes #205 (@Builditluc) - Fix navigation links appearing in articles #204 (@Builditluc) - Fix missing elements because of nested divs #203 (@Builditluc) - Fix long gaps after lists #202 (@Builditluc) - Fix ghost lists from Portalbox #201 (@Builditluc) - Fix nested indentation #200 (@Builditluc) - Fix description list parsing #199 (@Builditluc) - Fix stack overflow crash when displaying a Namespace #198 (@Builditluc) - Fix padding for list items #196 (@Builditluc) - Fix disambiguation padding and prefix #195 (@Builditluc) - Fix viewport reset after link selection #194 (@Builditluc) - Notify on links with an Anchor #192 (@Builditluc) Structure and Style Changes - Rework Links to be more stable #191 (@Builditluc)
Change log: 1.1.0 (2023-08-22) ===== - Update copyright year - Allow passing arguments to custom commands - Fully translate strings in unsafe paste dialog - window: Properly sync always-show-tabs - cleanup: Include gdkx.h in one place - preferences: Remove unused class member - preferences: Check if channel itself exists instead of check property - screen: Review image loader memory management - image-loader: Review cache management - Add keywords to .desktop files (Fixes #50) - screen: Take window scaling into account when drawing (Fixes #71) - Remove obsolete GNOME default-app file (Fixes #109) - Add "Open File Manager Here" action (Fixes #133) - Properly manage default encoding (Fixes #128) - Move general include in private.h - dropdown: Disable systray icon on Wayland - Fix startup with GDK_BACKEND=x11 (Fixes #177) - shortcuts: Restore broken action toggle-menubar - shortcuts: Fix non-consumed key event for show-menubar - main: Allow GTK to parse its options first (Fixes #216) - search: Add missing sanity check - Use GLib logging functions and do not translate warnings - Fix typo - Remove obsolete CHECK_VERSION() - Use g_new() instead of malloc() - Fix Xfconf memory management - search-dialog: Fix memory leak - Remove extra separator at the end of context menu - Missing shortcut keys in the standalone preferences dialog (Issue #198) - Apply 1 suggestion(s) to 1 file(s) - Enable kinetic scrolling in VteTerminal - Extend --disable-server description wrt. process model - End all full sentences with a period - Drop obsolete --disable-server translations - prefs-dialog: Fix untranslated strings - Add sixel support - Add icons at missing sizes, clean up SVG metadata - build: Fix autoconf warnings - build: Add GLib requirement - Add accel entries for scrolling pages (Issue #221) - Remove documentation for dead anti-aliasing option - Make strings translatable (Issue #222) - Fix shortcuts-editor include - Indentation - Support hyperlinks (Issue #21) - fix typo - Fix argument type for xfce_shortcuts_editor_new - fix background_notify - fixed typo - Remove disable-help preference. - MR: !51 transitioned to Xfconf (#134) - typos in MR !48 fixed - Remove all references to terminal-preferences.glade - Remove one more mention of terminal-preferences.glade - Remove trailing slash - Remove terminal-preferences-ui.h from makefile - Remove terminal-preferences.glade - MR: !48 shortcuts editor embedded into preferences-dialog (#195) - MR: !48 preferences-dialog rewritten in C (#195) - MR: !46 Change in implementation for TAB accels (#150) - Implementation of MiscShiftArrowsToScroll as accelerators. - Add PCRE2 build dependency - Remove libxfce4ui 4.17 version guards - Replace with xfce_gtk_menu_append_separator - Tweak toolbar - Translation Updates: , Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian, Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish, Dutch, Eastern Armenian, English (Australia), English (United Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Interlingue, Italian, Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post 1500), Persian (Iran), Polish, Portuguese, Portuguese (Brazil), Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian
## v3.4.0 #### Fixes - fixed `value_flags` not being preserved correctly when inserting into tables and arrays (#108) (@LebJe) - fixed `toml::value::flags()` not being cleared when `std::move`-ing a value - fixed error in README (#195) (@andrewkcorcoran) - fixed compiler error when using NVCC (#198) (@thompsonnoahe) - fixed `noexcept(...)` sometimes being incorrectly derived on `for_each()` - fixed `for_each()` compilation error on GCC <= 7 (#197) (@sagi-ottopia, @damirbarr) - fixed `FLT_RADIX` check getting broken by Intel MKL headers (#202) (@iago-lito) - fixed keys containing `\t` incorrectly formatting as bare keys (@jasmine-zhu, @arp242) - fixed keys containing `\t` and `\n` not round-tripping correctly (@arp242) #### Additions - added support for using enums with `value_or()` #### Changes: - renamed header files to have `.hpp` extension (`toml.h` is still present for backwards-compatibility) #### Build system: - fixed meson builds with `-Ddefault_library=static` having hidden symbols on GNU compilers (#201) (@vlad0x00)
v4.0.1 Latest Bugfix release. Update test suite to pass on Python 3.12 (#207) v4.0.0 Breaking changes Require block and timeout arguments to always be keyword arguments. (PR: #198) Remove support for Python 3.7. It reached end-of-life in June 2023. (PR: #190) Features Type hints: All typing stubs have been inlined in the source code and have been greatly improved. They are now tested using both Mypy and Pyright. (PR: #192, #193, #195) Type hints: Due to the dynamic nature of ActorProxy objects, it is impossible to automatically type them correctly. pykka.typing is a new module with helpers for manually typing ActorProxy objects. Check out the docs for how to use the helpers. (PR: #199)
Features - New --character-table option, with the ability to use codepage 437, see #194 and #195 (@sharifhsn) - New --character-table=ascii option for a ASCII-only character table, see #212 and #36 (@sharkdp) Bugfixes - Show output when doing hexyl /dev/zero, see #211 (@sharifhsn) - Respect NO_COLOR environment variable, see #210 (@sharkdp)
Upstream changes: 1.20240214 - feat: add imap option to specify port #195 - feat: add configurable DNS retrans option #214 - ignore empty/wrong lines on whitelist_dmarc file #219 - test: mock DNS during testing #213 - ci: restore CI tests to working order - Force lower case for SPF domain input #212
Features / Improvements ✨ Links should be "openable" (#43) Add support for previewing images in room scrollback (#108) Enable sending strikethrough text (#141) Support composing messages in an external editor (#155) Add support for logging in with SSO (#160) Add new command for logging out of iamb session (#162) Support custom sorting for room and user lists (#170) feat: desktop file for GUI environment launchers (#178) Add a new :chats window that lists both DMs and Rooms (#184) Add support for desktop notifications (#192) Support coloring entire message with the user color (#193) Indicate and sort on rooms with unread messages (#205) Support following the .well-known entries for a username's domain (#209) Add support for threads (#216) Add support for custom key macros (#217) Support displaying shortcodes instead of Emojis in messages (#222) Support configuring user gutter width (#223) Enable autolinking when rendering Markdown (#226) Support notifications via terminal bell (#227) Support loading a TOML configuration (#229) Add commands for importing and exporting room keys (#233) Documentation / README updates 📚 Fix example config (#140) Add more documentation (#166) Update README.md to add openSUSE Tumbleweed (#191) Add snap install instructions (#210) Add example of mapping "V" to toggle message selection mode (#195) Update manual pages to use mdoc(7) and list commands (#230) Add an icon for iamb (#232) Bug Fixes 🐞 Fix not showing display names in already synced rooms (#171) Fix image preview offset (#179) Update to ratatui-image@0.4.3 to use native sixel lib (#181) Fix truncation/padding for non-ASCII sender names (#182) Fix crash on small image preview (#198) Download rooms keys from backups if they exist (#211) Ignore key releases on platforms that support it (#220) Provide better error message for M_UNKNOWN_TOKEN (#101) Fix entering thread view when there's no messages yet (#224) Fix image previews in replies (#225) Reset message bar when ! is passed with :cancel (#231) Wait to log in before starting background tasks (#234) Performance ⏱️ Reduce CPU usage by instead fetching read receipts after related sync events (#168) Load receipts for room before acquiring lock (#213) Building / Housekeeping 🧹 Update Cargo.lock file (#157) Update modalkit for newer ratatui and crossterm Fix CI workflow (#164) Use mozilla-actions/sccache-action for caching builds (#169) Enable direnv for Nix flakes (#183) Update to matrix-sdk@0.7.1 (#200) Rename Nix flake build input from pkgconfig to pkg-config (#203) Update modalkit dependencies (#204) Move LTO into its own "release-lto" profile (#207) Fix Nix flake hashes (#206) Pull in modalkit repository with a Cargo.lock (#208) Nix flake updates (#214) Update to ratatui-image@0.8.1 (#215) Support linking against system OpenSSL (#218) GitHub workflow should use --locked to avoid broken Cargo.lock (#219) Fix odd Windows-only compile error (#221)
Version 1.7.0 ............. Released on 2024-04-27 * Drop Python 3.7 support, add Python 3.12 support * `#221 <https://github.com/Kozea/cairocffi/pull/225>`_: Add environment variable to set folder where DLLs are installed on Windows * `#225 <https://github.com/Kozea/cairocffi/pull/225>`_: Use Ruff instead of Flake8 and isort Version 1.6.1 ............. Released on 2023-07-24 * `#217 <https://github.com/Kozea/cairocffi/issues/217>`_: Repair installation with PyInstaller Version 1.6.0 ............. Released on 2023-06-12 **This version uses a new CFFI mode that may break your program.** CairoCFFI now uses Flit for packaging and is also distributed as a Python wheel. Please test carefully and don’t hesitate to report issues before using it in production. * `#216 <https://github.com/Kozea/cairocffi/pull/216>`_: Use ABI-level in-line CFFI mode Version 1.5.1 ............. Released on 2023-04-15 * `#212 <https://github.com/Kozea/cairocffi/issues/212>`_: Bring back XCB support during wheel generation Version 1.5.0 ............. Released on 2023-03-17 * `#106 <https://github.com/Kozea/cairocffi/issues/106>`_, `#200 <https://github.com/Kozea/cairocffi/issues/200>`_: Fallback to manual PNG file creation on hardened systems * `#210 <https://github.com/Kozea/cairocffi/pull/210>`_: Use pyproject.toml for packaging and remove other useless files Version 1.4.0 ............. Released on 2022-09-23 * `#205 <https://github.com/Kozea/cairocffi/pull/205>`_: Use pikepdf to parse generated PDF * `#171 <https://github.com/Kozea/cairocffi/pull/171>`_: Don’t use deprecated pytest-runner anymore Version 1.3.0 ............. Released on 2021-10-04 * `2cd512d <https://github.com/Kozea/cairocffi/commit/2cd512d>`_: Drop Python 3.6 support * `#196 <https://github.com/Kozea/cairocffi/pull/196>`_: Fix import `constants.py` import * `#169 <https://github.com/Kozea/cairocffi/pull/169>`_: Add extra library name "cairo-2.dll" * `#178 <https://github.com/Kozea/cairocffi/pull/178>`_: Workaround for testing date string with cairo 1.17.4 * `#186 <https://github.com/Kozea/cairocffi/pull/186>`_: Fix link in documentation * `#195 <https://github.com/Kozea/cairocffi/pull/195>`_: Fix typo in documentation * `#184 <https://github.com/Kozea/cairocffi/pull/184>`_, `a4fc2a7 <https://github.com/Kozea/cairocffi/commit/a4fc2a7>`_: Clean .gitignore Version 1.2.0 ............. Released on 2020-10-29 * `#152 <https://github.com/Kozea/cairocffi/pull/152>`_: Add NumPy support * `#143 <https://github.com/Kozea/cairocffi/issues/143>`_: Make write_to_png function work on hardened systems * `#156 <https://github.com/Kozea/cairocffi/pull/156>`_: Use major version name to open shared libraries * `#165 <https://github.com/Kozea/cairocffi/pull/165>`_: Don’t list setuptools as required for installation Version 1.1.0 ............. Released on 2019-09-05 * `#135 <https://github.com/Kozea/cairocffi/pull/135>`_, `#127 <https://github.com/Kozea/cairocffi/pull/127>`_, `#119 <https://github.com/Kozea/cairocffi/pull/119>`_: Clean the way external libraries are found * `#126 <https://github.com/Kozea/cairocffi/pull/126>`_: Remove const char* elements from cdef * Support Cairo features up to 1.17.2 * Fix documentation generation Version 1.0.2 ............. Released on 2019-02-15 * `#123 <https://github.com/Kozea/cairocffi/issues/123>`_: Rely on a recent version of setuptools to handle VERSION Version 1.0.1 ............. Released on 2019-02-12 * `#120 <https://github.com/Kozea/cairocffi/issues/120>`_: Don't delete _generated modules on ffi_build import Version 1.0.0 ............. Released on 2019-02-08 6 years after its first release, cairocffi can now be considered as stable. * Drop Python 2.6, 2.7 and 3.4 support * Test with Python 3.7 * Clean code, tests and packaging
v20.4.0 ======= Features -------- - Replace deprecated ssl.wrap_socket with SSLContext.wrap_socket and update examples in connection.py docs. (#216) v20.3.1 ======= No significant changes. v20.3.0 ======= Features -------- - Added support for SASL login. (#195) Bugfixes -------- - Better handling of escape sequences in message tags. (#205) v20.2.0 ======= Features -------- - Require Python 3.8 or later. v20.1.1 ======= * #213: Pinned against jaraco.text 3.10 due to change in interface. v20.1.0 ======= * #196: In irc.bot, avoid hanging idle when the first connection attempt fails. v20.0.0 ======= * ``SingleServerIRCBot`` no longer accepts ``reconnection_interval`` as a parameter. * Added server support for NOTICE commands. * Require Python 3.7 or later. v19.0.1 ======= * #176: Fix issues with version number reporting. Restored version version number reporting in bot and client. v19.0.0 ======= * ``irc.client`` no longer exposes a ``VERSION`` or ``VERSION_STRING``. To get the version, call ``importlib.metadata.version('irc')`` directly. v18.0.0 ======= * Require Python 3.6 or later. 17.1 ==== * Rely on `importlib_metadata <https://pypi.org/project/importlib_metadata/>`_ for loading version from metadata. Removes implicit dependency on setuptools and pkg_resources. * #158: The AsyncIO server now accepts a connection factory to enable features like SSL and IPv6 support. * #155: ``SimpleIRCClient`` now has a ``dcc`` method for initiating and associating a DCCConnection object with the client. ``DCCConnection.listen`` now accepts a ``address`` parameter. Deprecated ``SimpleIRCClient.dcc_listen`` and ``SimpleIRCClient.dcc_connect`` in favor of the better separation of concerns. Clients should replace:: client.dcc_connect(addr, port, type) client.dcc_listen(type) with:: client.dcc(type).connect(addr, port) client.dcc(type).listen() 17.0 ==== * Removed ``irc.buffer`` module, deprecated in 14.2. * #153: Drop support for Python 3.3 and 2.7. 16.4 ==== * Long Term Service release for Python 2.7. * #149: ``AioConnection.connect`` moved to coroutine, added disconnect handling for AsyncIO. 16.3 ==== * #140: Methods now use 'connection' and 'event' for parameter names. * #135 via #144: Added AsyncIO implementation. 16.2.1 ====== * Package refresh and cleanup. 16.2 ==== * #133: In ``irc.server``, add support for ISON. 16.1 ==== * #131: Add ``Connection.encode`` and ``Connection.transmit_encoding`` to enable encodings other than UTF-8 to be used when transmitting text. 16.0 ==== * Removed deprecated ``execute_*`` methods on ``Connection`` and ``Reactor`` as introduced in 15.0. * Fixed link in README. 15.1.1 ====== * New ``send_items`` method takes star args for simplicity in the syntax and usage. 15.1 ==== * Introduce ``ServerConnection.send_items``, consolidating common behavior across many methods previously calling ``send_raw``. 15.0.6 ====== * Now publish `documentation <https://python-irc.readthedocs.io/>`_ to Read The Docs. 15.0.5 ====== * #119: Handle broken pipe exception in IRCClient _send() (server.py). 15.0.4 ====== * #116: Correct invocation of execute_every. 15.0.3 ====== * #115: Fix AttributeError in ``execute_at`` in scheduling support. 15.0.2 ====== * #113: Use preferred scheduler in the bot implementation. 15.0.1 ====== * Deprecated calls to Connection.execute_* and Reactor.execute_*. Instead, call the equivalently-named methods on the reactor's scheduler. 15.0 ==== * The event scheduling functionality has been decoupled from the client.Reactor object. Now the reactor will construct a Scheduler from the scheduler_class property, which must be an instance of irc.schedule.IScheduler. The ``_on_schedule`` parameter is no longer accepted to the Reactor class. Implementations requiring a signal during scheduling should hook into the ``add`` method of the relevant scheduler class. * Moved the underlying scheduler implementation to `tempora <https://pypi.org/project/tempora>`_, allowing it to be re-used for other purposes. 14.2.2 ====== * Issue #98: Add an ugly hack to force ``build_sphinx`` command to have the requisite libraries to build module documentation. 14.2.1 ====== * Issue #97: Restore ``irc.buffer`` module for compatibility. * Issue #95: Update docs to remove missing or deprecated modules. * Issue #96: Declare Gitter support as a badge in the docs. 14.2 ==== * Moved buffer module to `jaraco.stream <https://pypi.python.org/pypi/jaraco.stream>`_ for use in other packages. 14.1 ==== * ``SingleServerIRCBot`` now accepts a ``recon`` parameter implementing a ReconnectStrategy. The new default strategy is ExponentialBackoff, implementing an exponential backoff with jitter. The ``reconnection_interval`` parameter is now deprecated but retained for compatibility. To customize the minimum time before reconnect, create a custom ExponentialBackoff instance or create another ReconnectStrategy object and pass that as the ``recon`` parameter. The ``reconnection_interval`` parameter will be removed in future versions. * Issue #82: The ``ExponentialBackoff`` implementation now protects from multiple scheduled reconnects, avoiding the issue where reconnect attempts accumulate exponentially when the bot is immediately disconnected by the server. 14.0 ==== * Dropped deprecated constructor ``connection.Factory.from_legacy_params``. Use the natural constructor instead. * Issue #83: ``connection.Factory`` no longer attempts to bind before connect unless a bind address is specified. 13.3.1 ====== * Now remove mode for owners, halfops, and admins when the user is removed from a channel. * Refactored the Channel class implementation for cleaner, less repetitive code. * Expanded tests coverage for Channel class. 13.3 ==== * Issue #75: In ``irc.bot``, add support for tracking admin status (mode 'a') in channels. Use ``channel.is_admin`` or ``channel.admins`` to identify admin users for a channel. * Removed deprecated irc.logging module. 13.2 ==== * Moved hosting to github. 13.1.1 ====== * Issue #67: Fix infinite recursion for ``irc.strings.IRCFoldedCase`` and ``irc.strings.lower``. 13.1 ==== * Issue #64: ISUPPORT PREFIX now retains the order of permissions for each prefix. 13.0 ==== * Updated ``schedule`` module to properly support timezone aware times and use them by default. Clients that rely on the timezone naïve datetimes may restore the old behavior by overriding the ``schedule.now`` and ``schedule.from_timestamp`` functions like so: schedule.from_timestamp = datetime.datetime.fromtimestamp schedule.now = datetime.datetime.now Clients that were previously patching ``schedule.DelayedCommand.now`` will need to instead patch the aforementioned module-global methods. The classmethod technique was a poor interface for effectively controlling timezone awareness, so was likely unused. Please file a ticket with the project for support with your client as needed. 12.4.2 ====== * Bump to jaraco.functools 1.5 to throttler failures in Python 2. 12.4 ==== * Moved ``Throttler`` class to `jaraco.functools <https://bitbucket.org/jaraco/jaraco.functools>`_ 1.4. 12.3 ==== * Pull Request #33: Fix apparent escaping issue with IRCv3 tags. 12.2 ==== * Pull Request #32: Add numeric for WHOX reply. * Issue #62 and Pull Request #34: Add support for tags in message processing and ``Event`` class. 12.1.2 ====== * Issue #59: Fixed broken references to irc.client members. * Issue #60: Fix broken initialization of ``irc.server.IRCClient`` on Python 2. 12.1.1 ====== * Issue #57: Better handling of Python 3 in testbot.py script. 12.1 ==== * Remove changelog from package metadata. 12.0 ==== * Remove dependency on jaraco.util. Instead depend on surgical packages. * Deprecated ``irc.logging`` in favor of ``jaraco.logging``. * Dropped support for Python 3.2.
From upstream's changelog: AWStats 7.9 Latest Add Windows 11 and Android 13 operating systems Update Hungarian translation and migrate it to UTF-8. fix cross site scripting Replace hard coded text with $Message ( Monthly, Daily, Hourly ) Android 11 + 12, MacOS 11 ( Big Sur ) + 12 ( Monterey ) Catch up german translations Change the substitution that replaces newlines with BR elements so that the syntax works for both HTML and XHTML. Added a few robots and 1 phone browser. Also corrected some errors in devlop robots.pm Only look for configuration in dedicated awstats directories Unwrap SRS e-mail addresses Fixes #195/CVE-2020-35176 As geoip2_country doesn't have AddHTMLGraph_geoip2_country, it should only generate subpage for geoip2_city. added support for HaikuOS and Safari based WebPositive browser Adding missing td-tag opening Tajik Language Support AWStats 7.8 NEW Add SelectBox for DatabaseBreak Mode: month,day and hour. Update http status codes Add more file types Update README.md Fix geoip2 formatting problem corner case 99 Fix some incoherent entries in search_engines.pm Fix geoip2 plugin on windows by renaming it Update robots.pm with PR118 data. Add: - PiplBot bot - um-IC & um-LN bot - arcemedia - bit.ly - bidswitchbot - bnf.fr_bot - contxbot - flamingo - getintent (variant) - laserlikebot - mappy - mojeek (variant) - serendeputy - trendiction - yak (linkinfluence) - zoominfobot Fixes #104 Change markdown to better readability Update Copyright year Change to https links Fix links for perl download NEW add %time6 tag in log format to support some IIS log format geoip2: Fix table formatting error. Missing "" item tag. Changes to robots.pm Add support for macOS DMG and PKG files Fix browser detection with HTTP 206 status code Support for macOS 10.13/10.14 + improved image compression of icons Fix use the 5 top hits as base 100 for graph to show the top 5 hits. Clean up geoip2 and geoip2 city modules * Correctly convert dns names to ip4 and ip6 address using getaddrinfo (fixes #120, #121, obsoletes #115) * Only lookup if the IP is of type public (fixes #122) and catch further lookup errors (obsoletes #123) * Store and display the GeoIP City output HTML escaped (fixes #127) * Code to perform and cache the actual lookup is consolidated * General code improvement and readability Losslessly reduced size of PNG images by about 33% using zopfli, pngout and oxipng. Also added os icons for macOS 10.13 and 10.14. Add Robot: The Knowledge AI Fix Error: Not same number of records of RobotsSearchIDOrder_listx Robots, Search Engine and Web Page Tracking Modifications Optimize OptimizeArray Added UptimeRobot https://uptimerobot.com/ Fix a few grammar errors in the model config Ignore search phrases longer than 80 characters. Fix 404 detail page not updating Decode RFC 3986 "unreserved chars" in URLs. Fix #80 Disable nested includes warnings for Perl > 5.6. Update domains.pm Fix two invalid entries in search_engines.pm Format Tera Bytes Fix "Illegal division by zero" error. Fix #79 Improving error handling in awstats_buildstaticpages.pl FIX #90 Exclude private IP addresses since GeoIP2::Reader doesn't support them Ignore search phrases longer than 80 characters. Only purge data for the saved section. Make city plugin more functional Fix issue with ShowHost section when address is resolved. Initial implementation of GeoIP2 City lookup. Fix a few issues with Country lookup. Initial implementation. Looksup only Country code for IPv4 and IPv6 Update hebrew file Quite a few additions and modifications. Especially yahoo detection. Added device pixel ratio ( dpr ) to awstats_misc_tracker.js. added 37 new robots to robots.pm file using v 7.7 robots.pm file as base file. Move oBot entry lower as to not incorrectly get picked for other *obot robots. Decode RFC 3986 "unreserved chars" in URLs. This makes awstats treat "/foo" and "/%66%6f%6f" as equivalent. Missing Sint Maarten flag Wrong label cf. https://dev.maxmind.com/geoip/legacy/codes/iso3166/ Fix Issue #76 - country name not correct Fix utf bom files Fix another vulnerability reported by cPanel Security Team (can execute arbitraty code) Add more tests PKG_SYSCONFDIR fixes pkglint cleanup Remove trivial MESSAGE
## [2024.1] - 2024-05-20 ### Added - Add unit testing for link syntax - Support link to enumeration members [!214, !215] - Add favicon support [#152] - Add proper anchor for enum members [#183] - Parse optional anchors in links [#191] - Generate a link to finish functions [#189] - Add 'inline' to C declarations for inline callables [#173] - Make the logo a link to the index [#195] - Clear search when pressing Escape [#194] ### Changed - Update the wording for transfer modes [!205] - Turn deprecation notices into admonitions [#155] - Improve filesystem string type docs [#193] ### Fixed - Fix doubled paragraph tags around descriptions [!206] - Append period after last line in more cases [#181] - Documentation fixes [!223, #198] - Use the basename of the urlmap file [#197] ### Removed - Revert "generate: Add fallback for missing "since"" [#179]
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
3.3.6 Improvements Removed duplicated entity expansions for performance. GH-194 Patch by Viktor Ivarsson. Improved namespace conflicted attribute check performance. It was too slow for deep elements. Reported by l33thaxor. Fixes Fixed a bug that default entity expansions are counted for security check. Default entity expansions should not be counted because they don't have a security risk. GH-198 GH-199 Patch Viktor Ivarsson Fixed a parser bug that parameter entity references in internal subsets are expanded. It's not allowed in the XML specification. GH-191 Patch by NAITOH Jun. Fixed a stream parser bug that user-defined entity references in text aren't expanded. GH-200 Patch by NAITOH Jun. REXML 3.3.5 - 2024-08-12 Fixes Fixed a bug that REXML::Security.entity_expansion_text_limit check has wrong text size calculation in SAX and pull parsers. GH-193 GH-195 Reported by Viktor Ivarsson. Patch by NAITOH Jun. REXML 3.3.4 - 2024-08-01 Fixes Fixed a bug that REXML::Security isn't defined when REXML::Parsers::StreamParser is used and rexml/parsers/streamparser is only required. GH-189 Patch by takuya kodama. REXML 3.3.3 - 2024-08-01 Improvements Added support for detecting invalid XML that has unsupported content before root element GH-184 Patch by NAITOH Jun. Added support for REXML::Security.entity_expansion_limit= and REXML::Security.entity_expansion_text_limit= in SAX2 and pull parsers GH-187 Patch by NAITOH Jun. Added more tests for invalid XMLs. GH-183 Patch by Watson. Added more performance tests. Patch by Watson. Improved parse performance. GH-186 Patch by tomoya ishida.
### 1.8.0 (2024-10-17) * All: Drop support for Python 2 and <3.6, removing compatibility code. * All: Use stdlib unittest.mock instead of mock package. * All: Removed usage of path.py and path in favour of pathlib. #174 #224 * pytest-devpi-server: Run devpi-init for initialisation. #179 * pytest-server-fixtures: BREAKING CHANGE: Removed RethinkDB support, as the project is no longer maintained. * pytest-server-fixtures: Allowed passing through HTTP headers to the server. #149 * pytest-server-fixtures: Fixed threading log debug messages. #146 * pytest-server-fixtures: Removed usage of deprecated Thread.setDaemon. #202 * pytest-server-fixtures: Explicitly close initial Mongo client. #198 * pytest-server-fixtures: Don't use context manager for CREATE DATABASE #186 * pytest-shutil: Removed contextlib2 requirement. #144 * pytest-shutil: Fixed forcing color through termcolor. #217 * pytest-shutil: Replaced deprecated imp module #219 * pytest-profiling: Added support to hide/show the full path of file. #95 * pytest-profiling: Fixed SVG file generation on Windows. #93 * pytest-profiling: Remove pinning of more-itertools. #194 * pytest-profiling: Add support to define element number for print_stats() #96 * pytest-profiling: Fix mock in test_writes_summary #223 * pytest-virtualenv: Modernised package. #188 #185 #182 #163 * pytest-virtualenv: Fixed virtualenv creation on Windows. #142 * pytest-virtualenv: Added delete_workspace parameter to VirtualEnv. #195 * pytest-virtualenv: Removed extras_require. #240 * ci: Remove usage of deprecated distutils. #189 * ci: Disabled jenkins server tests on CircleCI to improve build time. * ci: Fixed `collections` import for py 3.11 compatibility #222 ### 1.7.1 (2019-05-28) * pytest-profiling: Fix pytest-profiling to profile fixtures. #48 * pytest-devpi-server: Fixed Python 3.4 support updating "ruamel.yaml" requirements. #138 * ci: Added PYTEST_DONT_REWRITE in order to suppress module already imported. #123
As of bug 1956, the
uname
binary provided by the operating system will reportillumos
foruname -o
instead of the traditionalSolaris
. Unfortunately in a pkgsrc-based zone, at least under some conditions the GNUuname
appears first inPATH
. A naive script may rununame -o
and see theSolaris
value.We should patch the pkgsrc copy of
uname
to reportillumos
as the system version does.See example with current trunk packages:
The text was updated successfully, but these errors were encountered: