Skip to content

Add sqlite dependancy to mitmproxy. #84

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

Closed
wants to merge 1 commit into from
Closed

Add sqlite dependancy to mitmproxy. #84

wants to merge 1 commit into from

Conversation

AustinWise
Copy link

On both macOS and SmartOS, mitmproxy crashes on startup due to the missing dependency on py-sqlite.

@AustinWise
Copy link
Author

I tested this fix on SmartOS.

@iamleot
Copy link
Member

iamleot commented Feb 26, 2021

Thanks @AustinWise I will take a look to it!

@iamleot
Copy link
Member

iamleot commented Feb 26, 2021

I have applied it (I have only changed the >=0, to -[0-9]*, they are equivalent but I think the latter is more common in pkgsrc) and also bumped PKGREVISION (this will be in pkgsrc/net/mitmproxy/Makefile,-r1.34 and mitmproxy-6.0.2nb1).

Thank you again @AustinWise for spotting and fixing it!

netbsd-srcmastr pushed a commit that referenced this pull request Feb 26, 2021
Reported by Austin Wise via <#84>, thanks!

PKGREVISION++
@AustinWise
Copy link
Author

Thanks @iamleot , I tested it out on SmartOS and it works great. Thanks so accepting the fix and maintaining this very useful project!

@AustinWise AustinWise closed this Feb 27, 2021
netbsd-srcmastr pushed a commit that referenced this pull request Apr 2, 2021
Patchlevel 8 (Dec 2020)

NEW FEATURES:

o Use deflate to embed image data into eps output, often substantially
  reducing file size.
o Embed pdf files into ps output by converting the pdf to eps.
o Allow negative arrow widths. This might be useful for asymmetric arrow
  tips, which can thus be mirrored around the corresponding line.

BUGS FIXED:

Ticket numbers refer to https://sourceforge.net/p/mcj/tickets/#.
o Reject negative text font sizes. Fixes ticket #86.
o Allow fig files ending without previous eol character. Fixes #83, #84.
o Accept text and ellipse angles only within -2*pi to 2*pi. Fixes #76.
o Allow -1 as default TeX font, not only 0. Fixes #71, #75, #81.
o Do not allow ASCII NUL anywhere in input. Fixes #65, #68, #73, #80.
o Use getline() to improve input scanning.
  Fixes tickets #58, #59, #61, #62, #67, #78, #79, #82.
o Correctly scan embedded pdfs for /MediaBox value.
o Convert polygons having too few points to polylines. Ticket #56.
o Reject huge arrow types causing integer overflow. Ticket #57.
o Allow Fig v2 text strings ending with multiple ^A. Ticket #55.
o Embed images in pdfs with their original compression type, i.e., leave
  the gs switch "-dAutoFilterColorImages" at its default value "true".
netbsd-srcmastr pushed a commit that referenced this pull request Apr 24, 2021
[1.22]

  * Deprecate isNull from Builder:  null can serve just as well (#67).
    Use null instead of isNull in Arbitrary (Christian Despres, #84).

  * Use untagged JSON encoding for single-constructor types (#75, #76,
    Christian Despres).  All of the single constructor types related
    to Table are now represented in JSON either as arrays (for
    multi-argument constructors) or as the representation of the
    inner type (for single argument constructors). This behaviour
    for newtype-defined and multi-argument non-record types is now
    consistent across the entire JSON interface, with the exception
    of Pandoc itself (which is represented as a JSON object with
    additional metadata). Multi-argument records (of which Citation
    is the only example) are still represented as objects with the
    record accessors as keys.

  * The Meta and Citation types now use derived JSON serialization (newtype
    and generic, respectively). The format remains the same as before
    (Christian Despres).

  * New serialization tests now test that Meta and the Table types are
    encoded properly in JSON (Christian Despres).

  * Use TH To/FromJSON instances (Christian Despres).

  * Remove unused Legacy modules (#80, Despres).
    They are not exported, and are not used internally.

  * Change the table builder to permit looser intermediate table heads (#77,
    Christian Despres).

    The table builder (and the normalizeTableBody function) now permit
    cells in the intermediate head of a TableBody to extend past the
    RowHeadColumns. This allows for intermediate tables to have
    subheadings that extend across the entire table.

    Formerly the table builder would treat the intermediate head like the
    intermediate body, and clip or drop cells that extended past the row
    head.

  * Update QuickCheck lower bound.

  * Fix redundant pattern match.

[1.21]

  * Add Underline constructor (#68, Vaibhav Sagar).

  * Improve table types to allow col, rowspans and more (#65, Christian
    Despres).  The additions include modification of the Block type, some
    newtypes related to tables, and changes to the table builders.  The table
    builder is now aware of the new Table constructor, and normalizes the
    input table appropriately, so that when laid onto a grid the resulting
    table has no empty spaces, overlapping cells, or cells that extend beyond
    their section boundary.

    Three properties of normalization are checked:

    - Normalization is idempotent.
    - Each row of a normalized table is an initial segment of the
      corresponding row in the unnormalized table, modulo changed cell
      dimensions, dropped cells, and padding with empty cells. This is only
      checked for the first row of the TableBody, however, due to row head
      difficulties.
    - The sum of the cell lengths in the first row of every
      normalized table section is always equal to the total table width.

    `simpleTable` has been changed so that a null header list becomes a
    TableHead with a null body, not a TableHead with a single empty row.

  * Bump QuickCheck upper bound.

  * Change lower bound for QuickCheck to 2.10 (needed for `liftShrink2`).

  * Small code quality improvements (Joseph C. Sible, #69).

  * Allow aeson 1.5 (#72, Felix Yan).

  * Fixed documentation typo (Merlin Göttlinger).

  * Add COMPLETE pragmas to the pattern definitions (Christian Despres).
@AustinWise AustinWise deleted the austin/mitmproxyDepsUpstream branch April 25, 2021 04:14
netbsd-srcmastr pushed a commit that referenced this pull request May 27, 2021
Changes since 1.4.0 from the RELEASE_NOTES file
        NOTE: In response to CVE-2019-20790, opendmarc has changed
                how it evaluates headers added by previous
                SPF milters.  Users are encouraged to read the
                CVE-2019-20790 file in the "SECURITY" folder
                for more details. (#49, #158).  Originally reported by
                Jianjun Chen, feedback by Simon Wilson and
                David Bürgin <[email protected]>.
        NOTE: OpenDMARC's internal SPF handling will be removed
                in a future version.  Users are encouraged to
                build linked against libspf2.  Many pre-built
                packages provided by OS packagers already do this.
                (See https://www.libspf2.org)
        Addition of defines for MUSL C Library. (#129/#133).  Patches by
                Marco Rebhan.
        Updated opendmarc.conf manpage and opendmarc.conf.sample to point to
                https://publicsuffix.org/list/.
        Added a CONTRIBUTING document.
        Fix two #ifdefs in arc functions for strlcpy. (#138).  Reported by
                Leo Bicknell.
        Fixes to MySQL Schema (#98/#99).  Patch by Bond Keevil.
        LIBSPF2 calls would not compile on OpenBSD due to OpenBSD not
                having the ns_type definition in arpa/resolv.h.
                Added detection to configure script.  (#134)
        Reworked hcreate_r calls to use hcreate, to compile natively on
                OpenBSD and MacOS. (Part of #94)  Reported by Rupert
                Gallagher.
        Add compatibility with AutoConf 2.70. (#95)
        Documentation updates about SourceForge being deprecated.  (#101)
        Only accept results from Received-SPF fields that indicate clearly
                which identifier was being evaluated, since DMARC specifically
                only wants results based on MAIL FROM.
        Many build-time fixes (#100, #91, #90, #86, #85, #84, #83, #82, #81)
                Patches provided by Rupert Gallagher ([email protected])
        Added config option HoldQuarantinedMessages (default false), which
                controls if messages with p=quarantine will be passed on to
                the mail stream (if False) or placed in the MTA's "hold"
                queue (if True).  Issue #105.  Patch by Marcos Moraes, on
                the OpenDMARC mailing list.
        Remove "--with-wall" from "configure".  Suggested by Leo Bicknell.
        LIBOPENDMARC: Fix bug #50: Ignore all RRTYPEs other than TXT.
                Problem reported by Jan Bouwhuis.
        LIBOPENDMARC: Fix bug #89: Repair absurd RRTYPE test in SPF code.
        LIBOPENDMARC: Fix bug #104: Fix bogus header field parsing code.
        LIBOPENDMARC: Fix bug #161: Don't pass the client IP address through
                htonl() since it's already in network byte order.  This
                was causing SPF errors when the internal SPF
                implementation was in use.
        LIBOPENDMARC: Fix numerous problems with the internal SPF
                implementation.
netbsd-srcmastr pushed a commit that referenced this pull request May 30, 2021
(pkgsrc chagnes)
 - Add TEST_DEPENDS+=

(upstream changes)
# hms 1.1.0

## Breaking changes

- `"hms"` objects no longer have a common type with `character` and `numeric`. Combining such values previously threw a warning, now throws an error (#94).
- `vec_cast()` and `as_hms()` throw error instead of a warning if input can't be parsed (#68).

## Features

- New `unique.hms()` method (#98, @joethorley).
- `as_hms()` is a generic again (#81).

## Internal

- Avoid `LazyData` in `DESCRIPTION`.
- Bump required versions of ellipsis and vctrs to avoid warning during package load.
- Using lifecycle package (#94).


# hms 1.0.0

## Life cycle

- hms is now marked as "stable".

## Breaking changes

- `"hms"` objects no longer have a common type with `character` and `numeric`. Combining such values previously threw a warning, now throws an error (#94).
- `vec_cast()` and `as_hms()` now throw error instead of a warning if input can't be parsed (#68).

## Features

- `as_hms()` is a generic again (#81).
- `round_hms()` and `trunc_hms()` gain `digits` argument (#78, @hglanz).

## Bug fixes

- `as_hms()` and `vec_cast()` now correctly treat objects of class `"difftime"` with `integer` mode (#84).

## Internal

- Using lifecycle package (#94).
- hms has been re-licensed as MIT (#86).


# hms 0.5.3

- Use `vec_default_ptype2()`, remove `vec_ptype2.hms.unspecified()` (#80, @romainfrancois).
- `vec_ptype2.hms.default()` forwards to `vec_default_ptype2()` for compatibility with vctrs 0.2.1.
- Remove `as.data.frame.hms()`, handeld by vctrs.


# hms 0.5.2.9000

- Internal changes only.


# hms 0.5.2

- Work around parsing error that occurs on DST changeover dates (https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16764).


# hms 0.5.1

- Lossy casts from `character` vectors to `hms` now also trigger a warning if the cast succeeds in the first element of the vector but fails for other elements.
netbsd-srcmastr pushed a commit that referenced this pull request Jun 7, 2021
# 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.
netbsd-srcmastr pushed a commit that referenced this pull request Jun 12, 2021
# 1.3.0

* Adding authors with long names or other fields (`comment`, typically)
  works well now (#91).

* `get_deps()` now removes unneeded whitespace from version requirements
  (#84).

* `normalize()` now does not drop `Authors@R` on non-UTF-8 systems
  when it has non-ASCII characters (#80).

* `has_dep()` now works well with dependencies listed multiple times
   (#97, @richfitz).

* Add `coerce_authors_at_r()` method to convert `Author` to
  `Authors@R` (#44, @muschellij2).

* `add_author()` and similar functions now allow a character vector of
  multiple roles (@niceume, #89).

* `desc_set_deps()` now inserts new packages in (case-insensitive)
  alphabetical order, if the existing packages are already in alphabetical
  order.

* New `add_author_gh()` method and `desc_add_author_gh()` function to add
  an author using the information available from GitHub V3 API. This method
  and function depend on `gh` and are limited when the GitHub user full
  name is incomplete or not well parsed by `as.person()` and when their
  email address isn't available (@maelle, #71).

* When using `desc_normalize()` the package dependencies are now
  alphabetically sorted (#66, @llrs).

* New `add_orcid()` method and `desc_add_orcid()` functions make it
  possible to add ORCID IDs to authors directly instead of via the
  `comment` argument (@maelle, #70).

* All functions and methods managing authors (`add_me`, `add_author()`,
  `del_author()`, `add_role()`, `del_role()`, `change_maintainer()`,
  `search_for_author()`, `add_me()`, etc.) gain an `orcid` argument
  (@maelle, #70).

* In `person()` within the `Authors@R` field, `comment` can now be a
  named character vector (@maelle, #69; @gvegayon, #65).

* When using `desc(text=)` parameter, set `textConnection(encoding =
  "bytes")` to handle cases when the input text is in a different marked
  encoding than the default encoding, such as UTF-8 input on Windows.
netbsd-srcmastr pushed a commit that referenced this pull request Jul 18, 2021
Features:

- Arabic (and Urdu) support added (design by Mohamad Dakak) (#84)
    - See the Arabic features PDF for the exciting new Arabic ligature
      functionality used in Cascadia Code that gives the font greatly improved
      readability and feel more more akin to a text typeface.
    - Don't want all that? Don't worry, Cascadia Mono will house a normal
      version of Arabic.

- Hebrew support added (design by Liron Lavi Turkenich) (#465)

- Due to popular demand, we've introduced a more "toned-down" version of
  Cascadia Italic, which does away with a number of the cursive letter forms.
  (#468)
    - Entry and exit strokes across the italic lowercase have been rounded
      to better achieve the fun / playful design language that we intended
      for the italic. Other skeletons have been modified as necessary.
      Cyrillic has also been updated for better consistency with the new
      design.
    - You can now activate the original cursive versions of /f /l /s and
      /r with typographic feature salt or ss01.

Changes:

- We have adjusted the slant on all of the italic letters to make sure it's
  consistent (#470)
- Italic Only: #507 - bar and broken bar will now stay upright for better
  clarity
- Fixing a bug in the ccmp feature file and added ccmp to the feature
  set in the build script.
- Deleting the (unused) liga feature file
- Vika has reviewed and improved some forms in Cascadia Code upright.
- Greek lowercase has been updated per feedback from Gerry Leonidas to
  be more cohesive (No longer a mix between a "Monday" and "Friday" font.
  All Friday, all the time!)
- #422 - Bitcoin glyph added
- #427 - FFFD glyph added
- #418 - top bar corrected
- #433 - hinting corrected to ensure alignment
- #435 - adds consistent ligature form for =>> <<= =<< and
  >>= (the infinite arrows still work with addition of more equals)
- #443 - ligature now ignores (*) scenario
- #454 - adds ignore to prevent equal_equal ligature from showing up
- #467 - Not specifically sure of the problem here, but suspect that it will
  be fixed with this - update.
- #477, #478, #479, #480 - interpolation issues fixes in a lot of ligatures
- #481 - JetBrains enumerates fonts weird. We've modified the internal naming
  so that it will register Cascadia Code correctly. Also aligned postscript
  naming with Google's recommendation, so will show up as "Regular" instead of
  "Roman".
- General improvement of weight balancing
- Weight of lowercase rounds reduced in the Bold weight in Cascadia Code.
- Weight of Capital stems increased in Extralight weight in Cascadia Code.
- Tweaked weight of ogonek in ExtraLight.
- Added a localized form for ij and IJ should a user chose to use those
  codepoints and want an accented version.
- Split fraction bar at heavier weights to improve clarity of fractions.
- Adjusted standard box drawing characters to align with GDI metrics, and added
  a complete set of DWrite-specific ones that align with sTypo (using rclt).
- Ironed out some tiny inconsistencies in the <$ $> <$> ligatures which
  we suspect no one will ever notice.
- Fixed centering of braces and some hyphens.
- Fixed inconsistency between semicolon/colon and period weight in bold. Also
  fixed slight differences in hyphen-like glyphs in bold. You're as surprised
  as we are.
- Increased weight of underscore in bold.
- Changed design of commaaccent, commaaccentmod commaturnedabove and commaabove
  to be more distinguishable (following design of quotes).
- Fixed descents of various greek lowercase glyphs that were inconsistent.
- Felt ligated, might edit later.
- Corrected some additional interpolation bugs
netbsd-srcmastr pushed a commit that referenced this pull request Aug 19, 2021
version 1.3.1
- expect_error, _warning, _message, _stdout now accept ... arguments
  that are passed as extra arguments to 'grepl', when a pattern is
  provided (Thanks to Bart-Jan van Rossum for the GH issue).
- Package now also resets locale settings after each file run,
  and 'report_side_effects' also tracks changes in locale settings.
- Run test directories via RStudio addin. (Thanks to Matthijs Berends
  for PR #83)
- tinytest used to implicitly depend on R >= 3.2.0 because of using
  'trimws' and 'dir.exists'. (Thanks to Sebastian Meyer for figuring
   this out and thanks to Matthijs Berends for PR #84 solving this)
- 'tinytest' objects now store the stack trace as a list of calls.  When
  needed, the relevant part of the trace is printed, but only when printing the
  long form. (thanks to Jonas Kristoffer Lindeloef for suggesting)
- Improved printing while running tests
- Graphics produced in tests are now written to nullfile() (Thanks to Henrik
  Bengtsson for the suggestion). (nullfile() is defined in-package when
  built on R < 3.6.0).
- Fixed time measurement when directory (or pkg) is tested and tests take more
  than an minute.
- Fix: set_env variables would not be unset in all cases (Thanks to Henrik
  Bengtsson for the PR)
- Fix in 'expect_equal': reporting in case of differing attributes (Thanks to
  Ott Toomet for reporting #80).
- Fix in build_install_test: better reading of DESCRIPTION file (Thanks
  to Christof Stepper for PR #87)


version 1.2.4
- 'test_package' gains 'lib.loc' argument.
- New function 'expect_inherits' to check the class of an object (thanks
  to Sebastian Meyer for suggesting).
- Printing of file exit message is now shorter and on same line as test
  report (thanks for Dirk Eddelbuettel for suggesting).
- Duration per file is now reported, total duration is stored (thanks
  to Dirk Eddelbuettel for suggesting)
- Small improvements in difference reporting.
- Fix: avoid truncated printing in case of long diff reporting (thanks to
  Sebastian Meyer for the PR)
- Fix: default pattern for test files was "^test_", is now "^test"
  as documented. (Thanks to Sebastian Meyer for the PR).
- Fix: it is now easier to put tests that you do not want to
  install under /tests/somedir.
- Internal: updated tinytest.format method to conform to new
  R CMD check demand. (Thanks to Brian Ripley for the warning).


version 1.2.3
- Added example to using tinytest vignette on mocking databases
  (Thanks to Thomas Fuchs for working this out).
- 'expect_stdout' now handles multi-line output. (Thanks to John Blischak for
  reporting).
- A message is issued when a test file uses 'tinytest::expect': such tests
  are not registered (thanks to James Thompson for issuing a ticket on this).
netbsd-srcmastr pushed a commit that referenced this pull request Aug 24, 2021
# gh 1.3.0

* gh now shows the correct number of records in its progress bar when
  paginating (#147).

* New `.params` argument in `gh()` to make it easier to pass parameters to
  it programmatically (#140).

# gh 1.2.1

* Token validation accounts for the new format
  [announced 2021-03-04 ](https://github.blog/changelog/2021-03-04-authentication-token-format-updates/)
  and implemented on 2021-04-01 (#148, @fmichonneau).

# gh 1.2.0

* `gh_gql()` now passes all arguments to `gh()` (#124).

* gh now handles responses from pagination better, and tries to properly
  merge them (#136, @rundel).

* gh can retrieve a PAT from the Git credential store, where the lookup is
  based on the targeted API URL. This now uses the gitcreds package. The
  environment variables consulted for URL-specific GitHub PATs have changed.
  - For "https://api.github.com": `GITHUB_PAT_GITHUB_COM` now, instead of
    `GITHUB_PAT_API_GITHUB_COM`
  - For "https://github.acme.com/api/v3": `GITHUB_PAT_GITHUB_ACME_COM` now,
    instead of `GITHUB_PAT_GITHUB_ACME_COM_API_V3`

  See the documentation of the gitcreds package for details.

* The keyring package is no longer used, in favor of the Git credential
  store.

* The documentation for the GitHub REST API has moved to
  <https://docs.github.com/rest> and endpoints are now documented using
  the URI template style of [RFC 6570](https://tools.ietf.org/html/rfc6570):
  - Old: `GET /repos/:owner/:repo/issues`
  - New: `GET /repos/{owner}/{repo}/issues`

  gh accepts and prioritizes the new style. However, it still does parameter
  substitution for the old style.

* Fixed an error that occurred when calling `gh()` with `.progress = FALSE`
  (@gadenbuie, #115).

* `gh()` accepts named `NA` parameters that are destined for the request
  body (#139).

# gh 1.1.0

* Raw responses from GitHub are now returned as raw vector.

* Responses may be written to disk by providing a path in the `.destfile`
  argument.

* gh now sets `.Last.error` to the error object after an uncaught error,
  and `.Last.error.trace` to the stack trace of the error.

* `gh()` now silently drops named `NULL` parameters, and throws an
  error for named `NA` parameters (#21, #84).

* `gh()` now returns better values for empty responses, typically empty
  lists or dictionaries (#66).

* `gh()` now has an `.accept` argument to make it easier to set the
  `Accept` HTTP header (#91).

* New `gh_gql()` function to make it easier to work with the GitHub
  GraphQL API.

* gh now supports separate personal access tokens for GitHub Enterprise
  sites. See `?gh_token` for details.

* gh now supports storing your GitHub personal access tokens (PAT) in the
  system keyring, via the keyring package. See `?gh_token` for details.

* `gh()` can now POST raw data, which allows adding assets to releases (#56).
netbsd-srcmastr pushed a commit that referenced this pull request Oct 26, 2021
Pkgsrc changes:
 * None.

Upstream changes:
2021-10-25 1.9.1
        Misc:
        - OpenSSL 3.0 compatibility (#70)

        Bug Fixes:
        - Fix refused startup with openssl <1.1 (#82)
        - Fix compiler issue for Fedora 33 on s390x (#84)
        - Fix small memory leak in config parser
        - Fix lazy certificate check when connecting to TLS servers
        - Fix connect is aborted if first host in list has invalid certificate
        - Fix setstacksize for glibc 2.34 (#91)
        - Fix system defaults/settings for TLS version not honored (#92)
netbsd-srcmastr pushed a commit that referenced this pull request Feb 11, 2022
0.2.3
* Allow bare word attribute in fenced_divs (#84). This follows a similar
  change in pandoc (jgm/pandoc#7242).

0.2.2.1
* Fix commonmark-extensions to build with GHC 9.2 (#81, Joseph
  C. Sible). Currently --allow-newer is needed.

0.2.2
* Add footnote to gfmExtensions. Note that this also requires additional
  type constraints on gfmExtensions [API change].

0.2.1.2
* Fix bug with absolute paths in rebase_relative_paths extension on
  Windows.

0.2.1.1
* Fix bug in wikilinks extensions.

0.2.1
* Add rebase_relative_paths extension. New exported module
  Commonmark.Extensions.RebaseRelativePaths [API change].
* Add wikilinks_title_before_pipe and wikilinks_title_after_pipe extensions
  (#69). New exported module Commonmark.Extensions.Wikilinks [API change].
netbsd-srcmastr pushed a commit that referenced this pull request Apr 20, 2022
0.13.1

    fix: improved shell completion for URLs by @danielgtaylor in #95
    fix: simplify option handling, send explicitly passed defaults by @danielgtaylor in #96

0.13.0

    feat: cache parsed/loaded APIs for faster access by @danielgtaylor in #83
    fix: sending non-structured-object input via stdin, fixes #81 by @danielgtaylor in #84
    fix: better handling of params with unknown types, fixes #63 by @danielgtaylor in #85
    fix: trim trailing slashes from OpenAPI servers by @danielgtaylor in #86
    fix: custom server usage, fixes #54 by @danielgtaylor in #87
    feat: enabled & document raw mode for saving files by @danielgtaylor in #88
    fix: parameter serialization for style: form, fixes #47 by @danielgtaylor in #89
    fix: handle recursive schemas without crashing, fixes #21 by @danielgtaylor in #90
    feat: add api sync command by @danielgtaylor in #91
    feat: update dependencies by @danielgtaylor in #92
    fix: simplify edit resource command code by @danielgtaylor in #93
    fix: panic when multiple configured APIs have the same base URL by @danielgtaylor in #94


0.12.0

    b8773c1 Merge pull request #82 from danielgtaylor/completion
    b600019 feat: add auth-header command
    b9d6da4 feat: completion of URI templates
    b0b14ed feat: dynamic shell completion for OpenAPI operations
    593acaf fix: utilize existing API loading for completion
netbsd-srcmastr pushed a commit that referenced this pull request Aug 11, 2022
3.0.27 (2022-06-08)

Merged Pull Requests

* Update chefstyle requirement from 1.2.1 to 1.3.2 #84
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.3.2 to 1.4.0 #85
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.0 to 1.4.2 #86
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.2 to 1.4.3 #87
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.3 to 1.4.5 #89
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.4.5 to 1.5.0 #90
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.0 to 1.5.2 #92
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.2 to 1.5.8 #96
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.5.8 to 1.5.9 #97
  (dependabot-preview[bot])
* Remove parallel pin now that it supports Ruby 2.4 again #98 (tas50)
* Add Ruby 2.7 testing + cache gem installs in CI #99 (tas50)
* Update chefstyle requirement from 1.5.9 to 1.6.2 #101
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.6.2 to 1.7.1 #102
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.7.1 to 1.7.2 #104
  (dependabot-preview[bot])
* Update chefstyle requirement from 1.7.2 to 1.7.5 #106
  (dependabot-preview[bot])
* Upgrade to GitHub-native Dependabot #107 (dependabot-preview[bot])
* add ruby tests 3.0 and 3.1 in verify pipeline #109 (jayashrig158)
* Fix in nested_hash parsing in config #115 (Nik08)
netbsd-srcmastr pushed a commit that referenced this pull request Sep 11, 2022
Upstream changes:
0.077   2022-08-21
        - fix #82 + #84 new t/mbi_ltm_big*.t failures
        - fix #85 wrong linker options for aix
netbsd-srcmastr pushed a commit that referenced this pull request Sep 16, 2022
1.56.4

Bug Fixes

    require python 3.7+ (#119) (507b58d)


1.56.3

Bug Fixes

    deps: allow protobuf < 5.0.0 (#112) (67b0231)

Documentation

    fix changelog header to consistent size (#108) (d315b9f)

1.56.2

Bug Fixes

    deps: require grpcio >= 1.0.0, <2.0.0dev (4a402ce)
    deps: require protobuf>= 3.15.0, <4.0.0dev (#105) (4a402ce)

1.56.1

Bug Fixes

    deps: require protobuf >=1.15.0 (f04ed64)
    include tests directory (#103) (72e5df1)
    regenerate pb2 files using the latest version of grpcio-tools (f04ed64)

1.56.0

Features

    add google/api/error_reason.proto (62c04b8)
    add google/api/visibility.proto (62c04b8)
    add google/type/decimal.proto (62c04b8)
    add google/type/interval.proto (62c04b8)
    add google/type/localized_text.proto (62c04b8)
    add google/type/phone_number.proto (62c04b8)
    update all protos and pb2 files (62c04b8)

Bug Fixes

    expose all names in longrunning _pb2's (#90) (09e9ccd)
    re-generate pb2 files (#87) (6260547)
    re-generate pb2 files using grpcio-tools<1.44.0 (#93) (76bb9f6)
    remove deprecated fields aliases and features from google/api/endpoint.proto (62c04b8)

1.55.0

Features

    add location proto files. (#84) (9a33e56)


1.54.0

Features

    add extended_operations.proto (#77) (bc85849)
    add google/api/routing.proto (#75) (1ae0bbc)
netbsd-srcmastr pushed a commit that referenced this pull request Nov 17, 2022
Change log:

1.10.0 (2022-11-15)
======
- Introduce custom actions (!37)
- Bump dependencies
- Replace deprecated functions
- Added writability check to screenshot_dir (#84)
- Include "config.h" before GLib include files
- Revert icon name translation
- Drop subtitles
 Add version check for libxi (#79)
- Translation Updates:
  Albanian, Arabic, Armenian (Armenia), Basque, Belarusian, Bulgarian,
  Catalan, Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish,
  Dutch, Eastern Armenian, English (Australia), English (United
  Kingdom), Estonian, Finnish, French, Galician, Georgian, German,
  Greek, Hebrew, Hungarian, Icelandic, Indonesian, Interlingue,
  Italian, Japanese, Kazakh, Korean, Lithuanian, Malay, Norwegian
  Bokml, Occitan (post 1500), Persian (Iran), Polish, Portuguese,
  Portuguese (Brazil), Russian, Serbian, Slovak, Slovenian, Spanish,
  Swedish, Thai, Turkish, Ukrainian
netbsd-srcmastr pushed a commit that referenced this pull request Feb 6, 2023
What's Changed
 - Update dependencies and fix clippy errors in #82
 - Add authentication and upvote support in #81
 - Refactor modeling, parsing, and client codes in #84
 - Voting support follow-ups in #85

What's new
 - With authentication support added, users can now authenticate their
   account and upvote stories/comments.
   More details: https://github.com/aome510/hackernews-TUI#authentication
netbsd-srcmastr pushed a commit that referenced this pull request Mar 5, 2023
0.6.1 (2023-03-03)

What's Changed

* fix: #84 each_in_neighbor has missing block argument.

0.6.2 (2023-03-05)

What's Changed

* fix: #86 each_in_neighbor() raises exception on unconnected vertices
netbsd-srcmastr pushed a commit that referenced this pull request Jul 10, 2023
2.1.0 (2023-06-30)

What's Changed

* Address warning: mismatched indentations at 'when' with 'case' by @yahonda
  in #74
* Make assert_dom_equal ignore insignificant whitespace when walking the
  node tree by @jduff in #84
* Expand Substitution Matching Types support by @seanpdoyle in #90
* Alias assert_select methods to assert_dom versions by @seanpdoyle in #93
* Raise an error if the last arg is the wrong format by @ghiculescu in #96
* Fix replacement for multiple substitutions by @speckins in #76
* Better error message if response.body is blank or not parseable by
  Nokogiri by @ghiculescu in #97
* selector_assertions/html_selector: No trailing . on content_mismatch by
  @issyl0 in #102
* Use Minitest::Assertion#diff for content failure messages by @flavorjones
  in #106

New Contributors

* @nicolasleger made their first contribution in #73
* @yahonda made their first contribution in #74
* @dependabot made their first contribution in #79
* @jduff made their first contribution in #86
* @amatsuda made their first contribution in #88
* @seanpdoyle made their first contribution in #90
* @ghiculescu made their first contribution in #96
* @jbampton made their first contribution in #95
* @speckins made their first contribution in #76
* @issyl0 made their first contribution in #102
* @flavorjones made their first contribution in #103

2.1.1 (2023-06-30)

What's Changed

* Fix issue when application isn't using minitest.
netbsd-srcmastr pushed a commit that referenced this pull request Jul 15, 2023
1.21.3 (2023-07-15)

* Javascript Form & XHTML Form support (#84)
netbsd-srcmastr pushed a commit that referenced this pull request Aug 13, 2023
pkgsrc changes:
 - Remove patch-line.c: was a backport from upstream, no longer needed
 - Add patch-edit.c because several <signal.h> definitions are actually
   accessed on non-OS2 codepaths as well (noticed on NetBSD but should be
   relevant for all non-OS2 platforms)

Changes:
Major changes between "less" versions 633 and 643

* Fix problem when a program piping into less reads from the tty,
  like sudo asking for password (github #368).
* Fix search modifier ^E after ^W.
* Fix bug using negated (^N) search (github #374).
* Fix erroneous EOF when terminal window size changes (github #372).
* Fix compile error with some definitions of ECHONL (github #395).
* Fix regression in exit code when stdin is /dev/null and
  output is a file (github #373).
* Add lesstest test suite to production release (github #344).
* Change lesstest output to conform with
  automake Simple Test Format (github #399).

Major changes between "less" versions 632 and 633

* Fix build on systems which have ncurses/termcap.h or
  ncursesw/termcap.h but not termcap.h.

Major changes between "less" versions 608 and 632

* Add LESSUTFCHARDEF environment variable (github #275).
* Add # command (github #330).
* Add ^S search modifier (github #196).
* Add --wordwrap option (github #113).
* Add --no-vbell option (github #304).
* Add --no-search-headers option (github #44).
* Add --modelines option (github #89).
* Add --intr option (github #224).
* Add --proc-backspace, --proc-tab and --proc-return options (github #335).
* Add --show-preproc-errors option (github #258).
* Add LESS_LINES and LESS_COLUMNS environment variables (github #84).
* Add LESS_DATA_DELAY environment variable (github #337).
* Allow empty "lines" field in --header option.
* Update Unicode tables.
* Improve ability of ^X to interrupt F command (github #49).
* Status column (-J) shows off-screen matches.
* Parenthesized sub-patterns in searches are colored with unique colors,
  if supported by the regular expression library (github #196).
* Don't allow opening a tty as file input unless -f is set (github #309).
* Don't require newline input after +&... option (github #339).
* Fix incorrect handling of some Private Use Unicode characters.
* Fix ANSI color bug when overstriking with colored chars (github #276).
* Fix compiler const warning (github #279).
* Fix signal race in iread (github #280).
* Fix reading procfs files on Linux (github #282).
* Fix --ignore-case with ctrl-R (no regex) search (github #300).
* Fix bug doing repeat search after setting & filter (github #299).
* Fix bug doing repeat search before non-repeat search.
* Fix crash with -R and certain line lengths (github #338).
* Don't retain search options from a cancelled search (github #302).
* Don't call realpath on fake filenames like "-" (github #289).
* Implement lesstest test suite.
* Convert function parameter definitions from K&R to C89 (github #316).
netbsd-srcmastr pushed a commit that referenced this pull request Dec 17, 2023
23.0.0 (2022-03-30)
Changed
* Update messages to v18.0.0
* [Java] Replaced Gherkin with a GherkinParser that uses a builder to
  construct.
* [Java] Made all internal classes package private
* [Java] Removed unused stopAtFirstError property from Parser
* [PHP] Implemented Gherkin
* [JavaScript] @cucumber/message-streams has been removed from the
  dependencies. If you are using @cucumber/gherkin-streams v5.0.0 or later,
  you have to add @cucumber/message-streams in your dependencies in addition
  to @cucumber/gherkin.
Removed
* [Java] the io.cucumber.gherkin.Main class is no longer part of the jar.

23.0.1 (2022-03-31)
Fixed
* [PhP] Fix dependency of messages (#1943)

24.0.0 (2022-05-31)
Added
* [Java], [JavaScript], [PHP], [Perl], [Python], [Go], [C], [DotNet], [Ruby]
  Support new messages keyword types fields an added with #1966 (#1741)
Changed
* [Java] the GherkinDialect constructor is no longer public (it's only used
  internally)
* [Go] the gherkin.GherkinDialectsBuildin id renamed to
  gherkin.DialectsBuiltin
* [Go] the gherkin.GherkinDialect id renamed to gherkin.Dialect
* [Go] the gherkin.GherkinDialectProvider id renamed to
  gherkin.DialectProvider
* The ne (Nepali) and translation changed from अनी to अनि
* The uz (Uzbek) given translation changed from Агар to Belgilangan
* The en-old (Old English) when translation changed from Tha / Þa / Ða to
  Bæþsealf / Bæþsealfa / Bæþsealfe / Ciricæw / Ciricæwe / Ciricæwa
Fixed
* [Java] remove shaded dependency on
  com.eclipsesource.minimal-json:minimal-json (#1957 #1959)

24.1.0 (2022-10-10)
Added
* [Java] Added support for reading directly from input (files, streams,
  paths, ect)
* [C] The C implementation re-enabled and made up to date. (#1989)
Fixed
* [Javascript] Include tags from rules in scenario outlines (#2091)
* [Python] Fix gherkin-python for compiling example values with trailing
  backslash (#2048, #1954)
* [PHP] Disallow installation of Messages 18.x (#2034)

25.0.0 (2022-11-09)
Added
* Additional ja (Japanese) translations for and, but
* Added amh (Amharic) translation
* Add Фича and Шаблон примера as more convenient
  translations (#2078)
Changed
* ja (Japanese) Rule translation changed from Rule to ルール
Fixed
* Translations fixed for ka (Georgian) locale

25.0.1 (2022-11-09)
Fixed
* Fix release process for perl and elixir

25.0.2 (2022-11-09)
Fixed
* Fix half-glyph in Georgian translations (#44)

26.0.0 (2022-12-17)
Added
* [Java] Enabled reproducible builds
Changed
* Upgraded messages to v21
* [.NET] Update target frameworks fo .NET 6, .NET Framework 4.6.2, .NET
  Standard 2.0
Fixed
* Link to the correct repository in various package meta-data.
* [Perl] Specify version range for Cucumber::Messages dependency (#50)

26.0.1 (2022-12-17)
Fixed
* [Go] Fix module names

26.0.2 (2022-12-27)
Fixed
* [Go] Fix module names (again)

26.0.3 (2023-01-03)
Fixed
* [Javascript, PHP, Ruby] Allow messages v19.1.4 to v20.0.1 to be used
* [Java] Improve text trim performance (#84)

26.2.0 (2023-04-07)
Changed
* Upgraded messages to v22

26.1.0 (2023-03-23)
Added
* (i18n) Add Belarusian localization

27.0.0 (2023-09-15)
Added
* (i18n) Added Malayalam localization
* (i18n) Added 'ed' to Italian (#31)
* (i18n) Added Danish translation of "Rule"
* (i18n) Added Dutch translation of "Rule"
* (i18n) Added Esperanto translation of "Rule"
* [Ruby] Added Gherkin::Query#parent_locations for determining a scenario's
  parents' line numbers (#89)
* C++ implementation #117
Changed
* [.NET] Bump sdk to .net 8. Added .net 8 to test platforms
* [Go, Perl, Ruby] Upgraded messages to v22
* [Go] Improve performance - don't compile regex on matcher create
* [Perl] Fix release packaging
* [Perl] Include CHANGELOG.md in tarball
* [Perl] Harmonized error reporting with mainstream implementations - errors
  are now converted to messages and reported in the message stream (#31)
* [Ruby] Update minimum ruby requirement from 2.3 to 2.5
netbsd-srcmastr pushed a commit that referenced this pull request Jan 4, 2024
2.47 2023-12-28 (by Todd Rinaldo)
    - #84 use $fh instead of $foo
	- #85 Fix typo in documentation
	- #89 Devel::CheckLib to from 0.99 -> 1.14
	- Devel::CheckLibn 1.16
	- #91 POD fix for verbatim text
	- #97 Add a LICENSE file
	- #94 Don't ship Expat/Makefile
	- Various github workflow improvements. Windows is still not working.
netbsd-srcmastr pushed a commit that referenced this pull request Feb 3, 2024
1.3.3 (2023-12-28)

What's Changed

* Correctly pass through flags rb_process_status_wait. by @ioquatix in #81
* Ensure that the saved node is freed correctly if an exception occurs. by
  @ioquatix in #84


1.4.0 (2023-12-28)

What's Changed

* Ruby 3.3 updates (dropped support for Ruby 3.0) by @ioquatix in #85


1.4.1 (2024-01-10)

* Add liburing package installation for Ubuntu tests. (#87)
* Also fix #88: -std=c99 is disabling struct timespec
* Always #include <ruby.h> before any system header (#89)

1.4.2 (2024-01-14)

* No change except version.
netbsd-srcmastr pushed a commit that referenced this pull request Feb 3, 2024
1.5.1 (2024-01-31)

* Peter Goldstein updated CI configuration to add Ruby 3.1 and Masato
  Nakamura added Ruby 3.2 and 3.3. #82, #89
* Updated the CI configuration, resolving #82 to add Ruby 3.1. Masato
* Switched to standard ruby formatting.
* Justin Steele converted the licence file to Markdown. #84
* Updated the gem SPDX identifier for GPL 2.0 or later, resolving #86 by Vit
  Ondruch.
* Resolve a potential security issue with ldiff in its use of IO.read
  instead of File.read. #91
* Added MFA authentication requirement for release to RubyGems. #90
* Added dependabot management for actions and gems. #90
* Updated CodeQL coniguration. #90
netbsd-srcmastr pushed a commit that referenced this pull request Apr 2, 2024
Updates
 - All amount fields now recognize 'k' and 'm' number suffixes as a thousand
   and a million allowing usage of 1k, 5m.
 - The initial page text layout has been updated.
 - The Home page now has two more rows in the Balance section highlighting
   daily income and expense amount.
 - Pressing 'v' on a selected transaction/activity will show the full
   transaction details. Useful in case the detail is too large.
 - The chart page now has the option to enable/disable TX methods from the
   chart on the 'space' press.
 - All popups have been updated and now can be scrolled using the Arrow Up
   or Down keys.
 - The Add Transaction page now shows the transaction impact as the fields
   are filled up.
 - The number animation system has been improved with reduced/minimal freezing.
 - All dependencies and Rust have been updated to the latest version.

Changes
 - Recognize number suffix by @TheRustyPickle in #76
 - Revamp initial page by @TheRustyPickle in #77
 - Add daily income and expense rows by @TheRustyPickle in #79
 - Show tx details on V key press by @TheRustyPickle in #81
 - Add chart point selection by @TheRustyPickle in #83
 - Add scrolling to all popup by @TheRustyPickle in #84
 - Fix number suffix crash by @TheRustyPickle in #85
 - Show balance change from a tx on add tx page by @TheRustyPickle in #86
 - Dependency updates by @TheRustyPickle in #87
 - Update version by @TheRustyPickle in #88
netbsd-srcmastr pushed a commit that referenced this pull request May 6, 2024
1.4.5 (2024-04-23)

What's Changed

* Added dependabot.yml for actions by @hsbt in #72
* Bump actions/checkout from 2 to 3 by @dependabot in #73
* Add x permission to samples by @dvarrui in #71
* Bump actions/checkout from 3 to 4 by @dependabot in #82
* Add macOS directives to install curses with menu support by @AlexB52 in
  #84
* Add documentation of TERM by @shugo in #81

New Contributors

* @dependabot made their first contribution in #73
* @AlexB52 made their first contribution in #84
netbsd-srcmastr pushed a commit that referenced this pull request Aug 18, 2024
Upstream changes:
1.063  2024-03-15

- Fixes #86 "-l somelib.dll doesn't work in recent PAR::Packer versions"

  par_setup_libpath() in myldr/mktmpdir.c used to set all known
  "search path for DLLs" environment variables (e.g. LD_LIBRARY_PATH
  on Linux). The search path is set up so that the first directory
  searched is a packed executable's cache directory (where the shared
  perl library will be extracted to, also all packed "external" DLLs).
  In 2017 (by 2ac7078) it was changed to only set the variable
  relevant for the OS where PAR::Packer was build on, given by
  $Config{ldlibpthname}. But some perl distributions
  (e.g. Strawberry on Windows) do not specify $Config{ldlibpthname}.

  Hardwire "PATH" for MSWin32 and otherwise complain if this Config
  variable is undefined.

  Add t/85-ldlibpthname.t: check that the value of the environment
  variable for searching for DLLs, usually $ENV{$Config{ldlibpthname}},
  starts with the cache directory, $ENV{PAR_TEMP}.

- Skip t/87-xs-cross.t if ExtUtils::Depends 0.8001 is installed.
  This version fails to build and install the "import lib"
  corresponding to XSQuux.xs.dll and hence fails to build XSBar.xs.dll.

  The test works on GitHub CI, because the "strawberry" perl distribution
  installed there comes with ExtUtils::Depends version 0.8000
  (ie. **not** current) pre-installed.

1.062  2024-03-05

- Fix #84: PAR::Packer packaged scripts lose the ability to parse UTF-8 arguments from the command line

  myldr/boot.c passes its arguments in argv (except argv[0]) down to the custom
  perl interpreter using _spawnvp(). But this argv has already been converted to the
  local code page, so the custom interpreter can't get it back using
  GetCommandLineW(). Convert myldr/boot.c to use GetCommandLineW() and
  CommandLineToArgvW() to get the "real" (UTF-16) command line and pass
  that down via _wspawnvp(). Convert shell_quote() (to escape embedded
  blanks, double quotes etc in the arguments) from using char to wchar_t.
  Thanks to @fengzyf for the report and most of the work.

- pod: explain how REGEX is applied in "--modfilter=FILTER=REGEX"

- require PAR >= 1.020

- add new test t/87-xs-cross.t to investigate rschupp/PAR#11

- move some test modules around and fix up tests accordingly

- bump version of actions/checkout
netbsd-srcmastr pushed a commit that referenced this pull request Nov 28, 2024
What's Changed

    fix: bot promotion using UCI standard by @thomas-mauran in #97
    fix: material diff when castling by @thomas-mauran in #99
    refactor: move tests by @thomas-mauran in #103
    Docs/create website by @thomas-mauran in #107
    fix: en passant make sure we eat the piece by @thomas-mauran in #109
    docs: getting started, architecture intro and installation guide by @thomas-mauran in #111
    Mouse click by @theonlytruealex in #85
    Bug fix: Bot move freezes player move by @LucaSain in #84
    refactor: split code by @thomas-mauran in #114
netbsd-srcmastr pushed a commit that referenced this pull request Dec 2, 2024
# 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.
netbsd-srcmastr pushed a commit that referenced this pull request Mar 30, 2025
## Changes in version 0.14.1

**Released on March 29th, 2025.**

* Issue #263: fix release tarball by relying on `make dist`.

* Document ATF to Kyua mappings for metadata properties.

* Support `require.diskspace` ATF metadata property.

* Support backwards compatible `unprivileged_user` metadata property for ease
  of use dealing with ATF vs Kyua.

* Fix building from source by tracking `utils/process/Kyuafile.in` and
  `engine/execenv/execenv_fwd.hpp` with automake.

## Changes in version 0.14

**Released on December 31st, 2024.**

* Replace `--with-atf` with `--enable-atf`. The latter must be specified
  to enable ATF support and the Kyua tests by proxy.

* Require newer versions of ATF (0.21) and Lutok (0.5). This is being done
  as part of a multi-phase deprecation of pre-C++11 environments.

* Vendor the ATF m4 files from the freebsd/atf repo.

* Translate `is_exclusive` metadata to its ATF counterpart.

* Issue #236: fix accidental test forkbomb in specific user environments
  with `integration` tests by avoiding infinite recursion calling kyua.

* Fix the build on Ubuntu 24.04.

- execenv support added. This FreeBSD-specific feature allows tests to be
  executed in jails.

* Issue #169: Remove deprecated `readdir_r` use.

* Fix build issue on more recent versions of MacOS.

* Fix build issue on IllumOS.

* Fix issues with PID reuse in testcases.

* Escape characters captured from stderr and stdout in HTML output.

* `integration/cmd_report_test:verbose`: fix regular expression used in
  tests which would break in certain user environments.

* Add Cirrus CI support for testing Kyua on FreeBSD.

* Remove `UTILS_UNUSED_PARAM` macro.

* Fix document rendering with newer versions of doxygen.

* Issue #152: explicitly require C++11 language features when compiling Kyua.
  Remove `std::shared_ptr` compatibility header, `utils/shared_ptr.hpp`.

* Fix `igor` and `mandoc -Tlint` reported issues with generated manpages.

* Issue #167: fix typos in kyua(1) manpage.

## Changes in version 0.13

**Released on August 26th, 2016.**

* Fixed execution of test cases as an unprivileged user, at least under
  NetBSD 7.0.  Kyua-level failures were probably a regression introduced
  in Kyua 0.12, but the underlying may have existed for much longer:
  test cases might have previously failed for mysterious reasons when
  running under an unprivileged user.

* Issue #134: Fixed metadata test broken on 32-bit platforms.

* Issue #139: Added per-test case start/end timestamps to all reports.

* Issue #156: Fixed crashes due to the invalid handling of cleanup
  routine data and triggered by the reuse of PIDs in long-running Kyua
  instances.

* Issue #159: Fixed TAP parser to ignore case while matching `TODO` and
  `SKIP` directives, and to also recognize `Skipped`.

* Fixed potential crash due to a race condition in the unprogramming of
  timers to control test deadlines.


## Changes in version 0.12

**Released on November 22nd, 2015.**

This is a huge release and marks a major milestone for Kyua as it finally
implements a long-standing feature request: the ability to execute test
cases in parallel.  This is a big deal because test cases are rarely
CPU-bound: running them in parallel yields much faster execution times for
large test suites, allowing faster iteration of changes during development.

As an example: the FreeBSD test suite as of this date contains 3285 test
cases.  With sequential execution, a full test suite run takes around 12
minutes to complete, whereas on a 4-core machine with a high level of
parallelism it takes a little over 1 minute.

Implementing parallel execution required rewriting most of Kyua's core and
partly explains explains why there has not been a new release for over a
year.  The current implementation is purely subprocess-based, which works
but has some limitations and has resulted in a core that is really complex
and difficult to understand.  Future versions will investigate the use of
threads instead for a simplified programming model and additional
parallelization possibilities.

* Issue #2: Implemented support to execute test cases in parallel when
  invoking `kyua test`.  Parallel execution is *only* enabled when the new
  `parallelism` configuration variable is set to a value greater than `1`.
  The default behavior is still to run tests sequentially because some test
  suites contain test cases with side-effects that might fail when run in
  parallel.  To resolve this, the new metadata property `is_exclusive` can
  be set to `true` on a test basis to indicate that the test must be run on
  its own.

* Known regression: Running `kyua debug` on a TAP-based test program does
  not currently report the output in real time.  The output will only be
  displayed once the test program completes.  This is a shortcoming of
  the new parallel execution engine and will be resolved.

* Removed the external C-based testers code in favor of the new built-in
  implementations.  The new approach feels significantly faster than the
  previous one.

* Fixed the handling of relative paths in the `fs.*` functions available
  in `Kyuafile`s.  All paths are now resolved relative to the location of
  the caller `Kyuafile`.  `Kyuafile.top` has been updated with these
  changes and you should update custom copies of this file with the new
  version.

* Changed temporary directory creation to always grant search
  permissions on temporary directories.  This is to prevent potential
  problems when running Kyua as root and executing test cases that require
  dropping privileges (as they may later be unable to use absolute paths
  that point inside their work directory).

* The cleanup of work directories does not longer attempt to deal with
  mount points.  If a test case mounts a file system and forgets to unmount
  it, the mount point will be left behind.  It is now the responsibility of
  the test case to clean after itself.  The reasons for this change are
  simplicity and clarity: there are many more things that a test case can
  do that have side-effects on the system and Kyua cannot protect against
  them all, so it is better to just have the test undo anything it might
  have done.

* Improved `kyua report --verbose` to properly handle environment
  variables with continuation lines in them, and fixed the integration
  tests for this command to avoid false negatives.

* Changed the configuration file format to accept the definition of
  unknown variables without declaring them local.  The syntax version
  number remains at 2.  This is to allow configuration files for newer Kyua
  versions to work on older Kyua versions, as there is no reason to forbid
  this.

* Fixed stacktrace gathering with FreeBSD's ancient version of GDB.
  GDB 6.1.1 (circa 2004) does not have the `-ex` flag so we need to
  generate a temporary GDB script and feed it to GDB with `-x` instead.

* Issue #136: Fixed the XML escaping in the JUnit output so that
  non-printable characters are properly handled when they appear in the
  process's stdout or stderr.

* Issue #141: Improved reporting of errors triggered by sqlite3.  In
  particular, all error messages are now tagged with their corresponding
  database filename and, if they are API-level errors, the name of the
  sqlite3 function that caused them.

* Issue #144: Improved documentation on the support for custom properties
  in the test metadata.

* Converted the `INSTALL`, `NEWS`, and `README` distribution documents to
  Markdown for better formatting online.


## Changes in version 0.11

**Released on October 23rd, 2014.**

* Added support to print the details of all test cases (metadata and
  their output) to `report`.  This is via a new `--verbose` flag which
  replaces the previous `--show-context`.

* Added support to specify the amount of physical disk space required
  by a test case.  This is in the form of a new `required_disk_space`
  metadata property, which can also be provided by ATF test cases as
  `require.diskspace`.

* Assimilated the contents of all the `kyua-*-tester(1)` and
  `kyua-*-interface(7)` manual pages into more relevant places.  In
  particular, added more details on test program registration and their
  metadata to `kyuafile(5)`, and added `kyua-test-isolation(7)`
  describing the isolation features of the test execution.

* Assimilated the contents of all auxiliary manual pages, including
  `kyua-build-root(7)`, `kyua-results-files(7)`, `kyua-test-filters(7)`
  and `kyua-test-isolation(7)`, into the relevant command-specific
  manual pages.  This is for easier discoverability of relevant
  information when reading how specific Kyua commands work.

* Issue #30: Plumbed through support to query configuration variables
  from ATF's test case heads.  This resolves the confusing situation
  where test cases could only do this from their body and cleanup
  routines.

* Issue #49: Extended `report` to support test case filters as
  command-line arguments.  Combined with `--verbose`, this allows
  inspecting the details of a test case failure after execution.

* Issue #55: Deprecated support for specifying `test_suite` overrides on
  a test program basis.  This idiom should not be used but support for
  it remains in place.

* Issue #72: Added caching support to the `getcwd(3)` test in configure
  so that the result can be overriden for cross-compilation purposes.

* Issue #83: Changed manual page headings to include a `kyua` prefix in
  their name.  This prevents some possible confusion when displaying,
  for example, the `kyua-test` manual page with a plain name of `test`.

* Issue #84: Started passing test-suite configuration variables to plain
  and TAP test programs via the environment.  The name of the
  environment variables set this way is prefixed by `TEST_ENV_`, so a
  configuration variable of the form
  `test_suites.some_name.allow_unsafe_ops=yes` in `kyua.conf` becomes
  `TEST_ENV_allow_unsafe_ops=YES` in the environment.

* Issues #97 and #116: Fixed the build on Illumos.

* Issue #102: Set `TMPDIR` to the test case's work directory when running
  the test case.  If the test case happens to use the `mktemp(3)` family
  of functions (due to misunderstandings on how Kyua works or due to
  the reuse of legacy test code), we don't want it to easily escape the
  automanaged work directory.

* Issue #103: Started being more liberal in the parsing of TAP test
  results by treating the number in `ok` and `not ok` lines as optional.

* Issue #105: Started using tmpfs instead of md as a temporary file
  system for tests in FreeBSD so that we do not leak `md(4)` devices.

* Issue #109: Changed the privilege dropping code to start properly
  dropping group privileges when `unprivileged_user` is set.  Also fixes
  `testers/run_test:fork_wait__unprivileged_group`.

* Issue #110: Changed `help` to display version information and clarified
  the purpose of the `about` command in its documentation.

* Issue #111: Fixed crash when defining a test program in a `Kyuafile`
  that has not yet specified the test suite name.

* Issue #114: Improved the `kyuafile(5)` manual page by clarifying the
  restrictions of the `include()` directive and by adding abundant
  examples.


## Changes in version 0.10

**Experimental version released on August 14th, 2014.**

* Merged `kyua-cli` and `kyua-testers` into a single `kyua` package.

* Dropped the `kyua-atf-compat` package.

* Issue #100: Do not try to drop privileges to `unprivileged_user` when we
  are already running as an unprivileged user.  Doing so is not possible
  and thus causes spurious test failures when the current user is not
  root and the current user and `unprivileged_user` do not match.

* Issue #79: Mention `kyua.conf(5)` in the *See also* section of `kyua(1)`.

* Issue #75: Change the `rewrite__expected_signal__bad_arg` test in
  `testers/atf_result_test` to use a different signal value.  This is to
  prevent triggering a core dump that made the test fail in some platforms.


## Changes in kyua-cli version 0.9

**Experimental version released on August 8th, 2014.**

Major changes:

The internal architecture of Kyua to record the results of test suite
runs has completely changed in this release.  Kyua no longer stores all
the different test suite run results as different "actions" within the
single `store.db` database.  Instead, Kyua now generates a separate
results file inside `~/.kyua/store/` for every test suite run.

Due to the complexity involved in the migration process and the little
need for it, this is probably going to be the only release where the
`db-migrate` command is able to convert an old `store.db` file to the
new scheme.

Changes in more detail:

* Added the `report-junit` command to generate JUnit XML result files.
  The output has been verified to work within Jenkins.

* Switched to results files specific to their corresponding test suite
  run.  The unified `store.db` file is now gone: `kyua test` creates a
  new results file for every invocation under `~/.kyua/store/` and the
  `kyua report*` commands are able to locate the latest file for a
  corresponding test suite automatically.

* The `db-migrate` command takes an old `store.db` file and generates
  one results file for every previously-recorded action, later deleting
  the `store.db` file.

* The `--action` flag has been removed from all commands that accepted
  it.  This has been superseded by the tests results files.

* The `--store` flag that many commands took has been renamed to
  `--results-file` in line with the semantical changes.

* The `db-exec` command no longer creates an empty database when none
  is found.  This command is now intended to run only over existing
  files.


## Changes in kyua-testers version 0.3

**Experimental version released on August 8th, 2014.**

* Made the testers set a "sanitized" value for the `HOME` environment
  variable where, for example, consecutive and trailing slashes have
  been cleared.  Mac OS X has a tendency to append a trailing slash to
  the value of `TMPDIR`, which can cause third-party tests to fail if
  they compare `${HOME}` with `$(pwd)`.

* Issues #85, #86, #90 and #92: Made the TAP parser more complete: mark
  test cases reported as `TODO` or `SKIP` as passed; handle skip plans;
  ignore lines that look like `ok` and `not ok` but aren't results; and
  handle test programs that report a pass but exit with a non-zero code.


## Changes in kyua-cli version 0.8

**Experimental version released on December 7th, 2013.**

* Added support for Lutok 0.4.

* Issue #24: Plug the bootstrap tests back into the test suite.  Fixes
  in `kyua-testers` 0.2 to isolate test cases into their own sessions
  should allow these to run fine.

* Issue #74: Changed the `kyuafile(5)` parser to automatically discover
  existing tester interfaces.  The various `*_test_program()` functions
  will now exist (or not) based on tester availability, which simplifies
  the addition of new testers or the selective installation of them.


## Changes in kyua-testers version 0.2

**Experimental version released on December 7th, 2013.**

* Issue #74: Added the `kyua-tap-tester`, a new backend to interact with
  test programs that comply with the Test Anything Protocol.

* Issue #69: Cope with the lack of `AM_PROG_AR` in `configure.ac`, which
  first appeared in Automake 1.11.2.  Fixes a problem in Ubuntu 10.04
  LTS, which appears stuck in 1.11.1.

* Issue #24: Improve test case isolation by confining the tests to their
  own session instead of just to their own process group.


## Changes in kyua-cli version 0.7

**Experimental version released on October 18th, 2013.**

* Made failures from testers more resilent.  If a tester fails, the
  corresponding test case will be marked as broken instead of causing
  kyua to exit.

* Added the `--results-filter` option to the `report-html` command and
  set its default value to skip passed results from HTML reports.  This
  is to keep these reports more succint and to avoid generating tons of
  detail files that will be, in general, useless.

* Switched to use Lutok 0.3 to gain compatibility with Lua 5.2.

* Issue #69: Cope with the lack of `AM_PROG_AR` in `configure.ac`, which
  first appeared in Automake 1.11.2.  Fixes a problem in Ubuntu 10.04
  LTS, which appears stuck in 1.11.1.


## Changes in kyua-cli version 0.6

**Experimental version released on February 22nd, 2013.**

* Issue #36: Changed `kyua help` to not fail when the configuration file
  is bogus.  Help should always work.

* Issue #37: Simplified the `syntax()` calls in configuration and
  `Kyuafile` files to only specify the requested version instead of also
  the format name.  The format name is implied by the file being loaded, so
  there is no use in the caller having to specify it.  The version number
  of these file formats has been bumped to 2.

* Issue #39: Added per-test-case metadata values to the HTML reports.

* Issue #40: Rewrote the documentation as manual pages and removed the
  previous GNU Info document.

* Issue #47: Started using the independent testers in the `kyua-testers`
  package to run the test cases.  Kyua does not implement the logic to
  invoke test cases any more, which provides for better modularity,
  extensibility and robustness.

* Issue #57: Added support to specify arbitrary metadata properties for
  test programs right from the `Kyuafile`.  This is to make plain test
  programs more versatile, by allowing them to specify any of the
  requirements (allowed architectures, required files, etc.) supported
  by Kyua.

* Reduced automatic screen line wrapping of messages to the `help`
  command and the output of tables by `db-exec`.  Wrapping any other
  messages (specially anything going to stderr) was very annoying
  because it prevented natural copy/pasting of text.

* Increased the granularity of the error codes returned by `kyua(1)` to
  denote different error conditions.  This avoids the overload of `1` to
  indicate both "expected" errors from specific subcommands and
  unexpected errors caused by the internals of the code.  The manual now
  correctly explain how the exit codes behave on a command basis.

* Optimized the database schema to make report generation almost
  instantaneous.

* Bumped the database schema to 2.  The database now records the
  metadata of both test programs and test cases generically, without
  knowledge of their interface.

* Added the `db-migrate` command to provide a mechanism to upgrade a
  database with an old schema to the current schema.

* Removed the GDB build-time configuration variable.  This is now part
  of the `kyua-testers` package.

* Issue #31: Rewrote the `Kyuafile` parsing code in C++, which results in
  a much simpler implementation.  As a side-effect, this gets rid of the
  external Lua files required by `kyua`, which in turn make the tool
  self-contained.

* Added caching of various configure test results (particularly in those
  tests that need to execute a test program) so that cross-compilers can
  predefine the results of the tests without having to run the
  executables.


## Changes in kyua-testers version 0.1

**Experimental version released on February 19th, 2013.**

This is the first public release of the `kyua-testers` package.

The goal of this first release is to adopt all the test case execution
code of `kyua-cli` 0.5 and ship it as a collection of independent tester
binaries.  The `kyua-cli` package will rely on these binaries to run the
tests, which provides better modularity and simplicity to the
architecture of Kyua.

The code in this package is all C as opposed to the current C++ codebase
of `kyua-cli`, which means that the overall build times of Kyua are now
reduced.


## Changes in kyua-cli version 0.5

**Experimental version released on July 10th, 2012.**

* Issue #15: Added automatic stacktrace gathering of crashing test cases.
  This relies on GDB and is a best-effort operation.

* Issue #32: Added the `--build-root` option to the debug, list and test
  commands.  This allows executing test programs from a different
  directory than where the `Kyuafile` scripts live.  See the *Build roots*
  section in the manual for more details.

* Issue #33: Removed the `kyuaify.sh` script.  This has been renamed to
  atf2kyua and moved to the `kyua-atf-compat` module, where it ships as a
  first-class utility (with a manual page and tests).

* Issue #34: Changed the HTML reports to include the stdout and stderr of
  every test case.

* Fixed the build when using a "build directory" and a clean source tree
  from the repository.


## Changes in kyua-cli version 0.4

**Experimental version released on June 6th, 2012.**

* Added the `report-html` command to generate HTML reports of the
  execution of any recorded action.

* Changed the `--output` flag of the `report` command to only take a
  path to the target file, not its format.  Different formats are better
  supported by implementing different subcommands, as the options they
  may receive will vary from format to format.

* Added a `--with-atf` flag to the configure script to control whether
  the ATF tests get built or not.  May be useful for packaging systems
  that do not have ATF in them yet.  Disabling ATF also cuts down the
  build time of Kyua significantly, but with the obvious drawbacks.

* Grouped `kyua` subcommands by topic both in the output of `help` and
  in the documentation.  In general, the user needs to be aware of
  commands that rely on a current project and those commands that rely
  purely on the database to generate reports.

* Made `help` print the descriptions of options and commands properly
  tabulated.

* Changed most informational messages to automatically wrap on screen
  boundaries.

* Rewrote the configuration file parsing module for extensibility.  This
  will allow future versions of Kyua to provide additional user-facing
  options in the configuration file.

  No syntax changes have been made, so existing configuration files
  (version 1) will continue to be parsed without problems.  There is one
  little exception though: all variables under the top-level
  `test_suites` tree must be declared as strings.

  Similarly, the `-v` and `--variable` flags to the command line must
  now carry a `test_suites.` prefix when referencing any variables under
  such tree.


## Changes in kyua-cli version 0.3

**Experimental version released on February 24th, 2012.**

* Made the `test` command record the results of the executed test
  cases into a SQLite database.  As a side effect, `test` now supports a
  `--store` option to indicate where the database lives.

* Added the `report` command to generate plain-text reports of the
  test results stored in the database.  The interface of this command is
  certainly subject to change at this point.

* Added the `db-exec` command to directly interact with the store
  database.

* Issue #28: Added support for the `require.memory` test case property
  introduced in ATF 0.15.

* Renamed the user-specific configuration file from `~/.kyuarc` to
  `~/.kyua/kyua.conf` for consistency with other files stored in the
  `~/.kyua/` subdirectory.

* Switched to use Lutok instead of our own wrappers over the Lua C
  library.  Lutok is just what used to be our own utils::lua module, but
  is now distributed separately.

* Removed the `Atffile`s from the source tree.  Kyua is stable enough
  to generate trustworthy reports, and we do not want to give the
  impression that atf-run / atf-report are still supported.

* Enabled logging to stderr for our own test programs.  This makes it
  slightly easier to debug problems in our own code when we get a
  failing test.


## Changes in kyua-cli version 0.2

**Experimental version released on August 24th, 2011.**

The biggest change in this release is the ability for Kyua to run test
programs implemented using different frameworks.  What this means is
that, now, a Kyua test suite can include not only ATF-based test
programs, but also "legacy" (aka plain) test programs that do not use
any framework.  I.e. if you have tests that are simple programs that
exit with 0 on success and 1 on failure, you can plug them in into a
Kyua test suite.

Other than this, there have been several user-visible changes.  The most
important are the addition of the new `config` and `debug` subcommands
to the `kyua` binary.  The former can be used to inspect the runtime
configuration of Kyua after parsing, and the latter is useful to
interact with failing tests cases in order to get more data about the
failure itself.

Without further ado, here comes the itemized list of changes:

* Generalized the run-time engine to support executing test programs
  that implement different interfaces.  Test programs that use the ATF
  libraries are just a special case of this.  (Issue #18.)

* Added support to the engine to run `plain` test programs: i.e. test
  programs that do not use any framework and report their pass/fail
  status as an exit code.  This is to simplify the integration of legacy
  test programs into a test suite, and also to demonstrate that the
  run-time engine is generic enough to support different test
  interfaces.  (Issue #18.)

* Added the `debug` subcommand.  This command allows end users to tweak
  the execution of a specific test case and to poke into the behavior of
  its execution.  At the moment, all this command allows is to view the
  stdout and stderr of the command in real time (which the `test`
  command currently completely hides).

* Added the `config` subcommand.  This command allows the end user to
  inspect the current configuration variables after evaluation, without
  having to read through configuration files.  (Issue #11.)

* Removed the `test_suites_var` function from configuration files.  This
  was used to set the value of test-suite-sepecific variables, but it
  was ugly-looking.  It is now possible to use the more natural syntax
  `test_suites.<test-suite-name>.<variable> = <value>`.  (Issue #11.)

* Added a mechanism to disable the loading of configuration files
  altogether.  Needed for testing purposes and for scriptability.
  Available by passing the `--config=none` flag.

* Enabled detection of unused parameters and variables in the code and
  fixed all warnings.  (Issue #23.)

* Changed the behavior of "developer mode".  Compiler warnings are now
  enabled unconditionally regardless of whether we are in developer mode
  or not; developer mode is now only used to perform strict warning
  checks and to enable assertions.  Additionally, developer mode is now
  only automatically enabled when building from the repository, not for
  formal releases.  (Issue #22.)

* Fixed many build and portability problems to Debian sid with GCC 4.6.3
  and Ubuntu 10.04.1 LTS.  (Issues #20, #21, #26.)


## Changes in kyua-cli version 0.1

**Experimental version released on June 23rd, 2011.**

This is the first public release of the `kyua-cli` package.

The scope of this release is to provide functional replacement for the
`atf-run` utility included in the atf package.  At this point, `kyua`
can reliably run the NetBSD 5.99.53 test suite delivering the same
results as `atf-run`.

The reporting facilities of this release are quite limited.  There is
no replacement for `atf-report` yet, and there is no easy way of
debugging failing test programs other than running them by hand.  These
features will mark future milestones and therefore be part of other
releases.

Be aware that this release has suffered very limited field testing.
The test suite for `kyua-cli` is quite comprehensive, but some bugs may
be left in any place.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants