Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[WIP] Syrupy v5 #905

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from
Draft

[WIP] Syrupy v5 #905

wants to merge 10 commits into from

Conversation

noahnu
Copy link
Collaborator

@noahnu noahnu commented Oct 20, 2024

Syrupy v5

Features

  • Improve output of "--snapshot-details" option.
  • Add "---snapshot-ignore-file-extensions" flag for compatibility with DVC.
  • Improved error message when trying to use SingleFileSnapshotExtension with non-byte-like object.
  • Introduced a new compose_matchers utility to compose one or more matchers.
  • Added SingleFileAmberSnapshotExtension.

Breaking Changes

  • Requirements: Drops Python 3.8 support due to end of life.
  • Requirements: Raises min version of Pytest to v8.
  • License: Switch from Apache-2.0 to more permissive MIT license.
  • Serializer: Trailing newlines are now preserved in amber serialization. This mostly affects serialization of custom repr implementations.
  • Build: Updates Poetry to 2.1.1. This affects the backend used when building syrupy from source.

No timeline on when Syrupy v5 will be released. I'm working my way through the open issues and will try get as many issues resolved in v4 as possible.

@noahnu noahnu changed the title Syrupy v5 [WIP] Syrupy v5 Oct 20, 2024
Copy link

codecov bot commented Oct 20, 2024

Codecov Report

Attention: Patch coverage is 90.00000% with 7 lines in your changes missing coverage. Please review.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #905      +/-   ##
==========================================
- Coverage   97.71%   97.40%   -0.31%     
==========================================
  Files          21       21              
  Lines        1616     1658      +42     
==========================================
+ Hits         1579     1615      +36     
- Misses         37       43       +6     

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmark

Benchmark suite Current: e445cdf Previous: 7fdffd9 Ratio
benchmarks/test_1000x.py::test_1000x_reads 0.7816811072680893 iter/sec (stddev: 0.056085821716579776) 0.791293207258563 iter/sec (stddev: 0.07167662396936088) 1.01
benchmarks/test_1000x.py::test_1000x_writes 0.7158407282480719 iter/sec (stddev: 0.21995078515667238) 0.7056598497565947 iter/sec (stddev: 0.23696319708989552) 0.99
benchmarks/test_standard.py::test_standard 0.7265557557121373 iter/sec (stddev: 0.06589037094384544) 0.7288381306864072 iter/sec (stddev: 0.09187540514725986) 1.00

This comment was automatically generated by workflow using github-action-benchmark.

BREAKING CHANGE: Drops support for Python 3.8 which is end of life as of October 2024. Raises the minimum version of pytest to v8.
* chore(poetry): use project toml spec

* feat: switch from Apache-2.0 to MIT license

BREAKING CHANGE: The Syrupy project is switching from Apache 2.0 to a more permissive MIT license. By using Syrupy >=5, you agree to abide by this new license. You can continue to use Syrupy v1 through v4 under Apache 2.0.
BREAKING CHANGE: Trailing newlines are now preserved in amber
serialization. This mostly affects serialization of custom repr
implementations.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant