Skip to content

Commit d99422d

Browse files
pelleclaude
andcommitted
Organize changelogs: create separate TypeScript package changelog
- Create dedicated packages/typescript/CHANGELOG.md with complete TypeScript package history (v1.4.0-v1.10.0) - Update main CHANGELOG.md to reference package-specific changelog instead of duplicating TypeScript implementation details - Maintain protocol-focused structure in main changelog while providing detailed package documentation separately - Ensure all TypeScript package releases and features remain accessible through dedicated changelog 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 340a747 commit d99422d

4 files changed

Lines changed: 150 additions & 94 deletions

File tree

CHANGELOG.md

Lines changed: 15 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,8 @@ This changelog focuses on:
1717
## [2025-08-21]
1818

1919
### Added
20-
- **TypeScript Package - Zod v4 Validation**: Added comprehensive runtime validation for TAP messages
21-
- New `validator` module available at `@taprsvp/types/validator`
22-
- Zod v4 schemas for all TAP message types (Transfer, Payment, Authorize, etc.)
23-
- Validation functions: `validateTAPMessage()`, `parseTAPMessage()`, `isTAPMessage()`
24-
- Message-specific validators for each TAP message type
25-
- Full CAIP-10, CAIP-19, PayTo URI, and DID validation
26-
- Separate module path keeps validators optional for bundle size optimization
20+
- **TypeScript Package v1.10.0**: Enhanced Zod v4 validation with strict ISO standards validation
21+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for complete details
2722

2823
### Changed
2924
- **BREAKING: TAIP-15 Agent Connection Protocol**: Major restructure to support multi-party connections
@@ -33,7 +28,7 @@ This changelog focuses on:
3328
- Added "Parties and Agent Roles" section clarifying two-party connection model
3429
- Added support for AddAgents messages to dynamically add agents during connection flow
3530
- Updated all examples and diagrams to use Merchant/Customer/PSP Agent terminology
36-
- Updated TypeScript interfaces, JSON schemas, and test vectors to match new structure
31+
- Updated JSON schemas, and test vectors to match new structure
3732
- Removed `type` attributes from all agent examples across codebase for consistency with TAIP-5 specification
3833

3934
### Fixed
@@ -43,69 +38,18 @@ This changelog focuses on:
4338
- Updated TAIP-14 example to include merchant agent and proper `for` attributes
4439
- Ensures consistency with TAIP-15 and TAIP-17 agent array requirements
4540

46-
### Added
4741
- **TypeScript Package v1.9.0**: Released with TAIP-15 agent restructuring support
48-
- **Updated Connect Interface**: Restructured to support new requester/principal/agents pattern
49-
- Added `requester` and `principal` Party fields to Connect interface
50-
- Replaced single `agent` field with required `agents` array
51-
- Agents array must include at least one agent with `@id` matching DIDComm `from` field and `for` attribute set to requester DID
52-
- Updated JSDoc documentation to reflect TAIP-15 specification changes
53-
- Maintained backward compatibility for existing message types
54-
- **Enhanced Agent Interface**: Updated agent structure to support multi-party connections
55-
- Clarified `for` attribute usage in agent definitions
56-
- Updated documentation to reference TAIP-5 specification for agent details
57-
- Consistent agent array patterns across Transfer, Payment, and Connect messages
42+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for complete details
5843

