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
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,31 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## v2.5.5

### Fixed
- Fixed `vix run` auto-linking for installed registry dependencies.
- Fixed script builds using compiled modules such as `kv`.
- Fixed package export cleanup to avoid duplicate CMake targets in `VixTargets`.
- Fixed installed module consistency for `threadpool` and `kv`.

### Added
- Added threadpool examples for validating script and module usage.
- Added experimental `vix.app` support for simple C++ applications without a visible `CMakeLists.txt`.
- Added generated CMake project support for `vix.app` based builds and runs.
- Added experimental documentation for the current `vix.app` design.

### Internal
- Updated the CLI module with the latest `vix run` dependency linking fixes.
- Added shared app project resolution for CMake and `vix.app` projects.
- Added internal CMake generation from `vix.app`.
- Cleaned umbrella CMake install/export behavior.

### Compatibility
- No breaking changes.
- Existing CMake projects keep the current build and run behavior.
- `vix.app` is experimental and only used when no `CMakeLists.txt` is present.

## v2.5.3

### Added
Expand Down
1 change: 0 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1395,7 +1395,6 @@ if (VIX_ENABLE_INSTALL)
DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/vix/third_party/asio"
)

# ---- Export umbrella and helper interface targets ----
install(TARGETS vix EXPORT VixTargets)

if (TARGET vix_thirdparty_asio)
Expand Down
74 changes: 4 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<td valign="middle" width="25%" align="right">

<img
src="https://res.cloudinary.com/dwjbed2xb/image/upload/v1774966011/vix_logo_yqjne1.png"
src="https://res.cloudinary.com/dwjbed2xb/image/upload/v1778607554/vix_logo_ms5lne.png"
width="260"
style="border-radius:50%; object-fit:cover;"
/>
Expand All @@ -43,8 +43,6 @@ Vix.cpp is a modern C++ runtime for building and running real-world applications

Learn more about the Vix runtime in the [documentation](https://docs.vixcpp.com).

Vix is also the runtime foundation used by [Softadastra](https://docs.softadastra.com), a local-first and offline-first system for building reliable applications that continue working when the network is slow, unstable, or unavailable.

## Production Proof

Vix is not a concept. It runs real systems.
Expand All @@ -58,8 +56,9 @@ A real-time monitoring system built and running in production with Vix.cpp.
- real-time WebSocket streaming
- production deployment

🔗 https://pulsegrid.softadastra.com \
🔗 https://github.com/GaspardKirira/PulseGrid
Website: 🔗 https://pulsegrid.softadastra.com \

Github: 🔗 https://github.com/GaspardKirira/PulseGrid

Used to build production systems like PulseGrid.

Expand Down Expand Up @@ -98,27 +97,6 @@ vix run main.cpp

Done.

## Replay a previous run

Vix can record a run and replay it later.

```bash
vix run main.cpp
vix replay
```

Replay the latest failed or interrupted run:
```bash
vix replay failed
```

Inspect a recorded run before replaying it:
```bash
vix replay show last
```

Vix stores replay data locally under .vix/runs/, including the command, working directory, exit status, and captured logs.

## Build a server

```cpp
Expand Down Expand Up @@ -193,50 +171,6 @@ int main(){
}
```

## API Documentation (HTTP + WebSocket)

Vix automatically exposes a full API documentation.

Start your app, then open:

```
http://localhost:8080/docs
```

You get:

- HTTP API documentation
- WebSocket endpoints
- Interactive testing UI
- No external dependencies (offline Swagger UI)

The OpenAPI spec is available at:

```
http://localhost:8080/openapi.json
```

### Control docs with `vix run`

Documentation can be enabled or disabled at runtime:

```bash
# Enable docs
vix run app.cpp --docs

# Disable docs
vix run app.cpp --no-docs
```

### Why this matters

Most systems treat documentation as an afterthought. Vix does not.

- Docs are generated from the runtime
- Always reflect the real system
- Work offline
- Include HTTP and WebSocket

## What Vix.cpp gives you

- Run a single `.cpp` file instantly
Expand Down
Loading
Loading