Skip to main content

Changelog

A complete history of ReportBridge releases, improvements, and milestones.

April 2026v1.9.0latest

AI Conversion Feature-Complete + Editor Extensions

  • Bedrock now PRIMARY AI for SQL conversion (Anthropic remains fallback). USE_BEDROCK=true Lambda env + IAM hardening (AmazonBedrockFullAccess + Marketplace ViewSubscriptions) + MODEL_MAP precedence reorder
  • CONV-18 — schema-strict AI-Fix r2 retry-with-allowed-columns: when a previous round failed with 'column X does not exist', the next round's prompt gets an explicit ALLOWED COLUMNS block listing the table's real columns. Closes the largest residual class (hallucinated columns)
  • CONV-19 — UNION directional cast prompt rule: 'CAST(int AS text)' not 'CAST(text AS int)' (latter fails on non-numeric strings). Closes the non-recursive UNION mismatch class
  • PG reserved-word prompt rule: type/user/order/case/default and 20+ others must be double-quoted when used as column names
  • _makeRequestOnce gains per-call timeout option (default = no timeout for backwards compatibility); AI calls pass 90000ms safety net to catch stalled connections without breaking legitimate 15-25s completions
  • Cache observability: [anthropic-usage] and [bedrock-usage] log lines emit input/output tokens + cache_read/cache_create on every successful AI response. CloudWatch metric filters in ReportBridge/Failover namespace (Attempted, Succeeded, DoubleFailure)
  • Effective conversion pass rate: 95.8% on full-corpus baseline (190 RDLs / 331 scorable datasets, up from 94.5%)
  • Editor — Live EXPLAIN feedback: debounced (800ms) inline status badge under each PG-SQL editor shows pass/fail without saving to test history
  • Editor — AI-Fix history disclosure with full per-round errors inline + 'Save Hint & Re-run AI Fix' combo button
  • Editor — Schema reference disclosure: lazy-loaded alias→table→columns map per dataset (click-to-copy)
  • Editor — Side-by-side T-SQL ↔ PostgreSQL diff with line-level annotations (same/changed/added/removed)
  • Editor — Test Preview disclosure: shows the SQL EXPLAIN actually runs (after parameter substitution) with per-param substitution mode (typed CAST vs heuristic)
  • Editor — Snippet library: 12 curated CONV-N patterns (PG reserved-word quoting, RECURSIVE keyword, UNION text-cast direction, ISNULL→COALESCE, TOP→LIMIT, CROSS APPLY→LATERAL, ROUND::NUMERIC, etc.) with click-to-copy
  • Lambda action surface: ws-test-dataset gains override_sql parameter; ws-get-schema-for-dataset and ws-preview-test-sql added
  • 1,634 automated tests passing (723 Lambda + 911 admin app)
April 2026v1.8.0stable

QA Gate & Operational Hardening

  • WAR-5 security review: 3 HIGH + 7 MEDIUM findings identified and resolved. No regressions across 5 audit rounds
  • SSRF protection hardened: isHostTrusted() uses exact JSON field match with metadata endpoint blocklist (was LIKE substring)
  • Auth failure rate limiting: per-IP counter (10/min) blocks brute force before key comparison
  • Centralized error sanitization: connection strings, bearer tokens, JWTs, and internal URLs stripped from all error responses
  • EventBridge health check every 5 minutes with SNS alerting on report server failure
  • Daily EBS snapshots via DLM lifecycle policy (retain 7) + daily pg_dump backups (retain 7 days)
  • 16-test multi-tenant isolation E2E suite: config, report, session isolation + cross-tenant write prevention. 16/16 PASS
  • Config import schema validation: 40-field whitelist strips unknown keys from imported JSON
  • [configured] sentinel rejection in write-config-v2 prevents password mask corruption
  • Tenant key cache TTL reduced from 60s to 15s for faster revocation propagation
  • 58 test org artifacts cleaned from workspace database (68 down to 7 production tenants)
  • 470+ automated tests across unit, E2E, security, tenant isolation, and visual regression suites
April 2026v1.7.0stable

