# changelog

author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.25.0:
    * Fix class BoundedAttributes to have RLock rather than Lock
    * Remove thread lock by loading RuntimeContext explicitly.
    * Update proto version to v1.2.0
    * Add to_json method to ExponentialHistogram
    * Bump mypy to 1.9.0
    * Fix exponential histograms
    * Fix otlp exporter to export log_record.observed_timestamp
    * Add capture the fully qualified type name for raised
      exceptions in spans
    * Prometheus exporter sort label keys to prevent duplicate
      metrics when user input changes order
    * Update semantic conventions to version 1.25.0.
    * Rename test objects to avoid pytest warnings
    * Add span flags to OTLP spans and links
    * Record links with invalid SpanContext if either attributes or
      TraceState are not empty
    * Add OpenTelemetry trove classifiers to PyPI packages
    * Fix prometheus metric name and unit conversion (#3924)
    * Add parameters for Distros and configurators to configure
      autoinstrumentation in addition to existing environment
      variables.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.25.0:
    * Fix class BoundedAttributes to have RLock rather than Lock
    * Remove thread lock by loading RuntimeContext explicitly.
    * Update proto version to v1.2.0
    * Add to_json method to ExponentialHistogram
    * Bump mypy to 1.9.0
    * Fix exponential histograms
    * Fix otlp exporter to export log_record.observed_timestamp
    * Add capture the fully qualified type name for raised
      exceptions in spans
    * Prometheus exporter sort label keys to prevent duplicate
      metrics when user input changes order
    * Update semantic conventions to version 1.25.0.
    * Rename test objects to avoid pytest warnings
    * Add span flags to OTLP spans and links
    * Record links with invalid SpanContext if either attributes or
      TraceState are not empty
    * Add OpenTelemetry trove classifiers to PyPI packages
    * Fix prometheus metric name and unit conversion
    * Add parameters for Distros and configurators to configure
      autoinstrumentation in addition to existing environment
      variables.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.43b0:
    * Prometheus exporter sanitize info metric
    * Remove Jaeger exporters
    * Log stacktrace on `UNKNOWN` status OTLP export error
    * Fix OTLPExporterMixin shutdown timeout period
    * Handle `taskName` `logrecord` attribute
    * Fix `SumAggregation` ?
    * Fix handling of empty metric collection cycles
    * Fix error when no LoggerProvider configured for
      LoggingHandler
    * Make `opentelemetry_metrics_exporter` entrypoint support pull
      exporters
    * Allow instrument names to have '/' and up to 255 characters
    * Do not load Resource on sdk import
    * Update semantic conventions to version 1.21.0
    * Add missing schema_url in global api for logging and metrics
    * Prometheus exporter support for auto instrumentation
    * Drop `setuptools` runtime requirement.
    * Update the body type in the log ($3343)
    * Add max_scale option to Exponential Bucket Histogram
      Aggregation
    * Use BoundedAttributes instead of raw dict to extract
      attributes from LogRecord
    * Support dropped_attributes_count in LogRecord and exporters
    * Add unit to view instrument selection criteria
    * Upgrade opentelemetry-proto to 0.20 and regen #3355)
    * Include endpoint in Grpc transient error warning #3362)
    * Fixed bug where logging export is tracked as trace #3375)
    * Select histogram aggregation with an environment variable
    * Move Protobuf encoding to its own package
    * Add experimental feature to detect resource detectors in auto
      instrumentation
    * Fix exporting of ExponentialBucketHistogramAggregation from
      opentelemetry.sdk.metrics.view
    * Fix headers types mismatch for OTLP Exporters
    * Fix suppress instrumentation for log batch processor
    * Add speced out environment variables and arguments for
      BatchLogRecordProcessor


author: Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@fastmail.net>
changelog:
  - update to 0.44b0:
    * Use Attribute rather than boundattribute in logrecord (#3567)
    * Fix flush error when no LoggerProvider configured for LoggingHandler (#3608)
    * Fix OTLPMetricExporter ignores preferred_aggregation property (#3603)
    * Logs: set observed_timestamp field (#3565)
    * Add missing Resource SchemaURL in OTLP exporters (#3652)
    * Fix loglevel warning text (#3566)
    * Prometheus Exporter string representation for target_info labels (#3659)
    * Logs: ObservedTimestamp field is missing in console exporter output (#3564)
    * Fix explicit bucket histogram aggregation (#3429)
    * Add code.lineno, code.function and code.filepath to all logs (#3645)
    * Add Synchronous Gauge instrument (#3462)
    * Drop support for 3.7 (#3668)
    * Include key in attribute sequence warning (#3639)
    * Upgrade markupsafe, Flask and related dependencies to dev and test
      environments (#3609)
    * Handle HTTP 2XX responses as successful in OTLP exporters (#3623)
    * Improve Resource Detector timeout messaging (#3645)
    * Add Proxy classes for logging (#3575)
    * Remove dependency on 'backoff' library (#3679)


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to 3.8.0:
    - Support serializing numpy.int16 and numpy.uint16.
    - Fix datetime regression tests with tzinfo 2022b.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.8.3:
    * `orjson.dumps()` accepts `option=None` per `Optional[int]` type.
    * Fix tests on 32-bit for `numpy.intp` and `numpy.uintp`.
    * Build now depends on rustc 1.60 or later.
    * Support building with maturin 0.13 or 0.14.


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to 3.8.10:
    - Fix compatibility with CPython 3.12.0a7.
    - Fix compatibility with big-endian architectures.
    - Fix crash in serialization.
    - Fix parallel initialization of orjson.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 3.9.10
    * Fix debug assert failure on 3.12 --profile=dev build.
  - Release 3.9.9
    * orjson module metadata explicitly marks subinterpreters as not
      supported.
  - Release 3.9.8
    * Improve performance.
    * Drop support for Python 3.7.
  - Release 3.9.7
    * Fix crash in orjson.loads() due to non-reentrant handling of
      persistent buffer. This was introduced in 3.9.3.
    * Handle some FFI removals in CPython 3.13.
  - Release 3.9.6
    * Fix numpy reference leak on unsupported array dtype.
    * Fix numpy.datetime64 reference handling.
    * Minor performance improvements.
  - Release 3.9.5
    * Remove futex from module import and initialization path.
  - Release 3.9.4
    * Fix hash builder using default values.
    * Fix non-release builds of orjson copying large deserialization
      buffer from stack to heap. This was introduced in 3.9.3.
  - Release 3.9.3
    * Fix compatibility with CPython 3.12.
    * Support i686/x86 32-bit Python installs on Windows.
  - Release 3.9.2
    * Fix the __cause__ exception on orjson.JSONEncodeError possibly
      being denormalized, i.e., of type str instead of Exception.
  - Release 3.9.1
    * Fix memory leak on chained tracebacks of exceptions raised in
      default. This was introduced in 3.8.12.
  - Release 3.9.0
    * orjson.Fragment includes already-serialized JSON in a document.
  - Release 3.8.13
    * Source distribution contains all source code required for an
      offline build.
    * Build uses maturin v1.
  - Release 3.8.12
    * Exceptions raised in default are now chained as the __cause__
      attribute on orjson.JSONEncodeError.
  - Release 3.8.11
    * orjson.loads() on an empty document has a specific error
      message.
  - Avoid cargo_audit error because of shipped old vulnerable
    zerocopy: Devendor the shipped cargo and update the cargo_vendor
    service


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Update to 3.9.15 (bsc#1220489, CVE-2024-27454):
    * Implement recursion limit of 1024 on orjson.loads().
    * Use byte-exact read on str formatting SIMD path to avoid crash.
  - 3.9.14:
    * Fix crash serializing str introduced in 3.9.11.
    * Build now depends on Rust 1.72 or later.
  - 3.9.13:
    * Serialization str escape uses only 128-bit SIMD.
    * Fix compatibility with CPython 3.13 alpha 3.
    * Publish musllinux_1_2 instead of musllinux_1_1 wheels.
    * Serialization uses small integer optimization in CPython 3.12 or later.
  - 3.9.12:
    * Minimal musllinux_1_1 build due to sporadic CI failure.
  - 3.9.11:
    * Improve performance of serializing. str is significantly faster. Documents
      using dict, list, and tuple are somewhat faster.


author: John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
changelog:
  - Update to 3.10.7
    * Improve performance of stable Rust amd64 builds.
  - from version 3.10.6
    * Improve performance.
  - from version 3.10.5
    * Improve performance.
  - from version 3.10.4
    * Improve performance.
  - from version 3.10.3
    * `manylinux` amd64 builds include runtime-detected AVX-512 `str`
      implementation.
    * Tests now compatible with numpy v2.
  - from version 3.10.2
    * Fix crash serializing `str` introduced in 3.10.1.
    * Improve performance.
    * Drop support for arm7.
  - from version 3.10.1
    * Serializing `numpy.ndarray` with non-native endianness raises
      `orjson.JSONEncodeError`.
    * Improve performance of serializing.
  - from version 3.10.0
    * Support serializing `numpy.float16` (`numpy.half`).
    * sdist uses metadata 2.3 instead of 2.1.
    * Improve Windows PyPI builds.


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - BuildRequire more than the default python3 flavor packages
    gh#openSUSE/python-rpm-macros#66
  - pytest-cov is not required


author: Torsten Gruner <t.gruner@katodev.de>
changelog:
  - update to version 1.1.0
    * Tweaked the implementation of Error.unwrap to avoid creating a
      reference cycle between the exception object and the unwrap
      method's frame. This shouldn't affect most users, but it
      slightly reduces the amount of work that CPython's cycle
      collector has to do, and may reduce GC pauses in some cases. (#29)
    * Drop support for Python 2.7, 3.4, and 3.5. (#27)


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 1.2.0
    * Merge pull request #33 from pquentin/spdx-compliant-license
    * Make setuptools license field SPDX-compliant
    * Merge pull request #32 from pquentin/modernize-ci
    * Use GitHub Actions and RTD CI
    * Merge pull request #30 from njsmith/release-1.1.0


author: Dirk Müller <dmueller@suse.com>
changelog:
  - drop outdated depndendy on async_generator
    (see https://github.com/python-trio/outcome/issues/12)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.3.0.post0:
    * Added type hints to the package. :py:class:`Value` and
      :py:class:`Outcome` are now generic. A type alias was also added
      (:py:data:`Maybe`) for the union of :py:class:`Value` and
      :py:class:`Error`. (#36)


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to v22.0
    * Fix compatible version specifier incorrectly strip trailing '0'
      by @kasium in #493
    * Remove support for Python 3.6 by @abravalheri in #500
    * Use concurrency limit in ci by @blink1073 in #510
    * Fix issue link in changelog. by @bdice in #509
    * chore: test with PyPy 3.8 & 3.9 by @mayeut in #512
    * Accept locally installed prereleases by @q0w in #515
    * Always run GHA workflows when they change by @mayeut in #516
    * Add __hash__/__eq__ to requirements by @abravalheri in #499
    * Upgrade to setup-python v3 and use caching for GHA by
      @brettcannon in #521
    * allow pre-release versions in marker evaluation by @graingert
      in #523
    * Error out from workflow on missing interpreter by @mayeut in
      [#525]
    * chore: update pre-commit config to the latest repos' versions
      by @mayeut in #534
    * chore: remove Windows PyPy 3.9 workaround on GHA by @mayeut in
      [#533]
    * Use pipx to run nox / build in GHA workflows by @mayeut in #517
    * Run tests with all PyPy versions locally by @mayeut in #535
    * Adhere to PEP 685 when evaluating markers with extras by
      @hroncok in #545
    * chore: update mypy and move to toml by @henryiii in #547
    * Normalize extra comparison in markers for output by
      @brettcannon in #549
    * Evaluate markers under environment with empty "extra" by
      @MrMino in #550
    * Do not set extra in default_environment() by @sbidoul in #554
    * Update extlinks strings to use a format string by @mayeut in
      [#555]
    * Update CI test workflow to use setup-python@v4 by @mayeut in
      [#556]
    * CI: Update actions/* to their latest major versions by @mayeut
      in #557
    * Fix a spelling mistake by @venthur in #558
    * fix: macOS platform tags with old macOS SDK by @mayeut in #513
    * Correctly parse ELF for musllinux on Big Endian by @uranusjr in
      [#538]
    * A metadata module with a data class for core metadata by
      @brettcannon in #518
    * Document utils.NormalizedName by @brettcannon in #565
    * Drop LegacySpecifier and LegacyVersion by @pradyunsg in #407
    * Move metadata, versions and specifiers API documentation to
      sphinx.ext.autodoc by @pradyunsg in #572
    * Demonstrate behaviour of SpecifierSet.__iter__ by @hauntsaninja
      in #575
    * Handwritten parser for parsing requirements by @hrnciar in #484
    * Add changelog entry for removal of pyparsing dependency by
      @hroncok in #581
    * Use Iterator instead of Iterable for specifier filter methods
      by @ichard26 in #584
    * Better output on linter failure by @henryiii in #478
    * Add a "cpNNN-none-any" tag by @joonis in #541
    * Document exceptions raised by functions in utils by @MrMino in
      [#544]
    * Refactor ELF parsing logic to standlone class by @uranusjr in
      [#553]
    * Forbid prefix version matching on pre-release/post-release
      segments by @mayeut in #563
    * Update coverage to >=5.0.0 by @mayeut in #586
    * Normalize specifier version for prefix matching by @mayeut in
      [#561]
    * Add python 3.11 by @mayeut in #587
    * Fix prefix version matching by @mayeut in #564
    * Remove duplicate namedtuple by @layday in #589
    * Update changelog by @pradyunsg in #595
    * Change email-related fields in Metadata to str by @brettcannon
      in #596
    * Add versionchanged for 21.3 by @brettcannon in #599
    * refactor: use flit as a backend by @henryiii in #546
    * Remove packaging.metadata by @pradyunsg in #603
    * Refactor nox requirements to use requirements files (#601) by
      @strokirk in #609
    * Improve Requirement/Marker parser with context-sensitive
      tokenisation by @pradyunsg in #624
  - The new usage of the flit-core backend simplifies the bootstrap
  - Remove old-distro shims: This one requires Python 3.7+, thus
    all non-Tumbleweed backports or future distros must provide the
    primary_python macro and similar themselves.
  - Drop fix-big-endian-build.patch upstreamed gh#pypa/packaging#538


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to v23.0
    * Remove unused LPAREN token from tokenizer by @hrnciar in #630
    * Reorganise the project layout and version management by
      @pradyunsg in #626
    * Correctly handle non-normalised specifiers in requirements by
      @pradyunsg in #634
    * Use stable Python 3.11 in tests by @153957 in #641
    * Fix typing for specifiers.BaseSpecifier.filter() by @henryiii
      in #643
    * Correctly handle trailing whitespace on URL requirements by
      @pradyunsg in #642
    * refactor _generic_api to use EXT_SUFFIX by @mattip in #607
    * Allow "extra" to be None in the marker environment by
      @pradyunsg in #650
    * Fix typos by @kianmeng in #648
    * Update changelog for release by @pradyunsg in #656


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.1
    * chore: add typed classifier
    * Improve parser error messaging around mistakes in/around
      version specifiers
    * Upgrade to latest mypy
    * Delete print() from test_tags
    * Update our linters
    * Improve error for local version label with unsupported operators
    * Parse raw metadata
    * Handle prefix match with zeros at end of prefix correctly
    * Relax typing of _key on _BaseVersion
    * Replace spaces in platform names with underscores
    * Import underlying parser function as an underscored variable


author: ecsos <ecsos@opensuse.org>
changelog:
  - Update ot 23.2:
    * parse_marker should consume the entire source string in #687
    * Create a Security Policy file in #695
    * Add python 3.12 to CI in #689
    * Remove URL validation from requirement parsing in #684
    * Add types for packaging.version._Version in #665
    * Add PyPy 3.10 to CI in #699
    * Remove unused argument in _manylinux._is_compatible in #700
    * Canonicalize names for requirements comparison in #696
    * Add platform tag support for LoongArch in #693
    * Ability to install armv7l manylinux/musllinux wheels on armv8l in #690
    * Include CHANGELOG.rst in sdist in #704
    * Update pyupgrade to Python 3.7+ in #580
    * Fix version pattern pre-releases in #705
    * Fix typos found by codespell in #706
    * Support enriched metadata in #686
    * Correct rST syntax in CHANGELOG.rst in #709
    * fix: platform tag for GraalPy in #711
    * Document that this library uses a calendar-based versioning scheme in #717
    * fix: Update copyright date for docs in #713
    * Bump pip version to avoid known vulnerabilities in #720
    * Typing annotations fixed in version.py in #723
    * parse_{sdist,wheel}_filename: don't raise InvalidVersion in #721
    * Fix code blocks in CHANGELOG.md in #724


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 24.0:
    * Do specifier matching correctly when the specifier contains
      an epoch number and has more components than the version
      (:issue:`683`)
    * Support the experimental --disable-gil builds in
      packaging.tags (:issue:`727`)
    * BREAKING: Make optional metadata.Metadata attributes default
      to None (:issue:`733`)
    * Fix errors when trying to access the
      description_content_type, keywords, and requires_python
      attributes on metadata.Metadata when those values have not
      been provided (:issue:`733`)
    * Fix a bug preventing the use of the built in ExceptionGroup
      on versions of Python that support it (:issue:`725`)


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 2.1.3:
    * Reverted deprecation of fill_method=None in DataFrame.pct_change(),
      Series.pct_change(), DataFrameGroupBy.pct_change(), and
      SeriesGroupBy.pct_change(); the values 'backfill', 'bfill', 'pad', and
      'ffill' are still deprecated
    * Fixed regressions
      + Fixed infinite recursion from operations that return a new object on
      some DataFrame subclasses
      + Fixed regression in DataFrame.join() where result has missing values
      and dtype is arrow backed string
      + Fixed regression in rolling() where non-nanosecond index or on column
      would produce incorrect results
      + Fixed regression in DataFrame.resample() which was extrapolating back
      to origin when origin was outside its bounds
      + Fixed regression in DataFrame.sort_index() which was not sorting
      correctly when the index was a sliced MultiIndex
      + Fixed regression in DataFrameGroupBy.agg() and SeriesGroupBy.agg()
      where if the option compute.use_numba was set to True, groupby methods
      not supported by the numba engine would raise a TypeError
      + Fixed performance regression with wide DataFrames, typically
      involving methods where all columns were accessed individually
      + Fixed regression in merge_asof() raising TypeError for by with
      datetime and timedelta dtypes
      + Fixed regression in read_parquet() when reading a file with a string
      column consisting of more than 2 GB of string data and using the
      "string" dtype
      + Fixed regression in DataFrame.to_sql() not roundtripping datetime
      columns correctly for sqlite when using detect_types
      + Fixed regression in construction of certain DataFrame or Series
      subclasses
    * Bug fixes
      + Bug in DatetimeIndex.diff() raising TypeError
      + Bug in Index.isin() raising for Arrow backed string and None value
      + Fix read_parquet() and read_feather() for CVE-2023-47248
      + Fixed bug in DataFrameGroupBy reductions not preserving object dtype
      when infer_string is set
      + Fixed bug in SeriesGroupBy.value_counts() returning incorrect dtype for
      string columns
      + Fixed bug in Categorical.equals() if other has arrow backed string dtype
      + Fixed bug in DataFrame.__setitem__() not inferring string dtype for
      zero-dimensional array with infer_string=True
      + Fixed bug in DataFrame.idxmin() and DataFrame.idxmax() raising for
      arrow dtypes
      + Fixed bug in DataFrame.interpolate() raising incorrect error message
      + Fixed bug in Index.insert() raising when inserting None into Index with
      dtype="string[pyarrow_numpy]"
      + Fixed bug in Series.all() and Series.any() not treating missing values
      correctly for dtype="string[pyarrow_numpy]"
      + Fixed bug in Series.floordiv() for ArrowDtype
      + Fixed bug in Series.mode() not sorting values for arrow backed string
      dtype
      + Fixed bug in Series.rank() for string[pyarrow_numpy] dtype
      + Fixed bug in Series.str.extractall() for ArrowDtype dtype being
      converted to object
      + Fixed bug where PDEP-6 warning about setting an item of an
      incompatible dtype was being shown when creating a new conditional
      column
      + Silence Period[B] warnings introduced by GH 53446 during normal
      plotting activity
      + Fixed bug in Series constructor not inferring string dtype when NA is
      the first value and infer_string is set
  - Prepare for Python 3.12, include the flavor check.
  - Unpin Cython, upstream has moved onto 3.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.1.4
    [#]# Fixed regressions
    * Fixed regression when trying to read a pickled pandas DataFrame
      from pandas 1.3 (GH 55137)
    [#]# Bug fixes
    * Bug in Series constructor raising DeprecationWarning when index
      is a list of Series (GH 55228)
    * Bug in Series when trying to cast date-like string inputs to
      ArrowDtype of pyarrow.timestamp (GH 56266)
    * Bug in DataFrame.apply() where passing raw=True ignored args
      passed to the applied function (GH 55753)
    * Bug in Index.__getitem__() returning wrong result for Arrow
      dtypes and negative stepsize (GH 55832)
    * Fixed bug in to_numeric() converting to extension dtype for
      string[pyarrow_numpy] dtype (GH 56179)
    * Fixed bug in DataFrameGroupBy.min() and DataFrameGroupBy.max()
      not preserving extension dtype for empty object (GH 55619)
    * Fixed bug in DataFrame.__setitem__() casting Index with
      object-dtype to PyArrow backed strings when infer_string option
      is set (GH 55638)
    * Fixed bug in DataFrame.to_hdf() raising when columns have
      StringDtype (GH 55088)
    * Fixed bug in Index.insert() casting object-dtype to PyArrow
      backed strings when infer_string option is set (GH 55638)
    * Fixed bug in Series.__ne__() resulting in False for comparison
      between NA and string value for dtype="string[pyarrow_numpy]"
      (GH 56122)
    * Fixed bug in Series.mode() not keeping object dtype when
      infer_string is set (GH 56183)
    * Fixed bug in Series.reset_index() not preserving object dtype
      when infer_string is set (GH 56160)
    * Fixed bug in Series.str.split() and Series.str.rsplit() when
      pat=None for ArrowDtype with pyarrow.string (GH 56271)
    * Fixed bug in Series.str.translate() losing object dtype when
      string option is set (GH 56152)
  - Go back to Cython0, it has NOT been unpinned by upstream released
    version
    * https://github.com/pandas-dev/pandas/blob/v2.1.4/pyproject.toml#L8
    * See also gh#jsonpickle/jsonpickle#460


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.2.1
    [#]# Enhancements
    * Added pyarrow pip extra so users can install pandas and pyarrow
      with pip with pip install pandas[pyarrow] (#54466)
    [#]# Fixed regressions
    * Fixed memory leak in `read_csv` (#57039)
    * Fixed performance regression in `Series.combine_first` (#55845)
    * Fixed regression causing overflow for near-minimum timestamps
      (#57150)
    * Fixed regression in `concat` changing long-standing behavior
      that always sorted the non-concatenation axis when the axis was
      a `DatetimeIndex` (#57006)
    * Fixed regression in `merge_ordered` raising TypeError for
      fill_method="ffill" and how="left" (#57010)
    * Fixed regression in `pandas.testing.assert_series_equal`
      defaulting to check_exact=True when checking the `Index`
      (#57067)
    * Fixed regression in `read_json` where an `Index` would be
      returned instead of a `RangeIndex` (#57429)
    * Fixed regression in `wide_to_long` raising an AttributeError
      for string columns (#57066)
    * Fixed regression in `.DataFrameGroupBy.idxmin`,
      `.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`,
      `.SeriesGroupBy.idxmax` ignoring the skipna argument (#57040)
    * Fixed regression in `.DataFrameGroupBy.idxmin`,
      `.DataFrameGroupBy.idxmax`, `.SeriesGroupBy.idxmin`,
      `.SeriesGroupBy.idxmax` where values containing the minimum or
      maximum value for the dtype could produce incorrect results
      (#57040)
    * Fixed regression in `CategoricalIndex.difference` raising
      KeyError when other contains null values other than NaN
      (#57318)
    * Fixed regression in `DataFrame.groupby` raising ValueError when
      grouping by a `Series` in some cases (#57276)
    * Fixed regression in `DataFrame.loc` raising IndexError for
      non-unique, masked dtype indexes where result has more than
      10,000 rows (#57027)
    * Fixed regression in `DataFrame.loc` which was unnecessarily
      throwing "incompatible dtype warning" when expanding with
      partial row indexer and multiple columns (see PDEP6) (#56503)
    * Fixed regression in `DataFrame.map` with na_action="ignore" not
      being respected for NumPy nullable and `ArrowDtypes` (#57316)
    * Fixed regression in `DataFrame.merge` raising ValueError for
      certain types of 3rd-party extension arrays (#57316)
    * Fixed regression in `DataFrame.query` with all NaT column with
      object dtype (#57068)
    * Fixed regression in `DataFrame.shift` raising AssertionError
      for axis=1 and empty `DataFrame` (#57301)
    * Fixed regression in `DataFrame.sort_index` not producing a
      stable sort for a index with duplicates (#57151)
    * Fixed regression in `DataFrame.to_dict` with orient='list' and
      datetime or timedelta types returning integers (#54824)
    * Fixed regression in `DataFrame.to_json` converting nullable
      integers to floats (#57224)
    * Fixed regression in `DataFrame.to_sql` when method="multi" is
      passed and the dialect type is not Oracle (#57310)
    * Fixed regression in `DataFrame.transpose` with nullable
      extension dtypes not having F-contiguous data potentially
      causing exceptions when used (#57315)
    * Fixed regression in `DataFrame.update` emitting incorrect
      warnings about downcasting (#57124)
    * Fixed regression in `DataFrameGroupBy.idxmin`,
      `DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`,
      `SeriesGroupBy.idxmax` ignoring the skipna argument (#57040)
    * Fixed regression in `DataFrameGroupBy.idxmin`,
      `DataFrameGroupBy.idxmax`, `SeriesGroupBy.idxmin`,
      `SeriesGroupBy.idxmax` where values containing the minimum or
      maximum value for the dtype could produce incorrect results
      (#57040)
    * Fixed regression in `ExtensionArray.to_numpy` raising for
      non-numeric masked dtypes (#56991)
    * Fixed regression in `Index.join` raising TypeError when joining
      an empty index to a non-empty index containing mixed dtype
      values (#57048)
    * Fixed regression in `Series.astype` introducing decimals when
      converting from integer with missing values to string dtype
      (#57418)
    * Fixed regression in `Series.pct_change` raising a ValueError
      for an empty `Series` (#57056)
    * Fixed regression in `Series.to_numpy` when dtype is given as
      float and the data contains NaNs (#57121)
    * Fixed regression in addition or subtraction of `DateOffset`
      objects with millisecond components to datetime64 `Index`,
      `Series`, or `DataFrame` (#57529)
    [#]# Bug fixes
    * Fixed bug in `pandas.api.interchange.from_dataframe` which was
      raising for Nullable integers (#55069)
    * Fixed bug in `pandas.api.interchange.from_dataframe` which was
      raising for empty inputs (#56700)
    * Fixed bug in `pandas.api.interchange.from_dataframe` which
      wasn't converting columns names to strings (#55069)
    * Fixed bug in `DataFrame.__getitem__` for empty `DataFrame` with
      Copy-on-Write enabled (#57130)
    * Fixed bug in `PeriodIndex.asfreq` which was silently converting
      frequencies which are not supported as period frequencies
      instead of raising an error (#56945)
    [#]# Note
    * The DeprecationWarning that was raised when pandas was imported
      without PyArrow being installed has been removed. This decision
      was made because the warning was too noisy for too many users
      and a lot of feedback was collected about the decision to make
      PyArrow a required dependency. Pandas is currently considering
      the decision whether or not PyArrow should be added as a hard
      dependency in 3.0. Interested users can follow the discussion
      here.
    * Added the argument skipna to `DataFrameGroupBy.first`,
      `DataFrameGroupBy.last`, `SeriesGroupBy.first`, and
      `SeriesGroupBy.last`; achieving skipna=False used to be
      available via `DataFrameGroupBy.nth`, but the behavior was
      changed in pandas 2.0.0 (#57019)
    * Added the argument skipna to `Resampler.first`,
      `Resampler.last` (#57019)
  - Release notes for 2.2.0
    * For full changelog see
      https://github.com/pandas-dev/pandas/blob/main/doc/source/whatsnew/v2.2.0.rst
    [#]# Enhancements
    * ADBC Driver support in to_sql and read_sql
    * Create a pandas Series based on one or more conditions
    * to_numpy for NumPy nullable and Arrow types converts to
      suitable NumPy dtype
    * Series.struct accessor for PyArrow structured data
    * Series.list accessor for PyArrow list data
    * Calamine engine for `read_excel`
    [#]# Notable bug fixes
    * `merge` and `DataFrame.join` now consistently follow documented
      sort behavior
    * `merge` and `DataFrame.join` no longer reorder levels when
      levels differ
    * Increased minimum versions for dependencies
    [#]# Deprecations
    * Chained assignment
    * Deprecate aliases M, Q, Y, etc. in favour of ME, QE, YE, etc.
      for offsets
    * Deprecated automatic downcasting
  - Simplify flavor test setup: obs can evaluate %{shrink:} now


author: Ben Greiner <code@bnavigator.de>
changelog:
  - No xarrary for python 3.9 anymore: Remove from pandas[all] and
    exclude pandas[computation]. Reenable testing to check it.
    It will be skipped automatically when python39 is dropped from
    Tumbleweed globally.
  - Fix 15.x build: requires newer compiler
  - Fix 15.x test skips: sle15_python_module_pythons needs to be
    declared earlier


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.2.2
    * Pandas 2.2.2 is now compatible with numpy 2.0
    * Pandas 2.2.2 is the first version of pandas that is generally
      compatible with the upcoming numpy 2.0 release, and wheels for
      pandas 2.2.2 will work with both numpy 1.x and 2.x. One major
      caveat is that arrays created with numpy 2.0?s new StringDtype
      will convert to object dtyped arrays upon Series/DataFrame
      creation. Full support for numpy 2.0?s StringDtype is expected
      to land in pandas 3.0.
    * As usual please report any bugs discovered to our issue tracker
    [#]# Fixed regressions
    * DataFrame.__dataframe__() was producing incorrect data buffers
      when the a column?s type was a pandas nullable on with missing
      values (GH 56702)
    * DataFrame.__dataframe__() was producing incorrect data buffers
      when the a column?s type was a pyarrow nullable on with missing
      values (GH 57664)
    * Avoid issuing a spurious DeprecationWarning when a custom
      DataFrame or Series subclass method is called (GH 57553)
    * Fixed regression in precision of to_datetime() with string and
      unit input (GH 57051)
    [#]# Bug fixes
    * DataFrame.__dataframe__() was producing incorrect data buffers
      when the column?s type was nullable boolean (GH 55332)
    * DataFrame.__dataframe__() was showing bytemask instead of
      bitmask for 'string[pyarrow]' validity buffer (GH 57762)
    * DataFrame.__dataframe__() was showing non-null validity buffer
      (instead of None) 'string[pyarrow]' without missing values (GH
      57761)
    * DataFrame.to_sql() was failing to find the right table when
      using the schema argument (GH 57539)
  - Remove obsolete python39 multibuild
  - Add pandas-pr58269-pyarrow16xpass.patch
    gh#pandas-dev/pandas#58269


author: Matej Cepl <mcepl@cepl.eu>
changelog:
  - Add pandas-pr58269-pyarrow16xpass.patch
    (gh#pandas-dev/pandas!58269)
  - Add pandas-pr58720-xarray-dp.patch
    (gh#pandas-dev/pandas!58720), which makes pandas compatible
    with the modern xarray
  - Add pandas-pr58484-matplotlib.patch
    (gh#pandas-dev/pandas!58484), which makes pandas compatible
    with the modern matplotlib
  - Skip also test_plot_scatter_shape (gh#pandas-dev/pandas#58851)


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Add remove_nose.patch to eliminate nose dependency. The patch
    is not very good, it still skips plenty of yield tests (which
    were ignored even before, so it is not even a regression).


author: pgajdos@suse.com
changelog:
  - version update to 0.8.1
    0.8.1 (2021-01-09)
    * Add README and LICENSE to pypi sdist package
      (https://github.com/wolever/parameterized/pull/114; thanks @chohner)
    0.8.0 (2021-01-04)
    * Handle camelCase test names. This is an ever-so-slightly backwards
      incompatible change, as the method for determining which methods are
      test methods has changed from ``method_name.startswith("test_")`` to
      ``method_name.startswith("test")``. The latter is the behavior of
      the ``unittest`` module.
      (thanks @bobwalker99; https://github.com/wolever/parameterized/pull/106)
    * Fix arguments to skip_on_empty helper (thanks @bhavyakjain;
      https://github.com/wolever/parameterized/pull/104)
    0.7.5 (2021-01-04)
    * Fix crash on Python 2.7 with unicode docstrings
      (https://github.com/wolever/parameterized/issues/109)
    * Replace inspect.stack() with faster inspect.currentframe()
      (https://github.com/wolever/parameterized/issues/107)
    * Add a __version__ string to the package
      (https://github.com/wolever/parameterized/issues/103)


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Add parameterized-pr116-pytest4.patch for pytest 4 to 7 (!)
    support -- gh#wolever/parameterized#116
  - Refresh remove_nose.patch
  - Drop skip_Documentation_tests.patch fixed upstream


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Disable testing with nose2
    * nose2 is actively maintained, but not used much in the
      distribution. No need to test it in Ring1.


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to 0.9.0:
    - Drop support for Python 2.X, 3.5, and 3.6;
      Add support for Python 3.10, 3.11
    - Modernize from setup.py -> pyproject.toml
    - Add ``namespace`` argument to ``@parameterize.expand``
    - Add support for ``IsolatedAsyncioTestCase``
    - Work around for bug bpo-40126 in older versions of ``mock``
    - Allow str, bytes, and any non-iterable input to be passed to
      ``@parameterized`` without wrapping in a tuple
    - Fix class-level ``mock.patch.multiple``
  - Add skip_failing_teardown.patch (gh#wolever/parameterized#167)
    to overcome failing tearDownModule().
  - Remove upstreamed parameterized-pr116-pytest4.patch


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.10.4:
    * Servers offering certificate variants of hostkey algorithms (eg
      ssh-rsa-cert-v01@openssh.com) could not have their host keys verified by
      Paramiko clients, as it only ever considered non-cert key types for that
      part of connection handshaking. This has been fixed.
    * gq PKey instances? __eq__ did not have the usual safety guard in place to
      ensure they were being compared to another PKey object, causing occasional
      spurious BadHostKeyException (among other things). This has been fixed.
    * Update camelCase method calls against the threading module to be snake_case;
      this and related tweaks should fix some deprecation warnings under Python 3.10.


author: Michael Ströder <michael@stroeder.com>
changelog:
  - update to 2.11.0
    * [Feature] #1951: Add SSH config token expansion (eg %h, %p) when
      parsing ProxyJump directives.
    * [Support] #2004: (via #2011) Apply unittest skipIf to tests currently
      using SHA1 in their critical path, to avoid failures on systems starting
      to disable SHA1 outright in their crypto backends (eg RHEL 9).
    * [Support] #1838: (via #1870/#2028) Update camelCase method calls
      against the threading module to be snake_case; this and related tweaks
      should fix some deprecation warnings under Python 3.10.
    * [Support] #2038: (via #2039) Recent versions of Cryptography have
      deprecated Blowfish algorithm support; in lieu of an easy method for
      users to remove it from the list of algorithms Paramiko tries to import
      and use, we?ve decided to remove it from our ?preferred algorithms? list.
      This will both discourage use of a weak algorithm, and avoid warnings.
  - update to 2.10.5
    * [Bug] #2008: (via #2010) Windows-native SSH agent support as merged in
      2.10 could encounter Errno 22 OSError exceptions in some scenarios
      (eg server not cleanly closing a relevant named pipe).
      This has been worked around and should be less problematic.
    * [Bug] #2017: OpenSSH 7.7 and older has a bug preventing it from
      understanding how to perform SHA2 signature verification for RSA
      certificates (specifically certs - not keys), so when we added SHA2
      support it broke all clients using RSA certificates with these servers.
      This has been fixed in a manner similar to what OpenSSH?s own client
      does: a version check is performed and the algorithm used is downgraded
      if needed.
    * [Bug] #1933: Align signature verification algorithm with OpenSSH re:
      zero-padding signatures which don?t match their nominal size/length. This
      shouldn?t affect most users, but will help Paramiko-implemented SSH
      servers handle poorly behaved clients such as PuTTY.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.12.0
    * [Feature] #2125: (also re: #2054) Add a transport_factory kwarg
      to SSHClient.connect for advanced users to gain more control
      over early Transport setup and manipulation. Thanks to Noah
      Pederson for the patch.
  - Release 2.11.1
    * [Bug]: bug:1637 (via #1599) Raise SSHException explicitly when
      blank private key data is loaded, instead of the natural result
      of IndexError. This should help more bits of Paramiko or
      Paramiko-adjacent codebases to correctly handle this class of
      error. Credit: Nicholas Dietz.
    * [Bug] #1822: (via, and relating to, far too many other issues
      to mention here) Update SSHClient so it explicitly closes its
      wrapped socket object upon encountering socket errors at
      connection time. This should help somewhat with certain classes
      of memory leaks, resource warnings, and/or errors (though we
      hasten to remind everyone that Client and Transport have their
      own .close() methods for use in non-error situations!). Patch
      courtesy of @YoavCohen.
  - Rename and refresh:
    - paramiko-pr1655-remove-pytest-relaxed.patch
    + paramiko-pr1665-remove-pytest-relaxed.patch
    * gh#paramiko/paramiko#1665


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Delete paramiko-pr1665-remove-pytest-relaxed.patch
  - Add remove-icecream-dep.patch
  - Update to 3.1.0:
    * [Feature] #2173: Accept single tabs as field separators (in
      addition to single spaces) in
      <paramiko.hostkeys.HostKeyEntry.from_line> for parity with
      OpenSSH?s KnownHosts parser. Patched by Alex Chavkin.
    * [Feature] #2013: (solving #2009, plus others) Add an explicit
      channel_timeout keyword argument to
      paramiko.client.SSHClient.connect, allowing users to configure the
      previously-hardcoded default value of 3600 seconds. Thanks to
      @VakarisZ and @ilija-lazoroski for the report and patch, with
      credit to Mike Salvatore for patch review.
    * [Support] #2178: Apply codespell to the codebase, which found a
      lot of very old minor spelling mistakes in docstrings. Also
      modernize many instances of *largs vs *args and **kwarg vs
    * *kwargs. Patch courtesy of Yaroslav Halchenko, with review from
      Brian Skinn.
  - 3.0.0:
    * [Bug]: A handful of lower-level classes (notably
      paramiko.message.Message and paramiko.pkey.PKey) previously
      returned bytes objects from their implementation of __str__, even
      under Python 3; and there was never any __bytes__ method.
    * These issues have been fixed by renaming __str__ to __bytes__ and
      relying on Python?s default ?stringification returns the output of
      __repr__? behavior re: any real attempts to str() such objects.
    * [Bug] #2165: Streamline some redundant (and costly) byte
      conversion calls in the packetizer and the core SFTP module. This
      should lead to some SFTP speedups at the very least. Thanks to
      Alex Gaynor for the patch.
    * [Bug] #2110: Remove some unnecessary __repr__ calls when handling
      bytes-vs-str conversions. This was apparently doing a lot of
      unintentional data processing, which adds up in some use cases ?
      such as SFTP transfers, which may now be significantly faster.
      Kudos to Shuhua Zhong for catch & patch.
    * [Support]: Drop support for Python versions less than 3.6,
      including Python 2. So long and thanks for all the fish!
    * [Support]: Remove the now irrelevant paramiko.py3compat module.
    * [Support]: paramiko.common.asbytes has been moved to
      paramiko.util.asbytes.
    * [Support]: PKey.__cmp__ has been removed. Ordering-oriented
      comparison of key files is unlikely to have ever made sense (the
      old implementation attempted to order by the hashes of the key
      material) and so we have not bothered setting up __lt__ and
      friends at this time. The class continues to have its original
      __eq__ untouched.
    * [Support]: The behavior of private key classes? (ie anything
      inheriting from PKey) private key writing methods used to perform
      a manual, extra chmod call after writing. This hasn?t been
      strictly necessary since the mid 2.x release line (when key
      writing started giving the mode argument to os.open), and has now
      been removed entirely.
    * This should only be observable if you were mocking Paramiko?s
      system calls during your own testing, or similar.
    * [Support] #732: (also re: #630) SSHConfig used to straight-up
      delete the proxycommand key from config lookup results when the
      source config said ProxyCommand none. This has been altered to
      preserve the key and give it the Python value None, thus making
      the Python representation more in line with the source config
      file.
    * [Support]: paramiko.util.retry_on_signal (and any internal uses of
      same, and also any internal retries of EINTR on eg socket
      operations) has been removed. As of Python 3.5, per PEP 475, this
      functionality (and retrying EINTR generally) is now part of the
      standard library.


author: Ond?ej Súkup <mimi.vx@gmail.com>
changelog:
  - refresh remove-icecream-dep.patch
  - update to 3.3.1
    detailed changelog: https://www.paramiko.org/changelog.html#


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 3.4.0: (CVE-2023-48795, bsc#1218168)
    * Transport grew a new packetizer_class kwarg for overriding the
      packet-handler class used internally.
    * Address CVE 2023-48795 (aka the "Terrapin Attack", a vulnerability found
      in the SSH protocol re: treatment of packet sequence numbers) as follows:
      + The vulnerability only impacts encrypt-then-MAC digest algorithms in
      tandem with CBC ciphers, and ChaCha20-poly1305; of these, Paramiko
      currently only implements hmac-sha2-(256|512)-etm in tandem with
      AES-CBC.
      + As the fix for the vulnerability requires both ends of the connection
      to cooperate, the below changes will only take effect when the remote
      end is OpenSSH >= 9.6 (or equivalent, such as Paramiko in server mode,
      as of this patch version) and configured to use the new
      "strict kex" mode.
      + Paramiko will now raise an SSHException subclass (MessageOrderError)
      when protocol messages are received in unexpected order. This includes
      situations like receiving MSG_DEBUG or MSG_IGNORE during initial key
      exchange, which are no longer allowed during strict mode.
      + Key (re)negotiation -- i.e. MSG_NEWKEYS, whenever it is encountered --
      now resets packet sequence numbers. (This should be invisible to users
      during normal operation, only causing exceptions if the exploit is
      encountered, which will usually result in, again, MessageOrderError.)
      + Sequence number rollover will now raise SSHException if it occurs
      during initial key exchange (regardless of strict mode status).
    * Tweak ext-info-(c|s) detection during KEXINIT protocol phase; the
      original implementation made assumptions based on an OpenSSH
      implementation detail.
  - Add patch use-64-bit-maxsize-everywhere.patch:
    * Use the 64-bit value of sys.maxsize.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.7.1:
    - Fixed a couple of smaller bugs (mostly syntax error detection in
    ``Grammar.iter_errors``)


author: Matej Cepl <mcepl@suse.com>
changelog:
  - update to 0.8.1 (according to gh#davidhalter/jedi#1650 it
    should be compatible with python-jedi now):
    - Dropped Support for Python 2.7, 3.4, 3.5
    - It's possible to use ``pathlib.Path`` objects now in the API
    - The stubs are gone, we are now using annotations
    - ``namedexpr_test`` nodes are now a proper class called ``NamedExpr``
    - A lot of smaller refactorings


author: Ben Greiner <code@bnavigator.de>
changelog:
  - update to 0.8.3:
    * Add basic support for Python 3.11 and 3.12
  - Skip tests failing in Python 3.10 gh#davidhalter/parso#192


author: John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
changelog:
  - Update to 0.8.4
    * Add basic support for Python 3.13
  - Drop patches for issues fixed upstream
    * cf5969d7a109798adbf9538d70e92138f077d700.patch


author: Michael Ströder <michael@stroeder.com>
changelog:
  - Removed obsolete patches:
    * python-passlib-1.7.1-libxcrypt-compat.patch
    * pr_9_1.patch and pr_9_2.patch
  - Update to 1.7.2
    * New Features
    - argon2: Now supports Argon2 ?ID? and ?D? hashes
      (assuming new enough backend library).
    - scrypt: Now uses python 3.6 stdlib?s hashlib.scrypt() as backend,
      if present (issue 86).
    * Bugfixes
    - Python 3.8 compatibility fixes
    - passlib.apache.HtpasswdFile:
      Now generates bcrypt hashes using the "$2y$" prefix, which should work
      properly with Apache 2.4?s htpasswd tool.
    - passlib.totp: The TOTP.to_uri() method now prepends the issuer to URI label,
      (per the KeyURI spec). This should fix some compatibility issues with
      older TOTP clients (issue 92)
    - Fixed error in argon2.parsehash() (issue 97)
    - unittests: crypt() unittests now account for linux systems running
      libxcrypt (such as recent Fedora releases)


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Update URL to https://foss.heptapod.net/python-libs/passlib
  - Add optional dependencies: Django, apache2-utils
  - Update %check to report skipped tests
  - Update to v0.7.4
    * updated tests to pass for Django 1.8 - 3.1
    * CryptContext will now throw UnknownHashError when it can't
      identify a hash provided to methods such as CryptContext.verify
      Previously it would throw a generic :exc:`ValueError`.
  - from v1.7.3
    * ldap_salted_sha512 LDAP "salted hash" support added for SHA-256
      and SHA-512
    * bcrypt: Fixed Python 3 OS native backend detection on BSD platforms
    * safe_crypt added support for crypt.crypt unexpectedly returning
      bytes under Python 3
    * safe_crypt added support for crypt.crypt throwing OSError
      which can happen as of Python 3.9
    * passlib.ext.django fixed lru_cache import for Django 3 compatibility
    * bcrypt_sha256 Internal algorithm has been changed to use HMAC-SHA256
      instead of plain SHA256
    * bcrypt OS native backend ("os_crypt") now raises the new
      PasswordValueError if password is provided as non-UTF8 bytes
    * lookup_hash's required=False kwd was modified to report unsupported
      hashes via the HashInfo.supported attribute; rather than letting
      ValueErrors through uncaught.
    * Various Python 3.9 compatibility fixes


author: Antonio Larrosa <alarrosa@suse.com>
changelog:
  - Use _multibuild to only have the test dependencies as
    buildrequires of the test build.
  - Have optional test dependencies (Django and scrypt) that are not
    available in SLE only be buildrequired in TW.


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Skip failing tests and ask upstream for investigation
    (https://foss.heptapod.net/python-libs/passlib/-/issues/135).


author: Matej Cepl <mcepl@suse.com>
changelog:
  - The disaster of falling tests (see previous record in this
    changelog for URL) just continues with test_02_handler_wrapper.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - update to version 16.4.0
    * #207: Added type hints and declare the library as typed.
  - Release 16.3.0
    * Require Python 3.7 or later.
    * #205: test_listdir_other_encoding now automatically skips
      itself on file systems where it's not appropriate.
  - Release 16.2.0
    * Deprecated passing bytes to write_text. Instead, users should
      call write_bytes.
  - Release 16.1.0
    * #204: Improved test coverage across the package to 99%, fixing
      bugs in uncovered code along the way.
  - Release 16.0.0
    * #200: TempDir context now cleans up unconditionally, even if an
      exception occurs.
  - Release 15.1.2
    * #199: Fixed broken link in README.
  - Release 15.1.1
    * Refreshed package metadata.
  - Release 15.1.0
    * Added ExtantPath and ExtantFile objects that raise errors when
      they reference a non-existent path or file.
  - Release 15.0.1
    * Refreshed package metadata.
  - Release 15.0.0
    * Removed __version__ property. To determine the version, use
      importlib.metadata.version('path').
  - Release 14.0.1
    * Fixed regression on Python 3.7 and earlier where lru_cache did
      not support a user function.
  - Release 14.0.0
    * Removed namebase property. Use stem instead.
    * Removed update parameter on method to Path.merge_tree. Instead,
      to only copy newer files, provide a wrapped copy function, as
      described in the doc string.
    * Removed FastPath. Just use Path.
    * Removed path.CaseInsensitivePattern. Instead use
      path.matchers.CaseInsensitive.
    * Removed path.tempdir. Use path.TempDir.
    * #154: Added Traversal class and support for customizing the
      behavior of a Path.walk.
  - Release 13.3.0
    * #186: Fix test failures on Python 3.8 on Windows by relying on
      realpath() instead of readlink().
    * #189: realpath() now honors symlinks on Python 3.7 and earlier,
      approximating the behavior found on Python 3.8.
    * #187: lines() no longer relies on the deprecated .text().


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 16.5.0
    * Refreshed packaging.
    [#197]: Fixed default argument rendering in docs.
    [#209]: Refactored write_lines to re-use open semantics. Deprecated the linesep parameter.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 16.9.0:
    * Features - Added Path.iterdir() and deprecated
      Path.listdir().
    * Use '.' as the default path.
    * Set stacklevel=2 in deprecation warning for .text.
    * Added .permissions attribute.
    * Require Python 3.8 or later.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 16.10.0:
    * Added .with_name and .with_stem.
    * Prefer .suffix to .ext and deprecate .ext.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 16.12.1:
    * Restore functionality in .isdir and .isfile.
    * Added .is_dir and .is_file for parity with pathlib.
      Deprecates .isdir and .isfile.
    * Inlined some types.
    * Fix iterdir - it also accepts match. Ref #220.
    * Add type annotation for iterdir.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 16.14.0:
    * Add .symlink_to and .hardlink_to.
    * Add .cwd method and deprecated .getcwd.
    * Create 'absolute' method and deprecate 'abspath'.
    * In readlink, prefer the display path to the substitute path.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.9.0:
    * Raise `GitWildMatchPatternError` for invalid git patterns.
    * Fix for duplicate leading double-asterisk, and edge cases.
    * Fix matching absolute paths.
    * API change: `util.normalize_files()` now returns a
      `Dict[str, List[pathlike]]` instead of a `Dict[str, pathlike]`.
    * Added type hinting.


author: Benoît Monin <benoit.monin@gmx.fr>
changelog:
  - update to 0.10.1:
    * Bug fixes:
      + Fix documentation on pathspec.pattern.RegexPattern.match_file().
      + Issue #60: Remove redundant wheel dep from pyproject.toml.
      + Issue #61: Dist failure for Fedora, CentOS, EPEL.
      + Issue #62: Since version 0.10.0 pure wildcard does not work
      in some cases.
    * Improvements:
      + Restore support for legacy installations using setup.py. See
      Issue #61.
  - additional changes from 0.10.0:
    * Major changes:
      + Dropped support of EOL Python 2.7, 3.5, 3.6. See Issue #47
      + The gitwildmatch pattern dir/* is now handled the same as
      dir/
      + Added pathspec.GitIgnoreSpec class (see new features)
      + Changed build system to pyproject.toml and build backend to
      setuptools.build_meta which may have unforeseen consequences
      + Renamed GitHub project from python-path-specification to
      python-pathspec. See Issue #35.
    * API changes:
      + Deprecated: pathspec.util.match_files() is an old function no
      longer used.
      + Deprecated: pathspec.match_files() is an old function no
      longer used.
      + Deprecated: pathspec.util.normalize_files() is no longer used
      + Deprecated: pathspec.util.iter_tree() is an alias for
      pathspec.util.iter_tree_files().
      + Deprecated: pathspec.iter_tree() is an alias for
      pathspec.util.iter_tree_files().
      + Deprecated: pathspec.pattern.Pattern.match() is no longer
      used. Use or implement pathspec.pattern.Pattern.match_file().
    * New features:
      + Added class pathspec.gitignore.GitIgnoreSpec (with alias
      pathspec.GitIgnoreSpec) to implement gitignore behavior not
      possible with standard PathSpec class
    * Bug fixes:
      + Issue #19: Files inside an ignored sub-directory are not
      matched.
      + Issue #41: Incorrectly (?) matches files inside directories
      that do match.
      + Issue #51: Refactor deprecated unittest aliases for Python
      3.11 compatibility.
      + Issue #53: Symlink pathspec_meta.py breaks Windows.
      + Issue #54: test_util.py uses os.symlink which can fail on
      Windows.
      + Issue #55: Backslashes at start of pattern not handled
      correctly.
      + Issue #56: pyproject.toml: include subpackages in setuptools
      config
      + Issue #57: ! doesn't exclude files in directories if the
      pattern doesn't have a trailing slash.
    * Improvements:
      + Support Python 3.10, 3.11.
      + Modernize code to Python 3.7.
      + Issue #52: match_files() is not a pure generator function,
      and it impacts tree_*() gravely.
  - add BuildRequires for python >= 3.7


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 0.10.2:
    Bug fixes:
    * Fix failing tests on Windows.
    * Type hint on root parameter on pathspec.pathspec.PathSpec.match_tree_entries().
    * Type hint on root parameter on pathspec.pathspec.PathSpec.match_tree_files().
    * Type hint on root parameter on pathspec.util.iter_tree_entries().
    * Type hint on root parameter on pathspec.util.iter_tree_files().
    * Issue #64: IndexError with my .gitignore file when trying to build a Python package.
    Improvements:
    * Issue #58: CI: add GitHub Actions test workflow.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 0.10.3
    * New features:
    Added utility function pathspec.util.append_dir_sep() to aid in distinguishing between directories and files on the file-system. See Issue #65.
    * Bug fixes:
    Issue #66/Pull #67: Package not marked as py.typed.
    Issue #68: Exports are considered private.
    Issue #70/Pull #71: 'Self' string literal type is Unknown in pyright.
    * Improvements:
    Issue #65: Checking directories via match_file() does not work on Path objects.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.11.1:
    * `Issue #74`_: Include directory should override exclude file.
    * `Pull #75`_: Fix partially unknown PathLike type.
    * Convert `os.PathLike` to a string properly using `os.fspath`.
    * Major changes:
    * Changed build backend to `flit_core.buildapi`_ from
      `setuptools.build_meta`_. Building with `setuptools` through
      `setup.py` is still supported for distributions that need it.
    * `Issue #72`_/`Pull #73`_: Please consider switching the
      build-system to flit_core to ease setuptools bootstrap.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.11.2:
    * `Issue #80`_: match_files with negated path spec.
      `pathspec.PathSpec.match_*()` now have a `negate` parameter
      to make using *.gitignore* logic easier and more efficient.
    * Add edge case: patterns that end with an escaped
      space
    * Negate with caret symbol as with the exclamation mark.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.12.1:
    * `Issue #84`_: PathSpec.match_file() returns None since
      0.12.0.
    * Major changes:
    * Dropped support of EOL Python 3.7. See `Pull #82`_.
    * API changes:
    * Signature of protected method
      `pathspec.pathspec.PathSpec._match_file()` (with a leading
      underscore) has been changed from `def _match_file(patterns:
      Iterable[Pattern], file: str) -> bool` to `def
      _match_file(patterns: Iterable[Tuple[int, Pattern]], file:
      str) -> Tuple[Optional[bool], Optional[int]]`.
    * Added `pathspec.pathspec.PathSpec.check_*()` methods. These
      methods behave similarly to `.match_*()` but return
      additional information in the `pathspec.util.CheckResult`
      objects (e.g., `CheckResult.index` indicates the index of the
      last pattern that matched the file).
    * Added `pathspec.pattern.RegexPattern.pattern` attribute which
      stores the original, uncompiled pattern.
    * Mark Python 3.12 as supported.
    * Improve test debugging.
    * Improve type hint on *on_error* parameter on
      `pathspec.pathspec.PathSpec.match_tree_entries()`.
    * Improve type hint on *on_error* parameter on
      `pathspec.util.iter_tree_entries()`.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Add patch stop-using-imp.patch:
    * Stop using imp module, switch to importlib.*
  - Use pyproject macros.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.11.1:
    * Run PBR integration on Ubuntu Focal too
    * Remove numpy dependencies
    * Tie recursion calls to Dist object, not module
    * Update tox.ini to work with tox 4


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 6.0.0:
    * build: Use kwargs
    * Add support for PEP-660
    * Fix PBR integration testing
    * Replace imp with importlib.machinery
    * Add release note for build\_sphinx removal
    * Use \_ instead of - in setup.cfg directives
    * Remove sphinx doc building integration


author: Antonio Larrosa <alarrosa@suse.com>
changelog:
  - version update to 1.4.0
    * pecan now requires webob >= 1.8
    * fixed a bug when parsing certain Accept headers
      (https://github.com/Pylons/webob/issues/403)
    * removed official support for Python 3.5
  - Rebase patch:
    * pecan-no-kajiki.patch
  - Add patches to support SQLAlchemy 1.4.x (gh#pecan/pecan#125)
    * 0001-Support-SQLAlchemy-1.4.x.patch
    * 0002-Fix-typo-from-bad-copy-paste.patch


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.4.1:
    * add support for Python 3.10
    * added trove classifiers for Python 3.6 - 3.9
    * fixed a bug related to setuptools as a dependency
    * fixed a bug that broke pecan when used with certain
    versions of SQLAlchemy
  - drop 0001-Support-SQLAlchemy-1.4.x.patch,
    0002-Fix-typo-from-bad-copy-paste.patch: obsolete (upstream)


author: Greg.Freemyer@gmail.com
changelog:
  - upgrade to v1.2.10-139
    * Merged path from ThreatGrid's Wesley Brown. Thanks!
    Summary: changed memory mapping usage,
    revamped to use bytearrays rather than list,
    complete rewrite of the checksum generation algorithm to be much more memory efficient,
    less susceptible to PE bomb attacks
    * Corrected some doctrings
    * Added WIndow 8 support
    * Added more subsystem types
    * Added Mandiant's ordlookup to resolve the names for some symbols
    * Better handling of the Rich Header
  - updated license to BSD-3-Clause
  - moved UserDB.txt to /usr/share/python-pefile
    * This is a PE file signature database.
    * It is available to callers of python-pefile,
    but the caller must explicitely point the USERDB variable at it.
  - Add force-version.patch because upstream depends on SCR checkout mechanism


author: toddrme2178@gmail.com
changelog:
  - Implement single-spec version
  - Update to version 2017.9.3
    * No changelog
  - Drop unneeded force_version.patch


author: Todd R <toddrme2178@gmail.com>
changelog:
  - Update to version 2018.8.8
    * Fixed tests
    * Fixed bug accessing warnings attribute from the PE object
    * Fix is_driver()'s behavior under Python 3.
    * Fix a bug attempting to handle an invalid string
    * Modified version information to handle multiple version
      information that may exist within a single file.
    * Prevent division by zero when pe.trim() returns no data


author: pgajdos@suse.com
changelog:
  - version update to 2019.4.18
    * speed up parsing of files with many ordinals or exports
    * other merged PRs and issues fixed since the last release


author: Greg Freemyer <Greg.Freemyer@gmail.com>
changelog:
  - update to version 2022.5.30
    * Merged pull request #344 from elicn/faster-reloc: Speed up relocation process
    * Merged pull request #175 from tdube/patch-1: Fix catch-all exception clause in parse_resources_directory
    * Turn data into a bytearray to avoid copying data around (from elicn)
    * Merged pull request #343 from mat-gas/master: various performances improvements (30-50% in certain workflows, 15-25% in average)
    * Merged pull request #340 from dinateper/feature/PEfile_context_manager: Update PE to allow with statements
    * Removed legacy Python 2 code
    * Miscellaneous other fixes.
  - add %define skip_python2 1


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2023.2.7:
    * accept dot in valid charset for name
    * Remove future from dependencies
    * Add machine types
    * Incorporate PEP 238 and PEP 3120
    * Generate GUID fields of CV_INFO_PDB70 readable by Python
    * Dynamic relocations support
    * Add Export Hash Method
    * Loosen export symbol validation


author: pgajdos@suse.com
changelog:
  - version update to 2.1.0
    Added
      Added better typing and PEP-561 compliance (#320).
      Added the is_anniversary() method as an alias of is_birthday() (#298).
    Changed
      Dropped support for Python 3.4.
      is_utc() will now return True for any datetime with an offset of 0, similar to the behavior in the 1.* versions (#295)
      Duration.in_words() will now return 0 milliseconds for empty durations.
    Fixed
      Fixed various issues with timezone transitions for some edge cases (#321, (#350)).
      Fixed out of bound detection for nth_of("month") (#357).
      Fixed an error where extra text was accepted in from_format() (#372).
      Fixed a recursion error when adding time to a DateTime with a fixed timezone (#431).
      Fixed errors where Period instances were not properly compared to other classes, especially timedelta instances (#427).
      Fixed deprecation warnings due to internal regexps (#427).
      Fixed an error where the test() helper would not unset the test instance when an exception was raised (#445).
      Fixed an error where the week_of_month attribute was not returning the correct value (#446).
      Fixed an error in the way the Z ISO-8601 UTC designator was not parsed as UTC (#448).


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Update to version 2.1.2
    * Added support for build scripts without the setup.py file
      generation in the editable builder (#2718).
    * Fixed an error occurring when using older lock files (#2717).
  - Changelog for version 2.1.1
    * Fixed errors where invalid timezones were matched in
      from_format() (#374).
    * Fixed errors when subtracting negative timedeltas (#419).
    * Fixed errors in total units computation for durations
      with years and months (#482).
    * Fixed an error where the fold attribute was overridden
      when using replace() (#414).
    * Fixed an error where now() was not returning the
      correct result on DST transitions (#483).
    * Fixed inconsistent typing annotation for the parse()
      function (#452).
    * Added the pl locale (#459).
  - Build the extensions
  - Kill dephell dependency
  - Disable python2 package (no python2-poetry-core in Leaps
    sr#842815)


author: Andreas Schwab <schwab@suse.de>
changelog:
  - Skip test_interrupt, test_multiple_interrupts, test_existing_spawn when
    running in QEmu linux-user emulation


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Skip REPLWrapTestCase.test_existing_spawn which seems to still
    fail on s390x (gh#pexpect/pexpect#750, bsc#1209560).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - add 31fab7b0edbe9b3401507b5dfa4db6aaf3fabca5.patch
    dae602d37493bae239e0e8db5b3dabafebfd59db.patch: python 3.12 compat


author: Daniel Garcia Moreno <daniel.garcia@suse.com>
changelog:
  - add 742.patch, gh#pexpect/pexpect#742 This makes it compatible with
    python3.12 gh#pexpect/pexpect#736#issuecomment-1427273882


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 4.9:
    * Add support for Python 3.12 #769.
    * Clean up temporary files after UnicodeTests #753.
    * Add Python 3.5, 3.6 and 3.12.0-rc.1 to test matrix #763.
    * Set prompt correctly for zsh #712.
    * Add zsh convenience function to replwrap module #751.
    * Rework async unittests to rely on
      unittest.IsolatedAsyncioTestCase #764.
    * Make test_expect.py work on POSIX systems that are not Linux
      based #698.
    * Add support for ``socket``, which allows sockets to be used
      crossplatform #745.
    * Update async to work on newer versions of python #732.
    * Remove deprecated RSAAuthentication option (SSHv1) #744.
    * Multiple CI fixes #743 #737 #742 #739 #722.
    * Use Github Actions for CI #734.
    * Remove pytest-capturelog from testing requirements #730.
    * Fix usage for Solaris #663 #604 #560.
    * Fix threading for new versions of python #684.
    * Fix documentation builds for use with Sphinx 3 #638.
    * Use ``sys.executable`` for tests and wrapper, allowing the
      calling python executable to be used instead #623.
    * Update documentation about Wexpect #623.
    * Added project urls to ``setup.py`` #620.
    * Provide examples for how to use Pexpect and Pyte #587.
    * Coerce compiled regex patterns type according to spawn
      encoding #560.
    * Several doc updates #626 #635 #643 #644 #728.
    drop 31fab7b0edbe9b3401507b5dfa4db6aaf3fabca5.patch,
      684.patch, 715.patch, 742.patch,
      dae602d37493bae239e0e8db5b3dabafebfd59db.patch,
      fix-fail-no-alias.patch, no-python-binary.patch: upstream


author: toddrme2178@gmail.com
changelog:
  - Implement single-spec version
  - Fix source URL
  - update to version 0.7.4:
    * Accept any str-able object for the root path
    * Convert test fixture tmpdir to string before creating
      PickleShareDB
    * Don't convert Py2 unicode path to str
  - update to version 0.7.3:
    * Fix environment marker
    * Include license and test files in sdists
    * Fix for multiple processes creating a folder
    * handle exception and keep Python 2 support
    * Remove unused import
  - update to version 0.7.2:
    * Fix environment marker
    * Fix error when db location does not already exist
    * Require pathlib2 on Python 3.3 as well
  - changes from version 0.7.0:
    * Update metadata
    * Fix environment marker
    * Update .travis.yml
    * Switch from path.py to pathlib
    * Add MIT license
    * Cleanup: Python 3 compatible example, remove .idea folder
    * Update setup.py classifiers
    * Enable 3.5 on travis
    * specify path.py version dependency
  - update to version 0.6:
    * Fix module import to work with the latest version
    * remove pkg.info
    * update main page URL


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Update to 23.1.2
    - Upgrade setuptools to 67.7.2
  - 23.1.1:
    - Revert #11487, as it causes issues with virtualenvs created by the
      Windows Store distribution of Python. (#11987)
    - Revert pkg_resources (via setuptools) back to 65.6.3
    - Update documentation to reflect the new behavior of using the
      cache of locally built wheels in hash-checking mode. (#11967)
  - 23.1:
    - Remove support for the deprecated --install-options. (#11358)
    - --no-binary does not imply setup.py install anymore. Instead a
      wheel will be built locally and installed. (#11451)
    - --no-binary does not disable the cache of locally built wheels
      anymore. It only means "don't download wheels". (#11453)
    - Deprecate --build-option and --global-option. Users are invited to
      switch to --config-settings. (#11859)
    - Using --config-settings with projects that don't have a
      pyproject.toml now prints a deprecation warning. In the future the
      presence of config settings will automatically enable the default
      build backend for legacy projects and pass the setttings to it.
      (#11915)
    - Remove setup.py install fallback when building a wheel failed for
      projects without pyproject.toml. (#8368)
    - When the wheel package is not installed, pip now uses the default
      build backend instead of setup.py install and setup.py develop for
      project without pyproject.toml. (#8559)
    - Specify egg-link location in assertion message when it does not
      match installed location to provide better error message for
      debugging. (#10476)
    - Present conflict information during installation after each choice
      that is rejected (pass -vv to pip install to show it) (#10937)
    - Display dependency chain on each Collecting/Processing log line.
      (#11169)
    - Support a per-requirement --config-settings option in requirements
      files. (#11325)
    - The --config-settings/-C option now supports using the same key
      multiple times. When the same key is specified multiple times, all
      values are passed to the build backend as a list, as opposed to
      the previous behavior, where pip would only pass the last value if
      the same key was used multiple times. (#11681)
    - Add -C as a short version of the --config-settings option.
      (#11786)
    - Reduce the number of resolver rounds, since backjumping makes the
      resolver more efficient in finding solutions. This also makes
      pathological cases fail quicker. (#11908)
    - Warn if --hash is used on a line without requirement in a
      requirements file. (#11935)
    - Stop propagating CLI --config-settings to the build dependencies.
      They already did not propagate to requirements provided in
      requirement files. To pass the same config settings to several
      requirements, users should provide the requirements as CLI
      arguments. (#11941)
    - Support wheel cache when using --require-hashes. (#5037)
    - Add --keyring-provider flag. See the Authentication page in the
      documentation for more info. (#8719)
    - In the case of virtual environments, configuration files are now
      also included from the base installation. (#9752)
    - Fix grammar by changing "A new release of pip available:" to "A
      new release of pip is available:" in the notice used for
      indicating that. (#11529)
    - Normalize paths before checking if installed scripts are on PATH.
      (#11719)
    - Correct the way to decide if keyring is available. (#11774)
    - More consistent resolution backtracking by removing legacy hack
      related to setuptools resolution (#11837)
    - Include AUTHORS.txt in pip's wheels. (#11882)
    - The uninstall and install --force-reinstall commands no longer
      call normalize_path() repeatedly on the same paths. Instead, these
      results are cached for the duration of an uninstall operation,
      resulting in improved performance, particularly on Windows.
      (#11889)
    - Fix and improve the parsing of hashes embedded in URL fragments.
      (#11936)
    - When package A depends on package B provided as a direct URL
      dependency including a hash embedded in the link, the
    - -require-hashes option did not warn when user supplied hashes
      were missing for package B. (#11938)
    - Correctly report requested_extras in the installation report when
      extras are specified for a local directory installation. (#11946)
    - When installing an archive from a direct URL or local file,
      populate download_info.info.hashes in the installation report, in
      addition to the legacy download_info.info.hash key. (#11948)
  - 23.0.1:
    - Change the hashes in the installation report to be a mapping. Emit
      the archive_info.hashes dictionary in direct_url.json. (#11312)
    - Implement logic to read the EXTERNALLY-MANAGED file as specified
      in PEP 668. This allows a downstream Python distributor to prevent
      users from using pip to modify the externally managed environment.
      (#11381)
    - Enable the use of keyring found on PATH. This allows keyring
      installed using pipx to be used by pip. (#11589)
    - The inspect and installation report formats are now declared
      stable, and their version has been bumped from 0 to 1. (#11757)
    - Wheel cache behavior is restored to match previous versions,
      allowing the cache to find existing entries. (#11527)
    - Use the "venv" scheme if available to obtain prefixed lib paths.
      (#11598)
    - Deprecated a historical ambiguity in how egg fragments in
      URL-style requirements are formatted and handled. egg fragments
      that do not look like PEP 508 names now produce a deprecation
      warning. (#11617)
    - Fix scripts path in isolated build environment on Debian. (#11623)
    - Make pip show show the editable location if package is editable
      (#11638)
    - Stop checking that wheel is present when build-system.requires is
      provided without build-system.build-backend as setuptools (which
      we still check for) will inject it anyway. (#11673)
    - Fix an issue when an already existing in-memory distribution would
      cause exceptions in pip install (#11704)


author: Martin Schreiner <martin.schreiner@suse.com>
changelog:
  - Upgrade to 23.2.1
    * Bug fixes
    - Disable PEP 658 metadata fetching with the legacy resolver.
  - Upgrade to 23.2
    * Process
    - Deprecate support for eggs for Python 3.11 or later, when the
      new importlib.metadata backend is used to load distribution
      metadata. This only affects the egg distribution format (with
      the .egg extension); distributions using the .egg-info metadata
      format (but are not actually eggs) are not affected. For more
      information about eggs, see relevant section in the setuptools
      documentation.
    * Deprecations and Removals
    - Deprecate legacy version and version specifiers that don?t
      conform to PEP 440
    - freeze no longer excludes the setuptools, distribute, and wheel
      from the output when running on Python 3.12 or later, where they
      are not included in a virtual environment by default. Use
    - -exclude if you wish to exclude any of these packages.
    * Features
    - make rejection messages slightly different between 1 and 8, so
      the user can make the difference.
    * Bug Fixes
    - Fix pip completion --zsh.
    - Prevent downloading files twice when PEP 658 metadata is present
    - Add permission check before configuration
    - Fix deprecation warnings in Python 3.12 for usage of
      shutil.rmtree
    - Ignore invalid or unreadable origin.json files in the cache of
      locally built wheels.
    - Fix installation of packages with PEP658 metadata using
      non-canonicalized names
    - Correctly parse dist-info-metadata values from JSON-format index
      data.
    - Fail with an error if the --python option is specified after the
      subcommand name.
    - Fix slowness when using importlib.metadata (the default way for
      pip to read metadata in Python 3.11+) and there is a large
      overlap between already installed and to-be-installed packages.
    - Pass the -r flag to mercurial to be explicit that a revision is
      passed and protect against hg options injection as part of VCS
      URLs. Users that do not have control on VCS URLs passed to pip
      are advised to upgrade.
    * Vendored Libraries
    - Upgrade certifi to 2023.5.7
    - Upgrade platformdirs to 3.8.1
    - Upgrade pygments to 2.15.1
    - Upgrade pyparsing to 3.1.0
    - Upgrade Requests to 2.31.0
    - Upgrade rich to 13.4.2
    - Upgrade setuptools to 68.0.0
    - Updated typing_extensions to 4.6.0
    - Upgrade typing_extensions to 4.7.1
    - Upgrade urllib3 to 1.26.16


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Finally drop csv23, it has been removed upstream since 2021.
  - Shift around sle15_python_module_pythons.


author: Matej Cepl <mcepl@cepl.eu>
changelog:
  - Update to 23.3.1:
    - Bug Fixes
    - Handle a timezone indicator of Z when parsing dates in the
      self check. (#12338)
    - Fix bug where installing the same package at the same time
      with multiple pip processes could fail. (#12361)
  - Update to 23.3:
    - Process
    - Added reference to vulnerability reporting guidelines to
      pip's security policy.
    - Features
    - Improve extras resolution for multiple constraints on same
      base package. (#11924)
    - Improve use of datastructures to make candidate selection
      1.6x faster. (#12204)
    - Allow pip install --dry-run to use platform and ABI
      overriding options. (#12215)
    - Add is_yanked boolean entry to the installation report
      (--report) to indicate whether the requirement was yanked
      from the index, but was still selected by pip conform to
      PEP 592. (#12224)
    - Bug Fixes
    - Ignore errors in temporary directory cleanup (show a
      warning instead). (#11394)
    - Normalize extras according to PEP 685 from package metadata
      in the resolver for comparison. This ensures extras are
      correctly compared and merged as long as the package
      providing the extra(s) is built with values normalized
      according to the standard. Note, however, that this
      does not solve cases where the package itself contains
      unnormalized extra values in the metadata. (#11649)
    - Prevent downloading sdists twice when PEP 658 metadata is
      present. (#11847)
    - Include all requested extras in the install report
      (--report). (#11924)
    - Removed uses of datetime.datetime.utcnow from non-vendored
      code. (#12005)
    - Consistently report whether a dependency comes from an
      extra. (#12095)
    - Fix completion script for zsh (#12166)
    - Fix improper handling of the new onexc argument of
      shutil.rmtree() in Python 3.12. (#12187)
    - Filter out yanked links from the available versions
      error message: "(from versions: 1.0, 2.0, 3.0)" will
      not contain yanked versions conform PEP 592. The yanked
      versions (if any) will be mentioned in a separate error
      message. (#12225)
    - Fix crash when the git version number contains something
      else than digits and dots. (#12280)
    - Use -r=... instead of -r ... to specify references with
      Mercurial. (#12306, CVE-2023-5752, bsc#1217353)
    - Redact password from URLs in some additional
      places. (#12350)
    - pip uses less memory when caching large packages. As a
      result, there is a new on-disk cache format stored in a new
      directory ($PIP_CACHE_DIR/http-v2). (#2984)
    - Vendored Libraries
    - Upgrade certifi to 2023.7.22
    - Add truststore 0.8.0
    - Upgrade urllib3 to 1.26.17
    - Improved Documentation
    - Document that pip search support has been removed from PyPI
      (#12059)
    - Clarify --prefer-binary in CLI and docs (#12122)
    - Document that using OS-provided Python can cause pip's test
      suite to report false failures. (#12334)
  - Adjust pip-shipped-requests-cabundle.patch.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.3.2:
    * Fix a bug in extras handling for link requirements (`#12372
    * Fix mercurial revision "parse error": use ``--rev={ref}``
      instead of ``-r={ref}`` (`#12373


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Drop deprecated setup.py installmethod, bootstrap PEP517 with
    built-in pip instead
  - python3XX-pip-wheel can now be a regular subpackage
  - Drop obsolete python2 directives in specfile


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 24.0:
    * Retry on HTTP status code 502
    * Automatically use the setuptools PEP 517 build backend when
    - -config-settings is used for projects without
      pyproject.toml.
    * Make pip freeze and pip uninstall of legacy editable installs
      of packages whose name contains _ compatible with
      setuptools>=69.0.3.
    * Support per requirement --config-settings for editable
      installs.
    * Optimized usage of --find-links=<path-to-dir>, by only
      scanning the relevant directory once, only considering file
      names that are valid wheel or sdist names, and only
      considering files in the directory that are related to the
      install.
    * Removed wheel from the [build-system].requires list fallback
      that is used when pyproject.toml is absent.
    * Upgrade distlib to 0.3.8
    * Fix explanation of how PIP_CONFIG_FILE works
    * Fix outdated pip install argument description in
      documentation.
    * Replace some links to PEPs with links to the canonical
      specifications on the :doc:`pypug:index`
    * Updated the pyproject.toml document to stop suggesting to
      depend on wheel as a build dependency directly.
    * Update supported interpreters in development docs
    * Most project metadata is now defined statically via pip's
      pyproject.toml file.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Initial specfile for v8.8.1
  - Required by setuptools 63 test suite
  - Tests use wheels for path and path.py for testing -- not packaged


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Add pip-run-suse-ring1-no-nbformat.patch for removal of nbformat
    from Ring1 (pip-run will be in Ring1 for setuptools:test)


author: arun@gmx.de
changelog:
  - specfile:
    * update copyright year
  - update to version 1.3.1:
    * Fix compatibility problems with Python 2.6
  - changes from version 1.3.0:
    * Add variables() API to query defined variables
    * Disable Python 3.2 and enable Python 3.5 and 3.6 tests
    * Fix #16: handle spaces of values in .pc files correctly


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Remove unnecessary bcond tests
  - Add missing test dependency pkgconfig
  - Fix the test suite which was running 0 tests


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - update to 1.5.1
    * Use poetry instead of setuptools directly
    * Fix #42: raise exception if package is missing
    * Fix version parsing for openssl-like version numbers, fixes #32
    * Add boolean static keyword to output private libraries as well
    * Raise original OSError as well
  - Do not launch tests (https://github.com/matze/pkgconfig/issues/45)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.5.5:
    * drop python 2.x support
    * Added Support for Linux On Power
    * Document configure_extension in README.
    * test_configure_extension: sorted expected


author: pgajdos@suse.com
changelog:
  - version update to 1.5.0.1
    * Fix broken 'sdist'. LP #1639585.
    * Fix 'console_scripts' entry point syntax. LP #1810734.
    * Add support for JSON output from the CLI.
    * Add support for installed wheels.  E.g., 'dist-info/' dirs.
    * Add support for Python 3.6 and 3.7.
    * Drop support for Python 3.3.


author: Elisei Roca <eroca@suse.com>
changelog:
  - Update to version 1.9.6
      1.9.6 (2023-01-08)
    - -----------------
    - Fix various typos in docs / docstrings.  LP #2002232.
      1.9.5 (2023-01-06)
    - -----------------
    - Add stricter typing checks, matching those used in 'twine'.
    - Fix typing errors / gaps reported from 'twine' CI failure.  LP #2002104.
      1.9.4 (2023-01-05)
    - -----------------
    - Fix packaging of stub file for Python typing support.
      1.9.3 (2023-01-03)
    - -----------------
    - Added stub files for Python typing support;  verify using 'mypy'. LP #1876591.
      1.9.2 (2022-11-29)
    - -----------------
    - Drop "universal" wheel support (should be redundant with
      'python_requires >= 3.6', but just in case).  LP #1998258.
      1.9.1 (2022-11-29)
    - -----------------
    - Restore a deprecated alias for the '_must_decode' helper function, moved
      from 'pkginfo._compat.must_decode' to 'pkginfo.distribution._must_decode'
      in 1.90.
    - Repair unit tests broken by dropping Python 2.7 classifier.
      1.9.0 (2022-11-29)
    - -----------------
    - Drop support for Python 2.7.
    - Switch to use 'pytest' vs. 'nose', which doesn't support Python > 3.9.
      1.8.3 (2022-06-08)
    - -----------------
    - Specify supported Python versions in 'setup.py' using 'python_requires'.
      LP #1977981.
      1.8.2 (2021-12-01)
    - -----------------
    - Add fix for installed distributions with '__package__' set to an empty
      string. LP #1952946.
      1.8.1 (2021-11-19)
    - -----------------
    - Add 'MANIFEST.in' to ensure example files used by tests are included
      in source distributions.  LP #1951553.
      1.8.0 (2021-11-18)
    - -----------------
    - Support new standard metadata location for installed dists. LP #1865286.
    - Don't overwrite header-based 'description' with empty payload. LP #1885458.
    - Add support for Metadata-Version 2.2. LP #1928729.
    - Add support for uncompressed tarballs for sdists.  LP #1951457.
    - Add support for Python 3.10.
      1.7.1 (2021-07-09)
    - -----------------
    - Use Python3 to build docs, and fix doctest examples to use Python3-
      compatible syntax.  LP #1933322.
      1.7.0 (2021-01-16)
    - -----------------
    - Add support for Python 3.9.
    - Drop support for Python 3.5.
      1.6.1 (2020-10-26)
    - -----------------
    - Adjust test classifiers to match supported Python versions. LP #1901127.
      1.6.0 (2020-10-20)
    - -----------------
    - Add support for Python 3.8.
      LP #1869854.
    - Drop support for Python 3.4.
    - Update tests to match setuptools' change, no longer reporting metadata
      version for installed packages w/o explicit metadata.  LP #1870197.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.10.0:
    * Add support for Python 3.11 and 3.12.
    * Drop support for Python 3.6.
    * Declare explicit testing dependency on 'wheel'.
    * Add support for Metadata 2.3.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.11.0:
    * Add support for Python 3.13.
    * Drop support for Python 3.7.
    * Emit warnings for distributions parsed with unknown metadata
      versions, or metadata versions newer than highest supported
      version.
    * Improve exception message when failing to find a valid 'PKG-
      INFO' file within an 'sdist' archive.  LP #2064652.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.11.1:
    * Updated typing stubs, adding additionaly checks to 'tox -e
      mypy' to verify that they don't drift in the future.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.5.2:
    * Move packaging to hatchling from setuptools
    * Treat android shells as unix
  - Disable building the docs.
    * It's the only package in Ring1 pulling in
      python-sphinx-autodoc-typehints and thus python-nptyping and
      python-beartype. Avoid it. The online docs should be enough
      nowadays.
    * Drop no-furo.patch


author: Andreas Prittwitz <m4ng4n@gmx.de>
changelog:
  - update to 3.2.0
    * Remove reference to missing CHANGES.rst in %doc section
    * Rename %license reference to LICENSE
    * Add pyproject-fmt by @gaborbernat in #150
    * Bump deps and tools by @gaborbernat in #149
    * Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1 by
      @dependabot in #151
    * Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1 by
      @dependabot in #153
    * Bump deps and tools by @gaborbernat in #154
    * Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 by
      @dependabot in #156
    * Add option to create directories by @smsearcy in #155
  - changes in 3.1.1
    * site_cache_dir: use /var/tmp instead of /var/cache on unix by
      @efiop in #148
  - changes in 3.1.0
    * rst: fix backtics by @efiop in #146
    * platformdirs: introduce site_cache_dir by @efiop in #145
  - changes in 3.0.1
    * pyproject.toml: add appdirs keyword by @efiop in #144
  - changes in 3.0.0
    * Fix CI by @gaborbernat in #125
    * Use the correct project name in documentation by @pradyunsg in
      [#131]
    * Fix CI by @gaborbernat in #138
    * Fix macos user_site_dir by @ThomasWaldmann in #137
  - changes in 2.6.2
    * Add typing-extensions as dependency when python_version < 3.8
      by @amacf in #123
  - changes in 2.6.1
    * Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4 by
      @dependabot in #116
    * Fix the CI, bump tools by @gaborbernat in #119
    * Coverage reporting fixes by @nedbat in #121
    * Fix #114 by @Freed-Wu in #115
  - changes in 2.6.0
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #107
    * Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.5.2 by
      @dependabot in #111
    * Bump pypa/gh-action-pypi-publish from 1.5.2 to 1.6.1 by
      @dependabot in #113
    * Change user_log_dir to point to user_state_dir on Linux per the
      XDG spec by @lordwelch in #108
  - changes in 2.5.4
    * Update check.yml
  - changes in 2.5.3
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #80
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #82
    * Bump pre-commit/action from 2.0.3 to 3.0.0 by @dependabot in
      [#87]
    * Bump actions/upload-artifact from 2 to 3 by @dependabot in #86
    * Bump actions/download-artifact from 2 to 3 by @dependabot in
      [#85]
    * Bump actions/setup-python from 2 to 4 by @dependabot in #84
    * Bump actions/checkout from 2 to 3 by @dependabot in #83
    * Docs: platformdirs is a package by @chanicpanic in #88
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #89
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #91
    * Check 3.11 support by @gaborbernat in #92
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #93
    * Bump tools by @gaborbernat in #94
    * Bump dependencies by @gaborbernat in #95
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #96
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #99
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #100
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #101
    * [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in #102
    * Declare support for Python 3.11 by @hugovk in #103


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.5.1:
    * Add 3.12 support
    * Add tox.ini to sdist
    * removing Windows versions
    * Better handling for UNIX support
    * platformdirs: introduce `user_music_dir()`
    * platformdirs: introduce `user_videos_dir()`
    * Adding platformdirs.PlatformDirs to docs
    * Fix linter failures
    * Exclude bots from generated release notes
    * platformdirs: introduce `user_pictures_dir()`


author: ecsos <ecsos@opensuse.org>
changelog:
  - Update to 3.11.0
    - README: Fix CI badge in #222
    - Fix documentation build in #225
    - Add support for Homebrew-installed software in #232
  - Changes from 3.10.0
    - Fix docs build failure in #210
    - platformdirs: introduce site_runtime_dir in #212
  - Changes from 3.9.1
    - unix: Optionally create the opinionated log/ in user_log_dir()
      in #208
  - Changes from 3.9.0
    - Added desktop folder in #200
  - Changes from 3.8.1
    - BSD: provide a fallback for user_runtime_dir in #201
  - Changes from 3.8.0
    - Add missing user media directory docs in #195
  - Changes from 3.7.0
    - Have user_runtime_dir return /var/run/user/uid for *BSD in #194
  - Changes from 3.6.0
    - platformdirs: introduce user_downloads_dir() in #192
  - Changes from 3.5.3
    - https://github.com/platformdirs/platformdirs/compare/3.5.2...3.5.3
  - Changes from 3.5.2
    - git ls-files -z -- .github/workflows/check.yml | xargs -0
      sed -i 's|3.12.0-alpha.7|3.12.0-beta.1|g' in #187
    - Use ruff in #189


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 4.1.0:
    * docs: fix Linux user_log_dir example in README
    * Drop support for EOL Python 3.7
  - update to 4.0.0:
    * site_cache_dir: Use `/var/cache` again instead of `/var/tmp`
      on UNIX


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 4.2.0:
    * Fix 2 typos about XDG_DATA_DIR
    * Add convenience methods to `PlatformDirsAPI` that allow
      iterating over both user and site dirs/paths.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 4.2.1:
    * Switch to ruff for formatting and use codespell and
      docformatter
    * Use hatch over tox
    * Allow working without ctypes


author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
changelog:
  - importlib-metadata is only a runtime requirement (in accordance
    with setup.py), remove it from BuildRequires.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to version 1.0.0
    Deprecations and Removals
    * #116: Remove deprecated implprefix support. Decorate hook
      implementations using an instance of HookimplMarker instead.
      The deprecation was announced in release 0.7.0.
    * #120: Remove the deprecated proc argument to call_historic. Use
      result_callback instead, which has the same behavior. The
      deprecation was announced in release 0.7.0.
    * #265: Remove the _Result.result property. Use
      _Result.get_result() instead. Note that unlike result,
      get_result() raises the exception if the hook raised. The
      deprecation was announced in release 0.6.0.
    * #267: Remove official support for Python 3.4.
    * #272: Dropped support for Python 2. Continue to use pluggy
      0.13.x for Python 2 support.
    * #308: Remove official support for Python 3.5.
    * #313: The internal pluggy.callers, pluggy.manager and
      pluggy.hooks are now explicitly marked private by a _ prefix
      (e.g. pluggy._callers). Only API exported by the top-level
      pluggy module is considered public.
    * #59: Remove legacy __multicall__ recursive hook calling system.
      The deprecation was announced in release 0.5.0.
    Features
    * #282: When registering a hookimpl which is declared as
      hookwrapper=True but whose function is not a generator
      function, a PluggyValidationError exception is now raised.
    * #309: Add official support for Python 3.9.
    * #251: Add specname option to @hookimpl. If specname is
      provided, it will be used instead of the function name when
      matching this hook implementation to a hook specification
      during registration (allowing a plugin to register a hook
      implementation that was not named the same thing as the
      corresponding @hookspec).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.3.0:
    * Python 3.7 is no longer supported.
    * Pluggy now exposes its typings to static type checkers.
    * Some fields and classes are marked ``Final`` and ``@final``.
    * The :ref:`api-reference` is updated to clearly delineate
      pluggy's public API.
      Compatibility aliases are put in place for the renamed types.
      Please note that pluggy is currently unable to provide strong
      typing for hook calls, e.g. ``pm.hook.my_hook(...)``,
      nor to statically check that a hook implementation matches
      the hook specification's type.
    * The new-style hook wrappers, added in the yanked 1.1.0
      release, now require an explicit ``wrapper=True`` designation
      in the ``@hookimpl()`` decorator.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.4.0:
    * A warning :class:`~pluggy.PluggyTeardownRaisedWarning`
      is now issued when an old-style hookwrapper raises an
      exception during teardown. See the warning documentation for
      more details.
    * Add :func:`PluginManager.unblock
      <pluggy.PluginManager.unblock>` method to unblock a plugin by
      plugin name.
    * Fix :func:`~pluggy.HookCaller.call_extra()` extra
      methods getting ordered before everything else in some
      circumstances. Regressed in pluggy 1.1.0.
    * Fix plugins registering other plugins in a hook when
      the other plugins implement the same hook itself. Regressed
      in pluggy 1.1.0.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Revert to 1.3.0
    * Pytest 7 is not compatible with pluggy 1.4 but many packages
      are not compatible with pytest 8 yet


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 1.5.0:
    * Features
      + Add support for deprecating specific hook parameters, or more
      generally, for issuing a warning whenever a hook implementation
      requests certain parameters.
      + A warning ~pluggy.PluggyTeardownRaisedWarning is now issued when an
      old-style hookwrapper raises an exception during teardown.
      + Add PluginManager.unblock <pluggy.PluginManager.unblock> method to
      unblock a plugin by plugin name.
    * Bug Fixes
      + PluginManager.get_plugins() no longer returns None for blocked plugins.
      + Fix ~pluggy.HookCaller.call_extra() extra methods getting ordered
      before everything else in some circumstances. Regressed in pluggy 1.1.0.
      + Fix plugins registering other plugins in a hook when the other plugins
      implement the same hook itself. Regressed in pluggy 1.1.0.
  - Switch to pyproject macros.


author: tbechtold@suse.com
changelog:
  - update to 3.9:
    * Exposed the parser state number as the parser.state attribute
      in productions and error functions.
    * Fixed Issue #88. Python3 compatibility with ply/cpp.
    * Fixed Issue #93. Ply can crash if SyntaxError is raised inside
      a production.   Not actually sure if the original implementation
      worked as documented at all.  Yacc has been modified to follow
      the spec as outlined in the CHANGES noted for 11/27/07 below.
    * Fixed Issue #97. Failure with code validation when the original
      source files aren't present.   Validation step now ignores
      the missing file.
    * Minor fixes to version numbers.


author: rjschwei@suse.com
changelog:
  - Switch to single-spec build
  - Update to 3.10
    * Changed grammar signature computation to not involve hashing
      functions. Parts are just combined into a big string.


author: toddrme2178@gmail.com
changelog:
  - Update to 3.11
    * Fixed some minor bugs related to re flags and token order.
    * Added a set_lexpos() method to grammar symbols.  Github issue #148.
    * Mostly minor bug fixes and small code cleanups.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Add patch fix-assert-methods.patch:
    * Support Python 3.12 by not using removed assertion methods.
  - Switch to autosetup and pyproject macros.
  - Stop using greedy globs in %files.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.5.2
    * no changes relevant for Linux
  - Release 1.5.1
    * Improve performance by caching parsed markers, constraints and
      versions (#556).
  - Release 1.5.0
    [#]# Added
    * Improve marker handling (#528, #534, #530, #546, #547).
    * Allow overriding the output directory when building dist files
      (#527).
    * Validate whether dependencies referenced in extras are defined
      in the main dependency group (#542).
    * Improve handling of generic constraints (#515).
    [#]# Changed
    * Deprecate the hash function of FileDependency (#535).
    * Do not set allows_preleases implicitly anymore if the lower
      bound of a constraint is a pre-release (#543).
    * Poetry no longer generates a setup.py file in sdists by default
      (#318).
    * Remove the unused platform attribute from Package (#548).
    * Deprecate the pretty_version parameter when creating a Package
      (#549).
    * Validate path dependencies during use instead of during
      construction (#520).
    [#]# Fixed
    * Fix an issue where the PEP 517 metadata_directory was not
      respected when building an editable wheel (#537).
    * Fix an issue where trailing newlines were allowed in
      tool.poetry.description (#505).
    * Fix an issue where the name of the data folder in wheels was
      not normalized (#532).
    * Fix an issue where the order of entries in the RECORD file was
      not deterministic (#545).
    * Fix an issue where parsing of VCS URLs with escaped characters
      failed (#524).
    * Fix an issue where the subdirectory parameter of VCS URLs was
      not respected (#518).
    * Fix an issue where zero padding was not correctly handled in
      version comparisons (#540).
    * Fix an issue where sdist builds did not support multiple
      READMEs (#486).
  - Remove devendoring: produces too many build dependency cycles as
    a build backend


author: Dan ?ermák <dcermak@suse.com>
changelog:
  - New upstream release 1.6.0
    * Improve error message for invalid markers (#569).
    * Increase robustness when deleting temporary directories on
      Windows (#460).
    * Replace tomlkit with tomli, which changes the interface of some
      internal classes (#483).
    * Deprecate Package.category (#561).
    * Fix a performance regression in marker handling (#568).
    * Fix an issue where wildcard version constraints were not
      handled correctly (#402).
    * Fix an issue where poetry build created duplicate Python
      classifiers if they were specified manually (#578).
    * Fix an issue where local versions where not handled correctly
      (#579).


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.6.1
    * Fix an endless recursion in marker handling (#593).
    * Fix an issue where the wheel tag was not built correctly under
      certain circumstances (#591).
    * Fix an issue where the tests included in the sdist failed due
      to missing files (#589).


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.7.0
    [#]# Added
    * Optionally use resolved references when converting a VCS
      dependency to a PEP 508 dependency specification (#603).
    * Improve performance of marker handling (#609).
    [#]# Changed
    * Drop support for Python 3.7 (#566).
    * Remove deprecated poetry.core.constraints.generic and
      poetry.core.semver (#601).
    * Allow | as a value separator in markers with the operators in
      and not in (#608).
    * Put pretty name (instead of normalized name) in metadata
      (#620).
    * Update list of supported licenses (#623).
    [#]# Fixed
    * Fix an issue where the encoding was not handled correctly when
      calling a subprocess (#602).
    * Fix an issue where caret constraints with additional whitespace
      could not be parsed (#606).
    * Fix an issue where PEP 508 dependency specifications with names
      starting with a digit could not be parsed (#607).
    * Fix an issue where Poetry considered an unrelated .gitignore
      file resulting in an empty wheel (#611).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.8.1:
    * Fix an issue where git URLs starting with `git+` could not be
      parsed anymore (#657).
    * Add `3.12` to the list of available Python versions (#631).
    * Add support for creating packages dynamically in the build
      script
    * Improve marker logic for `extra` markers (#636).
    * Update list of supported licenses (#635,
    * #646).
    * Deprecate `Dependency.transitive_python_versions` (#648).
    * Deprecate `Dependency.transitive_python_constraint` (#649).
    * Fix an issue where projects with extension modules were not
      installed in editable mode (#633).
    * Fix an issue where the wrong or no `lib` folder was added to
      the wheel (#634).
    * Replace `jsonschema` with `fastjsonschema`.
    * `lark==1.1.8`
    * `packaging==23.2`


author: Matej Cepl <mcepl@cepl.eu>
changelog:
  - Update to 1.9.0 (bsc#1221705):
    - Added
    - Add a to key in tool.poetry.packages to allow custom
      subpackage names
    - Add support for path dependencies that do not define a
      build system
    - Add a tool.poetry.package-mode key to support non-package
      mode
    - Changed
    - Update list of supported licenses
    - Improve support for PEP 691 JSON-based Simple API
    - Establish zipapp compatibility
    - Rework list of files included in build artifacts
    - Improve performance by treating collections in packages as
      immutable
    - Deprecate poetry.core.masonry.builder
    - Deprecate scripts that depend on extras
    - Fixed
    - Fix an issue where insignificant errors were printed if the
      working directory is not inside a git repository
    - Fix an issue where the project's directory was not
      recognized as git repository on Windows due to an encoding
      issue
    - Vendoring
      fastjsonschema==2.19.1
      lark==1.1.8


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 1.7.0:
    * Bug fixes:
      + Make archive extraction always take members into account
      + Figshare downloaders fetch the correct version, instead of always
      the latest one.
      + Fix bug when unpacking an entire subfolder from an archive.
      + Add a pytest mark for tests accessing the network so that they can
      be easily excluded when testing offline
    * Enhancements:
      + Add support for Python 3.10
      + Point to the user's code for the file_hash warning
    * New features:
      + Allow spaces in filenames in registry files
      + Refactor Pooch.is_available to use downloaders
      + Add support for downloading files from Dataverse DOIs
      + Add a new Pooch.load_registry_from_doi method that populates the Pooch
      registry using DOI-based data repositories
      + Support urls for Zenodo repositories created through the GitHub
      integration service
      + Automatically add a trailing slash to base_url on pooch.create
    * Maintenance:
      + Replace versioneer with setuptools-scm
      + Drop support for Python 3.6
      + Port from deprecated appdirs to platformdirs
  - Switch to pyproject macros


author: pgajdos@suse.com
changelog:
  - version update to 1.0.0
    * fix(aiohttp): use latest version, allow Python 3.5+ for async http client
  - drop python2 support, python-aiohttp required


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 1.0.2:
    * fix(urllib3): interceptor is never really disabled (#68)
    * Closes #75 Re consider @fluent decorator (#76)
    * fix(#69): use match keyword in pytest.raises
    * fix(History): invalid rst syntax
    * fix(aiohttp): compatible with non aiohttp projects (#67)
    * feat(History): add release changes
  - Drop pytest5.patch, no longer required.
  - Drop nose BuildRequires, and its suite, the remainder covers it.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Add py311-compat.patch to fix python-3.11 compatibility
  - Update to 1.1.0:
    * chore(version): bump minor v1.1.0
    * Switch to Python >= 3.5 and fix latest aiohttp compatability (#83)
    * fix: remove print call (#81)


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove py311-compat.patch, not needed anymore
  - Update to 1.1.1:
    * Fix Py3.11 compatibility (#85)


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 2.3:
    * Fix README rendering.
    * Merge with skeleton, including embedded license file.
    * #1: Removed portend._getaddrinfo and its usage in Checker.assert_free.
    * #5: Restored use of portend.client_host during assert_free check on Windows, fixing check when the bind address is *ADDR_ANY.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 2.4:
    * find_available_local_port now relies on socket.getaddrinfo to
      find a suitable address family.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version v3.1.0
    Require Python 3.7 or later.
  - Update to version v3.0.0
    Removed legacy aliases wait_for_occupied_port and wait_for_free_port.
  - Update to version v2.7.2
    Packaging refresh.
  - Update to version v2.7.1
    [#14]: Fix host/port order.
  - Update to version v2.7.0
    Refresh package. Require Python 3.6 or later.


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Activate test suite
  - Update to v1.0.9
    * Make 'stub' object callable
    * Build and doc enhancements


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 3.2.0
    * Drop support for EOL Python 3.6 (#152) @hugovk
    * Use <caption> tags to print html table titles (#160) @daibhid
    * Add colorful tables and themes (#140) @BD103
    * Convert None to empty cell or custom value (#164) @av-guy
    * Resolve "KeyError" issue on _stringify_row (#167)
      @michal-jagiello-tmpl
    * Use concrete built-in exceptions instead of Exception base
      class (#169) @hugovk
    * Fix width for custom none_format (#174) @av-guy
    * Enforce max widths for field names (#171) @OlafvdSpek


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.3.0:
    * Support Python 3.11
    * Add flag to preserve internal borders when border=False
    * Alignment timing fix (#179) @myheroyuki


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Update to v3.5.0
    * Add py.typed and update setup.cfg
    * Add type hints from typeshed
    * Convert from setuptools to hatchling


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Update to 3.7.0:
    * Add horizontal lines to create sections within a table (#185) @myheroyuki
    * Declare support for Python 3.12 (#231) @hugovk
    * Rename licence file for detection by GitHub (#229) @hugovk
    * Rename master to main (#228) @hugovk
  - 3.6.0:
    * Updated pre-commit with mypy (#218) @phershbe
    * Test Python 3.12 pre-releases (#221) @hugovk
    * Fix to min_table_width parameter (#219) @kzwolenik95
    * Widen tables with long titles (#216) @etjones


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.8.0:
    * Add `get_formatted_string()` convenience function (#241)
    * Drop support for EOL Python 3.7 (#245)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.1.2:
    * Fixed another regression caused by the ``universal_newlines`` for
      Windows.
    * Fixed regression caused by the ``universal_newlines`` (now the internals
      don't decode strings).
    * Applied the cookiecutter-pylibrary templates.
    * ``TestProcess`` will use ``universal_newlines`` by default for the
      contained ``subprocess.Popen`` to make sure line buffering is actually
    used. This also fixes warnings on Python 3.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.0.0:
    * Dropped Python 2 support.
    * Added an optional non-pipe TestProcess mode. You can use file
      objects for processes that are too verbose for a pipe.
    * Added some tests.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 3.0.31: 2022-09-02
    New features:
    - Pass through `name` property in `TextArea` widget to `Buffer`.
    - Added a `enable_cpr` parameter to `Vt100_Output`, `TelnetServer` and
    `PromptToolkitSSHServer`, to completely disable CPR support instead of
    automatically detecting it.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 3.0.32:
    Bug fixes:
    - Use `DummyInput` by default in `create_input()` if `sys.stdin` does not have
    a valid file descriptor. This fixes errors when `sys.stdin` is patched in
    certain situations.
    - Fix control-c key binding for `ProgressBar` when the progress bar was not
    created from the main thread. The current code would try to kill the main
    thread when control-c was pressed.
    New features:
    - Accept a `cancel_callback` in `ProgressBar` to specify the cancellation
    behavior for when `control-c` is pressed.
    - Small performance improvement in the renderer.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 3.0.33:
    Fixes:
    - Improve termination of `Application`. Don't suppress `CancelledError`. This
    fixes a race condition when an `Application` gets cancelled while we're
    waiting for the background tasks to complete.
    - Fixed typehint for `OneStyleAndTextTuple`.
    - Small bugfix in `CombinedRegistry`. Fixed missing `@property`.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 3.0.36
    * Fixes:
    - Another Python 3.6 fix for a bug that was introduced in 3.0.34.
  - Update to version 3.0.35
    Fixes:
    - Fix bug introduced in 3.0.34 for Python 3.6. Use asynccontextmanager
    implementation from prompt_toolkit itself.
  - Update to version 3.0.34
    Fixes:
    - Improve completion performance in various places.
    - Improve renderer performance.
    - Handle `KeyboardInterrupt` when the stacktrace of an unhandled error is
    displayed.
    - Use correct event loop in `Application.create_background_task()`.
    - Fix `show_cursor` attribute in `ScrollablePane`.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 3.0.38
    * Fix regression in filters. (Use of `WeakValueDictionary` caused
      filters to not be cached).
  - Release 3.0.37 Bug fixes:
    * Fix `currentThread()` deprecation warning.
    * Fix memory leak in filters.
    * Make VERSION tuple numeric.
    * Add `.run()` method in `TelnetServer`. (To be used instead of
      `.start()/.stop()`.
    [#]# Breaking changes:
    * Subclasses of `Filter` have to call `super()` in their
      `__init__`.
    * Drop support for Python 3.6:
    - This includes code cleanup for Python 3.6 compatibility.
    - Use `get_running_loop()` instead of `get_event_loop()`.
    - Use `asyncio.run()` instead of
      `asyncio.run_until_complete()`.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  -  Update to 3.0.41 (bsc#1217693):
    - Fix regression regarding IPython input hook (%gui) integration.
  - 3.0.40
    * Fixes:
    - Improved Python 3.12 support (fixes event loop `DeprecationWarning`).
    * New features:
    - Vi key bindings: `control-t` and `control-d` for indent/unindent
      in insert mode.
    - Insert partial suggestion when `control+right` is pressed,
      similar to Fish.
    - Use sphinx-nefertiti theme for the docs.
  - 3.0.39
    * Fixes:
    - Fix `RuntimeError` when `__breakpointhook__` is called from
      another thread.
    - Fix memory leak in filters usage.
    - Ensure that key bindings are handled in the right context (when
      using contextvars).
    * New features:
    - Accept `in_thread` keyword in `prompt_toolkit.shortcuts.prompt()`.
    - Support the `NO_COLOR` environment variable.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.0.43:
    * Fix regression on Pypy: Don't use `ctypes.pythonapi` to
      restore SIGINT if not available.
    * Make `formatted_text.split_lines()` accept an iterable
      instead of lists only.
    * Disable the IPython workaround (from 3.0.41) for IPython >=
      8.18.
    * Restore signal.SIGINT handler between prompts.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.0.46:
    * Fix pytest capsys fixture compatibility.
    * Improve performance of `GrammarCompleter` (faster
      deduplication of completions).
    * Accept `os.PathLike` in `FileHistory` (typing fix).
    * Fix memory leak in filters.
    * Improve performance of progress bar formatters.
    * Fix compatibility when a SIGINT handler is installed by non-
      Python (Rust, C).
    * Limit number of completions in buffer to 10k by default (for
      performance).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.9.5:
    * in case of exception, display a cleaner error
      traceback by hiding the `KeyError` bit deriving from a
      missed cache hit.
    * print the full traceback when a `DeprecationWarning`
      or `UserWarning` is raised.
    * there are cases where `Process.cwd()`_ cannot be
      determined (e.g. directory no longer exists), in which case
      we returned either ``None`` or an empty string.
      This was consolidated and we now return ``""`` on all
      platforms.
    * [UNIX]: if process is a zombie, and we can only
      determine part of the its truncated `Process.name()`_
      (15 chars), don't fail with `ZombieProcess`_ when we try
      to guess the full name from the `Process.cmdline()`_. Just
      return the truncated name.
    * on certain kernels, ``"MemAvailable"`` field
      from ``/proc/meminfo`` returns ``0`` (possibly a kernel bug), in
      which case we calculate an approximation for ``available``
      memory which matches "free" CLI utility.
    * `disk_partitions()`_: do not unnecessarily
      read /proc/filesystems and raise `AccessDenied`_ unless user
      specified `all=False` argument.
    * `users()`_ loses precision for ``started``
      attribute (off by 1 minute).
    * if cwd no longer exists. Return an empty string instead.


author: Alberto Planas Dominguez <aplanas@suse.com>
changelog:
  - Add logind_y2038.patch to use logind if systemd >= 254 is used, to
    fix the issue of ut_tv.tv_sec and the Y2038 problem.


author: Dominique Leuenberger <dimstar@opensuse.org>
changelog:
  - BuildRequire /usr/bin/who: called by the test suite. With
    coreutils 9.4 'who' is no longer part of the main package but is
    shipped as part of coreutils-systemd.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Require /usr/bin/who only for suse_version > 1500: 15.X does not
    provide it, but has it in coreutils.
  - PEP517
  - Clean up specfile from obsolete python2 stuff


author: Benoît Monin <benoit.monin@gmx.fr>
changelog:
  - update to version 5.9.6:
    * Enhancements
      + 1703: cpu_percent() and cpu_times_percent() are now thread
      safe, meaning they can be called from different threads and
      still return meaningful and independent results.
      + 2266: if Process class is passed a very high PID, raise
      NoSuchProcess instead of OverflowError. (patch by Xuehai Pan)
      + 2246: drop python 3.4 & 3.5 support. (patch by Matthieu
      Darbois)
      + 2290: PID reuse is now pre-emptively checked for
      Process.ppid() and Process.parents().
      + 2312: use ruff Python linter instead of flake8 + isort. It's
      an order of magnitude faster + it adds a ton of new code
      quality checks.
    * Bug fixes
      + 2195, [Linux]: no longer print exception at import time in
      case /proc/stat can't be read due to permission error.
      + 2268: bytes2human() utility function was unable to properly
      represent negative values.
      + 2284, [Linux]: Process.memory_full_info() may incorrectly
      raise ZombieProcess if it's determined via
      /proc/pid/smaps_rollup.
      + 2288, [Linux]: correctly raise ZombieProcess on
      Process.exe(), Process.cmdline() and Process.memory_maps()
      instead of returning a "null" value.
      + 2290: differently from what stated in the doc, PID reuse is
      not pre-emptively checked for Process.nice() (set),
      Process.ionice(), (set), Process.cpu_affinity() (set),
      Process.rlimit() (set), Process.parent().
  - refresh skip_rlimit_tests_on_python2.patch
  - drop removal of shebang: fixed upstream


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.9.7:
    * 2324_: enforce Ruff rule `raw-string-in-exception`, which
      helps providing clearer tracebacks when exceptions are
      raised by psutil.
    * 2325_, [PyPy]: psutil did not compile on PyPy due to missing
      `PyErr_SetExcFromWindowsErrWithFilenameObject` cPython API.
  - drop logind_y2038.patch (upstream)


author: John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
changelog:
  - Update to version 6.0.0
    * 2109_: ``maxfile`` and ``maxpath`` fields were removed from the namedtuple
      returned by `disk_partitions()`_. Reason: on network filesystems (NFS) this
      can potentially take a very long time to complete.
    * 2366_, [Windows]: log debug message when using slower process APIs.
    * 2375_, [macOS]: provide arm64 wheels.  (patch by Matthieu Darbois)
    * 2396_: `process_iter()`_ no longer pre-emptively checks whether PIDs have
      been reused. This makes `process_iter()`_ around 20x times faster.
    * 2396_: a new ``psutil.process_iter.cache_clear()`` API can be used the clear
      `process_iter()`_ internal cache.
    * 2401_, Support building with free-threaded CPython 3.13. (patch by Sam Gross)
    * 2407_: `Process.connections()`_ was renamed to `Process.net_connections()`_.
      The old name is still available, but it's deprecated (triggers a
      ``DeprecationWarning``) and will be removed in the future.
    * 2425_: [Linux]: provide aarch64 wheels.  (patch by Matthieu Darbois / Ben Raz)
    * 2250_, [NetBSD]: `Process.cmdline()`_ sometimes fail with EBUSY. It usually
      happens for long cmdlines with lots of arguments. In this case retry getting
      the cmdline for up to 50 times, and return an empty list as last resort.
    * 2254_, [Linux]: offline cpus raise NotImplementedError in cpu_freq() (patch
      by Shade Gladden)
    * 2272_: Add pickle support to psutil Exceptions.
    * 2359_, [Windows], [CRITICAL]: `pid_exists()`_ disagrees with `Process`_ on
      whether a pid exists when ERROR_ACCESS_DENIED.
    * 2360_, [macOS]: can't compile on macOS < 10.13.  (patch by Ryan Schmidt)
    * 2362_, [macOS]: can't compile on macOS 10.11.  (patch by Ryan Schmidt)
    * 2365_, [macOS]: can't compile on macOS < 10.9.  (patch by Ryan Schmidt)
    * 2395_, [OpenBSD]: `pid_exists()`_ erroneously return True if the argument is
      a thread ID (TID) instead of a PID (process ID).
    * 2412_, [macOS]: can't compile on macOS 10.4 PowerPC due to missing `MNT_`
      constants.
    * 2109_: the namedtuple returned by `disk_partitions()`_' no longer has
      ``maxfile`` and ``maxpath`` fields.
    * 2396_: `process_iter()`_ no longer pre-emptively checks whether PIDs have
      been reused. If you want to check for PID reusage you are supposed to use
      `Process.is_running()`_ against the yielded `Process`_ instances. That will
      also automatically remove reused PIDs from `process_iter()`_ internal cache.
    * 2407_: `Process.connections()`_ was renamed to `Process.net_connections()`_.
      The old name is still available, but it's deprecated (triggers a
      ``DeprecationWarning``) and will be removed in the future.
  - from version 5.9.8
    * 2343_, [FreeBSD]: filter `net_connections()`_ returned list in C instead of
      Python, and avoid to retrieve unnecessary connection types unless explicitly
      asked. E.g., on an IDLE system with few IPv6 connections this will run around
      4 times faster. Before all connection types (TCP, UDP, UNIX) were retrieved
      internally, even if only a portion was returned.
    * 2342_, [NetBSD]: same as above (#2343) but for NetBSD.
    * 2349_: adopted black formatting style.
    * 930_, [NetBSD], [critical]: `net_connections()`_ implementation was broken.
      It could either leak memory or core dump.
    * 2340_, [NetBSD]: if process is terminated, `Process.cwd()`_ will return an
      empty string instead of raising `NoSuchProcess`_.
    * 2345_, [Linux]: fix compilation on older compiler missing DUPLEX_UNKNOWN.
    * 2222_, [macOS]: `cpu_freq()` now returns fixed values for `min` and `max`
      frequencies in all Apple Silicon chips.
  - Drop obsolete patch to skip tests on Python 2
    * skip_rlimit_tests_on_python2.patch
  - Update patch to skip failing tests for new version
    * skip_failing_tests.patch


author: tbechtold@suse.com
changelog:
  - update to 0.5.2:
    * Add readthedocs config file
    * Add project dir to sys.path when building docs
    * Version number -> 0.5.2
    * Use buffering when opening the pty


author: toddrme2178@gmail.com
changelog:
  - update to 0.6.0
    * Use PtyProcessError instead of ExceptionPexpect
    * sys.__stdin__ can be None
    * Fix AIX bug for users with unlimited nofiles
    * Clarify setecho error message


author: John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
changelog:
  - Update to version 0.2.3
    * fix warning in test_cannot_subscript
    * add __version__ to __all__
    * test 3.13
    * Specify exports in `__all__` to prevent `pyright` errors
    * Explicitly remove the ctx attribute in copy_ast_without_context
    * Fix compatibility of check_copy_ast_without_context with Py 3.13b1
    * Check for __delete__ to detect data descriptors,
      as in https://github.com/python/cpython/pull/104517/files
    * fix job name
    * fix main branch in GHA
    * Update Python classifiers
    * Update release script
    * manual coveralls
    * GHAs v4
    * test 3.12
    * 3.11


author: pgajdos@suse.com
changelog:
  - version update to 1.6
    * Use `pytest` insteed of `nose`.
    * Fix warning around regex string.
  - deleted patches
    - use_pytest.patch (upstreamed)


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.10.0
    * Fix a regular expression DoS vulnerability in the py.path.svnwc
      SVN blame functionality (CVE-2020-29651)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.11.0:
    * Support Python 3.11
    * Support ``NO_COLOR`` environment variable
    * Update vendored apipkg: 1.5 => 2.0


author: John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
changelog:
  - Update in SLE-15 (bsc#1195916, bsc#1196696, jsc#PM-3356, jsc#SLE-23972)
  - Drop CVE-2020-29651.patch, issue fixed upstream in 1.10.0


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove python_module macro definition
  - Add python-py dep for testing
  - Use autosetup insteado of setup + patch
  - More specific python_sitelib in %files


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Remove all traces of py._path.svn{url,wc}. (bsc#1204364, CVE-2022-42969)
  - Add patch remove-svn-remants.patch to help with that goal.
  - Refresh pr_222.patch as needed for above.


author: Markéta Machová <mmachova@suse.com>
changelog:
  - Skip tests failing with pytest 7.4, they don't matter
    * failure comes from py.core, which has low usage
    * https://github.com/pytest-dev/py/issues/288
    * according to that this code is not used in Tumbleweed anyway


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - update to version 5.0.0
    * Fixed Bug #117: Remove PyInstaller hacks
    * Fixed Bug #108: Client script runs multiple times without __main__
    * Fixed Bug #113: Add option to return results in json
    * Fixed Bug #110: Always tries to run wmic in get_system_info.py
    v4.0.0
    * Fixed Bug #80: Broken when using Pyinstaller
    * Fixed Bug #77: Get L1, L2, and L3 cache info from lscpu
    * Fixed Bug #79: Byte formats are inconsistent
    * Fixed Bug #81: Byte formatter breaks on non strings
    * Fixed Bug #95: Include if Python is 32 or 64 bit in get_system_info
    * Fixed Bug #87: lscpu gets brand field twice
    * Fixed Bug #96: Include Python version in output
    * Fixed Bug #85: CPUID HZ measurement is scaled wrong
    * Fixed Bug #100: Officially drop support for Python 2.6
    * Fixed Bug #101: Made it only check the dmesg boot log on Linux
    v3.3.0
    * Fixed Bug #72: Fails to parse invalid CPUID result.
  - removed remove-arch-check.patch -- testsuite runs


author: Dirk Mueller <dmueller@suse.com>
changelog:
  - update to 7.0.0:
    * CPU flags vary between runs on Mac OS X
    * Change 'byte code' to 'machine code'
    * Overhead from generating machine code throws off CPUID HZ
    * On non BeOS systems, calling sysinfo may open GUI program
    * Invalid escape sequences warn when building in Python 3.8
    * Remove extended_model and extended_family fields
    * Remove empty and zeroed fields
    * Missing data on Ryzen CPUs
    * Rename fields to be more clear
    * Add option to return --version
    * Make test suite also check SELinux
    * Make unit tests also test CPUID
    * Add s390x support


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 8.0.0:
    * Fixed Bug #161: Accept arm64 as an alias for aarch64
    * Fixed Bug #160: Add MIPS architecture support
    * Fixed Bug #74: Add option to trace code paths to file
    * Fixed Bug #157: Remove multiple checks for sestatus


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to Release 9.0.0
    * Fixed Bug #178: Changes to lscpu breaks parsing of cache info
    * Fixed Bug #152: CPU stepping, model, and family values are blank if 0
    * Fixed Bug #177: Officially drop support for Python 2
    * Fixed Bug #171: Replace Python 3.11 deprecated unittest.makeSuite
    * Fixed Bug #173: Fix lgtm.com alerts
    * Fixed Bug #165: Support Wheel
    * Fixed Bug #167: Add support for RISC-V


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove rpmlint errors:
    * Use postun instead of preun for update-alternatives
    * Remove shebang from py files
    * More specific python_sitelib in %files
    * Remove python_module macro definition


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.0.0:
    * Add ``OpenSSL.SSL.X509StoreFlags.PARTIAL_CHAIN`` constant to allow for
      users
    to perform certificate verification on partial certificate chains.
    * ``cryptography`` maximum version has been increased to 39.0.x.
  - drop pyOpenSSL-pr1158-conditional-__all__.patch (upstream)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.1.0:
    * ``cryptography`` maximum version has been increased to
      40.0.x.
    * Add ``OpenSSL.SSL.Connection.DTLSv1_get_timeout`` and
      ``OpenSSL.SSL.Connection.DTLSv1_handle_timeout``
      to support DTLS timeouts `#1180


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.1.1:
    * Worked around an issue in OpenSSL 3.1.0 which caused
      `X509Extension.get_short_name` to raise an exception when no
      short name was known to OpenSSL.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.2.0:
    * Removed ``X509StoreFlags.NOTIFY_POLICY``.
    * ``cryptography`` maximum version has been increased to
      41.0.x.
    * Invalid versions are now rejected in
      ``OpenSSL.crypto.X509Req.set_version``.
    * Added ``X509VerificationCodes`` to ``OpenSSL.SSL``.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.3.0:
    * Dropped support for Python 3.6.
    * The minimum ``cryptography`` version is now 41.0.5.
    * Removed ``OpenSSL.crypto.loads_pkcs7`` and
      ``OpenSSL.crypto.loads_pkcs12`` which had been deprecated for
      3 years.
    * Added ``OpenSSL.SSL.OP_LEGACY_SERVER_CONNECT`` to allow
      legacy insecure renegotiation between OpenSSL and unpatched
      servers.
    * Deprecated ``OpenSSL.crypto.PKCS12`` (which was intended to
      have been deprecated at the same time as
      ``OpenSSL.crypto.load_pkcs12``).
    * Deprecated ``OpenSSL.crypto.NetscapeSPKI``.
    * Deprecated ``OpenSSL.crypto.CRL``
    * Deprecated ``OpenSSL.crypto.Revoked``
    * Deprecated ``OpenSSL.crypto.load_crl`` and
      ``OpenSSL.crypto.dump_crl``
    * Deprecated ``OpenSSL.crypto.sign`` and
      ``OpenSSL.crypto.verify``
    * Deprecated ``OpenSSL.crypto.X509Extension``
    * Changed ``OpenSSL.crypto.X509Store.add_crl`` to also accept
    * ``cryptography``'s ``x509.CertificateRevocationList``
      arguments in addition
    * to the now deprecated ``OpenSSL.crypto.CRL`` arguments.
    * Fixed ``test_set_default_verify_paths`` test so that it is
      skipped if no network connection is available.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 24.0.0:
    * Added OpenSSL.SSL.Connection.get_selected_srtp_profile to
      determine which SRTP profile was negotiated. #1279.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 24.1.0:
    * Removed the deprecated OpenSSL.crypto.PKCS12 and
      OpenSSL.crypto.NetscapeSPKI. OpenSSL.crypto.PKCS12 may be
      replaced by the PKCS#12 APIs in the cryptography package.


author: Adrian Schröter <adrian@suse.de>
changelog:
  - 24.2.1:
    * Deprecated OpenSSL.crypto.X509Req,
      OpenSSL.crypto.load_certificate_request,
      OpenSSL.crypto.dump_certificate_request.
      Instead, cryptography.x509.CertificateSigningRequest,s
      cryptography.x509.CertificateSigningRequestBuilder,s
      cryptography.x509.load_der_x509_csr,s
      or cryptography.x509.load_pem_x509_csr should be used.
    * Added type hints for the SSL module. #1308.
    * Changed OpenSSL.crypto.PKey.from_cryptography_key to accept public and private EC, ED25519, ED448 keys


author: Michael Ströder <michael@stroeder.com>
changelog:
  - update to 0.4.5
    * Debug logging refactored for more efficiency when disabled and for more
      functionality when in use. Specifically, the global LOG object can easily
      be used from any function/method, not just from codec main loop as it used
      to be.
    * More debug logging added to BER family of codecs to ease encoding problems
      troubleshooting.
    * Copyright notice extended to the year 2019
    * Fixed defaulted constructed SEQUENCE component initialization.


author: Michael Ströder <michael@stroeder.com>
changelog:
  - Update to 0.4.8:
    * Added ability of combining `SingleValueConstraint` and
      `PermittedAlphabetConstraint` objects into one for proper modeling
      `FROM ... EXCEPT ...` ASN.1 clause.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.5.0:
    * Change `RealEncoder.supportIndefLenMode` type to a boolean
    * Fix CI for py39 test environment
    * Replace all snmplabs.com links
    * Use correct SPDX identifier for the license
    * Re-add ``tagMap`` and ``typeMap`` module level attributes to all
      encoder and decoder modules. They are aliases for ``TAG_MAP`` and
      ``TYPE_MAP``
    * Restore API for passing for ``tagMap`` and ``typeMap`` arguments
      to ``Encoder`` and ``Decoder`` classes by name and position,
    * Re-add ``tagMap`` and ``typeMap`` module level attributes to all
      encoder and decoder modules. They are aliases for ``TAG_MAP`` and
    ``TYPE_MAP``
    * Restore API for passing for ``tagMap`` and ``typeMap`` arguments
      to ``Encoder`` and ``Decoder`` classes by name and position,
    * Make BER/CER/DER decoders streaming and suspendible


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.5.1:
    * Added support for PyPy 3.10 and Python 3.12
    * Updated RTD configuration to include a dummy index.rst
      redirecting to contents.html, ensuring compatibility with
      third-party documentation and search indexes.
    * Fixed the API breakage wih decoder.decode(substrateFun=...).
    * A substrateFun passed to ``decoder.decode()`` can now be
      either v0.4 Non-Streaming or v0.5 Streaming.
      pyasn1 will detect and handle both cases transparently.
    * A substrateFun passed to one of the new streaming decoders is
    * still expected to be v0.5 Streaming only.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.6.0:
    * Added support for previously missing RELATIVE-OID construct
    * Updated link to Layman's Guide Now it provides a link to
      links to a formatted PDF version of the paper, at a stable
      domain (researchgate), using https
    * Removed support for EOL Python 2.7, 3.6, 3.7


author: michael@stroeder.com
changelog:
  - update to version 0.2.2:
    * Copyright notice extended to the year 2018
    * Migrated references from SourceForge
    * rfc2986 module added


author: Michael Ströder <michael@stroeder.com>
changelog:
  - update to version 0.2.4
    Revision 0.2.4:
  - Added modules for RFC8226 implementing JWT Claim Constraints
    and TN Authorization List for X.509 certificate extensions
  - Fixed bug in `rfc5280.AlgorithmIdentifier` ANY type definition
    Revision 0.2.3:
  - Added modules for RFC5083 and RFC5084 (CMS)
  - Copyright notice extended to the year 2019


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 0.2.5:
    - Added RFC3560 providing RSAES-OAEP Key Transport Algorithm
      in CMS
    - Added RFC6019 providing BinaryTime - an alternate format
      for representing Date and Time
    - RFC3565 superseded by RFC5649
    - Added RFC5480 providng Elliptic Curve Cryptography Subject
      Public Key Information
    - Added RFC8520 providing X.509 Extensions for MUD URL and
      MUD Signer
    - Added RFC3161 providing Time-Stamp Protocol support
    - Added RFC3709 providing Logotypes in X.509 Certificates
    - Added RFC3274 providing CMS Compressed Data Content Type
    - Added RFC4073 providing Multiple Contents protection
      with CMS
  - Execute testsuite


author: Arun Persaud <arun@gmx.de>
changelog:
  - specfile:
    * update copyright year
    * be more specific in %files section
  - update to version 0.2.8:
    * Improve test routines for modules that use certificate extensions
    * Improve test for RFC3709 with a real world certificate
    * Added RFC7633 providing TLS Features Certificate Extension
    * Added RFC7229 providing OIDs for Test Certificate Policies
    * Added tests for RFC3280, RFC3281, RFC3852, and RFC4211
    * Added RFC6960 providing Online Certificate Status Protocol (OCSP)
    * Added RFC6955 providing Diffie-Hellman Proof-of-Possession
      Algorithms
    * Updated the handling of maps for use with openType for RFC 3279
    * Added RFC6486 providing RPKI Manifests
    * Added RFC6487 providing Profile for X.509 PKIX Resource
      Certificates
    * Added RFC6170 providing Certificate Image in the Internet X.509
      Public Key Infrastructure, and import the object identifier into
      RFC3709.
    * Added RFC6187 providing Certificates for Secure Shell
      Authentication
    * Added RFC6482 providing RPKI Route Origin Authorizations (ROAs)
    * Added RFC6664 providing S/MIME Capabilities for Public Keys
    * Added RFC6120 providing Extensible Messaging and Presence Protocol
      names in certificates
    * Added RFC4985 providing Subject Alternative Name for expression of
      service names in certificates
    * Added RFC5924 providing Extended Key Usage for Session Initiation
      Protocol (SIP) in X.509 certificates
    * Added RFC5916 providing Device Owner Attribute
    * Added RFC7508 providing Securing Header Fields with S/MIME
    * Update RFC8226 to use ComponentPresentConstraint() instead of the
      previous work around
    * Add RFC2631 providing OtherInfo for Diffie-Hellman Key Agreement
    * Add RFC3114 providing test values for the S/MIME Security Label
    * Add RFC5755 providing Attribute Certificate Profile for
      Authorization
    * Add RFC5913 providing Clearance Attribute and Authority Clearance
      Constraints Certificate Extension
    * Add RFC5917 providing Clearance Sponsor Attribute
    * Add RFC4043 providing Internet X.509 PKI Permanent Identifier
    * Add RFC7585 providing Network Access Identifier (NAI) Realm Name
      for Certificates
    * Update RFC3770 to support openType for attributes and reported
      errata
    * Add RFC4334 providing Certificate Extensions and Attributes for
      Authentication in PPP and Wireless LAN Networks


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.3.0:
    * Added support for Python 3.8, 3.9, 3.10, 3.11
    * Removed support for EOL Pythons 2.4, 2.5, 2.6, 3.2, 3.3, 3.4,
      3.5
    * Added support for PyPy 3.7, 3.8, 3.9
    * Modernized packaging and testing. pyasn1-modules now uses
      ``setup.cfg``, ``pyproject.toml``,
    * PyPI package ownership for `pyasn1` and `pyasn1-module` has
      been transfered to *Christian Heimes* and *Simon Pichugin* in
    * The upstream repositories for `pyasn1` and `pyasn1-modules`
      are now in the GitHub organization https://github.com/pyasn1/.
    * Added tox runner with a handful of basic jobs
    * Add RFC3125 providing Electronic Signature Policies
    * Add RFC5126 providing CMS Advanced Electronic Signatures
    * Improve test routines for RFC5126
    * Add RFC4387 providing Certificate Store Access via HTTP
    * Changed assertion in unit tests from Python built-in to
      `unittest` provided
    * Add RFC8692 providing Algorithm Identifiers for RSASSA-PSS
      and ECDSA Using SHAKEs
    * Add RFC5753 providing CMS Elliptic Curve Cryptography
      Algorithms
    * Add RFC3820 providing Proxy Certificates
    * Add RFC3370 providing Cryptographic Message Syntax (CMS)
      Algorithms
    * Add RFC3537 providing HMAC Key Wrapping
    * Add RFC3739 providing Qualified Certificates
    * Add RFC2876 providing KEA and SKIPJACK for CMS
    * Add RFC3058 providing IDEA Encryption Algorithm for CMS
    * Add RFC3657 providing Camellia Encryption Algorithm for CMS
    * Add RFC4010 providing SEED Encryption Algorithm for CMS
    * Add RFC4357 providing Additional Cryptographic Algorithms for
    * Add RFC4490 providing GOST 28147-89, GOST R 34.11-94, GOST R
      34.10-94, and GOST R 34.10-2001 Algorithms for CMS
    * Add RFC4491 providing GOST R 34.10-94, GOST R 34.10-2001, and
      GOST R 34.11-94 Algorithms for certificates and CRLs
    * Add RFC8696 providing using Pre-Shared Key (PSK) in the CMS
    * Add RFC5639 providing identifiers for the Brainpool curves in
      Elliptic Curve Cryptography
    * Add RFC5697 providing Other Certificates Extension
    * Add RFC4683 providing Subject Identification Method (SIM)
    * Add RFC4476 providing Attribute Certificate Policies
      Extension
    * Add RFC5636 providing Traceable Anonymous Certificate
    * Add RFC5752 providing Multiple Signatures attribute for CMS
    * Add RFC5275 providing CMS Symmetric Key Management and
      Distribution
    * Add RFC8702 providing SHAKE One-way Hash Functions in the CMS
    * Add RFC8708 providing HSS/LMS Hash-based Signature Algorithm
      for CMS
    * Advance copyright statement to year 2020
    * Add RFC8769 providing CBOR and CBOR Sequence content types
      for CMS


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.4.0:
    * Added support for Python 3.11, 3.12
    * Removed support for EOL Pythons 2.7, 3.6, 3.7


author: Stefan Brüns <stefan.bruens@rwth-aachen.de>
changelog:
  - Make Sphinx dependency optional (docs are not built by default),
    add make_sphinx_optional.patch
  - Use _multibuild for tests to reduce the build dependencies
    and simplify bootstrap for e.g. rpmlint.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Remove doc conditional as it is never built due to always being
    as a bcond_with
  - Use unittest directly to avoid setup.py test deprecation
  - Allow usage with construct 2.10


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.10.0
    * Removed support for Python 2.7, Python 3.5, and MSVC 2015.
      Support for MSVC 2017 is limited due to availability of CI
      runners; we highly recommend MSVC 2019 or 2022 be used.
      Initial support added for Python 3.11.
    * New features:
      + py::anyset & py::frozenset were added, with copying (cast)
      to std::set (similar to set). #3901
      + Support bytearray casting to string. #3707
      + type_caster<std::monostate> was added. std::monostate is a
      tag type that allows std::variant to act as an optional, or
      allows default construction of a std::variant holding a
      non-default constructible type. #3818
      + pybind11::capsule::set_name added to mutate the name of the
      capsule instance. #3866
      + NumPy: dtype constructor from type number added, accessors
      corresponding to Python API dtype.num, dtype.byteorder,
      dtype.flags and dtype.alignment added. #3868
    * Changes:
      + Python 3.6 is now the minimum supported version. #3688 #3719
      + The minimum version for MSVC is now 2017. #3722
      + Fix issues with CPython 3.11 betas and add to supported test
      matrix. #3923
      + error_already_set is now safer and more performant,
      especially for exceptions with long tracebacks, by delaying
      computation. #1895
      + Improve exception handling in python str bindings. #3826
      + The bindings for capsules now have more consistent exception
      handling. #3825
      + PYBIND11_OBJECT_CVT and PYBIND11_OBJECT_CVT_DEFAULT macro
      can now be used to define classes in namespaces other than
      pybind11. #3797
      + Error printing code now uses
      PYBIND11_DETAILED_ERROR_MESSAGES instead of requiring
      NDEBUG, allowing use with release builds if desired. #3913
      + Implicit conversion of the literal 0 to pybind11::handle is
      now disabled. #4008
    * Bug fixes:
      + Fix exception handling when pybind11::weakref() fails. #3739
      + module_::def_submodule was missing proper error handling.
      This is fixed now. #3973
      + The behavior or error_already_set was made safer and the
      highly opaque "Unknown internal error occurred" message was
      replaced with a more helpful message. #3982
      + error_already_set::what() now handles non-normalized
      exceptions correctly. #3971
      + Support older C++ compilers where filesystem is not yet part
      of the standard library and is instead included in
      std::experimental::filesystem. #3840
      + Fix -Wfree-nonheap-object warnings produced by GCC by
      avoiding returning pointers to static objects with
      return_value_policy::take_ownership. #3946
      + Fix cast from pytype rvalue to another pytype. #3949
      + Ensure proper behavior when garbage collecting classes with
      dynamic attributes in Python >=3.9. #4051
      + A couple long-standing PYBIND11_NAMESPACE
      __attribute__((visibility("hidden"))) inconsistencies are
      now fixed (affects only unusual environments). #4043
      + pybind11::detail::get_internals() is now resilient to
      in-flight Python exceptions. #3981
      + Arrays with a dimension of size 0 are now properly converted
      to dynamic Eigen matrices (more common in NumPy 1.23). #4038
      + Avoid catching unrelated errors when importing NumPy. #3974
    * Performance and style:
      + Added an accessor overload of (object &&key) to reference
      steal the object when using python types as keys. This
      prevents unnecessary reference count overhead for attr,
      dictionary, tuple, and sequence look ups. Added additional
      regression tests. Fixed a performance bug the caused
      accessor assignments to potentially perform unnecessary
      copies. #3970
      + Perfect forward all args of make_iterator. #3980
      + Avoid potential bug in pycapsule destructor by adding an
      error_guard to one of the dtors. #3958
      + Optimize dictionary access in strip_padding for numpy. #3994
      + stl_bind.h bindings now take slice args as a const-ref.
      [#3852]
      + Made slice constructor more consistent, and improve
      performance of some casters by allowing reference stealing.
      [#3845]
      + Change numpy dtype from_args method to use const ref. #3878
      + Follow rule of three to ensure PyErr_Restore is called only
      once. #3872
      + Added missing perfect forwarding for make_iterator
      functions. #3860
      + Optimize c++ to python function casting by using the rvalue
      caster. #3966
      + Optimize Eigen sparse matrix casting by removing unnecessary
      temporary. #4064
      + Avoid potential implicit copy/assignment constructors
      causing double free in strdup_gaurd. #3905
      + Enable clang-tidy checks misc-definitions-in-headers,
      modernize-loop-convert, and modernize-use-nullptr. #3881
      [#3988]
    * Build system improvements:
      + CMake: Fix file extension on Windows with cp36 and cp37
      using FindPython. #3919
      + CMake: Support multiple Python targets (such as on vcpkg).
      [#3948]
      + CMake: Fix issue with NVCC on Windows. #3947
      + CMake: Drop the bitness check on cross compiles (like
      targeting WebAssembly via Emscripten). #3959
      + Add MSVC builds in debug mode to CI. #3784
      + MSVC 2022 C++20 coverage was added to GitHub Actions,
      including Eigen. #3732, #3741
    * Backend and tidying up:
      + New theme for the documentation. #3109
      + Remove idioms in code comments. Use more inclusive language.
      [#3809]
      + #include <iostream> was removed from the pybind11/stl.h
      header. Your project may break if it has a transitive
      dependency on this include. The fix is to "Include What You
      Use". #3928
      + Avoid setup.py <command> usage in internal tests. #3734
  - Fix header deduplication: pybind11.get_include still reports
    the headers to be in the sitelib (SciPy meson build fail)
  - Test in multibuild as some tests expect the system-wide
    %_includedir/pybind11/pybind11.h


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Work around long standing rpm-directory-to-symlink-bug
    * https://docs.fedoraproject.org/en-US/packaging-guidelines/Directory_Replacement/
    * rh#447156
    * use shell instead of lua for pretrans scriptlet


author: Ben Greiner <code@bnavigator.de>
changelog:
  - %pretrans must be lua
  - requires python-rpm-macros >= 20220912 because of parameter in
    scriptlet
  - Fix subdirectory links


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.10.3:
    * Temporarily made our GIL status assertions (added in 2.10.2) disabled by
    default (re-enable manually by defining
    ``PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF``, will be enabled in 2.11).
    * Improved error messages when ``inc_ref``/``dec_ref`` are called with an
    invalid GIL state.
    * Some minor touchups found by static analyzers.
    * ``scoped_interpreter`` constructor taking ``PyConfig``.
    * ``pybind11/eigen/tensor.h`` adds converters to and from
      ``Eigen::Tensor`` and
    ``Eigen::TensorMap``.
    * ``PyGILState_Check()``'s  were integrated to ``pybind11::handle``
    ``inc_ref()`` & ``dec_ref()``. The added GIL checks are guarded by
    ``PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF``, which is the default only if
    ``NDEBUG`` is not defined. (Made non-default in 2.10.3, will be active in 2.11)
    * Add option for enable/disable enum members in docstring.
    * Fixed typing of ``KeysView``, ``ValuesView`` and ``ItemsView`` in
      ``bind_map``.
    * Fix segfault bug when passing foreign native functions to functional.h.
    * Build system improvements:
    * Support setting PYTHON_LIBRARIES manually for Windows ARM cross-
      compilation
    (classic mode).
    * Extend IPO/LTO detection for ICX (a.k.a IntelLLVM) compiler.
    * Allow calling ``find_package(pybind11 CONFIG)`` multiple times from
      separate
    directories in the same CMake project and properly link Python (new mode).
    * ``multiprocessing_set_spawn`` in pytest fixture for added safety.
    * Fixed a bug in two pybind11/tools cmake scripts causing "Unknown
      arguments specified" errors.
    * Version 2.10.1 (Oct 31, 2022)
    * This is the first version to fully support embedding the newly released
      Python 3.11.
    * Changes:
    * Allow ``pybind11::capsule`` constructor to take null destructor
      pointers.
    * ``embed.h`` was changed so that ``PYTHONPATH`` is used also with Python
      3.11
    (established behavior).
    * A ``PYBIND11_SIMPLE_GIL_MANAGEMENT`` option was added (cmake, C++
      define),
    along with many additional tests in ``test_gil_scoped.py``. The option may be
    useful to try when debugging GIL-related issues, to determine if the more
    complex default implementation is or is not to blame. See #4216 for
    background. WARNING: Please be careful to not create ODR violations when
    using the option: everything that is linked together with mutual symbol
    visibility needs to be rebuilt.
    * ``PYBIND11_EXPORT_EXCEPTION`` was made non-empty only under macOS. This
      makes
    Linux builds safer, and enables the removal of warning suppression pragmas for
    Windows.
    * Fixed a bug where ``UnicodeDecodeError`` was not propagated from various
    ``py::str`` ctors when decoding surrogate utf characters.
    * Revert perfect forwarding for ``make_iterator``. This broke at least one
    valid use case. May revisit later.
    * Fix support for safe casts to ``void*`` (regression in 2.10.0).
    * Fix ``char8_t`` support (regression in 2.9).
    * Unicode surrogate character in Python exception message leads to process
    termination in ``error_already_set::what()``.
    * Fix MSVC 2019 v.1924 & C++14 mode error for ``overload_cast``.
    * Make augmented assignment operators non-const for the object-api.
      Behavior
    was previously broken for augmented assignment operators.
    * Add proper error checking to C++ bindings for Python list append and
      insert.
    * Work-around for Nvidia's CUDA nvcc compiler in versions 11.4.0 - 11.8.0.
    * A workaround for PyPy was added in the ``py::error_already_set``
    implementation, related to PR `#1895 <https://github.com/pybind/pybind11/pull/1895>`_
    released with v2.10.0.
    * Fixed compiler errors when C++23 ``std::forward_like`` is available.
    * Properly raise exceptions in contains methods (like when an object in
      unhashable).
    * Further improve another error in exception handling.
    * ``get_local_internals()`` was made compatible with
    ``finalize_interpreter()``, fixing potential freezes during interpreter
    finalization.
    * Performance and style:
    * Reserve space in set and STL map casters if possible. This will prevent
    unnecessary rehashing / resizing by knowing the number of keys ahead of time
    for Python to C++ casting. This improvement will greatly speed up the casting
    of large unordered maps and sets.
    * GIL RAII scopes are non-copyable to avoid potential bugs.
    * Explicitly default all relevant ctors for pytypes in the
      ``PYBIND11_OBJECT``
    macros and enforce the clang-tidy checks ``modernize-use-equals-default`` in
    macros as well.
    * Optimize iterator advancement in C++ bindings.
    * Use the modern ``PyObject_GenericGetDict`` and
      ``PyObject_GenericSetDict``
    for handling dynamic attribute dictionaries.
    * Document that users should use ``PYBIND11_NAMESPACE`` instead of using
      ``pybind11`` when
    opening namespaces. Using namespace declarations and namespace qualification
    remain the same as ``pybind11``. This is done to ensure consistent symbol
    visibility.
    * Mark ``detail::forward_like`` as constexpr.
    * Optimize unpacking_collector when processing ``arg_v`` arguments.
    * Optimize casting C++ object to ``None``.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Package new pkgconfig file gh#pybind/pybind11#4077
  - PEP517 build
  - Fix multibuild setup: unique packagename for test flavor required


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.10.4:
    * ``python3 -m pybind11`` gained a ``--version`` option (prints
      the version and exits).
    * Fix a warning when pydebug is enabled on Python 3.11.
    * Ensure ``gil_scoped_release`` RAII is non-copyable.
    * Ensure the tests dir does not show up with new versions of
      setuptools.
    * Better stacklevel for a warning in setuptools helpers.


author: Jan Engelhardt <jengelh@inai.de>
changelog:
  - Update to release 2.11.1
    * The newly added ``pybind11::detail::is_move_constructible``
      trait can be specialized for cases in which
      ``std::is_move_constructible`` does not work as needed.
    * ``format_descriptor<>`` & ``npy_format_descriptor<> PyObject*``
      specializations were added. The latter enables
      ``py::array_t<PyObject*>`` to/from-python conversions.
    * Cast errors now always include Python type information, even if
      PYBIND11_DETAILED_ERROR_MESSAGES is not defined. This increases
      binary sizes by ~1.5%.
    * The docstring generation for the ``std::array``-list caster was
      changed to conform to PEP 593.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.12.0:
    * pybind11 now supports compiling for NumPy 2.
      However, if you experience issues you can define
      PYBIND11_NUMPY_1_ONLY to disable the new support for now, but
      this will be removed in the future. #5050
    * pybind11/gil_safe_call_once.h was added (it needs to be
      included explicitly). The primary use case is GIL-safe
      initialization of C++ static variables. #4877
    * Support move-only iterators in py::make_iterator,
      py::make_key_iterator, py::make_value_iterator. #4834
    * Two simple py::set_error() functions were added and the
      documentation was updated accordingly. In particular,
      py::exception<>::operator() was deprecated (use one of the
      new functions instead). The documentation for py::exception<>
      was further updated to not suggest code that may result in
      undefined behavior. #4772
    * Removes potential for Undefined Behavior during process
      teardown. #4897
    * Improve compatibility with the nvcc compiler (especially CUDA
      12.1/12.2). #4893
    * pybind11/numpy.h now imports NumPy's multiarray and _internal
      submodules with paths depending on the installed version of
      NumPy (for compatibility with NumPy 2). #4857
    * Builtins collections names in docstrings are now consistently
      rendered in lowercase (list, set, dict, tuple), in accordance
      with PEP 585. #4833
    * Added py::typing::Iterator<T>, py::typing::Iterable<T>. #4832
    * Render py::function as Callable in docstring. #4829
    * Also bump PYBIND11_INTERNALS_VERSION for MSVC, which unlocks
      two new features without creating additional
      incompatibilities. #4819
    * Guard against crashes/corruptions caused by modules built
      with different MSVC versions. #4779
    * A long-standing bug in the handling of Python multiple
      inheritance was fixed. See PR #4762 for the rather complex
      details. #4762
    * Fix bind_map with using declarations. #4952
    * Qualify py::detail::concat usage to avoid ADL selecting one
      from somewhere else, such as modernjson's concat. #4955
    * Use new PyCode API on Python 3.12+. #4916
    * Minor cleanup from warnings reported by Clazy. #4988
    * Remove typing and duplicate class_ for
      KeysView/ValuesView/ItemsView. #4985
    * Use PyObject_VisitManagedDict() and
      PyObject_ClearManagedDict() on Python 3.13 and newer. #4973
    * Update make_static_property_type() to make it compatible with
      Python 3.13. #4971
    * Render typed iterators for make_iterator, make_key_iterator,
      make_value_iterator. #4876
    * Add several missing type name specializations. #5073
    * Change docstring render for py::buffer, py::sequence and
      py::handle (to Buffer, Sequence, Any). #4831
    * Fixed base_enum.__str__ docstring. #4827
    * Enforce single line docstring signatures. #4735
    * Special 'typed' wrappers now available in typing.h to
      annotate tuple, dict, list, set, and function. #4259
    * Create handle_type_name specialization to type-hint variable
      length tuples. #5051
    * Setting PYBIND11_FINDPYTHON to OFF will force the old
      FindPythonLibs mechanism to be used. #5042
    * Skip empty PYBIND11_PYTHON_EXECUTABLE_LAST for the first
      cmake run. #4856
    * Fix FindPython mode exports & avoid pkg_resources if
      importlib.metadata available. #4941
    * Python_ADDITIONAL_VERSIONS (classic search) now includes
      3.12.
    * pybind11.pc is now relocatable by default as long as install
      destinations are not absolute paths. #4830
    * Correctly detect CMake FindPython removal when used as a
      subdirectory. #4806
    * Don't require the libs component on CMake 3.18+ when using
      PYBIND11_FINDPYTHON (fixes manylinux builds). #4805
    * pybind11_strip is no longer automatically applied when
      CMAKE_BUILD_TYPE is unset. #4780
    * Support DEBUG_POSFIX correctly for debug builds. #4761
    * Hardcode lto/thin lto for Emscripten cross-compiles. #4642
    * Upgrade maximum supported CMake version to 3.27 to fix
      CMP0148 warnings. #4786


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Work around vendored distutils in setuptools >= 60 incorrectly
    installing pkgconfig files into the wrong libdir
  - Deduplicate files in python_sitearch


author: Bjørn Lie <bjorn.lie@gmail.com>
changelog:
  - Update to version 1.21.0:
    * Require Python 3.7+
    * Require meson 0.53+
    * Using setup.py directly to build/install pycairo is deprecated.
      Use meson instead.
    * setup.py now requires setuptools. Previously it was optional.
    * The complete API reference is now included in the typing stubs,
      so it can be consumed/shown by IDEs.
  - Add f5a795ea.patch: Some test improvements for cairo 1.17.6


author: Dominique Leuenberger <dimstar@opensuse.org>
changelog:
  - Updtae to version 1.22.0:
    * Officially support Python 3.11.
    * PDFSurface.version_to_string(): Fix crash with negative
      versions.
    * typing: ImageSurface.get_stride() returns an int.
    * typing: Fix incorrect interface for Matrix constructor.
    * typing: Use Generic for Context.
    * docs: some cairo.Context fixes.
    * docs: try to make create_from_png/write_to_png more clear.
    * docs: add an example for how to convert a surface to pillow.
    * docs: cairo.Format.RGB24: document that unused bytes may be
      overwritten.
    * tests: don?t depend on specific ref counts.
    * tests: compatibility fixes for cairo 1.17.6.
  - Drop f5a795ea.patch: fixed upstream.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 1.23.0
    * Reminder to distro packagers: Building/installing pycairo using setup.py is deprecated, please use meson instead.
    * git: changed default branch from ?master? to ?main?
    * Windows: Update the cairo version included in the wheels from 1.17.2 to 1.17.6 #pr-243
    * docs: Document how to look up pycairo headers without loading the module #pr-300
    * tests: don?t error out if cairo wasn?t built with all features #pr-293
    New APIs:
    * Status.DWRITE_ERROR #pr-294
    * Format.RGB96F, Format.RGBA128F #pr-295
    * PDFVersion.VERSION_1_6, PDFVersion.VERSION_1_7 #pr-296
    * HAS_DWRITE_FONT #pr-297
    * Context.set_hairline(), Context.get_hairline() #pr-298
    * PDFSurface.set_custom_metadata() #pr-299


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.24.0:
    * Dropped Python 3.7 support
    * Bumped meson version requirement from 0.53.0 to 0.56.0
    * Various cairo dependency updates for the Windows wheel build
    * Various code cleanups :pr:`306`
    * Added Python 3.12 Windows wheels


author: Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
changelog:
  - update to 1.25.1:
    * fix a crash in pypy3.10
    * Fix the build with CPython 3.13.0a1
  - introduced from 1.25.0:
    * update to cairo 1.18.0 (for windows only)
    * new apis:
    - Status.SVG_FONT_ERROR
    - FontOptions.get_color_mode(), FontOptions.set_color_mode(), ColorMode
    - FontOptions.set_color_palette(), FontOptions.get_color_palette(), COLOR_PALETTE_DEFAULT
    - FontOptions.set_custom_palette_color(), FontOptions.get_custom_palette_color()
    - TAG_CONTENT, TAG_CONTENT_REF
    - Pattern.get_dither(), Pattern.set_dither(), Dither


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.26.0:
    * Bump minimum required meson version from 0.56.0 to 0.64.0
    * Various meson related cleanups :pr:`350`
    * Fix header file being installed to the wrong location with
      meson on some systems :pr:`350`
    * Adds a new ``wheel`` meson build option as preparation for
      meson-python support :pr:`350` :pr:`345`
    * Update dependencies (libpng, pixman, zlib) of the Windows
      wheels :pr:`358`
    * Various maintenance related updates :pr:`360` :pr:`359`
      :pr:`361` :pr:`362`


author: John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
changelog:
  - Update to 1.26.1
    * Fix Surface.set_mime_data() with Python 3.13 :pr:`366`
      This also fixes the test suite with Python 3.13b2.
    * Update vendored Windows wheel dependencies :pr:`370`


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - Update to 3.1.1
    * misc: add Python 3.8 classifier
    * ci: run tests in Python 3.8 too
    * test: remove no longer valid test
    * test: remove empty test
    * errno: return str from errno.strerror
    * core: fix crash when processing .onion queries
    * core: fix support for ARES_OPT_LOOKUPS option
    * misc: simplify non-ascii txt test example
    * core: fix long TXT record with non-ascii bytes


author: Adrian Schröter <adrian@suse.de>
changelog:
  - update to 4.0.0
    * core: add support for CAA queries
    * core: add support for getaddrinfo()
    * core: add ability to use the system installed c-ares
    * test: remove TTL tests
    * core: update c-ares and use a submodule
    * core: drop bundled c-ares version
    * misc: drop tasks.py


author: Arun Persaud <arun@gmx.de>
changelog:
  - specfile:
    * update copyright year
  - update to version 4.2.1:
    * core: add flexible member to ares_addrinfo to fix c-ares 1.18
  - changes from version 4.2.0:
    * tests: ignoring 2 tests due to dead servers
    * tests: updated google TXT records for an outdated test
    * deps: update bundled c-ares
  - changes from version 4.1.2:
    * build: add PYPIREADME.rst to manifest
  - changes from version 4.1.1:
    * misc: add PyPI README without images
    * misc: update c-ares URL
  - changes from version 4.1.0:
    * ci: use stable 3.10, rather than dev
    * core: add support for Python 3.10
    * doc: fix typo in README
    * doc: updatee changelog
    * doc: uppdate README
    * core: add support for CAA queries
    * core: add support for getaddrinfo()
    * doc: update README
    * core: add ability to use the system installed c-ares


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Add cleanup_tests.patch to make the test suite slightly more sane.
  - No, the test suite is just broken, and the upstream doesn't care.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 4.3.0
    * Bump cibuildwheel to build for Python 3.11 + CI total time speedups by @Jackenmen in #174
    Fix tests that depended on external sites by @Jackenmen in #180
    Complete the Python 3.11 support by @Jackenmen in #179
    Drop CPython 3.6 by @saghul in #181
    Improve test compatibility with pytest by @saghul in #182
    Update c-ares submodule to 1.18.1 by @saghul in #183


author: Ferdinand Thiessen <rpm@fthiessen.de>
changelog:
  - Update to version 2.8.0
    * fix false negative with multiple comparisons
    * fix false positives with ``match``
    * improve performance of bare except check
    * Backport tokenize performance improvement from python 3.10
    * fix for lambdas containing positional-only args
    * Remove ``indent_size_str`` "setting"
    * allow ``__all__`` to be typed
    * fix false positives for ``*`` in ``case``
    * detect tabs as whitespace


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.9.1:
    * E275: fix false positive for yield expressions.
    * E221, E222, E223, E224: add support for := operator. PR #1032.
    * Drop python 2.7 / 3.5.
    * E262: consider non-breaking spaces (\xa0) as whitespace. PR #1035.
    * Improve performance of _is_binary_operator. PR #1052.
    * E275: requires whitespace around keywords. PR #1063.
    * Add support for python 3.11. PR #1070.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to 2.10.0  (bsc#1206225)
    * Changes:
    E231: allow trailing comma inside 1-tuples in []. PR #1108.
    W601, W602, W603, W604: removed (no longer relevant in python 3). PR #1111.
    E741: also apply to lambdas. PR #1106.
    E741: fix false positive for comparison operators. PR #1118.


author: Martin Schreiner <martin.schreiner@suse.com>
changelog:
  - Update to 2.11.0
    * Drop EOL python 3.6 / 3.7.
    * Add support for python 3.12.
    * E721: adjust handling of type comparison.
      Allowed forms are now isinstance(x, t) or type(x) is t.
    * Remove handling of python 2 <> operator.
    * W606: removed. async / await are always keywords.
    * Internal: move tests to pytest.
    * Remove handling of python 2 ur'' strings.
  - Remove testsuite_fixes.patch as it's no longer required
  - Replaced spec file "Source" to pull from GitHub due to this issue:
    https://github.com/PyCQA/pycodestyle/issues/1183
  - Apply spec-cleaner to spec file.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.11.1:
    * E275: fix false positive with fstrings containing keyword
      parts in python 3.12


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.12.0:
    ?* E721: Fix false positive of the form `x.type(...) ==`.
    ? * E502: Fix false-negative with a backslash escape in a comment.
    ? * E204: New lint forbidding whitespace after decorator `@`.


author: Matthias Fehring <buschmann23@opensuse.org>
changelog:
  - add pycountry-19.7.15-fix-reading-description.patch to fix wrong
    encoding when opening description files in setup.py


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 19.8.18:
    * Various country fixes
  - Remove merged patch pycountry-19.7.15-fix-reading-description.patch


author: Dirk Mueller <dmueller@suse.com>
changelog:
  - update to 20.7.3:
    - Fix bug #37: (accidental) unconditional pkg_resources import.
    - Add (auto-generated) __version__ attribute to the main module.
    - Add fuzzy search to historic countries. (Fixe issue #26)
    - Update to iso-codes 4.5.0.
    - PR 9: Clean up the normalization (lower casing) of values in indexes and searches.
      See PR https://github.com/flyingcircusio/pycountry/pull/9 for detailed
      discussion. This also fixed issue #8.
    - Smaller cleanups and build environment version bumps.
    - PR 35: Python 3-only cleanups and updated Python minor version compatibility
    - PR 33: Remove defunct bugtracker link from README (thanks, jwilk)
    - P3 32: (Somewhat hilarious) Typo (thanks, jwilk)
    - Moved to Git/Github; switched from Bitbucket Pipelines to Travis builds.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 23.12.11:
    * Added fallback to name when common_name or official_name
      country attributes are missing
    * Added support for adding and removing country records, as well
      as casting to dict
    * Improve performance speed by checking for non-ascii chars
      before removing accents
    * Added search_fuzzy method to subdivisions
    * Added type hinting, created py.typed file, and added mypy
      checks to CI
    * Dropped support for end-of-life Python 3.6 and 3.7.
    * Added support for Python 3.11 and Python 3.12.
    * Added dependency on importlib-resources for Python 3.8.
    * Dropped implicit dependency on setuptools for pkg_resources.
    * Update to iso-codes 4.15.0. (Thanks to alanorth!)
    * Removes iso3166.mo files and opts for newer iso3166-1.mo and
      iso3166-3.mo files for Country and Historic Country Translations
      respectively.


author: tbechtold@suse.com
changelog:
  - update to 2.18:
    - PR #161 & #184: Update bundled PLY version to 3.10
    - PR #158: Add support for the __int128 type.
    - PR #169: Handle more tricky TYPEID in declarators.
    - PR #178: Add columns to the coord of each node


author: Todd R <toddrme2178@gmail.com>
changelog:
  - Update to 2.19
    - PR #277: Fix parsing of floating point literals
    - PR #254: Add support for parsing empty structs
    - PR #240: Fix enum formatting in generated C code (also #216)
    - PR #222: Add support for #pragma in struct declarations
  - Rebase fix-lexer-build.patch


author: Jonathan Brownell <jbrownell@suse.com>
changelog:
  - Restrict pattern matching to real files (not symlinks) during packaging
    of fake_libc_include to avoid build errors on Red Hat platforms.
    * fix-lexer-build.patch


author: Dirk Mueller <dmueller@suse.com>
changelog:
  - update to 2.20:
    - #61: Fix slow backtracking when parsing strings.
    - #99: Parser for FuncDecl incorrectly sets declname attribute on return type.
    - #310: Fix crash when file starts with a semicolon.
    - #313: Fix array type generation.
    - #314: Fix failed parsing of unnamed function parameters with array dim
      qualifiers.
    - #315: Fix pointer type generation.
    - #324: Fixes for u/l constant integer suffix.
    - #346: Fix error transforming an empty switch.
    - #350: Recognize integer multicharacter constants like 'ABCD'.
    - #363: Fix incorrect AST when parsing offsetof.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.21:
    - Much improved support for C11 (multiple PRs)
    - Support for parehthesized compount statements (#423)
    - Support for modern Python versions (3.9 and 3.10)
    - Fix support for structs with nested enums (#387)
    - Multiple small bug fixes


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.22:
    * Add missing SCHAR limit defines
    * Use proper SPDX identifier
    * Add Python 3.11 as a supported version
    * Fix multi-pragma/single statement blocks (#479)
    * Add an encoding parameter to parse_file
    * Feature/add pragma support
    * Set up permissions to ci.yml
    * _build_tables: Invalidate cache before importing generated modules
    * Upgrade GitHub Actions
    * Create a Security Policy
    * New example to generate AST from scratch
    * Add support for Python 3.12
    * ply: Make generated lextab.py deterministic
  - drop fix-lexer-build.patch (upstream)


author: Torsten Gruner <simmphonie@opensuse.org>
changelog:
  - update to 3.15.0:
    * Add support for curves Ed25519 and Ed448, including export and import of keys.
    * Add support for EdDSA signatures.
    * Add support for Asymmetric Key Packages (RFC5958) to import private keys.
    * GH#620: for Crypto.Util.number.getPrime , do not sequentially scan numbers searching for a prime.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 3.16.0
    * New features
      Build wheels for musl Linux. Thanks to Ben Raz.
    * Resolved issues
      GH#639: ARC4 now also works with 'keys' as short as 8 bits.
      GH#669: fix segfaults when running in a manylinux2010 i686 image.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.17.0:
    * ++++++++++++++++++++++++++
    * New features
    * Added support for the Counter Mode KDF defined in SP 800-108
      Rev 1.
    * Reduce the minimum tag length for the EAX cipher to 2 bytes.
    * An RSA object has 4 new properties for the CRT coefficients
    * ``dp``, ``dq``, ``invq`` and ``invq`` (``invp`` is the same
      value
    * as the existing ``u``).
    * Resolved issues
    * GH#526: improved typing for ``RSA.construct``.
    * GH#534: reduced memory consumption when using a large number
    * of cipher objects.
    * GH#598: fixed missing error handling for
      ``Util.number.inverse``.
    * GH#629: improved typing for ``AES.new`` and the various
    * mode-specific types it returns. Thanks to Greg Werbin.
    * GH#653: added workaround for an alleged GCC compiler bug
    * hat affected Ed25519 code compiled for AVX2.
    * GH#658: attribute ``curve`` of an ECC key was not always
    * he preferred curve name, as it used to be in v3.15.0
    * independently of the curve name specified when generating
    * he key).
    * GH#637: fixed typing for legacy modules ``PKCS1_v1_5`` and
      ``PKCS1_PSS``,
    * as their ``verify()`` returned a boolean.
    * GH#664: with OCB mode, nonces of maximum length (15 bytes
    * were actually used as 14 bytes nonces.
    * After this fix, data that was encrypted in past using the
    * default) nonce length of 15 bytes can still be decrypted
    * by reducing the nonce to its first 14 bytes.
    * GH#705: improved typing for ``nonce``, ``iv``, and ``IV``
      parameters
    * of cipher objects.
    * Other changes
    * Build PyPy wheels only for versions 3.8 and 3.9, and not for
      3.7 anymore.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.17.0:
    * Added support for the Counter Mode KDF defined in SP 800-108
      Rev 1.
    * Reduce the minimum tag length for the EAX cipher to 2 bytes.
    * An RSA object has 4 new properties for the CRT coefficients:
      ``dp``, ``dq``, ``invq`` and ``invq`` (``invp`` is the same
      value  as the existing ``u``).
    * GH#526: improved typing for ``RSA.construct``.
    * GH#534: reduced memory consumption when using a large number
      of cipher objects.
    * GH#598: fixed missing error handling for
      ``Util.number.inverse``.
    * GH#629: improved typing for ``AES.new`` and the various
      mode-specific types it returns. Thanks to Greg Werbin.
    * GH#653: added workaround for an alleged GCC compiler bug
      that affected Ed25519 code compiled for AVX2.
    * GH#658: attribute ``curve`` of an ECC key was not always
      the preferred curve name, as it used to be in v3.15.0
      (independently of the curve name specified when generating
      the key).
    * GH#637: fixed typing for legacy modules ``PKCS1_v1_5`` and
      ``PKCS1_PSS``, as their ``verify()`` returned a boolean.
    * GH#664: with OCB mode, nonces of maximum length (15 bytes)
      were actually used as 14 bytes nonces.
      After this fix, data that was encrypted in past using the
      (default) nonce length of 15 bytes can still be decrypted
      by reducing the nonce to its first 14 bytes.
    * GH#705: improved typing for ``nonce``, ``iv``, and ``IV``
      parameters of cipher objects.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.18.0:
    * Added support for DER BOOLEAN encodings.
    * The library now compiles on Windows ARM64. Thanks to Niyas
      Sait.
    * GH#722: ``nonce`` attribute was not correctly set for
      XChaCha20_Poly1305 ciphers. Thanks to Liam Haber.
    * GH#728: Workaround for a possible x86 emulator bug in Windows
      for ARM64.
    * GH#739: OID encoding for arc 2 didn't accept children larger
      than 39. Thanks to James.
    * Correctly check that the scalar matches the point when
      importing an ECC private key.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.19.0:
    * The ``update()`` methods of TupleHash128 and TupleHash256
      objects can now hash multiple items (byte strings) at once.
    * Added support for ECDH, with ``Crypto.Protocol.DH``.
    * GH#754: due to a bug in ``cffi``, do not use it on Windows
      with Python 3.12+.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.19.1 (bsc#1218564, CVE-2023-52323):
    * Fixed a side-channel leakage with OAEP decryption that could be
      exploited to carry out a Manger attack


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.20.0:
    * Added support for TurboSHAKE128 and TurboSHAKE256.
    * Added method Crypto.Hash.new() to generate a hash object
      given a hash name.
    * Added support for AES-GCM encryption of PBES2 and PKCS#8
      containers.
    * Added support for SHA-2 and SHA-3 algorithms in PBKDF2 when
      creating PBES2 and PKCS#8 containers.
    * Export of RSA keys accepts the prot_params dictionary as
      parameter to control the number of iterations for PBKDF2 and
      scrypt.
    * C unit tests also run on non-x86 architectures.
    * GH#787: Fixed autodetect logic for GCC 14 in combination with
      LTO.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 7.45.1:
    * Fixed build against libcurl < 7.64.1 (patch by Scott Talbert).
    * Add CURLOPT_MAXLIFETIME_CONN (patch by fsbs).
    * Easy handle duplication support (patch by fsbs).
    * Support for unsetting a number of multi options (patch by fsbs).
    * pycurl classes can now be subclassed (patch by fsbs).
    * Multi callbacks' thread state management fixed (patch by fsbs).
    * Add CURL_LOCK_DATA_PSL (patch by fsbs).
    * Add support for SecureTransport SSL backend (MacOS)
      (patch by Scott Talbert).
    * Fixed Python thread initialization causing hangs on operations
      (patch by Scott Talbert).
    * getinfo(CURLINFO_FTP_ENTRY_PATH) now handles NULL return from
      libcurl, returning None in this case.
    * Python 3.9 is now officially supported (patch by Bill Collins).
    * Added CURLOPT_DOH_URL (patch by resokou).
    * Best effort Python 2 support has been reinstated.
    * Added missing fields to curl_version_info struct (patch by Hasan).
    * Added CURLINFO_CONDITION_UNMET (patch by Dima Tisnek).
    * Exposed MAX_CONCURRENT_STREAMS in CurlMulti (patch by Alexandre Pion).
    * Compilation fixed against Python 3.10 alpha (patch by Kamil Dudka).
  - Remove patch curl7770_compatibility.patch and remove_nose.patch:
    * They have both merged upstream.
  - Modify patch disable_randomly_failing_tests.patch:
    * Use pytest rather than nose methods.
  - Add patch curl-789-error-message.patch:
    * Handle missing ! in a returned error message.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.45.2:
    * Python 3.9 compatibility for Py_TRASHCAN_SAFE_BEGIN
    * Add support for CURL_HTTP_VERSION_3
    * Add CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS options
    * Added HTTP09_ALLOWED option
    * Removed use of distutils
  - drop curl-789-error-message.patch (upstream)


author: Matej Cepl <mcepl@cepl.eu>
changelog:
  - Skip test_multi_socket_select (gh#pycurl/pycurl#819),
    test_multi_socket_action (gh#pycurl/pycurl#729), and
    test_request_with_verifypeer (gh#pycurl/pycurl#822).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.45.3:
    * Add CURLOPT_REQUEST_TARGET option
    * Add missing 2nd parameters to METH_NOARGS functions
    * Add CURLOPT_AWS_SIGV4 option (patch by Scott Talbert).
    * Add consistent names for newer Curl version constants
    * Only run HTTP version 3 option constant test if curl
      supported
    * Expose COMPILE_SSL_LIB in Python and use for test filtering
    * Filter tests based on *compile* libcurl version not runtime
      version
    * Use print function in callbacks documentation
    * Add missing shebang to tests/ext/test-suite.sh
    * Officially declare support for Python 3.12
    * Fix curl_multi_info_read flow that loses messages
    * Support using environment variables for setup on Windows
    * Add support for Schannel SSL backend (patch by Scott Talbert)
    * Skip HTTP2 tests based on a curl support check
    * Fix fake-curl tests so they work when run out of tree
    * xfail test_easy_pause_unpause unconditionally
    * Provide generic error strings in pycurl.error objects
    * Change URLs to new curl mailing list (patch by Michael C).
    * Add missing HTTPS proxy options (patch by Jean Hominal).
    * Add support for setting CURLOPT_SSLCERT_BLOB
    * Add support for setting rest of CURLOPTTYPE_BLOB fields
    * Build wheels on Linux/macOS/Windows (patch by Scott Talbert).
  - drop pause-unpause-xfail.patch (upstream)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.10.13:
    * Fix: Add max length check to `pydantic.validate_email`
    * Docs: Fix pip commands to install v1
    * Fixes the `maxlen` property being dropped on `deque`
      validation. Happened only if the deque item has been typed.
      Changes the `_validate_sequence_like` func, #6581 by
    * Importing create_model in tools.py through relative path
      instead of absolute path - so that it doesn't import V2 code
      when copied over to V2 branch, #6361 by @SharathHuddar
    * Add Pydantic `Json` field support to settings management,
    * Fixed literal validator errors for unhashable values
    * Fixed bug with generics receiving forward refs
    * Update install method of FastAPI for internal tests in CI,
      [#6117] by @Kludex
  - add Fix-Python-3.12-test-failures.patch: fix test fails with
    Python 3.12


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.10.14:
    * Update install.md
    * Fixes ci to only deploy docs on release
    * Fix cached_property handling in dataclasses when copied


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 2.6.3 (bsc#1222806, CVE-2024-3772):
    * Fix inheriting `Field` annotations in dataclasses
    * Fix warning for tuple of wrong size in `Union`
    * Fix `computed_field` JSON serializer `exclude_none` behavior
    * Check for `email-validator` version >= 2.0
    * Add `NatsDsn`
    * Add `ConfigDict.ser_json_inf_nan`
    * Support `AliasGenerator` usage
    * Support `yyyy-MM-DD` datetime parsing
    * Added bits conversions to the `ByteSize` class
    * Add `eval_type_backport` to handle union operator
    * Add support for `dataclass` fields `init`
    * Implement pickling for `ValidationError`
    * Add unified tuple validator that can handle "variadic" tuples via PEP-646
    * Drop Python3.7 support
    * Make `@validate_call` return a function instead of a custom descriptor
    * Introducing `classproperty` decorator for `model_computed_fields`
    * Move `getattr` warning in deprecated `BaseConfig`
    * Only hash `model_fields`, not whole `__dict__`
    * Fix overload position of `computed_field`
    * Fix issue `unittest.mock` deprecation warnings
    * Fix `to_snake` conversion
    * Add support for field `alias` in `dataclass` signature
    * Fix ordering of keys in `__dict__` with `model_construct` call
    * Fix usage of `@deprecated`
    * Add more support for private attributes in `model_construct` call
    * Support `pydantic.Field(repr=False)` in dataclasses
    * Override `dataclass_transform` behavior for `RootModel`
    * Refactor signature generation for simplicity
    * Fix ordering bug of PlainValidator annotation
    * Fix `exclude_none` for json serialization of `computed_field`s
    * Support yyyy-MM-DD string for datetimes
    * Fix memory leak with recursive definitions creating reference cycles
    * Add `ConfigDict.ser_json_inf_nan`
    * Fix validation of `Literal` from JSON keys when used as `dict` key
    * Fix bug re `custom_init` on members of `Union`
    * Fix `JsonValue` `bool` serialization
    * Fix handling of unhashable inputs with `Literal` in `Union`s
    Fix package description limit
    * Allow plugins to catch non `ValidationError` errors
    * Added `validation_error_cause` to config
    * Allow `str` as argument to `Discriminator`
    * Add `SchemaSerializer.__reduce__` method to enable pickle serialization
    * Properly rebuild the `FieldInfo` when a forward ref gets evaluated
    * Fix failure to load `SecretStr` from JSON (regression in v2.4)
    * Fix `defer_build` behavior with `TypeAdapter`
    * Fix: update `TypeVar` handling when default is not set
    * Raise an error when deleting frozen (model) fields
    * Use generated alias for aliases that are not specified otherwise
    * Fix: support `pydantic.Field(kw_only=True)` with inherited dataclasses
    * Support `validate_call` decorator for methods in classes with `__slots__`
    * Fix pydantic dataclass problem with `dataclasses.field` default
    * Support `|` operator (Union) in PydanticRecursiveRef
    * Add support for `NotRequired` generics in `TypedDict`
    * Added fix for signature of inherited dataclass
    * `PrivateAttr` is passed from `Annotated` default position
    * Don't decode bytes (which may not be UTF8) when displaying SecretBytes
    * Use `classmethod` instead of `classmethod[Any, Any, Any]`
    * Clearer error on invalid Plugin
    * Correct pydantic dataclasses import
    * Fix `definition-ref` bug with `Dict` keys
    * Don't accept `NaN` in float and decimal constraints
    * Add `lax_str` and `lax_int` support for enum values not inherited
      from str/int
    * Fix: proper pluralization in `ValidationError` messages
    * Disallow the string `'-'` as `datetime` input
    * Fix: NaN and Inf float serialization
    * Implement optional `number` to `str` coercion
    * Add `BaseModel.model_validate_strings` and `TypeAdapter.validate_strings`
    * Add Pydantic `plugins` experimental implementation
    * Do not override `model_post_init` in subclass with private attrs
    * Fix config detection for `TypedDict` from grandparent classes
    * Fix hash function generation for frozen models with unusual MRO
    * Make `strict` config overridable in field for Path
    * Use `ser_json_<timedelta|bytes>` on default in `GenerateJsonSchema`
    * Adding a check that alias is validated as an identifier for Python
    * Raise an error when computed field overrides field
    * Enforce behavior of private attributes having double leading underscore
    * Fix generic dataclass fields mutation bug (when using `TypeAdapter`)
    * Fix `TypeError` on `model_validator` in `wrap` mode
    * Fixed a regular expression denial of service issue by limiting whitespaces
    * Fix handling of `UUID` values having `UUID.version=None`
    * Fix `__iter__` returning private `cached_property` info
    * Make ModelWrapValidator protocols generic
    * Make shadowing attributes a warning instead of an error
    * Document `Base64Str` and `Base64Bytes`
    * Fix `config.defer_build` for serialization first cases
    * Support `__get_validators__`
    * Replace MiMalloc w/ default allocator
    * Cleaner error for invalid input to `Path` fields
    * Add section about Constrained classes to the Migration Guide
    * Fix issue where generic models couldn't be parametrized with BaseModel
    * add field_serializer to computed_field
    * fix dataclass annotated before validator called twice
    * Add benchmark representing FastAPI startup time
    * Fix json_encoders for Enum subclasses
    * Revert "Fix default port for mongosrv DSNs (#6827)"
    * Do not require `validate_assignment` to use `Field.frozen`
    * Fix generic computed fields
    * Handle non-json native enum values
    * Include Field extra keys name in warning
    * Skip FieldInfo merging when unnecessary
    * Add `StringConstraints` for use as Annotated metadata
    * Fix incorrect subclass check for secretstr
    * Mypy plugin for settings
    * fast-path checking finite decimals
    * Fix pydantic dataclasses that use slots with default values
    * Fix inheritance of hash function for frozen models
    * Error if an invalid field name is used with Field
    * Add `GenericModel` to `MOVED_IN_V2`
    * remove email validation from the north star benchmark
    * Fix default port for mongosrv DSNs
    * Fix serialization issue with `InstanceOf`
    * Add back support for `json_encoders`
    * Use `WeakValueDictionary` to fix generic memory leak
    * Add `config.defer_build` to optionally make model building lazy
    * Revise the section on required / optional / nullable fields.
    * Replace TransformSchema with GetPydanticSchema
    * Fix serialization for IPvAny
    * Touch up Decimal validator
    * Handle function validators in a discriminated union
    * Fix pydantic dataclass problem with dataclasses.field default_factory
    * Produce more accurate signatures for pydantic dataclasses
    * Ignore unrecognized fields from dataclasses metadata
  - Drop patches Fix-Python-3.12-test-failures.patch and
    ignore-urllib3-pyopenssl-warning.patch
  - Switch to pyproject macros.
  - Inject mulitbuild.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.6.4:
    * Fix usage of `AliasGenerator` with `computed_field` decorator
    * Fix nested discriminated union schema gen, pt 2
    * Fix bug with no_strict_optional=True caused by API deferral


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.7.1:
    * Bump `pydantic-core` to `v2.18.2`
    * Ftp and Websocket connection strings support
    * Use field description for RootModel schema description when
      there is `?`
    * Fix `validation_alias` behavior with `model_construct` for
      `AliasChoices` and `AliasPath`
    * Revert `typing.Literal` and import it outside the
      TYPE_CHECKING block
    * Fix `Secret` serialization schema, applicable for unions
    * Fix `strict` application to `function-after` with
      `use_enum_values`
    * Address case where `model_construct` on a class which defines
      `model_post_init` fails with `AttributeError`
    * Fix `model_json_schema` with config types
    * Support multiple zeros as an `int`
    * Fix validation of `int`s with leading unary plus
    * Fix interaction between `extra != 'ignore'` and
      `from_attributes=True`
    * Handle error from `Enum`'s `missing` function as
      `ValidationError`
    * Fix memory leak with `Iterable` validation
    * Adopt `jiter` `v0.2.0`
    * Extract attribute docstrings from `FieldInfo.description`
    * Add a `with_config` decorator to comply with typing spec
    * Allow an optional separator splitting the value and unit of
      the result of `ByteSize.human_readable`
    * Add generic `Secret` base type
    * Make use of `Sphinx` inventories for cross references in docs
    * Add environment variable to disable plugins
    * Add support for `deprecated` fields
    * Allow `field_serializer('*')`
    * Handle a case when `model_config` is defined as a model
      property
    * Update `create_model()` to support `typing.Annotated` as
      input
    * Add `ClickhouseDsn` support
    * Add support for `re.Pattern[str]` to `pattern` field
    * Support for `serialize_as_any` runtime setting
    * Add support for `typing.Self`
    * Ability to pass `context` to serialization
    * Add feedback widget to docs with flarelytics integration
    * Support for parsing partial JSON strings in Python
    * Add support for field level number to str coercion option
    * Update `warnings` parameter for serialization utilities to
      allow raising a warning


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.7.3:
    * Bump `pydantic-core` to `v2.18.4`
    * Fix u style unicode strings in python @samuelcolvin in
      pydantic/jiter#110
    * Replace `__spec__.parent` with `__package__`
    * Fix validation of `int`s with leading unary minus
    * Fix `str` subclass validation for enums
    * Support `BigInt`s in `Literal`s and `Enum`s
    * Fix: uuid - allow `str` subclass as input


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.7.4:
    * Bump `pydantic.v1` to `v1.10.16` reference
    * Specify `recursive_guard` as kwarg in `FutureRef._evaluate`


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.8.0:
    * Update citation version automatically with new releases
    * Bump pyright to `v1.1.367` and add type checking tests for
      pipeline API
    * Update `pydantic.v1` stub to `v1.10.17`
    * General package updates to prep for `v2.8.0b1`
    * Bump `pydantic-core` to `v2.20.0`
    * Add support for Python 3.13
    * Update `pdm` version used for `pdm.lock` to v2.16.1
    * Update to `ruff` `v0.4.8`
    * Experimental: support `defer_build` for `TypeAdapter`
    * Implement `deprecated` field in json schema
    * Experimental: Add pipeline API
    * Add support for programmatic title generation
    * Implement `fail_fast` feature
    * Add `ser_json_inf_nan='strings'` mode to produce valid JSON
    * Replace `__spec__.parent` with `__package__`
    * Fix Outputted Model JSON Schema for `Sequence` type
    * Fix typing of `_frame_depth`
    * Make `ImportString` json schema compatible
    * Hide private attributes (`PrivateAttr`) from `__init__`
      signature in type checkers
    * Make detection of `TypeVar` defaults robust to the CPython
      `PEP-696` implementation
    * Fix usage of `PlainSerializer` with builtin types
    * Add more robust custom validation examples
    * Fix ignored `strict` specification for
      `StringConstraint(strict=False)`
    * Use `Self` where possible
    * Do not alter `RootModel.model_construct` signature in the
      `mypy` plugin
    * Fixed type hint of `validation_context`
    * Support context being passed to TypeAdapter's
      `dump_json`/`dump_python`
    * Updates type signature for `Field()` constructor
    * Improve builtin alias generators
    * Fix typing of `TypeAdapter`
    * Add fallback default value for private fields in
      `__setstate__` of BaseModel
    * Support `PEP 746`
    * Allow validator and serializer functions to have default
      values
    * Fix bug with mypy plugin's handling of covariant `TypeVar`
      fields
    * Fix multiple annotation / constraint application logic
    * Respect `regex` flags in validation and json schema
    * Fix type hint on `IpvAnyAddress`
    * Allow a field specifier on `__pydantic_extra__`
    * Use normalized case for file path comparison
    * Modify constraint application logic to allow field
      constraints on `Optional[Decimal]`
    * `validate_call` type params fix
    * Check all warnings returned by pytest.warns()
    * Reuse `re.Pattern` object in regex patterns to allow for
      regex flags
  - drop support-pytest-8.patch (upstream)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.18.2:
    * Support multiple zeros as an `int`
    * Fix validation of `int`s with leading unary plus
    * Fix interaction between `extra != 'ignore'` and
      `from_attributes=True`
    * Handle error from `Enum`'s `missing` function as
      `ValidationError`
    * Fix memory leak with `Iterable` validation
  - update to 2.18.1:
    * allow serialization functions to upgrade warnings to
      exceptions
    * Fix: add `coerce_numbers_to_str option` in `StringSchema`
    * Trim leading zeros before parsing `str` -> `int`
    * Prevent trailing dots in integers
  - update to 2.18.0:
    * update to PyO3 0.21 final
    * Add coerce_numbers_to_str option in str_schema
    * caching strings from JSON
    * fix build warnings on python <3.11
    * Fixes for `ser_json_inf_nan` inference
    * Adopt jiter `0.2.0`
  - update to 2.17.0:
    * Add benchmarks for serializing model with complete schema
    * Prevent panicking when `__dict__` changes during iteration
    * Fix `TzInfo` equality check based on offset
    * Fix stack overflow due to recursion in some recursive
      serializer schemas.
    * Use PEP570 syntax
    * Fix parsing `BigInt` from `str`
    * Use new typing syntax for `_pydantic_core.pyi`
    * separate `Input` trait `'a` and `'py` lifetimes
    * Fix json serialization when `computed_field` is excluded
    * Implement `Input` for `str`
    * Move list validation to produce an associated type
    * Remove `with_new_extra`
    * Associated types for arguments in Input
    * Associated types for dict in input
    * Remaining associated types
    * Refactor `Input` trait to have single `as_python` cast for
      python inputs
    * Allow case where `__pydantic_extra__` is `None`, even if
      `extra='allow'`
    * Add ability to pass `context` to serialization
    * Add `serialize_as_any` runtime flag support


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.18.4:
    * Bump uuid from 1.7.0 to 1.8.0
    * Bump serde from 1.0.197 to 1.0.203
    * Bump the python-packages group with 6 updates
    * Uprev `jiter` to v0.4.1
  - update to 2.18.3:
    * Bump `serde_json` from 1.0.114 to 1.0.116
    * Bump the python-packages group with 7 updates
    * Bump `regex` from 1.10.3 to 1.10.4
    * Bump `pyo3` from 0.21.1 to 0.21.2
    * Bump `uraimo/run-on-arch-action` from 2.7.1 to 2.7.2


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.20.0:
    * Tidy up `tagged_union_schema`
    * Improvements in `Union` matching logic during validation
    * Fix `Union` validation logic when `extra='allow'`
    * Add list `fail_fast` config option
    * Update to PyO3 0.22, add Python 3.13 support
  - update to 2.19.0:
    * Lower MSRV to 1.75
    * Bump `libc` from 0.2.147 to 0.2.155
    * Make `ValidatorFunctionWrapHandler` positional only
    * Reuse `re.Pattern` object in regex patterns
    * Add ser_json_inf_nan='strings' mode to produce valid JSON


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.3.4:
    * add in-place reloading in docs
    * Nested pydantic dataclasses and doc fixes.
    * Remove leftover docstring causing warning on `pydantic` docs
      build
  - update to 2.3.3:
    * Fix an intriduced bug in parsing json field with
      discriminated union
    * Add CliSettingsSource alias handling for AliasChoices and
      AliasPath.
  - update to 2.3.2:
    * Initialize CLI source on demand.
    * Fix command line help from `argparse` formatting problem
    * Fix issue with nested model uppercase field name in case
      insensitive mode
  - update to 2.3.1:
    * Fix a regression in parsing env value for nested dict
  - update to 2.3.0:
    * Add environment parsing support for enums.
    * Improve `explode_env_vars` for better dict handling
    * add `PyprojectTomlConfigSettingsSource`
    * Fix broken link in AliasChoices class
    * Update Pydantic
    * fix: superfluous deep env conflicts with non-dict model leaf
    * fix: a second level of environment nesting expected a dict
    * Fix an issue when inner types of a discriminated union with a
      callable discriminator were not correctly identified as
      complex.
    * Fix a bug when we have case insentive field in nested model
    * Add CLI Settings Source


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 0.25:
    - Make parsing of SH_TYPE and PT_TYPE fields dependent on the machine
      (e_machine header field), making it possible to support conflicting type
      enums between different machines (#71 and #121).
    - Add parsing and readelf dumping for .eh_frame (#155)
    - Support compressed sections (#152)
    - Better support for parsing core dumps (#147)
    - More comprehensive handling of ARM relocations (#121)
    - Convert all ascii encoding to utf-8 encoding (#182)
    - Don't attempt to hex/string dump SHT_NOBITS sections in readelf (#119).
    - Test with Python 3.6
    - Minor bugfixes (#118)
    - Cleanup: Use argparse instead of optparse
    - Make readelf comparison tests run in parallel using multiprocessing; cuts
      testing time 3-5x
    - Improvements in MIPS flags handling (#165)


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - Update to 0.26
    * Call relocation for ARM v3 (#194)
    * More complete architecture coverage for ENUM_E_MACHINE (#206)
    * Support for .debug_pubtypes and .debug_pubnames sections (#208)
    * Support for DWARF v4 location lists (#214)
    * Decode strings in dynamic string tables (#217)
    * Improve symbol table handling in dynamic segments (#219)
    * Improved handling of location information (#225)
    * Avoid deprecation warnings in Python 3.7+
    * Add DWARF v5 OPs (#240)
    * Handle many new translation forms and constants
    * Lazy DIE parsing to speed up partial parsing of DWARF info (#249)


author: Mustafa Çal??kan <musfay@protonmail.com>
changelog:
  - Update to version 0.27:
    * Add a bit more details to dwarf_pubnames_types example
    * Make dwarf_pubnames_types example a bit more general
    * Replace field access with property name access
    * DebugSectionDescriptor.size initialized with decompressed section size (#339)
    * hash.py: observe endianness when reading hashes (#338)
    * DWARFv1 constants in enums, DW_FORM_ref parsing (#335)
    * elf: support for ELF files with a large number of sections (#333)
    * Remove Travis config


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.28:
    * Added a method for returning the index of a section by name
    * Allow filtering by section types in iter_sections
    * Support Android compressed rel/rela sections
    * Initial support for PPC64LE
    * Initial DWARF v5 support
    * Fixed parsing for structures containing uids or gids in core
      dumps
    * Allow filtering by segment types in iter_segments
    * Add support for .note.gnu.property
    * Update readelf tests to work with more recent version of
      readelf
    * Add support for note GNU_PROPERTY_X86_FEATURE_1_AND


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 0.29 (2022.08.09)
    - Lots of improvements to DWARFv5 support (#400, #411, #418, #419, #429 and
      additional PRs)
    - Support for compressed relocation sections (#395)
    - Support for supplementary object files - debug fission (#426)
    - Improved support for corrupted ELF headers (#434)
    - Readelf used for testing upgraded to 2.38 (#420)
    - Add auto-testing vs. llvm-dwarfdump (#428)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to update to 0.30:
    * Optimization: cache instantiation of DWARF structs
    * DWARFv5 CU headers
    * Bug fix in attribute reporting for DWA_FORM_indirect
    * Support for RISC-V attributes
    * Readelf used for testing upgraded to 2.41
    * Support for MIPS64 object files
    * LoongArch support


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.31:
    * Fix iter_notes to handle > 4byte segment alignment
    * Fix buffer overrun in NT_GNU_PROPERTY_TYPE_0 parser
    * add enum for v850 relocations
    * support for the gnu note with the aarch64 features
    * full changes see https://github.com/eliben/pyelftools/compare/v0.30...v0.31


author: tchvatal@suse.com
changelog:
  - Update to 2.0.0:
    * Support for enchant2, py3 fixes
  - Add patch to prefer enchant2 when both available:
    * enchant2.patch


author: Antonio Larrosa <alarrosa@suse.com>
changelog:
  - Modified enchant2.patch so the enchant-2 library is used when both
    enchant 1 and enchant 2 are installed on the system (boo#1141993).


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - Update to version 3.0.1
    * Uncouple PyEnchant version from the Enchant version. This release
      should be compatible with Enchant 1.6 to 2.2
    * Fix using PyEnchant with Enchant >= 2.0
    * Add support for pypy3, Python 3.7 and Python 3.8
    * New website, hosted on https://pyenchant.github.io/pyenchant/
    * Add enchant.set_prefix_dir()
    * Drop support for Python2
  - Drop obsolete patch enchant2.patch


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to version 3.1.0:
    - Add enchant.get_user_config_dir()
    - Fix: enchant.get_enchant_version() now returns a str,
      not some bytes
  - Skip test test_docstrings (gh#pyenchant/pyenchant#203)


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to version 3.1.1:
    - On Windows, set PATH instead of calling SetDllDirectory
      before loading the Enchant C library. This allows PyEnchant to
      co-exist with other libraries in the same program. Fix
      gh#pyenchant/pyenchant#207.
    - Hopefully fix gh#pyenchant/pyenchant#203 as well.


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Update to v3.2.0
    * Add support for Python 3.9
    * Add trove classifiers for all supported Python versions
    * Run ``pyupgrade`` across the code base
    * Update documentation about MacPorts


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 3.2.2:
    * Add support for Python 3.10
    * Fix ``Dict.__del__`` sometimes raising `TypeError` upon exit.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 4.7.0
    Changes
    fs fixtures cannot be nested; any nested fs fixture
    (for example inside an fs_session or fs_module fixture) will just reference the outer fixture (the behavior had been unexpected before)
    Fixes
    reverted a performance optimization introduced in version 3.3.0 that caused hanging tests with installed torch (see #693)
    do not use the build-in opener in pathlib as it may cause problems (see #697)
    add support for path-like objects in shutil.disk_usage (see #699)
    do not advertise support for Python 3.6 in setup.py (see #707)
    return the expected type from fcntl.ioctl and fcntl.fcntl calls if arg is of type byte; the call itself does nothing as before
    do not skip filesystem modules by name to allow using own modules with the same name (see #707)
    add missing support for os.renames (see #714)


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to version 5.0.0
    New version after the transfer to pytest-dev.
    Changes
    * the old-style API deprecated since version 3.4 has now been removed
    * the method copyRealFile deprecated since version 3.2 has been removed - use add_real_file instead
    Infrastructure
    * transferred the repository to the pytest-dev organization
    * renamed the master branch to main
    * added automatic PyPI release workflow
    * move documentation from GitHub Pages to Read the Docs
    New Features
    * added some support for st_blocks in stat result (see #722)
    Fixes
    * fixed handling of O_TMPFILE in os.open (caused handling of O_DIRECTORY as O_TMPFILE) (see #723)
    * fixed handling of read permissions (see #719)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.2.2:
    * Made the user and group IDs accessible via dedicated
      ``get_uid`` and ``get_gid`` functions
      (for symmetry to ``set_uid`` / ``set_gid``)
    * The test fixture is now included in the source distribution
      and installed with the package.
    * Some public constants in `fake_filesystem` that had been
      moved to `helpers` are made accessible from there again
    * Add missing fake implementations for `os.getuid` and
      `os.getgid` (Posix only)
    * Make sure a `/tmp` path exists under linux (`TMPDIR` may
      point elsewhere)
    * Support for latest Python 3.12 version.
    * Properties defining the capabilities of some `os` functions
      like `os.supports_follow_symlinks` are now properly faked to
      contain the fake functions if the real functions are faked
    * Supports current Python 3.12 version (alpha 6). We plan to
      make patch releases in case of breaking changes in alpha
      or beta versions.
    * Fake module classes previously defined in `fake_filesystem`
      have now moved to their own modules: `fake_os.FakeOsModule`,
      `fake_path.FakePathModule`, `fake_io.FakeIoModule` and
      `fake_open.FakeFileOpen`.
    * Patching of parsers for pandas >= 1.2 is removed since pandas
      now uses Python fs functions internally even when the engine
      selected is "c".
    * added possibility to set a path inaccessible under Windows by
      using `chown()` with the `force_unix_mode` flag (see #720)
    * added class level setup method `setUpClassPyfakefs` for
      unittest and class-scoped
    * fixture `fs_class` for pytest (see #752)
    * added experimental support for Python 3.12: added fake APIs
      for Windows junction support. These are not implemented and
      always return `False`.
    * added Python 3.12 to the test suite.
    * migrated to setuptools declarative syntax.
    * fixed docker tests when running on branches containing
      forward slashes


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.2.4:
    * Fixes a rare problem on pytest shutdown.
    * Adds compatibility with PyPy 3.10 and Python 3.12.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.3.4:
    * fixes handling of unhashable modules which cannot be cached
      (see #923)
    * reload modules loaded by the dynamic patcher instead of
      removing them - sometimes they may
    * not be reloaded automatically (see #932)
    * add back argument `use_dynamic_patch` as a fallback for
      similar problems
    * fixed a problem with patching `_io` under Python 3.12 (see
      [#910])
    * fixed a problem with accessing the temp path if emulating
      Linux under Windows
    * (see #912)
    * fixed result of `os.walk` with a path-like top directory
    * (see #915)
    * properly fixed the problem that filesystem patching was still
      active in the pytest
    * logreport phase (see #904), the previous fix was incomplete
    * changed behavior of `add_real_directory` to be able to map a
      real directory
    * Restores compatibility with PyTorch 2.0 and above, as well as
      with other classes that have custom __setattr__ methods
      (see #905).
    * Adds official support for Python 3.12.
    * removed a leftover debug print statement (see #869)
    * make sure tests work without HOME environment set (see #870)
    * automount drive or UNC path under Windows if needed for
      `pathlib.Path.mkdir()`
    * (see #890)
    * adapt patching `io.open` and `io.open_code` to work with
      Python 3.12
    * (see #836 and #892)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.3.5:
    * Fixes a regression due to the changed behavior of the dynamic
      patcher cleanup (see #939).
    * The change is now by default only made if the `django` module
      is loaded, and the behavior can
    * be changed using the new argument `module_cleanup_mode`.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.4.1:
    * fixed a regression from version 5.4.0 that incorrectly
      handled files opened twice via file descriptor
  - update to 5.4.0
    * Improves permission handling.
    * added support for `O_NOFOLLOW` and `O_DIRECTORY` flags in
      `os.open`
    * added support for fake `os.dup`, `os.dup2` and `os.lseek`
    * fixed a specific problem on reloading a pandas-related module
    * added possibility for unload hooks for specific modules
      use this also to reload django views (see #932)
    * fixed `EncodingWarning` for Python >= 3.11 (see #957)
      consider directory ownership while adding or removing
      directory entries
    * fixed handling of directory enumeration and search
      permissions under Posix systems
    * fixed creation of the temp directory in the fake file system
      after a filesystem reset
    * fixed handling of `dirfd` in `os.symlink` (see #968)
    * add missing `follow_symlink` argument to `os.link` (see #973)
    * fixed handling of missing attribute in `os.getxattr` (see
    * fixed permission problem with `shutil.rmtree` if emulating
      Windows under POSIX
    * fixed handling of errors on opening files via file descriptor
    * fixed handling of `umask` - it is now applied by default
    * fixed behavior of `os.makedirs` (see #987)


author: John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
changelog:
  - Update to 5.6.0
    * added preliminary support for Python 3.13 (tested with beta2) (see #1017)
    * added `apply_umask` argument to `FakeFilesystem.create_dir`
      to allow ignoring the umask (see #1038)
    * use real open calls for remaining `pathlib` functions so that
      it works nice with skippedmodules (see #1012)
  - from version 5.5.0
    * The usage of the `pathlib2` and `scandir` modules in pyfakefs
      is now deprecated. They will now cause deprecation warnings
      if still used. Support for patching these modules will be removed
      in pyfakefs 6.0.
    * `PureWindowsPath` and `PurePosixPath` now use filesystem-independent
      path separators, and their path-parsing behaviors are now consistent
      regardless of runtime platform and/or faked filesystem customization
      (see #1006)
    * fixed handling of Windows `pathlib` paths under POSIX and vice verse
      (see #1006)
    * correctly use real open calls in pathlib for skipped modules (see #1012)


author: Arun Persaud <arun@gmx.de>
changelog:
  - specfile:
    * update copyright year
  - update to version 2.2.0:
    * Include column information in error messages
    * Fix @overload detection with other decorators and in non-global
      scopes
    * Fix return-type annotation being a class member
    * Fix assignment to _ in doctests with existing _ name
    * Namespace attributes which are attached to ast nodes with
      _pyflakes_ to avoid conflicts with other libraries (notably
      bandit)
    * Add check for f-strings without placeholders
    * Add check for unused/extra/invalid 'string literal'.format(...)
    * Add check for unused/extra/invalid 'string literal % ...
    * Improve python shebang detection
    * Allow type ignore to be followed by a code # type:
      ignore[attr-defined]
    * Add support for assignment expressions (PEP 572)
    * Support @overload detection from typing_extensions as well
    * Fix @overload detection for async functions
    * Allow continue inside finally in python 3.8+
    * Fix handling of annotations in positional-only arguments
    * Make pyflakes more resistant to future syntax additions
    * Fix false positives in partially quoted type annotations
    * Warn about is comparison to tuples
    * Fix Checker usage with async function subtrees
    * Add check for if of non-empty tuple
    * Switch from optparse to argparse
    * Fix false positives in partially quoted type annotations in
      unusual contexts
    * Be more cautious when identifying Literal type expressions


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Update to v2.3.0
    * Recognize tuple concatenation in ``__all__`` export definitions
    * Better support use of annotation-only assignments when using
      ``from __future__ import annotations``
    * Recognize special-case typing for ``Annotated``
    * Fix undefined name ``__qualname__`` in class scope
    * Recognize special-cased typing for ``TypeVar``
    * Errors for undefined exports in ``__all__`` are shown in a
      deterministic order
    * Fix false positives in certain typing constructs (TypeVar,
      NamedTuple, TypedDict, cast)


author: pgajdos@suse.com
changelog:
  - version update to 2.4.0
    - Remove unused tracing code (``traceTree``)
    - Add support for ``match`` statement
    - Detect ``typing`` module attributes when imported with ``import ... as ...``
  - %check: use %pyunittest rpm macro


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.5.0:
    * mDrop support for EOL python 2.7 / 3.4 / 3.5
    * mIgnore ``__all__`` when not directly assigned
    * mHandle ``TypeAlias`` annotations as aliases (PEP 613)
    * mAssignment expressions (``:=``) target outer scope in comprehensions
    * mAdd support for new python 3.11 syntax
    * mUnify output so it is always ``filename:lineno:col:  message``
    * mProperly report ``SyntaxError`` from stdin in python < 3.9
    * mFix offsets of ``SyntaxError``s in pypy


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.0.1 (bsc#1206225):
    * Detect undefined name in variable defined by an annotated assignment
    * Add a new error for names which are annotated but unused
    * Remove handling of python 2.x ``# type:`` comments.  Use annotations
      instead


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 3.1.0:
    * Drop support for EOL python 3.6 / 3.7
    * Remove ``ContinueInFinally`` check (only relevant in python < 3.8)
    * Fix forward annotations inside a nested scope
    * Produce an error when a definition shadows an unused variable
    * Fix accessed global annotation being redefined in a local scope
    * Allow redefinition of functions across ``match`` arms
    * Fix potential ``None`` for ``lineno`` during tokenization errors
    * Add support for PEP 695 and python 3.12
  - Switch to pyproject macros.
  - Drop patch py3114.patch, included now.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.2.0:
    * Add support for *T (TypeVarTuple) and **P (ParamSpec) in PEP
      695 annotations.


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - add ignore _build directories to pytest args to fix builds for
    multiple pytest flavors gh#openSUSE/python-rpm-macros#66
  - fix tests failing locally because of gh#giampaolo/pyftpdlib#478


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Skip masquerade tests failung because the newest Pythons don't
    allow invalid addresses gh#giampaolo/pyftpdlib#550, bpo-43285
  - Remove script interpreter lines for test files and _compyt.py
    (fix rpmlint warnings)


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to Version: 1.5.7 - 2022-10-04
    Enhancements
    * #544: replace Travis with Github Actions for CI testing.
    Bug fixes
    * #481: fix [WinError 10038] an operation was attempted on something that is not a socket. (patch by Tailing Yuan)
    * #578, [critical]: FTPS broke with PyOpenSSL version 22.1.0.
  - Update to Version: 1.5.6 - 2020-02-16
    Enhancements
    * #467: added pre-fork concurrency model, spawn()ing worker processes to split load.
    * #520: directory LISTing is now 3.7x times faster.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Add patch support-python-312.patch, support Python 3.12+
  - Stop using greedy globs in %files
  - Switch to autosetup and pyproject macros
  - Remove Python 2 leftovers
  - Enable running the tests again


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.5.9:
    * Enhancements
    * #611: use ruff code style checker instead of flake8 + isort
      (much faster + makes many more code quality checks).
    * Bug fixes
    * #604: client connection may be reset in PASV/EPSV mode during
      TLS handshake. (patch by Benedikt McMullin)
    * #607: possible infinite wait in Epoll  (patch by
      @stat1c-void)
    * #607: possible infinite traceback printing in DTPHandler
      (patch by @stat1c-void)
    * #613: (CRITICAL) bugfix for TLS disconnect causing 100% CPU
      usage. (patch by @hakai)
    * #614: close connection on SSL EOF error, instead of
      erroneously replying with "226 Transfer completed."
    * Enhancements
    * #586: removed Python 2.6 support.
    * #591: speedup logging by 28% by using logging._srcfile = None
      trick. This avoids calling calling sys._getframe() for each
      log record.
    * #605: added support for Python 3.12.
    * Enhancements
    * #544: replace Travis with Github Actions for CI testing.
    * Bug fixes
    * #481: fix [WinError 10038] an operation was attempted on
      something that is not a socket.  (patch by Tailing Yuan)
    * #578, [critical]: FTPS broke with PyOpenSSL version 22.1.0.
    * Enhancements
    * #467: added pre-fork concurrency model, spawn()ing worker
      processes to split load.
    * #520: directory LISTing is now 3.7x times faster.
    * Enhancements
    * #495: colored test output.
    * Bug fixes
    * #492: CRLF line endings are replaced with CRCRLF in ASCII
      mode downloads.
    * #496: import error due to multiprocessing.Lock() bug.
    * Enhancements
    * #463: FTPServer class can now be used as a context manager.
    * Bug fixes
    * #431: Ctrl-C doesn't exit python -m pyftpdlib on Windows.
    * #436: ThreadedFTPServer.max_cons is evaluated
      threading.activeCount(). If the user uses threads of its own
      it will consume the number of max_cons.
    * #447: ThreadedFTPServer and MultiprocessFTPServer do not
      join() tasks which are no longer consuming resources.
    * Enhancements
    * #201: implemented SITE MFMT command which changes file
      modification time. (patch by Tahir Ijaz)
    * #327: add username and password command line options
    * #433: documentation moved to readthedocs:
      http://pyftpdlib.readthedocs.io
    * Bug fixes
    * #403: fix duplicated output log. (path by PonyPC)
    * #414: Respond successfully to STOR only after closing file
      handle.
  - drop support-python-312.patch (upstream)


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Add patch to work with python 3.8:
    * python38.patch
  - Restrict pytest to < 3.0 as the testing code does not work
    upstream on anything else


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Add patch pytest4.patch to make the test suite compatible with
    pytest4+ (yes, THIS is the only change necessary!).
    gh#Kozea/pygal#340


author: Dirk Müller <dmueller@suse.com>
changelog:
  - skip python 2.x (no longer supported) and enable CairoSVG
    for all python flavors not just the main one


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.0.4:
    * Missing declaration of importlib_metadata dependency in setup.py
    * Failure with tox due to missing README.md
    * Misused entry_points causing failure with Python 3.12
    * Prevent installing with Python versions < 3.8
    * Replace unmaintained pytest-flake8 with plain flake8
    * Remove Iterable import deprecation warning
    * Remove invalid escape sequence warnings in tests
    * Fix test failures due to removed pytest attribute
    * Fix linting errors with latest isort and flake8
  - use packaged COPYING


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Disable tests run as now they all fail under pytest 5.3 due to
    slight coloring change that does not match fixtures


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Switching off the failing coloring tests, it looks like
    gh#asottile/pygments-pytest#18, but not completely certain
    about it.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove python_module macro definition
  - More specific python_sitelib in %files
  - Update to 2.3.0:
    * Update azure-pipelines template repositories
    * stricter mypy settings
    * exit(main()) -> raise SystemExit(main()) pt2
    * drop python3.6 support
    * coloring changes for pytest 7.2


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to 1.7:
    - Drop Python 3.6 support
    - Add Python 3.9 support
    - Require Graphviz 2.42+, (Graphviz 2.46+ recommended)
    - Improve installation process and documentation
    - Switch from nose to pytest
    - Remove old Python 2 code
    - AGraph.eq includes attribute comparison (PR #246)


author: Arun Persaud <arun@gmx.de>
changelog:
  - specfile:
    * update copyright year
  - update to version 1.9:
    * Drop Python 3.7 support
    * Add Python 3.10 support
    * Add osage and patchwork to progs list
    * Add IPython rich display hook to AGraph class
    * Add contributor guide
    * Fixed directed nature of AGraph.copy()
    * Minor documentation and code fixes


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Add test_drawing_png_output_with_NULL_smoketest to the list of tests
    to skip because missing png support. gh#pygraphviz/pygraphviz#366


author: Andreas Schneider <asn@cryptomilk.org>
changelog:
  - Update to version 1.11
    * Update to SWIG 4.1.1
    * Require Graphviz 2.46+
    * Fix passthrough of graph attributes when copying
    * Update install instructions


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 1.13:
    * Remove outdated pystrings.swg (#508).
    * Fix segfault from repr attempting to access attrs on uninitialized
      instance (#520).
    * Add Python 3.12 support (#486).
    * Copy edges keys when copying a graph
    * Drop Python 3.8 support per SPEC 0 (#465).
    * Drop Python 3.9 support (#487).
    * Update documentation building requirements (#488).
    * Add pyproject.toml (#471).
    * Stop building pdf of the docs (#503).
  - Drop patch docdir.patch, no longer needed.
  - Build the documentation by hand, since now we need to, and do so in
    its own flavor.
  - Switch to pyproject macros.


author: toddrme2178@gmail.com
changelog:
  - Update to version 1.5.2
    * Fixes critical memory leaks in common code paths
      introduced in 1.4.2.
    * Fixes a critical bug in a corner of the zlib inflation code,
      where prior memory errors would trigger a double free.


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Remove bcond test
  - Activate test suite
  - Use %license
  - Update URL to GitHub repository
  - Update to v1.6.0


author: Dominique Leuenberger <dimstar@opensuse.org>
changelog:
  - Cope with memcached moving from sbindir to bindir and safeguard
    against non-existing memcached binary: it if can't be started,
    there is no reason to even attempt to run the test suite.


author: Markéta Machová <mmachova@suse.com>
changelog:
  - Update to 1.6.3
    * Fix logger.warn() deprecation warnings
    * Modernize tests and test harness
    * Python 3.10 support
  - Remove python-pylibmc-remove-nose.patch


author: aloisio@gmx.com
changelog:
  - Update to version 1.0.4
    * Specify line spacing for list items for only within the
      .body class.
    version 1.0.3
    * Add line spacing for list items. Closes #4.
    version 1.0.2:
    * Remove HTTPS protocol to allow either HTTPS or HTTP.
    version 1.0.1:
    * Use HTTPS for protocol of stylesheets.
    version 1.0:
    * Use zest.releaser for releasing.
    * Improve documentation.
  - Converted to single-spec


author: toddrme2178@gmail.com
changelog:
  - Update to version 1.0.6
    * Update zest.releaser in order to release to PyPI.
  - Update to version 1.0.5
    * Clean up licensing
      https://github.com/Pylons/pylons-sphinx-themes/issues/8


author: Hans-Peter Jansen <hpj@urpla.net>
changelog:
  - Update to version 1.0.10 (2018-09-25)
    + Add Read the Docs to the recipients of ad revenue.
  - Update to version 1.0.9 (2018-09-23)
    + Remove hyphenation because it sometimes hyphenates
      inappropriately, such as in code.
  - Update to version 1.0.8 (2018-09-21)
    + Fix support for Ethical Ads.
  - Update to version 1.0.7 (2018-09-21)
    + Added support for Ethical Ads for Read The Docs.
      See https://github.com/Pylons/pylons-sphinx-themes/pull/12


author: Arun Persaud <arun@gmx.de>
changelog:
  - specfile:
    * update copyright year
  - update to version 1.0.11:
    * Fix the width of linenos table column when used in code-blocks.


author: Yogalakshmi Arunachalam <yarunachalam@suse.com>
changelog:
  - Update to v1.0.13 (2020-11-30)
    Revert fix of linenos in tables. Sphinx fixed this issue in v3.0. RTD rolled it out as a feature flag in April 2020,
    and it now appears to be rolling out in more projects.
    Add padding to the top of linenodiv to align with code in tables and its extra 2px top border.
  - Update to v1.0.12 (2020-11-28)
    Added style .wy-table-responsive { overflow-x: scroll; } to prevent tables from blowout by long dotted method names.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Split primary flavor in multibuild for possible inclusion into
    Ring0
  - Remove hardcoded primary_python variable.


author: Markéta Machová <mmachova@suse.com>
changelog:
  - update to 3.1.0
    * API ENHANCEMENT: `Optional(expr)` may now be written as `expr | ""`
    * Added new class property `identifier` to all Unicode set classes in
      `pyparsing.unicode`, using the class's values for `cls.identchars`
      and `cls.identbodychars`.
    * ParseResults` now has a new method `deepcopy()`, in addition to the
      current `copy()` method.
    * Reworked `delimited_list` function into the new `DelimitedList` class.
    * Added new class method `ParserElement.using_each`
    * Added new builtin `python_quoted_string`, which will match any form
      of single-line or multiline quoted strings defined in Python.
    * `ParserElement.validate()` is deprecated.
    * Added bool `embed` argument to `ParserElement.create_diagram()`.
    * Added support for Python 3.12.
    * Updated `create_diagram()` code to be compatible with
      railroad-diagrams package version 3.0.
    * Many other changes, see upstream CHANGES


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.1.1:
    * Fixed regression in Word(min), reported by Ricardo Coccioli,
      good catch!
    * Fixed bug in bad exception messages raised by Forward
    * Fixed regression in SkipTo, where ignored expressions were
      not checked when looking for the target expression.
    * Fixed type annotation for enable_packrat
    * Some general internal code cleanup
  - drop limit-error-messages.patch (upstream)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.1.2:
    * Added `ieee_float` expression to `pyparsing.common`, which
      parses float values, plus "NaN", "Inf", "Infinity".
    * Updated pep8 synonym wrappers for better type checking
      compatibility.
    * Fixed empty error message bug, PR submitted by InSync (#534).
      This _should_ return
      pyparsing's exception messages to a former, more helpful
      form. If you have code that
      parses the exception messages returned by pyparsing, this
      may require some code changes.
    * Some code refactoring to reduce code nesting, PRs submitted
      by InSync.
    * All internal string expressions using '%' string
      interpolation and `str.format()` converted to f-strings.


author: 9+suse@cirno.systems
changelog:
  - Update to version 1.6.0
    * Capture stderr of xclip subprocess, fixed issue where emojii
      cut off the last character, allowed selection between PRIMARY
      and CLIPBOARD for xsel and xclip
    * Pyperclip works with qtpy module, set pyqt as lower priority
      than xsel/xclip/klipper, add support for PyQt5
    * Fixed the encoding that was set to "uft-8"
    * Added lazy loading


author: pgajdos@suse.com
changelog:
  - version update to 1.7.0
    * Added ability to read/write clipboard by running `python -m pyperclip`
  - added sources
    https://github.com/asweigart/pyperclip/issues/17
    + LICENSE.txt


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.1.0:
    * Add type annotations to the public API.
    * More careful handling of the backend-path key from
      pyproject.toml. Previous versions would load the backend and
      then check that it was loaded from the specified path; the new
      version only loads it from the specified path. The
      BackendInvalid exception is now a synonym for
      :exc:`BackendUnavailable`, and code should move to using the
      latter name.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Skip a test failing due to new error strings in packaging 22
    gh#FFY00/python-pyproject-metadata#41


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.14.1
    * Support different patch versions for Qt v5.15.
  - Drop pyqt-builder-add-timeline5.15.patch


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.15.2
    * Bundle the QML libraries for QtCharts and QtDataVisualization
    * Bundle qtscript translations with Qt5 as they are a hidden
      requirement.
    * Bundle the Qt6 qtconnectivity translations.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.15.3
    * Added the '--apple-universal2' command line option to the build
      tools to specify a universal build on macOS.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.15.4
    * Added QtMultimediaQuick to the Qt5 bundle.
    * Removed some plugins from the PyQt5 bundle.
    * Bundle the QtWebChannelQuick library.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.16.0
    * The project repository has been migrated to GitHub.
    * PyQt-builder is now licensed under the BSD-2-Clause license.
    * The project has now been migrated from setup.py to
      setuptools_scm and pyproject.toml.
    * The documentation is now hosted at Read the Docs.
    * The QtQuickPhysics libraries added to Qt v6.6.0 are now
      bundled.
    * The QtQuickControls2 style libraries added to Qt v6.6.3 are
      now bundled.
    * The example in the documentation no longer uses deprecated
      features that will be removed in SIP v7.
    * The example is now PyQt6-based rather than PyQt5.
    * The default ABI versions are now v12.13 and v13.6.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.16.1
    * The QtQuick3DHelpersImpl, QtQuickControls2MacOSStyleImpl and
      QtQuickTimelineBlendTrees libraries added to Qt v6.7.0 are now
      bundled.
    * The missing `LICENSE` file was added.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - update to version 0.1
  - Add PyQt6 support
  - Add link to wiki in macros file
  - Remove python-rpm-macros interpreter workaround. The
    inconsistency never made it into a released package.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - remove the runtime requirement on a specific sip-devel package.
    Let the package using the macros decide what they need.


author: Antonio Larrosa <alarrosa@suse.com>
changelog:
  - Add Conflict/Obsoletes with the python3-pyqt-rpm-macros package
    that was erroneously added to SLE15-SP4.


author: Arun Persaud <arun@gmx.de>
changelog:
  - specfile:
    * be more specific in %files section
  - update to version 1.4.1:
    * This is the latest release with py2 support
    * Remove py33, py34 support
    * web scraping improvements: default timeout and session support
    * Add API methods to serialize form-related elements according to
      spec
    * Include HTML markup when querying textarea text/value


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.4.3:
    * No longer use a universal wheel
    * Fix exception raised when calling `PyQuery("<textarea></textarea>").text()`
    * python2 is no longer supported


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 2.0.0:
    * Breaking change: inputs starting with "http://" or "https://" like
      PyQuery("http://example.com") will no longer fetch the contents of the
      URL. Users desiring the old behavior should switch to
      PyQuery(url="http://example.com").
    * Add nextUntil method
    * .remove() no longer inserts a space in place of the removed element
    * Fix escaping of top-level element text in .html() output
    * Support (and require) cssselect 1.2+
    * Drop support for python 3.5/3.6


author: Dirk Mueller <dmueller@suse.com>
changelog:
  - update to 0.15.7:
    * Fix #186, type errors with more recent versions of MyPy. Thanks @qhesz for this!
    * Build and test on ARM during CI. Thanks @ossdev07 for this!
    * Set absolute imports for python2 compatibility. Thanks @michalvi for this!
    * Fix #182 moduleinit name clash.
    * Fix #179 Fixed 'ignore_extra' factory parameter for pvector. Thanks @ss18 for this!


author: Dirk Mueller <dmueller@suse.com>
changelog:
  - update to 0.16.0:
    * No major updates but Python 2 support no longer guaranteed.
    * Fix #192, 'ignore_extra' for 'pvector_field'. Thanks @ss18 for this!
    * Fix #191, include LICENCE in distribution. Thanks @johnthagen for this!
    * Fix #190, minor MyPy errors. Thanks @Qhesz for this!


author: Dirk Mueller <dmueller@suse.com>
changelog:
  - update to 0.17.3:
    * Fix #208, release v0.17.3 with proper meta data requiring Python >= 3.5.
    * Add "python_requires >= 2.7" to setup.py in preparation for Python 2.7 incompatible updates
    * Same as 0.17.1 released with more recent version of setuptools to get proper meta data for in place.
    * Restrict package to Python >= 3.5 to not break unpinned Python 2 dependencies. Thanks @vphilippon
    * Remove Python 2 support code. This includes dropping some compatibility code and the dependency on
    six. Thanks @djailla for this.
    * Fix #200, python 3 exception chaining. This is a minor backwards incompatibility, hence stepping
    to 0.17.0. Thanks @cool-RR for this!


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Remove remnant requirements of six and numpy: These are neither
    used anywhere in the package code, nor in the tests.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.18.0:
    * Fix #209 Update freeze recurse into pyrsistent data structures and thaw to
      recurse into lists and dicts
    * Fix #226, stop using deprecated exception.message.
    * Fix #211, add union operator to persistent maps.
    * Fix #194, declare build dependencies through pyproject.toml.
    * Officially drop Python 3.5 support.
    * Fix #223, release wheels for all major platforms.
    * Fix #221, KeyError obscured by TypeError if key is a tuple.
    * Fix LICENSE file name spelling.
    * Fix #216, add abstractmethod decorator for CheckedType and ABCMeta for
      _CheckedTypeMeta.
    * Fix #228, rename example classes in tests to avoid name clashes with pytest.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.18.1:
    * Add universal wheels for MacOS, thanks @ntamas for this!
    * Add support for Python 3.10, thanks @hugovk for this!
    * Fix #236 compilation errors under Python 3.10.
    * Drop official support for Python 3.6 since it's EOL since 2021-12-23.
    * Fix #238, failing doc tests on Python 3.11, thanks @musicinmybrain for this!


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.19.3:
    * Fix #264, add wheels and official support for Python 3.11.
    * Fix #263, pmap regression in 0.19.1. Element access sometimes unreliable
    after insert.
    * Fix #159 (through PR #243). Pmap keys/values/items now behave more like the
    corresponding Python 3 methods on dicts. Previously they returned a
    materialized PVector holding the items, now they return
    views instead.
    * Fix #244, type for argument to PVector.delete missing.
    * Fix #249, rename perf test directory to avoid tripping up automatic
    discovery in more recent setuptools versions
    * Fix #247, performance bug when setting elements in maps and adding elements
    to sets
    * Fix #248, build pure Python wheels. This is used by some installers.
    * Fix #254, #258, support manylinux_2014_aarch64 wheels.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.20.0:
    * Fix #245, never introduce new nodes during discard.
    * Fix #268, do not rely on well implemented __ne__ for keys in
      pmaps, instead do explicit inversion of equality
      comparison when checking for inequality.
    * Officially support Python 3.12.
    * Officially drop support for Python 3.7.
    * Fix #273, build more types of wheels.
    * Fix #282, add generic types to types
    * Fix #281, defaultdict can now be frozen. NB! This is a
      backwards incompatible fix since defaultdict was not
      previously frozen.


author: dmueller@suse.com
changelog:
  - update to 2.0.1:
    - #20: host tarball on PYPI
    - #21: project migrated from google code to github
    - #21: project migrated from SVN to GIT
    - #22: pysendfile won't compile on python 3.4
    - #23: add a Makefile
    - #24: use of travis continuous integration
    - #25: use tox for multiple python versions testing


author: toddrme2178@gmail.com
changelog:
  - Update to Version 3.3   2017-03-08
    + Improvements:
    * [#206] Exclusive access on POSIX. ``exclusive`` flag added.
    * [#172] list_ports_windows: list_ports with 'manufacturer' info property
    * [#174] miniterm: change cancel impl. for console
    * [#182] serialutil: add overall timeout for read_until
    * socket: use non-blocking socket and new Timeout class
    * socket: implement a functional a reset_input_buffer
    * rfc2217: improve read timeout implementation
    * win32: include error message from system in ClearCommError exception
    * and a few minor changes, docs
    + Bugfixes:
    * [#183] rfc2217: Fix broken calls to to_bytes on Python3.
    * [#188] rfc2217: fix auto-open use case when port is given as parameter
    + Bugfixes (posix):
    * [#178] in read, count length of converted data
    * [#189] fix return value of write
    + Bugfixes (win32):
    * [#194] spurious write fails with ERROR_SUCCESS
  - Update to Version 3.2.1
    + Improvements:
    * remove ``serial.aio`` in favor of separate package, ``pyserial-asyncio``
    * add client mode to example ``tcp_serial_redirect.py``
    * use of monotonic clock for timeouts, when available (Python 3.3 and up)
    * [#169] arbitrary baud rate support for BSD family
    * improve tests, improve ``loop://``
    + Bugfixes:
    * [#137] Exception while cancel in miniterm (python3)
    * [#143] Class Serial in protocol_loop.py references variable before assigning
      to it
    * [#149] Python 3 fix for threaded.FramedPacket
    + Bugfixes (posix):
    * [#133] _update_dtr_state throws Inappropriate ioctl for virtual serial
      port created by socat on OS X
    * [#157] Broken handling of CMSPAR in serialposix.py
    + Bugfixes (win32):
    * [#144] Use Unicode API for list_ports
    * [#145] list_ports_windows: support devices with only VID
    * [#162] Write in non-blocking mode returns incorrect value on windows
  - Update to Version 3.2.0
    + See 3.2.1, this one missed a merge request related to removing aio.
  - Update to Version 3.1.1
    + Improvements:
    * deprecate ``nonblocking()`` method on posix, the port is already in this
      mode.
    * style: use .format() in various places instead of "%" formatting
    + Bugfixes:
    * [#122] fix bug in FramedPacket
    * [#127] The Serial class in the .NET/Mono (IronPython) backend does not
      implement the _reconfigure_port method
    * [#123, #128] Avoid Python 3 syntax in aio module
    + Bugfixes (posix):
    * [#126] PATCH: Check delay_before_tx/rx for None in serialposix.py
    * posix: retry if interrupted in Serial.read
    + Bugfixes (win32):
    * win32: handle errors of GetOverlappedResult in read(), fixes #121
  - Update to Version 3.1.0
    + Improvements:
    * improve error handling in ``alt://`` handler
    * ``socket://`` internally used select, improves timeout behavior
    * initial state of RTS/DTR: ignore error when setting on open posix
      (support connecting to pty's)
    * code style updates
    * posix: remove "number_to_device" which is not called anymore
    * add cancel_read and cancel_write to win32 and posix implementations
    + Bugfixes:
    * [#68] aio: catch errors and close connection
    * [#87] hexlify: update codec for Python 2
    * [#100] setPort not implemented
    * [#101] bug in serial.threaded.Packetizer with easy fix
    * [#104] rfc2217 and socket: set timeout in create_connection
    * [#107] miniterm.py fails to exit on failed serial port
    + Bugfixes (posix):
    * [#59] fixes for RTS/DTR handling on open
    * [#77] list_ports_osx: add missing import
    * [#85] serialposix.py _set_rs485_mode() tries to read non-existing
      rs485_settings.delay_rts_before_send
    * [#96] patch: native RS485 is never enabled
    + Bugfixes (win32):
    * fix bad super call and duplicate old-style __init__ call
    * [#80] list_ports: Compatibility issue between Windows/Linux
  - Implement single-spec version.


author: toddrme2178@gmail.com
changelog:
  - Update to version 3.4
    + Improvements:
    * miniterm: suspend function (temporarily release port, :kbd:`Ctrl-T s`)
    * [#240] context manager automatically opens port on ``__enter__``
    * [#141] list_ports: add interface number to location string
    * [#225] protocol_socket: Retry if ``BlockingIOError`` occurs in
      ``reset_input_buffer``.
    + Bugfixes:
    * [#153] list_ports: option to include symlinked devices
    * [#237] list_ports: workaround for special characters in port names
    + Bugfixes (posix):
    * allow calling cancel functions w/o error if port is closed
    * [#220] protocol_socket: sync error handling with posix version
    * [#227] posix: ignore more blocking errors and EINTR, timeout only
      applies to blocking I/O
    * [#228] fix: port_publisher typo
  - Fix shebangs


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Remove unnecessary Windows and OSX modules from runtime package
  - Remove Mono and Java CLI modules from runtime package
  - Activate test suite
  - Fix fdupes, hashbangs and executable bits
  - Remove non-break-space in python-pyserial.changes with normal space


author: Adrian Schröter <adrian@suse.de>
changelog:
  - update to version 3.5:
    New Features:
    [#411] Add a backend for Silicon Labs CP2110/4 HID-to-UART bridge. (depends on hid module)
    Improvements:
    [#315] Use absolute import everywhere
    [#354] Make ListPortInfo hashable
    [#372] threaded: "write" returns byte count
    [#400] Add bytesize and stopbits argument parser to tcp_serial_redirect
    [#408] loop: add out_waiting
    [#495] list_ports_linux: Correct "interface" property on Linux hosts
    [#500] Remove Python 3.2 and 3.3 from test
    [#261, #285, #296, #320, #333, #342, #356, #358, #389, #397, #510] doc updates
    miniterm: add CTRL+T Q as alternative to exit
    miniterm: suspend function key changed to CTRL-T Z
    add command line tool entries pyserial-miniterm (replaces miniterm.py) and pyserial-ports (runs serial.tools.list_ports).
    python -m serial opens miniterm (use w/o args and it will print port list too) [experimental]
    Bugfixes:
    [#371] Don't open port if self.port is not set while entering context manager
    [#437, #502] refactor: raise new instances for PortNotOpenError and SerialTimeoutException
    [#261, #263] list_ports: set default name attribute
    [#286] fix: compare only of the same type in list_ports_common.ListPortInfo
    rfc2217/close(): fix race-condition
    [#305] return b'' when connection closes on rfc2217 connection
    [#386] rfc2217/close(): fix race condition
    Fixed flush_input_buffer() for situations where the remote end has closed the socket.
    [#441] reset_input_buffer() can hang on sockets
    examples: port_publisher python 3 fixes
    [#324] miniterm: Fix miniterm constructor exit_character and menu_character
    [#326] miniterm: use exclusive access for native serial ports by default
    [#497] miniterm: fix double use of CTRL-T + s use z for suspend instead
    [#443, #444] examples: refactor wx example, use Bind to avoid deprecated warnings, IsChecked, unichr
    [#265] posix: fix PosixPollSerial with timeout=None and add cancel support
    [#290] option for low latency mode on linux
    [#335] Add support to xr-usb-serial ports
    [#494] posix: Don't catch the SerialException we just raised
    [#519] posix: Fix custom baud rate to not temporarily set 38400 baud rates on linux
    [#509 #518] list_ports: use hardcoded path to library on osx
    [#542] list_ports_osx: kIOMasterPortDefault no longer exported on Big Sur
    [#545, #545] list_ports_osx: getting USB info on BigSur/AppleSilicon


author: toddrme2178@gmail.com
changelog:
  - Rename to python-pysmbc to follow python package naming rules.
  - Update to version 1.0.15.8
    * No changelog


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 1.0.18:
    + New in 1.0.18:
    * Support Fix memleak for auth_fn #32
    * Support readinto #31
    + New in 1.0.17:
    * Support buffer protocol #30
    * exceptions: use a shared superclass #28
    * setup: autodetect required library dirs #27


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - update to 1.0.22
    * Add File_seekable #52
    * Rework some routines to fix holes in error checking #50
    * Fix File_read when the current location is not zero #49
    * Add File_flush #48
    * Add File_tell #47
    * Added SAMBA protocol version optional variable #41


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Update to 1.0.23
    No changelog provided. From the git log:
    * Python 3 API changes
    * Rework Context.getxattr() To Only Allocate Needed Buffer Space
  - Remove evil ifpython3. Let the macros figure out the correct
    provides/obsoletes tags. gh#openSUSE/python-rpm-macros#66
  - Upstream is moving to pytest, but the tests still need a running
    samba server.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.25.1:
    * Introduced use_kerberos keyword to allow Kerberos authentication
    * Added new test cases to verify setxattr() input and getxattr()
      output
    * smbc/context.c: Fix PY_MAJOR_VERSION define


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.3.2:
    * Fix bug where very long option
      names could cause pytest to break with ``OSError: [Errno 36]
      File name too long`` on some systems.
    * Support for Python 3.12
    * honored to load root ``conftests``.
    * The `monkeypatch` `setitem`/`delitem` type annotations now
      allow `TypedDict` arguments.
    * Fixed bug in assertion rewriting
      where a variable assigned with the walrus operator could not
      be used later in a function call.
    * Fixed ``--last-failed``'s
      "(skipped N files)" functionality for files inside of
      packages (directories with `__init__.py` files).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.4.0:
    * Added
      :func:`ExceptionInfo.from_exception()
      <pytest.ExceptionInfo.from_exception>`, a simpler way to
      create an :class:`~pytest.ExceptionInfo` from an exception.
      This can replace :func:`ExceptionInfo.from_exc_info()
      <pytest.ExceptionInfo.from_exc_info()>` for most uses.
    * Update test log report annotation
      to named tuple and fixed inconsistency in docs for
      :hook:`pytest_report_teststatus` hook.
    * When an exception traceback to be
      displayed is completely filtered out (by mechanisms such as
      ``__tracebackhide__``, internal frames, and similar), now
      only the exception string and the following message are
      shown:
      "All traceback entries are hidden. Pass `--full-trace` to see
      hidden and internal frames.".
    * Improved verbose output (``-vv``)
      of ``skip`` and ``xfail`` reasons by performing text wrapping
      while leaving a clear margin for progress output.
    * Added ``TerminalReporter.wrap_write()`` as a helper for that.
    * Added handling of ``%f``
      directive to print microseconds in log format options, such
      as ``log-date-format``.
    * Added the underlying exception to the cache provider's path
      creation and write warning messages.
    * Added warning when :confval:`testpaths` is set, but paths are
      not found by glob.
      In this case, pytest will fall back to searching from the
      current directory.
    * When `--confcutdir` is not
      specified, and there is no config file present, the conftest
      cutoff directory (`--confcutdir`) is now set to the
      :ref:`rootdir <rootdir>`.
    * Previously in such cases, `conftest.py` files would be probed
      all the way to the root directory of the filesystem.
    * If you are badly affected by this change, consider adding an
      empty config file to your desired cutoff directory, or
      explicitly set `--confcutdir`.
    * The :confval:`norecursedirs`
      check is now performed in a :hook:`pytest_ignore_collect`
      implementation, so plugins can affect it.
    * If after updating to this version you see that your
      `norecursedirs` setting is not being respected,
    * it means that a conftest or a plugin you use has a bad
      `pytest_ignore_collect` implementation.
    * Most likely, your hook returns `False` for paths it does not
      want to ignore which ends the processing and doesn't allow
      other plugins, including pytest itself, to ignore the path.
    * The fix is to return `None` instead of `False` for paths your
      hook doesn't want to ignore.
    * :func:`caplog.set_level()
      <pytest.LogCaptureFixture.set_level>` and
      :func:`caplog.at_level() <pytest.LogCaptureFixture.at_level>`
      will temporarily enable the requested ``level`` if ``level``
      was disabled globally via ``logging.disable(LEVEL)``.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.4.1:
    * Fixed bug where fake intermediate
      modules generated by ``--import-mode=importlib`` would not
      include the child modules as attributes of the parent modules.
    * Fixed error assertion handling in
      :func:`pytest.approx` when ``None`` is an expected or
      received value when comparing dictionaries.
    * Fixed issue when using
      ``--import-mode=importlib`` together with ``--doctest-
      modules`` that caused modules to be imported more than once,
      causing problems with modules that have import side effects.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.4.2:
    * Fix doctest collection of
      `functools.cached_property` objects.
    * Fixed bug using
      ``--importmode=importlib`` which would cause package
      ``__init__.py`` files to be imported more than once in some
      cases.
    * Fixed bug where `user_properties`
      where not being saved in the JUnit XML file if a fixture
      failed during teardown.
    * Fixed crash when parsing long
      command line arguments that might be interpreted as files.
    * Improved Documentation
    * Improved disclaimer on pytest
      plugin reference page to better indicate this is an
      automated, non-curated listing.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.4.3:
    * Markers are now considered in the
      reverse mro order to ensure base  class markers are
      considered first -- this resolves a regression.
    * Fixed ``:=`` in asserts impacting unrelated test cases.
    * Handled an edge case where :data:`sys.stderr` might already
      be closed when :ref:`faulthandler` is tearing down.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 7.4.4:
    * Fix non-string constants at the top of file being detected as
      docstrings on Python>=3.8.
    * Handle an edge case where :data:`sys.stderr` and
      :data:`sys.__stderr__` might already be closed when
      :ref:`faulthandler` is tearing down.
    * Fixed tracebacks from collection errors not getting pruned.
    * Removed unhelpful error message from assertion rewrite
      mechanism when exceptions are raised in ``__iter__`` methods.
      Now they are treated un-iterable instead.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 8.2.0:
    * A deprecation warning is now raised when implementations of one of the
      following hooks request a deprecated py.path.local parameter.
    * Added support for reading command line arguments from a file using the
      prefix character @.
    * Fixed a regression in pytest 8.0.0 where test classes containing
      setup_method and tests using @staticmethod or @classmethod would crash
      with AttributeError.
    * pluggy>=1.5.0 is now required.
    * Added PYTEST_VERSION environment variable which is defined at the start
      of the pytest session and undefined afterwards.
    * Improved namespace packages detection when consider_namespace_packages
      is enabled.
    * pytest.importorskip will now issue a warning if the module could be
      found, but raised ImportError.
    * Fixed error in pytest.approx when used with numpy arrays and comparing
      with other types.
    * Added the new consider_namespace_packages configuration option,
      defaulting to False.
    * Added the new verbosity_test_cases configuration option for fine-grained
      control of test execution verbosity.
    * --import-mode=importlib <import-mode-importlib> now tries to import
      modules using the standard import mechanism.
    * Added support for sys.last_exc for post-mortem debugging on Python>=3.12.
    * Fixed a regression in pytest 8.0.0 that would cause test collection to
      fail due to permission errors when using --pyargs.
    * Fix the stacklevel used when warning about marks used on fixtures.
    * Fix an edge case where ExceptionInfo._stringify_exception could crash.
    * Fix an IndexError crash raising from getstatementrange_ast.
    * PytestRemovedIn8Warning deprecation warnings are now errors by default.
    * Dropped support for Python 3.7.
    * Files and directories are now collected in alphabetical order jointly.
    * Sanitized the handling of the default parameter when defining
      configuration options.
    * Avoid microsecond exceeds 1_000_000 when using log-date-format with
      %f specifier.
  - Switch to pyproject macros.


author: Markéta Machová <mmachova@suse.com>
changelog:
  - Update to 8.2.2
    * Support for Python 3.13 (beta1 at the time of writing).
    * Fix `PermissionError` crashes arising from directories which are not
      selected on the command-line.
    * Keyboard interrupts and system exits are now properly handled during
      the test collection.
    * Fixed handling of 'Function not implemented' error under squashfuse_ll,
      which is a different way to say that the mountpoint is read-only.
    * Fix a regression in pytest 8.2.0 where the permissions of
      automatically-created .pytest_cache directories became rwx------
      instead of the expected rwxr-xr-x.
    * Fix possible catastrophic performance slowdown on a certain
      parametrization pattern involving many higher-scoped parameters.
    * Fix a regression in pytest 8.2.0 where unittest class instances were
      not released promptly on test teardown but only on session teardown.
    * Fix possible ?Directory not empty? crashes arising from concurent cache
      dir (.pytest_cache) creation. Regressed in pytest 8.2.0.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Add patch allow-re-run-regression.patch:
    * Fix regression in 8.2.2 that did not allow test case reruns.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.21.0:
    * Drop compatibility with pytest 6.1. Pytest-asyncio now
      depends on pytest 7.0 or newer.
    * pytest-asyncio cleans up any stale event loops when setting
      up and tearing down the event_loop fixture.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.21.1:
    * Output a proper error message when an invalid
      ``asyncio_mode`` is selected.
    * Extend warning message about unclosed event loops with
      additional possible cause.
    * Previously, some tests reported "skipped" or "xfailed" as a
      result. Now all tests report a "success" result.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.23.3:
    * Fixes a bug that caused event loops to be closed prematurely
      when using async generator fixtures with class scope or wider
      in a function-scoped test #706
    * Fixes various bugs that caused an internal pytest error
      during test collection #711 #713 #719
    * Fixes a bug that caused an internal pytest error when
      collecting .txt files
    * Fixes a bug that caused an internal pytest error when using
      module-level skips #701
      This release is backwards-compatible with v0.21. Changes are
      non-breaking, unless you upgrade from v0.22.
    * BREAKING: The asyncio_event_loop mark has been removed.
      Event loops with class, module, package, and session scopes
      can be requested via the scope keyword argument to the
      _asyncio_ mark. -
      Introduces the event_loop_policy fixture which allows testing
      with non-default or multiple event loops
    * Introduces pytest_asyncio.is_async_test which returns whether
      a test item is managed by pytest-asyncio
    * Removes and pytest trio, mypy, and flaky from the test
      dependencies
    * Deprecate redefinition of the event_loop fixture. #587 Users
      requiring a class-scoped or module-scoped asyncio event loop
      for their tests should mark the corresponding class or module
      with asyncio_event_loop.
    * Test items based on asynchronous generators always exit with
      xfail status and emit a warning during the collection phase.
      This behavior is consistent with synchronous yield tests.
      [#642]
    * Remove support for Python 3.7
    * Declare support for Python 3.12
  - drop hypothesis-health-check.patch (upstream)


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 0.23.5
    * Declare compatibility with pytest 8 #737
    * Fix typing errors with recent versions of mypy #769
    * Prevent DeprecationWarning about internal use of
      asyncio.get_event_loop() from affecting test cases #757
    [#]# Known issues
    * As of v0.23, pytest-asyncio attaches an asyncio event loop to
      each item of the test suite (i.e. session, packages, modules,
      classes, functions) and allows tests to be run in those loops
      when marked accordingly. Pytest-asyncio currently assumes that
      async fixture scope is correlated with the new event loop
      scope. This prevents fixtures from being evaluated
      independently from the event loop scope and breaks some
      existing test suites (see #706). For example, a test suite may
      require all fixtures and tests to run in the same event loop,
      but have async fixtures that are set up and torn down for each
      module. If you're affected by this issue, please continue using
      the v0.21 release, until it is resolved.
  - Release 0.23.4
    * pytest-asyncio no longer imports additional, unrelated packages
      during test collection #729
    * Addresses further issues that caused an internal pytest error
      during test collection
    * Declares incompatibility with pytest 8 #737


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.23.5.post1:
    * Declare compatibility with pytest 8
    * Fix typing errors with recent versions of mypy #769
    * Prevent DeprecationWarning about internal use of
      `asyncio.get_event_loop()` from affecting test cases #757


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.23.7:
    * Silence deprecation warnings about unclosed event loops that
      occurred with certain CPython patch releases


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 3.4.1
    * Disable progress indication unless --benchmark-verbose is used.
      Contributed by Dimitris Rozakis in #149.
    * Added Python 3.9, dropped Python 3.5. Contributed by Miroslav
      ?edivý in #189.
    * Changed the "cpu" data in the json output to include everything
      that cpuinfo outputs, for better or worse as cpuinfo 6.0
      changed some fields. Users should now ensure they are an
      adequate cpuinfo package installed. MAY BE BACKWARDS
      INCOMPATIBLE
    * Changed behavior of --benchmark-skip and --benchmark-only to
      apply early in the collection phase. This means skipped tests
      won't make pytest run fixtures for said tests unnecessarily,
      but unfortunately this also means the skipping behavior will be
      applied to any tests that requires a "benchmark" fixture,
      regardless if it would come from pytest-benchmark or not. MAY
      BE BACKWARDS INCOMPATIBLE
    * Added --benchmark-quiet - option to disable reporting and other
      information output.
    * Squelched unnecessary warning when --benchmark-disable and save
      options are used. Fixes #199.
    * PerformanceRegression exception no longer inherits
      pytest.UsageError (apparently a final class).


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Update to 4.0.0:
    * Dropped support for legacy Pythons (2.7, 3.6 or older).
    * Switched CI to GitHub Actions.
    * Removed dependency on the py library (that was not properly specified as a
      dependency anyway).
    * Fix skipping test in test_utils.py if appropriate VCS not available. Also
      fix typo. Contributed by Sam James in #211.
    * Added support for pytest 7.2.0 by using pytest.hookimpl and pytest.hookspec
      to configure hooks. Contributed by Florian Bruhin in #224.
    * Now no save is attempted if --benchmark-disable is used. Fixes #205.
      Contributed by Friedrich Delgado in #207.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Add py311.patch to make it compatible with python 3.11,
    gh#ionelmc/pytest-benchmark#232
  - Disable broken test_abort_broken, this test is broken because the output of
    the tests is a bit different with python 3.11 so we can disable until it's
    fixed.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Add ptch ignore-deprecationwarning.patch:
    * Ignore DeprecationWarning, some of our dependancies use pkg_resources.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove support-coverage-62.patch
  - Remove support-setuptools60.patch
  - Update to 4.0.0:
    * --cov-fail-under no longer causes pytest --collect-only to fail Contributed
      by Zac Hatfield-Dodds in #511.
    * Dropped support for multiprocessing (mostly because issue 82408). This
      feature was mostly working but very broken in certain scenarios and made
      the test suite very flaky and slow.
    * There is builtin multiprocessing support in coverage and you can migrate to
      that. All you need is this in your .coveragerc:
      [run]
      concurrency = multiprocessing
      parallel = true
      sigterm = true
    * Fixed deprecation in setup.py by trying to import setuptools before
      distutils. Contributed by Ben Greiner in #545.
    * Removed undesirable new lines that were displayed while reporting was
      disabled. Contributed by Delgan in #540.
    * Documentation fixes. Contributed by Andre Brisco in #543 and Colin O'Dell
      in #525.
    * Added support for LCOV output format via --cov-report=lcov. Only works with
      coverage 6.3+. Contributed by Christian Fetzer in #536.
    * Modernized pytest hook implementation. Contributed by Bruno Oliveira in
      [#549] and Ronny Pfannschmidt in #550.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Disable failing tests (test_contexts) that fails because of the new version
    of python-coverage, gh#pytest-dev/pytest-cov#570


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Disable test_dist_boxed, broken with latest version of pytest-xdist,
    gh#pytest-dev/pytest-cov#565


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 4.1.0:
    * Updated CI with new Pythons and dependencies.
    * Removed rsyncdir support. This makes pytest-cov compatible
      with xdist 3.0.
    * Added support for JSON reporting.
    * Refactored code to use f-strings.
    * Fixed a skip in the test suite for some old xdist.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 5.0.0:
    * Removed support for xdist rsync (now deprecated).
    * Switched docs theme to Furo.
    * Various legacy Python cleanup and CI improvements.
      Contributed by Christian Clauss and Hugo van Kemenade in
      [#630], #631, #632 and #633.
    * Added a pyproject.toml example in the docs. Contributed by
      Dawn James in #626.
    * Modernized project's pre-commit hooks to use ruff. Initial
      POC contributed by Christian Clauss in #584.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Switch to pytest macro.
  - Add patch support-coverage-75.patch:
    * Support changes in coverage 7.5.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 1.3.1:
    * Add python_requires to setup.py so pip will not try to install
      pytest-datadir in incompatible Python versions.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.4.1:
    * Replace usage of ``tmpdir`` by ``tmp_path``
    * Fix package so the ``LICENSE`` file is no longer in the root
      of the package.
    * Python 3.9 and 3.10 are now officially supported.
    * Python 2.7, 3.4 and 3.5 are no longer supported.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 3.9.0:
    * Improve test ordering with Django test classes (#830)
    * Remove import of pkg_resources for parsing pytest version (performance) (#826)
    * Work around unittest issue with pytest 5.4.{0,1} (#825)
    * Don't break --failed-first when re-ordering tests (#819, #820)
    * pytest_addoption: use group.addoption (#833)


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Fix test failure with pytest 6
    * pytest-django-pytest6.patch
    * The patched call signature looks weird, but it works as intended
    * Patch is part of gh#pytest-dev/pytest-django#855
  - Replace deprecated py.test call with %pytest macro


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Disable Python 2
  - Drop no longer needed patches:
    * ignore-warnings.patch
    * pytest-django-pytest6.patch
  - Update to v4.1.0
    * Add the async_client and async_rf fixtures
    * Add django_debug_mode to configure how DEBUG is set in tests
    * Make admin_user work for custom user models without an email
      field.
  - from v4.0.0
    * Drop support for Python versions before 3.5
    * Drop support for Django versions before 2.2
    * Drop support for pytest versions before 5.4
    * Officialy support Python 3.9.
    * Add pytest_django.__version__
    * Make the admin_user and admin_client fixtures compatible with
      custom user models which don?t have a username field
    * Change the admin_user fixture to use get_by_natural_key()
      to get the user instead of directly using USERNAME_FIELD,
      in case it is overridden, and to match Django


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 4.5.2
    * Bugfixes
    * Fix regression in v4.5.0 -
      pytest.mark.django_db(reset_sequence=True) now implies
      transaction=True again.
  - Release v4.5.1
    * Bugfixes
    * Fix regression in v4.5.0 - database tests inside (non-unittest)
      classes were not ordered correctly to run before non-database
      tests, same for transactional tests before non-transactional
      tests.
  - Release v4.5.0
    * Improvements
    * Add support for :ref:`rollback emulation/serialized rollback
      <test-case-serialized-rollback>`. The
      :func:`pytest.mark.django_db` marker has a new
      serialized_rollback option, and a
      :fixture:`django_db_serialized_rollback` fixture is added.
    * Official Python 3.10 support.
    * Official Django 4.0 support (tested against 4.0rc1 at the time
      of release).
    * Drop official Django 3.0 support. Django 2.2 is still
      supported, and 3.0 will likely keep working until 2.2 is
      dropped, but it's not tested.
    * Added pyproject.toml file.
    * Skip Django's setUpTestData mechanism in pytest-django tests.
      It is not used for those, and interferes with some planned
      features. Note that this does not affect setUpTestData in
      unittest tests (test classes which inherit from Django's
      TestCase).
    * Bugfixes
    * Fix :fixture:`live_server` when using an in-memory SQLite
      database.
    * Fix typing of assertTemplateUsed and assertTemplateNotUsed.
  - Release v4.4.0
    * Improvements
    * Add a fixture :fixture:`django_capture_on_commit_callbacks` to
      capture :func:`transaction.on_commit()
      <django.db.transaction.on_commit>` callbacks in tests.
  - Release v4.3.0
    * Improvements
    * Add experimental :ref:`multiple databases <multi-db>` (multi
      db) support.
    * Add type annotations. If you previously excluded pytest_django
      from your type-checker, you can remove the exclusion.
    * Documentation improvements.
  - Release v4.2.0
    * Improvements
    * Official Django 3.2 support.
    * Documentation improvements.
    * Bugfixes
    * Disable atomic durability check on non-transactional tests
      (#910).
  - Skip python36: no python36-Django 4 in TW


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Add autoclear_mailbox.patch checking for the existence of the
    mail.outbox before clearing it (gh#pytest-dev/pytest-django#993).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.8.1:
    * Use hatchling and wheel
    * Add R: prefix implementation and unit tests
    * ADd mention of pyproject.toml in README.md
  - use packaged LICENSE


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.8.2:
    * Bump tools and deps
    * Bump deps and tools
    * Add 3.12 support
    * Add ruff


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.1.1:
    * Fix native toml documentation does not match code
    * Fix type checker
    * Drop the pytest dot
    * Add native toml support
    * Disable plugin autoloading in the test suite


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Drop patch suppot-python-312.patch.
  - Add patch support-python-312.patch, which is a rename of the previous
    patch.
  - Add patch fix-traceback.patch, support traceback changes of
    Python 3.12.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.0.12:
    * Pin `ruff` version and prep for v0.0.12 release
  - update to 0.0.11:
    * Use `tb_lineno` to point to correct line in traceback
    * Fix deprecation warnings in Python 3.12
    * Include tests in sdist
    * `ruff` now requires the `check` specification
  - drop ruff05.patch,  fix-traceback.patch,
    support-python-312.patch, test-ruff-0.1.0.patch: upstream


author: arun@gmx.de
changelog:
  - specfile:
    * install requires pytest and u-msgpack-python
      (fixes and error with e.g. html5lib)


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Fix source url
  - Drop the check part as there are no tests at all even in git repo
  - Add missing six dependency


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Add pytest5-compat.patch to make the test suite compatible
    with pytest 5.4.0+ (gh#pytest-dev/pytest-forked#32)


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - Update to 1.2.0
    * Add limited support for xfail marker (issue #33 / PR #34).
    * Fix support for pytest 5.4.0+ (issue #30 / PR #32).
    * Drop support for Python 3.4 as it is EOL (PR #39).
  - Drop patch pytest5-compat.patch


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - Update to 1.3.0
    * Add support for pytest 6 (issue #45 / PR #46)
    * Replace `@pytest.mark.tryfirst` with newer `@pytest.hookimpl` (PR #46)
    * Invoke `pytest_runtest_logstart` and `pytest_runtest_logfinish` hooks in `runtest_protocol` (issue #31 / PR #46)


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove python_module macro definition
  - Add python-py dep
  - More specific python_sitelib in %files
  - Update to 1.4.0:
    * Dropped support for Python 2.7 and 3.5.
    * Added official support for Python 3.10.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.6.0:
    * Relaxed dependency requirements (`#77
      <https://github.com/pytest-dev/pytest-forked/issues/77>`__).
    * Dropped support for Python 3.6.
    * Added official support for Python 3.11.


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - Update to version 0.4.2
    * Work with pre-release pytest versions, by [chandlernine](https://github.com/chandlernine),
      with a different implementation proposed by [Aly Sivji](https://github.com/alysivji).
    * Marking a test with `freeze_time` should freeze time in fixtures, even if the `freezer`
      fixture is also used explicitly late in the fixture list. Thanks to
      [Christian Grossmüller](https://github.com/chgad) for pointing out the problem.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 1.0.0:
    * Update included self-signed cert to include IP address in SAN (See #52).
    * Only use @pytest.fixture decorator once (thanks @hroncok)
    * Fix a few README typos (thanks @hemberger)
  - Use github tarball to get tests


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to v1.0.1
    * httpbin_secure: fix redirect Location to have "https://"
      scheme (#62) - thanks @immerrr
    * Include regression tests in pypi tarball (#56) - thanks
      @kmosiejczuk
  - Add rpmlintrc filter for test certificates


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.2:
    * Switch to GitHub Actions
    * This will be the last release to support Python 2.6, 2.7 or 3.6


author: pgajdos@suse.com
changelog:
  - do not require six
  - added patches
    fix https://github.com/kevin1024/pytest-httpbin/issues/75
    + python-pytest-httpbin-no-six.patch


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.0.0:
    * This is a major release since it drops comparability with
      some older versions of python.
    * Drop support for Python 2.6, 2.7, 3.4, 3.5 and 3.6 (#68)
    * Add support for Python 3.7, 3.8, 3.9 and 3.10 (#68)
    * Avoid deprecation warnings and resource warnings (#71)
    * Add support for Python 3.11 and 3.12, drop dependency on six
  - drop python-pytest-httpbin-no-six.patch (upstream)


author: pgajdos@suse.com
changelog:
  - version update to 1.0.2
    * *Breaking change**: The scope of ``httpserver_listen_address`` fixture changed from **function**
    to **session**. This is a requirement to implement the other features listed
    in this release. See the `upgrade guide
    <https://pytest-httpserver.readthedocs.io/en/latest/upgrade.html>`_ for the
    details.
    * many other changes, see CHANGES.rst


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.0.5
    * Packaging of sdist and the wheel fixed by adding the extra
      files only to the sdist and not to the wheel.
  - Release 1.0.4
    * Fixed type hinting of HeaderValueMatcher.DEFAULT_MATCHERS,
      which did not allow modifications, however it is explicitly
      allowed in the documentation.
    * Version of flake8 library updated to require 4.0.0+ at minimum.
      This is required to make flake8 working on recent python
      versions.
  - Release 1.0.3
    * Additional type hints improvements to make the library more
      mypy compliant. Imports in __init__.py have been updated to
      indicate that this is a namespace package.
    * Package deployment and CI has been migrated to poetry.
      poetry.lock will be kept up to date. Make target "quick-test"
      renamed to "test". Also, minor adjustments were made regarding
      documentation generation. Make targets should be identical.
      Build results like sdist, and wheel are almost identical to the
      one which was made by setuptools.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.6:
    * Add a new way of running tests with the blocking mode. In
      this mode, the http server is synchronized to the main thread
      and the client code is run in a separate thread.
    * Python version classifier updated in pyproject.toml (which
      updates pypi also)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.7:
    * With werkzeug 2.3.x the headers type has been updated to not
      allow integers as header values. This restriction followed up
      in pytest-httpserver.
    * Python versions earlier than 3.8 have been deprecated in
      order to support the latest werkzeug.
    * Type hinting for header_value_matcher has been fixed. From
      now, specifying a callable as ``Callable[[str,
      Optional[str], str], bool]`` will be accepted also.
      Providing a ``HeaderValueMatcher`` object will be also
      accepted as before, as it provides the same callable signature
    * Fix Werkzeug deprecation warning about
      ``parse_authorization_header`` call.
    * Replace ``parse_authorization_header`` with
      ``Authorization.from_header`` as suggested. This fix should
      not introduce any functional change for the users.
    * Fix Werkzeug deprecation warning about
      ``werkzeug.urls.url_decode`` call. This call has been changed
      to ``urllib.parse.parse_qsl`` in the implementation.
      This fix should not introduce any functional change for the
      users.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.10:
    * When there's no handler for the request, add more details to
      the response sent by the server about the request to help
      debugging.
    * Use ruff for linting. It includes some source code changes
      which should not introduce functional changes, or API
      changes.
    * Add __repr__ to RequestHandler object so when it is compared
      (eg. with the log attribute of the server) it will show the
      matcher parameters.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 0.8.0
    * Allow passing request_timeout to client_fetch #67 (@afbarbaro)
    * code maintenance
  - Disable the -server subpackage for Ring1


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 0.9.1
    * Update event loop handling #75 (@blink1073)
    * Maintenance and upkeep improvements


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.10.1:
    * Fix passing of kwargs to websocket_connect
    * Set all min deps
  - update to 0.10.0:
    * jp_ws_fetch: passthrough kwargs to websocket_connect


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Switch to autosetup and pyproject macros.
  - Add numpy to BuildRequires, needed for the testsuite.
  - No more greedy globs in %files.
  - Add patch support-pytest-8.patch:
    * Support pytest >= 8 changes.


author: Torsten Gruner <simmphonie@opensuse.org>
changelog:
  - Update to 0.6.0
    * Drop support for Python 3.3 and 3.4
    * Use setuptools_scm for managing versions of this package
    * Support sending chunked responses from the HTTP server
    * Switch SMTP server backend from smtpd to aiosmtpd
  - version 0.5.1.post0
    * Explicitly list supported Python versions with python_requires in setup.py.
  - version 0.5.1
    * Regenerate included certificate to use SHA-256 hash to avoid OpenSSL errors (fixes #2).
    * Add support for Python 3.10.
    * Drop support for Python 2.6.
    * Migrate repository to Github and update project metadata.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update build requirements: Without setuptools_scm[toml], this
    installs a version 0.0.0 into the python metadata.
  - Drop obsolete remove_bindir.patch


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.7.0:
    * Make smtp support an optional extra
    * Update some obsolete syntax to drop support for Python 2
    * Add linting for code and workflow actions using pre-commit hooks
    * Expand the range of pytest versions known to be compatible, with tests
    * Add badges to README


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.7.1:
    * Update SMTP server code to work with aiosmtpd >=1.4.3
    * Add support for Python 3.11 (or at least, list it explicitly
      in the classifiers)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.8.0:
    * Improve deployment workflow to use trusted publishing and
      upload to Test PyPI first
    * Remove a bunch of obsolete code
    * Clean up the smtp module's driver code


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.8.1:
    * Ignore AttributeError when shutting down server
    * Add support for Python 3.12 (or at least, list it explicitly
      in the classifiers)


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 3.1.1:
    * Fixed performance regression caused by the ValueError raised
      when mocker is used as context manager (#191).


author: Antonio Larrosa <alarrosa@suse.com>
changelog:
  - Update to 3.6.1:
    * Fix mocker.resetall() when using mocker.spy() (#237)
  - Update to 3.6.0:
    * pytest-mock no longer supports Python 3.5.
    * Correct type annotations for mocker.patch.object to also
      include the string form.
    * reset_all now supports return_value and side_effect keyword
      arguments.
  - Update to 3.5.1:
    * Use inspect.getattr_static instead of resorting to
      object.__getattribute__ magic. This should better comply with
      objects which implement a custom descriptor protocol.
  - Update to 3.5.0:
    * Now all patch functions will emit a warning instead of raising
      a ValueError when used as a context-manager.
    * Additionally, mocker.patch.context_manager is available when
      the user intends to mock a context manager (for example
      threading.Lock object), which will not emit that warning.
  - Update to 3.4.0:
    * Add [mock.seal]{.title-ref} alias to the [mocker]{.title-ref}
      fixture (#211).
    * Fixed spying on exceptions not covered by the Exception
      superclass (#215), like KeyboardInterrupt
      Before the fix, both spy_return and spy_exception were always
      assigned to None whenever such an exception happened. And
      after this fix, spy_exception is set to a correct value of
      an exception.
  - Update to 3.3.1:
    * Introduce MockFixture as an alias to MockerFixture.
      Before 3.3.0, the fixture class was named MockFixture, but was
      renamed to MockerFixture to better match the mocker fixture.
      While not officially part of the API, it was later discovered
      that this broke the code of some users which already imported
      pytest_mock.MockFixture for type annotations, so we decided to
      reintroduce the name as an alias.
      Note however that this is just a stop gap measure, and new code
      should use MockerFixture for type annotations.
    * Improved typing for MockerFixture.patch (#201).
  - Update to 3.3.0:
    * pytest-mock now includes inline type annotations and exposes
      them to user programs. The mocker fixture returns
      pytest_mock.MockerFixture, which can be used to annotate your
      tests:
      from pytest_mock import MockerFixture
      def test_foo(mocker: MockerFixture) -> None:
      ...
    * The type annotations were developed against mypy version 0.782,
      the minimum version supported at the moment. If you run into an
      error that you believe to be incorrect, please open an issue.
  - Update to 3.2.0:
    * AsyncMock is now exposed in mocker and supports provides
      assertion introspection similar to Mock objects.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove python_module macro definition
  - Remove pytest-mock-issue272-asyncio.patch
  - Add python-py dependency
  - Update to 3.10.0:
    * Added new mocker.stop(m) method to stop specific mocker.patch or mocker.spy
      calls (#319).
  - 3.9.0:
    * Expose NonCallableMagicMock via the mocker fixture (#318).
  - 3.8.2:
    * Fixed AsyncMock support for Python 3.7+ in mocker.async_stub (#302).
  - 3.8.1:
    * Fix regression caused by an explicit mock dependency in the code (#298).
  - 3.8.0:
    * Add MockerFixture.async_mock method. Thanks @PerchunPak for the PR (#296).
  - 3.7.0:
    * Python 3.10 now officially supported.
    * Dropped support for Python 3.6.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.11.1:
    * Fixed introspection for failed ``assert_has_calls``
    * Updated type annotations for ``mocker.patch`` and
      ``mocker.spy`` (`#364`_).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.12.0:
    * Added support for Python 3.12.
    * Dropped support for EOL Python 3.7.
    * ``mocker.resetall()`` now also resets mocks created by
      ``mocker.create_autospec`` (`#390`_).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.14.0:
    * #415: MockType and AsyncMockType can be imported from
      pytest_mock for type annotation purposes.
    * #420: Fixed a regression which would cause
      mocker.patch.object to not being properly cleared between
      tests.
    * #417: spy now has spy_return_list, which is a list containing
      all the values returned by the spied function.
    * pytest-mock now requires pytest>=6.2.5.
    * #410: pytest-mock's setup.py file is removed. If you relied
      on this file, e.g. to install pytest using setup.py install,
      please see Why you shouldn't invoke setup.py directly for
      alternatives.
  - drop fix-tests-python3117.patch (upstream)


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to 2.2.0:
    - #45: num_regression.check now accepts any object that can be coerced
      to a 1d numpy array with numeric dtype (e.g. list, tuple, etc).
    - #35: New dataframe_regression fixture to check pandas DataFrames
      directly.
    - #34: Fix data_regression bug that creates empty file on serializing
      error.
  - Add np_num-deprecated.patch to avoid tests failing on using deprecated
    data types (gh#ESSS/pytest-regressions#63).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.4.2:
    * Properly handle missing index ``0``.
    * Compatibility fix for pytest 6.2.
    * New ``--regen-all`` flag, which regenerates all files without
      failing the tests. Useful to regenerate all files in
      the test suite with a single run.
    * The public API is now fully type annotated.
    * ``pytest>=6.2`` is now required.
    * Properly handle empty and NaN values on
      num_regression and dataframe_regression.
    * New ``--with-test-class-names`` command-line flag to consider
      test class names when composing the expected and obtained
      data filenames. Needed when the same module contains
      different classes with the same method names.
    * New ``ndarrays_regression``, for comparing NumPy arrays with
      arbitrary shape.
    * Fix ``empty string bug`` on dataframe regression.
  - drop np_num-deprecated.patch (upstream)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.5.0:
    * Dropped support for EOL Python 3.6 and Python 3.7.
    * Added support for Python 3.11.
    * Make ``dataframe_regression`` compatible with classes inheriting
      from ``pandas.DataFrame``.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 2.0.0:
    * Prior to version 2, we failed to correctly support true Pytest
      setup/teardown methods (i.e. setup_method and teardown_method) and
      these would not get copied to inner class scopes. This has been fixed.
      We still support old nose-style setup/teardown for now, despite them
      going away in Pytest 8.
    * Modernize codebase/project a bunch:
      + Dropped support for Python <3.6 (including 2.7)
      + Pytest support upgraded to support, and require, Pytest >=7.
      + Behavioral changes in Pytest internals have fixed a handful of
      sorta-bugs present in pytest-relaxed under Pytest versions 3 and 4.
  - Dropped patches pytest-6.1-and-7.patch, pytest-relaxed-pr10.patch:
    * No longer required.
  - Removed six from BuildRequires, is no longer used.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.0.1:
    * Don't try loading Pytest fixture functions as if
      they were test functions. Classifying this as a bug even
      though it's a moderately sized change in behavior;
      it's vanishingly unlikely anybody was relying on this
      somehow!


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.0.2:
    * :bug:`32` Fix dangling compatibility issues with pytest
      version 8.x. Thanks to Alex Gaynor for the patch!


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 9.0:
    * Add support for pytest 5.4.
    * Add support for Python 3.8.
    * Drop support for python 2.7


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Update to 9.1.1
    Compatibility fix.
    * Ignore --result-log command line option when used together with
      pytest >= 6.1.0, as it was removed there. This is a quick fix,
      use an older version of pytest, if you want to keep this
      feature for now. (Thanks to @ntessore for the PR)
    * Support up to pytest 6.1.0.
  - Changelog for 9.1
    Features
    * Add a new flag --only-rerun to allow for users to rerun only
      certain errors.
    Other changes
    * Drop dependency on mock.
    * Add support for pre-commit and add a linting tox target. (#117)
      (PR from @gnikonorov)


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 10.2
    * Allow recovery from crashed tests with pytest-xdist.
    * Add support for Python 3.10 (as of Python 3.10.rc2). (Thanks to
      @hugovk for the PR.)
    * Allows using a str as condition for
      @pytest.mark.flaky(condition) which gets evaluated dynamically
      similarly to @pytest.mark.skipif(condition). (#162 provided by
      @15klli)
    * Drop support for Python 3.5.
    * Drop support for pytest < 5.3.
    * Add condition keyword argument to the re-run marker. (Thanks to
      @BeyondEvil for the PR.)
    * Add support for Python 3.9. (Thanks to @digitronik for the PR.)
    * Add support for pytest 6.3. (Thanks to @bluetech for the PR.)
    * Add compatibility with pytest-xdist >= 2.0. (Thanks to
      @bluetech for the PR.)
    * Check for the resultlog by feature and not by version as pytest
      master does not provide a consistent version.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 11.1.2:
    * Execute teardown when test was skipped in setup phase of a
      fixture.
    * Fix crash during teardown when runtest protocol hook is
      overwritten by another plugin.
    * Fix crash during teardown when TestCase class is used as base
      class.
    * Run teardown of session, class, ... scoped fixtures only once
      after rerunning tests
    * Expose `reruns` and `reruns_delay` through `pytest.ini` file.
    * Drop support for Python 3.6.
    * Drop support for pytest < 6.
    * Fix crash when pytest-xdist is installed but disabled.
    * Fix crash when xfail(strict=True) mark is used with --rerun-
      only flag.
    * Added option `--rerun-except` to rerun failed tests those are
      other than the mentioned Error.
    * Add support for Python 3.11.
    * Add support for pytest 7.0, 7.1, 7.2.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 12.0:
    * Drop support for pytest < 6.2.
    * Add ``only_rerun`` and ``rerun_except`` arguments to
      ``@pytest.mark.flaky`` marker.
    * Add support for pytest 7.3, 7.4.
    * Failures are now rerun only if they match at least one
      ``--only-rerun`` pattern (if given) and none of the
      ``--rerun-except`` patterns. Previously, using both
      ``--only-rerun`` and ``--rerun-except`` together
      could cause failures to be rerun even if they did not
      match any ``--only-rerun`` pattern, and when using
      multiple ``--rerun-except`` patterns, all failures
      would be rerun unless they matched every pattern.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 13.0:
    * Drop support for pytest < 7.0.
    * Add support for Python 3.12.
    * Fix crashitem names mismatch between client and server.
    * Fix crash when setup fails with --rerun-except flag.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 14.0:
    * Fix missing teardown for non-function scoped fixtures when
      using only_rerun or rerun_except queries. (#234) and
    * Drop support for Python 3.7.
    * Drop support for pytest < 7.2.
    * Add support for pytest 8.0, 8.1.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 2.0.1:
    * #23: Rely on zc.lockfile for lockfile behavior.
    * #28: Fixtures now supports later versions of mysql and no longer support versions of mysql prior to mysql --initialize support.
    * #29: Fix issues with later versions of mysql where mysql_defaults_file fixture would prevent startup of mysql.
    * Fixed issue in test suite where mysql fixture was not tested.
    * Removed pytest_services.locks.lock_file.
    * #20: Added workaround for issue with SysLogHandler.


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - Update to version 2.1.0
    * #34: Deprecated slave_id fixture in favor of worker_id,
      for compatibility with pytest-xdist 2.


author: Marketa Machova <mmachova@suse.com>
changelog:
  - Update to 2.2.1
    * #38: Retry to lock resource if zc.lockfile.LockError is raised.
      Fix needed for pytest-xdist. (StabbarN)
    * #42: Retry on zc.lockfile.LockError in file_lock, use existing
      timeout kwarg (mshriver)


author: Atri Bhattacharya <badshah400@gmail.com>
changelog:
  - Initial package.
  - Include tests.tar.xz via _service: pulls in tests from github as
    these are not bundled in original source tarball.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 0.9.0:
    * Python 3.11 is officially supported.
    * Dropped support for Python 3.6.
    * Now passing subtests are shown in the test run summary at the end (for
      example: 10 failed, 1 passed, 10 subtests passed in 0.10s) (#70).
    * Fixed support for pytest 7.0, and pytest>=7.0 is now required.
    * pytest>=6.0 is now required.
    * Added official support for Python 3.10.
    * Dropped support for Python 3.5.
    * Users no longer need to configure a warnings filter for the internal A
      private pytest class or function was used pytest warning (#52).
    * Experimental: Use SUBPASS and , for passed subtests instead of general
      PASSED, SUBFAIL and u for failed ones instead of FAILED (#30).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.10.0:
    * Added experimental support for suppressing subtest output
      dots in non-verbose mode with ``--no-subtests-shortletter``
    - - this allows the native pytest column calculations to not
      be disrupted and minimizes unneeded output for large CI
      systems.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.11.0:
    * Logging is displayed for failing subtests (`#92`_)
    * Passing subtests no longer turn the pytest output to yellow
      (as if warnings have been issued)
    * Now the ``msg`` contents of a subtest is displayed when
      running pytest with ``-v``.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.12.1:
    * Fixed compatibility with upcoming pytest 8.1.x.  (#125).
    * Python 3.12 is now officially supported (#113).
    * Added typing support (#115).
    * SubTests can be imported from pytest_subtests to type-
      annotate the subtests fixture.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 1.3.4:
    * upstream moved to github
    * support newer pytest releases
  - Drop merged patch pytest4.patch


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 2.0.2:
    * Fix debugger detection on OSX, thanks Alexander Pacha.
    * Fix Python 2 removal, thanks Nicusor Picatureanu.
    * Increase pytest requirement to >=5.0.0. Thanks Dominic Davis-Foster.
    * Use thread timeout method when plugin is not called from main thread
      to avoid crash.
    * Fix pycharm debugger detection so timeouts are not triggered during
      debugger usage.
    * Dropped support for Python 2, minimum pytest version upported is 5.0.0.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.1.0
    * Get terminal width from shutil instead of deprecated py, thanks
      Andrew Svetlov.
    * Add an API for extending ``pytest-timeout`` functionality
      with third-party plugins, thanks Andrew Svetlov.
  - Don't test with pytest-cov in Staging: Put Ring1 on coverage diet


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.2.0:
    * Update _validate_func_only to return None so it can utilize the
      environment
    * Add --timeout-disable-debugger-detection flag


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.3.1:
    * Fixup some build errors, mostly README syntax which stopped
      twine from uploading.
    * Fix debugger detection for recent VSCode, this compiles pydevd
      using cython which is now correctly detected.
    * Switched to using Pytest's ``TerminalReporter`` instead
      of writing directly to ``sys.{stdout,stderr}``.
    * This change also switches all output from ``sys.stderr`` to
      ``sys.stdout``.
    * Pytest 7.0.0 is now the minimum supported version.
    * Add ``--session-timeout`` option and ``session_timeout`` setting.


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Add a temporary hack in the spec to alter the conftest.py used
    when testing the plugin, fixing the builds.
  - Remove unnecessary build dependency on python-devel


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 0.6.0:
    * Incompatible change: if you use yield inside a Trio fixture,
      and the yield gets cancelled (for example, due to a background
      task crashing), then the yield will now raise :exc:`trio.Cancelled`.
    * Updated for compatibility with Trio v0.15.0.


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Add missing runtime dependency on contextvars
  - Deactivate low value hypothesis generated tests
  - Remove use of pytest-cov in %check
  - Remove tests from runtime package


author: Marketa Machova <mmachova@suse.com>
changelog:
  - Update to 0.7.0
    * Support added for alternative Trio run functions via the trio_run
      configuration variable and @pytest.mark.trio(run=...).  Presently
      supports Trio and QTrio.
    * Python 3.5 support removed.
    * pytest 6 support added
  - Drop merged pytest6.patch


author: Markéta Machová <mmachova@suse.com>
changelog:
  - Update to 0.8.0
    * If a test raises an ExceptionGroup (or nested ExceptionGroups)
      with only a single ?leaf? exception from pytest.xfail() or
      pytest.skip(), we now unwrap it to have the desired effect on Pytest.
    * Trio 0.22.0 deprecated MultiError in favor of the standard-library
      (or backported) ExceptionGroup type; pytest-trio now uses ExceptionGroup
      exclusively and therefore requires Trio 0.22.0 or later. (#128)
    * Dropped support for end-of-life Python 3.6, and the async_generator library
      necessary to support it, and started testing on Python 3.10 and 3.11. (#129)


author: Matthias Fehring <buschmann23@opensuse.org>
changelog:
  - Update to 2.5.0
    * Features
      + Full compatibility with pytest 7 - no deprecation warnings or
      use of legacy features.
      + New --dist=loadgroup option, which ensures all tests marked
      with @pytest.mark.xdist_group run in the same session/worker.
      Other tests run distributed as in --dist=load.
    * Trivial Changes
      + Use @pytest.hookspec decorator to declare hook options in
      newhooks.py to avoid warnings in pytest 7.0.
      + Use up-to-date setup.cfg/pyproject.toml packaging setup.
      + Started using type annotations and mypy checking internally.
      The types are incomplete and not published.
  - Changes from 2.4.0
    * Features
      + On Linux, the process title now changes to indicate the current
      worker state (running/idle). Depends on the setproctitle package,
      which can be installed with pip install pytest-xdist[setproctitle].
      + Add support for Python 3.10.
  - Changes from 2.3.0
    * Deprecations and Removals
      + Python 3.5 is no longer supported.
    * Features
      + Add --numprocesses=logical flag, which automatically uses the
      number of logical CPUs available, instead of physical CPUs
      with auto. This is very useful for test suites which are not
      CPU-bound.
      + Added new pytest_handlecrashitem hook to allow handling and
      rescheduling crashed items.
    * Bug Fixes
      + Copy the parent process sys.path into local workers, to work
      around execnet's python -c adding the current directory to sys.path.
      + Fix issue caused by changing the branch name of the pytest repository.
    * Trivial Changes
      + Replace master with controller where ever possible.
      + Use 'main' to refer to pytest default branch in tox env names.
  - Update patches
    * reintroduce-slave-terminology.patch
    * 0001-Revert-Remove-compat-for-pytest-6.patch
  - Require setuptools_scm >= 6.0 for building


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove python_module macro definition
  - Use autosetup instead of setup + autopatch
  - Remove reintroduce-slave-terminology.patch
  - Remove 0001-Revert-Remove-compat-for-pytest-6.patch
  - Update to 3.0.2:
    [#] Bug Fixes
    * #813: Cancel shutdown when a crashed worker is restarted.
    [#] Deprecations
    * #825: The --rsyncdir command line argument and rsyncdirs config variable
      are deprecated.
    * The rsync feature will be removed in pytest-xdist 4.0.
    * #826: The --looponfail command line argument and looponfailroots config
      variable are deprecated.
    * The loop-on-fail feature will be removed in pytest-xdist 4.0.
    [#] Improved Documentation
    * #791: Document the pytest_xdist_auto_num_workers hook.
    * #796: Added known limitations section to documentation.
    * #829: Document the -n logical option.
    [#] Features
    * #792: The environment variable PYTEST_XDIST_AUTO_NUM_WORKERS can now be
      used to specify the default for -n auto and -n logical.
    * #812: Partially restore old initial batch distribution algorithm in
      LoadScheduling.
    * pytest orders tests for optimal sequential execution - i. e. avoiding
      unnecessary setup and teardown of fixtures. So executing tests in
      consecutive chunks is important for optimal performance.
    * In v1.14, initial test distribution in LoadScheduling was changed to
      round-robin, optimized for the corner case, when the number of tests is
      less than 2 * number of nodes. At the same time, it became worse for all
      other cases.
    * For example: if some tests use some "heavy" fixture, and these tests fit
      into the initial batch, with round-robin distribution the fixture will be
      created min(n_tests, n_workers) times, no matter how many other tests there
      are.
    * With the old algorithm (before v1.14), if there are enough tests not using
      the fixture, the fixture was created only once.
    * So restore the old behavior for typical cases where the number of tests is
      much greater than the number of workers (or, strictly speaking, when there
      are at least 2 tests for every node).
    [#] Removals
    * #468: The --boxed command-line option has been removed. If you still need
      this functionality, install pytest-forked separately.
    [#] Trivial Changes
    * #468: The py dependency has been dropped.
    * #822: Replace internal usage of py.log with a custom solution (but with the
      same interface).
    * #823: Remove usage of py._pydir as an rsync candidate.
    * #824: Replace internal usages of py.path.local by pathlib.Path.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.2.1:
    * Fixed hang in ``worksteal`` scheduler.
    * Improved Documentation
    * Document limitations for debugging due
      to standard I/O of workers not being forwarded. Also, mention
      remote debugging as a possible workaround.
    Features:
    * Users can now configure ``load``
      scheduling precision using ``--maxschedchunk`` command
      line option.
    * New ``worksteal`` scheduler, based on
      the idea of `work stealing
      It's similar
      to ``load`` scheduler, but it should handle tests with
      significantly differing duration better, and, at the same
      time, it should provide similar or better reuse of fixtures.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.3.1:
    * Avoid remote calls during startup as execnet by default does
      not ensure remote affinity with the main thread and might
      accidentally schedule the pytest worker into a non-main
      thread, which breaks numerous frameworks, for example
      ``asyncio``, ``anyio``, ``PyQt/PySide``, etc.
      A more safe correction will require thread affinity in
      ``execnet``


author: Benoît Monin <benoit.monin@gmx.fr>
changelog:
  - update to 3.4.0:
    * #963: Wait for workers to finish reporting when test run stops
      early.
    * #965: Added support for Python 3.12.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 3.5.0:
    * ``--dist=loadscope`` now sorts scopes by number of tests to
      assign largest scopes early -- in many cases this should
      improve overall test session running time, as there is less
      chance of a large scope being left to be processed near the
      end of the session, leaving other workers idle.


author: Markéta Machová <mmachova@suse.com>
changelog:
  - update to 3.6.1
    * pytest-xdist workers now always execute the tests in the main thread.
    * Added proper handling of shouldstop and shouldfail conditions in workers.
    * Fixed compatibility issue between looponfail and editable installs.
    * Use the new main_thread_only execnet ?execmodel? so that code which
      expects to only run in the main thread will now work as expected.
    * Add backward compatibility for deadlock issue with the execnet new
      main_thread_only ?execmodel? triggered when pytest-cov accesses rinfo.


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - Remove python_module macro definition
  - More specific python_sitelib in %files
  - Update to 0.21.0:
    * Explicitly add py package as a dependency, fixing issue with pytest >=
      7.2.0
    * Process log files will not be overwritten for each new process anymore,
      making it easier to debug issues that occurred in the middle of failed test
      runs
  - 0.19.0:
    * drop support for python 3.5 and 3.6
    * reorganize internals. pytest-xprocess is now a package and all resources
      used by running processes are kept as instances of
      :class:XProcessResources.
  - 0.18.1:
    * Fix bug with previous release where internal module was missing
  - 0.18.0:
    * :method:`ProcessInfo.terminate` will now terminate outer leaves in process
      tree first and work its way towards root process. For example, if a process
      has child and grandchild, xprocess will terminate first child and
      grandchild and only then will the root process receive a termination
      signal.
    * :class:`ProcessStarter` now has attr:terminate_on_interrupt. This flag will
      make xprocess attempt to terminate and clean up all started process
      resources upon interruptions during pytest runs (CTRL+C, SIGINT and
      internal errors) when set to True. It will default to False, so if the
      described behaviour is desired the flag must be explicitly set True.
    * Add a new popen_kwargs variable to ProcessStarter, this variable can be
      used for passing keyword values to the subprocess.Popen constructor, giving
      the user more control over how the process is initialized.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.22.2:
    * Python 3.10 is now officially supported
    * `surrogateescape` will now be used as error handling strategy
      for encode/decode operations.
    * Make log files persistency, added in `0.21.0`, optional,
      defaulting to True. The previous logging behavior (prior to
      `0.21.0`) can be enabled by setting `persist_logs` flag to
      `False` when calling `XProcess.ensure`.
    * Fix resource warnings due to leaked internal file handles
    * Ignore zombie processes which are erroneously considered
      alive with python 3.11


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.23.0:
    * Drop support for Python 3.7
    * Add support for Python 3.11
    * Remove dependency on `py`


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.1:
    * Add missing test suite files to source distribution
    * ProcessStarter.pattern is now optional. Users may provide
      either ProcessStarter.pattern or ProcessStarter.callback or
      both.


author: arun@gmx.de
changelog:
  - specfile:
    * update copyright year
    * always run tests
  - update to version 1.1.0:
    * The xvfb_args option is now a single line parsed with shlex.split.
    * The XvfbExitedError exception now includes stdout and stderr.


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 1.2.0:
    * Item.get_closest_marker is now used, which restores compatibility with pytest 4.1.0 and requires pytest 3.6.0 or newer.


author: John Vandenberg <jayvdb@gmail.com>
changelog:
  - Update to v2.0.0:
    * PyVirtualDisplay 1.3 and newer is now supported, support for older versions was dropped.
    * Support for Python 2.7, 3.3 and 3.4 is now dropped.
    * Support for Python 3.6, 3.7 and 3.8 was added (no code changes required).
    * Xvfb is now not started anymore in the xdist master process.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 3.0.0
    * New --xvfb-backend argument, which can be used to run Xephyr or
      Xvnc in place of Xvfb (e.g. for visual inspection but on a
      remote system or a consistent screen size needed).
    * Support for Python 3.5 and 3.6 is now dropped, while official
      support for 3.9, 3.10 and 3.11 was added (with no code chances
      required).
    * The Xvfb instance is now no longer saved in pytest's config
      object as config.xvfb anymore, and only available via the xvfb
      fixture.
    * Xvfb is now shut down as late as possible (via an atexit hook
      registered at import time), seemingly avoiding errors such as
      "XIO: fatal IO error 0 (Success)".
    * Code reformatting using black/shed.
    * Packaging refresh using pyproject.toml.


author: Hans-Peter Jansen <hpj@urpla.net>
changelog:
  - Update to 2.8.0 (2019-02-04)
    + Data updates
    * Updated tzdata version to to 2018i.
    + Features
    * Added support for EXDATE parameters when parsing rrule
      strings. Reported by @mlorant (gh issue #410), fixed by
      @nicoe (gh pr #859).
    * Added support for sub-minute time zone offsets in Python
      3.6+. Fixed by @cssherry (gh issue #582, pr #763)
    * Switched the tzoffset, tzstr and gettz caches over to using
      weak references, so that the cache expires when no other
      references to the original tzinfo objects exist. This cache-
      expiry behavior is not guaranteed in the public interface and
      may change in the future. To improve performance in the case
      where transient references to the same time zones are
      repeatedly created but no strong reference is continuously
      held, a smaller ?strong value? cache was also added. Weak
      value cache implemented by @cs-cordero (gh pr #672, #801),
      strong cache added by Gökçen Nurlu (gh issue #691, gh pr
      [#761])
    + Bugfixes
    * Added time zone inference when initializing an rrule with a
      specified UNTIL but without an explicitly specified DTSTART;
      the time zone of the generated DTSTART will now be taken from
      the UNTIL rule. Reported by @href (gh issue #652). Fixed by
      @absreim (gh pr #693).
    * Fixed an issue where parser.parse would raise Decimal-
      specific errors instead of a standard ValueError if certain
      malformed values were parsed (e.g. NaN or infinite values).
      Reported and fixed by @amureki (gh issue #662, gh pr #679).
    * Fixed issue in parser where a tzinfos call explicitly
      returning None would throw a ValueError. Fixed by @parsethis
      (gh issue #661, gh pr #681)
    * Fixed incorrect parsing of certain dates earlier than 100 AD
      when repesented in the form ?%B.%Y.%d?, e.g.
      ?December.0031.30?. (gh issue #687, pr #700)
    * Add support for ISO 8601 times with comma as the decimal
      separator in the dateutil.parser.isoparse function. (gh pr
      [#721])
    * Changed handling of T24:00 to be compliant with the standard.
      T24:00 now represents midnight on the following day. Fixed by
      @cheukting (gh issue #658, gh pr #751)
    * Fixed an issue where isoparser.parse_isotime was unable to
      handle the 24:00 variant representation of midnight. (gh pr
      [#773])
    * Added support for more than 6 fractional digits in isoparse.
      Reported and fixed by @jayschwa (gh issue #786, gh pr #787).
    * Added ?z? (lower case Z) as valid UTC time zone in isoparser.
      Reported by @cjgibson (gh issue #820). Fixed by @Cheukting
      (gh pr #822)
    * Fixed a bug with base offset changes during DST in tzfile,
      and refactored the way base offset changes are detected.
      Originally reported on StackOverflow by @MartinThoma. (gh
      issue #812, gh pr #810)
    * Fixed error condition in tz.gettz when a non-ASCII timezone
      is passed on Windows in Python 2.7. (gh issue #802, pr #861)
    * Improved performance and inspection properties of tzname
      methods. (gh pr #811)
    * Removed unnecessary binary_type compatibility shims. Added by
      @jdufresne (gh pr #817)
    * Changed python setup.py test to print an error to stderr and
      exit with 1 instead of 0. Reported and fixed by @hroncok (gh
      pr #814)
    * Added a pyproject.toml file with build requirements and an
      explicitly specified build backend. (gh issue #736, gh prs
      [#746], #863)
    + Documentation changes
    * Added documentation for the rrule.rrulestr function. Fixed by
      @prdickson (gh issue #623, gh pr #762)
    * Added documentation for dateutil.tz.gettz. Fixed by
      @weatherpattern (gh issue #647, gh pr #704)
    * Add documentation for the dateutil.tz.win module and mocked
      out certain Windows-specific modules so that autodoc can
      still be run on non-Windows systems. (gh issue #442, pr #715)
    * Added changelog to documentation. (gh issue #692, gh pr #707)
    * Changed order of keywords in the rrule docstring. Reported
      and fixed by @rmahajan14 (gh issue #686, gh pr #695).
    * Improved documentation on the use of until and count
      parameters in rrule. Fixed by @lucaferocino (gh pr #755).
    * Added an example of how to use a custom parserinfo subclass
      to parse non-standard datetime formats in the examples
      documentation for parser. Added by @prdickson (gh #753)
    * Added doctest examples to tzfile documentation. Patch by
      @weatherpattern (gh pr #671)
    * Updated the documentation for relativedelta?s weekday
      arguments. Fixed by @kvn219 @huangy22 and @ElliotJH (gh pr
      [#673])
    * Improved explanation of the order that relativedelta
      components are applied in. Fixed by @kvn219 @huangy22 and
      @ElliotJH (gh pr #673)
    * Expanded the description and examples in the relativedelta
      class. Contributed by @andrewcbennett (gh pr #759)
    * Improved the contributing documentation to clarify where to
      put new changelog files. Contributed by @andrewcbennett (gh
      pr #757)
    * Fixed a broken doctest in the relativedelta module. Fixed by
      @nherriot (gh pr #758).
    * Changed the default theme to sphinx_rtd_theme, and changed
      the sphinx configuration accordingly. (gh pr #707)
    * Reorganized dateutil.tz documentation and fixed issue with
      the dateutil.tz docstring. (gh pr #714)
    * Cleaned up malformed RST in the tz documentation. (gh issue
      [#702], gh pr #706)
    * Corrected link syntax and updated URL to https for ISO year
      week number notation in relativedelta examples. (gh issue
      [#670], pr #711)
    + Misc
    * GH #674, GH #688, GH #699, GH #720, GH #723, GH #726, GH
      [#727], GH #740, GH #750, GH #760, GH #767, GH #772, GH #773,
      GH #780, GH #784, GH #785, GH #791, GH #799, GH #813, GH
      [#836], GH #839, GH #857
  - Update to 2.7.5 (2018-10-27)
    + Data updates
    * Update tzdata to 2018g
  - Update to 2.7.4 (2018-10-24)
    + Data updates
    * Updated tzdata version to 2018f.
  - Testing switched to py.test
  - Add test dependencies


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 2.8.1:
    * Updated tzdata version to 2019c.
    * Fixed a race condition in the tzoffset and tzstr "strong"
      caches on Python 2.7. Reported by @kainjow (gh issue #901).
    * Parsing errors will now raise ParserError, a subclass of
      ValueError, which has a nicer string representation. Patch by
      @gfyoung (gh pr #881).
    * parser.parse will now raise TypeError when tzinfos is passed a
      type that cannot be interpreted as a time zone. Prior to this
      change, it would raise an UnboundLocalError instead. Patch by
      @jbrockmendel (gh pr #891).
    * Changed error message raised when when passing a bytes object as
      the time zone name to gettz in Python 3. Reported and fixed by
      @labrys () (gh issue #927, gh pr #935).
    * Changed compatibility logic to support a potential Python 4.0
      release. Patch by Hugo van Kemenade (gh pr #950).
    * Updated many modules to use tz.UTC in favor of tz.tzutc()
      internally, to avoid an unnecessary function call. (gh pr #910).
    * Fixed issue where dateutil.tz was using a backported version of
      contextlib.nullcontext even in Python 3.7 due to a malformed
      import statement. (gh pr #963).


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2.8.2:
    - Updated tzdata version to 2021a. (gh pr #1128)
    - Fixed a bug in the parser where non-``ValueError`` exceptions would be raised
    during exception handling; this would happen, for example, if an
    ``IllegalMonthError`` was raised in ``dateutil`` code. Fixed by Mark Bailey.
    (gh issue #981, pr #987).
    - Fixed the custom ``repr`` for ``dateutil.parser.ParserError``, which was not
    defined due to an indentation error. (gh issue #991, gh pr #993)
    - Fixed a bug that caused ``b'`` prefixes to appear in parse_isodate exception
    messages. Reported and fixed by Paul Brown (@pawl) (gh pr #1122)
    - Make ``isoparse`` raise when trying to parse times with inconsistent use of
    `:` separator. Reported and fixed by @mariocj89 (gh pr #1125).
    - Fixed ``tz.gettz()`` not returning local time when passed an empty string.
    Reported by @labrys (gh issues #925, #926). Fixed by @ffe4 (gh pr #1024)
    * Documentation changes
    * Simplified handling of bytes and bytearray in ``_parser._timelex``.


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Add patch no-utcfromtimestamp.patch, stop using a deprecated function.
  - Switch to pyproject and autosetup macros.
  - Stop using greedy globs in %files.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 2.9.0.post0
    * Pinned setuptools_scm to <8, which should make the generated
      _version.py file compatible with all supported versions of
      Python. (We don't do this at openSUSE, we don't need Python 2
      installs from a setuptools_scm v8 build)
  - Version 2.9.0
    * Updated tzdata version to 2024a. (gh pr #1342)
    * Made all dateutil submodules lazily imported using PEP 562. On
      Python 3.7+, things like import dateutil;
      dateutil.tz.gettz("America/New_York") will now work without
      explicitly importing dateutil.tz, with the import occurring
      behind the scenes on first use. The old behavior remains on
      Python 3.6 and earlier. Fixed by Orson Adams. (gh issue #771,
      gh pr #1007)
    * Removed a call to datetime.utcfromtimestamp, which is
      deprecated as of Python 3.12. Reported by Hugo van Kemenade (gh
      pr #1284), fixed by Thomas Grainger (gh pr #1285).
  - Provide underscore name: some consuming packages go with that,
    don't fail unnecessarily
  - Drop no-utcfromtimestamp.patch


author: Tomá? Chvátal <tchvatal@suse.com>
changelog:
  - Update to 0.18.3:
    - Fix timeouts for loaded machines and parallel tests
    - Fix tests for Python 3.8


author: pgajdos@suse.com
changelog:
  - version update to 0.19
    - NetworkManager template: Add "StateReason" property and active connection ID
    - Add low-memory-monitor template


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 0.24.1:
    * Do not register standard D-Bus service directories (Thanks Benjamin Berg)
    * templates: Add IIO Sensors Proxy support (Thanks Marco Trevisan)
    * Fix importlib module import (Thanks Marco Trevisan)
    * Clean up code for most recent pylint version
    * Add Add power-profiles-daemon template (Thanks Bastien Nocera)
    * logind: Implement Inhibit and ListInhibitors (Thanks to Benjamin Berg)
    * Fix new complaints from pylint 2.9
    * Fix tests for Python 3.10
    * DBusMockObject: Add UpdateProperties() method (Thanks to Jonas Ådahl)
    * DBusTestCase: Add bus override argument to spawn_server_template, to use
      templates on either system or session bus; add corresponding --session CLI
      option
    * bluez template: Implement Pair() method on the Device interface and the
      AgentManager1 interface (Thanks to Bastien Nocera)
    * polkit template: Implement RegisterAuthenticationAgent() (Thanks to
      Jonas Ådahl)
    * Add accountsservice template (Thanks to Marco Trevisan)
    * NetworkManager template: Fix connecting to wifi
    * NetworkManager template: Add Reload() method
    * tests: Replace nose test runner with standard unittest
    * setup.py: Drop deprecated `test_suite`, run tests through
      `python3 -m unittest` directly
    * Add type annotations to the whole API
    * Drop obsolete ConsoleKit and bluez4 templates/tests
    * upower template: Drop support for 0.9 API
    * NetworkManager template: Handle NetworkingEnable
    * NetworkManager template: AddConnectionUnsaved
    * Drop support for Python 2
  - Add python-dataclasses to {Build,}Requires


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.30.2:
    * bluez5: Fix invalid arguments to PairDevice
  - update to 0.30.1:
    * bluez: Clean up static default properties, re-drop
      PairDevice() `class_` parameter
  - update to 0.30.0:
    * api: Add pytest support and helpers
    * api: Factor the server spawning into a new SpawnedMock object
    * cli: Add support for running custom commands on the mock
      environment
  - update to 0.29.1:
    * spec: Update License: to SPDX format
  - update to 0.29.0:
    * Support loading templates from XDG_DATA_DIRS
    * iio-sensors-proxy: Throw proper D-Bus errors instead of
      Python Exception
  - update to 0.28.7:
    * blue5-obex template: Fix OBEX PullAll
    * power_profiles template: Fix Actions property type
    * README: Explain container tests and how to debug them
  - update to 0.28.6:
    * Fix generated _version.py in release tarball
  - update to 0.28.4:
    * setup.py: Fix ModuleNotFoundError
    * ofono template: Fix conversion to f-strings (Debian #1015286)
    * Ship FMF tests in release tarballs
  - update to 0.28.3:
    * Bring back dbusmock.__version__
  - update to 0.28.2:
    * Dynamically compute version with setuptools-scm
  - update to 0.28.1:
    * Again works on RHEL/CentOS 8 (0.27 broke there), now in CI
    * Avoid glib GI dependency for main dbusmock, for running in
      virtualenv (thanks Allison Karlitskaya)
  - update to 0.27.5:
    * bluez and accountsservice templates: Drop default arguments
      from D-Bus methods (thanks Simon McVittie)
  - update to 0.27.4:
    * Fix D-Bus signature detection regression from 0.27.0
  - update to 0.27.3:
    * packit: Fix file name to sync
  - update to 0.27.2:
    * packit: Really fix Fedora dist-git syncing
  - update to 0.27.1:
    * packit: Fix Fedora dist-git syncing
  - update to 0.27.0:
    * Do not register standard session service directories, add API
      to enable selected services (thanks Benjamin Berg)
    * Log static method calls from templates (thanks Peter
      Hutterer)
  - update to 0.26.1:
    * Fix README content type to Markdown, to fix releasing to PyPi
  - update to 0.26.0:
    * logind template: Add locking API (thanks Andy Holmes)
    * bluez5 template: Add RemoveDevice() and
      RemoveAdapterWithDevices() methods,
    * fix properties (thanks Bastien Nocera)
    * Documentation improvements, particularly wrt. raising errors
  - update to 0.25.0:
    * bluez template: Implement adapter discovery, connect,
      disconnect, and removal
    * Fix changing array properties (thanks Jonas Ådahl)
    * Fix CLI upower tests (thanks Marco Trevisan)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.31.1:
    * power_profiles_daemon: Move back to original D-Bus name to
      avoid breaking compatibility
    * Add upower_power_profiles_daemon template for version 0.20
      API with new D-Bus name
  - update to 0.31.0:
    * power-profiles-daemon: Move to
      org.freedesktop.UPower.PowerProfiles as in release 0.20.0
    * NetworkManager: Add stub ipv4/6 properties in
      AddWiFiConnection


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to 2022.1:
    - Add a configuration for license URL.
    - Exclude the floating navbar from CHM help.
    - Make sidebar scrollable and sticky (on modern browsers)
    - Fix monospace again, on buggy Google Chrome
    - Add the copyright_url variable in the theme
    - Improve readability
    - Remove #searchbox on mobile to fix a layout bug
    - Fix the appearance of version/language selects
    - Make the theme responsive
    - Use default pygments theme
    - Test Github action to validate the theme against docsbuild scripts.
    - Add the copy button to pycon3 highlighted code blocks.
    - Updated the readme, to remind user to install the package in a virtual environment.
    - Updated the package url, using the GitHub repository instead of docs.python.org
    - Added license information to the footer of the doc
    - Fixed typo in the footer
    - Added information on how to use the package
    - Fixed code formatting
    - Fixed code bgcolor and codetextcolor for Sphinx 3.1.0+


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2023.7:
    * Fix compatability with Sphinx 7.1
    * Enable the slash keypress to focus the search field
    * Sphinx 6.2 fix: add ``nav.contents`` where ``div.topic`` is
      used
    * Dark mode: fix contrast for C++ specific styling (#133)
    * Don't let long code literals extend beyond the right side of
      the screen
    * Test with Python 3.12
    * Add a dark theme.
    * Fix: Remove searchbox id from form.
    * Update ``python-docs-theme`` to work with Sphinx 5 & 6.
    * Override font for ``.sig`` for consistency with other code
      blocks.
    * Dark mode: add class to invert image brightness.
    * Skip cache-busting for old Sphinx
    * Fix problem with monospace rendering in Vivaldi
    * Fix mobile nav obstructing content
    * Reduce footer margin only for desktop
    * Append a hash ?digest to CSS files for cache-busting


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2024.1:
    * Underline links for readability and a11y
    * Add `hosted_on` variable for a link in the footer
    * Consistently reference `theme_root_icon`
    * Dark mode: fix contrast of footer highlight


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2024.2:
    * Do not underline navigation links
    * Only apply underline offset to code formatting for underline
      visibility


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2024.4:
    * Add colour to version change directives
    * Only show 'Last updated on ...' when `last_updated` defined
    * Use system font stack for all code
  - update to 2024.3:
    * Modernise font: use system font stack to improve text
      readability and webpage performance
    * Remove incorrect CSS property
    * Don't test theme on 3.8 and 3.9 branches


author: Michael Ströder <michael@stroeder.com>
changelog:
  - Update to 0.15.0
    * Add --export option to set to make it prepend the binding with export (#270 by @jadutter).
    * Make set command create the .env file in the current directory if no .env file was found (#270 by @jadutter).
    * Fix potentially empty expanded value for duplicate key (#260 by @bbc2).
    * Fix import error on Python 3.5.0 and 3.5.1 (#267 by @gongqingkui).
    * Fix parsing of unquoted values containing several adjacent space or tab characters (#277 by @bbc2, review by @x-yuri).


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Skip testing with optional jupyter_ipython. Jupyter is only
    available for Python >= 3.7
    gh#openSUSE/python-rpm-macros#66


author: Markéta Machová <mmachova@suse.com>
changelog:
  - Update to 0.20.0
    * The default value of the encoding parameter for load_dotenv and dotenv_values is now "utf-8" instead of None
    * Add --override/--no-override option to dotenv run
    * Raise ValueError if quote_mode isn't one of always, auto or never in set_key
    * Require Python 3.5 or a later version. Python 2 and 3.4 are no longer supported.
    * The stream argument of load_dotenv and dotenv_values can now be a text stream (IO[str]),
      which includes values like io.StringIO("foo") and open("file.env", "r")
    * Add support for Python 3.10.
    * Add encoding (Optional[str]) parameter to get_key, set_key and unset_key.
  - Do not require mock


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.0:
    * Drop support for python 3.7, add python 3.12-dev
    * Handle situations where the cwd does not exist.
    * Use Python 3.11 non-beta in CI
    * Modernize variables code
    * Modernize main.py and parser.py code
    * Improve conciseness of cli.py and __init__.py
    * Improve error message for `get` and `list` commands when env
      file can't be opened
    * Updated License to align with BSD OSI template
    * Fix Out-of-scope error when "dest" variable is undefined
    * Fix IPython test warning about deprecated `magic`
    * Fix type hint for dotenv_path var, add StrPath alias
    * CLI: add support for invocations via 'python -m'.
    * `load_dotenv` function now returns `False`.
    * CLI: add --format= option to list command.
    * Drop Python 3.5 and 3.6 and upgrade GA
    * Use `open` instead of `io.open`.
    * Improve documentation for variables without a value
    * Add `parse_it` to Related Projects
    * Update README.md
    * Improve documentation with direct use of MkDocs


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 1.0.1:
    * Gracefully handle code which has been imported from a zipfile
    * Allow modules using load_dotenv to be reloaded when launched
      in a separate thread
    * Fix file not closed after deletion, handle error in the
      rewrite function
    * Use pathlib.Path in tests
    * Fix year in release date in changelog.md
    * Use https in README links


author: Matej Cepl <mcepl@suse.com>
changelog:
  - Update to 0.4.25:
    - Support file 5.41.
    - Support os.PathLike types
    - Fix compat mode handling with empty mime string
    - Cleanup library loading
    - add py.typed sentinal per https://www.python.org/dev/peps/pep-0561/#p?
    - Check for cookie attribute before trying to delete it
    - Revert "Fix bug in Magic when destructor called too early"
    - Fix yet another import error
    - add more doc pointers for compat mode, and enable PendingDeprecationW?
    - restore python 2.7 to setup.py, to preserve back compat
    - document libmagic compat layer
    - prefix add_compat with an underscore to avoid namespace pollution
    - remove from_open_file, since its duplicative with from_descriptor and?
    - move typing stubs next to implementation
    - temorarily remove dropped support for python2
    - Revert "Remove Python2 from the tests"
    - Merge branch 'master' into redo-compat
    - Remove Python2 from the tests
    - Add support for Python 3.9
    - Added support for magic_descriptor routine
    - Handle undecodable characters in description
    - Handle libmagic versions that don't support MAGIC_EXTENSION
    - MAGIC_EXTENSION support (file --extension)
    - support changed mime types in test
    - Fix tests with file 5.39
    - add docker tests for archlinux
    - Fallback to default behavior on setparam failure
    - Fix bug in Magic when destructor called too early
    - sheep Create basic stub file for magic.py
    - various cleanups proposed by debian folks
    - Merge in compatability mode with libmagic
    - add from_open_file to match libmagic binding featureset
  - Remove upstreamed patches:
    - fix-test-tumbleweed.patch
    - fix-test.patch
    - fix-4-file-5.40.patch
    - fix-support-file-5.41.patch


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.4.27:
    - remove spurious pyproject.toml that breaks source builds
    - Use tox for all multi-version testing
    - Fix use of pytest, use it via tox


author: Dr. Werner Fink <werner@suse.de>
changelog:
  - Reintroduce the Conflict with python-magic back as paython-paython-magic
    uses the same name space but are fully different (boo#1181252)


author: pgajdos@suse.com
changelog:
  - do not require python-mock for build
  - added patches
    fix https://github.com/andrew-d/python-multipart/commit/8cff1aac7479fbb69087e355f66315b21640bab0
    + python-python-multipart-no-mock.patch


author: pgajdos@suse.com
changelog:
  - do not require six
  - added patches
    fix https://github.com/andrew-d/python-multipart/commit/c54ad6006bacc77623864ec8e5c96bfd32230e01
    + python-python-multipart-no-six.patch


author: pgajdos@suse.com
changelog:
  - version update to 0.0.7
    0.0.7 (2024-02-03)
    * Refactor header option parser to use the standard library instead of a custom RegEx #75.
    [bsc#1219610] CVE-2024-24762
    0.0.6 (2023-02-27)
    * Migrate package installation to pyproject.toml (PEP 621) #54.
    * Use yaml.safe_load instead of yaml.load #46.
    * Add support for Python 3.11, drop EOL 3.6 #51.
    * Add support for Python 3.8-3.10, drop EOL 2.7-3.5 #42.
    * QuerystringParser: don't raise an AttributeError in __repr__ #30.
  - deleted patches
    - python-python-multipart-no-mock.patch (upstreamed)
    - python-python-multipart-no-six.patch (upstreamed)
    - support-pyyaml-6.patch (upstreamed)


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.0.9:
    * Add support for Python 3.12 #85.
    * Drop support for Python 3.7 #95.
    * Add `MultipartState(IntEnum)` #96.
    * Add `QuerystringState` #97.
    * Add `TypedDict` callbacks #98.
    * Add config `TypedDict`s #99.
    * Cleanup unused regex patterns
    * Check if `Message.get_params` return 3-`tuple` instead of
      `str` on `parse_options_header`


author: Marketa Calabkova <mcalabkova@suse.com>
changelog:
  - update to 0.27
    * fix TypeError in socket.error exception handling for Python 3.x (by @t-wissmann)
    * NV-CONTROL: set offset for all perf levels (by @Sporif)


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Update to version 0.29
    * Drawable & XInput: Avoid using array.array.tostring() which
      will be removed in Python 3.9 (thanks @t-wissmann).
  - Changelog for version 0.28
    * DPMS: Display Power Management Signaling (by @thiagokokada)
  - Add remove-mock.patch gh#python-xlib/python-xlib#186
  - Let the python-rpm-macros do their job for correct provides and
    obsoletes tag for all python3 flavors
    gh#openSUSE/python-rpm-macros#66


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.31:
    * XInput: add event methods
    * XResource: first implementation (thanks @alebastr).
    * Randr: add missing parameters to delete_output_mode function
  - use multibuild to avoid expensive pytest-xvfb dependency
    (should reduce rebuild_time of 1-MinimalX by ~ 12 minutes)


author: Frederic Crozat <fcrozat@suse.com>
changelog:
  - update to 0.33:
    * Removed unused imports.
    * Avoid to use fcntl module on some environments.
    * Change a test behavior for unix_connect.get_socket.
    * Fix accidental data change.
    * Prefer bool over Literal[0, 1, None].
    * Change parentheses to brackets in LICENSE.
  - Changes from version 0.32:
    * Use archived link for X documentation resource.
    * Fix for auth entry having no display number.
    * Fix return type inconsistency with the pack_value for class Object.
    * Rename add_extension_error method to extension_add_error.
    * Extension screensaver: fix screensaver protocol mismatch.
    * Extension XRandr: add version 1.5 support for
      RRSetMonitor RRGetMonitors and RRDeleteMonitors.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.15.0:
    * Use pyproject.toml to store setup and build configuration
    * Upgrade xsimd to a48ab430d4b84ecd5449180ee1c6d2eed67c4191
    * Improve detection of non-overlapping memory area during gexpr
      assignment
    * Support python 3.12
    * Support list.clear
    * Improve detection of methods uses as functions


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Fix python312 tests: Force linking to openblas with custom
    pythranrc
  - Remove test skips no longer needed
  - Make test flavors future proof: Don't fail on empty buildset
  - Skip python39 for all test flavors: The test-py39 multibuild has
    already been removed but it is still in the build set, so don't
    test it in the other multibuilds.
  - Debundle xsimd


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Refactor the multibuild test flavor logic
  - Accomodate some 15.x intricacies for the failing tests:
    * use netlib lapack/blas instead of openblas


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 0.16.0
    * Support numpy.vectorize, numpy.argsort's kind keyword,
      real/imag on numpy_iexpr
    * Add missing omp.set_num_thread descriptor
    * Provide --trace-allocations switch
    * Support empty PYTHRANRC for reproducible builds
    * Improve compilation time
    * Support ufunc creation through #pythran export ufunc
      func_name(arg_types...)
    * Fix memory leak when returing numpy_gexpr to Python
    * Numpy 2.x support
    * Upgrade xsimd to 13.0.0
    * Improve detection of non-overlapping memory area during gexpr
      assignment
    * Improve python 3.12 support (distutils removal)
    * Support imatmul
    * Only link blas when needed


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 2022.7:
    * In the Mexican state of Chihuahua, the border strip near the US
      will change to agree with nearby US locations on 2022-11-30.
      The strip's western part, represented by Ciudad Juárez, switches
      from -06 all year to -07/-06 with US DST rules, like El Paso, TX.
      The eastern part, represented by Ojinaga, will observe US DST next
      year, like Presidio, TX.
      A new Zone America/Ciudad_Juarez splits from America/Ojinaga.
    * Much of Greenland, represented by America/Nuuk, stops observing
      winter time after March 2023, so its daylight saving time becomes
      standard time.
    * Changes for pre-1996 northern Canada
    * Update to past DST transition in Colombia (1993), Singapore
      (1981)


author: Markéta Calábková <meggy.calabkova@gmail.com>
changelog:
  - Update to 2023.3.post1
    * Replace deprecated datetime.utcfromtimestamp()
    * Resurrect Python 2.7 tests
    * Add support for Python 3.12
  - Drop pytz-%{version}.tar.gz.asc and python-pytz.keyring
    * PyPI hides the .asc files and wants to drop the support
    * related: https://github.com/certbot/certbot/issues/9707


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Remove tzdata from the dist metadata, as we neither have nor need
    it.
  - Follow the rest of the metadata, assuming Py >= 3.6 in order to
    avoid import errors on consuming libs.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Bring this Ring1 package to python packaging standards
    * Switch to github tarball in order to run the tests
    * Don't catchall sitelib
    * Replace deprecated setup.py with PEP517
      (poetry-core is enough to build)
    * Pure python module: BuildArch is noarch


author: pgajdos@suse.com
changelog:
  - do not require six
  - added patches
    fix https://github.com/google/pyu2f/issues/34
    + python-pyu2f-no-six.patch


author: Daniel Garcia Moreno <daniel.garcia@suse.com>
changelog:
  - Use upstream patches instead of custom one for python312
    compatibility.
    - drop python312.patch
    - add python312-1.patch gh#google/pyu2f@793acd9ff661
    - add python312-2.patch gh#google/pyu2f@dad654010a03


author: mcepl@cepl.eu
changelog:
  - Update to version 0.22.0+git.1642212208.d5630bf (bsc#1194613):
    * Remove another flakey test
    * Remove all traces of tox
    * Update next Fedora to 35
    * Delete a test which is probably flakey for real
    * Bump recommended development environment to fedora 34
    * Use yamllint on all the configuration files
    * Add annotations to GitHub workflows
    * No longer use --recursive for isort
    * Update formatting for new black
    * Establish a weekly task for future fedora
  - Remove upstreamed patches:
    - remove_mock.patch


author: mcepl@cepl.eu
changelog:
  - Update to version 0.23.2+14:
    * Remove a bunch of python-2 only testing
    * Bump some Python versions
    * Get rid of six dependency
    * Drop all pylint tasks
    * Remove overly rigorous tests
    * Make a package target that uses build
    * Omit PyPy flakey test
    * Check whether the Context has a "_libudev" attribute
    * Remove setup.cfg
    * Remove obsolete egg_info parameter
    * Delete another flaky test
  - Rebase hypothesis_settings.patch and pytest_register_mark.patch.
  - Drop six (Build)?Requires.


author: Dirk Müller <dmueller@suse.com>
changelog:
  - update to 0.24.1:
    * Recommended development release: Fedora 37
    * Add support for PySide6
    * Add missing 'priority' argument for GLib.to_add_watch()
    * Tidies and Maintenance fixes


author: Daniel Garcia <daniel.garcia@suse.com>
changelog:
  - update hypothesis_settings.patch:
    * Extend deadline for test_child_of_parents that fails on ppc64le (bsc#1216607)


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 0.24.3:
    * Tidies and Maintenance fixes
  - Switch to pyproject macros.
  - No more greedy globs in %files.
  - Add patch support-pytest-8.patch:
    * Support pytest 8 changes.


author: Adam Majer <adam.majer@suse.de>
changelog:
  - Update to 0.17.1:
    - Fixed version incompatibilities reported by pip for tox/pluggy,
      ipython/prompt-toolkit, and flake8/pyflakes. (See issue #2153)
    - Fixed the issue where formatting the timezone name of
      a pywbem.MinutesFromUTC object raised NotImplementedError,
      by adding a tzname() method. (see issue #2160)
    - Increased minimum version of ?six? from 0.10.0 to 0.12.0
      when on Python 3.8 (or higher). (See issue #2150).
    - Increased minimum version of ?setuptools? on Python 3.7
      to 38.4.1 to fix a bug with new format of .pyc files. (See issue #2167).


author: Adam Majer <adam.majer@suse.de>
changelog:
  - Update to 0.17.2:
    - Fixed raise error for invalid reference_direction in
      WBEMServer.get_central_instances(). (See issue #2187)
    - Fixed raise error for missing ports in WBEMListener.__init__().
      (See issue #2188)


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Update to Version 1.1.1
    * for a full HUGE changelog see
      https://pywbem.readthedocs.io/en/stable_1.1/changes.html
  - remove coverage runs
  - the cli is now in python-pywbemtools


author: Benjamin Greiner <code@bnavigator.de>
changelog:
  - Fix fail because of urllib3 deprecation warnings
    * gh#pywbem/pywbem#2533
    * pywbem-pr2533-fix-urllib3-warnings.patch


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.2.0
    * Unsupported CIM infrastructure versions returned in CIM-XML
      responses from WBEM servers are now raised as a new exception
      `pywbem.CIMVersionError`, and were previously raised as
      `pywbem.CIMXMLParseError`. Unsupported DTD versions and CIM-XML
      protocol versions returned in CIM-XML responses from WBEM
      servers are now raised as new exceptions
      `pywbem.DTDVersionError` and `pywbem.ProtocolVersionError`, and
      were previously ignored by pywbem. Since these new exceptions
      are derived from `pywbem.VersionError` which is derived from
      `pywbem.VersionError`, this change is only incompatible if such
      unsupported versions were specifically handled by users.
    * The `pywbem.WBEMServer.get_selected_profiles()` method now
      raises `pywbem.ModelError` instead of `KeyError` when required
      properties were found to be missing. This is an incompatible
      change for users that catch this exception. (related to issue
      [#2580]).
    * The operation recorder support added in pywbem 0.9 as an
      experimental feature was changed to become internal. As part of
      this, the "WBEM operation recording" section has been removed
      from the documentation, the operation recorder specific classes
      are no longer documented, and the operation recorder specific
      attributes and methods of the 'WBEMConnection' class have been
      declared to be internal and have been removed from the
      documentation. The logging support which uses the operation
      recorder remains publicly available. If you are using the
      operation recorder, please create an issue in the issue tracker
      describing how you use it.
    * MOF compiler: Fixed bug where MOF compiler did not correctly
      install a CIM schema in a non-default namespace because it
      tried to get the qualifiers from the default namespace. (see
      issue #2502)
    * Test: Changed dependency to 'typed-ast' to match the needs of
      'astroid' and to install it only on CPython. This allows
      re-enabling PyPy3 on Travis.
    * Test: Pinned psutil to <=5.6.3 on PyPy2+3 to avoid an
      installation error.
    * Test: Increased the minimum version of 'pyzmq' on Python 3.9 to
      19.0.0 to avoid an installation error.
    * Test: Circumvented unicode issue with
      lxml.etree.fromstring()/XML() on Python 3.9 by passing in
      binary strings.
    * Test: Adjusted _format()/_ascii2() testcases to PyPy3 behavior
      with binary vs unicode results.
    * Test: Suppressed pylint warning about 'tracemalloc' methods on
      PyPy.
    * Test: Disabled leaktest in travis also on PyPy3 (in addition to
      PyPy2).
    * Test: Disabled 'make resourcetest' in Travis on Pypy2+3, and
      suppressed Pylint issues about using 'tracemalloc' methods and
      disabled its unit tests.
    * Fixed the bug that pywbem allowed reference typed CIMQualifier
      and CIMQualifierDeclaration objects. DSP0004 disallows
      reference types on qualifiers and qualifier declarations. This
      fix now causes CIM-XML responses received from a WBEM server
      with reference typed qualifier values and qualifier
      declarations to raise `pywbem.CIMXMLParseError` from
      `WBEMConnection` operations.
    * Fixed a `DeprecationWarning` issued by urllib3 about using the
      `whitelist_methods` parameter of `Retry`.
    * Security: Increased minimum version of 'PyYAML' to 5.2 on
      Python 3.4 and to 5.3.1 on Python 2.7 and >=3.5 to address
      security issues reported by safety. The relevant functions of
      'PyYAML' are not used by pywbem, though.
    * Security: Increased minimum version of 'urllib3' to 1.24.2 on
      Python 3.4 and to 1.25.9 on Python 2.7 and >=3.5 to address
      security issues reported by safety. To support these versions
      of 'urllib3', increased minimum version of 'requests' to 2.20.1
      on Python 3.4 and to 2.22.0 on Python 2.7 and >=3.5.
    * Security: Increased minimum versions of several packages that
      are needed only for test or development of pywbem to address
      security issues reported by safety: requests-toolbelt to 0.8.0;
      lxml to 4.6.2 (except for Python 3.4); pylint to 2.5.2 and
      astroid to 2.4.0 on Python >=3.5; typed-ast to 1.3.2 on Python
      3.4; twine to 3.0.0 on Python >=3.6; pkginfo to 1.4.2; bleach
      to 3.1.2 on Python 3.4 and to 3.1.4 on Python 2.7 and Python
      >=3.5.
    * Fixed issue on GitHub Actions with macos by no longer running
      "brew update" in pywbem_os_setup.sh. (issue #2544)
    * Docs: Fixed incorrect attribute name 'provider_classnames' in
      method provider example. (issue #2564)
    * Mitigated the coveralls HTTP status 422 by pinning
      coveralls-python to <3.0.0.
    * Test: Add tests to test_mof_compiler to test for errors where
      the namespace name component of the namespace pragma is
      missing.
    * In `CIMNamespaceProvider.post_register_setup()`, fixed an
      `AttributeError` when accessing the 'Name' property of a CIM
      instance (related to issue #2580).
    * In the `MOFCompiler` class, fixed that if a MOF instance
      already exists, the ModifyInstance operation failed because the
      instance path was not specified. The fix is to construct the
      instance path from the key properties in instance specified in
      MOF. That fix has the limitation that it does not account for
      instance providers that add key properties or that ignore
      provided key properties (e.g. InstanceID). (issue #2586)
    * Corrected issue in pywbem_mock where DeleteQualifier() was not
      checking whether the qualifier was used in any classes in the
      namespace before being deleted. (see #2585)
    * Fixed an incorrect calculation of the min/max values for the
      server response time in the statistics support of pywbem (issue
      [#2599])
    * Security - Add safety issue 40072 (lxml version 4.6,3) to
      safety ignore list. No change to pywbem since we apparently do
      not use the affected component (see issue #2645)
    * Test: Pinned decorator package to python <=5.0.0 on Python
      2+3.4 because decorator 5.0.0 does not support python < 3.5
      (see issue #2647)
    * Fix pywem_mock issue with Delete class not calling providers to
      handle the DeleteInstance (see issue #2643)
    * Test: Workaround for BadStatusLine issue in
      test_WBEMListener_send_indications test function. This is not a
      fix for the root cause of the issue. For details, see pywbem
      issue #2659.
    * Fixed installation of 'pywinpty' package on Python 2.7 by
      pinning it to <1.0. It failed because it does not declare its
      supported Python versions. (see issue #2680)
    * Fixed that the test workflow ignored errors that occurred
      during 'make install' and 'make develop', by splitting the
      multiple commands in these steps into separate steps.
    * Finalized the pywbem mock support. (issue #2651)
    * Logging: Added a value 'off' for the log destination in the
      ``pywbem.configure_logging()`` function that disables logging.
      (part of issue #86)
    * Improved exception handling during the parsing of CIM-XML
      responses received from a WBEM server. Exceptions that were
      raised as TypeError or ValueError during the creation of CIM
      objects that are part of the operation result, are now raised
      as pywbem.CIMXMLParseError. Note that this is not an
      incompatible change because users were already potentially
      getting pywbem.CIMXMLParseError exceptions in other cases. (see
      issue #2512)
    * Test: Added CIM-XML testcases in the area of instance paths.
      (see issue #2514)
    * Docs: Clarified that `pywbem.type_from_name()` returns
      `CIMInstanceName` for type name "reference", even though for
      use in CIM method parameters, `CIMClassName` is also valid.
    * Issued a new `pywbem.MissingKeybindingsWarning` warning if a
      `CIMInstanceName` object that does not have any keybindings
      gets converted to CIM-XML by calling its `tocimxml()` method,
      or gets converted to a WBEM URI by calling its `to_wbem_uri()`
      method, or gets parsed from CIM-XML via an INSTANCENAME element
      without keybindings. This is motivated by the fact that DSP0004
      does not allow instance paths without keys (section 8.2.5).
      (See issue #2514)
    * Reduced memory consumption of CIM objects and CIM types by
      defining their attributes to use Python slots. (see issue
      [#2509])
    * Reduced memory consumption of CIM objects by using lazy
      initialization of dictionary-type attributes. This resulted in
      significant savings when the attribute is typically unused, for
      example in ``CIMInstance.qualifiers``. (see issue #2511)
    * Added Python 3.9 to the supported Python versions and added
      tests for it on Travis.
    * Added a check for the DTDVERSION attribute value in CIM-XML
      responses from WBEM servers to start with '2.'. A different
      version of the CIM-XML DTD standard DSP0203 was never
      published, so this is not expected to be an incompatible
      change.
    * Unsupported versions for CIM infrastructure, DTD or protocol
      version returned in CIM-XML responses from WBEM servers are now
      raised as new exceptions `pywbem.CIMVersionError`,
      `pywbem.DTDVersionError`, and `pywbem.ProtocolVersionError`,
      respectively. These new exceptions are derived from the
      existing exception `pywbem.VersionError`. Previously,
      unsupported CIM infrastructure versions were raised as
      `pywbem.CIMXMLParseError`, and unsupported DTD or protocol
      versions were ignored by pywbem.
    * Removed the pinning of Pylint to 2.5.2 on Python >=3.5.
      Disabled the following warnings that were newly reported by the
      latest version (2.6.0) of Pylint: 'signature-differs' because
      it does not recognize compatible signature changes;
      'raise-missing-from' and 'super-with-arguments' because these
      issues cannot reasonably be addressed as long as Python 2.7 is
      supported.
    * In the makefile, added an ignore list for issues reported by
      safety along with the reasons why each issue is ignored. This
      allowed enforcing that the safety command reports no issues.
    * Migrated from Travis and Appveyor to GitHub Actions. This
      required several changes in package dependencies for
      development.
    * Docs: Added examples to the `pywbem.siunit()` and
      `pywbem.siunit_obj()` functions.
    * Extend the MOF compiler so that the pywbem_mock can compile MOF
      containing the namespace pragma that defines a namespace other
      than the one defined in the compile_mof_string() or
      compile_mof_file() methods namespace parameter if the namespace
      exists. Extend documentation on use of the namespace parameter
      to reflect the behavior if the MOF contains a namespace pragma.
      Since the code gives precedence to tha pragma over the
      namespace specified in in the namespace parameter, the
      documentation reflects this. (see issue #2256 partial fix).
    * The `pywbem.siunit()` function supported the PUnit format as
      defined in DSP0004. It turned out that the CIM Schema used
      PUnit qualifiers with a slightly extended format where the
      numeric modifiers were the middle instead of just at the end.
      Extened the PUnit format supported by the `siunit()` function
      accordingly. (issue #2574)
    * Improved and fixed the messages in the compile log of class
      `MOFCompiler` and ensured that the target namespace of the
      compiled objects is included in the messages and added messages
      for changes to the target namespace caused by 'pragma
      namespace' directives.
    * The 'mof_compiler' script now displays the compiled objects and
      their target namespace when specifying verbose mode (-v
      option).
    * Improvements in `pywbem_mock.CIMNamespaceProvider` and
      `pywbem.WBEMServer` to more cleanly handle Interop namespaces
      (related to issue #2580).
    * Improvements in the log messages of the `MOFCompiler` class.
      (related to issue #2586)
    * Added a `close()` method to `pywbem.WBEMConnection` that closes
      the underlying session of the 'requests' package. This avoids
      the ResourceWarning 'unclosed socket' that the 'requests'
      package issued so far when the Python process terminates. Added
      the ability for `pywbem.WBEMConnection` to be used as a context
      manager, that closes the connection at the end. (see issue
      [#2591])
    * Added a mechanism to suspend the statistics counting of server
      time if one or more operations do not return the server
      response time, in order to prevent incorrect interpretations of
      the counters when only a subset of the operations returned
      server response time. (issue #2603)
    * Added validation tests to pywbem_mock ModifyClass to limit
      classes that can be modified (no subclasses, and no instances
      exist, and correct superclass) (see issue #2447)
    * Docs: Used 'autodocsumm' Sphinx extension for generating
      attribute and method summary tables for classes in the
      documentation. Moved documentation of some base classes into a
      new 'Base Classes' section in the appendix.
    * Added a `conn_close()` method to the `pywbem.MOFCompiler` class
      that closes the underlying connection. Used that function in
      the 'mof_compiler' script to remove a ResourceWarning about
      unclosed sockets. (issue #2610)
    * Added 'make perftest' to run performance tests. At this point,
      the performance tests measure the sending of indications to the
      pywbem.WBEMListener.
    * Test: Added support for end2end testing of WBEM servers based
      on server and vault files of the 'easy-server' Python package.
      The server files can specify WBEM servers and their expected
      supported functions. WBEM servers can be somewhere in the
      network or can be containers on DockerHub which are
      automatically pulled and started. At this point, the
      OpenPegasus container on DockerHub is used and the end2end
      tests are run in the GitHub Actions test workflow on Ubuntu
      (Docker is not available in GHithub Actions on Windows or
      MacOS).
    * Test: Fixed all remaining ResourceWarnings during test. (issue
      [#86])
    * Test: Cleaned up DeprecationWarning for the propagation of key
      property values introduced in pywbem 1.1.0. (see issue #2498)
    * Add index section to generated documentation.
    * Fixed new issues reported by pylint 2.7.0. At the same time,
      needed to temporarily pin pylint to <2.7.0 and astroid to
      <2.5.0 due to massive elongation of the run time of pylint in
      the pywbem project.
    * Added tests for pywbem_mock ModifyClass request operation to
      test the validation exceptions and correctness of modified
      class. (see issue #2210)
    * Cleaned up TODOs noted in pywbem and pywbem_mock to fix any
      that were actually bugs, etc. and either create issues or mark
      the others as FUTURE with more explanation.  (See issue #2491)
    * Enforced that the pywbem source code does not contain any TODOs
      (pylint fixme). Note that the pywbem test code may still
      contain TODOs.
    * Removed remove_duplicate_setuptools.py script since the project
      is no longer using Travis.
    * On Python 3.4, the urllib3 package is pinned to <1.25.8 because
      1.25.9 removed Python 3.4 support. As a consequence, `safety
      issue
      <https://github.com/pyupio/safety-db/blob/master/data/insecure_full.json>`_
      38834 cannot be addressed on Python 3.4.
  - Drop pywbem-pr2533-fix-urllib3-warnings.patch


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.3.0
    * *Incompatible changes:**
    * The `WBEMListener.start()` method may raise new exceptions
      `pywbem.ListenerPortError`, `pywbem.ListenerPromptError` and
      `pywbem.ListenerCertificateError`. The `OSError` and `IOError`
      exceptions raised in earlier versions may still be raised for
      other, less common cases. For details, see the corresponding
      item in the Enhancements section, below.
    * Changed 'SubscriptionManager.add_filter()' method to use the
      'SourceNamespaces' property (allows multiple namespaces) of the
      'CIM_IndicationFilter' class instead of the deprecated
      'SourceNamespace' property (allows only single namespace).
      This changed the name of the positional 'source_namespace'
      parameter to 'source_namespaces`. The new parameter allows both
      string and list of strings as values.
      This change brings the subscription manager in line with the
      incorporation of the 'SourceNamespaces' property made to this
      CIM class definition by DMTF CIM schema release 2.22.0.
      An optional 'source_namespace' keyword parameter has been added
      to the 'add_filter()'method to account for any case where a
      WBEM Server cannot handle the SourceNamespaces property. The
      primary incompatibility will be that the instance created for
      CIM_Indication filter now has a property named
      'SourceNamespaces' instead of 'SourceNamespace'. See further
      comments below and issue #2725.
    * Changed the 'SubscriptionManager.add_filter()' method to no
      longer allow specifying the 'filter_id' parameter for permanent
      filters. The documentation had already disallowed that case,
      but the code allowed it. (issue #2757)
    * Added code to fail compile or creation in pywbem_mock of
      instance of Abstract class. Before this the WBEM server might
      fail the attempt but the MOF compiler and pywbem_mock would
      build the instance (see issue # 2742).
    * The new simplified format of the automatically generated 'Name'
      property of owned indication filters causes existing filters
      with the old format to be ignored and a Python warning of type
      'pywbem.OldNameFilterWarning' will be issued. Such owned filter
      instances need to be either removed as owned filters with a
      prior version of pywbem, or as permanent filters with this
      version of pywbem. (issue #2765)
    * Removed the
      'pywbem.WBEMSubscriptionManager.add_listener_destinations()'
      method, because the new naming approach for listener
      destinations requires either a name or an ID and that does not
      work well with supporting multiple destinations in one method
      call. Use the new 'add_destination()' method instead. (issue
      [#2766])
    * The new simplified format of the automatically generated 'Name'
      property of owned listener destinations causes existing
      destinations with the old format to be ignored and a Python
      warning of type 'pywbem.OldNameDestinationWarning' will be
      issued. Such owned destination instances need to be either
      removed as owned destinations with a prior version of pywbem,
      or as permanent destinations with this version of pywbem.
      (issue #2766)
    * *Bug fixes:**
    * Fixes bug in compiler where log of ModifyClass request failure
      was not surrounded by verbose test (if p.parse.verbose:). See
      pywbemcli issue #395,
    * Fixes several issues in WBEMSubscriptionManager:
    - Fixed the discrepancy between documentation and code in
      add_filter() regarding 'filter_id', 'name' and ownership
      type: The only allowed combinations are now owned filters
      with 'filter_id' and permanent filters with 'name'. (issue
      [#2757])
    - add_filter() and add_destinations() methods  can no longer
      modify existing instances on the WBEM server. They can only
      create new instances.
    - Modified the algorithm to determine owned filters and
      instances so they are are correctly recovered from the WBEM
      server when the WBEMSubscriptionManager is restarted (before
      this they could be returned as not-owned object).
    - Change to use WBEM server systemname as the value of the
      SystemName property.
    - Removed code that built instance path for new filter and
      destination instances since that was used only to try to
      determine if instance existed to make the create/modify
      decision.
    - Added the client host as a component of the Name property for
      owned filters and destinations. (issue #2701).
    - Fix issue where windows indication throughput is very slow.
      It is in the range of 1 indication every 2 seconds.  The
      issue is not pywbem but windows itself apparently because of
      hosts file and DNS configuration such that using localhost
      builds in a delay. This can be fixed by using an IP address
      127.0.0.1 for the indication listener or modifying the hosts
      table in windows. For this test we chose to just change the
      host name  See issue #528)
    - Fixes issue with SubscriptionManager class where
      add_destinations loses the input parameter owned if there are
      multiple urls in the listener_urls parameter (see issue
      [#2715])
    - Fixes issue where add_subscription returned wrong instance if
      the instance already exists. (See issue #2719)
    - Fix issues in SubscriptionManager.add_destination to add
      optional parameter which populates the destination
      PersistenceType property. (See issue #2712)
    - Add capability to mock subscription providers to execute
      ModifyInstance (See issue #2722)
    - Fixed pywbem_mock and the MOF_compiler to test for creation
      or compile of an instance with a creation class that has the
      Abstract qualifier. This will fail since abstract classes
      cannot be instantiated. (see issue #2742)
    - Removed use of unittest.Mock in
      pywbem_mock.FakedWBEMConnection to use mock versions of
      _imethodcall and _methodcall and simply duck typed the
      methods. (see issue #2755)
    - Fixed issue in pywbem SubscriptionManager where duplicate
      add_destination() resulted in good return rather than
      CIMError.  The code where the Name property is different but
      the URL the same was modified to test for both URL and
      persistence type equality before returning the existing
      instance. (See issue $ 2782)
    * Fixes MOF compiler issue  where the compiler was allowing array
      properties to have corresponding instances instantiated with
      non-array values and vice-versa. This now causes a parse error.
      (See issue # 2786)
    * Docs: Fixed an error with the autodocsumm and Sphinx 4.0.0.
      (issue #2697)
    * Jupyter Notebook: Ignored safety issues 40380..40386 in order
      to continue supporting it with Python 2.7. (issue #2703)
    * Windows: Removed dependency on bash command in pip upgrade in
      Makefile. (issue #2713)
    * WBEM listener: Fixed the incorrect Content-Type header value
      'text/html' that was set in its export responses by changing
      that to 'text/xml'. (part of issue #2729)
    * WBEM listener: Removed the incorrect check for the
      Accept-Encoding header value when processing export requests to
      be consistent with DSP0200 which requires that WBEM listeners
      must support any value. (part of issue #2729)
    * Fixed installation with setup.py on ubuntu for Python 2.7, 3.4,
      3.5, by pinning yamlloader to <1.0.0. (issue #2745)
    * Mitigated Pylint issue 'deprecated-method' when using
      time.perf_counter() on Python versions 3.6 and 3.7. (issue
      [#2768])
    * Mitigated new Pylint error 'not-an-iterable' when using
      'WBEMServer' properties that return lists and use deferred
      initialization. (issue #2770)
    * Security - Added 42218 42253 42254 42297 42298 42203 to safety
      ignore list. These were new safety issues 1 Nov 2021. The
      modules are all in development, and Jupyter notebook.
    * Fix incompatibility between Sphinx 1.8.5 (version for python <=
      3.5) and docutils 0.18.  (See issue # 2787).
    * Modified dev-requirements and rtd-requirements to require
      Sphinx >= 3.54.
    * Modify dev-requirements.txt to limit version of more-itertools
      to  < 8.10.1 for python < 3.6. See issue #2796
    * Fixed new issues raised by Pylint 2.12.1.
    * Fixed error when installing virtualenv in install test on
      Python 2.7.
    * *Enhancements:**
    * Improved the running of indication listeners via
      `WBEMListener.start()`:
    - The method will now raise a new exception
      `pywbem.ListenerPortError` when the port is in use, instead
      of the previous `socket.error` on Python 2 and `OSError` on
      Python 3 that had confusing or unspecific error messages.
    - The method will now raise a new exception
      `pywbem.ListenerCertificateError` when using HTTPS and there
      is an issue with the server certificate file, private key
      file, or invalid password for the private key file, instead
      of the previous `ssl.SSLError` or `OSError` that had
      confusing or unspecific error messages.
    - The method will now raise a new exception
      `pywbem.ListenerPromptError` when using HTTPS and the prompt
      for the password of the private key file was interrupted or
      ended, instead of the previous `IOError` or `OSError` that
      had unspecific error messages.
    - If the private key file is protected with a password, the
      password prompt now states the path name of the private key
      file in the prompt message.
    - Add optional initialization parameter `url` to pywbem_mock
      FakedWBEMConnection class. This allows a different URL than
      the default http://FakedWBEMConnection:5988. With this, tests
      can be executed with multiple simultaneous mock environments
      pywbem. (See issue #2711)
    * Test: Added support for validating the structure of
      user-defined properties in the easy-server server and vault
      files. As part of that, increased the minimum version of the
      'pytest-easy-server' package to 0.8.0. (issue #2660)
    * Added providers to the pywbem_mock environment for the  3
      classes required to manage subscriptions in a WBEM server.
      (See issue #2704)
    * Finalized the support for SI units that was experimental so
      far, i.e. the 'pywbem.siunit()' and 'pywbem.siunit_obj()'
      functions. (issue #2653)
    * Modify 'SubscriptionManager.add_filter()' to use the
      CIM_IndicationFilter property 'SourceNamespaces' in place of
      the deprecated 'SourceNamespace'. (see issue #2725 and the
    * *Incompatible changes:** section above)
    * Added support for the ExportIndication export operation by
      extending 'WBEMConnection' to be able of targeting a WBEM
      listener instead of a WBEM server, and by adding an
      'ExportIndication()' method to 'WBEMConnection'. The
      'default_namespace' and 'use_pull_operations' init parameters
      and properties are ignored when targeting a WBEM listener.
      (issue #2729)
    * Test: Improved diff display when assertion in test_recorder.py
      fails.
    * Added toleration support for WBEM servers that return a CIM
      status CIM_ERR_FAILED when pywbem issues a pull operation and
      the server does not support it. Note that DSP0200 requires the
      use of CIM status CIM_ERR_NOT_SUPPORTED in this case, but at
      least one WBEM server returns CIM_ERR_FAILED. (issue #2736)
    * Added a 'copy()' method to 'WBEMConnection',
      'FakedWBEMConnection', 'LogOperationRecorder', and
      'TestClientRecorder'. The 'copy()' method returns a copy of the
      object where user-specified attributes are copied and any
      additional internal state is reset. In case of
      'FakedWBEMConnection', the repository and registries of the
      original object are reused by the new object. (issue #2750)
    * The init methods of 'WBEMConnection' and 'LogOperationRecorder'
      now copy any mutable input arguments in order to ensure the new
      object is decoupled from the user-provided objects. (related to
      issue #2750)
    * Changed the WBEMConnection.timeout property to be settable.
      This allows adjusting the timeout after the connection has been
      created. (issue #2752)
    * Pylint: Removed pinning of Pylint to <2.7.0 because the
      performance issue can also be addressed by disabling the
      similarity checker, and addressed Pylint issues reported by
      Pylint 2.9. (issue #2672)
    * Simplified the format of the automatically generated 'Name'
      property of owned indication filters from: ``"pywbemfilter:"
      {ownership} ":" {client_host} ":" {submgr_id} ":" {filter_id}
      ":" {guid}`` to: ``"pywbemfilter:" {submgr_id} ":"
      {filter_id}``. The client host was removed in order to allow
      different client systems to be used. The ownership was removed
      because filters with an auto-generated Name are always owned.
      The GUID was removed to make the name predictable and the
      uniqueness it attempted to guarantee is now achieved by
      rejecting the creation of filters with the same name. Overall,
      this change makes the name much more suitable for use in CLI
      tools such as pywbemcli. (issue #2765)
    * Added a `ToleratedSchemaIssueWarning` class with its base class
      `Warning`. The new `ToleratedSchemaIssueWarning` is expected to
      be used where the MOF compiler or code detects issues in the
      CIM Schema that are either tolerated or corrected.
    * Added a 'pywbem.WBEMSubscriptionManager.add_destination()'
      method that makes the way the 'Name' property is created for
      listener destination intances consistent with how that is now
      done for indication filters: There is a new parameter 'name'
      that directly sets the 'Name' property for permanent
      destinations, and a new parameter 'destination_id' that is used
      for creating the 'Name' property for owned destinations. The
      format of the generated 'Name' property has been changed from:
      ``"pywbemdestination:" {ownership} ":" {client_host} ":"
      {submgr_id} ":" {guid}`` to: ``"pywbemdestination:" {submgr_id}
      ":" {destination_id}``. The client host was removed in order to
      allow different client systems to be used. The ownership was
      removed because destinations with an auto-generated Name are
      always owned. The GUID was removed to make the name predictable
      and the uniqueness it attempted to guarantee is now achieved by
      rejecting the creation of destinations with the same name.
      Overall, this change makes the name much more suitable for use
      in CLI tools such as pywbemcli. (issue #2766)
    * Fixed install error of PyYAML 6.0b1 on Python 2.7 during
      installtest, by pinning it to <6.0.
    * Fixed install error of wrapt 1.13.0 on Python 2.7 on Windows
      due to lack of MS Visual C++ 9.0 on GitHub Actions, by pinning
      it to <1.13.
    * Fixed install error of yanked jsonschema 4.0.0 on Python <3.7,
      by excluding it.
    * Enhanced test matrix on GitHub Actions to always include Python
      2.7 and Python 3.4 on Ubuntu, and Python 2.7 and Python 3.5 on
      macOS and Windows.
    * Support for Python 3.10: Added Python 3.10 in GitHub Actions
      tests, and in package metadata.
    * *Cleanup:**
    * Extend tests for SubscriptionManager to utilize pytest and
      cover error cases.


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.4.1
    * Fix issue where the DeepInheritance parameter not passed to the
      mocker OpenEnumerateInstances method so the result is that the
      mocker always uses the default (DeepInheritance=True). (see
      issue #2839)
    * Modified compiler and pywbem_mock to allow creating instances
      from abstract classes because SNIA ignored DMTF rule making
      this illegal and many MOF compilers also ignored it.  Pywbem
      now issue a warning from the MOF compiler if an instance of an
      abstract class is compiled but complete the compile and another
      warning from pywbem_mock.CreateInstance if the instance is for
      an abstract class. (see issue #2825)
  - Release 1.4.0
    * Aligned minimum versions of pip,setuptools,wheel with
      pywbemtools, nocasedict,nocaselist. This increased the minimum
      version of pip on Python 3.5 to fix an issue.
    * Improved verbosity of namespace creation and deletion: Added
      optional 'verbose' parameters to the create_namecpace() and
      delete_namespace() methods of WBEMServer, and to the
      add_namecpace() and remove_namespace() methods of
      FakedWBEMConnection (and subsequently to BaseProvider) in the
      mock support.
  - Actually cythonize if --with cythonize is given
    * switched off by default, because the produced commands throw
      yacc parser errors in the pywbemtools tests


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Update to 1.6.2
    [#]# Incompatible changes:
    * The 'pywbem.ValueMapping' class will now raise a
      'pywbem.ModelError' for any missing or extra items in the
      'Values' qualifier, compared to the 'ValueMap' qualifier.
      Previously, 'IndexError' was raised. (issue #2991)
    [#]# Bug fixes:
    * Fixed coveralls issues with KeyError and HTTP 422 Unprocessable
      Entity.
    * Circumvented the removal of Python 2.7 from the Github Actions
      plugin setup-python, by using the Docker container
      python:2.7.18-buster instead.
    * Fixed missing dependencies in minimum-constraints.txt.
    * Fixed safety issues as of 8/21.
    [#]# Enhancements:
    * The 'pywbem.ValueMapping' class now allows controlling what
      should happen when the 'Values' qualifier has missing or extra
      items compared to the 'ValueMap' qualifier, by means of a new
      'values_default' parameter of the respective factory methods.
      If 'values_default' is None (default), a 'pywbem.ModelError' is
      raised for missing or extra 'Values' items. If it specifies a
      string value, missing items in the 'Values' qualifier are
      filled up with that value, and extra items in the 'Values'
      qualifier are truncated. (issue #2991)
    [#]# Cleanup:
    * Replaced the safety_ignore_opts in Makefile that is used as the
      basis for ignoring safety issues with the use of a
      .safety_policy_file defined by the safety utility.
    * Add a number of new ignores for additions to the safety issues
      lise May 2003
  -  pywbem 1.6.1
    [#]# Bug fixes:
    * Fixed a doc build issue with Sphinx 6.x (issue #2983) and
      addressed some of the Sphinx warnings during doc build.
  - pywbem 1.6.0
    [#]# Bug fixes:
    * Fix issue where we could get HTTP retries upon HTTP read
      timeouts from the server. Changed to not allow urllib3 to do
      retries on post operations (the CIM/XML operations all use post
      and duplicates of some operations (invoke, update) could cause
      data integrity issues). (see issue #2951)
    [#]# Enhancements:
    * Support for Python 3.11. (issue #2904)
    [#]# Cleanup:
    * Ignore new safety issues for wheel, safety, and py packages and
      update values in minimum-requirements.txt.
    * Modify Makefile so safety check does not cause fatal github
      test failure. (see issue #2970)
    * Update the version of the OpenPegasus server Docker image used
      in tests to the docker image
      kschopmeyer/openpegasus-server:0.1.2 which used OpenPegasus
      2.14.3 located in the github OpenPegasus repository. This image
      is much smaller (110 mb) but the same set of models and
      providers as the previous image.
    * Modifications and pylint ignore statements for new pylint test
      for dict form dict(a=1) which is slower than {'a':1} and other
      new tests in pylint 2.16.0
  - pywbem 1.5.0
    [#]# Incompatible changes:
    * Exceeding the 'WBEMConnection' timeout now results in raising
      'pywbem.TimeoutError' in some cases where previously
      'pywbem.ConnectionError' was raised. (issue #2853)
    * Changed the file permissions of setup.py to no longer be
      executable, in order to encourage transition to use pip install
      instead of executing setup.py install, which was deprecated by
      setuptools.
    * The removal of internal symbols from the 'pywbem_mock' Python
      namespace may cause name errors in your code, if you were using
      them. (related to issue #2888)
    * The pywbem_mock default instance writer
      (pywbem_mock/_instancewriteprovider.py) added checks for
      creation/modification of instances to validate that the
      reference properties of associations define existing instances
      if the property values exist. Previously they validated only
      the correct value type. (see issue #2908, extension to
      bidirectional inter-namespace associations)
    [#]# Bug fixes:
    * Fix issue where the DeepInheritance parameter not passed to the
      mocker OpenEnumerateInstances method so the result is that the
      mocker always uses the default (DeepInheritance=True). (see
      issue #2839)
    * Test: Mitigated incorrect version of testfixtures package on
      Python 3.5 by pinning it to <6.4.0 on Python 3.5. (issue #2855)
    * Documented that the pywbem MOF compiler does not support the
      "EmbeddedObject" qualifier with a class definition. (issue
      [#2340])
    * Docs: Changes in autodocsumm and Sphinx versions to pick up
      final fix for issue #2697.
    * Re-enabled pylint on Python 3.5 (issue #2674)
    * Increased pylint to >=2.10 on Python >=3.6 to pick up fixes in
      similarity checker and enabled similarity checker again on
      pylint >=2.10 (issues #2672, #2673)
    * Excluded setuptools 61.0.0 because it breaks installation via
      "setup.py install" (issue #2871)
    * Resolved new issues reported by Pylint 2.13 (issue #2870)
    * Fixed that the added setup.py commands (test, leaktest,
      installtest) were not displayed. They are now displayed at
      verbosity level 1 (using '-v').
    * Previously, the sending of CIM request messages was retried in
      case no response was received within the timeout. This could
      potentially have resulted in executing operations multipe
      times. That is an issue for non-idempotent operations such as
      instance creation/deletion or method invocation. Fixed that by
      retrying now only during connection setup, but not for the
      sending of CIM request messages. (issue #2853)
    * Changed the default timeout of 'WBEMConnection' from 'None' to
      30 seconds. This prevents waiting for operation completion
      forever, by default. (issue #2853)
    * Pinned "certifi" to <2020.6.20 on Python 2.7 because the
      install test using "setup.py install" started failing because
      it installed a version of certifi on Python 2.7 that properly
      declares that it requires Python >=3.6.
    * Added a note to the install section of the documentation that
      installation via setup.py install has been deprecated by
      setuptools.
    * Removed internal symbols from 'pywbem_mock' Python namespace,
      and added the 'config' submodule to the 'pywbem_mock' Python
      namespace. (related to issue #2888)
    * Fixed invalid references in the documentation. As part of that,
      added class 'MOFWBEMConnection' to the 'pywbem' namespace,
      moved class 'IterQueryInstancesReturn' from the scope of method
      'pywbem.IterQueryInstances' to the 'pywbem' namespace. (issue
      [#2888]).
    * Fixed the name of the cythonized distribution archive.
    * Fixed new formatting issues raised by flake8 5.0.
    * Fixed issue in pywbem_mock/_wbemconnection_mock.py
      add_namespaces where namespaces that are added with
      add_namespace() after an interop provider is defined do not
      show up in the list of namespaces. It now uses
      server.create_namespace() if the interop namespace and
      namespace provider exist. (see issue #2865)
    * Fixed a RecursionError exception raised by flake8 on Python 3.6
      and 3.7. (issue #2922)
    * Fixed issue in pywbem_mock instancewrite providers where
      Create/Modify of an instance with reference properties fails if
      host set in reference property (i.e. CIMInstanceName). Now
      issues a warning and ignores the host value since pywbem_mock
      does not handle cross-host associations. (see issue #2920)
    [#]# Enhancements:
    * Added support for the new 'CIM_WBEMServerNamespace' class used
      in the DMTF WBEM Server Profile. In addition, the
      WBEMServer.create_namespace() method now uses the same class
      name for the new namespace that is already used for existing
      namespaces. (issue #2845)
    * Docs: Clarified that the timeout parameter in 'WBEMConnection'
      is for completing a CIM operation to a server or a CIM
      indication delivery to a listener. (issue #2853)
    * Improved the handling of exceptions raised by the "requests"
      and "urllib3" packages in pywbem, so that more meaningful
      messages are used. Exceeding the 'WBEMConnection' timeout now
      results in raising 'pywbem.TimeoutError' in some cases where
      previously 'pywbem.ConnectionError' was raised. (issue #2853)
    * Extend pywbem_mock creation of instances of associations to
      provide for bidirectional inter-namespace associations.
      Previously cross-namespace associations created in pywbem_mock
      were only visible in the namespace in which they were created.
      (see issue #2908)
    [#]# Cleanup:
    * Removed support for Python 3.4. It had been deprecated since
      pywbem 1.0.0. (issue #2829)
    * Modified compiler and pywbem_mock to allow creating instances
      from abstract classes because SNIA ignored DMTF rule making
      this illegal and many MOF compilers also ignored it. Pywbem now
      issue a warning from the MOF compiler if an instance of an
      abstract class is compiled but complete the compile and another
      warning from pywbem_mock.CreateInstance if the instance is for
      an abstract class. (see issue #2825)
    * Fix issues in manual test run_cimoperations.py that resulted
      from changes in the pywbem APIs. Since this was manual test it
      was not regularly used. Changes included removing tests for
      extra parameters which now cause failure of api.
    * Clarify why the iterEnumerateInstances and
      IterEnumerateInstancePaths always return the host name in the
      response. (see issue #2841)
    * Changed build process for distribution archives to use the
      build package.
    * Document a limitation in the IterQueryInstances request method
      (it delivers instances for Open/Pull after the request to the
      server is complete). (see issue #1801)
    * Added security issues 50748, 50571, 50664, 50663, 50892, 50885,
      50886 to Makefile ignore list of new security issue August and
      September 2022.
    * Fixed issue with mock namespace provider that would acreate the
      same namespace twice under some conditions (i.e. same name
      property but different path on CreateInstance. (see issue
      [#2918])


author: Ben Greiner <code@bnavigator.de>
changelog:
  - Skip tests failing on python312
    * changed repr of OrderedDict gh#pywbem/pywbem#3097
    * unexpected DeprecationWarnings


author: Steve Kowalik <steven.kowalik@suse.com>
changelog:
  - Update to 1.7.2:
    * Bug fixes:
      + Fix issue where pywbemlistener that fails startup can cause thread
      exception.
    * Incompatible changes:
      + Dropped support for Python 3.5.
      + In order to make life easier for people that package pywbem into Linux
      distros, vendorized the nocasedict and nocaselist packages.
      + Update to support urllib3 dependent package version 2.0+ for Python
      version 3.7+.
    * Bug fixes:
      + Fixed a doc build issue with Sphinx 6.x and addressed some of the
      Sphinx warnings during doc build.
      + Test: Fixed issues resulting from removal of support for
      pytest.warns(None) in pytest version 8.
      + Fixed new Pylint issue for unused variable 'exp_result'.
      + Test: Fixed issue in test_recorder.py where format of OrderDict repl
      output changed with python 3.12
    * Enhancements:
      + Update handling of request exceptions in CIM_http.py to account for
      changes to the urllib3 exceptions API that occurred in urllib3 version
      2.0.0 and keep the capability to handle the urllib3 exceptions API
      prior to versiion 2.0.
      + Add end2end tests for operation timeout.
      + Document the issue and possible corrections for the pywbem listener
      possibly losing indications.
    * Cleanup:
      + Clarified the use of the host parameter on the WBEMListener class.
      + Bring example pegasusindicationtest.py up to date and extend to be used
      with WBEM server in a container.
      + Fix issue in pywbem_mock._base_provider where __repr__ had invalid
      parameter
      + Extend support to Python version 3.12.
      + Moved the version constraints for the 'idna' package into the pywbem
      installation dependencies since it is an indirect dependency.
      + Changed the format of the README and README_PYPI files from RST to
      Markdown.
  - Switch to autosetup macro.
  - Stop skipping tests on Python 3.12.
  - No longer {Build,}Require urllib3 < 2.