5944
- **TypeScript Package v1.8.0**: Released with enhanced DIDComm v2.1 support and new message types
60-
- **DIDComm Attachments Support**: Added full DIDComm v2.1 attachments support
61-
- Added `Attachment` interface following DIDComm v2.1 specification
62-
- Added optional `attachments` array to `DIDCommMessage` interface
63-
- Supports inline data (base64, JSON), external links, and cryptographic integrity verification (JWS, hash)
64-
- Includes comprehensive documentation with usage examples for different attachment types
65-
- Enables inclusion of supplementary documents like KYC verification, receipts, and compliance documentation
66-
- **DIDComm Out-of-Band Messages**: Added support for out-of-band invitation messages
67-
- Added `OutOfBandInvitation` interface extending `DIDCommMessage<OutOfBandGoal>`
68-
- Added `OutOfBandGoal` interface for invitation body fields
69-
- Supports QR codes, URLs, emails for sharing invitations
70-
- Enables bundling initial protocol messages (like Connect requests) with invitations
71-
- Compatible with TAIP-15 Agent Connection Protocol for TAP-specific connections
72-
- **Presentation Message**: Added support for verifiable credential presentations per TAIP-8
73-
- Added `PresentationMessage` interface implementing DIDCommReply with empty body
74-
- Requires attachments containing verifiable presentations
75-
- Follows WACI Present Proof protocol v3.0 specification
76-
- Enables selective disclosure for privacy-preserving identity verification
77-
- **Enhanced Message Type Support**: Expanded TAPMessage union type to include 19 message types
78-
- Added PresentationMessage to support TAIP-8 selective disclosure
79-
- Improved cross-reference documentation for all TAIP specifications
45+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for complete details
8046

8147
## [2025-08-18]
8248

8349
### Added
8450
- **TypeScript Package v1.7.0**: Released enhanced TypeScript library with comprehensive documentation and fixes
85-
- Added comprehensive README.md with installation guide, quick start examples, and complete API reference
86-
- Enhanced examples with current type definitions (Person, Organization, Agent, Party)
87-
- Added nameHash examples for travel rule compliance with privacy-preserving name matching
88-
- Updated participant type documentation to reflect current schema.org-based interfaces
89-
- Added complete participant interfaces documentation (Person, Organization, Agent, Party)
90-
- Enhanced travel rule compliance examples with IVMS101 data structures
91-
- Improved developer experience with detailed usage examples and standards compliance information
51+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for complete details
9252

93-
### Fixed
94-
- **Payment Message Type**: Removed erroneous `defaultAddress` field from Payment interface
95-
- Fixed Payment interface to comply with TAIP-14 specification
96-
- Settlement addresses should be provided by agents with SettlementAddress role, not as direct fields
97-
- Maintained `fallbackSettlementAddresses` field as specified in TAIP-14
98-
- Updated JSDoc examples to remove invalid `defaultAddress` references
99-
100-
- **TAIP-12 Name Hashing Implementation**: Added production-ready TypeScript implementation for privacy-preserving name matching
101-
- Added `generateNameHash()` function with SHA-256 hashing using Web Crypto API and Node.js crypto fallback
102-
- Added `normalizeForHashing()` function for TAIP-12 compliant name normalization (uppercase, whitespace removal)
103-
- Cross-platform compatibility supporting browsers and Node.js environments without additional dependencies
104-
- Comprehensive test suite with 19 test cases including TAIP-12 specification test vectors
105-
- Support for non-Western names (Arabic, Chinese, Korean, Japanese scripts)
106-
- Compatible with VerifyVASP and GTR networks per TAIP-12 specification
107-
- Added Vitest testing framework for comprehensive validation
108-
- Enhanced TypeScript package (@taprsvp/types) with new nameHash utilities
10953

11054
## [2025-08-16]
11155

@@ -141,12 +85,7 @@ This changelog focuses on:
14185
- Added privacy recommendations for selective disclosure of natural person information
14286
- Clarified that this capability was always supported by the JSON-LD extensibility but was not explicitly documented
14387
- **TypeScript Package v1.6.0**: Released enhanced TypeScript library with comprehensive documentation
144-
- Added comprehensive JSDoc documentation to all TAP message types
145-
- File-level overview with protocol explanation, features, and usage examples
146-
- Organized code into logical sections with clear headers
147-
- Practical usage examples for Transfer, Payment, DIDCommMessage, and Agent interfaces
148-
- Complete TAIP specification cross-reference mapping
149-
- Enhanced IntelliSense and documentation tooltips for better developer experience
88+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for complete details
15089

