From 9e518b9676bc9ec8ab882891bdb61b1f275ee787 Mon Sep 17 00:00:00 2001 From: YoussefAWasfy <112941926+YoussefAWasfy@users.noreply.github.com> Date: Wed, 20 Mar 2024 16:58:13 +0100 Subject: [PATCH] feat(FTL-13852): add deprecation warning (#329) * feat: add deprecation warning * feat: add warning in all readme --- README.md | 36 ++++++++++++++++++++++++++---------- sdk/browser/README.md | 3 +++ sdk/core/README.md | 3 +++ sdk/expo/README.md | 3 +++ sdk/issuer-kit/README.md | 3 +++ sdk/node/README.md | 3 +++ sdk/react-native/README.md | 3 +++ sdk/vc-data/README.md | 3 +++ 8 files changed, 47 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 486fb6d0..d4b4d6a7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # Affinidi SDK Monorepo +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + The open-source [Affinidi Library](https://github.com/affinityproject/affinidi-core-sdk) provides easy-to-use Typescript packages that enable developers to create and manage true certificate-enabled Digital Identities (DID) on the Affinidi Network. The Affinidi open source monorepo has the following structure @@ -33,70 +36,83 @@ The Affinidi open source monorepo has the following structure ``` ### common-libs/common -The `common` folder contains the `@affinidi/common` [npm package](https://www.npmjs.com/package/@affinidi/common). This package implements DID, VC, and VP utilities that are used throughout Affinidi libraries and services. This package is considered more *opinionated* because it supports DID methods and VC proofs that Affinidi actively supports. + +The `common` folder contains the `@affinidi/common` [npm package](https://www.npmjs.com/package/@affinidi/common). This package implements DID, VC, and VP utilities that are used throughout Affinidi libraries and services. This package is considered more _opinionated_ because it supports DID methods and VC proofs that Affinidi actively supports. The main entry point to this package is a class called `Affinity`. In this class you will find utilities for handling JSON-LD, DIDs, VCs, VPs, JWTs, and legacy credential types from early MVPs. ### common-libs/tiny-lds-ecdsa-secp256k1-2019 + This packages is the same as https://github.com/decentralized-identity/lds-ecdsa-secp256k1-2019.js, but uses `tiny-secp256k1` for signing. ### common-libs/did-auth-lib + The `did-auth-lib` folder contains the `@affinidi/affinidi-did-auth-lib` [npm package](https://www.npmjs.com/package/@affinidi/affinidi-did-auth-lib). This library allows proving that the client/user is the owner of provided `DID`. Based on this proof App builders can give the client/user access to the appropriate resources. ### common-libs/vc-common -The `vc-common` folder contains the `@affinidi/vc-common` [npm package](https://www.npmjs.com/package/@affinidi/vc-common). This package implements VC and VP types and utility functions that help with type-safe credential issuance and verification. It is considered less *opinionated* because it supports a wider variety of DIDs and VCs as long as they conform to the core data model. + +The `vc-common` folder contains the `@affinidi/vc-common` [npm package](https://www.npmjs.com/package/@affinidi/vc-common). This package implements VC and VP types and utility functions that help with type-safe credential issuance and verification. It is considered less _opinionated_ because it supports a wider variety of DIDs and VCs as long as they conform to the core data model. Find more docs [here](https://docs.affinity-project.org/common/getting-started). ### sdk/core + The `core` folder contins the `@affinidi/wallet-core-sdk` [npm package](https://www.npmjs.com/package/@affinidi/wallet-core-sdk). This package implements the common logic for account registration & management, credential issuance & verification and more. The main entry point is a class called `CommonNetworkMember`. This class can be initialized with specific service endpoints, or if left to it's defaults will use Affinidi's staging environment. ### sdk/browser + The `browser` folder contains the `@affinidi/wallet-browser-sdk` [npm package](https://www.npmjs.com/package/@affinidi/wallet-browser-sdk). This package extends the `wallet-core-sdk` logic with client specific implementations for crypto operations. As a result of crypto operations being platform specific, this package implements the logic to communicate with the encrypted data vault for VC storage. The main entry point is a class called `AffinidiWallet`. Similar to `CommonNetworkMember`, the class can be initialized with specific service endpoints, or can be left to use Affinidi's staging environment by default. ### sdk/expo + The `expo` folder contains the `@affinidi/wallet-expo-sdk` [npm package](https://www.npmjs.com/package/@affinidi/wallet-expo-sdk). This package extends the `wallet-core-sdk` logic with client specific implementations for crypto operations. As a result of crypto operations being platform specific, this package implements the logic to communicate with the encrypted data vault for VC storage. The main entry point is a class called `AffinidiWallet`. Similar to `CommonNetworkMember`, the class can be initialized with specific service endpoints, or can be left to use Affinidi's staging environment by default. ### sdk/react-native + The `react-native` folder contains the `@affinidi/wallet-react-native-sdk` [npm package](https://www.npmjs.com/package/@affinidi/wallet-react-native-sdk). This package extends the `wallet-core-sdk` logic with client specific implementations for crypto operations. As a result of crypto operations being platform specific, this package implements the logic to communicate with the encrypted data vault for VC storage. The main entry point is a class called `AffinidiWallet`. Similar to `CommonNetworkMember`, the class can be initialized with specific service endpoints, or can be left to use Affinidi's staging environment by default. ### sdk/vc-data + The `vc-data` folder contains the `@affinidi/vc-data` [npm package](https://www.npmjs.com/package/@affinidi/vc-data). This package contains schema helpers and building blocks to issue JSON-LD credentials. The `vc-data` utilities also specify a process through which developers can propose additions or request assistance in schema development. ### sdk/issuer-kit + The `issuer-kit` folder contains the `@affinidi/issuer-kit` [npm package](https://www.npmjs.com/package/@affinidi/issuer-kit). This package contains a framework for launching microservices to connect to external data providers & issue VCs. ## Prerequisites + Before we begin, make sure you have the following installed: - Node.js v16.17.0 or later - npm v8.15.0 or later ## API Key + You need to to use an API Key when you initialize the SDK. Here are the steps required to generate and start using the API Key: https://github.com/affinityproject/affinidi-core-sdk/tree/master/sdk/core#create-api-key ## npm commands The following commands should be supported by all projects in monorepo -* `build`: should build package -* `lint`: should run lint -* `checkLicenses`: should check licenses -* `test:unit`: should run unit tests, if any -* `test:integration`: should run integration tests, if any -* `test`: should run all tests -* `test:coverage`: should run all tests with coverage -* `test:coverage:codeclimate`: should run `test:coverage` and save codeclimate results +- `build`: should build package +- `lint`: should run lint +- `checkLicenses`: should check licenses +- `test:unit`: should run unit tests, if any +- `test:integration`: should run integration tests, if any +- `test`: should run all tests +- `test:coverage`: should run all tests with coverage +- `test:coverage:codeclimate`: should run `test:coverage` and save codeclimate results Workflow to publish npm packages is: + 1. `npm run bootstrap` in order to link and install all dependencies; 2. `npm run build` in order to build all projects in this monorepo; 3. `npm run lint`, `npm run test`, `npm run checkLicenses` etc; diff --git a/sdk/browser/README.md b/sdk/browser/README.md index 05b21bae..31c5b75e 100644 --- a/sdk/browser/README.md +++ b/sdk/browser/README.md @@ -1,5 +1,8 @@ # Affinity SDK for browser +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + > WARNING **Action required from you** > Update your services to use Affinidi SDK v6.0.4 or above. > Note please pay attention to the changelog while upgrading the version of SDK as some methods may be changed or deprecated. diff --git a/sdk/core/README.md b/sdk/core/README.md index 2e16b2da..907d6ffb 100644 --- a/sdk/core/README.md +++ b/sdk/core/README.md @@ -1,5 +1,8 @@ # Affinity Core SDK - Affinity network DID solution +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + > WARNING **Action required from you** > Update your services to use Affinidi SDK v6.0.4 or above. > Note please pay attention to the changelog while upgrading the version of SDK as some methods may be changed or deprecated. diff --git a/sdk/expo/README.md b/sdk/expo/README.md index cee283e3..09479f6a 100644 --- a/sdk/expo/README.md +++ b/sdk/expo/README.md @@ -1,5 +1,8 @@ # Affinity SDK for Expo +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + > WARNING **Action required from you** > Update your services to use Affinidi SDK v6.0.4 or above. > Note please pay attention to the changelog while upgrading the version of SDK as some methods may be changed or deprecated. diff --git a/sdk/issuer-kit/README.md b/sdk/issuer-kit/README.md index 82f4a35d..de2da30f 100644 --- a/sdk/issuer-kit/README.md +++ b/sdk/issuer-kit/README.md @@ -1,3 +1,6 @@ +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + # Introduction Issuer Kit is a library that spins up a VC producing server based on configurations defined by the Application. The Application defines a few key functions required to build the VC, including any helpers or external connections required to collect and validate the data prior to issuance. diff --git a/sdk/node/README.md b/sdk/node/README.md index e83f21d9..dac52352 100644 --- a/sdk/node/README.md +++ b/sdk/node/README.md @@ -1,5 +1,8 @@ # Affinity SDK for Node +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + > WARNING **Action required from you** > Update your services to use Affinidi SDK v6.0.4 or above. > Note please pay attention to the changelog while upgrading the version of SDK as some methods may be changed or deprecated. diff --git a/sdk/react-native/README.md b/sdk/react-native/README.md index 032a7325..ad917261 100644 --- a/sdk/react-native/README.md +++ b/sdk/react-native/README.md @@ -1,5 +1,8 @@ # Affinity SDK for React Native. +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + > WARNING **Action required from you** > Update your services to use Affinidi SDK v6.0.4 or above. > Note please pay attention to the changelog while upgrading the version of SDK as some methods may be changed or deprecated. diff --git a/sdk/vc-data/README.md b/sdk/vc-data/README.md index 001577fb..53c274ae 100644 --- a/sdk/vc-data/README.md +++ b/sdk/vc-data/README.md @@ -1,5 +1,8 @@ # VC Data +> :warning: **WARNING:** +> Please be advised that the Affinidi SDK is deprecated and will no longer receive future updates. We have initiated this transition to streamline our development efforts and enhance the efficiency of our systems. + This repository contains the suggested specification for Verifiable Credential data, referred to as `credentialSubject` in the VC data model. In general, these schemas are based on [schema.org](https://schema.org) base types such as [Person](https://schema.org/Person) and [Organization](https://schema.org/Organization), with custom extensions for concepts not described by schema.org. ## Installation