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

Tracking item: List of changes to be made in Version 1.1 of the API Definition #52

Closed
elnyry-sam-k opened this issue Feb 24, 2020 · 14 comments
Labels
fspiop-change-request A change request for the FSPIOP API

Comments

@elnyry-sam-k
Copy link
Member

elnyry-sam-k commented Feb 24, 2020

Current list of items for v1.1 of the Mojaloop FSPIOP API

S.No Type Title Link Notes
1 Change Request Possibility to notify Payee FSP on successful commit in Switch #29 Finalized
2 Bug Incorrect use of Unicode encoded equals sign ('\u003d' instead of '=') in the end-to-end example #31
3 Bug Describe quote rejection for Payer initiated transaction in API Definition document #43
4 Change Request Clarify usage of "ABORTED" transfer state in a PUT /transfers/{ID} #47
5 Clarification needed Interpretation of the Data Model for the ExtensionList element #51
6 Change Request Linking quotes and transfers using transactionId from quote Object - Upon Review - this is a breaking change, so a candidate for v2.0 (Need an issue on GitHub proposed in the old word format)
7 Change Request Clarity on whether or not padding is required while Base64URL Encoding #16 -
8 Solution Proposal Use of case-insensitive HTTP headers in API Signature - Changes to API Definition, Signature docs; Already accepted by the CCB; Need to create an issue on GitHub for visibility
9 Solution Proposal Clarify usage of FSPIOP-Destination in GET /parties - Changes to API Definition, Signature docs; Mostly accepted by the CCB; Need to create an issue on GitHub for visibility
10 Change Request Change Request: Adding ExtensionList fields to existing data structures #30 Mostly accepted by the CCB for 'PartyIdInfo' Object
@elnyry-sam-k
Copy link
Member Author

elnyry-sam-k commented Apr 6, 2020

The current drafts for v1.1 are below; once these are agreed, I'll create markdown versions (markup used to show changes).

  1. API Definition_v1.1-draft_Updated-2020-04-13.docx
  2. Signature_v1.1-draft_Updated-2020-04-07.docx
  3. FSPIOP-OpenAPI-v1.1-yaml.txt <-- Rename to .yaml

Reference: Solution Proposal 12 - Clarify usage of FSPIOP-Destination.docx

@elnyry-sam-k
Copy link
Member Author

elnyry-sam-k commented Apr 7, 2020

I've struck-off #6 above as it is a breaking change if we're adding a 'required' element to the Data model (adding 'quoteId' or 'transactionId' to the transfer message to help linking quotes and transfers).

However, it will be an item for v2.0

@elnyry-sam-k
Copy link
Member Author

@millerabel, @matthewbohan, @ehenrka , @rjpwip, @Mutashobya, @jmssebunnya , @MichaelJBRichards, @ritviksinha, @hill-chen-hw, @DrRayCUI

As we discussed on the CCB meeting on April 7th 2020, here's the current proposal that the attendees agreed to:

  1. Review the current drafts for v1.1 (in the above comments) - The CCB members to review and respond in two weeks time, i,e., by the time of the next CCB meeting
  2. Address the feedback, make changes as necessary
  3. If its agreed by the CCB, then publish drafts to the public and announce a 2-week period for comments and feedback
  4. After the above two weeks, make an official v1.1 Release once any feedback, issues reported are addressed.
  5. Changes requested after the couple of weeks, should be put in backlog for either 1.2 or 2.0 based on the change requested.

For those of you who were able to make it to the last meeting (@matthewbohan , @ehenrka , @rjpwip , @MichaelJBRichards , @DrRayCUI ), thank you and look forward to your inputs.

For those of you who couldn't make it - @Mutashobya , @jmssebunnya, @ritviksinha - we need your input on this, at the very least, a 'yay' vote and if its a 'nay' for any issue, then the reasoning for that. A 'nay' without a reason / justification, is not valid.

@elnyry-sam-k
Copy link
Member Author

elnyry-sam-k commented Apr 15, 2020

Updated drafts for v1.1:

@henrka
Copy link
Contributor

henrka commented Apr 19, 2020

Section 1.2 (Document Version Information) needs to be updated with other changes than the ones I had prepared for version 1.1.

@elnyry-sam-k
Copy link
Member Author

elnyry-sam-k commented Apr 23, 2020

Thanks Henrik.

Here's the updated draft with the description of changes: API Definition_v1.1-draft_Updated-2020-04-24.docx

Here's the updated Swagger as well (with PATCH related change and then partyIdInfo change); Please rename it to have a '.yaml' extension: FSPIOP-OpenAPI-v1.1-yaml.txt

@henrka
Copy link
Contributor

henrka commented Apr 28, 2020

Thanks Sam,

Some minor comments regarding the document version information section:

  • The "1." in the change description column is larger than all the other text.
  • The date in the document version information table for version 1.1 says "2020-01-16" instead of "2020-04-14" as in the footer.

Apart from the above, in the Introduction (Section 2) it currently says "Version 1.0 of the API is designed to be used within a country or region; ...". The "Version 1.0" should probably say "Version 1.x" instead to include version 1.1 as well.

@elnyry-sam-k
Copy link
Member Author

Nice catch Henrik - @ehenrka .. Thank you!

Updated draft here with the 3 changes: API Definition_v1.1-draft_Updated-2020-04-29.docx

@matthewbohan
Copy link

I vote yes for this set of changes as v1.1, thanks!

@jmssebunnya
Copy link

I have reviewed the changes and fine with them. Yes Vote

@ritviksinha
Copy link

I have reviewed the changes along with my technical implementation team. I vote Yes for v1.1 changes.

@rjpwip
Copy link

rjpwip commented May 19, 2020

Yes vote from me.

@elnyry-sam-k
Copy link
Member Author

Thanks everyone! This has been confirmed on the CCB call on May 19th 2020.

mdebarros added a commit to mojaloop/helm that referenced this issue Nov 25, 2020
## Helm release changes

