Skip to content

Commit a6a1991

Browse files
Oba-Oneclaude
andcommitted
chore: bump version to 3.2.0 and update release notes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 655a9ca commit a6a1991

File tree

2 files changed

+155
-1
lines changed

2 files changed

+155
-1
lines changed

docs/RELEASES.md

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
# Release History
2+
3+
> Chronological record of Cookie Jar releases and changes
4+
5+
## Release 3.2.0 (February 2026)
6+
7+
### Major Features
8+
9+
- **NFT Gating Production Hardening**: Comprehensive audit fixes for NFT-gated withdrawals including ERC-721/ERC-1155 balance proof validation, race condition prevention, and real-time ownership verification
10+
- **Unicode-Aware Purpose Validation**: Both Solidity contracts and client now count Unicode code points instead of raw bytes, ensuring consistent validation for multi-byte characters (emoji, CJK, etc.)
11+
- **OZ v5 ERC777 Compatibility**: Automated compatibility shim (`scripts/oz-compat.sh`) resolves OpenZeppelin v5 breaking change where ERC777 interfaces moved from `token/ERC777/` to `interfaces/`, ensuring Superfluid imports work in CI
12+
13+
### Improvements
14+
15+
- **WCAG Accessibility**: Select component checked states use proper foreground tokens for 4.5:1 contrast ratio; NFT form labels linked to inputs via htmlFor/id
16+
- **Type Safety**: `safeBigInt()` helper prevents `BigInt()` throws on invalid manual NFT token ID input; `as const` tuples for wagmi `useReadContract` args
17+
- **Deposit UX**: Fixed `RangeError` from negative `"0".repeat()` in ERC-20 deposit placeholder when `tokenDecimals` is 0 or negative
18+
- **CI Pipeline**: All 4 GitHub Actions workflows passing (contract tests, integration tests, unit tests, lint & type check); Vercel preview deployments working
19+
- **Script Correctness**: Fixed `bun test``bun run test` across `package.json` and documentation to ensure Vitest (not Bun's native runner) is invoked
20+
21+
### Configuration
22+
23+
- **bunfig.toml**: Removed Vitest preload that broke Bun's native test runner; removed hardcoded `NODE_ENV=production` that prevented dev mode
24+
- **Foundry remappings**: Standardized to `prefix/=path/` form with trailing slashes in both `foundry.toml` and `contracts/remappings.txt`
25+
- **Vercel**: Added `vercel.json` for bun-based builds after pnpm→bun migration
26+
27+
### Contract Changes
28+
29+
- `CookieJarValidation.countUnicodeCodePoints()` — new internal pure helper counting UTF-8 leading bytes
30+
- `CookieJarValidation.validatePurpose()` — now uses code point counting instead of `bytes().length`
31+
- `CookieJar._validateWithdrawalConstraints()` — delegates to `CookieJarValidation.validatePurpose()` instead of inline byte-length check
32+
- NFT gating: tightened `ownerOf` / `balanceOf` checks, added ERC1155 balance proof parameters
33+
34+
### Breaking Changes
35+
36+
None — backward compatible with 3.1.x
37+
38+
---
39+
40+
## Release 3.1.0 (October 2025)
41+
42+
### Major Features
43+
44+
- **Superfluid Integration**: Real-time money streaming
45+
- **Uniswap Universal Router**: Multi-version swap support
46+
- **The Graph Integration**: Enhanced data indexing
47+
- **NFT Enhancements**: Improved mobile UX and search
48+
49+
### Improvements
50+
51+
- Enhanced mobile responsiveness
52+
- Better error handling
53+
- Performance optimizations
54+
- Documentation restructuring
55+
56+
### Bug Fixes
57+
58+
- Fixed jar creation race conditions
59+
- Corrected NFT validation edge cases
60+
- Resolved streaming rate calculations
61+
- Fixed allowlist management issues
62+
63+
### Breaking Changes
64+
65+
None - backward compatible with 3.0.x
66+
67+
---
68+
69+
## Release 3.0.0 (September 2025)
70+
71+
### Major Features
72+
73+
- **Six Access Control Methods**: Allowlist, NFT, POAP, Unlock, Hypercerts, Hats
74+
- **Multi-Token Support**: ETH + any ERC20
75+
- **Advanced NFT Integration**: Comprehensive NFT functionality
76+
- **Enhanced Security**: ReentrancyGuard, custom errors, access controls
77+
78+
### Architecture
79+
80+
- Modular contract design
81+
- Factory pattern for jars
82+
- Centralized registry
83+
- Library extraction
84+
85+
### Frontend
86+
87+
- Next.js 15 upgrade
88+
- React Query integration
89+
- viem + wagmi v2
90+
- Comprehensive testing
91+
92+
### Breaking Changes
93+
94+
- New contract interfaces (not compatible with 2.x)
95+
- Updated frontend APIs
96+
- Changed deployment addresses
97+
98+
---
99+
100+
## Release 2.0.0 (August 2025)
101+
102+
### Major Features
103+
104+
- **NFT-Gated Access**: ERC-721/ERC-1155 support
105+
- **POAP Integration**: Event-based access
106+
- **Improved UI**: Redesigned interface
107+
- **Better Testing**: 90%+ coverage
108+
109+
### Improvements
110+
111+
- Gas optimizations
112+
- Better mobile experience
113+
- Enhanced error messages
114+
- Documentation improvements
115+
116+
### Breaking Changes
117+
118+
- Contract ABI changes
119+
- New access control system
120+
121+
---
122+
123+
## Release 1.0.0 (July 2025)
124+
125+
### Initial Release
126+
127+
- **Core Functionality**: Allowlist-based jars
128+
- **ETH Support**: Native ETH deposits/withdrawals
129+
- **Factory Pattern**: Scalable jar creation
130+
- **Basic UI**: Functional interface
131+
132+
### Features
133+
134+
- Allowlist management
135+
- Fixed/variable withdrawals
136+
- Cooldown periods
137+
- Purpose tracking
138+
139+
---
140+
141+
## Versioning
142+
143+
Cookie Jar follows [Semantic Versioning](https://semver.org/):
144+
- **Major**: Breaking changes
145+
- **Minor**: New features (backward compatible)
146+
- **Patch**: Bug fixes
147+
148+
## Upgrade Guides
149+
150+
See [MIGRATIONS.md](MIGRATIONS.md) for upgrade instructions between major versions.
151+
152+
---
153+
154+
*Last updated: February 2026*

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cookie-jar",
3-
"version": "3.1.0",
3+
"version": "3.2.0",
44
"description": "A decentralized funding protocol with smart contract pools and frontend interface",
55
"private": true,
66
"author": "Greenpill Dev Guild",

0 commit comments

Comments
 (0)