Skip to content

kkRepo v0.3.0

Choose a tag to compare

@klboke klboke released this 12 Jul 04:02

kkRepo v0.3.0 adds Dart / Pub repositories, tightens fresh-install and legacy Nexus UI security defaults, improves distributed security caching and privilege matching, and refreshes Browse and Administration with a consistent artifact-aware icon system.

Compare: v0.2.0...v0.3.0

Quick Start

curl -fsSL https://raw.githubusercontent.com/klboke/kkrepo/main/scripts/quickstart.sh | bash

The quickstart now defaults to ghcr.io/klboke/kkrepo:0.3.0.

Download

  • kkrepo-0.3.0.zip: archive installer for Linux/macOS style deployments.
  • kkrepo-0.3.0.tar.gz: tarball installer with the same runtime layout.
  • kkrepo-0.3.0.sha256.txt: SHA-256 checksums for the release archives.

Container Image

docker pull ghcr.io/klboke/kkrepo:0.3.0
docker pull ghcr.io/klboke/kkrepo:latest

Image digest:

ghcr.io/klboke/kkrepo:0.3.0@sha256:52bd66d60216eb3266ae6677ec64be2fec1e5b7e7a14d327cece15c4c10516fd

The image is published for linux/amd64 and linux/arm64.

Added

  • Dart / Pub hosted, proxy, and group repositories, including dart pub publish, dart pub get, Flutter package resolution, package metadata, archive downloads, PubToken authentication, MySQL-backed upload sessions, UI/API upload, browse metadata, cleanup, metrics, migration support, and Nexus 3.92.0 compatibility coverage. (#86)
  • Repository-format and artifact-type iconography across Browse and Administration, including precise package/archive file icons and a custom Java archive icon for JAR, WAR, EAR, and AAR assets. (#99)
  • Product version and GitHub project links in the Browse and Administration headers. (#97, #98)
  • Nginx reverse-proxy deployment guidance and a Nexus-to-kkRepo migration case study. (#72, #78)

Improved

  • Quickstart, Docker Compose quick trial, Dockerfile defaults, and deployment docs now use the 0.3.0 release version.
  • Fresh installations start with anonymous access disabled and explicitly choose anonymous access during initial administrator setup. Anonymous identity and roles now use the refreshable security catalog snapshot with MySQL watermark propagation across replicas. (#96)
  • Repository privilege filtering accepts wildcard grants while preserving concrete action checks. (#73, #79)
  • Admin create/edit flows use consistent modal dialogs, recipe-aware repository selectors, and clearer filtering. (#82)
  • Browse and Administration use vendored Lucide icons, clear sortable-column indicators, synchronized tree/detail asset icons, quieter inline URL copy actions, and a less interactive-looking Welcome capability showcase. (#99)
  • Project documentation, screenshots, support links, compatibility coverage, and GitHub Actions dependencies were refreshed. (#63, #64, #74, #75, #76, #77, #89, #99)

Fixed

  • Fixed RubyGems migration validation for dependency assets whose blob size differs from the generated dependency payload size. (#65)
  • Fixed group repository cache expiry so member-specific maximum ages are honored. (#71)
  • Fixed Nexus ALL action permission matching and wildcard privilege filtering without broadening concrete authorization checks. (#73, #79)
  • Fixed credentialless proxy redirects to CDN-backed upstream content while retaining outbound host policy validation. (#86)
  • Fixed fresh-install anonymous defaults and removed the configuration-file fallback as a competing source of truth. (#96)
  • Fixed UI affordance and accessibility inconsistencies around icons, file types, URL copying, static capability cards, and sortable headers. (#99)

Upgrade Notes

  • Existing v0.2.0 deployments can upgrade in place. Back up MySQL before upgrading production deployments.
  • This release adds Flyway migrations for MySQL-backed Pub upload sessions and the secure anonymous-access default for databases that have not completed initial administrator setup.
  • Legacy Nexus Rapture, ExtDirect, Wonderland, internal UI, and legacy component-upload endpoints now default to disabled through kkrepo.nexus.legacy-ui.enabled=false. Integrations that still require those legacy UI-only routes must explicitly set KKREPO_NEXUS_LEGACY_UI_ENABLED=true; normal repository clients and supported REST APIs do not require it. (#87)
  • Validate Dart / Pub repository configuration, PubToken handling, proxy/group behavior, and archive migration in staging before opening the new format to production clients.

SHA-256

4f0cff03167fce4e24c9200b8d713eb914eeb2b59de09b0306e6ce0c704f8c94  kkrepo-0.3.0.tar.gz
8083c612aa6a409e8f0ff8054e0acc67f1e56d5bcc7a0ef88a3fe0114ec398ef  kkrepo-0.3.0.zip