Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Geoip Laravel Package

reefki/laravel-geoip

A Laravel package for IP geolocation that resolves visitors' country, city, and coordinates from their IP address, with a clean API, caching, and support for multiple GeoIP drivers so you can localize content and personalize responses.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Framework upgrade roadmap. v2.1.0 adds Laravel 13 and Symfony 8 (symfony/http-foundation) support. This package is no longer a blocker in a Laravel 13 upgrade plan — you can schedule the framework bump without first forking or replacing this dependency.
  • Build vs. buy for HTTP resilience. Retry behavior (attempt counts, backoff, retry callbacks) is deceptively fiddly and easy to get subtly wrong in-house. Adopting this package buys a maintained implementation instead of owning a bespoke retry wrapper in your service layer.
  • Reliability and observability decisions for outbound integrations. The fix in this release — retry callbacks now receive any Throwable, not just Exception — matters for how you log and alert on transient failures. Error/TypeError thrown during an outbound call now flows through your retry callback, so failure telemetry and degradation paths behave consistently instead of silently bypassing instrumentation. If you build dashboards or alerting on retry events, this is a correctness fix, not cosmetic.
  • Dependency-risk scoring in vendor/package review. The orchestra/testbench constraint broadening to ^8.0|^9.0|^10.0|^11.0 indicates the maintainer is testing across a range of recent Laravel majors rather than only the newest. That is a reasonable maintenance-health signal when deciding whether to standardize on this package across multiple services.
  • Use cases this supports well: outbound calls to third-party APIs/SaaS with expected transient failures, webhook and callback delivery, and shared internal HTTP client conventions across services.

When to Consider This Package

Consider adoption when:

  • You are on (or planning) a recent Laravel major, including Laravel 13, and want a dependency that will not pin you to an older framework.
  • Your dominant failure mode is transient — timeouts, 5xx, rate limits — and retry-with-backoff covers the bulk of it.
  • You want retry semantics standardized once rather than reimplemented per service.
  • Your stack includes Symfony HTTP abstractions and you need compatible http-foundation versions.

Look elsewhere, or plan to layer additional tooling, when:

  • You need durable or queue-based retries (retries surviving process death, with persistence and replay) — this is in-process retry behavior, not a job/queue system.
  • You need circuit breaking, bulkheads, or cross-service rate limiting as first-class features.
  • You need fine-grained failure classification beyond Throwable handling — e.g., retry policy differentiated by exception subtype at the framework's core.
  • You are pinned to an older Laravel major; the test matrix suggests a recent-major focus, so verify the constraint range against your version before committing.
  • Your outbound calls are not idempotent — retry-by-default requires deliberate idempotency keys or method allow-listing on your side, regardless of package.

How to Pitch It (Stakeholders)

For executives: This is a low-cost dependency that keeps our framework upgrade path open and reduces the surface area of a common class of production incident — flaky third-party API calls. The new release adds Laravel 13 and Symfony 8 compatibility, meaning it will not become the reason we delay a platform upgrade, and it corrects a gap where certain failure types bypassed our retry and logging hooks. Recommend keeping it as a standard dependency.

For engineering: v2.1.0 is a maintenance/forward-compatibility release: Laravel 13 support, Symfony 8 http-foundation support, a broadened orchestra/testbench matrix (^8.0|^9.0|^10.0|^11.0), and one behavioral fix — retry callbacks now accept any Throwable rather than only Exception. Treat the Throwable change as the only item requiring validation: any retry callback that assumed an Exception signature, or that used instanceof Exception as an implicit guard, should be reviewed. Nothing here is a breaking change, so the upgrade risk is low; the payoff is that framework-level errors during outbound calls are now observable and handled by our retry instrumentation instead of escaping it.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource