Releases: RenderbitTechnologies/Indos-Checker-API
Releases · RenderbitTechnologies/Indos-Checker-API
Release list
v2.1.0
What's Changed
Testing & CI
- Comprehensive PHPUnit test suite — 20 tests covering input validation, HTML parsing, exception wrapping, and DI, all with zero network calls
- GitHub Actions CI matrix running tests on PHP 8.1, 8.2, 8.3, and 8.4
- Dependabot configured for Composer and GitHub Actions
Maintenance
- Renamed package namespace from
RenderbittoRenderbitTechnologies - Renamed Composer package to
renderbit-technologies/indos-checker-api - Added MIT license
Documentation
- Full README overhaul — requirements, dependencies, project structure, usage examples, testing instructions, and CI details
- Added CI status, PHP version, and license badges
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Breaking Changes
IndosChecker is now an instance-based class. Static calls no longer work.
Before (v1.x):
IndosChecker::checkValid('05LL0262', '14/08/1963');
IndosChecker::getData('05LL0262', '14/08/1963');After (v2.0):
$checker = new \Renderbit\IndosCheckerApi\IndosChecker();
$checker->checkValid('05LL0262', '14/08/1963');
$checker->getData('05LL0262', '14/08/1963');New Features
- Dependency injection — pass a custom
GuzzleHttp\Client(e.g. with timeouts or proxies) and an optional endpoint URL to the constructor. IndosCheckerException— all network/server errors are wrapped in a single domain exception; inspectgetPrevious()for the underlying Guzzle cause.- Input validation —
InvalidArgumentExceptionis thrown immediately for an empty INDOS number or a date not inDD/MM/YYYYformat, before any network request is made.
Bug Fixes
checkValid()no longer returnstruefor error pages containing HTML tables — now checks for the presence of theINDoS No.key specifically.- Response body cast to string explicitly (
(string) $response->getBody()) rather than relying on implicit__toString()through DomCrawler. - Parsed keys and values are
trim()-ed, preventing silent lookup mismatches.
Notes
- The DGS eSamudra endpoint (
220.156.189.33) does not support HTTPS (port 443 is closed). HTTP is retained with a code comment documenting this server-side constraint.