-
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
[request] pftop for Darwin #178
Comments
This package failure is here: http://us-east.manta.joyent.com/pkgsrc/public/reports/Darwin/trunk/x86_64/20190311.0823/meta/report.html
This package seems pretty OS-specific, and isn't available in either Homebrew or MacPorts, possibly for that reason. Are you sure it is appropriate for macOS? |
pfvar.h can be found in https://opensource.apple.com in
Yes. macOS has pf, pfctl like the NetBSD, OpenBSD etc. |
Ok, interesting. However, I'm not sure this is going to help. I had a go at compiling this with the xnu headers, but it's not just pfvar it needs, it also needs all the altq bits, all the pktsched bits, then delves into a lot more sys/ headers, at which point I gave up for now. Even if I manage to get it to build, this is going to be highly version-specific, and I can't see how it's going to work for our package sets, which are designed to work on any OS version since the version they were built on (currently Sierra). For this one I'd recommend building it yourself from pkgsrc on the version of macOS you intend to run it on. |
I tried but my knowledge is not enough. |
Pkgsrc changes: * Track rename of logrotate-default to logrotate.conf * Add a fix so that the log file name is actually passed to the various script hooks(!) logrotate/logrotate#245 Upstream changes: 3.15.0 ====== * timer unit: change trigger fuzz from 12h to 1h (#230) * service unit: only run if /var/log is mounted (#230) * preserve fractional part of timestamps when compressing (#226) * re-indent source code using spaces only (#188) * minage: avoid rounding issue while comparing the amount of seconds (#36) * never remove old log files if rotate -1 is specified (#202) * return non-zero exit status if a config file contains an error (#199) * make copytruncate work with rotate 0 (#191) * warn user if both size and the time interval options are used (#192) * pass rotated log file name as the 2nd argument of the postrotate script when sharedscript is not enabled (#193) * rename logrotate-default to logrotate.conf (#187) 3.14.0 ====== * make configure show support status for SELinux and ACL at the end (#179) * make logrotate build again on FreeBSD (#178) * move wtmp and btmp definitions from logrotate.conf to * separate configuration files in logrotate.d (#168) * print a warning about logrotate doing nothing when -d is used (#165) * do not reject executable config files (#166) * add hardening options to logrotate.service in examples (#143) * fix spurious compressor failure when using su and compress (#169) * keep logrotate version in .tarball-version in release tarballs (#156) * introduce the hourago configuration directive (#159) * ignore empty patterns in tabooext to avoid exclusion of everything (#160) * properly report skipped test cases instead of pretending success 3.13.0 ====== * make distribution tarballs report logrotate version properly (RHBZ#1500264) * make (un)compress work even if stdin and/or stdout are closed (#154) * remove -s from DEFAULT_MAIL_COMMAND and improve its documenation (#152) * uncompress logs before mailing them even if delaycompress is enabled (#151) * handle unlink of a non-existing log file as a warning only (#144) * include compile-time options in the output of logrotate --version (#145) * make logrotate --version print to stdout instead of stderr (#145) * flush write buffers before syncing state file (#148) * specify (un)compress utility explicitly in tests (#137) * enable running tests in parallel (#132) * explicitly map root UID/GID to 0 on Cygwin (#133) * add .dpkg-bak and .dpkg-del to default tabooext list (#134) 3.12.3 ====== * copy and copytruncate directives now work together again * unlink() is no longer preceded by open() unless shred is enabled (#124) * compress and uncompress now take commands from $PATH, too (#122) 3.12.2 ====== * build fixes related to -Werror (#119) and -Werror=format= (#108) * configure --enable-werror now controls use of the -Werror flag (#123) 3.12.1 ====== * Included forgotten build-aux directory in release tarballs. 3.12.0 ====== * Fixed accident removal of rotated files with dateext. (#118) * Line comments inside globs in config files are now skipped. (#109) * logrotate now recovers from a corrupted state file. (#45) * Makefile.legacy has been removed. (#103) * config.h is now generated by autotools. (#102 and #103) * createolddir now creates old directory as unprivileged user. (#114) * weekly rotations are now predictable and configurable. (#93) * Errors in config files are no longer treated as fatal errors. (#81) * configure --with-default-mail-command specifies default mail command. (#100) * Fixed heap buffer overflow when parsing crafted config file. (#33)
Changes: 1.8.1 ----- ### Added - Support for: - `35photo` (#162) - `500px` (#185) - `instagram` extractor for hashtags (#202) - Option to get more metadata on `deviantart` (#189) - Man pages and bash completion (#150) - Snap improvements (#197, #199, #207) ### Changed - Metadata for `luscious` albums - FFmpeg arguments for `--ugoira-conv` ### Fixed - `tumblr` avatar URLs when not using OAuth1.0 (#193) - `instagram` multi-image posts (#178, #201) - Miscellaneous issues on `exhentai`, `komikcast`
What's new in 0.4.3: - New API addition: WildMidi_InitVIO(). It is like WildMidi_Init(), - but tells the library to use caller-provided functions for file IO. - See wildmidi_lib.h or the man page WildMidi_InitVIO(3) for details. - This was suggested and implemented by Christian Breitwieser. - Fixed Visual Studio optimized builds (bug #192, function ptr issue.) - Fixed a thinko in one of the buffer size checks added in v0.4.2. - Fixed possible out of bounds reads in sysex commands (bug #190). - Fixed invalid reads during config parse with short patch file names. - Do not treat a missing end-of-track marker as an error for type-0 - midi files (bug #183). - Fixed bad reading of high delta values in XMI converter (bug #199). - Fixed a memory leak when freeing a midi (bug #204). - Fixed slurred/echoy playback at quick tempos on looped instruments - (bug #185). - Fixed certain midis sounding different compared to timidity, as if - instruments not turned off (bug #186). - Fixed compilation on systems without libm. - Support for RISC OS, Nintendo Switch and PS Vita. - Several clean-ups. What's new in 0.4.2: - Fixed CVE-2017-11661, CVE-2017-11662, CVE-2017-11663, CVE-2017-11664 - (Bug #175). - Fixed WildMidi_Open() might read beyond buffer with too short inputs - (Bug #178). - Fixed a buffer overflow during playback with malformed midi files - (Bug #180). - GUS patch processing changes to meet users expectations (Bug #132). - Worked around a build failure with newer FreeBSD versions failing to - retrieve the ONLCR constant (Bug #171). - Fixed a minor Windows unicode issue (PR #170). - A few other fixes / clean-ups. What's new in 0.4.1: - Fixed bug in handling of the "source" directive in config files. - Fixed a nasty bug in dBm_pan_volume. Other fixes and clean-ups. - Build system updates. Install a pkg-config file on supported platforms such as Linux. New android ndk makefile. - File i/o updates. - Support for OS/2. - Support for Nintendo 3DS - Support for Nintendo Wii - Support for AmigaOS and its variants like MorphOS and AROS.
Version 1.3.0.0 * Semantic change of Hashable Arg instance to not hash the second argument of Arg in order to be consistent with Eq Arg (#171) * Semantic change of Hashable Float and Hashable Double instances to hash -0.0 and 0.0 to the same value (#173) * Add Hashable instance for Fingerprint (#156) * Add new Data.Hashable.Generic module providing the default implementations genericHashWithSalt and genericLiftHashWithSalt together with other Generics support helpers (#148, #178) * Bump minimum version requirement of base to base-4.5 (i.e. GHC >= 7.4) Version 1.2.7.0 * Add Hashable and Hashable1 instances for Complex * Fix undefined behavior in hashable_fn_hash() implementation due to signed integer overflow (#152) * Mark Data.Hashable.Lifted as Trustworthy (re SafeHaskell) * Support GHC 8.4 Version 1.2.6.1 * Use typeRepFingerprint from Type.Reflection.Unsafe * Bump minimum version of base to 4.4. Version 1.2.6.0 * Add support for type-indexed Typeable. * Rework the Generic hashable for sums. Version 1.2.5.0 * Add Hashable1 and Hashable2 * Add instances for: Eq1, Ord1, Show1, Ptr, FunPtr, IntPtr, WordPtr * Add Hashed type for caching the hash function result. Version 1.2.4.0 * Add instances for: Unique, Version, Fixed, NonEmpty, Min, Max, Arg, First, Last, WrappedMonoid, Option * Support GHC 8.0
1.0.15.1 * Remove whitespace after @ in as-patterns for GHC HEAD #186 1.0.15.0 * Added toNonEmpty to Data.NonNull #185 1.0.14.0 * Added WrappedMono to Data.MonoTraversable #182 1.0.13.0 * Added WrappedPoly to Data.MonoTraversable #180 1.0.12.0 * Added filterSet to Data.Containers * Use container specific implementations for filterSet and filterMap #178 1.0.11.0 * Adding monomorphic instances for GHC.Generics and Data.Proxy types #175 1.0.10.0 * Make index work on negative indices #172 #114 1.0.9.0 * Added filterMap to Data.Containers #167
Update ruby-mocha to 1.11.2. ## 1.11.2 ### External changes * Fix regression introduced in v1.10.0 that meant `Object#inspect` was called unnecessarily (368abd98) * Warn when mock object receives invocations in another test - thanks to @nitishr (#442) * Avoid rubocop comments appearing in YARD-generated docs (d8019eed) ### Internal changes * Replace `StubbedMethod#original_method` & `#original_visibility` attribute reader methods with instance variables - thanks to @nitishr (d917f332) * Set up `MochaExampleTest` & `StubbaExampleTest` as acceptance tests - thanks to @nitishr (4881cc58) * Delete unused `PrettyParameters` class - thanks to @nitishr (314ea922) ## 1.11.1 ### External changes * The `reinstate_undocumented_behaviour_from_v1_9` configuration option is now enabled by default to give people a chance to see and fix the relevant deprecation warnings before the behaviour is removed in a future release (b91b1c9e) ## 1.11.0 ### External changes * Add `Expectation#with_block_given` & `Expectation#with_no_block_given` (#441). * Allows non-deprecated solution for #382. Thanks to @yemartin for reporting and to @techbelly & @nitishr for feedback. * Fix issue with non-Array arguments passed to `Expectation#multiple_yields` (#444). * The undocumented behaviour is now properly supported and documented. ### Internal changes * Move static YARD options from Rake task to `.yardopts` file - thanks to @nitishr (#429) * Simplify implementation of yielding functionality - thanks to @nitishr (#439) * Add missing require statement to `acceptance_test_helper.rb` (1070fc02) * Add some baseline acceptance tests for yielding behaviour (c2cac911) * Display a sponsor button on GitHub repo page (9fc5911b) * Use new Deprecation.warning behaviour in `Invocation#call` (932d1166) ## 1.10.2 * Optionally reinstate undocumented behaviour from v1.9. This introduces a new configuration option (`reinstate_undocumented_behaviour_from_v1_9`) to reinstate a couple of bits of undocumented behaviour from v1.9 which were changed in v1.10 without any prior deprecation warning (#438): * The behaviour of `API#mock`, `API#stub` and `API#stub_everything` when called with a symbol as the first argument. * The behaviour of `Expectation#yields` and `Expectation#multiple_yields` when the stubbed method is called without a block. ## 1.10.1 * Ensure ObjectMethods & ClassMethods included when API extended (43778756) * Fix regression in `any_instance` stubbing of methods on object which has an implementation of `#respond_to?` that depends on the object's internal state - thanks to @rafaelfranca for reporting & @nitishr for fixing (#432, #434, 469d4b17) ## 1.10.0 * Improve deprecation warning when requiring 'mocha/setup' (388f44d7) * Add documentation for Cucumber integration (13ab797b) * Add documentation about an undocumented feature of `API#mock`, `API#stub` & `API#stub_everything` being changed (7ed2e4e7, d30c1717) ## 1.10.0.beta.1 * Hide `ClassMethods#method_visibility` & `#method_exists?` methods to avoid clash with Rails (#428) ## 1.10.0.alpha ### External changes * Remove dependency on metaclass gem (#49, #365) * Accept symbol (as well as a string) as mock/stub name - thanks to @nitishr (#347, #353, #377) * More realistic examples in documentation for `Expectation#yields` and `#multiple_yields` - thanks to @nitishr (#352, #383) * Improve documentation for `Mock#responds_like` & `#responds_like_instance_of` - thanks to @nitishr (#337, #384) * Make `Expectation#yields` & `Expectation#multiple_yields` fail when the caller of the stubbed method does not provide a block. This is a change to an undocumented aspect of the public API's behaviour. If this causes your tests to fail, then fix it by removing the unnecessary call to `Expectation#yields` or `Expectation#multiple_yields` - thanks to @nitishr (#382) * Document `MOCHA_OPTIONS` in README - thanks to @nitishr (#311, #386) * Add documentation to explain how Mocha is intended to be used - thanks to @nitishr (#330, #385) * Deprecation warning if integration using 'mocha/test_unit' or 'mocha/minitest' fails - thanks to @nitishr (#229, #389, c6032d0b) * Require at least one specified sequence for `Expectation#in_sequence` - thanks to @nitishr (#79, #396, 9020248a) * Make signatures of `Mock#unstub` & `ObjectMethods#unstub` consistent - thanks to @nitishr (#397, f04d437) * Deprecate requiring 'mocha/setup' (36adf880) * Optionally display matching invocations alongside expectations - thanks to @nitishr (#178, #394, 00f0540, #410) * Put deprecations into effect (#400, #418): * Remove deprecated 'mocha_standalone.rb' & 'mocha/standalone.rb' * Fail fast if no test library loaded * Removed optional block for `Mocha::API#mock`, `#stub` & `#stub_everything` * Remove deprecated `ParameterMatchers#has_equivalent_query_string` method * Remove deprecated 'mocha/mini_test.rb' * Fix typo in docs for `Mocha::Configuration.prevent` (266ce71c) * New-style configuration (see documentation for `Mocha::Configuration`) (#407, #421) * Deprecate support for Ruby versions earlier than v1.9 (#325, c5f8496d) * Deprecate support for versions of test-unit & minitest which need monkey-patching (a34e1a88) * Deprecate old-style Rails plugin (#403, 2df77134) * Documentation fixes & improvements which also fix YARD warnings (472d5416, a2c0d64a) ### Internal changes * Pin minitest to v5.11.3 for Ruby v1.8.7 to fix build; minitest no longer supports Ruby v1.8.7 (4a0a580) * Upgrade JRuby to v9.2.8.0 in Travis CI builds (aa29b3f) * Only run rubocop for MRI Ruby versions & non-integration test builds (8f1c6af) * Reduce duplication in any instance method class - thanks to @nitishr (#378) * Simplify `AnyInstanceMethod`, `ClassMethod`, `InstanceMethod`, `ModuleMethod` class hierarchy - thanks to @nitishr (#381) * Simplify `ClassMethods#method_exists?` & `ObjectMethods#method_exists?` making them consistent - thanks to @nitishr (#270, #362, #370) * Don't override definition of `singleton_class` in `ClassMethods` - thanks to @nitishr (#391, #392) * Do not include 'method_definer' methods into all objects (#268, #402) * Distinguish different `ObjectMethods` modules (#268, #404) * Pass invocation to expectation list methods - thanks to @nitishr (#408, #409, #411) * Consistently use `assert_raises` - thanks to @nitishr (#405, #412, a66b7bed) * Update Ruby & JRuby versions in Travis CI config (18cb1a93, eb061c53) * Rubocop improvements (aa16ea67...6f4db70b, 2a1240e6...e95716ae) * Fix inconsistency in CardinalityTest (aa10e0a8) * Fix test failures on Mac OSX Catalina - thanks to @nitishr (#413, #417, #419, 8a0f2535) * Remove default argument in `Expectation#invoke` - thanks to @nitishr (#414, #420)
Update ruby-mixlib-shellout to 3.0.9. 3.0.9 (2019-12-30) * Add Ruby 2.6/2.7 and Windows testing #198 (tas50) * Substitute require for require_relative #199 (tas50) 3.0.7 (2019-07-31) * Add the actual BK pipeline config #185 (tas50) * Blinding applying chefstyle -a. #191 (zenspider) * Fix return type of Process.create to be a ProcessInfo instance again. #190 (zenspider) 3.0.4 (2019-06-07) * update travis/appveyor, drop ruby 2.2 support, test on 2.6 #176 (lamont-granquist) * Misnamed parameter in README #178 (martinisoft) * Add new github templates and codeowners file #179 (tas50) * Add BuildKite pipeline #184 (tas50) * Support array args on windows WIP #182 (lamont-granquist) * Load and unload user profile as required #177 (dayglojesus) 2.4.4 (2018-12-12) * Have expeditor promote the windows gem as well #172 (tas50) * Don't ship the readme in the gem artifact #173 (tas50) 2.4.2 (2018-12-06) * Test on ruby-head and Ruby 2.6 in Travis #170 (tas50) * Remove dev deps from the gemspec #171 (tas50)
Update ruby-loofah to 2.5.0. ## 2.5.0 / 2020-04-05 ### Features * Allow more CSS length units: "ch", "vw", "vh", "Q", "lh", "vmin", "vmax". [#178] (Thanks, @JuanitoFatas!) ### Fixes * Remove comments from `Loofah::HTML::Document`s that exist outside the `html` element. [#80] ### Other changes * Gem metadata being set [#181] (Thanks, @JuanitoFatas!) * Test files removed from gem file [#180,#166,#159] (Thanks, @JuanitoFatas and @greysteil!)
05/20/2020 Version 4.3.3 - Increase cache buffers size to accomodate VLAN edits (#594) - Correct L2 header length to correct IP header offset (#583) - Fix warnings from gcc version 10 (#580) - Heap Buffer Overflow in randomize_iparp (#579) - Use after free in get_ipv6_next (#578) - Heap Buffer Overflow in git_ipv6_next (#576) - Call pcap_freecode() on pcap_compile() (#572) - Increase max snaplen to 262144 (#571) - Fix divide by zero in fuzzing (#570) - Unique IP repeats at very high iteration counts (#566) - Fails to compile on FreeBSD amd64 13.0 (#558) - Heap Buffer Overflow in do_checksum (#556) (#577) - Attempt to correct corrupt pcap files, if possible (#557) - Fix GCC v10 warnings (#555) - Remove some duplicated SOURCES entries (#551) - Expand /dev/bpfX hard limit to fix macOS Mojave (#550) - Implement --loopdelay-ms when using --loop=0 (#546) - Heap overflow packet2tree and get_l2len (#530) 03/12/2019 Version 4.3.2 - CVE-2019-8381 memory access in do_checksum() (#538) - CVE-2019-8376 NULL pointer dereference get_layer4_v6() (#537) - CVE-2019-8377 NULL pointer dereference get_ipv6_l4proto() (#536) - Rename Ethereal to Wireshark (#545) 12/27/2018 Version 4.3.1 - Fix checkspell detected typos (#531) 11/10/2018 Version 4.3.0 - Fix maxOS TOS checksum failure (#524) - TCP sequence edits seeding (#514) - Fix issues identifed by Codacy (#493) - CVE-2018-18408 use-after-free in post_args (#489) - CVE-2018-18407 heap-buffer-overflow csum_replace4 (#488) - CVE-2018-17974 heap-buffer-overflow dlt_en10mb_encode (#486) - CVE-2018-17580 heap-buffer-overflow fast_edit_packet (#485) - CVE-2018-17582 heap-buffer-overflow in get_next_packet (#484) - Out-of-tree build (#482) - CVE-2018-13112 heap-buffer-overflow in get_l2len (#477 dup #408) - Closing stdin on pipe (#479) - Second pcap file hangs on multiplier option (#472) - Jumbo frame support for fragroute option (#466) - TCP sequence edit ACK corruption (#451) - TCP sequence number edit initial SYN packet should have zero ACK (#450) - Travis CI build fails due to new build images (#432) - Upgrade libopts to 5.18.12 to address version build issues (#430) - Add ability to change tcp SEQ/ACK numbers (#425) - Hang using loop and netmap options (#424) - tcpprep -S not working for large cache files (#423) - Unable to tcprewrite range of ports with --portmap (#422) - --maxsleep broken for values less than 1000 (#421) - -T flag breaks traffic replay timing (#419) - Respect 2nd packet timing (#418) - Avoid non-blocking behaviour when using STDIN (#416) - pcap containing >1020 packets produces invalid cache file (#415) - manpage typos (#413) - Fails to open tap0 on Zephyr (#411) - Heap-buffer-overflow in get_l2protocol (#410) - Heap-buffer-overflow in packet2tree (#409) - Heap-buffer-overflow in get_l2len (#408) - Heap-buffer-overflow in flow_decode (#407) - Rewrite zero IP total length field to match the actual packet length (#406) - Stack-buffer-overflow in tcpcapinfo (#405) - tcpprep --include option does not exclude (#404) - Negative-size-param memset in dlt_radiotap_get_80211 (#402) - tcpeplay --verbose option not working (#398) - Fix replay when using --with-testnic (#178)
v1.4.1 • Use sudo when necessary to install in system-wide NSS stores (#192) • Add a -version flag (#191) • Speed up macOS execution by 4x for most users (#135) • Minor usability improvements (#182, #178, #188) v1.4.0 macOS Catalina compatibility, URL and email SANs, and more macOS 10.15 Catalina introduced certificate lifespan limits which block mkcert certificates. As a temporary measure, mkcert certificates now have a fixed notBefore date of June 1st, 2019. Once the ACME server is implemented, certificate lifespan will be shortened to 3 months. (#174) Certificates generated by previous versions of mkcert after July 1st, 2019 will not work on macOS 10.15 Catalina, and will have to be regenerated. The root CA is unaffected and there is no need to rerun mkcert -install. URL (#166) and email (for S/MIME, #152) SANs are now supported. Client certificates are now created with a -client filename suffix, and they claim the serverAuth EKU as well as the clientAuth one. The certificate subject now includes the full user name, like filippo@Bistromath.local (Filippo Valsorda). SLES, OpenSUSE (#162), Snapcraft (#116), and CentOS 7 (#120) are now supported. Linux release binaries are now fully static, and will work regardless of the system libc. (#169) v1.3.0 New advanced options: • -ecdsa to generate ECDSA private keys • -client to generate client certificates • -csr to sign certificate signing requests • $TRUST_STORES to select what stores to install into Also, in other news: • Add "Firefox Nightly.app" support on macOS • Set the CommonName when generating PKCS#12 files for IIS
0.2.2 Changes -DBus: Fetch playback progress when position is queried (fixes #223, #236) -DBus: Fix trackid replacing string with d-bus path, Seek & SetPosition implementation (#252) -Add notifications (#247) -Do not delete from empty queue (fixes #253) -Make contextmenu aware of commands (e.g. for Vim-like bindings) (fixes #108, #157, #178, #199, #250) -Use libc for setlocale() to fix non-ASCII (#256)
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)
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]
Changelog: ## [1.7.2](rime/librime@1.7.1...1.7.2) (2021-02-07) ### Bug Fixes * **chord_composer:** should clear raw input after committing text ([79b34ab](rime/librime@79b34ab)) ## [1.7.1](rime/librime@1.7.0...1.7.1) (2021-02-06) ### Bug Fixes * **chord_composer:** press Return key to commit raw key sequence ([2b25861](rime/librime@2b25861)) # [1.7.0](rime/librime@1.6.1...1.7.0) (2021-01-17) ### Bug Fixes * **chord_composer:** more safely handle the placeholder ZWSP ([025d9fb](rime/librime@025d9fb)) * **cmake:** use full paths defined by GNUInstallDirs ([bb8c263](rime/librime@bb8c263)), closes [#424](rime/librime#424) * **opencc:** update submodule to fix [#425](rime/librime#425) ([3fa1571](rime/librime@3fa1571)) * **script_translator:** always_show_comments also applies to phrases ([440a97c](rime/librime@440a97c)), closes [#272](rime/librime#272) [#419](rime/librime#419) * **table_translator:** index out of bound access in string ([ff7acdc](rime/librime@ff7acdc)) ### Features * **chareset_filter:** add CJK Compatibility Ideographs in is_extended_cjk() ([3cb1128](rime/librime@3cb1128)), closes [#305](rime/librime#305) * **setup:** find and load external RIME plugins as shared libs [#431](rime/librime#431) ([b2abd09](rime/librime@b2abd09)) ## [1.6.1](rime/librime@1.6.0...1.6.1) (2020-09-21) ### Bug Fixes * **rime_api.cc:** dangling pointer returned from RimeGetSharedDataDir ([78abaa8](rime/librime@78abaa8)) # [1.6.0](rime/librime@1.5.3...1.6.0) (2020-09-20) ### Bug Fixes * **ascii_composer:** do not comsume Shift key release ([debc2c0](rime/librime@debc2c0)) * **ascii_composer:** first read ascii_composer/good_old_caps_lock from schema config ([3fc56c4](rime/librime@3fc56c4)) * **chord_composer:** commit raw input with uppercase letters ([cc983d5](rime/librime@cc983d5)) * **CMakeLists.txt:** ensure paths in pkgconfig file are absolute ([0e96e51](rime/librime@0e96e51)) * **CMakeLists.txt:** would not use signals v1 due to a typo ([6662a28](rime/librime@6662a28)), closes [#225](rime/librime#225) * **custom_settings:** accept "*.schema" as config id ([604da0b](rime/librime@604da0b)) * **dict:** issues with user db recovery ([0f3d0df](rime/librime@0f3d0df)) * **dict_compiler:** build prism with loaded syllabary when not rebuilding primary table ([93fe827](rime/librime@93fe827)) * **plugins/CMakeLists.txt:** avoid rime_library linking to itself via rime_plugins_deps ([fe744db](rime/librime@fe744db)) * **rime_api.cc:** check struct has member of non-pointer type ([090dfa4](rime/librime@090dfa4)) * **rime_api.cc:** using unchecked fields introduced an ABI breakage ([62bbead](rime/librime@62bbead)), closes [/github.com/rime/librime/pull/328#pullrequestreview-335125464](https://github.com//github.com/rime/librime/pull/328/issues/pullrequestreview-335125464) * **rime_test:** set data directories to working directory using rime::SetupDeployer API ([7c08a90](rime/librime@7c08a90)) * **simplifier:** opencc::DictEntry::Values() type change in opencc 1.1.0 ([beae5b1](rime/librime@beae5b1)), closes [#367](rime/librime#367) * **user_db:** pointer cast error caused by multiple inheritance ([2ed780b](rime/librime@2ed780b)) * use official emoji 12.0 data ([#304](rime/librime#304)) ([75a60dc](rime/librime@75a60dc)) ### Features * **api:** implement capnproto api ([873f648](rime/librime@873f648)) * **api:** include candidate labels in proto message ([aae7a0c](rime/librime@aae7a0c)) * **charset_filter:** support charset options with emoji ([#293](rime/librime#293)) ([943c95b](rime/librime@943c95b)) * **charset_filter:** support CJK Unified Ideographs Extension G ([#393](rime/librime#393)) ([0a1573d](rime/librime@0a1573d)) * **chord_composer:** support chording with Shift keys ([94cf479](rime/librime@94cf479)) * **chord_composer:** use Control, Alt, Shift to input chord ([f3a2ad0](rime/librime@f3a2ad0)) * **dictionary:** packs extends the dictionary with extra binary table files ([930074c](rime/librime@930074c)) * **key_binder:** bind key to a key sequence ([3b5dbf6](rime/librime@3b5dbf6)), closes [#301](rime/librime#301) * **logging:** setup min log level, log dir and set file mode to log files ([90839b0](rime/librime@90839b0)) * **selector:** support 4 combinations of horizontal/vertical text orientation and stacked/linear candidate list layout ([c498f71](rime/librime@c498f71)) * **selector:** support vertical UI ([dbb35c6](rime/librime@dbb35c6)) * **switcher:** enable schema in cases where conditions are met ([217c72b](rime/librime@217c72b)) * **tools/rime_proto_console:** demo for proto api ([d88ef9f](rime/librime@d88ef9f)) ### Performance Improvements * **poet:** optimize for performance in making sentences (~40% faster) ([0853465](rime/librime@0853465)) ## [1.5.3](rime/librime@1.5.2...1.5.3) (2019-06-22) ### Bug Fixes * **cmake, xcode.mk:** find optional dependency icu, while building xcode/release-with-icu target [skip appveyor] ([17a80f8](rime/librime@17a80f8)) * **single_char_filter:** broken in librime 1.5.2 ([6948a62](rime/librime@6948a62)) ### Features * **appveyor:** build variant "rime-with-plugins" for tagged commits [skip travis] ([eef8c30](rime/librime@eef8c30)) * **travis-ci:** build variant "rime-with-plugins" for tagged commits [skip appveyor] ([cf11c27](rime/librime@cf11c27)) * **travis-ci:** deploy artifacts for macOS to GitHub releases [skip appveyor] ([3f03784](rime/librime@3f03784)) ## [1.5.2](rime/librime@1.5.1...1.5.2) (2019-06-17) ### Bug Fixes * **user_dictionary, contextual_translation:** fix user phrase quality; order contextual suggestions by type ([69d5c32](rime/librime@69d5c32)) ## [1.5.1](rime/librime@1.5.0...1.5.1) (2019-06-16) ### Bug Fixes * **user_dictionary:** make user phrases comparable in weight to system words ([982f69d](rime/librime@982f69d)) # [1.5.0](rime/librime@1.4.0...1.5.0) (2019-06-06) ### Bug Fixes * **ci:** update build script ([84a1a1b](rime/librime@84a1a1b)) * **ci:** use submodules in AppVeyor CI build script ([7b515b4](rime/librime@7b515b4)) * **cmake:** libboost Windows XP compatibility fix ([#270](rime/librime#270)) ([fecfe39](rime/librime@fecfe39)), closes [rime/weasel#337](rime/weasel#337) * **CMakeLists.txt:** install header files in all platforms ([821d563](rime/librime@821d563)) * **CMakeLists.txt:** set "-std=c++11" in CMAKE_CXX_FLAGS ([5d8a836](rime/librime@5d8a836)) * **config/plugins.h:** memory leak caused by non-virtual destructor ([316a659](rime/librime@316a659)), closes [#259](rime/librime#259) * **deploy:** treat schema dependencies as optional; do not report errors if missing ([ff3d5e9](rime/librime@ff3d5e9)) * **engine:** schema doesn't match the one used by switcher ([e41bb63](rime/librime@e41bb63)), closes [#269](rime/librime#269) * **rime_levers_api.h:** customize_bool() misused `bool` type ([42bacc5](rime/librime@42bacc5)) * **syllabifier:** enable_completion not working ([2714131](rime/librime@2714131)), closes [#343](rime/librime#343) * **table_translator:** null pointer exception when dict entries are filtered ([77438a9](rime/librime@77438a9)) * **test:** compile error in unit test ([7076d9e](rime/librime@7076d9e)) * **travis-install.sh:** working directory ([97220ce](rime/librime@97220ce)) ### Features * **appveyor:** install RIME_PLUGINS [skip travis] ([c7ce66f](rime/librime@c7ce66f)) * **CMakeList.txt:** add plugin build support ([#257](rime/librime#257)) ([dfa341b](rime/librime@dfa341b)) * **contextual_translation:** weight and re-order phrases by context ([2390da3](rime/librime@2390da3)) * **dict:** specify vocabulary db name in dict settings ([dcdc301](rime/librime@dcdc301)) * **grammar:** compare homophones/homographs in sentence ([9248a6b](rime/librime@9248a6b)) * **install-plugins.sh:** git-clone or update plugins ([70483b4](rime/librime@70483b4)) * **poet:** find best sentence candidates ([b3f4005](rime/librime@b3f4005)) * **rime_api:** get candidate list from index ([c587900](rime/librime@c587900)) * **translator:** contextual suggestions in partially selected sentence ([12a7501](rime/librime@12a7501)) * **translator:** look at preceding text when making sentence ([6ae34de](rime/librime@6ae34de)) * **travis-ci:** install plugins specified in envvar RIME_PLUGINS ([c857639](rime/librime@c857639)) ### Performance Improvements * **dictionary:** refactor DictEntryIterator and do partial sort ([0258c7f](rime/librime@0258c7f)) ### BREAKING CHANGES * **rime_levers_api.h:** in signature of C API function `customize_bool()`, change type `bool` to `Bool` (alias of `int`). Impact: the changed function is not in use by any first party code, known to be in use by osfans/trime. # [1.4.0](rime/librime@1.3.2...1.4.0) (2019-01-16) ### Bug Fixes * **config:** user_config should not fall back to shared data ([68c8a34](rime/librime@68c8a34)), closes [#271](rime/librime#271) * **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([5ad333d](rime/librime@5ad333d)), closes [#241](rime/librime#241) * **SymlinkingPrebuiltDictionaries:** remove dangling symlinks ([f8e4ebf](rime/librime@f8e4ebf)), closes [#241](rime/librime#241) ### Features * spelling correction ([#228](rime/librime#228)) ([ad3638a](rime/librime@ad3638a)) * **Dockerfile:** for build ([#246](rime/librime#246)) ([cafd0d5](rime/librime@cafd0d5)) ## [1.3.2](rime/librime@1.3.1...1.3.2) (2018-11-12) ### Bug Fixes * **CMakeLists.txt:** do not link binaries when building static library ([99573e3](rime/librime@99573e3)) * **CMakeLists.txt:** do not require boost::signals, which will be deprecated in Boost 1.69 ([8a9ef3b](rime/librime@8a9ef3b)), closes [#225](rime/librime#225) * **config_compiler:** ambiguous operator overload with cmake option ENABLE_LOGGING=OFF ([b86b647](rime/librime@b86b647)), closes [#211](rime/librime#211) * **config_compiler:** support creating list in-place by __patch and __merge ([0784eb0](rime/librime@0784eb0)) * **table_translator:** enable encoding uniquified commit history ([74e31bc](rime/librime@74e31bc)) ### Features * **language:** shared user dictionary per language (Closes [#184](rime/librime#184)) ([#214](rime/librime#214)) ([9f774e7](rime/librime@9f774e7)) * always_show_comments option ([#220](rime/librime#220)) ([19cea07](rime/librime@19cea07)) ## [1.3.1](rime/librime@1.3.0...1.3.1) (2018-04-01) ### Bug Fixes * **config_file_update:** clean up deprecated user copy ([#193](rime/librime#193)) ([8d8d2e6](rime/librime@8d8d2e6)) * **thirdparty/src/leveldb:** do not link to snappy library ([6f6056a](rime/librime@6f6056a)) # 1.3.0 (2018-03-09) ### Bug Fixes * **CMakeLists.txt, build.bat:** install header files (public API) ([06c9e86](rime/librime@06c9e86)) * **config_compiler:** "/" mistaken as path separator in merged map key ([#192](rime/librime#192)) ([831ffba](rime/librime@831ffba)), closes [#190](rime/librime#190) * **ConfigFileUpdate:** no need to create user build if shared build is up-to-date ([cafd5c4](rime/librime@cafd5c4)) * **SchemaUpdate:** read compiled schema from shared build if there is no user build ([45a04dd](rime/librime@45a04dd)) * **simplifier:** fix typo ([9e1114e](rime/librime@9e1114e)), closes [#183](rime/librime#183) * **user_db:** unwanted implicit instantiation of UserDbFormat template ([3cbc9cb](rime/librime@3cbc9cb)), closes [#188](rime/librime#188) ### Chores * **release tag:** deprecating tag name prefix 'rime-' in favor of semver 'X.Y.Z' ### BREAKING CHANGES * **release tag:** After 1.3.0 release, we'll no longer be creating tags in the format 'rime-X.Y.Z'. Downstream packagers please change automated scripts accordingly. ## 1.2.10 (2018-02-21) ### Bug Fixes * **config_compiler:** linking failure on blocking root node of a dependency resource ([ecf3397](rime/librime@ecf3397)) * table_translator not making sentence if table entry is hidden by charset filter. ([77eb12e](rime/librime@77eb12e)) * **appveyor.install.bat:** switch to a more stable download server for libboost ([bcc4d10](rime/librime@bcc4d10)) * **appveyor.yml:** archive header files ([c8b1e67](rime/librime@c8b1e67)) * **ascii_composer:** support key binding Shift+space in ascii mode ([7077389](rime/librime@7077389)) * **build.bat:** fix build errors with VS2015 build tools ([ec940c6](rime/librime@ec940c6)) * **calculus, recognizer:** memory leak due to unchecked regex error ([19ddc1e](rime/librime@19ddc1e)), closes [#171](rime/librime#171) * **chord_composer:** allow editor to define BackSpace key behavior ([7f41f65](rime/librime@7f41f65)) * **chord_composer:** letters with modifier keys should not be committed by a following enter key ([aab5eb8](rime/librime@aab5eb8)) * **ci:** call cmake under /usr/local with sudo by passing $PATH environment variable ([a0e6d2f](rime/librime@a0e6d2f)) * **cmake:** fix build break for mingw ([939893c](rime/librime@939893c)) * **config:** auto save modified config data; fixes [#144](rime/librime#144) ([2736f4b](rime/librime@2736f4b)) * **config:** treat "@" as map key rather than list index ([a1df9c5](rime/librime@a1df9c5)) * **config_compiler:** duplicate PendingChild dependencies happen from multiple commands on the same node ([25c28f8](rime/librime@25c28f8)) * **config_compiler:** enforce dependency priorities ([69a6f3e](rime/librime@69a6f3e)) * **config_compiler:** null value should not overwrite a normal key in a merged tree ([4ecae44](rime/librime@4ecae44)) * **config_compiler:** template operator overload had compile error with NDK ([71817a0](rime/librime@71817a0)) * **config/build_info_plugin:** referenced but unavailable resources should also be recorded ([cd46f7a](rime/librime@cd46f7a)) * **ConfigFileUpdate:** should succeed if shared copy does not exist ([8a3e25c](rime/librime@8a3e25c)) * **custom_settings:** fall back to $shared_data_dir/build when loading config ([caf8ebb](rime/librime@caf8ebb)) * **custom_settings:** load built settings from $user_data_dir/build directory ([463dc09](rime/librime@463dc09)) * **deployment_tasks:** symbols.yaml is no longer a build target ([f920e4f](rime/librime@f920e4f)) * **dict_compiler:** prism should load compiled schema ([c2fd0cf](rime/librime@c2fd0cf)), closes [#176](rime/librime#176) * **key_event:** KeySequence::repr() prefer unescaped punctuation characters ([aa43e5e](rime/librime@aa43e5e)) * **levers:** update deployment tasks for copy-free resource resolution ([1f86413](rime/librime@1f86413)) * **Makefile:** make install-debug; do return error code on mac ([1177142](rime/librime@1177142)) * **rime_api:** use user_config_open() to access user.yaml ([4e4a491](rime/librime@4e4a491)) * **rime_console:** not showing switcher's context ([632cf4b](rime/librime@632cf4b)) * **schema:** create a "schema" component that opens Config by schema_id ([555f990](rime/librime@555f990)) * **simplifier:** fix crash if no opencc file ([091cb9d](rime/librime@091cb9d)) * **simplifier:** tips option for show_in_comment simplifier ([e7bb757](rime/librime@e7bb757)) * **uniquifier:** half of the duplicate candidates remain after dedup [Closes [#114](rime/librime#114)] ([2ab76bc](rime/librime@2ab76bc)) ### Features * **build.bat:** customize build settings via environment variables ([#178](rime/librime#178)) ([1678b75](rime/librime@1678b75)) * **chord_composer:** accept escaped chording keys ([79a32b2](rime/librime@79a32b2)) * **chord_composer:** support chording with function keys ([48424d3](rime/librime@48424d3)) * **config:** add config compiler plugin that includes default:/menu into schema ([b51dda8](rime/librime@b51dda8)) * **config:** best effort resolution for circurlar dependencies ([2e52d54](rime/librime@2e52d54)) * **config:** build config files if source files changed ([0d79712](rime/librime@0d79712)) * **config:** config compiler plugins that port legacy features to the new YAML syntax ([a7d253e](rime/librime@a7d253e)) * **config:** config_builder saves output to $rime_user_dir/build/ ([e596155](rime/librime@e596155)) * **config:** references to optional config resources, ending with "?" ([14ec858](rime/librime@14ec858)) * **config:** save __build_info in compiled config ([45a7337](rime/librime@45a7337)) * **config:** separate out config_builder and user_config components ([9e9493b](rime/librime@9e9493b)) * **config:** support append and merge syntax ([04dcf42](rime/librime@04dcf42)) * **customizer:** disable saving patched config files ([88f5a0c](rime/librime@88f5a0c)) * **detect_modifications:** quick test based on last write time of files ([285fbcc](rime/librime@285fbcc)) * **dict:** no conditional compilation on arm ([85b945f](rime/librime@85b945f)) * **dict:** relocate binary files to $user_data_dir/build ([bc66a47](rime/librime@bc66a47)) * **dict:** use resource resolver to find dictionary files ([8ea08b3](rime/librime@8ea08b3)) * add property notifier ([fa7b5a5](rime/librime@fa7b5a5)) * **resource_resolver:** add class and unit test ([03ee8b4](rime/librime@03ee8b4)) * **resource_resolver:** fallback root path ([02151da](rime/librime@02151da)) * **translator:** add history_translator ([#115](rime/librime#115)) ([ae13354](rime/librime@ae13354)) ## 1.2.9 (2014-12-14) * **rime_api.h:** add `RIME_MODULE_LIST`, `RIME_REGISTER_MODULE_GROUP`. * **Makefile:** add make targets `thirdparty/*` to build individual libraries. * **legacy/src/legacy_module.cc:** plugin module `rime-legacy` for GPL code, providing component `legacy_userdb` for user dictionary upgrade. * **src/setup.cc:** define module groups `"default"` and `"deployer"`, to avoid naming a list of built-bin modules in `RimeTraits::modules`. * **test/table_test.cc:** fix random segment faults when run shuffled. * **thirdparty/src/leveldb:** new dependency LevelDB, replacing Kyoto Cabinet. * **dict/level_db:** userdb implementation based on LevelDB, replacing treeDb. * **dict/tree_db:** moved to `legacy/src/`. * **dict/user_db:** refactored and modularized to ease adding implementations. * **gear/cjk_minifier:** support CJK Extension E. * **gear/memory:** save cached phrases as soon as the next composition begins. * **gear/recognizer:** match space iff set `recognizer/use_space: true`. * **gear/simplifier:** catch and log OpenCC exceptions when loading. * **gear/single_char_filter:** bring single character candidates to the front. * **gear/simplifier:** adapt to OpenCC 1.0 API. * **thirdparty/src/opencc:** update OpenCC to v1.0.2 (incompatible with v0.4). * **lever/deployment_tasks:** update and rename task `user_dict_upgrade`. ## 1.2 (2014-07-15) * **rime_api:** add API functions to access complex structures in config; add API to get the raw input and cursor position, or to select a candidate. * **config:** support references to list elements in key paths. eg. `schema_list/@0/schema` is the id of the first schema in schema list. * **switcher:** enable folding IME options in the switcher menu. * **dict_compiler:** also detect changes in essay when updating a dictionary; support updating prism without the source file of the dictionary. * **preset_vocabulary:** load `essay.txt` instead of `essay.kct`. * **reverse_lookup_dictionary:** adopt a new file format with 50% space saving. * **table:** add support for a new binary format with 20% space saving; fix alignment on ARM. * **ascii_composer:** do not toggle IME states when long pressing `Shift` key; support discarding unfinished input when switching to ASCII mode. * **affix_segmentor:** fix issues with selecting a partial-match candidate. * **chord_composer:** commit raw input composed with original key strokes. * **cjk_minifier:** a filter to hide characters in CJK extension set, works with `script_translator`. * **navigator:** do not use `BackSpace` to revert selecting a candidate but to edit the input after moving the cursor left or right. * **punctuator:** support `ascii_punct` option for switching between Chinese and Western (ASCII) punctuations. * **speller:** auto-select candidates by pattern matching against the code; fix issues to cooperate with punctuator. * **CMakeLists.txt:** add options `ENABLE_LOGGING` and `BOOST_USE_CXX11`; introduce a new dependency: `libmarisa`. * **cmake/FindYamlCpp.cmake:** check the availability of the new (v0.5) API. * **sample:** the directory containing a sample plug-in module. * **tools/rime_patch.cc:** a command line tool to create patches. * **thirdparty:** include source code of third-party libraries to ease building librime on Windows and Mac. ## 1.1 (2013-12-26) * **new build dependency:** compiler with C++11 support. tested with GCC 4.8.2, Apple LLVM version 5.0, MSVC 12 (2013). * **encoder:** disable warnings for phrase encode failures in log output; limit the number of results in encoding a phrase with multiple solutions. * **punctuator:** fixed a bug in matching nested "pairs of 'symbols'". * **speller:** better support for auto-committing, allowing users of table based input schema to omit explicitly selecting candidates in many cases. * **schema_list_translator:** option for static schema list order. * **table_translator:** fixed the range of CJK-D in charset filter.
# pillar 1.6.1 - Bump required versions of ellipsis and vctrs to avoid warning during package load. - `obj_sum()` no longer includes shape twice (#315). # pillar 1.6.0 ## Features - New `num()` and `char()` offer a flexible way to customize the display of numeric and character columns (#191, #84). - New `"pillar.max_dec_width"` option (#308). - New `format_type_sum.AsIs()` avoids the need to implement your own `format_type_sum()` method (#286). - `align()` gains `space` argument to control the character used for filling (#285). - Numbers in scientific and decimal notation are formatted with the same rules regarding significant or decimal digits (#297). ## Bug fixes - Load the debugme package only if the `DEBUGME` environment variable is set. - More accurate detection if the decimal dot is necessary, and how many digits to show after the decimal dot (#298). - Use display width instead of number of characters when truncating character columns. ## Documentation - New `vignette("numbers")` and `vignette("digits")` (#308). ## Internal - Compatibility with vctrs 0.3.7 (#291). - `format.pillar_shaft_simple()` requires `"na"` attribute and no longer defaults to `pillar_na()` (#273). # pillar 1.5.1 ## Features - New `format_glimpse()` (#177). ## Bug fixes - Color and formatting can now be reliably turned off by setting the `"cli.num_colors"` option to 1 (#269). ## Documentation - Add examples for new functions (#264). - Fix lifecycle badges everywhere. # pillar 1.5.0 ## Breaking changes - `obj_sum()` now always returns a string. `pillar_shaft.list()` iterates over its elements and calls `obj_sum()` for each (#137). - Breaking: `print.pillar()` and `print.pillar_ornament()` now show `<pillar>` `<pillar_ornament>` in the first line (#227, #228). - pillar has been re-licensed as MIT (#215). ## Extensibility - New `size_sum()` generic (#239). - New `ctl_new_pillar()` and `ctl_new_compound_pillar()` used via `print.tbl()`, `format.tbl()` and `tbl_format_setup.tbl()` (#230). - New `new_pillar()` low-level constructor (#230). - New `new_pillar_component()` and `pillar_component()` (#230). - New articles `vignette("extending")` and `vignette("printing")` (#251). ## Formatting - All printing code has been moved from tibble to pillar (#179), including `glimpse()` (#234). This concentrates the printing code in one package and allows for better extensibility. - Improve formatting for `"Surv"` and `"Surv2"` classes from the survival package (#199). - Vectors of the `vctrs_unspecified()` class are formatted better (#256). - Arrays are now formatted by showing only their first slice (#142). - Avoid wrapping extra column names with spaces (#254). ## Internal - Now using debugme to simplify understand the complex control flow, see `vignette("debugme")` (#248). - New `format.pillar_ornament()` (#228). - Using testthat 3e (#218). - Avoid pillar.bold option in most tests (#216). - Change internal storage format for `colonnade()` and `extra_cols()` (#204). # pillar 1.4.7 - Adapt to changed environment on CRAN's Solaris machine. # pillar 1.4.6 - Restore compatibility with R 3.2. # pillar 1.4.5 ## Features - New `pillar.min_chars` option allows controlling the minimum number of characters shown for a character column (#178, @statsmaths). - `bit64::integer64()` columns are now formatted the same way as numeric columns (#175). - New `align()` to support easy alignment of strings within a character vector (existing function exported by @davidchall, #185). ## Technical - `pillar_shaft()`, `format_type_sum()` and `extra_cols()` issue a warning if dots are unused. - `new_pillar_title()` and `new_pillar_type()` warn if `...` is not empty. ## Internal - Use lifecycle package. - Remove compatibility code for R < 3.3. # pillar 1.4.4 - `obj_sum()` uses `vctrs::vec_size()` internally. - `is_vector_s3.default()` is soft-deprecated and no longer used. Please ensure that `vctrs::vec_is()` is `TRUE` for your class. - Rely on vctrs for type abbreviations. # pillar 1.4.3 - `new_pillar_shaft_simple()` gains `na` argument to control appearance of `NA` values. - String columns are quoted if at least one value needs quotes (#171). - Apply subtle style to `list_of` columns (#172). - Fix formatting if mantissa is very close to 1 (#174). - Use `as.character()` instead of `as_character()`. - Remove compatibility with testthat < 2.0.0.
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
## [1.1.0] ### Added * CLI: The `--path <PATH>` flag has been added, allowing users to limit dependency discovery to one or more paths (specified separately) when `pip-audit` is invoked in environment mode ([#148](pypa/pip-audit#148)) * CLI: The `pip-audit` CLI can now be accessed through `python -m pip_audit`. All functionality is identical to the functionality provided by the `pip-audit` entrypoint ([#173](pypa/pip-audit#173)) * CLI: The `--verbose` flag has been added, allowing users to receive more more verbose output from `pip-audit`. Supplying the `--verbose` flag overrides the `PIP_AUDIT_LOGLEVEL` environment variable and is equivalent to setting it to `debug` ([#185](pypa/pip-audit#185)) ### Changed * CLI: `pip-audit` now clears its spinner bar from the terminal upon completion, preventing visual confusion ([#174](pypa/pip-audit#174)) ### Fixed * Dependency sources: a crash caused by `platform.python_version` returning an version string that couldn't be parsed as a PEP-440 version was fixed ([#175](pypa/pip-audit#175)) * Dependency sources: a crash caused by incorrect assumptions about the structure of source distributions was fixed ([#166](pypa/pip-audit#166)) * Vulnerability sources: a performance issue on Windows caused by cache failures was fixed ([#178](pypa/pip-audit#178)) ## [1.0.1] - 2021-12-02 ### Fixed * CLI: The `--desc` flag no longer requires a following argument. If passed as a bare option, `--desc` is equivalent to `--desc on` ([#153](pypa/pip-audit#153)) * Dependency resolution: The PyPI-based dependency resolver no longer throws an uncaught exception on package resolution errors; instead, the package is marked as skipped and an appropriate warning or fatal error (in `--strict` mode) is produced ([#162](pypa/pip-audit#162)) * CLI: When providing the `--cache-dir` flag, the command to read the pip cache directory is no longer executed. Previously this was always executed and could result into failure when the command fails. In CI environments, the default `~/.cache` directory is typically not writable by the build user and this meant that the `python -m pip cache dir` would fail before this fix, even if the `--cache-dir` flag was provided. ([#161](pypa/pip-audit#161)) ## [1.0.0] - 2021-12-01 ### Added * This is the first stable release of `pip-audit`! The CLI is considered stable from this point on, and all changes will comply with [Semantic Versioning](https://semver.org/) ## [0.0.9] - 2021-12-01 ### Added * CLI: Skipped dependencies are now listed in the output of `pip-audit`, for supporting output formats ([#145](pypa/pip-audit#145)) * CLI: `pip-audit` now supports a "strict" mode (enabled with `-S` or `--strict`) that fails if the audit if any individual dependency cannot be resolved or audited. The default behavior is still to skip any individual dependency errors ([#146](pypa/pip-audit#146))
Changes in version 0.12.3.1 * Bugfix for ghcjs and Double memset for Storable vector: #410 * Avoid haddock bug: #383 * Improve haddock and doctests * Disable problematic tests with -boundschecks #407 Changes in version 0.12.3.0 * Fix performance regression due to introduction of keepAlive# primop in ghc-9.0: #372 * Add monadic functions for mutable vectors: #338 * Added folds for monadic functions: mapM_, imapM_, forM_, iforM_, foldl, foldl', foldM, foldM', ifoldl, ifoldl', ifoldM, ifoldM' * Added modifyM and unsafeModifyM for mutable vectors * Added generate and generateM for mutable vectors Changes in version 0.12.2.0 * Add MINIMAL pragma to Vector & MVector type classes: #11 * Export unstreamM fromfrom Data.Vector.Generic: #70 * New functions: unfoldrExactN and unfoldrExactNM: #140 * Added iforM and iforM_: #262 * Added MonadFix instance for boxed vectors: #178 * Added uncons and unsnoc: #212 * Added foldMap and foldMap': #263 * Added isSameVector for storable vectors * Added toArray, fromArray, toMutableArray and fromMutableArray * Added iscanl, iscanl', iscanr, iscanr' to Primitive, Storable and Unboxed * Added izipWithM, izipWithM_, imapM and imapM_ to Primitive and Storable * Added ifoldM, ifoldM', ifoldM_ and ifoldM'_ to Primitive and Storable * Added eqBy and cmpBy * Added findIndexR to Generic: #172 * Added catMaybes: #329 * Added mapMaybeM and imapMaybeM: #183 Changes in version 0.12.1.2 * Fix for lost function Data.Vector.Generic.mkType: #287 Changes in version 0.12.1.1 (deprecated) * add semigrioups dep to test suite so CI actually runs again on GHC < 8 Changes in version 0.12.1.0 (deprecated) * Fix integer overflows in specializations of Bundle/Stream enumFromTo on Integral types * Fix possibility of OutOfMemory with take and very large arguments. * Fix slice function causing segfault and not checking the bounds properly. * updated specialization rule for EnumFromTo on Float and Double to make sure it always matches the version in GHC Base (which changed as of 8.6) Thanks to Aleksey Khudyakov @Shimuuar for this fix. * fast rejection short circuiting in eqBy operations * the O2 test suite now has reasonable memory usage on every GHC version, special thanks to Alexey Kuleshevich (@lehins). * The Mutable type family is now injective on GHC 8.0 or later. * Using empty Storable vectors no longer results in division-by-zero errors. * The Data instances for Vector types now have well defined implementations for toConstr, gunfold, and dataTypeOf. * New function: partitionWith. * Add Unbox instances for Identity, Const, Down, Dual, Sum, Product, Min, Max, First, Last, WrappedMonoid, Arg, Any, All, Alt, and Compose. * Add NFData1 instances for applicable Vector types.
texmath (0.12.4) * TeX reader: handle hyperref better (#186). We don't parse it as a link, but we pass its contents through rather than failing. * Update scripts and data in `lib/` directory. These are not build dependencies, but they were used to produce some of the large tables in the source code. Fixed the scripts and Makefile to work with recent texmath and cabal. Removed two very large unicode data files that can be downloaded when needed. (This reduces the size of the source tarball considerably.) Remove `lib/toascii` (no longer used). * Update MMLDict using latest unicode.xml. * TeX reader: support siunitx `\qty`, `\qtyrange`, `\unit` (#185). * Remove Text.TeXMath.Compat. We can now safely require mtl >= 2.2.1. * Use symbolMap from ToTeX to shorten the long hardcoded symbols list. Now we only hard-code items that differ what what is in symbolMap. This reduces the code size by thousands of lines. * Unicode.ToTeX: export `symbolMap` [API change]. This uses the data in `records` to create a backwards mapping from TeX commands to Exps (ESymbol elements). This can replace most of the hardcoded list in the current TeX reader. * Split out TeXMath.Readers.TeX.Commands internal module. This makes the TeX reader shorter and should help compile times. * OMML reader: better handling of m:t nodes (#151). Previously we parsed an m:t element as an EIdentifier if it contains a single letter, but an EText TextNormal if it contains more than one. This gave bad results in some cases. It is better to reserve EText for the case where the m:nor property is specified for "normal text." * Require base >= 4.11. * Remove `network-uri` flag from stack.yaml. texmath (0.12.3.3) * OMML writer: use nary only for operators supported by LibreOffice (Albert Krewinkel). LibreOffice (and possibly Word, too) can handle only a small set of operators in an `nary` element. * TeX writer: use `\xleftarrow`, `\xrightarrow` where sensible (Albert Krewinkel). The commands are generated for expressions over `←` or `→`. Besides being more idiomatic, this change also prevents the generation of invalid LaTeX, as `\leftarrow` and `\rightarrow` are not math operators and hence may not be followed by `\limit`. Both commands are part of amsmath.sty. * TeX reader: + Improve angled-bracket support (Albert Krewinkel). The amsmath package allows `\left<` and `\right>` as alternatives to `\left\langle` and `\right\rangle`, respectively. + Ignore stared version of `\tag` (Albert Krewinkel). + Support \dots{c,b,m,i,o} from amsmath (#179). + Change symbol returned for \dots{b,i,m} from `…` to `⋯` (Albert Krewinkel). texmath (0.12.3.2) * OMML writer: remove m:nor element in math operators (#178). This caused the document's main font, rather than the math font, to be used in formatting operators, which is undesirable. texmath (0.12.3.1) * MathML reader: don't allow mfenced attributes to inherit (#177). When open and close attributes aren't given on an mfenced, we should use defaults rather than inheriting these from a parent mfenced. texmath (0.12.3) * TeX reader: implement logic to convert a Bin symbol to an Op to Op when it occurs at the beginning of a group, or after an Open, Pun, or Op symbol. This will give much better results for unary `-` (#176). * OMML writer: fixed rendering of EDelimited (#173). We now properly render "middles" (separators).
4.30 2022-06-14 (rurban) - Fix perl 5.37 utf8n_to_uvuni deprecation. GH #196 4.29 2022-05-27 (rurban) - Hack: Revert native bool (unblessed) overloads via JSON::PP 4.08. JSON::PP ignores unblessed bools for now. GH #194 4.28 2022-05-05 (rurban) - Validate the JSON struct which might get corrupted by wrong FREEZE/THAW methods, or other serializers, or corrupting our magic object. (GH #192) - Improve our DESTROY and END methods to avoid NULL dereferences. Fixes perl-compiler/#438 - Fix 3 tests in t/20_unknown.t with the latest 5.35.10 bool enhancements and JSON::PP (GH #194) - Fix t/118_type.t with Windows ivtype long long. (GH #178) - Added github actions 4.27 2021-10-13 (rurban) - Only add -Werror=declaration-after-statement for 5.035004 and earlier (PR #186 nwc) - Fix 125_shared_boolean.t for threads (PR #184 Sinan Unur) 4.26 2021-04-12 (rurban) - Fix compilation with C++ (GH #177) 4.25 2020-10-28 (rurban) - Fix decode relaxed with comment at the end of the buffer (GH #174 fgaspar), a regression introduced with 3.0220, to fix n_number_then_00. - Possible fix for a gcc-9 optimizer bug (GH #172) 4.24 2020-10-02 (rurban) - Fix decode_json(scalar, 0) (GH #171 plicease), check 2nd arg for true-ness
Fixes Fixed not being able to move window under Wayland (#134). Fixed showing add and remove options for tracks in collaborative playlists (#160). Fixed some possible issues with selecting a device (#162). Fixed MPRIS support under KDE (#178). Fixed crash when opening links on some artists. Changes Much improved MPRIS support (#4). Windows builds now use MSVC, and are available in x86 and x64 variants (#109). Added keyboard shortcuts (#118, #152). Added macOS builds (#121). Added high-DPI support on macOS (#123). Added support for playing tracks from outside the application (#136). Added support for selecting multiple tracks (#137). Added an option to use an expanded album cover (#147). Added an option to close application to the tray (#151). Improved detection of spotifyd config files (#154). Added an option to change device type (#161). Added message when queuing tracks (#166). Added AppImage builds for Linux. Replaced custom font option with ability to select font from system. Added an option to disable checking for updates on start.
What's Changed Disable quiet nan test on windows by @floitsch in #174 Test on all platforms. by @floitsch in #175 Fix warnings on Windows by @floitsch in #176 Run ctests first. by @floitsch in #177 Give shared-lib option and test install by @floitsch in #179 Install Windows debbuger (pdb) files. by @floitsch in #178 Add a cast to silence a signedness conversion warning. by @pkasting in #182 Issue #184 : Fixed all -Wzero-as-null-pointer-constant warnings by @seanm in #185
Patches privately shared by <pin> and RVP, thanks! Changes: 608 --- * Add the --header option (github #43). * Add the --no-number-headers option (github #178). * Add the --status-line option. * Add the --redraw-on-quit option (github #36). * Add the --search-options option (github #213). * Add the --exit-follow-on-close option (github #244). * Add 'H' color type to set color of header lines. * Add #version conditional to lesskey. * Add += syntax to variable section in lesskey files. * Allow option name in -- command to end with '=' in addition to '\n'. * Add $HOME/.config to possible locations of lesskey file (github #153). * Add $XDG_STATE_HOME and $HOME/.local/state to possible locations of history file (github #223). * Don't read or write history file in secure mode (github #201). * Fix display of multibyte and double-width chars in prompt. * Fix ESC-BACKSPACE command when BACKSPACE key does not send 0x08 (github #188). * Add more \k codes to lesskey format. * Fix bug when empty file is modified while viewing it. * Fix bug when parsing a malformed lesskey file (githb #234). * Fix bug scrolling history when --incsearch is set (github #214). * Fix buffer overflow when invoking lessecho with more than 63 -m/-n options (github #198). * Fix buffer overflow in bin_file (github #271). * Fix bug restoring color at end of highlighted text. * Fix bug in parsing lesskey file. * Defer moving cursor to lower left in some more cases. * Suppress TAB filename expansion in some cases where it doesn't make sense. * Fix termlib detection when compiler doesn't accept calls to undeclared functions. * Fix bug in input of non-ASCII characters on Windows (github #247) * Escape filenames when invoking LESSCLOSE. * Fix bug using multibyte UTF-8 char in search string with --incsearch (github #273). 590 --- * Make less able to read lesskey source files (deprecating lesskey). * If XDG_CONFIG_HOME is set, find lesskey source file in $XDG_CONFIG_HOME/lesskey rather than $HOME/.lesskey. * If XDG_DATA_HOME is set, find and store history file in $XDG_DATA_HOME/lesshst rather than $HOME/.lesshst. * Add the --lesskey-src option. * Add the --file-size option. * With -F, if screen is resized to make file fit on one screen, don't exit. * Fix bug which could leave terminal in mouse-reporting mode after exiting less. * Fix bug which caused failure to respond to window resize. * Fix backslash bug searching in tag file. 581 --- * Change ESC-u command to toggle, not disable, highlighting per man page. * Add ESC-U command. * Add ctrl-W search modifier for wrapping search. * F command can be interrupted by ^X. * Support OSC 8 hyperlinks when -R is in effect. * g command with no number will ignore -j and put first line at top of screen. * Multiple + or -p command line options are handled better. * Add the --incsearch option. * Add the --line-num-width option. * Add the --status-col-width option. * Add the --use-color and --color options. * Display -w highlight even if highlighted line is empty. * If search result is in a long line, scroll to ensure it is visible. * Editing the same file under different names now creates only one entry in the file list. * Make visual bell more visible on some terminals. * Ring end-of-file bell no more than once per second. * Build can use either Python or Perl for Makefile.aut operations. * Fix crash when using the @ search modifier. * Fix crash in the 's' command due to duplicate free. * Fix realpath crash on Darwin.
Features - Significantly improved performance, see #173 and #176 (@sharifhsn) - Added variable panels through the --panels and --terminal-width flags, see #13 and #164 (@sharifhsn) - Added new --group-bytes/-g option, see #104 and #170 (@RinHizakura) - Added new --base B option (where B can be binary, octal, decimal or hexadecimal), see #147 and #178 (@sharifhsn) - Show actual zero bytes as ⋄ in the character panel (previously: 0), in order not to confuse them with ASCII - 0 bytes if colors are deactivated. Closes #166 (@sharkdp) hexyl as a library - Breaking change: Printer::new is deprecated as a part of the public API. Alternatively, you can now construct a Printer using the PrinterBuilder builder API, see #168. (@sharifhsn) Other - More tests for the squeezing feature, see #177 (@mkatychev) Thank you - Special thanks go to @sharifhsn, not just for the new features, bugfixes and performance improvements. But also for many internal improvements of the code base and other maintenance tasks.
Now installs a library. ## v3.3.0 #### Fixes: - fixed null pointer dereference in parser when exceptions are disabled (#169) (@ncaklovic) - fixed spurious warnings in MSVC 19.34 - fixed `toml::parse_file()` on windows for non-ASCII paths - fixed a spurious table redefinition error (#187) (@jorisvr) - fixed UB edge-case in integer parsing (#188) (@jorisvr) - fixed some build issues with Apple-flavoured Clang (#189) (@eddelbuettel) #### Additions: - added `toml::format_flags::terse_key_value_pairs` - added `TOML_ENABLE_FLOAT16` config (#178) (@Scrumplex) #### Removals: - removed automatic detection of `_Float16` (you must explicitly set `TOML_ENABLE_FLOAT16` to enable it) (#186) (@benthetechguy) #### Build system: - re-wrote the meson scripts to fix a number of issues (#185, #186) (@Tachi107, @benthetechguy) - increased the minimum required meson version to `0.61.0`
What's Changed - docs: Add installation instructions for Arch Linux by @orhun in #140 - docs: Add installation instructions for Alpine Linux by @orhun in #142 - Docs: Update README by @AmmarAbouZor in #144 - Added: Unit Tests for UI Functions by @AmmarAbouZor in #171 - Chore: Bump Swatinem/rust-cache from 2.6.2 to 2.7.0 by @dependabot in #166 - Added: Unit Tests for the main App Logic by @AmmarAbouZor in #176 - Migrate to Ratatui & Update Crossterm to 27 by @AmmarAbouZor in #178 - Fix Input Boxes Border color by @AmmarAbouZor in #181
This is the biggest update ever, with 36 new features, 24 bug fixes, and 3 performance improvements. Thank you to every contributor for making Yazi better and better! What's Changed feat: add Mintty (Git Bash) image preview support by @sxyazi in #103 refactor: use Url instead of PathBuf by @sxyazi in #107 fix: mime of javascript by @XYenon in #106 perf: load large folders in chunks by @sxyazi in #117 fix: set cursor block after closing input prompt from insert mode by @auvred in #109 fix: doesn't redirect the stderr of the clipboard command to null by @sxyazi in #119 feat: suspend process (Ctrl-Z) by @sxyazi in #120 fix: notification of file changes in linked directories by @sxyazi in #121 feat: file size sorting under the simplified file system by @sxyazi in #123 fix: show_hidden not properly applied to hovered folder by @sxyazi in #124 fix: recognize symlink directories as files by @sxyazi in #125 fix: respect symlink paths without canonicalizing them by @sxyazi in #126 feat: make Input streamable by @sxyazi in #127 perf: doesn't wait for the process of killing by @sxyazi in #128 feat: find by @sxyazi in #104 feat: tab-specific sorting by @sxyazi in #131 feat: new V, D, C keybinding for Input component by @sxyazi in #139 fix: swap description for search commands by @knutwalker in #141 fix: image position calculation by @sxyazi in #144 feat: support for image preview within tmux by @sxyazi in #147 feat: show keywords when in search mode by @sxyazi in #152 feat: fallback to built-in highlighting if jq is not installed by @ndtoan96 in #151 feat: make the glob expr case insensitive by default, and prepend \s to make it sensitive by @sxyazi in #156 fix: check relative path on expand_path by @sxyazi in #165 feat: support for FreeBSD permission type by @yggdr in #169 feat: multiple openers for a single rule by @Linus789 in #154 fix: leave upwards only if an IO error occurs in current by @sxyazi in #172 docs: add archlinuxcn installation guide by @Integral-Tech in #176 fix: image preview not working on Zellij by @Eric-Song-Nop in #181 feat: make trash optional by @sxyazi in #178 fix: inconsistent Shift key behavior on Unix and Windows by @ndtoan96 in #174 feat: new force option added for the remove command, which does not show the confirmation dialog on trashing/deleting by @sxyazi in #173 fix: typo of LICENSE file by @conradojordan in #201 feat: add flake.nix by @XYenon in #205 feat: include ignored files on search when hidden files are shown by @PhotonQuantum in #212 feat: new orphan option for opener rules, to keep the process running even when Yazi exited by @sxyazi in #216 feat: scroll half/full page with arrow percentage supported, and new Vi-like <C-u>, <C-d>, <C-b>, and <C-f> keybindings added by @TD-Sky in #213 feat: highlight matching words on finding by @PhotonQuantum in #211 feat: add BackTab support by @sxyazi in #209 fix: set stdio to null when orphan is true by @sxyazi in #229 feat: new force option for creating and renaming by @sxyazi in #208 feat: loop through to find by @ndtoan96 in #234 feat: backward/forward by @ndtoan96 in #230 perf: reimplement optimized natural sorting algorithm, speed up ~6 times for case-insensitive sorting by @sxyazi in #237 chore: changing the finding key to n/N to keep with Vim's conventions by @sxyazi in #238 feat: added new options to the `find' command for smart-case/ case-insensitive finds by @ndtoan96 in #240 feat: add new --no-cwd-file option to quit command for flexible cwd-file setting by @XOR-op in #245 fix: avoid adding non-regular paths to backstack by @ndtoan96 in #249 fix: support RGBA16 images by @sxyazi in #250 feat: support trash for NetBSD by @sxyazi in #251 feat: support environment variable in cd path by @ndtoan96 in #241 feat: new theme system by @sxyazi in #161 fix: cannot cd if there is whitespace in path by @ndtoan96 in #255 fix: add application/x-wine-extension-ini to text mime by @ndtoan96 in #259 fix: collect and fix all hard coded themes and color by @Eric-Song-Nop in #221 fix: some colors not readable in light mode by @sxyazi in #264 feat: better file hover state by @sxyazi in #269 refactor: split commands into separate files by @sxyazi in #272 feat: cancel selected items automatically on entering, leaving, copying, or cutting by @sxyazi in #273 feat: add a new Bar component, and make border styles customizable by @sxyazi in #278 fix: adapt another $TERM value of foot-extra for foot by @sxyazi in #277 refactor: simplify building conditions by @sxyazi in #280 chore: add git rev to nix pkg version by @XYenon in #206 feat: new Manager component for better style extensions by @sxyazi in #284 feat: cross-system opener rule support by @sxyazi in #289 fix: delegate the SIGINT signal of processes with orphan=true to their parent by @sxyazi in #290 feat: line mode by @sxyazi in #291 feat: shell completions & auto releasing by @TD-Sky in #282
Overview of changes in gnome-calculator 45.0.1 * Retagging release Overview of changes in gnome-calculator 45.0 * Search provider performance improvements !154, !155, !156 (Christian Hergert) * Use numeric font instead of monospace #290 (Robert Roth) * Fixed electron-volt unit abbreviation #347 (Robert Roth) * Fixed erroneous Joule unit name #348 (Robert Roth) * Fixed missing build dependency !157 (Jeremy Bicha) Overview of changes in gnome-calculator 45.beta * Fixed variable and function popover reverse typing #335, #320 (Robert Roth) * Better left/right cursor key handling !153 (Seth Falco) * Improved toolbar using Adwaita library !151 (Felipe Kinoshita) * Flatpak build improvements (Robert Roth) Overview of changes in gnome-calculator 45.alpha * Remember window size #328 !146 (Leonard K, Alice Mikhaylenko) * Allow opening Main Menu by pressing F10 !142 !149 (Automeris naranja) * Extend bit-shifting limit #306 !143 (J Sory) * Added new energy units !143 (J Sory) * Added TWD support via Bank of Canada rates #27 !148 (Mário Adriano) * Added legal section for exchange rate source attribution (Robert Roth) * Added United Nations Treasury exchange rate datasource (Robert Roth) * Added Jamaican Dollar currency #291 (Robert Roth) * Added Ukrainian hryvnia currency #278 (Robert Roth) * Added Nigerian Naira currency #142 (Robert Roth) * Changed symbolic icon to C on the clear button #336 (Robert Roth) * Dropped VEF currency support #78 (Robert Roth) * Use new vala-nightly SDK extension for flatpak (Robert Roth) Overview of changes in gnome-calculator 44.beta * Improved factorization !141 (J. Sory) * Number format selection documentation improvements #321 (Robert Roth) * Made builtin function descriptions translatable #323 (Robert Roth) * Fixed display showing 0 on startup #318 (Robert Roth) * Improved button tooltips !132 (sunflowerskater) * Added signed int support to programming mode !110 (Erik Wolf) * i and e constants updated according to ISO 80000-2:2009 !137 (majjejjam) * Help overlay updates !133 (Sabri Ünal) * Added preferences shortcut !129 (Sabri Ünal) * Destroy dialog after clicking cancel #310 (Jaycee Santos) Overview of changes in gnome-calculator 43.0.1 * Fixed appdata versioning (Robert Roth) Overview of changes in gnome-calculator 43.0 * Removed old issue tracker references !128 (Jake Dane) Overview of changes in gnome-calculator 43.rc * Fix crash when entering new function name !124 (Nathaniel Russel) * Fix source view border !121 (Alexander Mikhaylenko) * Flatpak build update !122 (Bartłomiej Piotrowski) * Port about window to libadwaita !119 (Christopher Davis) * Port to libsoup3 !120 (AppleME) Overview of changes in gnome-calculator 43.alpha * Fixed broken undo/redo #266 (Robert Roth) * Make sure variable name definitions work with whitespace too (Robert Roth) * Fix translatable strings !116 (Maximiliano) * Fixed missing implicit multiplication with variable and root #279 (Robert Roth) * meson warning fixes (Robert Roth) Overview of changes in gnome-calculator 42.2 * Fixed incorrect history with bits toggling #281 (Robert Roth) * Fixed crash when typing in variable popover #282 (Robert Roth) * Fixed incorrect libxml usage #283 (Luca Bacci, Robert Roth) Overview of changes in gnome-calculator 42.1 * Fixed broken undo/redo #266 (Robert Roth) * Removed automatic closing brace addition #271 (Robert Roth) * Fixed incorrect percentage symbol precedence handling #236, #275 (Robert Roth) Overview of changes in gnome-calculator 42.rc * Use new gnome post_install script !106 (Bobby Rong) * gcalc build fixes (Daniel Espinoza Ortiz) * Updated screenshots (Christopher Davis) * Set default focus to entry (Robert Roth) Overview of changes in gnome-calculator 42.beta * Fixed build issues with GCI entry controller tests #250 (Robert Roth) * Force LTR in history view #252 (Robert Roth) * programing mode: Force bit digits to be always LTR #258 (Yosef Or Boczko) * Use AdwApplication (Alexander Mikhaylenko) * ui: Fix styles !105 (Alexander Mikhaylenko) Overview of changes in gnome-calculator 42.alpha * build: Support flatpak development builds (Óscar Fernández Díaz) * build: migrated to GTK4 !98 (Cristopher Davis, Robert Roth) * entry: Added currencies completion provider (Robert Roth) * entry: Fixed percentage evaluation error #237 (Robert Roth) * internal: Moved history view from MathDisplay to MathWindow (Robert Roth) * window: set default width for basic and keyboard mode #240 (Robert Roth) * buttons: removed destructive action class from clear button #242 (Robert Roth) * converter: search support in unit selector, separate conversion category selector #108 (Robert Roth) Overview of changes in gnome-calculator 41.0 * Use first translated symbol for conversion with button #219 (Robert Roth) * Appdata includes hardware support information (Adrien Plazas) Overview of changes in gnome-calculator 41.alpha * Adaptive preferences window !85 (Adrien Plazas) * Fixed currency conversion using convert button #216 (Robert Roth) * User interface reworked, adaptive UI !81 (Adrien Plazas) * Enlarged calculator icon in help !82 (Sabri Ünal) * Code cleanup (Robert Roth) * Fixed kilohertz shorthand !87 (scootergrisen) * Fixed donation link !88 (René Genz) * Added support using calculator without currency conversion for privacy !89 (Ray Strode) * Added support for function description of custom functions using @ !90 (Martin Jirku) Overview of changes in gnome-calculator 40.rc * Resize window after switching mode !78 (joshas) * Fixed compilation warnings (Robert Roth) * Support offline currency conversion tests #208 (Robert Roth) * Use official unit on conversion button click #207 (Robert Roth) * Fixed temperature unit typos #211 (Robert Roth) * Ellipsize conversion labels #17 (Robert Roth) * Added Ctrl+Delete shortcut for clearing the current equation #187 (Robert Roth) * Allow multiple decimal points #166. #5 (Robert Roth) * Added Ctrl+O shortcut for degrees symbol (Robert Roth) * Use gtk-sourceview 4.8 !80 (Robert Roth) Overview of changes in gnome-calculator 40.beta * Fixed CI build (Robert Roth) * Fixed issues with initial loading of currencies (Robert Roth) * Rework currency retrieval preparing for currency provider plugins (Robert Roth) * Fixed commandline conversions #33 (Robert Roth) * Added currency conversion tests (Robert Roth) * Added support for frequencies conversion (Dave Hulst) * Added support for converting to and from weeks (Dave Hulst) * Added support for converting to and from centuries and decades (Dave Hulst) * Increase buttons font size #201 (Robert Roth) * Added % button to Advanced mode (Dave Hulst) * Show 4 decimals in converter instead of only two #203 (Robert Roth) * Added style classes to buttons !76 (Dave Hulst) Overview of changes in gnome-calculator 40.alpha * Use libhandy for window and headerbar !69 (Cristopher Davis) * Use C instead of Clr in help !70 (scootergrisen) * Fixed broken currency conversion on first start #199 (Robert Roth) * Removed duplicate word from help #198 (Robert Roth) * Added lbs shortcut for pounds conversion (Robert Roth) * Fixed inconsistent word size (A. M. Roswell) * Removed unused trunc button from programming mode #41 (Robert Roth) * Fixed deprecation warnings * Added Serbian Dinar with fixed rate #49 (Robert Roth) * Added Bangladeshi Taka with fixed rate #191 (A. M. Roswell) * Updated mailing list contact to Discourse (Robert Roth) * Added basic help page for programming mode (A. M. Roswell) * Added insert character code button (A. M. Roswell) * Dim inapplicable bits on word size change #189 (A. M. Roswell) * Make the conversion labels selectable (Robert Roth) * Do not convert on swap #170 (Robert Roth) * Word size changer in programming mode !58 (A. M. Roswell) * Added metric cups conversion unit !53 (Lucy Coleclough) * Fixed astronomical unit conversion !51 (Thomas Nilsson) * Fixed feet-based units name, added mph and kph shortcuts #180 (Robert Roth) * Use shell copy to clipboard action #178 (Robert Roth) * Fixed preferences of angle units !56 (Delton Ding) Overview of changes in gnome-calculator 3.38.0 Overview of changes in gnome-calculator 3.37.92 Overview of changes in gnome-calculator 3.37.90 * Add tooltips for bits in programming mode !46 (Olliver Schinagl) * snap packaging updates (Ken VanDine) * Added link to website in About #155 (Robert Roth) * Added speed conversions !49 (Mathieu Heurtevin) * History view follows preferences #105, #159, #168 (Robert Roth) * Added month as time unit #158 (Robert Roth) * Better help for variables example usage #154 (Robert Roth) * Defined pi variable, added pi button in programming mode #153 (Robert Roth) * CI build fixes (Robert Roth) * Updated app icon !47 (Jakub Steiner) * Fixed bug returning empty string as result #152 (Robert Roth) * Support latex-style multiplication #164 (Robert Roth) * Added support for tau constant #46 (Robert Roth) * Unify constant handling (Robert Roth) * Separate UI files from sources (Robert Roth) * Moved number format selection to separate menu #24 (Robert Roth) * Replaces mode selector shortcuts with Ctrl+Alt (Robert Roth) * Clear answer if editing right before it #59, #161 (Robert Roth) * Moved preferences dialog to UI file (Robert Roth) * Refresh bits panel after calculation #38 (Robert Roth) * Removed past author addresses #174 (Robert Roth) Overview of changes in gnome-calculator 3.36.0 Overview of changes in gnome-calculator 3.35.92 * doc: Don't pass --fatal-warnings to valadoc (Rico Tzschichholz) * Removed obsolete keyboard shortcut #148 (Robert Roth) * help: Update icon for 3.36 (Andre Klapper) Overview of changes in gnome-calculator 3.35.90 * Drop padding around the display !40 (Adrien Plazas) * Updated Keyboard Shortcuts (Sabri Ünal) * Handle Escape and Enter correctly with completion #144 (Robert Roth) * Added F10 for primary menu shortcut #148 (Robert Roth) * Updated app icon !43 (Tobias Bernard) * Added Rack Units to the conversions !37 (Léo Gillot-Lamure) * Fixed freeze on calculating atan(+/-i) #139 (Robert Roth) * Fixed mode shortcuts by removing blocking mnemonics #138 (Robert Roth) * Implemented result history browsing using alt left/right #129 (Robert Roth) * Added translator comments for possible modes as command line arguments !38 (Rafael Fontenelle) Overview of changes in gnome-calculator 3.35.3 * Help updates (Andre Klapper) Overview of changes in gnome-calculator 3.35.2 * List possible modes in commandline help #112 (Robert Roth) * Add square feet unit #132 (Robert Roth) * Base conversion display selectable #123 (Robert Roth) * Created nightly icon (Jakub Steiner) * Snap build updates (Heather Ellsworth) * GCalc library code fixes (Rico Tzschichholz, Daniel Espinoza Ortiz) * Update required meson version (Diego Escalante Urrelo) * Adapt code to changed gtk+-3.0 bindings (Rico Tzschichholz) * Added GCi libary and tests for controllers for widgets (Daniel Espinoza Ortiz) * Solve on = key if input isq not a variable name #22 (Alberto González Palomo) Overview of changes in gnome-calculator 3.33.92 * README updates (Roger) Overview of changes in gnome-calculator 3.33.90 * Flatpak build cleanup (Jordan Petridis) * Debug messages cleanup (Daniel Espinosa Ortiz) Overview of changes in gnome-calculator 3.33.3 * calculator library build fixes (Daniel Espinosa Ortiz) * CI build fixes (Ken VanDine) * Added mnemonics for primary menu items #113 (Robert Roth) * Dropped leading zeros octal prefix #114, #109, #110 (Robert Roth) Overview of changes in gnome-calculator 3.33.2 * Separated calculator library !19 (Daniel Espinosa Ortiz) * Ensure icon is available for shell (Ken VanDine) * Support entering left/right shift with keyboard #98 (Robert Roth) * Fixed CFA conversion rate #102 (Robert Roth) * Remove copy icon from search provider results #103 (Robert Roth) * Do not assume octal base for binary numbers #101 (Robert Roth) * Show thousands separator in unit converter #102 (Robert Roth) * Use currency name instead of display name for conversion #106 (Robert Roth) * Quit warns and closes all windows #51 (Robert Roth) * Avoid normalizing the equation twice in search #104 (Pascal Nowack) * Ignore keypresses while calculating results #47 (Robert Roth) * Only allow one decimal point in numbers #5 (Robert Roth) * Application icon updated in help (Andre Klapper)
## [0.14.0 - 2023-12-02] ### Added - Synonym for `chroma` encoder parameter: `subsampling`(usage is the same as in Pillow JPEG). #161 #165 - Passing `image_orientation` value to libheif, instead of manually rotating image according to EXIF before encoding. #168 - Pillow plugin: support for images in `YCbCr` mode for saving without converting to `RGB`. #169 - Pi-Heif: Python3.12 32-bit `armv7` wheels. #160 ### Changed - Increased the minimum required libheif version to `1.14.1`. - Linux: When building from source, `libheif` and other libraries are no longer try built automatically. #158 - Libheif updated from `1.16.2` to `1.17.5` version. #166 #175 - `NCLX` color profile - was reworked, updated docs, see PR for more info. #171 - Minimum supported Pillow version raised to `9.2.0`. - Pi-Heif: As last libheif version requires minimum `cmake>=3.16.3` dropped Debian `10 armv7` wheels. #160 - libde265 updated from `1.0.12` to `1.0.14`. [changelog](https://github.com/strukturag/libde265/releases/tag/v1.0.13) ### Fixed - Support of libheif `1.17.x`. #156 - Windows : Build from source with MinGW Python. #178
15.0.0 (2022-01-04) Added * [Ruby,JavaScript,Go] Add bigdecimal, biginteger parameter types (#42) * [.NET] Implementation of Cucumber Expressions by porting the Java parser (#1743) * [Python] Added Python Cucumber Expressions (#65) Changed * [Go] Parameters of type {float} are now parsed as float32 (previously it was float64). Use {double} if you need float64. (#42) 15.0.1 (2022-01-04) Fixed * Fixed release scripts 15.0.2 (2022-03-15) Fixed * Add missing name field in CommonJS package file (#87) 15.1.0 (2022-04-21) Added * [JavaScript] Add CucumberExpression.ast and expose the AST types. 15.1.1 (2022-04-21) Fixed * [JavaScript] Make CucumberExpression.ast public (it was accidentally private in 15.1.0) 15.2.0 (2022-05-24) Added * [JavaScript] Add ParameterInfo (#124) Fixed * [.NET] Fix casing in "word" parameter type constant 16.0.0 (2022-06-12) Changed * [JavaScript] The ParameterType constructor's regexps parameter has a new type: type Regexps = StringOrRegExp | readonly StringOrRegExp[]; type StringOrRegExp = string | RegExp. 16.0.1 (2022-11-06) Fixed * [JavaScript] The ParameterType constructor's transform, useForSnippets and preferForRegexpMatch should be optional. (#178) 16.1.0 - 2022-11-28 Added * [Java] Enabled reproducible builds * [JavaScript] Added ParameterType.builtin. This is to allow JSON serialization of only the non-builtin parameter types. 16.1.1 - 2022-12-08 Fixed * [Java] Improve expression creation performance (#187, #189) 16.1.2 (2023-01-17) Fixed * [Java] Improve cucumber expression creation performance (#202) 17.0.0 (2023-10-06) Changed * [JavaScript] Added TypeScript source to the package (#211) * [Ruby] Minimum supported ruby is now 2.5+ (#232) * [Ruby] Large suite wide refactor for basic rubocop compliance (#233 #235) * [Ruby] Expose ParameterType#transformer as a new public reader (#234) * [Ruby] Remove ParameterType#prefer_for_regexp_match? and ParameterType#use_for_snippets? -> Use their standard reader equivalents instead (Remove the ?) (#234) 17.0.1 (2023-11-24) Fixed * [JavaScript] Fix import paths lacking file suffix (#243) * [Ruby] Fixed up Layout rubocop autofixes
# later 1.3.2 * Fixed `unused variable` compiler warning. (@MichaelChirico, #176) * Fixed #177: The order of includes in `later.h` could cause compilation errors on some platforms. (@jeroen, #178) * Closed #181: Fix R CMD check warning re error() format strings (for r-devel). (#133) # later 1.3.1 * For C function declarations that take no parameters, added `void` parameter. (#172)
0.0.33 What's Changed fix release workflow, corrective release by @woodruffw in #210 0.0.32 What's Changed github: add dependabot config for GHA by @woodruffw in #203 tox: add pip2400 by @woodruffw in #204 Bump the actions group with 5 updates by @dependabot in #205 pip_api: don't pass escaped path into _parse_local_package_name by @woodruffw in #208 prep 0.0.32 by @woodruffw in #209 0.0.31 What's Changed Test against pip==22.2 by @di in #152 Test against pip==22.2.1 by @di in #158 Test against pip==22.2.2 by @di in #160 Test against pip==22.3 by @di in #163 Test against Python 3.11 by @di in #154 workflows/release: bump gh-action-sigstore-python, update slug by @woodruffw in #161 Test against pip==22.3.1 by @di in #165 Add alls-greens configuration by @di in #166 Contributions from @webknjaz by @di in #172 Use sdist as a testing source in CI by @webknjaz in #174 Test against pip==23.0 by @di in #176 Test against pip==23.0.1 by @di in #178 Test against pip==23.1 by @di in #180 Test against pip==23.1.1 by @di in #183 Test against pip==23.1.2 by @di in #185 Test against pip==23.2 by @di in #188 Test against pip==23.2.1 by @di in #190 Test against pip==23.3 by @di in #192 Test against pip==23.3.1 by @di in #194 Test against pip==23.3.2 by @di in #198 Handle editable projects with pyproject.toml by @di in #200 Version 0.0.31 by @di in #201
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
0.14.1.1 Add GPRBuild syntax. Update syntax descriptions for clojure, cmake, coffee, cpp, cs, erlang, graphql, haskell, javascript, julia, kotlin, lilypond, markdown, objectivec, objectivecpp, ocaml, perl, python, ruby, rust, stan, typescript, yaml. 0.14.1 Update syntax definitions for julia, actionscript, bash, cpp, css, djangotemplate, dosbat, groovy, html, ini, isocpp, java, javadoc, json, jsp, latex, makefile, mustache, php, powershell, rest, rhtml, sass, scala, scss, toml, xml, raku (with patch). Many improvements to regular expression compilation: Properly recognize unicode characters. Handle \Q..\E literal sequences. Handle group modifiers like (?i:etc.). (The only one we actually pay attention to is i.) Allow unicode category escapes outside of character classes. Support one-letter unicode category escapes like \p{L}. These are found in some of the newer syntax definitions. Improve regex matching: Fix wordDetect to work around an issue in the new html.xml. Refactor and fix atWordBoundary: remove redundant checks, and fix behavior (/x\b/ was behaving like /\bx\b/) (Côme ALLART). Fix bug in lastCharOffset (Côme ALLART). Style: Allow colors to be specified in ARGB format (#178). We currently just ignore the A part, but at least we don't fail.
0.14.1.1 Add GPRBuild syntax. Update syntax descriptions for clojure, cmake, coffee, cpp, cs, erlang, graphql, haskell, javascript, julia, kotlin, lilypond, markdown, objectivec, objectivecpp, ocaml, perl, python, ruby, rust, stan, typescript, yaml. 0.14.1 Update syntax definitions for julia, actionscript, bash, cpp, css, djangotemplate, dosbat, groovy, html, ini, isocpp, java, javadoc, json, jsp, latex, makefile, mustache, php, powershell, rest, rhtml, sass, scala, scss, toml, xml, raku (with patch). Many improvements to regular expression compilation: Properly recognize unicode characters. Handle \Q..\E literal sequences. Handle group modifiers like (?i:etc.). (The only one we actually pay attention to is i.) Allow unicode category escapes outside of character classes. Support one-letter unicode category escapes like \p{L}. These are found in some of the newer syntax definitions. Improve regex matching: Fix wordDetect to work around an issue in the new html.xml. Refactor and fix atWordBoundary: remove redundant checks, and fix behavior (/x\b/ was behaving like /\bx\b/) (Côme ALLART). Fix bug in lastCharOffset (Côme ALLART). Style: Allow colors to be specified in ARGB format (#178). We currently just ignore the A part, but at least we don't fail.
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
# wk 0.9.4 - Ensure package tests pass against sf 1.0-18 (#224, #225). # wk 0.9.3 - Ensure package compiles with `STRICT_R_HEADERS=1` (#222). # wk 0.9.2 - Add `wk_crs()` and `wk_set_crs()` methods for `bbox` (#213) - Fix wk_trans inconsistent meta flags handling (#217) - Ensure package builds on arm64 for Windows (#220) # wk 0.9.1 - Fix format strings/arguments for R-devel (#209). # wk 0.9.0 ## Breaking changes - The common well-known binary representation of POINT EMPTY (i.e., POINT (nan nan)) is now handled as POINT EMPTY allowing empty points to roundtrip through `wkb()` vectors (#196, #204). - `xy(NA, NA)` is now read as a null feature instead of POINT EMPTY. This preserves the invariant that null features can also be identified using `is.na()` (#205). - `xy(NaN, NaN)` is now read as POINT EMPTY and `is.na(xy(NaN, NaN))` now returns `FALSE`. This means that both EMPTY and null points can roundtrip through `xy()` (#205). ## Bugfixes and improvements - `wk_meta()` now contains a new column `is_empty`, which is `TRUE` for any feature that contains at least one non-empty coordinate. This allows more efficient detection of features with zero coordinates (#197, #199). - Updated PROJ data to use the latest pull of the database packaged with PROJ 9.3.0 (#201). - The wk package now compiles once again on gcc 4.8 (#203, #206). - Fixed `sfc_writer()` to correctly attach the `classes` attribute to sfc output with mixed geometry types (#195). - Function `sfc_writer()` now has an argument `promote_multi` to write any input as the MULTI variant. This makes it more likely that an input vector will be read as a single geometry type (#198). - The `wk_collection_filter()` now correctly increments the `part_id` when calling the child handler (@brownag, #194). # wk 0.8.0 * Added `wkb_to_hex()` (@anthonynorth, #183). * Implemented `vctrs::vec_proxy_equal()` for `wkb()` vctrs (@anthonynorth, #183). * Fixed `sfc_writer()`, which had returned NULL for some inputs (e.g., via `wk_collection()`) (@anthonynorth, #182, #186). * Added `wk_clockwise()` and `wk_counterclockwise()` to re-wind polygon rings (@anthonynorth, #188). * New replacement-function mode for `wk_coords<-()` for in-place modification of coordinates (@mdsumner, #187). * New function `wk_trans_explicit()` migrated from crs2crs (@mdsumner, #187). # wk 0.7.3 * Fix tests for updated waldo package (#178). # wk 0.7.2 * Fix use-after-free warnings. # wk 0.7.1 * Fix implicit reliance on error `as.data.frame.default()`, which no longer occurs in r-devel (#166). # wk 0.7.0 * Remove legacy headers that are no longer used by any downstream package (#146). * `validate_wk_wkt()` now errors for an object that does not inherit from 'wk_wkt' (#123, #146). * Added `wk_crs_projjson()` to get a JSON representation of a CRS object. To make lookup possible based on shortcut-style CRS objects (e.g., `"EPSG:4326"` or `4326`), added data objects `wk_proj_crs_view` and `wk_proj_crs_json` that contain cached versions of rendered PROJJSON based on the latest PROJ version (#147). * Added a `wk_crs_proj_definition()` method for `wk_crs_inherit()` (#136, #147). * Conversion to sf now uses the `sfc_writer()` for all wk classes, making conversions faster and fixing at least one issue with conversion of NA geometries to sf (#135). * `wk_plot()` now plots `NULL`/`NA` geometries and mixed geometry types more reliably (#142, #143, #149). * Exported EMPTY geometries to well-known text now include dimension (e.g., `POINT Z EMPTY`) (#141, #150). * Fixed bug where `wk_polygon()` doubled some points when the input contained closed rings (#134, #151). * Fixed bug where `wk_count()` exposed uninitialized values for empty input (#139, #153). * The `xy_writer()` now opportunistically avoids allocating vectors for Z or M values unless they are actually needed (#131, #154). * Added example WKT for all geometry types and dimensions plus helper `wk_example()` to access them and set various properties (#155). * Fixes warnings when compiling with `-Wstrict-prototypes` (#157, #158). * Removed `wk_chunk_map_feature()` in favour of using chunking strategies directly (#132, #159). * Optimized `wk_coords()` for `xy()` objects (#138, #160). * Added accessor methods for record-style vectors: `rct_xmin()`, `rct_xmax()`, `rct_ymin()`, `rct_ymax()`, `rct_width()`, `rct_height()`, `crc_center()`, `crc_x()`, `crc_y()`, `crc_r()`, `xy_x()`, `xy_y()`, `xy_z()`, and `xy_m()` (#144, #161). * Added rectangle operators `rct_intersects()`, `rct_contains()`, and `rct_intersection()` (#161). # wk 0.6.0 * Fixed `wk_affine_rescale()` to apply the translate and scale operations in the correct order (#94). * Add `wk_handle_slice()` and `wk_chunk_map_feature()` to support a chunk + apply workflow when working with large vectors (#101, #107). * C and R code was rewritten to avoid materializing ALTREP vectors (#103, #109). * Added a `wk_crs_proj_definition()` generic for foreign CRS objects (#110, #112). * Added `wk_crs_longlat()` helper to help promote authority-compliant CRS choices (#112). * Added `wk_is_geodesic()`, `wk_set_geodesic()`, and argument `geodesic` in `wkt()` and `wkb()` as a flag for objects whose edges must be interpolated along a spherical/ellipsoidal trajectory (#112). * Added `sf::st_geometry()` and `sf::st_sfc()` methods for wk geometry vectors for better integration with sf (#113, #114). * Refactored well-known text parser to be more reusable and faster (#115, #104). * Minor performance enhancement for `is.na()` and `validate_wk_wkb()` when called on a very long `wkb()` vector (#117). * Fixed issue with `validate_wk_wkb()` and `validate_wk_wkt()`, which failed for most valid objects (#119). * Added `wk_envelope()` and `wk_envelope_handler()` to compute feature-wise bounding boxes (#120, #122). * Fixed headers and tests to pass on big endian systems (#105, #122). * Incorporated the geodesic attribute into vctrs methods, data frame columns, and bbox/envelope calculation (#124, #125). * Fix `as_xy()` for nested data frames and geodesic objects (#126, #128). * Remove deprecated `wkb_problems()`, `wkt_problems()`, `wkb_format()`, and `wkt_format()` (#129). * `wk_plot()` is now an S3 generic (#130). # wk 0.5.0 * Fixed bugs relating to the behaviour of wk classes as vectors (#64, #65, #67, #70). * `crc()` objects are now correctly exported as polygons with a closed loop (#66, #70). * Added `wk_vertices()` and `wk_coords()` to extract individual coordinate values from geometries with optional identifying information. For advanced users, the `wk_vertex_filter()` can be used as part of a pipeline to export coordinates as point geometries to another handler (#69, #71). * Added `wk_flatten()` to extract geometries from collections. For advanced users, the `wk_flatten_filter()` can be used as part of a pipeline (#75, #78). * `options("max.print")` is now respected by all vector classes (#72, #74). * Moved implementation of plot methods from wkutils to wk to simplify the dependency structure of both packages (#80, #76). * Added `wk_polygon()`, `wk_linestring()`, and `wk_collection()` to construct polygons, lines, and collections. For advanced users, `wk_polygon_filter()`, `wk_linestring_filter()`, and `wk_collection_filter()` can be used as part of a pipeline (#77, #84). * Added a C-level transform struct that can be used to simplify the the common pattern of transforming coordinates. These structs can be created by other packages; however, the `wk_trans_affine()` and `wk_trans_set()` transforms are also built using this feature. These are run using the new `wk_transform()` function and power the new `wk_set_z()`, `wk_set_m()`, `wk_drop_z()`, `wk_drop_m()`, functions (#87, #88, #89). # wk 0.4.1 * Fix LTO and MacOS 3.6.2 check errors (#61). # wk 0.4.0 * Removed `wksxp()` in favour of improved `sf::st_sfc()` support (#21). * Rewrite existing readers, writers, and handlers, using a new C API (#13). * Use new C API in favour of header-only approach for all wk functions (#19, #22). * Use cpp11 to manage safe use of callables that may longjmp from C++. * Vector classes now propagate `attr(, "crs")`, and check that operations that involve more than one vector have compatable CRS objects as determined by `wk_crs_equal()`. * Added an R-level framework for other packages to implement wk readers and handlers: `wk_handle()`, `wk_translate()`, and `wk_writer()` (#37). * Added a native reader and writer for `sf::st_sfc()` objects and implemented R-level generics for sfc, sfg, sf, and bbox objects (#28, #29, #38, #45). * Implement `crc()` vector class to represent circles (#40). * Added a 2D cartesian bounding box handler (`wk_bbox()`) (#42). * Refactored unit tests reflecting use of the new API and for improved test coverage (#44, #45, #46). * Added `wk_meta()`, `wk_vector_meta()`, and `wk_count()` to inspect properties of vectors (#53). * Modified all internal handlers such that they work with vectors of unknown length (#54). # wk 0.3.4 * Fixed reference to `wkutils::plot.wk_wksxp()`, which no longer exists. # wk 0.3.3 * Fixed WKB import of ZM geometries that do not use EWKB. * Added `xy()`, `xyz()`, `xym()` and `xyzm()` classes to efficiently store point geometries. * Added the `rct()` vector class to efficiently store two-dimensional rectangles. * Fixed the CRAN check failure caused by a circular dependency with the wkutils package. * Added S3 methods to coerce sf objects to and from `wkt()`, `wkb()` and `wksxp()`. # wk 0.3.2 * Fixed EWKB output for collections and multi-geometries that included SRID (#3). * Fixed CRAN check errors related to exception handling on MacOS/R 3.6.2. # wk 0.3.1 * Added a `NEWS.md` file to track changes to the package.
please add pftop to Darwin package
The text was updated successfully, but these errors were encountered: