Git 2.30 Release Notes
======================
Updates since v2.29
-------------------
UI, Workflows & Features
* Userdiff for PHP update.
* Userdiff for Rust update.
* Userdiff for CSS update.
* The command line completion script (in contrib/) learned that "git
stash show" takes the options "git diff" takes.
* "git worktree list" now shows if each worktree is locked. This
possibly may open us to show other kinds of states in the future.
* "git maintenance", an extended big brother of "git gc", continues
to evolve.
* "git push --force-with-lease[=<ref>]" can easily be misused to lose
commits unless the user takes good care of their own "git fetch".
A new option "--force-if-includes" attempts to ensure that what is
being force-pushed was created after examining the commit at the
tip of the remote ref that is about to be force-replaced.
* "git clone" learned clone.defaultremotename configuration variable
to customize what nickname to use to call the remote the repository
was cloned from.
* "git checkout" learned to use checkout.guess configuration variable
and enable/disable its "--[no-]guess" option accordingly.
* "git resurrect" script (in contrib/) learned that the object names
may be longer than 40-hex depending on the hash function in use.
* "git diff A...B" learned "git diff --merge-base A B", which is a
longer short-hand to say the same thing.
* A sample 'push-to-checkout' hook, that performs the same as
what the built-in default action does, has been added.
* "git diff" family of commands learned the "-I<regex>" option to
ignore hunks whose changed lines all match the given pattern.
* The userdiff pattern learned to identify the function definition in
POSIX shells and bash.
* "git checkout-index" did not consistently signal an error with its
exit status, but now it does.
* A commit and tag object may have CR at the end of each and
every line (you can create such an object with hash-object or
using --cleanup=verbatim to decline the default clean-up
action), but it would make it impossible to have a blank line
to separate the title from the body of the message. We are now
more lenient and accept a line with lone CR on it as a blank line,
too.
* Exit codes from "git remote add" etc. were not usable by scripted
callers, but now they are.
* "git archive" now allows compression level higher than "-9"
when generating tar.gz output.
* Zsh autocompletion (in contrib/) update.
* The maximum length of output filenames "git format-patch" creates
has become configurable (used to be capped at 64).
* "git rev-parse" learned the "--end-of-options" to help scripts to
safely take a parameter that is supposed to be a revision, e.g.
"git rev-parse --verify -q --end-of-options $rev".
* The command line completion script (in contrib/) learned to expand
commands that are alias of alias.
* "git update-ref --stdin" learns to take multiple transactions in a
single session.
* Various subcommands of "git config" that take value_regex
learned the "--literal-value" option to take the value_regex option
as a literal string.
* The transport layer was taught to optionally exchange the session
ID assigned by the trace2 subsystem during fetch/push transactions.
* "git imap-send" used to ignore configuration variables like
core.askpass; this has been corrected.
* "git $cmd $args", when $cmd is not a recognised subcommand, by
default tries to see if $cmd is a typo of an existing subcommand
and optionally executes the corrected command if there is only one
possibility, depending on the setting of help.autocorrect; the
users can now disable the whole thing, including the cycles spent
to find a likely typo, by setting the configuration variable to
'never'.
* "@" sometimes worked (e.g. "git push origin @:there") as a part of
a refspec element, but "git push origin @" did not work, which has
been corrected.
Performance, Internal Implementation, Development Support etc.
* Use "git archive" more to produce the release tarball.
* GitHub Actions automated test improvement to skip tests on a tree
identical to what has already been tested.
* Test-coverage for running commit-graph task "git maintenance" has
been extended.
* Our test scripts can be told to run only individual pieces while
skipping others with the "--run=..." option; they were taught to
take a substring of test title, in addition to numbers, to name the
test pieces to run.
* Adjust tests so that they won't scream when the default initial
branch name is different from 'master'.
* Rewriting "git bisect" in C continues.
* More preliminary tests have been added to document desired outcomes
of various "directory rename" situations.
* Micro clean-up of a couple of test scripts.
* "git diff" and other commands that share the same machinery to
compare with working tree files have been taught to take advantage
of the fsmonitor data when available.
* The code to detect premature EOF in the sideband demultiplexer has
been cleaned up.
* "git fetch --depth=<n>" over the stateless RPC / smart HTTP
transport handled EOF from the client poorly at the server end.
* A specialization of hashmap that uses a string as key has been
introduced. Hopefully it will see wider use over time.
* "git bisect start/next" in a large span of history spends a lot of
time trying to come up with exactly the half-way point; this can be
optimized by stopping when we see a commit that is close enough to
the half-way point.
* A lazily defined test prerequisite can now be defined in terms of
another lazily defined test prerequisite.
* Expectation for the original contributor after responding to a
review comment to use the explanation in a patch update has been
described.
* Multiple "credential-store" backends can race to lock the same
file, causing everybody else but one to fail---reattempt locking
with some timeout to reduce the rate of the failure.
* "git-parse-remote" shell script library outlived its usefulness.
* Like die() and error(), a call to warning() will also trigger a
trace2 event.
* Use of non-reentrant localtime() has been removed.
* Non-reentrant time-related library functions and ctime/asctime with
awkward calling interfaces are banned from the codebase.
Fixes since v2.29
-----------------
* In 2.29, "--committer-date-is-author-date" option of "rebase" and
"am" subcommands lost the e-mail address by mistake, which has been
corrected.
(merge 5f35edd9d7 jk/committer-date-is-author-date-fix later to maint).
* "git checkout -p A...B [-- <path>]" did not work, even though the
same command without "-p" correctly used the merge-base between
commits A and B.
(merge 35166b1fb5 dl/checkout-p-merge-base later to maint).
* The side-band status report can be sent at the same time as the
primary payload multiplexed, but the demultiplexer on the receiving
end incorrectly split a single status report into two, which has
been corrected.
(merge 712b0377db js/avoid-split-sideband-message later to maint).
* "git fast-import" wasted a lot of memory when many marks were in use.
(merge 3f018ec716 jk/fast-import-marks-alloc-fix later to maint).
* A test helper "test_cmp A B" was taught to diagnose missing files A
or B as a bug in test, but some tests legitimately wanted to notice
a failure to even create file B as an error, in addition to leaving
the expected result in it, and were misdiagnosed as a bug. This
has been corrected.
(merge 262d5ad5a5 es/test-cmp-typocatcher later to maint).
* When "git commit-graph" detects the same commit recorded more than
once while it is merging the layers, it used to die. The code now
ignores all but one of them and continues.
(merge 85102ac71b ds/commit-graph-merging-fix later to maint).
* The meaning of a Signed-off-by trailer can vary from project to
project; this and also what it means to this project has been
clarified in the documentation.
(merge 3abd4a67d9 bk/sob-dco later to maint).
* "git credential' didn't honor the core.askPass configuration
variable (among other things), which has been corrected.
(merge 567ad2c0f9 tk/credential-config later to maint).
* Dev support to catch a tentative definition of a variable in our C
code as an error.
(merge 5539183622 jk/no-common later to maint).
* "git rebase --rebase-merges" did not correctly pass --gpg-sign
command line option to underlying "git merge" when replaying a merge
using non-default merge strategy or when replaying an octopus merge
(because replaying a two-head merge with the default strategy was
done in a separate codepath, the problem did not trigger for most
users), which has been corrected.
(merge 43ad4f2eca sc/sequencer-gpg-octopus later to maint).
* "git apply -R" did not handle patches that touch the same path
twice correctly, which has been corrected. This is most relevant
in a patch that changes a path from a regular file to a symbolic
link (and vice versa).
(merge b0f266de11 jt/apply-reverse-twice later to maint).
* A recent oid->hash conversion missed one spot, breaking "git svn".
(merge 03bb366de4 bc/svn-hash-oid-fix later to maint).
* The documentation on the "--abbrev=<n>" option did not say the
output may be longer than "<n>" hexdigits, which has been
clarified.
(merge cda34e0d0c jc/abbrev-doc later to maint).
* "git p4" now honors init.defaultBranch configuration.
(merge 1b09d1917f js/p4-default-branch later to maint).
* Recently the format of an internal state file "rebase -i" uses has
been tightened up for consistency, which would hurt those who start
"rebase -i" with old git and then continue with new git. Loosen
the reader side a bit (which we may want to tighten again in a year
or so).
(merge c779386182 jc/sequencer-stopped-sha-simplify later to maint).
* The code to see if "git stash drop" can safely remove refs/stash
has been made more careful.
(merge 4f44c5659b rs/empty-reflog-check-fix later to maint).
* "git log -L<range>:<path>" is documented to take no pathspec, but
this was not enforced by the command line option parser, which has
been corrected.
(merge 39664cb0ac jc/line-log-takes-no-pathspec later to maint).
* "git format-patch --output=there" did not work as expected and
instead crashed. The option is now supported.
(merge dc1672dd10 jk/format-patch-output later to maint).
* Define ARM64 compiled with MSVC to be little-endian.
(merge 0c038fc65a dg/bswap-msvc later to maint).
* "git rebase -i" did not store ORIG_HEAD correctly.
(merge 8843302307 pw/rebase-i-orig-head later to maint).
* "git blame -L :funcname -- path" did not work well for a path for
which a userdiff driver is defined.
* "make DEVELOPER=1 sparse" used to run sparse and let it emit
warnings; now such warnings will cause an error.
(merge 521dc56270 jc/sparse-error-for-developer-build later to maint).
* "git blame --ignore-revs-file=<file>" learned to ignore a
non-existent object name in the input, instead of complaining.
(merge c714d05875 jc/blame-ignore-fix later to maint).
* Running "git diff" while allowing external diff in a state with
unmerged paths used to segfault, which has been corrected.
(merge d66851806f jk/diff-release-filespec-fix later to maint).
* Build configuration cleanup.
(merge b990f02fd8 ab/config-mak-uname-simplify later to maint).
* Fix regression introduced when nvimdiff support in mergetool was added.
(merge 12026f46e7 pd/mergetool-nvimdiff later to maint).
* The exchange between receive-pack and proc-receive hook did not
carefully check for errors.
* The code was not prepared to deal with pack .idx file that is
larger than 4GB.
(merge 81c4c5cf2e jk/4gb-idx later to maint).
* Since jgit does not yet work with SHA-256 repositories, mark the
tests that use it not to run unless we are testing with ShA-1
repositories.
(merge ea699b4adc sg/t5310-jgit-wants-sha1 later to maint).
* Config parser fix for "git notes".
(merge 45fef1599a na/notes-displayref-is-not-boolean later to maint).
* Move a definition of compatibility wrapper from cache.h to
git-compat-util.h
(merge a76b138daa hn/sleep-millisec-decl later to maint).
* Error message fix.
(merge eaf5341538 km/stash-error-message-fix later to maint).
* "git pull --rebase --recurse-submodules" checked for local changes
in a wrong range and failed to run correctly when it should.
(merge 5176f20ffe pb/pull-rebase-recurse-submodules later to maint).
* "git push" that is killed may leave a pack-objects process behind,
still computing to find a good compression, wasting cycles. This
has been corrected.
(merge 8b59935114 jk/stop-pack-objects-when-push-is-killed later to maint).
* "git fetch" that is killed may leave a pack-objects process behind,
still computing to find a good compression, wasting cycles. This
has been corrected.
(merge 309a4028e7 jk/stop-pack-objects-when-fetch-is-killed later to maint).
* "git add -i" failed to honor custom colors configured to show
patches, which has been corrected.
(merge 96386faa03 js/add-i-color-fix later to maint).
* Processes that access packdata while the .idx file gets removed
(e.g. while repacking) did not fail or fall back gracefully as they
could.
(merge 506ec2fbda tb/idx-midx-race-fix later to maint).
* "git apply" adjusted the permission bits of working-tree files and
directories according to core.sharedRepository setting by mistake and
for a long time, which has been corrected.
(merge eb3c027e17 mt/do-not-use-scld-in-working-tree later to maint).
* "fetch-pack" could pass NULL pointer to unlink(2) when it sees an
invalid filename; the error checking has been tightened to make
this impossible.
(merge 6031af387e rs/fetch-pack-invalid-lockfile later to maint).
* "git maintenance run/start/stop" needed to be run in a repository
to hold the lockfile they use, but didn't make sure they are
actually in a repository, which has been corrected.
* The glossary described a branch as an "active" line of development,
which is misleading---a stale and non-moving branch is still a
branch.
(merge eef1ceabd8 so/glossary-branch-is-not-necessarily-active later to maint).
* Newer versions of xsltproc can assign IDs in HTML documents it
generates in a consistent manner. Use the feature to help format
HTML version of the user manual reproducibly.
(merge 3569e11d69 ae/doc-reproducible-html later to maint).
* Tighten error checking in the codepath that responds to "git fetch".
(merge d43a21bdbb jk/check-config-parsing-error-in-upload-pack later to maint).
* "git pack-redundant" when there is only one packfile used to crash,
which has been corrected.
(merge 0696232390 jx/pack-redundant-on-single-pack later to maint).
* Other code cleanup, docfix, build fix, etc.
(merge 3e0a5dc9af cc/doc-filter-branch-typofix later to maint).
(merge 32c83afc2c cw/ci-ghwf-check-ws-errors later to maint).
(merge 5eb2ed691b rs/tighten-callers-of-deref-tag later to maint).
(merge 6db29ab213 jk/fast-import-marks-cleanup later to maint).
(merge e5cf6d3df4 nk/dir-c-comment-update later to maint).
(merge 5710dcce74 jk/report-fn-typedef later to maint).
(merge 9a82db1056 en/sequencer-rollback-lock-cleanup later to maint).
(merge 4e1bee9a99 js/t7006-cleanup later to maint).
(merge f5bcde6c58 es/tutorial-mention-asciidoc-early later to maint).
(merge 714d491af0 so/format-patch-doc-on-default-diff-format later to maint).
(merge 0795df4b9b rs/clear-commit-marks-in-repo later to maint).
(merge 9542d56379 sd/prompt-local-variable later to maint).
(merge 06d43fad18 rs/pack-write-hashwrite-simplify later to maint).
(merge b7e20b4373 mc/typofix later to maint).
(merge f6bcd9a8a4 js/test-whitespace-fixes later to maint).
(merge 53b67a801b js/test-file-size later to maint).
(merge 970909c2a7 rs/hashwrite-be64 later to maint).
(merge 5a923bb1f0 ma/list-object-filter-opt-msgfix later to maint).
(merge 1c3e412916 rs/archive-plug-leak-refname later to maint).
(merge d44e5267ea rs/plug-diff-cache-leak later to maint).
(merge 793c1464d3 ab/gc-keep-base-option later to maint).
(merge b86339b12b mt/worktree-error-message-fix later to maint).
(merge e01ae2a4a7 js/pull-rebase-use-advise later to maint).
(merge e63d774242 sn/config-doc-typofix later to maint).
(merge 08e9df2395 jk/multi-line-indent-style-fix later to maint).
(merge e66590348a da/vs-build-iconv-fix later to maint).
(merge 7fe07275be js/cmake-extra-built-ins-fix later to maint).
(merge 633eebe142 jb/midx-doc-update later to maint).
(merge 5885367e8f jh/index-v2-doc-on-fsmn later to maint).
(merge 14639a4779 jc/compat-util-setitimer-fix later to maint).
(merge 56f56ac50b ab/unreachable-break later to maint).
(merge 731d578b4f rb/nonstop-config-mak-uname-update later to maint).
(merge f4698738f9 es/perf-export-fix later to maint).
(merge 773c694142 nk/refspecs-negative-fix later to maint).
Overview of changes in 1.48.0
=============================
- docs: Clarify use of PangoAnalysis in shaping
- fontconfig: Make pango_font_family_get_face more reliable
- introspection: Fix use of PangoFcSubstituteFunc
- introspection: Skip fontconfig types
- build: Use yielding meson feature for introspection
Overview of changes in 1.47.0
=============================
- Add pango_language_get_preferred
- Add pango_fc_font_get_languages
- Sort faces of a family by slant and weight
Overview of changes in 1.46.2
=============================
- Fix pango_win32_font_map_load_font with falback families
- Fix an assertion in pango_language_get_scripts
- Fix a crash in get_items_log_attrs
- Fix attribute iterators with overlapping attributes
- Fix rendering of Emoji keycap sequences
- ci: Run the testsuite under asan and fix all reported issues
- build: Make libthai, cairo, xft, fontconfig, freetype
dependencies meson features
9.1.1
Compatibility fix.
- Ignore ``--result-log`` command line option when used together with ``pytest
>= 6.1.0``, as it was removed there. This is a quick fix, use an older
version of pytest, if you want to keep this feature for now.
- Support up to pytest 6.1.0.
9.1
Features
- Add a new flag ``--only-rerun`` to allow for users to rerun only certain
errors.
Other changes
- Drop dependency on ``mock``.
- Add support for pre-commit and add a linting tox target.
2.4.2
Fix dependency on six library
2.4.1
Bugfixes for xfails
2.4.0
Minor version bump whenever we change pytest hooks. This hook change in particular was done for unittest-based tests; which do not use the 'pytest_pyfunc_call' hook we were originally using.
2.3.3
Fix error when test file paths were on different drive
Updated pytest & python unittest matrix
2.3.2
Add pytest_assume_summary_report hook for modifying output of failed assertions (thanks @ptrivedi2610)
2.3.0
New hook for modifying output
2019-01 Release 0.5.7
Horst Duchene
* Fully automate dev setup with Gitpod (41dd00)
* Add Dockerfile to install graphviz (2bd738)
* Examples do not call dotty (6bba96)
* Add ruby license file (a21aa5)
ujihisa <ujihisa@users.noreply.github.com>
* Test against Ruby 2.6 and 2.7 as well (50ac7c)
* Fix dead links (9184f3)
Harry Lascelles <hlascelles@users.noreply.github.com>
* Update .travis.yml (45b9a2)
* Make the links more explicit (95dc3b)
Harry Lascelles
* Add explicit license to gemspec (de3647)
pkgsrc change:
* Remove DIST_SUBDIR since there is no need to treat gem file specially.
* Change LICENSE.
0.5.3 (2020-12-19)
* Add ruby 2.6 and 2.7 to travis.
* Fixed test error.
* Add LICENSE file.
Add ruby-semverse package version 3.0.0. It is required by
ruby-inspec-core package (not yet added).
Semverse
An elegant library for representing and comparing SemVer versions and
constraints.
== 1.4.4 - 2020-09-23
=== Fixes
* Fixed a bug that NoMethodError instead of
PackageConfig::NotFoundError is raised.
[Fixed by kojix2][GitHub#21]
=== Thanks
* kojix2
4.18.0 (2020-03-25)
API Support
* #1304 Added the ability to delete a deployment @jer-k
* #1308 Add repo vulnerability alerts related functionality for
repositories @calvinhughes
Bug fixes
* #1309 Paginate outside_collaborators calls @sds
* #1316 Uses of FaradayMiddleware#on_complete should not be private
@tarebyte
Code improvements
* #1131 Add CommitIsNotPartOfPullRequest error @wata727
* #1303 Remove integrations preview header @MichaelViveros
* #1307 Raise Octokit::InstallationSuspended when another error is
received @yykamei
Documentation
* #1302 Add documentation on how to specify the ref option for RubyDoc
@aomathwift
* #1311 Fix Code of Conduct link in Table of Contents @eduardoj
4.19.0 (2020-10-20)
Code Improvements
* #1223 Ensure a boolean is returned for application_authenticated @zakallen
* #1255 Update api paths in the organization api to take ids @hmharvey
* #1260 Fix last_response behavior after failures @JackTLi
* #1253 Ensure adapters set SSL options properly @tjwallace
* #1270 Add context around rate limit errors @jatindhankhar
API Support
* #1252 Introduces support for the ActionWorkflow and ActionWorkflowRun
APIs @petar-lazarov
* #1236 Support for ActionsSecrets API @jylitalo
* #1266 Support for get the authenticated app @kitop
* #1281 Support for create a workflow dispatch event @igfoo
* #1286 Support installation suspended failures @stmllr
* #1288 Support for user migration endpoints @stmllr
Documentation
* #1248 Fix documentation link for update a repository @spier
* #1269 Update some documentation param names @tarebyte
* #1276 Remove dangling phrase in CONTRIBUTING.md @igfoo
* #1278 Link related doc in CONTRIBUTING.md @igfoo
* #1279 Fix script typo in README.md @igfoo
* #1291 Fix typo in authorizations comments @ohbarye
0.7.0 (2020-12-29)
Added
* Add HashConverters for transforming string into hash of string, integer,
float or boolean values
* Add converters for transforming string to array of booleans, integers,
floats and numeric
Changed
* Change StringToRange converter to work with decimal numbers and spaces
* Change :strict to be a keyword argument
* Change StringToNumeric converter to allow numbers with space characters
1.12.0 (2020-12-23)
External changes
* Various improvements to README inspired by #207 and #390 - thanks to
@nitishr for his work on #390 (fed0eee6)
* Improve documentation related to StateMachine classes - thanks to
@nitishr (#425 & #427)
* Fix regression in cardinality introduced in v1.10.0 (59454a8) and
reported in #473 - thanks to @srvance for reporting and @nitishr for
fixing (#474)
* Fix documentation for Mocha::Expectation#when - thanks to @olleolleolle
(b4f59daa & #477)
* Remove Mocha::Mock#respond_to? from documentation - thanks to @nitishr
(#480)
* Improvements to documentation for Expectation#yields & #multiple_yields
- thanks to @andyw8 for reporting in #495 (1b6571c)
* Remove documentation & tests from gem to reduce its size by over 50% -
thanks to @gabetax (#500)
* Update documentation to point to travis-ci.com instead of travis-ci.org
Internal changes
* Refactor StateMachine-related classes - thanks to @nitishr (#425 & #427)
* Remove redundant test - thanks to @nitishr (8e4f1a7c)
* Add Ruby 2.7 to Travis CI matrix - thanks to @bastelfreak (fc5ea2f2)
* Simplify Mockery - thanks to @nitishr (#449)
* Update Travis CI badge to point to main vs master branch (bd8028f8)
* Generate docs using newer version of yard (v0.9.25) (c619afac)
* Manually upgrade jquery in docs from v1.7.1 -> v1.9.0 to fix
CVE-2017-16011 (211098a5, dd5eeedb & 1b76e4d5; also see #492)
* Remove reference to non-existent jquery source map to fix error in
Chrome developer tools (20156555)
* Temporarily ignore Ruby v1.8.7 build failures (e5b9feef)
1.8.7 (2021-01-04)
* Fixed a regression with fallback logic: see issues #547, #546 and #542.
1.8.6 (2021-01-01)
* Fallbacks are now stored in Thread.current for multi-threading
compatibility: #542
* no-op arguments are no longer allowed for I18n.t calls -- fixes an
incompatibility with Ruby 3.0: #545
This gem's GitHub workflow files have been updated to ensure compatibility
between new Rails versions (6.1) and the new Ruby release (3.0). See the
"Actions" tab on GitHub for the full range of supported Rails and Ruby
versions.
Add ruby-generator package version 0.0.1. It is required by newer
ruby-stream package.
Generator gem is designed for use in ruby projects and provides templates
generators like rails 3.
1.14.2 / 2020-12-21
-------------------
Fixed:
* Fix builtin libffi on newer Ubuntu caused by an outdated Makefile.in . #863
1.14.1 / 2020-12-19
-------------------
Changed:
* Revert changes to FFI::Pointer#write_string made in ffi-1.14.0.
It breaks compatibilty in a way that can cause hard to find errors. #857
1.14.0 / 2020-12-18
-------------------
Added:
* Add types.conf for x86_64-msys, x86_64-haiku, aarch64-openbsd and aarch64-darwin (alias arm64-darwin)
* Add method AbstractMemory#size_limit? . #829
* Add new extconf option --enable-libffi-alloc which is enabled per default on Apple M1 (arm64-darwin).
Changed:
* Do NULL pointer check only when array length > 0 . #305
* Raise an error on an unknown order argument. #830
* Change FFI::Pointer#write_string to terminate with a NUL byte like other string methods. #805
* Update bundled libffi to latest master.
Removed:
* Remove win32/stdint.h and stdbool.h because of copyright issue. #693
Fixed:
* Fix possible UTF-8 load error in loader script interpretation. #792
* Fix segfault on non-array argument to #write_array_of_*
* Fix memory leak in MethodHandle . #815
* Fix possible segfault in combination with fiddle or other libffi using gems . #835
* Fix possibility to use ffi ruby gem with JRuby-9.3 . #763
* Fix a GC issue, when a callback Proc is used on more than 2 callback signatures. #820
## 1.2.1 - 10-Oct-2020
* Remove the old test file and directory, oops. Thanks go to Michael Crusoe
for the spot.
## 1.2.0 - 30-Sep-2020
* Switched from test-unit to rspec, and added a Gemfile.
* Use markdown for text files.
0.18.0 (2020-12-05)
#804 Remove deprecation warnings
#802 Remove lattice link itself.
#797 Update Ruby versions in CI script
#801 Associate Open Collective sponsorship option
#800 Streamline README
#799 Update links, add diagram preview.
#796 Create Class Diagram in Draw.io
#798 Pertinent Newsflash
#792 CI: 2.5.5, 2.6.2
#788 Travis: Include Ruby 2.5, 2.6
#787 Travis config: drop old configuration sudo: false
#786 Travis: use jruby-9.2.5.0
#783 v0.18.0.pre2
#782 Merge 'celluloid-supervision' back into the tree
#781 .gitmodules: No longer used
#780 README.md: Link to unmaintained issue
#778 README.md: Add "maintained: no! (as of 2016)" badge
#777 gemspec: Metadata with supported links
#776 Travis: use jruby-9.2.0.0
#775 Travis: jruby-9.1.17.0
#769 Travis: jruby-9.1.15.0
#768 Travis: use latest JRuby
#767 CHANGES: Add GitHub compare link on each heading
#766Fixcelluloid/celluloid#758#765 Travis: jruby-9.1.13.0
#761 Travis: jruby-9.1.12.0
#760 Travis: jruby-9.1.10.0
#759 Travis: jruby-9.1.9.0
#757 parameterize error message so old and new Rubies match text
#756 Travis: latest stable rubies
#754 README: Fix badge rendering in Markdown
#753 Travis: use jruby-9.1.8.0
#752 Misspellings
#749 Return false from Celluloid.running? if Celluloid.boot hasn't been called
#751 Travis: Use JRuby 9.1.7.0
#740 Global variables: stop the bleeding
#739 Remove hacks around old MRIs, JRuby, and rbx
#738 Update to RuboCop 0.45.0 (with new rubocop.yml policy)
#737 Simplify dependencies: merge 'essentials' and 'culture' repos
#736 Remove $CELLULOID_BACKPORTED and $CELLULOID_MANAGED
#735 Require Ruby 2.2.6+
#729 Remove mysterious Fiber.yield
#721 Instruction for cloning Celluloid via github
#715 fix error response reference in Future#cancel
#712 Add RBX-3 to the build
#711 Added bundler cache
#709 Fix autostart. Fixes https://github.com/celluloid/celluloid/issues/698#705 Adding method source code path to backtrace
Minor release for 1.2 branch (v1.2.3):
- v1.2 is now in maintanance mode, 1.4 is the development version
- Documentation improvements
- Minor obscure bug fixes
- Improvements to test code
Bugfix release for 1.2 branch (v1.2.2):
- Fixed a few typos
- Fixed ZshCompletionOutput
- Fixed brief output with TCLAP_NAMESTRING defined
- Initialize theDelimiter (supress warning) in DocBookOutput
- Fixed an issue with config.h and compiling on systems
without sstream.h
- Fixed } outside of include guards in ArgTraits.h
(and add one comment line on Makefile to send corrected this log)
2020.12
6model:
* [ce0cbf58,372e4341,ed15b258,1e98d73b,93aae582,93a1ba85,04063d19,
d65501b2,1b2867fb,1f695ac6,5048630d,d8ecb325,1dd5b3c7,c544ca9f,
897d2e98,3833c31e,9c527362,3ab21b9e,b3fa6df2] Hash allocation as a single
memory block
* [730596d0,62828269,bd6b0b32,6fac5ab2,eb33fb55,c7811142,99aab70e,
2b20583f,52a516f6,358e7fd5,491e8dcd,46634be8,b432533e,2913e0ac,
30fbd9ab,00f29c72,7d6107e6,a024f543,37c2d2d6,7caffe8a,2e208823,
ffb2031b,fecfad19,d9dccf25] Store some hash bits in the low bits of the
hashtable metadata byte, with the probe distance in the high bits, and the
split between the two updated dynamically
* [bed0a49f] Early exit gc_mark for VMArray+MVMHash if able
* [9fbcdb4d] P6opaque's spesh must handle P6bigint values inline, as some are
too big
* [4cfde6ed,ac941c0d,8d68b18f] Eliminate static race condition
* [5a21247e] Improve performance of repeated unshift calls
* [b8653cae] Turn gen2 default allocation off on (de)serialization failures
Core:
* [5f1712cb,741e6acd,868de8cc,9b9de0ab,60b47f62,175525ce,c2f3e04b,01c0950d]
Replace MVM_box_{int,num,str,uint} and MVM_unbox_str with calls to
MVM_repr_box_{int,num,str,uint} and MVM_repr_get_str
* [490ee80d] Make curcode OP inlinable
* [998ea76a] Calling MVM_exception_throw_adhoc in the spesh worker should be
an oops
* [fa9b6659] Use simpler stdio calls in exceptions.c where possible
* [ec507862] Add MVM_set_running_threads_context
* [0c3a38fa] Move MVM_{set,get}_running_threads_context to threadcontext.h
* [34e06864] Simplify and inline MVM_nativecall_find_thread_context
Documentation:
* [ae5f7ad4] Update some docs to Raku era
JIT:
* [fbd386a0,7bdfb38b] On Apple Silicon with arch arm64, do not attempt to JIT
* [3838247e] Add word and byte-sized return value macros to the lego JIT
Math:
* [70cefcff] Minimally exact bigint/bigint => num conversion, including
rounding
Strings:
* [a6118ff2] New debug helper: MVM_dump_string
New in 2020.12:
* Removals:
+ Deprecated method candidates (subbuf(Any:U) on Buf, chdir(Str(), :$!test) on IO::Path)
and indir(IO() $path, &what, :$test!) subroutine candidate that were
throwing an exception instead of a deprecation warning for a long time
were removed from CORE [9040318]
* Additions:
+ Add new method deterministic to Iterator role [87fc041][b83b1b3][
b63c0e0][c37a88e][96285af]
+ Introduce %*SUB-MAIN-OPTS<coerce-allomorphs-to> setting [bd5eba4][
49eecd6]
+ Add a new candidate to spurt routine and method.
It does not have an argument taking content to write,
making it similar to the touch utility [f2ea0a6]
+ Add :emit-on-empty and :emit-once-on-empty methods to Supply.batch
method [cb8eb68]
+ Add :emit-timed to Supply.batch method [492651e]
+ Make is DEPRECATED trait introspectable on Routine instances [0d1c8a8]
* Changes:
+ Improve output of Attribute documentation when rendered with
Pod::To::Text [a0a8a51]
+ Increase sensitivity of Supply.batch(:seconds) x 1000 [aecfc9b]
+ The cas subroutine now accepts Mu as both its target and values [
998cae5]
+ Defined List instances no longer return True when calling ACCEPT
with an undefined List (i.e. List ~~ () returns False now) [9fd79f9]
+ Mark the base native array class as Positional [d1d2546]
* Efficiency:
+ Implement metamodel transparency of nominalizables and fix handling of
definite parameters, gaining back some performance loss introduced with
the new coercion protocol in previous release
[d37906d][ed16d6c][b5465b1][e481619]
+ Fix a shaped array performance problem [f27e212]
+ Make execution of some kinds of when faster [c080e59][0006475][b3a2558]
+ Make cas subroutine ~10% faster [484f870]
+ Make @a[*-1] candidates about 60% faster [2d5d3bf]
+ Optimize some array operators [4ac0f73]
+ Make array access [$i] with $i being a native int about 2x as fast [
7c0956b]
+ Improve the performance of signature binding [b1f59a2]
+ Speed up various aspects of native 1-dim shaped arrays and
native arrays in general
[42fceb0][2c5b545][3def3ce][705e6e6][a76e2b6][60fa48e]
[6792cc4][bd944e7][2274aa8][392d8be][1c43c46]
* Fixes:
+ Fix number of issues with REPL execution. e.g. it "forgetting" previous
multi sub declarations, calling WHAT on native type
[7c0a81f][eae309a][e46a1da][f2851b9][e8ab527][0d6278f]
[6f7718c][be45507]
+ Fix roles not being auto-punned for postcifcumfix:<( )>, by
implementing an invocation protocol for roles [79d2aea]
[5a22a7c][77a7bd2][17223fc][4009f40][538ad1b][9f98595]
+ Fix concurrency issue in compilations with heredocs [147bae3]
+ Fix subsets of coercions [af43ef6]
+ Fix an issue with splitdir method of IO::Spec::Unix
leading to action at a distance bugs [3d46341][f154244]
+ Fix argument of a coercion type not having a workable default value
[44cc88b][856dfb2]
+ Fix error reporting for slurpy named parameters with type constraints [
e1f09cf]
+ Fix behavior of postcircumfix [ ] called with Iterable on
native array [4304e25]
+ Disallow calling of postcircumfix [ ] with type objects [6c7044e]
+ Fix a bug in set symmetric difference logic [7b6de5c]
+ Make Num coercer demand definite invocant [a75b3fa]
+ Add missing handling of adverbs :kv, :p, :k, :v for
1-dim shaped native arrays, also support many adverbs at once
(e.g. :exists:(kv|p) [0f4970d][02e48d8]
+ Give stub packages created by package_at_key a proper longname [aab4f55
]
+ Fix raku method called on CompUnit::Repository::Distribution instance [
7d0813c]
+ Fix proper reporting of the X::Parameter::RW exception message [1732054
]
+ Fix RAKUDO_MODULE_DEBUG output when the message contains meta
characters [b58510f]
+ The Test module now correctly handles RAKU_TEST_TIMES environment
variable,
previously called PERL6_TEST_TIMES [d84ed4e]
* Internal:
+ Remove deprecated functionality to core epilogue [7406f8c]
+ Introduce Rakudo::Iterator.TailWith [f6c7ddb][9dbb52f]
+ Add sink-all method to a number of PredictiveIterators [cf0f2f2]
+ Make Iterator.sink-all default to using skip-one [f0ebdd0]
+ Add raku method to Rakudo::Internals::IterationSet for easier debugging
[0d301fa]
+ Remove all easily removable nqp::stmts from Rakudo code [f2f2cf8]
+ Another round of nqp::if -> ternaries [aba90b0]
+ Fix unwanted references to other compilations by CompilerServices [
d0de766]
+ Type IO::Socket::INET family/type/protocol values [534cc54]
+ Add missing debug type names for easier debugging [a68b8ab]
+ Move "is test-assertion" to candidates [15ec4fe]
+ Adapt filenames in binary release scripts [3748884]
+ Various cleanup and micro-optimization changes [1801a5a]
[eabdee4][45246ae][6852f40][dce6804][c663cc3][1712f03]
[b525c4d][6ee47f0][912381b][2ce5260][80f9283][161325e]
[65f24a8][c02c9cd][46e9468][82d31e0][137d49b][53ad24a]
[1331ffd][c4c4ba9]
nancy is a tool to check for vulnerabilities in your Golang
dependencies, powered by Sonatype OSS Index, and as well, works
with Nexus IQ Server, allowing you a smooth experience as a Golang
developer, using the best tools in the market!
(No go prefix as I don't think it matters which Go version nancy was
built with. it parses the output from Go itself.)
Introduce new variables:
* CFLAGS_<source>, CXXFLAGS_<source> and CPPFLAGS_<source>.
Now one can add some C/C++ compilation flags on per source file
basis.
* CCSTD and CXXSTD.
Now projects based on mk-configure may require
standard-compliant compiler, for example, C99.
* CFLAGS0 and CXXFLAGS0.
* MKCOMPILERSETTINGS.
See README.for_packagers file for details
Internal mk files are included only if it is really necessary. For
example, mkc_imp.incs.mk is included only if variable INCS is not
empty. In theory, this should speed-up mkcmake.
New features: humanize_number, shquote and pwdgrp.
Deprecate some things:
* implicit MAN page, that is when MAN variable is not set,
but man file exists
* ~/.mk-c directory and @sysconfdir@/mk-c.conf file.
Please rename them to ~/.mkcmake and
@sysconfdir@/mkcmake.conf respectively.
Add preliminary support for ARMCC compiler.
Optimize installation of directories, run "install -d" once for all
created directories.
mkc.lib.mk: after building libraries ${.CURDIR:T}.done file is
created. This file is used later for handling inter-project
dependencies specified by LIBDEPS variable.
mk-configure.7: document all variables in alphabetic order.
I hope this makes navigation in the documentation easier.
Fixes:
* tests/failed_requirements: fix failure on freebsd
(strict printf(1))
* examples/require_tools/fake: make it a real script
Release v1.4.1
* Fixed a case EbmlMaster::Read where the element returned via
UpperEltFound and FountElt points to a just-deleted element,
causing callers to think the memory returned is valid, potentially
leading to use-after-free/double-free errors. This can happen if
the specific element's Read function throws an exception when
encountering certain invalid data constellations.
Bump fmt to version 7.1.3
Download automatically googlebenchmark for bench tests (#1709) Thanks @kitattyor.
Add CPack debian package settings (#1712) and fix typo in comment (#1711). Thanks @ChristofKaufmann.
Perfect forwarding fmt arguments (#1726). Thanks @dkavolis.
Fix dup_filter_sink to log current log call's level, instead of the filtered log call's level (#1710). Thanks @Tridacnid for reporting.
Ability to get size of messages queue of async thread pool (#1735) Thanks @o2gy84.
Add missing include (#1742). Thanks @jwittbrodt.
Updated bin_to_hex example in the readme (#1744). Thanks @ArnaudBienner.
Fix async periodic flush test (#1749). Thanks @bluescarni.
New Features in Readline
a. If a second consecutive completion attempt produces matches where the first
did not, treat it as a new completion attempt and insert a match as
appropriate.
b. Bracketed paste mode works in more places: incremental search strings, vi
overstrike mode, character search, and reading numeric arguments.
c. Readline automatically switches to horizontal scrolling if the terminal has
only one line.
d. Unbinding all key sequences bound to a particular readline function now
descends into keymaps for multi-key sequences.
e. rl-clear-display: new bindable command that clears the screen and, if
possible, the scrollback buffer (bound to emacs mode M-C-l by default).
f. New active mark and face feature: when enabled, it will highlight the text
inserted by a bracketed paste (the `active region') and the text found by
incremental and non-incremental history searches. This is tied to bracketed
paste and can be disabled by turning off bracketed paste.
g. Readline sets the mark in several additional commands.
h. Bracketed paste mode is enabled by default. There is a configure-time
option (--enable-bracketed-paste-default) to set the default to on or off.
i. Readline tries to take advantage of the more regular structure of UTF-8
characters to identify the beginning and end of characters when moving
through the line buffer.
j. The bindable operate-and-get-next command (and its default bindings) are
now part of readline instead of a bash-specific addition.
k. The signal cleanup code now blocks SIGINT while processing after a SIGINT.
20.8 - 2020-12-11
~~~~~~~~~~~~~~~~~
* Revert back to setuptools for compatibility purposes for some Linux distros (:issue:`363`)
* Do not insert an underscore in wheel tags when the interpreter version number
is more than 2 digits (:issue:`372`)
20.7 - 2020-11-28
~~~~~~~~~~~~~~~~~
No unreleased changes.
20.6 - 2020-11-28
~~~~~~~~~~~~~~~~~
.. note:: This release was subsequently yanked, and these changes were included in 20.7.
* Fix flit configuration, to include LICENSE files (:issue:`357`)
* Make `intel` a recognized CPU architecture for the `universal` macOS platform tag (:issue:`361`)
* Add some missing type hints to `packaging.requirements` (issue:`350`)
20.5 - 2020-11-27
~~~~~~~~~~~~~~~~~
* Officially support Python 3.9 (:issue:`343`)
* Deprecate the ``LegacyVersion`` and ``LegacySpecifier`` classes (:issue:`321`)
* Handle ``OSError`` on non-dynamic executables when attempting to resolve
the glibc version string.
5.46.0 - 2021-01-04
This release upgrades from_type(), to infer strategies for
type-annotated arguments even if they have defaults when it otherwise
falls back to builds() (issue #2708).
5.45.0 - 2021-01-04
This release adds the hypothesis[codemods] extra, which you can
use to check for and automatically fix issues such as use of
deprecated Hypothesis APIs (issue #2705).
5.44.0 - 2021-01-03
This patch fixes from_type() with the typing_extensions Literal
backport on Python 3.6.
5.43.9 - 2021-01-02
This patch fixes issue #2722, where certain orderings of
register_type_strategy(), ForwardRef, and from_type() could trigger
an internal error.
5.43.8 - 2021-01-02
This patch makes some strategies for collections with a uniqueness
constraint much more efficient, including
dictionaries(keys=sampled_from(...), values=..) and
lists(tuples(sampled_from(...), ...), unique_by=lambda x: x[0]).
(related to issue #2036)
5.43.7 - 2021-01-02
This patch extends our faster special case for sampled_from()
elements in unique lists() to account for chains of .map(...) and
.filter(...) calls (issue #2036).
5.43.6 - 2021-01-02
This patch improves the type annotations on assume() and
@reproduce_failure().
5.43.5 - 2021-01-01
This patch updates our copyright headers to include 2021. Happy
new year!
5.43.4 - 2020-12-24
This change fixes a documentation error in the database setting.
The previous documentation suggested that callers could specify a
database path string, or the special string ":memory:", but this
setting has never actually allowed string arguments.
Permitted values are None, and instances of ExampleDatabase.
5.43.3 - 2020-12-11
This patch fixes issue #2696, an internal error triggered when the
@example decorator was used and the verbosity setting was quiet.
5.43.2 - 2020-12-10
This patch improves the error message from the data_frames() strategy
when both the rows and columns arguments are given, but there is
a missing entry in rows and the corresponding column has no fill
value (issue #2678).
5.43.1 - 2020-12-10
This patch improves the error message if builds() is passed an Enum
which cannot be called without arguments, to suggest using
sampled_from() (issue #2693).
5.43.0 - 2020-12-09
This release adds new timezones() and timezone_keys() strategies
(issue #2630) based on the new zoneinfo module in Python 3.9.
pip install hypothesis[zoneinfo] will ensure that you have the
appropriate backports installed if you need them.