### 1. Maintenance updates
1. GitHub issue: mojaloop/project#1617
2. FSP Interoperability API v1.1 Swagger file used from here: https://github.com/mojaloop/mojaloop-specification/tree/master/documents/v1.1-document-set
3. For breaking changes, please review the "Breaking Changes" section below for for Mojaloop Helm v11.0.0
4. Notes on simulators 
	- [Mojaloop-Simulator](https://github.com/mojaloop/mojaloop-simulator) is enabled by default (six instances used). 
	- Ensure that correct Postman Scripts are used if you wish to test against the Mojaloop-Simulators:
        	-  A single MojaSim collection is now available after reconciliation between two collections that existed previously.
        	- Setup Mojaloop Hub : [MojaloopHub_Setup](https://github.com/mojaloop/postman/blob/master/MojaloopHub_Setup.postman_collection.json)
        	- Setup Mojaloop Simulators for testing : [MojaloopSims_Onboarding](https://github.com/mojaloop/postman/blob/master/MojaloopSims_Onboarding.postman_collection.json)
        	- Golden path tests: [Golden_Path_Mojaloop](https://github.com/mojaloop/postman/blob/master/Golden_Path_Mojaloop.postman_collection.json)
	- Legacy Simulators are still required and deployed by default; disabling this will cause issues since there is Account Lookup directory mocking functionality in this service. To run Golden path tests using the Legacy simulator:
                - Setup Mojaloop Hub, test FSPs : [ML_OSS_Setup_LegacySim](https://github.com/mojaloop/postman/blob/master/ML_OSS_Setup_LegacySim.postman_collection.json)
        	- Golden path tests: [ML_OSS_Golden_Path_LegacySim](https://github.com/mojaloop/postman/blob/master/ML_OSS_Golden_Path_LegacySim.postman_collection.json)
	- In order to run the Legacy Simulator postman collection or the Mojaloop-Simulator collection, their corresponding setup collection needs to be run first; this can be done without redeployment.
5. Upgrades to all core and supporting services to support 11.0.0 release _(see Application versions and release notes below)_
6. The current Golden Path collection expects
 `quoting-service.config.simple_routing_mode_enabled` to be set to `false` to get 100% pass-rate, if this flag is disabled, there will be failures in several quoting-service tests (7 expected failures). This command can be used to override the default config: `helm install moja ./mojaloop/ -n demo --set quoting-service.config.simple_routing_mode_enabled=false`
7. Along with this configuration for on-us transfers is disabled on both default deployments and postman (ON_US_TRANSFERS_ENABLED on postman) collections.
8. Moving to SemVer as the standard is now adopted. This will start with v11.0.0 and follow the general semantic versioning guidance after that.
9. Updated Promfana chart with "Prometheus: v2.20.1; Grafana: v7.1.1"
10. Updated EFK chart with “appVersion: "elasticsearch: 7.7.1; kibana: 7.7.1; apm-server: 7.7.1; fluentd-elasticsearch: 3.0.4"
11. Charts now support deployments on Kubernetes v1.16.x onwards - Fix for issue #219
12. Removed deprecated ingress-nginx chart (#350). Please use [Nginx official chart](https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-helm/).
13. Updated official Helm repo URIs for stable & incubator dependencies and documentation: 
	- Stable: https://kubernetes-charts.storage.googleapis.com/ --> https://charts.helm.sh/stable
	- Incubator: http://storage.googleapis.com/kubernetes-charts-incubator --> https://charts.helm.sh/incubator
13. Updated `innodb_flush_log_at_trx_commit` to the value of `1` for MySQL servers to ensure ACID compliance (ref: https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit)
14. Renamed Central-Event-Processor's (CEP) MongoDB instance dependency to: `nameOverride: cep-mongodb`. This will ensure that the CEP has its own MongoDB instance.
15. Renamed Mojaloop-Self-Testing-Toolkit's (TTK) MongoDB instance dependency to: `nameOverride: ttk-mongodb`. This will ensure that the TTK has its own MongoDB instance.


### 2. New Features
1. Along with changes from v10.4.0 related to the version v1.1 of the Mojaloop FSP Interoperability API, additional follow-up changes are implemented and a few fixes made. The changes are listed in the [tracking issue](mojaloop/mojaloop-specification#52) of the specification and there is additional context offered [here](https://mojaloop.io/mojaloop-fsp-interoperability-api-version-1-1/). Epic: mojaloop/project#1333
2. Added TTK CLI chart to ml-testing-toolkit (#380).
3. Added the option to pass a template as the rules.json (#353) in quoting service
4. Updates for bulk transfers support in MojaSims/Scheme-Adapter (mojaloop/project/issues/1386)
5. Added charts for bulk-get-handler: mojaloop/project/issues/1496
6. Package development versions (#354)
7. Update helm charts to support kubernetes deployments1.15 and later versions: mojaloop/project/issues/1463 (PR#349)
8. Added TTK CLI chart to ml-testing-toolkit (#380)
9. Modified the testing toolkit CLI chart to enabled scheduling (#381) 


### 3. Bug Fixes
1. Incorrect error behaviour on transfer fulfilment with future timestamp [1708](mojaloop/project#1708)
2. ACCEPT header returned in the PUT from switch for the timeout scenario [1710](mojaloop/project#1710) 
3. Date header missing from the Switch signature in timeout scenario [1709](mojaloop/project#1709)  
4. Valid transactionRequests callback in SDK responding with error response [1647](mojaloop/project#1647)  
5. Support test currencies XXX, XTS in ml-api-adapter [1652](mojaloop/project#1652)

## 4. Application versions
Application versions that are supported for this update:
1. ml-api-adapter: v10.5.0 -> **v11.1.2**
2. central-ledger: v10.5.1 -> **v11.3.1**
3. account-lookup-service: v10.4.2 -> **v11.1.2**
4. quoting-service: v10.5.5 -> **v11.1.4**
5. central-settlement: **v10.5.0** (no change)
6. central-event-processor: **v10.5.0** (no change)
7. bulk-api-adapter: v10.5.0 -> **v11.0.2**
8. email-notifier: **v9.5.0** (no change)
9. als-oracle-pathfinder: v9.4.0 --> **v10.2.0**
10. transaction-requests-service: v10.4.0 -> **v11.1.2**
11. finance-portal-ui: **v10.4.0** (no change)
12. finance-portal-backend-service: **v10.4.0** (no change)
13. settlement-management: **v8.8.2** (no change)
14. operator-settlement: **v9.2.1**  (no change)
15. event-sidecar: **v9.5.1**  (no change)
16. event-stream-processor: **v9.5.0-snapshot**
17. simulator: v10.5.3 -> **v11.0.2**
18. mojaloop-simulator: v10.4.1 -> **v11.2.1**
19. sdk-scheme-adapter: v10.5.0 -> **v11.8.0**
20. ml-testing-toolkit: v10.4.1 -> **v11.5.0**
21. ml-testing-toolkit-ui: v10.4.1 -> **v11.5.0**
22. ml-testing-toolkit-cli: **v11.3.0** (new)
 
## 5. Application release notes
1. ml-api-adapter - https://github.com/mojaloop/ml-api-adapter/releases/tag/v11.1.2
2. central-ledger - https://github.com/mojaloop/central-ledger/releases/tag/v11.3.1
3. account-lookup-service - https://github.com/mojaloop/account-lookup-service/releases/tag/v11.1.2
4. quoting-service - https://github.com/mojaloop/quoting-service/releases/tag/v11.1.4
5. central-settlement- https://github.com/mojaloop/central-settlement/releases/tag/v10.5.0
6. central-event-processor - https://github.com/mojaloop/central-event-processor/releases/tag/v10.5.0
7. bulk-api-adapter - https://github.com/mojaloop/bulk-api-adapter/releases/tag/v11.0.2
8. email-notifier - https://github.com/mojaloop/email-notifier/releases/tag/v9.5.0
9. als-oracle-pathfinder - https://github.com/mojaloop/als-oracle-pathfinder/releases/tag/v10.2.0
10. transaction-requests-service - https://github.com/mojaloop/transaction-requests-service/releases/tag/v11.1.2
11. finance-portal-ui - https://github.com/mojaloop/finance-portal-ui/releases/tag/v10.4.0
12. finance-portal-backend-service - https://github.com/mojaloop/finance-portal-backend-service/releases/tag/v10.4.0
13. settlement-management - https://github.com/mojaloop/settlement-management/releases/tag/v8.8.2
14. operator-settlement - https://github.com/mojaloop/operator-settlement/releases/tag/v9.2.1
15. event-sidecar - https://github.com/mojaloop/event-sidecar/releases/tag/v9.5.1
16. event-stream-processor - https://github.com/mojaloop/event-stream-processor/releases/v9.5.0-snapshot
17. simulator - https://github.com/mojaloop/simulator/releases/tag/v11.0.2
18. mojaloop-simulator - https://github.com/mojaloop/mojaloop-simulator/releases/tag/v11.2.1
19. sdk-scheme-adapter - https://github.com/mojaloop/sdk-scheme-adapter/releases/tag/v11.8.0
20. ml-testing-toolkit - https://github.com/mojaloop/ml-testing-toolkit/releases/tag/v11.5.0
21. ml-testing-toolkit-ui - https://github.com/mojaloop/ml-testing-toolkit-ui/releases/tag/v11.5.0
22. ml-testing-toolkit-cli - https://github.com/mojaloop/ml-testing-toolkit-ui/releases/tag/v11.3.0
 
## 6. Operational Chart versions
- EFK: **v7.1.0**  -> **v11.0.0**
- Promfana: **v8.4.0** -> **v11.0.0**

## 7. Breaking changes
- Helm release v10.4.0 is not upgradable to v11.0.0 - mojaloop/project#1759

## 8. Known Issues
- Proposal to remove external dependencies from Mojaloop Helm Charts - mojaloop/design-authority-project#69 **(_Note: this will be a breaking change in the next major release_)**
- ~Testing Toolkit Post-Hook Install tests are not compatible with Postman (_Note: this will not impact default installations_) - mojaloop/project#1864


## 9. Contributors:

- Contributing organizations: BMGF, CrossLake, MBX 
- Crosslake: @lewisdaly
- ModusBox: @amarmodus, @elnyry-sam-k , @mdebarros, @oderayi, @rmothilal , @vgenev , @vijayg10, @msk-, @vbarzokas, @aaronreynoza, @KamuelaFranco
- Individuals:  @vorburger
_Note: companies in alphabetical order_

---
## PR Dependencies
- mojaloop/project#1866
- mojaloop/postman#188
@henrka
Copy link
Contributor

henrka commented Jan 11, 2021

Closing this issue as version 1.1 of the API has been released.

@henrka henrka closed this as completed Jan 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fspiop-change-request A change request for the FSPIOP API
Projects
None yet
Development

No branches or pull requests

10 participants