Skip to content

fix(deps): update module darvaza.org/core to v0.19.0#7

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/darvaza.org-core-0.x
Open

fix(deps): update module darvaza.org/core to v0.19.0#7
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/darvaza.org-core-0.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Aug 23, 2025

This PR contains the following updates:

Package Change Age Confidence
darvaza.org/core v0.18.1v0.19.0 age confidence

Release Notes

darvaza-proxy/core (darvaza.org/core)

v0.19.0: — Go 1.24 floor, x/net v0.50.0, modernize clean-up

Compare Source

v0.19.0 — Go 1.24 floor, x/net v0.50.0, modernize clean-up

This release raises the minimum Go version to 1.24, refreshes CI
and build tooling around the newer toolchain, closes a batch of
line-coverage gaps, and rewords the testing docs so the TestCase
decision rule precedes the structural checklist.

Breaking
Change Impact
Minimum Go raised from 1.23 to 1.24 Consumers on Go 1.23 must upgrade. go.mod now declares go 1.24.0.
CI matrix shifted to {1.24, 1.25, 1.26} Drops 1.23 from the supported matrix.
Dependencies
Module From To
golang.org/x/net v0.43.0 v0.50.0 (top of the band whose go.mod still declares go 1.24.0; v0.51.0+ requires Go 1.25).
golang.org/x/text indirect follow-up to v0.34.0.
Tooling
  • golangci-lint pinned per Go tier via get_version.sh:
    v2.8.0 on Go 1.24, v2.11.4 on Go 1.25+.
  • revive pinned per tier: v1.14.0 / v1.15.0.
  • modernize analyser enabled in .golangci.yml. Mechanical
    rewrites applied across the tree: counted for loops
    → range-over-int, benchmark loops → for b.Loop(),
    var counter int64 + atomic.AddInt64atomic.Int64,
    redundant generic type arguments dropped.
  • actions/checkout@v6; explicit permissions: blocks on the
    build, test, race, codecov, and renovate workflows.
  • fix_whitespace.sh parallelised and now strips UTF-8 BOMs.
  • Switched from deprecated pnpx to pnpm dlx for Markdown tooling.
Tests

Targeted coverage additions for branches the existing suite missed:

  • Nil-receiver paths (WrappedError.Error/Unwrap,
    CompoundError.OK, ErrGroup.Err on a pristine group).
  • Non-first branches of type switches in Unwrap,
    CheckIsTemporary, CheckIsTimeout, and isSamePointer.
  • Short-circuit and early-return paths in SliceEqual,
    SliceEqualFn, SliceUniquify, SliceReplaceFn.
  • Parser fall-throughs in splitHostPortBracketed and
    SplitAddrPort.
  • Panic paths in writeFormat (asserted by branch-specific
    substring), unknown-PC in frameForPC, and the skip-overflow
    branch of StackFrame.
  • The IsZero() bool custom-interface branch, the typed-nil
    collapse branch of AsError, and the type-mismatch skip in
    ListForEach / ListForEachBackward.

No production code changes in the coverage commit — tests only.

Documentation
  • TESTING.md reworded so the decision rule — ≥2 rows of
    shared-shape data feeding one assertion path
    — comes before
    the structural checklist, with two new DON'T entries
    (single-case TestCase, operation-under-test held in a struct
    field).
  • AGENTS.md trades the bare "Table-driven tests are preferred."
    line for one that names the ≥2-row threshold and links to
    TESTING.md.
  • British-English spelling swept through Markdown; stale go -C /
    Go-1.X-generics notes removed.
