Releases: semaphore-protocol/semaphore
v3.12.0
No significant changes
View changes on GitHub
v3.11.1
🐞 Bug Fixes
- @semaphore-protocol/data: Check address value before setting it - by @cedoor (20f28)
 
♻️ Refactoring
- @semaphore-protocol/cli: Improve error messages - by @vplasencia (d4204)
 
View changes on GitHub
v3.11.0
🚀 Features
♻️ Refactoring
- @semaphore-protocol/proof: Add MerkleProof type to exports - by @cedoor (8afa3)
 
View changes on GitHub
v3.10.1
🐞 Bug Fixes
- @semaphore-protocol/group: Make members bigint types - by @cedoor (d1d30)
 
View changes on GitHub
v3.10.0
📣 Important news
Off-chain groups
In order for a member of a Semaphore group to generate a valid zero-knowledge proof, it is necessary to create an off-chain group and add all members so that the Merkle proof for that member can be calculated. This step can take place in a server or on the browser, but in any case it is important that the time for adding members is reasonable. The old addMembers method has been replaced with a third parameter in the Group class, which is more than 10 times faster.
import { Group } from "@semaphore-protocol/group"
import { SemaphoreSubgraph } from "@semaphore-protocol/data"
const semaphoreSubgraph = new SemaphoreSubgraph()
const members = await semaphoreEthers.getGroupMembers("42")
const group = new Group("42", 20, members)PR: #322
Documentation
Answers to frequently asked questions have been added to a separate page in the documentation, along with the troubleshooting page and a new guide to fetch on-chain data with the @semaphore-protocol/data package. Also, the search bar can now also be used in Spanish.
🚀 Features
- @semaphore-protocol/data: Create function to check if a member exists - by @cedoor (9d707)
 - @semaphore-protocol/group: Add new class parameter to add members - by @cedoor (ed015)
 
View changes on GitHub
v3.9.0
v3.8.0
🚀 Features
- @semaphore-protocol/proof: Add function to calculate nullifier hash - by @cedoor (6cc2b)
 
♻️ Refactoring
- @semaphore-protocol/cli: Update get-proofs description - by @vplasencia (eb634)
 
View changes on GitHub
v3.7.0
No significant changes
View changes on GitHub
v3.6.0
📣 Important news
CLI
CLI templates
There are two new templates in the CLI: monorepo-ethers and monorepo-subgraph. You can select which one you prefer when creating your project:
Supported templates:
contracts-hardhat: It contains a simple contract, a task to deploy it and some tests.monorepo-ethers: It is a complete application that contains a simple contract, a task to deploy it, some tests and a Next.js application to interact with that contract. It uses the SemaphoreEthers class to query the Semaphore.sol contract data.SemaphoreEthersis part of the@semaphore-protocol/datapackage and uses the Ethers library under the hood.monorepo-subgraph: It is a complete application that contains a simple contract, a task to deploy it, some tests and a Next.js application to interact with that contract. It uses the SemaphoreSubgraph class to query the Semaphore.sol contract data.SemaphoreSubgraphis part of the@semaphore-protocol/datapackage and uses The Graph protocol under the hood.
CLI commands
The get-group command in the CLI was split into get-group, get-members and get-proofs.
Commands:
get-group: It returns the data of a group from a supported network.get-members: It returns the members of a group from a supported network.get-proofs: It returns the proofs of a group from a supported network.
PR: #303
Contracts
All contracts are using the same addresses on almost all the supported networks. You can take a look at the new contract addresses in the documentation.
PR: #304
Discord Bot
Semaphore has a new Discord bot that can be used to show the data of on-chain groups with a simple command: /get-group . The output of the command is private by default, but you can make it public by adding a third parameter /get-group true. Exciting new features will be integrated in the future, stay tuned!
Repository: https://github.com/semaphore-protocol/discord-bot
🚀 Features
- @semaphore-protocol/cli:
- Split the get-group command to make it easier to query group data - by @vplasencia (0cbbd)
 - Add checks for template integrity - by @vplasencia (14e39)
 - Add inquirer to select a template when creating a project - by @vplasencia (4d1a6)
 - Add the hardhat-nextjs-semaphoreethers template - by @vplasencia (53d87)
 - Add hardhat-nextjs-semaphoresubgraph template - by @vplasencia (58310)
 
 
🐞 Bug Fixes
- Limit some npm scripts to public packages - by @cedoor (94bbf)
 - @semaphore-protocol/cli:
- Add solhint file in monorepo-ethers and monorepo-subgraph templates - by @vplasencia (7d487)
 - Add gitignore file - by @vplasencia (bd897)
 - Update package.json file in monorepos with correct package names - by @vplasencia (c4f35)
 - Set the correct env file path - by @vplasencia (d9b0a)
 
 - @semaphore-protocol/contracts:
 - @semaphore-protocol/data:
 
🏎 Performance
- @semaphore-protocol/cli:
- Optimize get-members command - by @vplasencia (bb0b5)
 - Optimize get-proofs command - by @vplasencia (0b060)
 
 
♻️ Refactoring
- Ignore .next and public folders - by @vplasencia (6afb0)
 - @semaphore-protocol/cli:
- Organize inquirer prompts - by @vplasencia (d8ab9)
 - Organize get group ids logic - by @vplasencia (93e4a)
 - Change cli template names - by @vplasencia (84c1d)
 - Update template apps' names - by @cedoor (58de9)
 - Add the next-env.d.ts file to gitignore - by @vplasencia (02d13)
 - Set the monorepo-ethers template as default when creating a project - by @vplasencia (27ba2)
 - Copy the contents of the .env.example file to a new .env file - by @vplasencia (74c2e)
 - Rename the cli hardhat template package - by @vplasencia (e38b0)
 - Add access public in package.json file - by @vplasencia (abfff)
 - Update package names - by @vplasencia (eb997)
 - Remove unused code - by @vplasencia (e5cf4)
 - Remove unused import statement - by @vplasencia (5dbbd)
 - Remove unused code - by @vplasencia (fcaac)
 - Rename cli hardhat-nextjs-semaphoreethers template package - by @vplasencia (1c0d1)
 - Add yarn.lock file - by @vplasencia (b363c)
 - Rename cli hardhat-nextjs-semaphoresubgraph template - by @vplasencia (ee6e1)
 
 
View changes on GitHub
v3.5.0
🚀 Features
- @semaphore-protocol/identity: Add new identity secret attribute and getter - by @cedoor (99ea3)
 
🐞 Bug Fixes
- @semaphore-protocol/data: Set correct nullifier hash parameter - by @cedoor (d36a7)