Skip to content

Commit 8e8c255

Browse files
committed
docs: add blog post about v2.2
Signed-off-by: JP-Ellis <[email protected]>
1 parent 2cea121 commit 8e8c255

File tree

5 files changed

+83
-0
lines changed

5 files changed

+83
-0
lines changed

docs/SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@
88
- [Contributing](CONTRIBUTING.md)
99
- [Pact](pact/)
1010
- [Examples](examples/)
11+
- [Blog](blog/index.md)

docs/blog/.authors.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
authors:
2+
JP-Ellis:
3+
name: Joshua Ellis
4+
description: |
5+
Joshua Ellis is a software engineer at SmartBear and open-source
6+
contributor. He has been helping upgrade the Pact Python library to
7+
v3 which will make use of the Rust FFI library.
8+
avatar: https://gravatar.com/avatar/d82f8662c8eadcbfef09de9872b3f060ce4ead0fbae2e58a94435f31fcd00e55?s=512
9+
slug: jp-ellis
10+
url: https://jpellis.me

docs/blog/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Blog
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
authors:
3+
- JP-Ellis
4+
date:
5+
created: 2024-04-11
6+
---
7+
8+
# A Sneak Peek into the Pact Python Future
9+
10+
We are thrilled to announce the release of [Pact Python `v2.2`](https://github.com/pact-foundation/pact-python/releases/tag/v2.2.0), a significant milestone that not only improves upon the existing features but also offers an exclusive preview into the future of contract testing with Python.
11+
12+
## A Glimpse Ahead with [`pact.v3`][pact.v3]
13+
14+
The work is taking shape in a branch-new module – [`pact.v3`][pact.v3] – that serves as an early preview of what will become Pact Python `v3`. This will provide full support for Pact Specifications `v3` and `v4`.
15+
16+
This new version harnesses the power of Rust's foreign function interface (FFI) library, promising enhanced performance and reliability. It will also make it easier to incorporate upstream changes in the future. Although it's just a sneak peek, it's an open invitation for you to explore what's coming and contribute to shaping its final form.
17+
18+
<!-- more -->
19+
20+
## Your Feedback Is Invaluable
21+
22+
The journey toward perfection is never solitary. We count on your insights and experiences to refine our offerings. If you run into any hiccups or have thoughts you'd like to share:
23+
24+
- Report issues on our GitHub page: [Pact Python Issues](https://github.com/pact-foundation/pact-python/issues).
25+
- Join the conversation on GitHub discussions: [Pact Python Discussions](https://github.com/pact-foundation/pact-python/discussions).
26+
- Connect with us on Slack: [Pact Foundation Slack](https://slack.pact.io/).
27+
28+
We eagerly await your input!
29+
30+
## The Roadmap Ahead
31+
32+
Transitioning to a new version can be daunting; thus, we've planned a staged migration:
33+
34+
### :construction: Stage 1 (from v2.2)
35+
36+
- The existing library remains operational with continued support for minor updates.
37+
- The new `pact.v3` is available for trial but should be used cautiously as changes are expected.
38+
- It's not recommended for production use yet, but feedback from experimentation is encouraged.
39+
- Expect [`PendingDeprecationWarning`](https://docs.python.org/3/library/exceptions.html#PendingDeprecationWarning) alerts when using the current library.
40+
41+
### :hammer_and_wrench: Stage 2 (from v2.3, to be confirmed)
42+
43+
- The `pact.v3` module is anticipated to stabilize and we urge users to start planning their migration.
44+
- Comprehensive migration guidance will be provided for a seamless transition.
45+
- More assertive [`DeprecationWarning`](https://docs.python.org/3/library/exceptions.html#DeprecationWarning) notifications will prompt users to switch to the new module.
46+
- This phase will provide ample time, likely spanning a few months, for users to adapt.
47+
48+
### :rocket: Stage 3 (from v3)
49+
50+
- The `pact.v3` module graduates to simply `pact`, signaling its readiness as the primary library.
51+
- Migrators from `pact.v3` can expect minimal effort adjustments – mostly a find-and-replace task from `pact.v3` to `pact`.
52+
- Any necessary breaking changes identified during Stage 2 will be implemented, with detailed guidance provided.
53+
- The original library moves under the `pact.v2` umbrella.
54+
- This significant shift means that code written for Pact Python v2 will require attention to function with `v3`.
55+
- Users loyal to `v2` must update their imports to accommodate the new `pact.v2` scope.
56+
- With its move, `pact.v2` steps into the sunset of its lifecycle, focusing on critical fixes until its eventual retirement.
57+
58+
## Embrace the Evolution
59+
60+
Ready to dive in? Check out Pact Python `v2.2` today and start exploring what's ahead with `pact.v3`. As developers and testers, your role in this evolution is pivotal. By engaging with this preview and sharing your findings, you help us refine and perfect the tools you rely on.
61+
62+
We want to make this transition as smooth as possible for our community. We encourage you to explore, test drive the new features, and share your experiences.
63+
64+
Stay tuned for more updates as we progress through each stage of this exciting journey!
65+
66+
Lastly, a big thank you to all our contributors!
67+
68+
Happy testing!

mkdocs.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ plugins:
5858
show_signature: true
5959
show_signature_annotations: true
6060
- social
61+
- blog:
62+
blog_toc: true
63+
post_excerpt: required
6164

6265
markdown_extensions:
6366
# Python Markdown

0 commit comments

Comments
 (0)