Install
go get darvaza.org/core@v0.19.0
Commits since v0.18.5
Commit Description
13d4d3b chore(deps): update actions/checkout action to v6 (#​149)
878dba5 ci: add explicit permissions to GitHub Actions workflows
e853890 build: replace deprecated pnpx with pnpm dlx
2580989 build: improve fix_whitespace.sh with parallel processing and BOM removal
c3384f6 build: update markdown tooling and fix British English spelling (#​150)
7e747e1 refactor: clean up switch and test style across core
4a6131b build: raise minimum Go to 1.24, update x/net to v0.50.0
53dca54 build: enable modernize linter
dc8f1a3 docs(testing): tighten TestCase decision rule and anti-patterns
c7cf787 test: close coverage gaps in error, stack, and slice helpers (#​152)

v0.18.5: : Percentile Calculation for Slices

Compare Source

v0.18.5: Percentile Calculation for Slices

Add percentile calculation utility for statistical analysis of ordered slices.

New Features
  • slices: Add SliceP[T Ordered](slice, p) function for percentile calculation (p in range 0.0-1.0)
    • Sorts slice in-place and returns element at p-th percentile
    • Returns zero value for empty slices or invalid p values
    • Comprehensive test coverage with 23 test cases across int, float64, and string types
Documentation
  • Enhanced function documentation with parameter constraints
  • Added usage examples for performance metrics and latency analysis
  • Documented edge case behaviour and in-place modification warnings
Use Cases

This release introduces utility for statistical analysis commonly used in performance monitoring and SLA tracking.


Full Changelog: darvaza-proxy/core@v0.18.4...v0.18.5

Related Pull Request: #​148

v0.18.4: : Testing Assertions and Documentation Improvements

Compare Source

This release enhances the testing infrastructure with new assertion functions, improves error assertion architecture, and corrects API documentation inaccuracies to match actual implementation.

Testing Enhancements
  • New assertions: Added AssertNotContain and AssertMustNotContain for negative string containment testing
  • Refactored error assertions: AssertError and AssertNoError are now independent base functions with domain-specific messaging rather than delegating to generic nil checks
  • Improved error messages:
    • AssertError produces: "expected error, got nil" (failure) or "error: %v" (success)
    • AssertNoError produces: "unexpected error: %v" (failure) or "no error" (success)
  • Enhanced coverage: Improved overall package coverage to 97.4%
Documentation Improvements
  • Fixed 25+ function signatures in README.md to match actual implementation:
    • AddrPort(v) - was incorrectly documented as AddrPort(addr, port)
    • Zero[T](_ *T) - was incorrectly documented as Zero[T]()
    • All assertion functions now correctly show name... parameter (was documented as msg...)
    • IsError family signatures corrected by removing incorrect generic parameters
  • Standardised naming: Renamed AGENT.md to AGENTS.md following project conventions
  • Updated testing documentation: Refreshed architecture hierarchy in TESTING.md and TESTING_core.md
Dependencies
  • Updated actions/setup-node to v6 in GitHub Actions workflows (#​146)
Backwards Compatibility

This release maintains complete backwards compatibility. All changes are either:

  • Additions (new AssertNotContain/AssertMustNotContain functions)
  • Internal refactoring (error assertion implementation details)
  • Documentation corrections (no behaviour changes)

Full Changelog: darvaza-proxy/core@v0.18.3...v0.18.4

v0.18.3: : Enhanced Panic Testing and Build Improvements

Compare Source

Release v0.18.3
🎯 Highlights

This release enhances the AssertPanic testing utility with intelligent type-aware matching capabilities and includes significant build system improvements for better coverage collection and reporting.

✨ Features
Enhanced Panic Testing
  • Type-aware panic validation: AssertPanic now provides different matching strategies based on the expected type.
    • nil: Accepts any panic (most common use case).
    • error: Uses errors.Is for error chain matching.
    • string: Performs substring matching for more resilient tests.
    • Recovered: Direct comparison without unwrapping.
    • Other types: Exact equality check with automatic Recovered unwrapping.
  • Improved logging: Panic assertions now include clear context in their log messages.
  • 100% test coverage: The entire testing.go file now has complete test coverage.
Build System Enhancements
  • Enhanced coverage collection: New HTML and text report generation with .tmp/coverage/ directory structure.
  • Improved Codecov integration: Better monorepo support with module-specific coverage targets.
  • Go 1.25 support: Added as the default version in CI/CD pipelines.
🔧 Improvements
Development Experience
  • Enhanced .editorconfig with comprehensive file type support.
  • Improved .gitignore with additional patterns for better repository hygiene.
  • Reorganised Makefile variable definitions for better maintainability.
  • Updated GitHub Actions to latest versions (setup-go v6, setup-node v5).
Code Quality
  • Refactored doAssertPanic helpers for cleaner implementation.
  • Simplified panic validation logic by removing the report flag.
  • Consistent use of the ok := test() pattern throughout.
  • Field-aligned test structures for memory efficiency.
⚠️ Breaking Changes
  • AssertPanic string matching: String expectations now use substring matching instead of exact equality.

    // Previously would fail, now passes:
    AssertPanic(t, func() { panic("unexpected error occurred") }, "error", "test")
  • AssertPanic error matching: Error expectations now use errors.Is semantics for chain matching.

    // Now matches wrapped errors:
    AssertPanic(t, func() { panic(fmt.Errorf("wrapped: %w", io.EOF)) }, io.EOF, "test")
📊 Statistics
  • Files changed: 16
  • Insertions: 339 lines
  • Deletions: 139 lines
  • Test coverage: 97.3% overall, 100% for testing.go
🤝 Contributors
📦 Dependencies
  • Updated actions/setup-go to v6.
  • Updated actions/setup-node to v5.
🔗 Links

This release focuses on making panic testing more intuitive and resilient whilst maintaining backward compatibility for most use cases. The enhanced type-aware matching aligns with developer expectations and reduces test brittleness.

v0.18.2

Compare Source

Release v0.18.2

This release introduces comprehensive same-ness testing utilities and significantly improves documentation patterns for the testing framework. The release focuses on enhancing the developer experience with better testing tools and clearer guidance on testing patterns.

🚀 New Features
Same-ness Testing Functions
  • IsSame() - Base function for determining same-ness with comprehensive type handling
  • AssertSame() / AssertNotSame() - Non-fatal assertion functions for same-ness testing
  • AssertMustSame() / AssertMustNotSame() - Fatal assertion functions that terminate test execution on failure

Key Capabilities:

  • Value types (numbers, strings, booleans): Same-ness means equal values.
  • Reference types (slices, maps, pointers, channels, functions): Same-ness means pointer equality to the same underlying data structure.
  • Proper nil handling: Typed nils of same type are considered same.
  • Interface support: Recursive comparison of contained values.
  • Special case handling: Zero-capacity slice optimisations, invalid reflect.Value protection.
Cross-Compatible Test Functions
  • Enhanced MockT.Run documentation with interface compatibility patterns.
  • doRun helper pattern for test functions that work with both *testing.T and MockT interfaces.
  • Type assertion fallback mechanism for graceful degradation across different testing interfaces.
📚 Documentation Improvements
TESTING.md Enhancements
  • Testing Patterns Overview clearly distinguishing TestCase interface vs t.Run() usage.
  • "When to Use TestCase Interface" with specific criteria for table-driven tests.
  • "When to Use t.Run() with Named Functions" for different test scenarios.
  • Updated terminology consistency throughout documentation.
  • British English corrections and improved formatting.
README.md Updates
  • Same-ness testing functions documentation in the Testing Utilities section.
  • Cross-Compatible Test Functions section with complete implementation examples.
  • Fatal Assertion Functions section updated with new AssertMust variants.
🔧 Code Quality Improvements
Test Suite Modernization
  • Refactored existing tests to use modern assertion patterns:
    • as_test.go: Updated to use AssertEqual for length checks
    • compounderror_test.go: Modernized with AssertSame, AssertEqual, AssertNotNil
    • errgroup_test.go: Improved with AssertSame for error instance checks
    • lists_test.go: Enhanced with AssertNotSame for independence verification
  • Consistent test case patterns applied across zero_test.go functions.
  • Fatal assertion pattern applied consistently for critical preconditions.
Enhanced Test Coverage
  • Comprehensive test suite for same-ness functions covering all scenarios.
  • MockT.Run() testing for both success and failure scenarios.
  • Coverage maintained at 97.3% with all tests passing.
🛠️ Dependencies & Infrastructure
Dependency Updates
  • golang.org/x/net updated to v0.43.0.
  • actions/checkout updated to v5 across all GitHub workflows.
Build System
  • Updated CSpell dictionary with new technical terms.
  • Enhanced GitHub Actions workflows with latest action versions.
🔍 Technical Details
Implementation Highlights
  • asReflectValue() helper to avoid duplicate reflect.ValueOf() calls.
  • isReflectValueSame() helper following established naming patterns.
  • Special handling for empty slices due to Go runtime memory optimisation.
  • Stack overflow protection in recursive interface comparisons.
  • Unsafe pointer and complex number support with comprehensive tests.
Breaking Changes

None - This is a purely additive release that maintains full backward compatibility.

📊 Statistics
  • 18 files changed: 1,323 insertions, 257 deletions.
  • 4 major features added to the testing utilities.
  • 5 GitHub workflow files updated with latest dependencies.
  • 2 comprehensive documentation overhauls (TESTING.md, README.md).
  • 150+ new test cases added for comprehensive coverage.
🎯 Impact

This release significantly enhances the testing experience for both internal development and external library users by:

  1. Providing powerful same-ness testing utilities that properly distinguish between value and reference equality.
  2. Clarifying testing patterns to help developers choose appropriate testing approaches.
  3. Modernising the existing test suite with consistent patterns and better assertions.
  4. Maintaining excellent documentation with clear examples and usage guidance.

The release maintains the library's core principles of zero external dependencies while substantially improving the developer experience for testing Go applications.

Full Changelog

Changes since v0.18.1:

  • feat(testing): add AssertMustSame/AssertMustNotSame functions (#​135)
  • feat(core): add same-ness testing functions and modernise test patterns (#​135)
  • docs(testing): clarify TestCase interface is only for table-driven tests (#​139)
  • docs(testing): document cross-compatible test function pattern (#​135)
  • test(core): refactor tests to use consistent test case pattern (#​135)
  • chore(deps): update actions/checkout action to v5 (#​137)
  • fix(deps): update module golang.org/x/net to v0.43.0 (#​136)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Aug 23, 2025

ℹ Artifact update notice

File name: generator/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated

Details:

Package Change
golang.org/x/net v0.42.0 -> v0.43.0
golang.org/x/text v0.27.0 -> v0.28.0

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Aug 23, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 23, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@renovate renovate Bot force-pushed the renovate/darvaza.org-core-0.x branch from eb67832 to 0a036ea Compare September 8, 2025 16:07
@renovate renovate Bot changed the title fix(deps): update module darvaza.org/core to v0.18.2 fix(deps): update module darvaza.org/core to v0.18.3 Sep 8, 2025
@renovate renovate Bot force-pushed the renovate/darvaza.org-core-0.x branch from 0a036ea to 02e9ac1 Compare November 1, 2025 08:11
@renovate renovate Bot changed the title fix(deps): update module darvaza.org/core to v0.18.3 fix(deps): update module darvaza.org/core to v0.18.4 Nov 1, 2025
@renovate renovate Bot force-pushed the renovate/darvaza.org-core-0.x branch from 02e9ac1 to 9e20cb1 Compare November 9, 2025 07:53
@renovate renovate Bot changed the title fix(deps): update module darvaza.org/core to v0.18.4 fix(deps): update module darvaza.org/core to v0.18.5 Nov 9, 2025
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented Dec 18, 2025

ℹ️ Artifact update notice

File name: generator/go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.23.0 -> 1.24.0
golang.org/x/net v0.42.0 -> v0.50.0
golang.org/x/text v0.27.0 -> v0.34.0
File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 2 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.23.0 -> 1.24.0
golang.org/x/net v0.43.0 -> v0.50.0
golang.org/x/text v0.28.0 -> v0.34.0

@renovate renovate Bot force-pushed the renovate/darvaza.org-core-0.x branch from 9e20cb1 to a0b2a91 Compare March 8, 2026 06:44
@renovate renovate Bot force-pushed the renovate/darvaza.org-core-0.x branch from a0b2a91 to c286c9d Compare April 8, 2026 00:32
@renovate renovate Bot force-pushed the renovate/darvaza.org-core-0.x branch from c286c9d to 212b986 Compare April 17, 2026 22:06
@renovate renovate Bot changed the title fix(deps): update module darvaza.org/core to v0.18.5 fix(deps): update module darvaza.org/core to v0.19.0 Apr 17, 2026
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.

1 participant