pkgsrc change: update HOMEPAGE to https://ttytoolkit.org/.
## [v0.7.0] - 2020-12-20
### Added
* Add :enable_color configuration to allow control over colouring
### Changed
* Change to ensure non-negative space filler size
* Change to enforce private visibility for the private module methods
### Fixed
* Fix box width calculation to ignore colored text by @LainLayer
* Fix drawing frame around multiline colored content
## 3.3.9 - 2020-12-29 {#version-3-3-9}
### Improvements
* `assert_not_match`: Add support for `String` as pattern.
[GitHub#178][Patch by David Rodríguez]
### Thanks
* David Rodríguez
## 3.3.8 - 2020-12-25 {#version-3-3-8}
### Improvements
* [UI][console]: Removed reverse mode because Ruby 3.0 reverts
reverse backtrace.
## 3.3.7 - 2020-11-18 {#version-3-3-7}
### Improvements
* Improved TruffleRuby support.
[GitHub#171][Reported by Benoit Daloze]
* Removed needless `to_sym`.
[GitHub#177][Patch by icm7216]
* `assert_raise`: Added backtrace for actual error.
* Improved terminal color availability detection.
[GitHub#175][Patch by nicholas a. evans]
* Changed license to the new Ruby's.
[GitHub#174]
### Fixes
* Fixed a typo in `--help` output:
[GitHub#176][Patch by icm7216]
### Thanks
* Benoit Daloze
* icm7216
* nicholas a. evans
0.21.2 (2021-01-09)
==========
## Bugfixes
* `maximum_coverage_drop` won't fail any more if `.last_run.json` is still in the old format. Thanks [@petertellgren](https://github.com/petertellgren)
* `maximum_coverage_drop` won't fail if an expectation is specified for a previous unrecorded criterion, it will just pass (there's nothing, so nothing to drop)
* fixed bug in `maximum_coverage_drop` calculation that could falsely report it had dropped for minimal differences
0.21.1 (2021-01-04)
==========
## Bugfixes
* `minimum_coverage_by_file` works again as expected (errored out before 😱)
0.21.0 (2021-01-03)
==========
The "Collate++" release making it more viable for big CI setups by limiting memory consumption. Also includes some nice new additions for branch coverage settings.
## Enhancements
* Performance of `SimpleCov.collate` improved - it should both run faster and consume much less memory esp. when run with many files (memory consumption should not increase with number of files any more)
* Can now define the minimum_coverage_by_file, maximum_coverage_drop and refuse_coverage_drop by branch as well as line coverage. Thanks to [@jemmaissroff](https://github.com/jemmaissroff)
* Can set primary coverage to something other than line by setting `primary_coverage :branch` in SimpleCov Configuration. Thanks to [@jemmaissroff](https://github.com/jemmaissroff)
## Misc
* reduce gem size by splitting Changelog into `Changelog.md` and a pre 0.18 `Changelog.old.md`, the latter of which is not included in the gem
* The interface of `ResultMeger.merge_and_store` is changed to support the `collate` performance improvements mentioned above. It's not considered an official API, hence this is not in the breaking section. For people using it to merge results from different machines, it's recommended to migrate to [collate](https://github.com/simplecov-ruby/simplecov#merging-test-runs-under-different-execution-environments).
0.20.0 (2020-11-29)
==========
The "JSON formatter" release. Starting now a JSON formatter is included by default in the release. This is mostly done for Code Climate reasons, you can find more details [in this issue](https://github.com/codeclimate/test-reporter/issues/413).
Shipping with so much by default is sub-optimal, we know. It's the long term plan to also provide `simplecov-core` without the HTML or JSON formatters for those who don't need them/for other formatters to rely on.
## Enhancements
* `simplecov_json_formatter` included by default ([docs](https://github.com/simplecov-ruby/simplecov#json-formatter)), this should enable the Code Climate test reporter to work again once it's updated
* invalidate internal cache after switching `SimpleCov.root`, should help with some bugs
0.19.1 (2020-10-25)
==========
## Bugfixes
* No more warnings triggered by `enable_for_subprocesses`. Thanks to [@mame](https://github.com/mame)
* Avoid trying to patch `Process.fork` when it isn't available. Thanks to [@MSP-Greg](https://github.com/MSP-Greg)
0.12.3 (2020-09-23)
==================
## Bugfixes
* Relax ruby version requirement to work with Ruby 3.0 (next version, current `ruby-head`). Thanks [@byroot](https://github.com/byroot).
### 4.0.2 / 2020-12-26
[Full Changelog](https://github.com/rspec/rspec-rails/compare/v4.0.1...v4.0.2)
Bug Fixes:
* Indent all extra failure lines output from system specs. (Alex Robbin, #2321)
* Generated request spec for update now uses the correct let. (Paul Hanyzewski, #2344)
* Return `true`/`false` from predicate methods in config rather than raw values.
(Phil Pirozhkov, Jon Rowe, #2353, #2354)
* Remove old #fixture_path feature detection code which broke under newer Rails.
(Koen Punt, Jon Rowe, #2370)
### 3.10.1 / 2020-12-27
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.10.0...v3.10.1)
Bug Fixes:
* Issue `ArgumentError` rather than `TypeError` when unsupported methods on
unsupported objects are attempted to be stubbed. (@zhisme, #1357)
### 3.10.0 / 2020-10-30
[Full Changelog](http://github.com/rspec/rspec-mocks/compare/v3.9.1...v3.10.0)
Enhancements:
* Add the ability to set a custom error generator in `MessageExpectation`.
This will allow rspec-expectations to inject a custom failure message.
(Benoit Tigeot and Nicolas Zermati, #1312)
* Return the result of the block passed to `RSpec::Mocks.with_temporary_scope`
when block run. (@expeehaa, #1329)
### 3.10.1 / 2020-12-27
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.10.0...v3.10.1)
Bug Fixes:
* Allow JRuby 9.2.x.x to generate backtraces normally rather than via our
backfill workaround. (#1230, Jon Rowe)
### 3.10.0 / 2020-10-30
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.10.0)
Enhancements:
* Allow `include` matcher to be chained with `once`, `at_least`, etc. for simple cases.
(Marc-André Lafortune, #1168)
* Add an explicit warning when `nil` is passed to `raise_error`. (Phil Pirozhkov, #1143)
* Improve `include` matcher's composability. (Phil Pirozhkov, #1155)
* Mocks expectations can now set a custom failure message.
(Benoit Tigeot and Nicolas Zermati, #1156)
* `aggregate_failures` now shows the backtrace line for each failure. (Fabricio Bedin, #1163)
* Support multiple combinations of `yield_control` modifiers like `at_least`, `at_most`.
(Jon Rowe, #1169)
* Dynamic `have_<n>` matchers now have output consistent with other dynamic matchers.
(Marc-André Lafortune, #1195)
* New config option `strict_predicate_matchers` allows predicate matcher to be strict
(i.e. match for `true` or `false`) instead of the default (match truthy vs `false` or `nil`).
(Marc-André Lafortune, #1196)
### 3.9.4 / 2020-10-29
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.3...v3.9.4)
Bug Fixes:
* Fix regression with `be_` and `have_` matchers and arguments implementing `to_hash`
were they would act like keywords and be cast to a hash. (Jon Rowe, #1222)
### 3.9.3 / 2020-10-23
[Full Changelog](http://github.com/rspec/rspec-expectations/compare/v3.9.2...v3.9.3)
Bug Fixes:
* Swap the comparison of the delta vs the expected for the `be_within` matcher allowing
more complicated oobjects to be compared providing they provide `abs` and other
comparison methods. (Kelly Stannard, #1182)
* Properly format expected in the description of the `be_within` matcher. (Jon Rowe, #1185)
* Remove warning when using keyword arguments with `be_` and `have_` matchers on 2.7.x
(Jon Rowe, #1187)
* Prevent formatting a single hash as a list of key value pairs in default failure messages
for custom matches (fixes formatting in `EnglishPhrasing#list`). (Robert Eshleman, #1193)
* Prevent errors from causing false positives when using `be <operator>` comparison, e.g.
`expect(1).not_to be < 'a'` will now correctly fail rather than pass. (Jon Rowe, #1208)
### 3.10.1 / 2020-12-27
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.0...v3.10.1)
Bug fixes:
* RSpec warning output was missing deprecations from Ruby, these are now included.
(Jon Rowe, #2811)
### 3.10.0 / 2020-10-30
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.3...v3.10.0)
Enhancements:
* Memoize `RSpec::Core::Formatters::ExceptionPresenter#exception_lines` to improve performance
with slow exception messages. (Maxime Lapointe, #2743)
* Add configuration for an error exit code (to disambiguate errored builds from failed builds
by exit status). (Dana Sherson, #2749)
# 3.9.3 / 2020-09-30
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.2...v3.9.3)
Bug Fixes:
* Declare `ruby2_keywords` on `method_missing` for other gems. (Jon Rowe, #2731)
* Ensure custom error codes are returned from bisect runs. (Jon Rowe, #2732)
* Ensure `RSpec::Core::Configuration` predicate config methods return booleans.
(Marc-André Lafortune, #2736)
* Prevent `rspec --bisect` from generating zombie processes while executing
bisect runs. (Benoit Tigeot, Jon Rowe, #2739)
* Predicates for pending examples, (in `RSpec::Core::Example`, `#pending?`, `#skipped?` and
`#pending_fixed?`) now return boolean values rather than truthy values.
(Marc-André Lafortune, #2756, #2758)
* Exceptions which have a message which cannot be cast to a string will no longer
cause a crash. (Jon Rowe, #2761)
### 3.10.1 / 2020-12-27
Bug Fixes:
* Fix deprecation expectations to fail correctly when
asserting on messages. (Phil Pirozhkov, #453)
### 3.10.0 / 2020-10-30
No changes. Released to support other RSpec releases.
### 3.9.4 / 2020-10-23
Bug Fixes:
* Flag ripper as supported on Truffle Ruby. (Brandon Fish, #427)
* Prevent stubbing `File.read` from breaking source extraction.
(Jon Rowe, #431)
Changelog
=========
3.2.2 2021-01-07
Bugfix: Header field name is not found by canlock-mhp if
there is another header field for which only the prefix
differs (and that other field is processed first)
Test suite for canlock-mhp parser extended: It now tests
headers larger than 4 KiByte and for the field prefix bug
fixed in this version
Lexer of canlock-hfp has problems to detect T_CTEXT tokens on
HP-UX (relevant only if the header field contains comments).
The syntax of the ERE for T_CTEXT was rewritten to be
compatible with the SysV lex of HP-UX 11.11
Test suite for canlock-hfp parser extended to test comments
harder
Namespace clash of internal library functions with libc on
NetBSD
Changed internal API function names hmac* to RFC2104Hmac*
Changed internal API function names hkdf* to RFC5869Hkdf*
Library API and ABI are fully compatible if no undocumented
functions are used
libcanlock-3.pc: Changed protocol in URL from http to https
pkgsrc patch removed.
Changelog
=========
3.2.2 2021-01-07
Bugfix: Header field name is not found by canlock-mhp if
there is another header field for which only the prefix
differs (and that other field is processed first)
Test suite for canlock-mhp parser extended: It now tests
headers larger than 4 KiByte and for the field prefix bug
fixed in this version
Lexer of canlock-hfp has problems to detect T_CTEXT tokens on
HP-UX (relevant only if the header field contains comments).
The syntax of the ERE for T_CTEXT was rewritten to be
compatible with the SysV lex of HP-UX 11.11
Test suite for canlock-hfp parser extended to test comments
harder
Namespace clash of internal library functions with libc on
NetBSD
Changed internal API function names hmac* to RFC2104Hmac*
Changed internal API function names hkdf* to RFC5869Hkdf*
Library API and ABI are fully compatible if no undocumented
functions are used
libcanlock-3.pc: Changed protocol in URL from http to https
1.4.2 (2020-10-10)
------------------
- FIX: The entrypoint for the Dockerfile was failing when called with no
arguments
1.4.1 (2020-10-05)
------------------
- FIX: The entrypoint for the Dockerfile no longer tries to `chown` the
entire `/data` directory, instead limiting itself just to `/data/packages`
as before.
1.4.0 (2020-10-03)
------------------
- DOC: Add docker-compose example with HTTPS configuration using Traefix
- DOC: Add link to zulip chat to README (aa2d78c)
- DOC: Documentation for running as a service in windows
- DOC: Fix typo in README HTML
- DOC: Moved flask-pypi-proxy and pip2pi to a new "Unmaintained or archived" section
- DOC: Slightly clarify the relationship to warehouse.
- ENH: Add ignore list for the update command
- ENH: Add official support and testing for Python 3.8
- ENH: Allow configuration of logging stream
- ENH: Include watchdog to enable caching in docker image
- FIX: Cherrypy import for newer versions of cherrypy in vendored bottle.py
- FIX: Improved permissions management in Dockerfile
- FIX: Usage of string formatting in HTTPError
- MAINT: Update bottle to [0.12.18](https://github.com/bottlepy/bottle/releases/tag/0.12.18)
- MAINT: Use Python 3.8 in Dockerfile
- MAINT: bump version of passlib from 1.7.1 to 1.7.2 in Docker requirements
- MAINT: drop official support for Python 3.4
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
Version 4.7
CVE-2020-25658 - Bleichenbacher-style timing oracle in PKCS#1 v1.5 decryption code
Add padding length check as described by PKCS#1 v1.5
Reuse of blinding factors to speed up blinding operations.
Declare & test support for Python 3.9
Add RUBYGEM_VERBOSE user-settable variable. It is useful for developers.
RUBYGEM_VERBOSE
Execute gem with verbose option.
Possible values: Yes No
Default: No
5.3.14
Security Notes:
Functionality added or changed:
* Unit tests will allocate/deallocate STMT/DBC/ENV for each test
* Added processing of new UTF8MB4 collations
Bugs fixed:
* myodbc-installer does not show all DSN options (Bug #29753227/95290)
* MASTER: Crash noticed in SQLSetPos (Bug #29630465)
Built using MySQL 5.7.28
5.3.13
Security Notes:
* Connector/ODBC 5.3.13 Commercial upgrades the linked OpenSSL
library to version 1.0.2r which has been publicly reported
as not vulnerable to CVE-2019-1559
(Bug #29489006, CVE-2019-1559)
Functionality added or changed:
Bugs fixed:
* SQL_NO_DATA when fetching VARCHAR(500) with filter
(Bug# 29512548/94545)
Built using MySQL 5.7.26
5.3.12
Security Notes:
Functionality added or changed:
* New connection option for ODBC driver to enable LOAD DATA LOCAL INFILE
Bugs fixed:
* Dynamic linking is broken in MyODBC 5.3.11 (Bug# 28609434/92319)
* Crash in SQLBulkOperations when NO_SSPS is set to 0 (Bug #28289320)
Built using MySQL 5.7.25
5.3.11
Security Notes:
* Fix issues found by Fortify (WL #11829)
Functionality added or changed:
* Fixes in ODBC 5.3 from 8.0 code merge (WL #12199)
* Make sure ODBC 5.3 works with new 8.0 auth. mechanism. (WL #11962)
Bugs fixed:
* Source character set not supported by client error on SHOW TABLES command
(Bug# 28116892/90984)
* SQLColAttribute/SQL_DESC_TYPE_NAME text instead of longtext for
longtext col (Bug# 11761407/53900)
* Connector uses UTF8 charset instead of UTF8MB4 (Bug# 28204756)
* SQLMoreResults does not set statement errors correctly
(Bug# 11757423/49466)
* Master: Connection fails for cache256 user when GET_SERVER_PUBLIC_KEY=1
(Bug# 28359632)
Built using MySQL 5.7.23
5.3.10
Security Notes:
Functionality added or changed:
* Build ODBC Connector with libmysqlclient linked dynamically (WL #11105)
Bugs fixed:
* ODBC Driver issue with SELECT for UPDATE (Bug# 26646688/87457)
* Contribution: Compilation fixes for MySQL 5.5 (Bug# 26633971/87413)
* Contribution: Fix truncated "SSL Certificate Authority" label
(Bug# 26579169/87325)
* OpenRecordset leaking memory client side on Windows ODBC Client
(Bug# 27155880/86473)
* MySQL Connector/ODBC 5.2.5 - Command Timeout does not work
(Bug# 26474362/69416)
* Calling MySQLDrivercConnect with a NULL pcbConnStrOut causes a crash
(Bug# 27101767/88371)
Built using MySQL 5.7.20
5.3.9
Security Notes:
Functionality added or changed:
* Added two new CMake build options. STATIC_MSVCRT to switch /MT and /MD
compiler options in Windows. WITH_NODEFAULTLIB to specify the
/NODEFAULTLIB linker option. (WL# 10890)
Bugs fixed:
* Segmentation fault in SQLFetch() when used with dynamic cursor
(Bug# 18805392)
* SQLExecute() after SQLFreeStmt(SQL_RESET_PARAMS) results
in assert failure (Bug# 19148246)
* SQLForeignKeys() crashing when SQL_MODE='ANSI_QUOTES'
(Bug# 18641824)
* SQLForeignKeys() returns empty result with NO_I_S=0
(Bug# 26388694)
Built using MySQL 5.7.19
----
5.3.8
Security Notes:
* Connector/ODBC 5.3.8 Commercial upgrades the linked OpenSSL
library to version 1.0.2k which has been publicly reported
as not vulnerable to CVE-2017-3732
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3732)
(Bug #25615448, CVE-2017-3732)
Functionality added or changed:
* Added a new connection option NO_DATE_OVERFLOW to control returning
of errors when the TIMESTAMP structure used for DATE column contains
non-zero time part (Bug# 25386024)
Bugs fixed:
* SQL_ATTR_MAX_ROWS applies to all result sets on the statement,
and not connection (Bug# 17259397/69554)
* SQLTABLES patch (Bug 13914518) has to be extended for NO_I_S case
(Bug# 14005343)
* Connector/ODBC does not send correct error message when 2006 error occurs
(Bug #25671389)
* Error in Windows Setup Wizard Custom Setup Dialog
(Bug# 25247807/84190)
* Contents in embedded help for myodbc-installer are outdated
(Bug# 18896110/72852)
* SQLGetData() with invalid column number crashes (Bug# 18636600)
* Assert failure in SQLSetDescField() API (Bug# 18641633)
* Metadata functions crash when the catalog/table/column name is long
(Bug #18796005)
* Prefetch causes syntax errors in select queries with parameters
(Bug# 17386788)
Built using MySQL 5.7.18
----
5.3.7
Security Notes:
* Connector/ODBC 5.3.7 Commercial upgrades the linked OpenSSL
library to version 1.0.2j which has been publicly reported
as not vulnerable to CVE-2016-6304
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6304)
(Bug #24753385, CVE-2016-6304)
Functionality added or changed:
* Added new options to control TLS versions for connecting:
NO_TLS_1_0, NO_TLS_1_1, NO_TLS_1_2. By Default all TLS versions are enabled
and options allow to disable using of a particular TLS version.
(Bug# 23496903/81640)
* Added a new option SSLMODE to set the SSL mode before connection is made.
The option value can be set to any of the follwing: DISABLED, PREFERRED,
REQUIRED, VERIFY_CA, VERIFY_IDENTITY. This option will override
the deprecated SSLVERIFY and SSL_ENFORCE.
(Bug# 23497043/81641)
Bugs fixed:
* Assertion in ODBC Driver when calling mysql_stmt_close() on a broken
connection (Bug# 25109356/83858)
* Connector ODBC does not build with newer CMake (Bug# 22746557)
* Installation fails in OSX El Capitan (23123503/81113)
Built using MySQL 5.7.17.
----
5.3.6
Functionality added or changed:
* Keywords specific to MySQL server 5.7 (WL#7992)
* Implement SQL_ATTR_QUERY_TIMEOUT statement attribute (WL#7991)
* Added DEFAULT_AUTH and PLUGIN_DIR options in connection parameters.
* Added DISABLE_SSL_DEFAULT connection parameter to disable
connecting through SSL by default.
* Added SSL_ENFORCE connection parameter to enforce SSL connection.
Bugs fixed:
* ODBC Driver not parsing comments correctly (Bug# 16613308/53891)
* Calling SQLGetDiagField with DIAGIDENTIFIER SQL_DIAG_ROW_COUNT always
returns 0 (Bug #11750296/40771)
* ADO hangs when using MySQL ODBC 5.3 ANSI Driver with French characters
(Bug# 20526062)
* Connector/ODBC fails to build when using libmysqlclient 5.7
(Bug# 20685833/76261)
* malloc/free mismatch in MySqlGetPrivateProvileStringW
(Bug# 21074676/76984)
----
5.3.5
Security Notes:
* Connector/ODBC 5.3.5 Commercial upgrades the linked OpenSSL
library to version 1.0.1m which has been publicly reported
as not vulnerable to CVE-2015-0286
(http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0286).
Since the only change in Connector/ODBC 5.3.5 is the inclusion
of OpenSSL libraries publicly reported as unaffected by
CVE-2015-0286, and since Oracle-produced MySQL Community
builds use YaSSL libraries which have been reported as not
affected by CVE-2015-0286, Oracle will not produce builds for
Connector/ODBC Community for version 5.3.5. This means the
Community edition of Connector/ODBC will skip version 5.3.5.
(Bug #20747740, CVE-2015-0286)
----
5.3.4
Functionality added or changed:
* New ODBC connection option to specify the location of RSA public key
(WL #7911)
Bugs fixed:
* SSL CA Path cannot be selected in Linux GUI (Bug #18813389/72716)
----
5.3.3
Functionality added or changed:
Bugs fixed:
* Seg Fault in SQLForeignKeys() when column name contains special characters
(Bug #18286118)
* Add NULL handle checks in ODBC API functions (WL #7807)
----