> The Codex team continues to make progress with various initiatives to wrap up the demo for the Q1/Q2 public testnet release. An internal testnet has been running for the past few weeks and has been used to test the latest version of Codex and can be accessed using the [Codex Testnet Starter](https://github.com/codex-storage/codex-testnet-starter) documentation.
>
> Ongoing and new lines of research and development will soon begin in preparation for the next version of Codex that will be used for the mainnet release.. Here are the updates from different team members and their ongoing work.
Development is currently broken into three distinct teams:
1. Client, Testing, and Infrastructure
2. Marketplace
3. Research
The different teams have actively moving on various fronts. The following are their team updates to various ongoing Epics.
## Client, Testing and Infrastructure
### Epic: Nim Improvements
Completed:
- [Add Nim-matrix workflow to run on merge queue](<https://github.com/codex-storage/nim-codex/pull/693>)
- [Changes to build improvements proposal so default version for the compiler is now represented as special version `repo_version` which can be accessed locally and in CI](https://github.com/codex-storage/nim-codex/pull/673/commits/f92d069d82741bb6ae5f51574f7610d79566cc78)
- [Integrated zk verifier into nim-codex](https://github.com/codex-storage/nim-codex/pull/683)
Ongoing:
- [Started reviewing the Circom circuit](https://github.com/codex-storage/codex-storage-proofs-circuits/pull/5)
### Epic: Improve Client Stability
Completed:
- Two PRs for testing framework (one [PR #93](https://github.com/codex-storage/cs-codex-dist-tests/pull/93), and one [PR #94](https://github.com/codex-storage/cs-codex-dist-tests/pull/94))
Ongoing:
- Run Continuous-Test outside of the cluster to reproduce 'file size issue'
- Finalized `nim-serde` api: now has two main pragmas, `serialize` and `deserialize`, that can be applied at the object-level or field-level:
- Each can set `key` (valid at field-level), `ignore` (valid at field-level), and `mode` (valid at object-level)
-`mode` can be one of:
- OptOut
- OptIn
- Strict
- Many more tests for the `nim-serde` lib — `serialize``OptIn, OptOut, Strict` and `deserialize``OptIn, OptOut, Strict`
- Added a comprehensive README to nim-serde
- Added CI to serde, with branch protection rules on master
- Added support for deserializing seq[byte]
- Updated `nim-ethers``json-rpc` and `chronos` upgrade PR to use `nim-serde` instead of the json util. Created the PR https://github.com/codex-storage/nim-ethers/pull/64
Ongoing:
- [WIP on finishing the Availabilities API endpoints tweaks](https://github.com/codex-storage/nim-codex/pull/692)
- Tried to integrate `nim-serde` in `nim-codex`, but running into symbol clashes with `parseJson`, so changed `parseJson` to `JsonNode.parse`, still needs to be integrated into `nim-codex`
## Research
```
2024 R&D Goals
1. Proving system and aggregation improvements (folding or lookups)