Releases: juspay/hyperswitch-card-vault
Releases · juspay/hyperswitch-card-vault
Hyperswitch Card Vault v0.6.4
0.6.4 (2025-01-14)
Changes from v0.4.0 to v0.6.4
Features
- Add implementation for
hmac-sha512
(#74) - Add fingerprint table and db interface (#75)
- Add api for fingerprint (#76)
- Add support for caching for fingerprint API (#80)
- Add deep health check with support for diagnostics (#64)
- Add support for sending master key to key manager (#131)
- Add v2 api for /fingerprint (#119)
- Add ttl to locker entries (#88)
- Add support for multi-tenancy (#97)
- Integrate hyperswitch encryption service (#110)
- Add support for tls server within axum (#103)
- Adding support for v2 API (#135)
Bug Fixes
- Address non-digit character cases in card number validation (#93)
- Remove custodian from under JWE+JWS (#137)
Refactors
- Add support for accepting ttl in seconds as opposed to datetime (#89)
- Remove
tenant_id
column from all existing tables (#105) - Add db migrations for v2 (#107)
Enhancement
- Reduce unnecessary complexity from caching (#79)
Compatibility
This version of the Hyperswitch Card Vault is compatible with the following versions of the other components:
- App server: v1.113.0
- Control Center: v1.36.1
- Web Client: v0.109.2
- WooCommerce Plugin: v1.6.1
- Key Manager: v0.1.7
Database Migrations
-- DB Difference between v0.4.0 and v0.6.4
-- Your SQL goes here
ALTER TABLE locker ADD COLUMN IF NOT EXISTS ttl TIMESTAMP DEFAULT NULL;
-- Your SQL goes here
ALTER TABLE merchant DROP CONSTRAINT merchant_pkey, ADD CONSTRAINT merchant_pkey PRIMARY KEY (merchant_id);
ALTER TABLE merchant DROP COLUMN IF EXISTS tenant_id;
ALTER TABLE locker DROP CONSTRAINT locker_pkey, ADD CONSTRAINT locker_pkey PRIMARY KEY (merchant_id, customer_id, locker_id);
ALTER TABLE locker DROP COLUMN IF EXISTS tenant_id;
-- Your SQL goes here
ALTER TABLE fingerprint RENAME COLUMN card_fingerprint TO fingerprint_id;
ALTER TABLE fingerprint RENAME COLUMN card_hash TO fingerprint_hash;
CREATE TABLE IF NOT EXISTS vault (
id SERIAL,
entity_id VARCHAR(255) NOT NULL,
vault_id VARCHAR(255) NOT NULL,
encrypted_data BYTEA NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT now()::TIMESTAMP,
expires_at TIMESTAMP DEFAULT NULL,
PRIMARY KEY (entity_id, vault_id)
);
CREATE TABLE IF NOT EXISTS entity (
id SERIAL,
entity_id VARCHAR(255) NOT NULL,
enc_key_id VARCHAR(255) NOT NULL,
PRIMARY KEY (entity_id)
);
-- Your SQL goes here
ALTER TABLE entity
ADD COLUMN IF NOT EXISTS created_at TIMESTAMP NOT NULL DEFAULT now()::TIMESTAMP;
Configuration Changes
Diff of configuration changes between v0.4.0
and v0.6.4
diff --git a/config.example.toml b/config.example.toml
index f5c83e8..b91b25e 100644
--- a/config.example.toml
+++ b/config.example.toml
@@ -24,12 +24,14 @@ port = 5432 # the port of the database
dbname = "locker"
[secrets]
-tenant = "hyperswitch"
-master_key = "feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308"
-
-tenant_public_key = ""
locker_private_key = ""
+[tenant_secrets]
+hyperswitch = { master_key = "feffe9928665731c6d6a8f9467308308feffe9928665731c6d6a8f9467308308", public_key = "", schema = "public" }
+
+# Aws kms as secrets manager
+[secrets_management]
+secrets_manager = "aws_kms"
+
+#[secrets_management.aws_kms]
+#key_id = "kms_key_id"
+#region = "kms_region"
+
+# TLS server within axum
+[tls]
+certificate = "cert.pem"
+private_key = "key.pem"
-[aws_kms]
-region = "us-west-2"
-key_id = "abc"
+# Api client
+[api_client]
+client_idle_timeout = 90
+pool_max_idle_per_host = 10
+identity = ""
-[vault_kv2]
-url = "http://127.0.0.1:8200"
-token = "hvs.abc"
+# Configuration for the external Key Manager Service
+[external_key_manager]
+url = "http://localhost:5000"
+cert = ""
Full Changelog: v0.4.0...v0.6.4
Hyperswitch Card Vault v0.6.3
0.6.3 (2025-01-13)
Bug Fixes
- Add console filters for json logs (#142) (
890c9e6
) by @NishantJoshi00
Refactors
- Record
tenant_id
andrequest_id
from header in the trace span (#139) (e2c964c
) by @Chethan-rao - Add logs wherever necessary and fix few error propagation (#141) (
a5351d2
) by @Chethan-rao
Miscellaneous Tasks
- Add x-tenant-id in encryption service call (#140) (
46d0eef
) by @NishantJoshi00
Full Changelog: v0.6.2...v0.6.3
Hyperswitch Card Vault v0.6.2
0.6.2 (2024-12-17)
Bug Fixes
- custodian: Remove custodian from under JWE+JWS (#137) (
f050062
) by @NishantJoshi00
Full Changelog: v0.6.1...v0.6.2
Hyperswitch Card Vault v0.6.1
0.6.1 (2024-12-17)
Bug Fixes
- mtls: Fix provider import for mtls (#136) (
ea1a024
) by @NishantJoshi00
Full Changelog: v0.6.0...v0.6.1
Hyperswitch Card Vault v0.6.0
0.6.0 (2024-12-17)
Features
- Feat(v2): adding support for v2 API (#135) (
229c4d3
) by @NishantJoshi00
Full Changelog: v0.5.1...v0.6.0
Hyperswitch Card Vault v0.5.1
0.5.1 (2024-12-10)
Miscellaneous Tasks
- Include
reqwest/rustls-tls
feature to keymanager_mtls (#134) (5cbb06f
) by @Chethan-rao
Full Changelog: v0.5.0...v0.5.1
Hyperswitch Card Vault v0.5.0
0.5.0 (2024-12-10)
Features
- caching+fingerprint: Add support for caching for fingerprint API (#80) (
7deb933
) by @NishantJoshi00 - health: Add deep health check with support for diagnostics (#64) (
07a115b
) by @NishantJoshi00 - keymanager: Add support for sending master key to key manager (#131) (
3e7cf0f
) by @NishantJoshi00 - logging: Add
console-subscriber
to support monitoring on tokio (#123) (07bc64e
) by @NishantJoshi00 - router:
- Handle 4xx errors (#81) (
71fe9d1
) by @ShankarSinghC - Add v2 api for /fingerprint (#119) (
cc083fa
) by @ShankarSinghC
- Handle 4xx errors (#81) (
- Feat(ttl): add ttl to locker entries (#88) (
2a10a09
) by @Chethan-rao - Add support for multi-tenancy (#97) (
0b41de8
) by @Chethan-rao - Integrate a secret manager (#110) (
8849f42
) by @Chethan-rao
Bug Fixes
- Address non-digit character cases in card number validation (#93) (
f25efeb
) by @Chethan-rao
Refactors
- ttl: Add support for accepting ttl in seconds as opposed to datetime (#89) (
4c193a4
) by @Chethan-rao - Move crypto related managers to separate modules (#95) (
d2a153f
) by @Chethan-rao - Remove
tenant_id
column from all existing tables (#105) (1ec3248
) by @Chethan-rao - Add db migrations for v2 (#107) (
7f1c0d1
) by @Chethan-rao
Miscellaneous Tasks
- Include postman collection in docs (#87) (
4412bbd
) by @NishantJoshi00 - Add support for schema as a key in tenant secrets (#120) (
06a0414
) by @NishantJoshi00 - Include tenancy docs in setup (#122) (
db89f3b
) by @NishantJoshi00
Build System / Dependencies
- deps: Bump dependencies to supported versions (#115) (
4aa7441
) by @Chethan-rao - Bump MSRV to 1.75.0 (#77) (
4e4fb9b
) by @NishantJoshi00 - Obtain workspace member package names from cargo_metadata more deterministically (#84) (
2f08c4e
) by @Chethan-rao
Enhancement
- caching: Reduce unnecessary complexity from caching (#79) (
3487ab0
) by @NishantJoshi00
Tls
- Add support for tls server within axum (#103) (
53441df
) by @Chethan-rao
Full Changelog: v0.4.0...v0.5.0
Hyperswitch Card Vault v0.4.0
0.4.0 (2024-02-08)
Features
- hmac: Add implementation for
hmac-sha512
(#74) (e3eea9a
) by @NishantJoshi00 - Feat(fingerprint): add fingerprint table and db interface (#75) (
bf57a3c
) by @ShankarSinghC - Feat(fingerprint): add api for fingerprint (#76) (
48503ff
) by @Chethan-rao
Full Changelog: v0.3.0...v0.4.0
Hyperswitch Card Vault v0.3.0
0.3.0 (2024-02-05)
Features
- benches: Introduce benchmarks for internal components (#53) (
8a7bbc3
) by @NishantJoshi00 - caching: Implement hash_table and merchant table caching (#55) (
f0d4cc4
) by @NishantJoshi00 - hashicorp-kv: Add feature to extend key management service at runtime (#65) (
9260782
) by @NishantJoshi00 - Feat(router): add
duplication_check
field in stored card response(#59) (358cdb8
) by @ShankarSinghC
Miscellaneous Tasks
- deps: Update axum
0.6.20
to0.7.3
(#66) (7b8e116
) by @ShankarSinghC - Fix caching issue for conditional merchant creation (#68) (
258b3ac
) by @NishantJoshi00
Full Changelog: v0.2.0...v0.3.0
Hyperswitch Card Vault v0.2.0
0.2.0 (2023-12-26)
Features
- router: Use only card number for card duplication check (#57) (
5781603
) by @ShankarSinghC
Miscellaneous Tasks
- deps: Update version of aws dependencies (#54) (
1142449
) by @Chethan-rao - utils:
- Add jwe operations in utils binary (#60) (
68f3455
) by @NishantJoshi00 - Fix jwe operations in utils binary (#61) (
94016bb
) by @NishantJoshi00
- Add jwe operations in utils binary (#60) (
Full Changelog: v0.1.3...v0.2.0