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
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,28 @@
SensApp is pre-production: breaking changes happen between minor versions and are listed first.
Releases are published from a `vX.Y.Z` tag, see [docs/RELEASING.md](docs/RELEASING.md).

## 0.4.1

### Added

- **A Download button** in the explorer (one file per series, downloaded in the background), backed by
`?download=true` on `GET /series/{uuid}`, which answers with a `Content-Disposition` header.
- `sensapp serve`, the explicit name of what plain `sensapp` does.
- `SENSAPP_HTTP_MAX_QUERY_SAMPLES` (default `100000`): the most samples a read may return, instead of constants.
- The explorer header wraps on narrow screens, and has a 1 year preset.

### Changed and fixed

- **Prometheus remote read of a plain selector over a long range** answers with one sample per step (the last
sample of each step, with its own timestamp) instead of the raw samples, so graphing a metric over weeks at a
coarse step no longer fails with `Query exceeds 100000 samples`. Prometheus gets the same answer as with the raw
samples. Checked live against Prometheus 3.8, 3.13 and 3.15.
- The command line is parsed with clap: `sensapp --help` prints the help instead of making a token for the
subject `--help`.
- SQLite: `delete_series` takes the write lock first, so concurrent deletes wait instead of failing, and
`SQLITE_BUSY` and `SQLITE_LOCKED` answer `503`.
- ClickHouse: deletes are checked and repeated, as ClickHouse 24.8 can lose one.

## 0.4.0

### Breaking changes
Expand Down
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "sensapp"
version = "0.4.0"
version = "0.4.1"
edition = "2024"
description = "Sensor data ingestion, storage, and retrieval platform"
license = "Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions charts/sensapp/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: sensapp
description: Helm chart for deploying SensApp
type: application
version: 0.2.0
appVersion: "0.4.0"
version: 0.2.1
appVersion: "0.4.1"
keywords:
- sensapp
- time-series
Expand Down
2 changes: 1 addition & 1 deletion charts/sensapp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ The chart deploys SensApp only. It does not install or manage a database. Each S
Published releases push the chart to GHCR as an OCI package. Install a specific chart version with:

```bash
helm install sensapp oci://ghcr.io/sintef/charts/sensapp --version 0.2.0
helm install sensapp oci://ghcr.io/sintef/charts/sensapp --version 0.2.1
```

The chart version is the `version` in `Chart.yaml`, which is separate from the SensApp `appVersion`. Bump the chart version for each release so an existing OCI tag is not reused. GHCR creates new packages as private by default; an organization admin must make the chart package public for anonymous installs after its first publication.
Expand Down
2 changes: 1 addition & 1 deletion frontend/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@
"name": "Apache-2.0"
},
"title": "sensapp",
"version": "0.4.0"
"version": "0.4.1"
},
"openapi": "3.1.0",
"paths": {
Expand Down
Loading