Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .github/workflows/bump-version.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ concurrency:
cancel-in-progress: true

on:
push:
branches:
- main
workflow_dispatch:
inputs:
version:
Expand All @@ -17,5 +14,6 @@ jobs:
bump:
uses: IronCoreLabs/workflows/.github/workflows/bump-version.yaml@bump-version-v1
with:
release_prereleases: false
version: ${{ inputs.version }}
secrets: inherit
13 changes: 13 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: Typescript Publish
on:
release:
types:
- "created" # triggered by Bump Version creating a release
workflow_dispatch:
jobs:
typescript-release:
uses: IronCoreLabs/workflows/.github/workflows/typescript-release.yaml@typescript-release-v1
with:
pre_publish_steps: "./build.js"
publish_working_directory: "pkg"
secrets: inherit
54 changes: 28 additions & 26 deletions .github/workflows/wasm-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,38 +2,40 @@ name: WASM CI
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
'on':
on:
push:
branches:
- main
pull_request: null
workflow_dispatch: null
- main
pull_request:
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-22.04
strategy:
matrix:
node_version:
- '18'
- 24
steps:
- uses: actions/checkout@v5
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
target: wasm32-unknown-unknown
- uses: taiki-e/cache-cargo-install-action@v2
with:
# needs to match Cargo.toml and flake.nix version
tool: wasm-bindgen-cli@0.2.100
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node_version }}
cache: yarn
- name: Install modules
run: yarn
- name: Compile
run: cargo update && yarn run compile
- name: Run tests
run: yarn run test
- uses: actions/checkout@v5
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
target: wasm32-unknown-unknown
- uses: taiki-e/cache-cargo-install-action@v2
with:
# needs to match Cargo.toml and flake.nix version
tool: wasm-bindgen-cli@0.2.104
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node_version }}
cache: yarn
- name: Install modules
run: yarn
- name: Compile
run: cargo update && yarn run compile
- name: Run tests
run: yarn run test
- name: Test build
run: ./build.js
52 changes: 29 additions & 23 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,66 @@
# Changelog

## 0.7.0

- Upgrade all JS and Rust dependencies
- Upgrade to Rust 2024 edition
- Rework release process

## 0.6.0

+ Removed `setRandomSeed` and `pbkdf2SHA256` from `recrypt_wasm_binding.d.ts` and related places. These were only needed for Edge Legacy and IE11 which are no longer supported by recrypt-wasm-binding.
+ Removed support for MS Edge Legacy (version <= 44) as Microsoft has ended support for Edge Legacy
+ Prep for Rust 2021 Edition
- Removed `setRandomSeed` and `pbkdf2SHA256` from `recrypt_wasm_binding.d.ts` and related places. These were only needed for Edge Legacy and IE11 which are no longer supported by recrypt-wasm-binding.
- Removed support for MS Edge Legacy (version <= 44) as Microsoft has ended support for Edge Legacy
- Prep for Rust 2021 Edition

## 0.5.8

+ Upgrade all JS and Rust dependencies.
- Upgrade all JS and Rust dependencies.

## 0.5.7

+ Upgrade `ironcore-search-helpers` to 0.1.2.
+ `Recrypt.EncryptedSearch.transliterateString` added to allow filtering of lists after encrypted search.
- Upgrade `ironcore-search-helpers` to 0.1.2.
- `Recrypt.EncryptedSearch.transliterateString` added to allow filtering of lists after encrypted search.

## 0.5.6

+ Upgrade `recrypt-rs` to 0.11.0
+ Expose new class for performing encrypted search. New class is `EncryptedSearch` and contains two methods for substring search.
+ `const encSearch = new Recrypt.EncryptedSearch();`
+ `encSearch.generateHashesForString(s: string, salt: Uint8Array, partitionId?: string): Uint32Array`
+ `encSearch.generateHashesForStringWithPadding(s: string, salt: Uint8Array, partitionId?: string): Uint32Array`
- Upgrade `recrypt-rs` to 0.11.0
- Expose new class for performing encrypted search. New class is `EncryptedSearch` and contains two methods for substring search.
- `const encSearch = new Recrypt.EncryptedSearch();`
- `encSearch.generateHashesForString(s: string, salt: Uint8Array, partitionId?: string): Uint32Array`
- `encSearch.generateHashesForStringWithPadding(s: string, salt: Uint8Array, partitionId?: string): Uint32Array`

