Skip to content

chore(release): v1.1.0 - #38

Merged
comnam90 merged 9 commits into
mainfrom
release/v1.1.0
Jan 21, 2026
Merged

chore(release): v1.1.0#38
comnam90 merged 9 commits into
mainfrom
release/v1.1.0

Conversation

@comnam90

Copy link
Copy Markdown
Owner

Release v1.1.0

This release includes major enhancements to the automated region maintenance system and new API endpoints.

Features

  • Automated Region Scraper: Implemented a scraping system to verify region data against official Veeam documentation.
  • Nearest Regions API: Added /api/v1/regions/nearest endpoint to find regions closest to given coordinates.
  • Region Comparison API: Added /api/v1/regions/compare endpoint for side-by-side region comparison.

Fixes

  • Scraper Logic: Fixed regex ambiguity, word reordering matching, and alias false positives in the scraper.
  • Vault Tiering: Improved detection of Vault Foundation/Advanced editions and Core/Non-Core tiers.

Data Updates

  • Added VDC for Entra ID to South Africa North and Switzerland North (Azure).
  • Added VDC for Salesforce to New Zealand North (Azure).
  • Added VDC Vault (Advanced Core) to Canada East (Azure).
  • Updated AWS region aliases for better matching.

Maintenance

  • Bumped hono version.
  • Added comprehensive tests for scraping and API logic.

comnam90 and others added 9 commits January 5, 2026 22:50
Implements the `GET /api/v1/regions/nearest` endpoint to allow discovery of cloud regions based on geographic proximity.

**Key Changes:**
- **New Endpoint:** `/api/v1/regions/nearest` returns the N closest regions to provided coordinates using Haversine distance.
- **Filtering:** Supports filtering by provider, service, tier, and edition.
- **Strict Validation:** Enforces strict rules for tier/edition filters (requires `service=vdc_vault`), now consistent across both `regions` and `regions/nearest` endpoints.
- **Refactoring:** Extracted common region filtering logic to a shared utility to eliminate duplication and ensure consistency.
- **OpenAPI:** Now exposes OpenAPI specifications in both JSON (`/api/openapi.json`) and YAML (`/api/openapi.yaml`) formats.
- **Documentation:** Updated LLM docs and implementation plans.
- **Testing:** Added comprehensive API integration tests (55 tests passing).

**Fixes:**
- Resolved build issues with `js-yaml` types.
- Fixed logic bug where tier/edition filters were applied independently instead of requiring a match on the same configuration object.
… /api/v1/regions (#18)

* Initial plan

* Initial assessment: validation already implemented, adding missing test cases

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Add comprehensive test coverage for tier/edition validation

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>
…nning (#19)

Adds a new `GET /api/v1/regions/compare` endpoint to facilitate multi-region deployment planning.

Key changes:
- Implements side-by-side service availability comparison for 2-5 regions.
- Returns detailed configuration data (editions/tiers) and high-level summary statistics.
- Adds schemas (`ServiceComparisonSchema`, `ComparisonSummarySchema`) and OpenAPI documentation.
- Adds comprehensive integration tests for the new route.
- Updates LLM documentation with usage patterns.

Closes #14
…26)

* Initial plan

* Add automated region maintenance scraper and workflow

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Add tests and documentation for automated region maintenance

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Improve error handling and filtering for scraping failures

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Add comprehensive documentation for automated region maintenance

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Address code review feedback: Update Chrome version, add parsing comment, use actions/upload-artifact@v4

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Fix scraper to parse actual Veeam helpcenter HTML structure

- Updated parseRegionTable to handle rowspan table structure
- Changed matching logic to work with region names (no codes in Veeam docs)
- All services are Azure-based per helpcenter documentation
- Successfully scrapes 89 regions across 4 services
- Found 4 legitimate missing services in existing regions
- Updated tests to match real HTML structure
- All 74 tests passing

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Refactor scraper for better code quality

- Extract GLOBAL_REGIONS_PATTERN constant
- Add isGlobalRegionMarker() helper function
- Add extractRegionNameWithoutParentheses() helper
- Add normalizeRegionText() with options for space removal
- Improve code readability and maintainability
- All tests still passing (12/12)

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Add VDC Vault region scraping from product page

- Added parseVaultFAQ() to scrape Vault FAQ page
- Parses Azure (Core/Non-Core) and AWS (Foundation/Advanced Core/Non-Core) regions
- Handles edition (Foundation/Advanced) and tier (Core/Non-Core) information
- Updated scraper to use parseVaultFAQ for vdc_vault service
- Updated comparison logic to check Vault edition/tier combinations
- Updated workflow error handling (5 services instead of 4)
- Updated documentation in README and technical docs
- Updated tests to reflect Vault scraping
- Successfully scrapes 74 Vault regions (36 Azure, 38 AWS)
- All 12 tests passing

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Improve region matching to check aliases and normalize region names

- Updated findMatchingRegion() to check aliases field in region data
- Added text normalization for common variations (European->EU, etc)
- Fixed matching for "India Central" -> "Central India" via aliases
- Fixed matching for "North Europe 1" -> "EU North 1" via aliases
- Fixed matching for "European Central 1/2" -> "EU Central 1/2" via normalization
- Reduced missing regions from 14 to 0 (all Vault regions now matched correctly)
- All 12 tests passing

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

* Address code review feedback: improve matching, escape titles, add tests

- Prioritize exact matches over substring matches to avoid false positives
- Add word boundary checking to prevent "West US" matching "West US 2"
- Escape double quotes in issue titles for gh CLI search
- Add normalization for "North Europe" -> "EU North", "South Europe" -> "EU South"
- Add test case for similar region names (West US vs West US 2)
- Maintain 0 missing regions with improved matching
- All 13 tests passing

Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: comnam90 <2719284+comnam90@users.noreply.github.com>
Bumps [hono](https://github.com/honojs/hono) from 4.11.3 to 4.11.4.
- [Release notes](https://github.com/honojs/hono/releases)
- [Commits](honojs/hono@v4.11.3...v4.11.4)

---
updated-dependencies:
- dependency-name: hono
  dependency-version: 4.11.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Fix regex ambiguity in `parseVaultFAQ` for Core/Non-Core regions.
- Improve matching logic to handle word reordering (e.g., "India Central" vs "Central India").
- Restrict alias matching to exact matches to prevent false positives.
- Fix asterisk handling in Vault FAQ to correctly identify Foundation-only tiers.
- Update AWS region aliases to match scraped names.
- Add comprehensive tests for new matching logic.
Adds missing services to Azure regions detected by the automated scraper:
- VDC for Entra ID: South Africa North, Switzerland North
- VDC for Salesforce: New Zealand North
- VDC Vault (Advanced/Core): Canada East

Closes #28, #29, #30, #36
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying veeam-data-cloud-services-map with  Cloudflare Pages  Cloudflare Pages

Latest commit: 4975fd0
Status: ✅  Deploy successful!
Preview URL: https://1a678869.veeam-data-cloud-services-map.pages.dev
Branch Preview URL: https://release-v1-1-0.veeam-data-cloud-services-map.pages.dev

View logs

@comnam90
comnam90 merged commit b15fcf1 into main Jan 21, 2026
4 checks passed
@comnam90
comnam90 deleted the release/v1.1.0 branch January 21, 2026 22:28
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.

2 participants