0.7.0
Important Configuration Changes
Updated Default Environment Variables
The default values of the following environment variables have been modified:
S3_REQUEST_CHECKSUM_CALCULATION: `WHEN_SUPPORTED` → `WHEN_REQUIRED`
S3_RESPONSE_CHECKSUM_CALCULATION: `WHEN_SUPPORTED` → `WHEN_REQUIRED`
Docker Compose
The Docker Compose setup now includes two improvements:
- Hasura will wait until PostgreSQL is fully ready before starting.
- The NGINX configuration under
conf.dhas been updated.
Recommended Action for npm Repositories
We recommend clearing the cache for remote npm repositories if you encounter package integrity errors.
This issue was caused by rare caching conflicts between scoped packages and is fully fixed in this release.
New Features (20)
-
AI Powered Package Summaries
Package pages now feature an automatic AI-generated summary of the package’s README, giving you a quick overview without needing to read the entire file.
This feature requires connecting an LLM provider for it to work, see the setup guide. -
User Management from System Settings
System administrators can now add users directly from the System Settings page, simplifying user management without needing to switch contexts. -
Search Filters UI Refresh
A cleaner, easier-to-read search bar with clearer filter chips and placeholder, giving you more room to type while search behavior remains unchanged. -
Upload API Enhancements
The Upload API now returns the newly created package ID, version ID, and a direct link. This makes it more traceable and easier to integrate into build pipelines. -
Cargo Registry Uploading
You can publish packages using the standardcargo publish --registry repoflowcommand. -
Debian 13 (trixie) Option
Added Debian 13 (trixie) as a Debian distribution. -
Upload Tutorial Guidance
Upload tutorials now explain that remote repositories don’t support uploads and virtual repositories require an upload route. -
Listing Versions API Update
The package versions listing API now includes the versionId for each version, alongside the existing version name and creation time, making it easier to reference specific versions programmatically. -
Docker Catalog API
Lists all images under a Docker repository with pagination support. Full details here. -
Package Metadata API
A new API endpoint is available for retrieving complete package metadata, including all versions of a package. Full documentation here -
Gradle
.tomlSupport under Maven Repositories
Gradle version catalogs (.tomlfiles) are now supported when uploaded to Maven repositories, allowing seamless publishing alongside regular module and POM files. -
Helm Chart:
extraPodSpecSupport
The Helm chart now supports anextraPodSpec: {}field, allowing custom Kubernetes pod specifications to be injected.
This makes it possible to configure features like node affinity, tolerations, or custom pod annotations, which can be useful for spreading RepoFlow pods across different nodes. -
Configurable NPM Manifest Response
You can now configure how much of the npmpackage.jsonmanifest is returned in API responses.
Controlled via theNPM_MANIFEST_MODEandNPM_MANIFEST_FIELDS_ALLOWLISTenvironment variables, more info here -
Enhanced S3 Storage Options
Added support for AWS S3 Accelerated Endpoints and introduced configurable S3 path style support.
These are controlled by two new environment variables:S3_AWS_USE_ACCELERATE_ENDPOINTandS3_USE_PATH_STYLE.
The S3 path style was previously always enabled and now defaults totrue, but can be configured as needed. -
Optional Logs Volume
A new Helm chart option allows disabling the dedicated logs volume (server.logsPvc.enabled=false). When disabled, each pod writes logs only to its local ephemeral storage, meaning logs are stored separately per pod and lost on restart or rescheduling. This configuration can simplify clusters that do not support shared PVCs but is not recommended since logs will not persist across pods. -
URL Mismatch Error Page
When a user visits RepoFlow using a different URL than the one configured on the server, the app now shows a clear error page explaining the mismatch and what to do next (e.g., use the configured address or contact support).
For specialized deployments, the behavior can be controlled via theIGNORE_FRONTEND_URL_MISMATCHclient environment variable. -
Improved Network Error Handling
The user interface now provides clearer messages and guidance when the network is down, making it easier to understand and resolve connectivity issues. -
Signup Field Length Indicators
The user interface now clearly shows when a field in the signup form exceeds its maximum allowed length, helping users correct input immediately. -
TMP Folder Performance Test on Startup
A new optionTMP_FOLDER_TEST_PERFORMANCE_ON_STARTruns a local temp folder speed test on startup, blocking launch until done. Useful for benchmarking only. -
File Sorting by Size in Package Page
Files displayed under the Package Files section are now sorted by size, making it easier to identify the largest artifacts at a glance.
Bug Fixes (22)
-
Fixed an issue with
pypirepositories where some clients (such asuv) appended "simple" to the URL when requesting versions, even if it wasn’t included in the configured URL. RepoFlow server now supports both cases. We recommend clearing the remote cache after this update to ensure everything functions correctly. -
Fixed an issue where remote Docker repositories only worked on default ports (
80for HTTP and443for HTTPS). They now support all valid ports for both protocols. -
Fixed an issue where some Composer packages without a license would fail during upload.
-
For Debian repositories, users could see
apt-get dist-upgraderepeatedly propose upgrades to the same installed version.Note: repositories already affected will need the impacted packages to be re-uploaded so their metadata is refreshed.
-
Fixed an issue with Debian repositories where proxying an upstream repository sometimes failed. Additionally,
apt updateperformance has been improved by approximately 60%. -
Fixed Helm chart logic that could create a Kubernetes ServiceAccount even when creation was disabled. A ServiceAccount is now rendered only when
serviceAccount.enabled=trueandserviceAccount.create=true. -
Fixed a bug where universal package versions were stored in lowercase but displayed in uppercase, causing inconsistencies. Universal packages are now fully case insensitive. Whether a version is uploaded or requested using uppercase or lowercase, it will behave the same. This change applies only to new uploads. Packages uploaded before this fix remain unchanged.
-
Fixed a bug where UI checkboxes could unexpectedly change value when clicking on other checkboxes in the same group.
-
Fixed a bug where editing a remote repository sometimes did not work.
-
Fixed a bug where duplicating a tab could cause an error.
-
Fixed a bug where the reset password popup would not appear when trying to reset a password.
-
Fixed a bug where the workspace creation API returned the workspace ID as a plain string instead of a JSON object as documented. It now returns JSON as specified.
-
Fixed a bug that allowed a repository to be in both “deleting files” and “deleting repository” states simultaneously. Now only one deletion operation can be active at a time.
-
Fixed an issue preventing Hugging Face as an LLM provider from working and added a setup example to the docs.
-
NuGet remote repositories that aren’t strictly identical to the official v3 layout now work more reliably, and remote caching behavior has been improved.
-
Fixed an issue where Composer package autoload information was not correctly included.
-
Fixed a bug where the Composer package JSON API sometimes returned the README URL instead of the archive URL.
-
Fixed a bug that prevented very large npm packages from being published via the npm API.
-
Several API documentation entries contained outdated endpoints. All affected endpoints have been corrected to match the current implementation.
-
Resolved an issue where the layer commands of Docker images were not displayed if a non-empty layer had an empty command. All layers and commands now display correctly.
-
Fixed several memory leaks and improved overall performance and stability.
-
Fixed rare cases of remote npm repositories showing integrity errors due to conflicting cache entries between similarly named packages.
This issue could cause mismatched.tgzfiles and checksum validation failures with some clients (such as pnpm).