15190
### Changed
15291
- **TAIP-6 (Transaction Parties)**: Enhanced documentation to explicitly describe IVMS101 data inclusion
@@ -170,7 +109,7 @@ This changelog focuses on:
170109
- AuthorizationRequired is now part of the core transaction authorization protocol (TAIP-4)
171110
- Added optional `from` field to specify party type (customer, principal, originator) required to open URL
172111
- TAIP-15 now references TAIP-4 for complete AuthorizationRequired specification
173-
- Updated TypeScript interface with enhanced documentation for both transaction and connection authorization
112+
- Updated interface with enhanced documentation for both transaction and connection authorization
174113
- Added comprehensive test case example to TAIP-4
175114
- Updated messages.md to document AuthorizationRequired as part of authorization flow
176115

@@ -184,9 +123,10 @@ This changelog focuses on:
184123
- **Fallback Settlement Addresses**: New optional field in Payment messages for redundancy
185124
- Supports array of mixed CAIP-10 and RFC 8905 addresses
186125
- Enables failover mechanisms for fiat payments and crypto transfers
187-
- **Purpose Code Types**: Added ISO 20022 External Purpose Code union types to TypeScript package
188-
- ExternalPurposeCode: 331 standardized purpose codes
126+
- **Purpose Code Types**: Added ISO 20022 External Purpose Code union types
127+
- ExternalPurposeCode: 331 standardized purpose codes
189128
- ExternalCategoryPurposeCode: 48 category purpose codes
129+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for TypeScript implementation details
190130
- **schema.org/Organization Attributes**: Added optional organization metadata fields to Agents and Parties
191131
- Based on schema.org/Organization standard
192132
- Added fields: `name`, `url`, `logo`, `description`, `email`, `telephone`
@@ -197,14 +137,8 @@ This changelog focuses on:
197137
- Enhances invoice line items in TAIP-16 with richer product information
198138

199139
### Changed
200-
- **TypeScript Package (@taprsvp/types)**:
201-
- Added `PayToURI` type for RFC 8905 support
202-
- Created `SettlementAddress` union type (CAIP-10 | PayToURI)
203-
- Updated all settlement address fields to use new union type
204-
- Converted `IsoCurrency` from enum to union type for better tree-shaking
205-
- Converted purpose codes from enums to union types
206-
- Extended `Participant` interface with schema.org/Organization attributes
207-
- Enhanced `LineItem` interface with schema.org/Product attributes
140+
- **TypeScript Package (@taprsvp/types)**: Updated with RFC 8905 PayTo URI support, purpose code types, and schema.org attributes
141+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for complete details
208142
- **JSON Schemas**:
209143
- Created `payto-uri.json` and `settlement-address.json` common schemas
210144
- Updated all message schemas to support new settlement address formats
@@ -248,7 +182,8 @@ This changelog focuses on:
248182
- New `Capture` message type for releasing escrowed funds
249183
- Supports both cryptocurrency assets and fiat currency denominations
250184
- Enables payment guarantees and asset swap use cases
251-
- TypeScript fixes: Added `by` field to Cancel interface
185+
- TypeScript Package: Added `by` field to Cancel interface
186+
- See [packages/typescript/CHANGELOG.md](packages/typescript/CHANGELOG.md) for complete details
252187

253188
### Removed
254189
- Complete message type (replaced by extended Authorize message)