## 0.5.5

+ Consume latest `0.9` release of Recrypt to consume bug fix for `addPrivateKeys` and `subtractPrivateKeys` methods to correctly support PrivateKey rotation.
- Consume latest `0.9` release of Recrypt to consume bug fix for `addPrivateKeys` and `subtractPrivateKeys` methods to correctly support PrivateKey rotation.

## 0.5.4

+ Upgrade `recrypt-rs` to 0.8.4
- Upgrade `recrypt-rs` to 0.8.4

## 0.5.3

+ Upgrade `recrypt-rs` to 0.8.2
+ Expose two new functions for adding or subtracting two private keys.
+ `Recrypt.addPrivateKeys(key1: Uint8Array, key2: Uint8Array): Uint8Array`
+ `Recrypt.subtractPrivateKeys(key1: Uint8Array, key2: Uint8Array): Uint8Array`
- Upgrade `recrypt-rs` to 0.8.2
- Expose two new functions for adding or subtracting two private keys.
- `Recrypt.addPrivateKeys(key1: Uint8Array, key2: Uint8Array): Uint8Array`
- `Recrypt.subtractPrivateKeys(key1: Uint8Array, key2: Uint8Array): Uint8Array`

## 0.5.1

+ Upgrade all dependencies to latest version, including recrypt-rs (0.7.1).
+ Enable feature flags to use u32 backend for `ed25519-dalek`. Reduces the size of the resulting WASM binary.
- Upgrade all dependencies to latest version, including recrypt-rs (0.7.1).
- Enable feature flags to use u32 backend for `ed25519-dalek`. Reduces the size of the resulting WASM binary.

## 0.4.3

+ Upgrade to the latest released version of recrypt-rs (0.6.1) to avoid depending on fork of ed25519.
- Upgrade to the latest released version of recrypt-rs (0.6.1) to avoid depending on fork of ed25519.

## 0.4.2

+ If/when random seed is set, it's value will be cleared after use so it cannot be used as a seed for any subsequent operations.
- If/when random seed is set, it's value will be cleared after use so it cannot be used as a seed for any subsequent operations.

## 0.4.1

+ Added new method `setRandomSeed(seed: Uint8Array)` that can be used to pre-seed the PRNG that is needed in order to use this library. This can be useful to support loading this WASM module in a WebWorker and also support MSEdge which doesn't allow for random number generation in a WebWorker. Without being able to pre-seed the PRNG this library would fail in MSEdge in a WebWorker. If using this random seed, it should be a 32 byte Uint8Array of random bytes and needs to be invoked before creating an instance of the `Api256` class.
+ Added a new method `pbkdf2SHA256(salt: Uint8Array, password: Uint8Array, iterations: number)` which adds support for generating a derived cryptographic key from the provided salt and password bytes. Will use SHA-256 as the hashing method to generate a 32 byte derived key based on the number of iterations provided.
- Added new method `setRandomSeed(seed: Uint8Array)` that can be used to pre-seed the PRNG that is needed in order to use this library. This can be useful to support loading this WASM module in a WebWorker and also support MSEdge which doesn't allow for random number generation in a WebWorker. Without being able to pre-seed the PRNG this library would fail in MSEdge in a WebWorker. If using this random seed, it should be a 32 byte Uint8Array of random bytes and needs to be invoked before creating an instance of the `Api256` class.
- Added a new method `pbkdf2SHA256(salt: Uint8Array, password: Uint8Array, iterations: number)` which adds support for generating a derived cryptographic key from the provided salt and password bytes. Will use SHA-256 as the hashing method to generate a 32 byte derived key based on the number of iterations provided.

## 0.4.0

Expand Down
Loading
Loading