Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Initial draft for change / deprecation processes in the docs. #152

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

Conversation

ntoll
Copy link
Member

@ntoll ntoll commented Nov 8, 2024

This is a first draft. Feedback most welcome.

I have endeavoured to:

  • Use a friendly style of writing.
  • Provide details of existing processes that relate to this context.
  • Create clear lists of events/tasks.
  • Define the scope of this context.


**We recommend developers using PyScript keep the version of PyScript they are
using up to date**. To ensure this process is smooth, this document was
created to describe what you can expect from us.
Copy link
Contributor

Choose a reason for hiding this comment

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

We know that this is not necessarily enough though ... pinned dependencies are the key to make both this statement and the desired outcome future proof.

Copy link
Contributor

Choose a reason for hiding this comment

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

+100 here. We should advise pinning the PyScript version AND dependencies as a first step and then the PyScript version can float as suggested

takes such problems very seriously** and will take all the necessary steps to
ensure security related changes are timely, well documented and taken with
the greatest of care and attention.
* **Standards**. PyScript's parents are Python and the web. PyScript is itself
Copy link
Contributor

Choose a reason for hiding this comment

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

"the Web" (capitalized) ?

Copy link
Contributor

@WebReflection WebReflection left a comment

Choose a reason for hiding this comment

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

Two minor gotchas but overall this feels not just necessary but welcome and lovely, thank you!

Comment on lines +136 to +137
Any breaking changes will be arrived at via the processes described in the
[Change](#change) section.
Copy link
Contributor

Choose a reason for hiding this comment

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

As of now, the Change section doesn't really have any process description and only has "the source of change" and how we interact with these

Comment on lines +139 to +143
Since these will be done in public and with community engagement we hope the
initial decision for a breaking change will come as no surprise. Furthermore,
as the change is implemented there will be further opportunities for the change
to be broadcast: via updates in our community call, via our upcoming PyScript
newsletter, and in the formal technical discussions that take place on GitHub.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think these should be more explicitly described as part of the Deprecation process.

to be broadcast: via updates in our community call, via our upcoming PyScript
newsletter, and in the formal technical discussions that take place on GitHub.

### Predictability
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure if the title is a good fit. I feel like it doesn't really talks to the problem we are trying to solve here. I find something more explicit more helpful. For instance something like "Managing Breaking Changes and Deprecation Process" or something along these lines...

Comment on lines +149 to +151
* After the initial communication of the change, the release of PyScript that
immediately follows the decision will ensure the affected API reports the
upcoming changes via a warning in the browser console.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think there's a time component and best intentions here. There may be times when we can't wait a full deprecation cycle but we should ALWAYS try to ensure that there's a deprecation cycle (== we introduce a warning and socialize the breaking change as much as possible with a message that sounds somehow like "Hey! As of release XXXXXXX this feature has marked as deprecated and will be removed in YYYYY future release(s). To avoid breaking your application, to do and see how you can update to the new interface." Or something like that..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants