github getnora-io/nora v0.8.1

6 hours ago

What's New

S3 Backend Compatibility

  • S3 key encoding for SeaweedFS and Garage — @ and special characters in object keys now properly encoded (#258)
  • S3 colon in digest paths — SHA-256 digest paths with colons work correctly on all S3 implementations (#254)
  • Tested S3 backends: MinIO, SeaweedFS, Garage — all 13 registries work with each backend

Registry Improvements

  • Repo index for all 13 registries — browse UI now shows packages for NuGet, RubyGems, Terraform, Ansible, Pub, Conan (#252)
  • Circuit breaker for upstream health tracking — prevents cascading failures when upstreams are down (#252)
  • TLS CA support — custom CA certificates for HTTPS upstreams behind corporate proxies (#252)
  • NuGet HTTPS scheme — service index URLs now respect public_url scheme, fixing Visual Studio/dotnet restore behind reverse proxy (#258)
  • Cache-Control headers for Terraform, NuGet, RubyGems, Conan, Ansible (#251)

UI & UX

  • Folder icons and install commands for all 13 registries
  • NuGet version list with expand/collapse
  • Maven hierarchical browsing
  • Detail pages for NuGet, RubyGems, Terraform, Ansible, Pub, Conan

Reliability

  • Proxy index invalidation moved to after successful storage write (prevents stale cache on S3 failures)
  • Storage errors in proxy handlers logged instead of being silently swallowed
  • NuGet gzip decompression for registration API responses
  • Ansible Galaxy API v3 discovery

Bug Fixes

  • Fix @ encoding in S3 keys causing SeaweedFS 400 errors (#257, #258)
  • Fix NuGet service index generating http:// URLs when public_url is https:// (#256, #258)
  • Fix repo index not updating for new-format registries after proxy cache (#252)

CI & Quality

  • Changelog verification gate — validates release note claims against code (#242)
  • git-cliff automation for conventional changelog (#239)
  • Dead code cleanup — removed unused functions and modules (#250)

Stats

  • Tests: 898 passed
  • Image: ghcr.io/getnora-io/nora:0.8.1

Don't miss a new nora release

NewReleases is sending notifications on new releases.