Skip to content

release: v1.17.0 - #843

Merged
VijitSingh97 merged 14 commits into
mainfrom
develop
Aug 2, 2026
Merged

release: v1.17.0#843
VijitSingh97 merged 14 commits into
mainfrom
develop

Conversation

@VijitSingh97

Copy link
Copy Markdown
Collaborator

Promote develop to main for the v1.17.0 release (tag published; tag commit == develop tip, no post-cut commits).

🤖 Generated with Claude Code

VijitSingh97 and others added 14 commits August 1, 2026 19:06
chore: back-merge main into develop after v1.16.1
…833)

Two proactive-update gaps from the appliance update-strategy plan (#833):

- dependabot.yml: new docker-compose ecosystem entry so the third-party
  digests pinned directly in docker-compose.yml (Tari node + wallet,
  docker-socket-proxy, caddy) get the same weekly digest/patch tracking
  as the build/* base images. Same major/minor ignore policy — those are
  deliberate migrations, not CVE fixes.
- ci.yml: weekly schedule trigger that rebuilds and Trivy-scans every
  build/* image on develop, so a CVE disclosed between PRs — or fixed in
  the apt archive without a new base digest, which Dependabot never
  sees — surfaces in the Actions tab instead of reddening the next
  unrelated PR. Every other job skips scheduled runs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MFc4Z74jLpMoJMX3L3DaGP
…ch for both security logs (#823)

Both Security panels gain one shared control row: the chart's range
presets (24 Hr / 1 Wk / 1 Mo / All) for following a live log, two
native date inputs for jumping to a specific day or span (the 'to'
date covers its whole day via a half-open next-midnight bound), and a
debounced search box matching any field. Filters compose.

Filtering is SERVER-side (?from&to&q on /api/access and /api/audit) so
a match deeper than the glance tail is still found: one filter helper
serves both surfaces by normalizing each entry's ts (epoch seconds on
access rows, the canonical UTC ISO string on audit rows) onto one
epoch axis; an undatable row matches no time window but still matches
a pure text search. Malformed bounds read as absent — a bad query must
never 500 a log view; q is trimmed and length-capped and only ever
compared, never stored or echoed unsanitized. The access read deepens
to a bounded 1000-row tail only while filtering, and its failed-login
counters always describe the whole tail. A filtered view lifts the
20-row glance cap and says 'No entries match this filter' honestly.

Verified live in the harness: preset refetch narrows to the window and
lifts the cap, search composes with the active range (including the
honest empty intersection), the audit card filters independently.

Closes #823

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Non-finite from/to bounds (inf/nan parse via float()) now read as
  absent — nan compares False with everything and would silently warp
  the window; the malformed-bounds contract is now true, and tested.
- A per-surface sequence guard stops a slow stale response from
  overwriting a fresher filter's view.
- Pending search debounce timers are cleared on unmount.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…es-strategy-f8q8z3

ci: weekly CVE sweep + Dependabot coverage of compose-pinned images
Bumps the compose group with 2 updates: [tarilabs/minotari_console_wallet](https://github.com/tari-project/tari) and caddy.


Updates `tarilabs/minotari_console_wallet` from v5.3.1-mainnet to v5.3.1-mainnet
- [Release notes](https://github.com/tari-project/tari/releases)
- [Changelog](https://github.com/tari-project/tari/blob/development/changelog-development.md)
- [Commits](tari-project/tari@v5.3.1...v5.3.1)

Updates `caddy` from 2.11.4 to 2.11.4

---
updated-dependencies:
- dependency-name: tarilabs/minotari_console_wallet
  dependency-version: v5.3.1-mainnet
  dependency-type: direct:production
  dependency-group: compose
- dependency-name: caddy
  dependency-version: 2.11.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: compose
...

Signed-off-by: dependabot[bot] <support@github.com>
…tion

feat(dashboard): log navigation — range presets, date jumps, and search for both security logs
…rouping dropdown retired

The grouping dropdown answered a strictly weaker question once range
presets, date jumps and search owned the time navigation — it becomes
a pager: '<N> entries · page X of Y', a 5/10/20/50/100 rows-per-page
select, and Prev/Next. Paging is client-side over the server-filtered,
bounded result set; pageFor clamps so a shrinking result set never
strands the view past the end, and the page resets to 0 on any filter
change (a new question starts at its first page). Both cards page
identically — the access card's special filtered-vs-glance cap split
dies with the grouping code (bucketKey, groupAuditEntries, the
group-header rows and their CSS).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ompose/compose-65e5ce38cc

build(deps): bump the compose group with 2 updates
…(verifier findings)

- pageFor falls back to the default page size on a 0/NaN/negative size
  and a non-finite page — a hostile value reaching the division would
  render 'page NaN of Infinity'. The clamp is the safety net behind
  every pager callback: a stale page lands on the last real page.
- The edge-disabling test now asserts the disabled attribute's
  presence/absence per pager (scoped by aria-label), plus a last-page
  case — previously it only matched button text.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat(dashboard): log pager — match count, rows-per-page, prev/next; grouping dropdown retired
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
chore(release): v1.17.0 prep — version bump + changelog
@VijitSingh97
VijitSingh97 merged commit 3d24447 into main Aug 2, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants