From a17ac23f970e6552bdb114f1302dea7efe733770 Mon Sep 17 00:00:00 2001 From: Curtly Critchlow Date: Tue, 18 Jun 2024 12:58:28 -0400 Subject: [PATCH 1/4] chore: Create 2024-06-packages-depencency-update-inerval.md --- ...4-06-packages-depencency-update-inerval.md | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 decisions/2024-06-packages-depencency-update-inerval.md diff --git a/decisions/2024-06-packages-depencency-update-inerval.md b/decisions/2024-06-packages-depencency-update-inerval.md new file mode 100644 index 0000000..f512ca1 --- /dev/null +++ b/decisions/2024-06-packages-depencency-update-inerval.md @@ -0,0 +1,44 @@ +# Packages Dependency Update Interval + + + +* **Status:** Approved +* **Last Updated:** 2024-06-18 +* **Objective:** Endure our packages uses the latest compatible dependencies to streamline the update process and avoid dependencies conflicts. + +## Context & Problem Statement + +* Our packages have dependencies on each other and share external dependencies. + +* Updating a package usually requires updating its dependent packages to maintain compatibility + +## Goals +* Update package dependencies quarterly. +* Publish new package versions with updated dependencies. +### Non-goals + +## Other considerations + +## Considered Options + + + + + +## Proposal Summary +This proposal recommends updating dependencies for all our packages quarterly and publishing new versions accordingly. +The update sequence prioritizes core packages (at_client, at_client_mobile) followed by at_widgets packages in their dependency +order (at_commons_flutter first). Refer to the package [hierarchy tree](https://github.com/atsign-foundation/at_mono/tree/trunk/docs/diagrams) +for the update order. + +## Proposal in Detail +We propose updating the dependencies of all our packages on a quarterly basis. New versions of the packages will be published +where applicable. The update order is crucial to ensure successful updates and avoid conflicts. Here's the recommended sequence: + * Core packages (at_client, at_client_mobile etc) + * at_widgets packages (in dependency order, starting with at_commons_flutter) + +For determining the exact update order, refer to the package [hierarchy tree](https://github.com/atsign-foundation/at_mono/blob/trunk/docs/diagrams/package_tree_hierarchical.svg). +### Expected Consequences +* Developers using our packages avoid dependency conflicts caused by outdated packages. +* Individual package updates won't be blocked by dependent packages. From 9264ccea9e40101634b69fef42e0607bf1d7630a Mon Sep 17 00:00:00 2001 From: Curtly Critchlow Date: Tue, 18 Jun 2024 13:02:07 -0400 Subject: [PATCH 2/4] Rename 2024-06-packages-depencency-update-inerval.md to 2024-06-packages-depencency-update-interval.md --- ...-inerval.md => 2024-06-packages-depencency-update-interval.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename decisions/{2024-06-packages-depencency-update-inerval.md => 2024-06-packages-depencency-update-interval.md} (100%) diff --git a/decisions/2024-06-packages-depencency-update-inerval.md b/decisions/2024-06-packages-depencency-update-interval.md similarity index 100% rename from decisions/2024-06-packages-depencency-update-inerval.md rename to decisions/2024-06-packages-depencency-update-interval.md From 0657540a85cabbf931fc79061c2a2a1b7873bd9c Mon Sep 17 00:00:00 2001 From: Chris Swan <478926+cpswan@users.noreply.github.com> Date: Wed, 19 Jun 2024 10:18:40 +0100 Subject: [PATCH 3/4] docs: Lints and review/expansion of content --- ...-06-packages-depencency-update-interval.md | 65 +++++++++++++------ 1 file changed, 44 insertions(+), 21 deletions(-) diff --git a/decisions/2024-06-packages-depencency-update-interval.md b/decisions/2024-06-packages-depencency-update-interval.md index f512ca1..474347f 100644 --- a/decisions/2024-06-packages-depencency-update-interval.md +++ b/decisions/2024-06-packages-depencency-update-interval.md @@ -3,42 +3,65 @@ -* **Status:** Approved -* **Last Updated:** 2024-06-18 -* **Objective:** Endure our packages uses the latest compatible dependencies to streamline the update process and avoid dependencies conflicts. +* **Status:** Draft +* **Last Updated:** 2024-06-19 +* **Objective:** Ensure our packages uses the latest compatible dependencies +to streamline the update process and avoid dependency conflicts. ## Context & Problem Statement -* Our packages have dependencies on each other and share external dependencies. - -* Updating a package usually requires updating its dependent packages to maintain compatibility +* Our packages have dependencies on each other and share external +dependencies. +* Updating a package usually requires updating its dependent packages to +maintain compatibility. ## Goals -* Update package dependencies quarterly. -* Publish new package versions with updated dependencies. + +* Ensure that Atsign packages stay broadly compatible with other packages +that developers are likely to be using. +* Establish a regular cadence for checking and updating dependencies. + ### Non-goals -## Other considerations +* Insecure dependencies - these will be addressed more urgently. +* Whether to fork abandoned dependencies. -## Considered Options +## Other considerations - +* Dependency review gives us the opportunity to consider whether we should +continue using a dependency or consider an alternative. - +## Considered Options + +* Initial suggestion was every six months. +* After some discussion in arch call it was decided to (initially) go with +three months (quarterly). ## Proposal Summary -This proposal recommends updating dependencies for all our packages quarterly and publishing new versions accordingly. -The update sequence prioritizes core packages (at_client, at_client_mobile) followed by at_widgets packages in their dependency -order (at_commons_flutter first). Refer to the package [hierarchy tree](https://github.com/atsign-foundation/at_mono/tree/trunk/docs/diagrams) + +This proposal recommends reviewing and updating dependencies for all our +packages quarterly and publishing new versions accordingly. The update +sequence prioritizes core packages (at_client, at_client_mobile) followed +by at_widgets packages in their dependency order (at_commons_flutter first). +Refer to the package +[hierarchy tree](https://github.com/atsign-foundation/at_mono/tree/trunk/docs/diagrams) for the update order. ## Proposal in Detail -We propose updating the dependencies of all our packages on a quarterly basis. New versions of the packages will be published -where applicable. The update order is crucial to ensure successful updates and avoid conflicts. Here's the recommended sequence: - * Core packages (at_client, at_client_mobile etc) - * at_widgets packages (in dependency order, starting with at_commons_flutter) - -For determining the exact update order, refer to the package [hierarchy tree](https://github.com/atsign-foundation/at_mono/blob/trunk/docs/diagrams/package_tree_hierarchical.svg). + +On a querterly basis: + +We propose reviewing the dependencies of all our packages on a quarterly +basis, and updating where necessary. New versions of the packages will be +published where applicable. The update order is crucial to ensure successful +updates and avoid conflicts. Here's the recommended sequence: +* Core packages (at_client, at_client_mobile etc) +* at_widgets packages (in dependency order, starting with at_commons_flutter) + +For determining the exact update order, refer to the package +[hierarchy tree](https://github.com/atsign-foundation/at_mono/blob/trunk/docs/diagrams/package_tree_hierarchical.svg). + ### Expected Consequences + * Developers using our packages avoid dependency conflicts caused by outdated packages. * Individual package updates won't be blocked by dependent packages. From 0da355246e9bcf6d849d1c4a6ff0c14bd39d2973 Mon Sep 17 00:00:00 2001 From: Curtly Critchlow Date: Mon, 15 Jul 2024 15:46:15 -0400 Subject: [PATCH 4/4] Update 2024-06-packages-depencency-update-interval.md status to approved --- decisions/2024-06-packages-depencency-update-interval.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/decisions/2024-06-packages-depencency-update-interval.md b/decisions/2024-06-packages-depencency-update-interval.md index 474347f..d4be21a 100644 --- a/decisions/2024-06-packages-depencency-update-interval.md +++ b/decisions/2024-06-packages-depencency-update-interval.md @@ -3,7 +3,7 @@ -* **Status:** Draft +* **Status:** Approved * **Last Updated:** 2024-06-19 * **Objective:** Ensure our packages uses the latest compatible dependencies to streamline the update process and avoid dependency conflicts.