@wireapp/core-crypto 1.0.2 → 1.1.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +57 -20
- package/package.json +2 -2
- package/platforms/web/core-crypto-ffi_bg.wasm +0 -0
- package/platforms/web/corecrypto.d.ts +1697 -277
- package/platforms/web/corecrypto.js +2880 -2358
package/README.md
CHANGED
@@ -30,6 +30,12 @@ See [ARCHITECTURE.md](docs/ARCHITECTURE.md)
|
|
30
30
|
- rust: [https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)
|
31
31
|
- cargo-make: [https://sagiegurari.github.io/cargo-make/](https://sagiegurari.github.io/cargo-make/)
|
32
32
|
|
33
|
+
If you're using macOS, you'll also need to install GNU sed:
|
34
|
+
```ignore
|
35
|
+
brew install gnu-sed
|
36
|
+
```
|
37
|
+
and add an alias to your shell configuration file: `alias sed=gsed` (e.g. to `~/.zshenv` if you're using zsh).
|
38
|
+
|
33
39
|
### Android
|
34
40
|
|
35
41
|
Install Android SDK and Build-Tools for API level 30+
|
@@ -131,6 +137,24 @@ cargo install cargo-nextest
|
|
131
137
|
cargo nextest run
|
132
138
|
```
|
133
139
|
|
140
|
+
#### Run core crypto tests on WASM target
|
141
|
+
|
142
|
+
If you haven't already, install the target and wasm-pack:
|
143
|
+
|
144
|
+
```ignore
|
145
|
+
rustup target add wasm32-unknown-unknown
|
146
|
+
cargo install wasm-pack
|
147
|
+
```
|
148
|
+
|
149
|
+
If you want to test for chrome, [get chromedriver](https://getwebdriver.com/chromedriver) or the webdriver for the
|
150
|
+
browser you want to test for, respectively.
|
151
|
+
|
152
|
+
Then, to run tests for a crate in the workspace do
|
153
|
+
|
154
|
+
```ignore
|
155
|
+
wasm-pack test --headless --chrome ./<crate-folder-to-test>
|
156
|
+
```
|
157
|
+
|
134
158
|
#### Addendum: testing all ciphersuites
|
135
159
|
|
136
160
|
> [!warning]
|
@@ -180,9 +204,14 @@ The reports generated by criterion will be located in `target/criterion`.
|
|
180
204
|
|
181
205
|
## Git workflow
|
182
206
|
|
183
|
-
* The `main` branch is
|
184
|
-
*
|
185
|
-
*
|
207
|
+
* The `main` branch is used as the everyday development branch.
|
208
|
+
* No merge commits. Always rebase on top of `main`.
|
209
|
+
* Release branches are named `release/<series>`, e.g. `release/1.x`, `release/2.x`.
|
210
|
+
* Release branches contain fixes relevant to their specific release series and are never merged to `main`.
|
211
|
+
* Release branches always branch off their first major release tag. For example,
|
212
|
+
the output of `git merge-base main release/2.x` must be a commit pointed to by tag `v2.0.0`.
|
213
|
+
* Release branches are created lazily, that is, only when the first fix needs to be applied and released
|
214
|
+
for a specific release series.
|
186
215
|
* Use [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/) -- those are picked up by the changelog generator.
|
187
216
|
* If there is a JIRA ticket related to the change, you should mention it in either the PR title or the commit(s),
|
188
217
|
with the following format: `[TICKET_ID]`.
|
@@ -199,27 +228,35 @@ The versioning scheme used is [SemVer AKA Semantic Versioning](https://semver.or
|
|
199
228
|
|
200
229
|
### Making a new release
|
201
230
|
|
202
|
-
1. Make a
|
203
|
-
1. Run `
|
204
|
-
1. If all seems fine, re-run the previous command without the `--dry-run` argument.
|
205
|
-
This will bump the versions of:
|
231
|
+
1. Make a branch based on `main` to prepare for release (`git checkout -b prepare-release/X.Y.Z`)
|
232
|
+
1. Run `sh scripts/update-versions.sh X.Y.Z` to update the versions of
|
206
233
|
- all workspace member crates
|
207
234
|
- `package.json`
|
208
235
|
- `crypto-ffi/bindings/gradle.properties`
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
236
|
+
Make sure the result of the script run is correct.
|
237
|
+
1. Generate the relevant changelog section:
|
238
|
+
```bash
|
239
|
+
git cliff --bump --unreleased
|
240
|
+
```
|
241
|
+
and add it to the top of `CHANGELOG.md`.
|
242
|
+
Make sure the version number generated by `git cliff` matches the release version.
|
243
|
+
1. If there are any release highlights, add them as the first subsection below release title:
|
244
|
+
```markdown
|
245
|
+
## v1.0.2 - 2024-08-16
|
246
|
+
|
247
|
+
### Highlights
|
248
|
+
|
249
|
+
- foo
|
250
|
+
- bar
|
251
|
+
- baz
|
252
|
+
```
|
253
|
+
1. Make sure the changes look reasonable and complete; you can use the previous release as a reference
|
254
|
+
1. Push your `prepare-release/X.Y.Z` branch and create a PR for it
|
255
|
+
1. Get it reviewed, then merge it into `main` and remove the `prepare-release/X.Y.Z` branch from the remote
|
256
|
+
1. Now, pull your local `main`: `git checkout main && git pull`
|
221
257
|
1. Create the release tag: `git tag -s vX.Y.Z`
|
222
|
-
1. Push the
|
258
|
+
1. Push the new tag: `git push origin tag vX.Y.Z`
|
259
|
+
1. Create a new release on github, copying the relevant section from `CHANGELOG.md`
|
223
260
|
1. Voilà!
|
224
261
|
|
225
262
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wireapp/core-crypto",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.1.1",
|
4
4
|
"description": "CoreCrypto bindings for the Web",
|
5
5
|
"type": "module",
|
6
6
|
"module": "platforms/web/corecrypto.js",
|
@@ -43,4 +43,4 @@
|
|
43
43
|
"ts-loader": "^9.5.1",
|
44
44
|
"typescript": "^5.3.3"
|
45
45
|
}
|
46
|
-
}
|
46
|
+
}
|
Binary file
|