Multi-Tenant Config Parity & Infrastructure

  • Report server DNS migrated from direct EC2 EIP to ALB with ACM auto-renewing SSL certificate (SNI)
  • Beta tenant config parity: 9 missing fields populated, viewer token regenerated (90-day)
  • White-label build system: REACT_APP_WHITE_LABEL flag strips all branding at build time. Verified 0 brand references in bundle
  • Multi-target deploy: separate white-label and branded build targets
  • View Report button in Report Editor: opens published report on report server in new tab after successful publish
  • Customer troubleshooting guide: 6 categories covering setup, database, conversion, publishing, viewer, and rate limiting
  • Setup Wizard E2E tests (8 tests) + visual regression tests (7 screens) added to Playwright suite
  • Hardcoded demo API URL removed from viewer source: config-driven getDemoApiUrl()
April 2026v1.6.0stable

Beta Feedback & Tenant Isolation Audit

  • 20-item beta feedback session processed: 17 fixes, 3 deferred to backlog
  • 17 Lambda queries hardened for tenant isolation: explicit instance_id via JOIN on all workspace tables
  • Ownership checks added to ws-save-param-value, ws-convert-sql, ws-fix-sql, ws-get-history
  • RLS policies created on 8 tenant tables with PostgreSQL ENABLE ROW LEVEL SECURITY (defense-in-depth)
  • WAR-31: Tenant isolation enforcement — body.instance_id always overridden to match authenticated tenant key
  • WAR-32: JWT embedded credentials with 30-day token lifetime and refresh-standalone-token endpoint
  • 14+ settings fields hidden from tenant admins in SaaS mode (saasHidden extended to Domo V2)
  • Config startup hardening: mergeConfig/sanitizeForSave prevent [configured] mask corruption, no hardcoded UUIDs
  • 370+ automated tests (up from 159): configUtils, bundleIntegrity, security, customer journey, standalone E2E
  • Standalone mode: save paths for write-config-v2/write-database-v2, first-load error handling, token persistence
March 2026v1.5.0stable

P1 Launch Features & Enterprise Hardening

  • AI models dropdown: configurable model list stored in config, supports Claude Sonnet, Haiku, and Opus
  • White-label branding: all references to 'Bold Reports' replaced with 'Report Server' across admin UI (88 replacements)
  • Read-only settings lock: 11 critical fields locked after initial setup to prevent accidental misconfiguration, with unlock button for admin override
  • Button layout reorganization: Schema Repair, Backup & Restore, Sync, and Cache Management grouped into logical sections
  • Organization-aware data: org dropdown and filtering on Dashboard, Report Library, Legacy Reports, Validation, Report Menus, and Audit Log screens
  • Customer onboarding flow: sample AdventureWorks PostgreSQL database seeded on workspace RDS with shared data sources
  • Conversion Settings tab with editable AI prompts for customizing T-SQL to PostgreSQL conversion behavior
  • Locked database entries prevent accidental deletion of production database configurations
  • 190+ reports in scope (178 published to report server) with 97% automated conversion rate
  • SSRS migration landing page and pricing page added to report-bridge.com
March 2026v1.4.0stable