packages/typescript/CHANGELOG.md

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
# @taprsvp/types Changelog
2+
3+
All notable changes to the TypeScript package are documented in this file.
4+
5+
## [1.10.0] - 2025-08-21
6+
7+
### Added
8+
- **Enhanced Zod v4 Validation**: Comprehensive runtime validation for TAP messages
9+
- New `validator` module available at `@taprsvp/types/validator`
10+
- Zod v4 schemas for all TAP message types (Transfer, Payment, Authorize, etc.)
11+
- **Strict ISO Standards Validation**: Proper validation using actual ISO code sets
12+
- ISO 4217 currency code validation (156 valid codes: USD, EUR, GBP, etc.)
13+
- ISO 20022 purpose code validation (367 valid codes: SALA, TRAD, RENT, etc.)
14+
- ISO 20022 category purpose code validation (38 valid codes)
15+
- Validation functions: `validateTAPMessage()`, `parseTAPMessage()`, `isTAPMessage()`
16+
- Message-specific validators for each TAP message type
17+
- Full CAIP-10, CAIP-19, PayTo URI, and DID validation
18+
- Comprehensive test suite with 74 test cases covering all validation scenarios
19+
- Separate module path keeps validators optional for bundle size optimization
20+
21+
## [1.9.0] - 2025-08-21
22+
23+
### Changed
24+
- **Updated Connect Interface**: Restructured to support new TAIP-15 requester/principal/agents pattern
25+
- Added `requester` and `principal` Party fields to Connect interface
26+
- Replaced single `agent` field with required `agents` array
27+
- Agents array must include at least one agent with `@id` matching DIDComm `from` field and `for` attribute set to requester DID
28+
- Updated JSDoc documentation to reflect TAIP-15 specification changes
29+
- Maintained backward compatibility for existing message types
30+
31+
### Enhanced
32+
- **Enhanced Agent Interface**: Updated agent structure to support multi-party connections
33+
- Clarified `for` attribute usage in agent definitions
34+
- Updated documentation to reference TAIP-5 specification for agent details
35+
- Consistent agent array patterns across Transfer, Payment, and Connect messages
36+
- Updated TypeScript interfaces, JSON schemas, and test vectors to match new structure
37+
- Removed `type` attributes from all agent examples across codebase for consistency with TAIP-5 specification
38+
39+
## [1.8.0] - 2025-08-21
40+
41+
### Added
42+
- **DIDComm Attachments Support**: Added full DIDComm v2.1 attachments support
43+
- Added `Attachment` interface following DIDComm v2.1 specification
44+
- Added optional `attachments` array to `DIDCommMessage` interface
45+
- Supports inline data (base64, JSON), external links, and cryptographic integrity verification (JWS, hash)
46+
- Includes comprehensive documentation with usage examples for different attachment types
47+
- Enables inclusion of supplementary documents like KYC verification, receipts, and compliance documentation
48+
49+
- **DIDComm Out-of-Band Messages**: Added support for out-of-band invitation messages
50+
- Added `OutOfBandInvitation` interface extending `DIDCommMessage<OutOfBandGoal>`
51+
- Added `OutOfBandGoal` interface for invitation body fields
52+
- Supports QR codes, URLs, emails for sharing invitations
53+
- Enables bundling initial protocol messages (like Connect requests) with invitations
54+
- Compatible with TAIP-15 Agent Connection Protocol for TAP-specific connections
55+
56+
- **Presentation Message**: Added support for verifiable credential presentations per TAIP-8
57+
- Added `PresentationMessage` interface implementing DIDCommReply with empty body
58+
- Requires attachments containing verifiable presentations
59+
- Follows WACI Present Proof protocol v3.0 specification
60+
- Enables selective disclosure for privacy-preserving identity verification
61+
62+
- **Enhanced Message Type Support**: Expanded TAPMessage union type to include 19 message types
63+
- Added PresentationMessage to support TAIP-8 selective disclosure
64+
- Improved cross-reference documentation for all TAIP specifications
65+
66+
## [1.7.0] - 2025-08-18
67+
68+
### Added
69+
- **Comprehensive Documentation**: Enhanced TypeScript library with complete documentation and guides
70+
- Added comprehensive README.md with installation guide, quick start examples, and complete API reference
71+
- Enhanced examples with current type definitions (Person, Organization, Agent, Party)
72+
- Added nameHash examples for travel rule compliance with privacy-preserving name matching
73+
- Updated participant type documentation to reflect current schema.org-based interfaces
74+
- Added complete participant interfaces documentation (Person, Organization, Agent, Party)
75+
- Enhanced travel rule compliance examples with IVMS101 data structures
76+
- Improved developer experience with detailed usage examples and standards compliance information
77+
78+
### Fixed
79+
- **Payment Message Type**: Removed erroneous `defaultAddress` field from Payment interface
80+
- Fixed Payment interface to comply with TAIP-14 specification
81+
- Settlement addresses should be provided by agents with SettlementAddress role, not as direct fields
82+
- Maintained `fallbackSettlementAddresses` field as specified in TAIP-14
83+
- Updated JSDoc examples to remove invalid `defaultAddress` references
84+
85+
## [1.6.0] - 2025-08-04
86+
87+
### Added
88+
- **Comprehensive JSDoc Documentation**: Enhanced TypeScript library with comprehensive documentation
89+
- Added comprehensive JSDoc documentation to all TAP message types
90+
- File-level overview with protocol explanation, features, and usage examples
91+
- Organized code into logical sections with clear headers
92+
- Practical usage examples for Transfer, Payment, DIDCommMessage, and Agent interfaces
93+
- Complete TAIP specification cross-reference mapping
94+
- Enhanced IntelliSense and documentation tooltips for better developer experience
95+
96+
### Enhanced
97+
- **TAIP-12 Name Hashing Implementation**: Added production-ready TypeScript implementation for privacy-preserving name matching
98+
- Added `generateNameHash()` function with SHA-256 hashing using Web Crypto API and Node.js crypto fallback
99+
- Added `normalizeForHashing()` function for TAIP-12 compliant name normalization (uppercase, whitespace removal)
100+
- Cross-platform compatibility supporting browsers and Node.js environments without additional dependencies
101+
- Comprehensive test suite with 19 test cases including TAIP-12 specification test vectors
102+
- Support for non-Western names (Arabic, Chinese, Korean, Japanese scripts)
103+
- Compatible with VerifyVASP and GTR networks per TAIP-12 specification
104+
- Added Vitest testing framework for comprehensive validation
105+
106+
## [1.5.0] - 2025-08-03
107+
108+
### Changed
109+
- **AuthorizationRequired Message**: Enhanced interface for both transaction and connection authorization
110+
- Updated TypeScript interface with enhanced documentation for both transaction and connection authorization
111+
- AuthorizationRequired moved from TAIP-15 to TAIP-4 as standard authorization message
112+
- Added optional `from` field to specify party type (customer, principal, originator) required to open URL
113+
114+
## [1.4.0] - 2025-07-28
115+
116+
### Added
117+
- **RFC 8905 PayTo URI Support**: Settlement addresses now support both blockchain (CAIP-10) and traditional payment systems (RFC 8905)
118+
- Settlement addresses in Transfer, Authorize, Settle, Revert, and Capture messages now accept PayTo URIs
119+
- Payment messages support `fallbackSettlementAddresses` field with mixed CAIP-10 and RFC 8905 addresses
120+
- Enables failover mechanisms for fiat payments and crypto transfers
121+
122+
- **Purpose Code Types**: Added ISO 20022 External Purpose Code union types
123+
- ExternalPurposeCode: 331 standardized purpose codes
124+
- ExternalCategoryPurposeCode: 48 category purpose codes
125+
126+
- **schema.org Organization Attributes**: Added optional organization metadata fields to Agents and Parties
127+
- Based on schema.org/Organization standard
128+
- Added fields: `name`, `url`, `logo`, `description`, `email`, `telephone`
129+
- Available for both Agent (TAIP-5) and Party (TAIP-6) entities

0 commit comments

Comments
 (0)