Multi-Org, Infrastructure Migration & Config Resilience

  • Multi-organization support: organizations table, org selector in admin and viewer, scoped favorites and recently viewed, per-org viewer signing secrets
  • Admin access control: group-based admin permissions, access denied screen with troubleshooting, organizations management UI
  • Infrastructure migration: consolidated from three AWS accounts to a two-account model (customer data + application tier) with VPC peering
  • Workspace database migrated from Docker container to AWS RDS (PostgreSQL 16) with automated schema versioning
  • Config resilience: Settings merge-on-save prevents partial wipes, Clear All preserves bootstrap keys, Lambda cache bust endpoint
  • Config auto-refresh with stale detection and connection lost banner in admin app
  • 183 reports published to report server, 187 tracked in workspace database (up from 166 published in v1.2.0)
  • 50+ Lambda actions including 18 workspace actions, 4 multi-org actions, and SQL Server query actions
  • SaaS security Phase 1: instance_id isolation on all workspace queries, admin-sql host lockdown, instance_id locked after setup
  • Viewer enhancements: deep linking (#report=Name), favorites and recently viewed, Copy Link button
  • Custom ConfirmDialog component replaces all window.confirm across all three apps
  • Shared data source publish pipeline with DataSourceReference pattern for report server
  • Configurable report server site identifier (site1, site2, etc.) in Settings UI
  • 25 Dependabot vulnerabilities resolved — 0 remaining across all packages
  • Native 2016 RDL template generator proven with live data rendering
March 2026v1.3.0stable

Dual-Source Viewer & Legacy SQL Server Support

  • Legacy Reports screen: publish original TSQL reports directly against SQL Server — drop-in SSRS replacement with zero conversion needed
  • Unified dual-source Viewer: SQL Server and PostgreSQL reports displayed together in one categorized sidebar
  • Validation screen: side-by-side data comparison across SQL Server and PostgreSQL (row counts, sample values, visual comparison)
  • RDL rewriting for report server 2016 format: UserName/PassWord XML elements, rd:SecurityType, ReportSections wrapper, namespace upgrade
  • Admin app expanded to 8 screens: Dashboard, Report Library, Legacy Reports, Validation, Report Menus, Access Control, Audit Log, Settings
  • Domo group management: read groups directly from Domo, map to reports, enforce server-side in Viewer (fail-closed access)
  • VPC peering for SQL Server: Lambda connects to on-prem SQL Servers via cross-account VPC peering (no public exposure)
  • 655-line integration test suite validating all data flow paths against live infrastructure
  • 11 AdventureWorks demo reports (6 PostgreSQL + 5 TSQL source) on demo.report-bridge.com
  • 47 Lambda actions across rendering, publishing, SQL testing, Domo integration, administration, and AI conversion
  • Postgres-authoritative config (V2): config and databases sourced from PostgreSQL RDS with optimistic concurrency
  • Report server deployment on managed EC2 with Docker, OpenResty, and auto-renewing ACM SSL certificates
March 2026v1.2.0stable

Production Hardening

  • 97% SQL conversion pass rate (164/169 applicable reports)
  • 166 reports published and rendering in production
  • Settings save protection with config change audit trail
  • Viewer UX: resizable and pinnable sidebar, dark/light theme toggle, adjustable font size
  • Report Menus: admin-configurable report groups with drag-and-drop reordering
  • Group-based access control enforced server-side via Lambda (fail-closed: no groups = no access)
  • Credential sync: Admin writes signed tokens to Viewer Config DataSet automatically
  • Config backup and restore system for safe DataSet management
  • GitHub Actions CI: build verification, unit tests, and live infrastructure smoke tests
  • Security hardening: timing-safe API keys, CORS exact-origin matching, auth enforcement on all actions
  • SQL conversion fixes: CAST(CASE), string concatenation, quoted column refs for PostgreSQL reserved words
  • Report server: duplicate report cleanup (all reports unique, 0 duplicates)
  • AdventureWorks sample RDL files and queries for E2E testing and demos
March 2026v1.1.0stable

Architecture Migration

  • Three-account AWS model (customer data isolation)
  • Config-driven Lambda (46-column Domo Config DataSet, 4 bootstrap env vars)
  • VPC + NAT gateway for fixed outbound IP
  • Admin app: 7-tab Settings (General, Report Server, Databases, API & Network, Security, AI, Maintenance)
  • Viewer app: New Tab / Embedded mode toggle
  • OpenResty reverse proxy with HTTPS header rewriting
  • Dependabot security scanning enabled
  • Let's Encrypt SSL with auto-renewal
March 2026v1.0.0initial

Initial Release

  • AI-powered T-SQL to PostgreSQL conversion
  • Batch report conversion and publishing
  • Domo Everywhere embedding
  • Admin dashboard with 6 screens
  • Group-based access control
February 2026v0.9.0beta

Beta Release

  • Core conversion pipeline
  • Report server integration
  • Lambda API bridge
January 2026v0.8.0alpha

Alpha

  • Proof of concept
  • Single report conversion
  • Basic viewer embedding

Ready to Get Started?

Apply for the free 30-day beta trial with your own reports, or try the live demo with sample data.