@freshguard/freshguard-core 0.11.3 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +172 -0
- package/README.md +44 -580
- package/dist/cli/index.js +11 -11
- package/dist/cli/index.js.map +1 -1
- package/dist/connectors/base-connector.d.ts +6 -5
- package/dist/connectors/base-connector.d.ts.map +1 -1
- package/dist/connectors/base-connector.js +23 -22
- package/dist/connectors/base-connector.js.map +1 -1
- package/dist/connectors/bigquery.d.ts +3 -2
- package/dist/connectors/bigquery.d.ts.map +1 -1
- package/dist/connectors/bigquery.js +39 -23
- package/dist/connectors/bigquery.js.map +1 -1
- package/dist/connectors/duckdb.d.ts +3 -2
- package/dist/connectors/duckdb.d.ts.map +1 -1
- package/dist/connectors/duckdb.js +25 -12
- package/dist/connectors/duckdb.js.map +1 -1
- package/dist/connectors/mysql.d.ts +3 -2
- package/dist/connectors/mysql.d.ts.map +1 -1
- package/dist/connectors/mysql.js +24 -20
- package/dist/connectors/mysql.js.map +1 -1
- package/dist/connectors/postgres.d.ts +3 -2
- package/dist/connectors/postgres.d.ts.map +1 -1
- package/dist/connectors/postgres.js +34 -26
- package/dist/connectors/postgres.js.map +1 -1
- package/dist/connectors/redshift.d.ts +3 -2
- package/dist/connectors/redshift.d.ts.map +1 -1
- package/dist/connectors/redshift.js +39 -30
- package/dist/connectors/redshift.js.map +1 -1
- package/dist/connectors/snowflake.d.ts +3 -2
- package/dist/connectors/snowflake.d.ts.map +1 -1
- package/dist/connectors/snowflake.js +27 -14
- package/dist/connectors/snowflake.js.map +1 -1
- package/dist/db/index.d.ts +2 -4
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/migrate.d.ts.map +1 -1
- package/dist/db/migrate.js +5 -4
- package/dist/db/migrate.js.map +1 -1
- package/dist/errors/debug-factory.js +1 -1
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata/duckdb-storage.d.ts.map +1 -1
- package/dist/metadata/duckdb-storage.js +3 -2
- package/dist/metadata/duckdb-storage.js.map +1 -1
- package/dist/metadata/factory.d.ts.map +1 -1
- package/dist/metadata/factory.js +2 -1
- package/dist/metadata/factory.js.map +1 -1
- package/dist/metadata/postgresql-storage.js +11 -11
- package/dist/metadata/postgresql-storage.js.map +1 -1
- package/dist/metadata/schema-config.js +5 -5
- package/dist/metadata/types.d.ts +1 -1
- package/dist/metadata/types.d.ts.map +1 -1
- package/dist/monitor/baseline-calculator.d.ts.map +1 -1
- package/dist/monitor/baseline-calculator.js +3 -5
- package/dist/monitor/baseline-calculator.js.map +1 -1
- package/dist/monitor/baseline-config.js +7 -7
- package/dist/monitor/freshness.d.ts.map +1 -1
- package/dist/monitor/freshness.js +4 -4
- package/dist/monitor/freshness.js.map +1 -1
- package/dist/monitor/schema-baseline.js +1 -1
- package/dist/monitor/schema-changes.d.ts.map +1 -1
- package/dist/monitor/schema-changes.js +7 -6
- package/dist/monitor/schema-changes.js.map +1 -1
- package/dist/monitor/volume.d.ts.map +1 -1
- package/dist/monitor/volume.js +2 -2
- package/dist/monitor/volume.js.map +1 -1
- package/dist/observability/logger.d.ts +4 -4
- package/dist/observability/logger.d.ts.map +1 -1
- package/dist/observability/logger.js +13 -13
- package/dist/observability/logger.js.map +1 -1
- package/dist/observability/metrics.d.ts.map +1 -1
- package/dist/observability/metrics.js +15 -10
- package/dist/observability/metrics.js.map +1 -1
- package/dist/resilience/circuit-breaker.d.ts.map +1 -1
- package/dist/resilience/circuit-breaker.js +14 -13
- package/dist/resilience/circuit-breaker.js.map +1 -1
- package/dist/resilience/retry-policy.js +15 -15
- package/dist/resilience/retry-policy.js.map +1 -1
- package/dist/resilience/timeout-manager.d.ts.map +1 -1
- package/dist/resilience/timeout-manager.js +5 -8
- package/dist/resilience/timeout-manager.js.map +1 -1
- package/dist/security/query-analyzer.js +5 -5
- package/dist/security/query-analyzer.js.map +1 -1
- package/dist/security/schema-cache.js +4 -4
- package/dist/types/connector.d.ts.map +1 -1
- package/dist/types/connector.js.map +1 -1
- package/dist/types/driver-results.d.ts +24 -0
- package/dist/types/driver-results.d.ts.map +1 -0
- package/dist/types/driver-results.js +12 -0
- package/dist/types/driver-results.js.map +1 -0
- package/dist/validation/runtime-validator.d.ts +3 -3
- package/dist/validation/runtime-validator.d.ts.map +1 -1
- package/dist/validation/runtime-validator.js +5 -5
- package/dist/validation/runtime-validator.js.map +1 -1
- package/dist/validation/sanitizers.d.ts.map +1 -1
- package/dist/validation/sanitizers.js +19 -7
- package/dist/validation/sanitizers.js.map +1 -1
- package/dist/validation/schemas.d.ts.map +1 -1
- package/dist/validation/schemas.js +7 -7
- package/dist/validation/schemas.js.map +1 -1
- package/dist/validators/index.d.ts.map +1 -1
- package/dist/validators/index.js +4 -4
- package/dist/validators/index.js.map +1 -1
- package/package.json +27 -7
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Documentation site with versioned API reference
|
|
12
|
+
|
|
13
|
+
## [0.12.0] - 2026-02-10
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- Security linting enforced in CI pipeline
|
|
17
|
+
- ESLint security plugins (`eslint-plugin-no-secrets`, `eslint-plugin-security`)
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Updated all dependencies to latest versions
|
|
21
|
+
|
|
22
|
+
## [0.11.3] - 2026-02-07
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- Updated dependencies and bumped version
|
|
26
|
+
|
|
27
|
+
## [0.11.2] - 2026-02-01
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
- Comprehensive `SECURITY.md` with threat model documentation
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- Override `fast-xml-parser` to address CVE-2026-25128
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
- Migrated repository from `thias-se` to `freshguard-dev` organization
|
|
37
|
+
|
|
38
|
+
## [0.11.1] - 2026-01-28
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
- Documentation overhaul — README and docs updated to reflect actual project state
|
|
42
|
+
|
|
43
|
+
## [0.11.0] - 2026-01-27
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
- **MySQL connector** (`MySQLConnector`)
|
|
47
|
+
- **Amazon Redshift connector** (`RedshiftConnector`)
|
|
48
|
+
|
|
49
|
+
## [0.10.0] - 2026-01-27
|
|
50
|
+
|
|
51
|
+
### Added
|
|
52
|
+
- **Schema change monitoring** (`checkSchemaChanges`) — detect added, removed, and modified columns
|
|
53
|
+
- Configurable adaptation modes: `auto`, `manual`, `alert_only`
|
|
54
|
+
- Monitoring modes: `full` (all columns) and `partial` (selected columns)
|
|
55
|
+
- Schema baseline management and persistence via metadata storage
|
|
56
|
+
|
|
57
|
+
## [0.9.1] - 2026-01-27
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
- Security query patterns updated to support new Connector interface operations
|
|
61
|
+
- Resolved pnpm security vulnerabilities in CI workflows
|
|
62
|
+
|
|
63
|
+
## [0.9.0] - 2026-01-26
|
|
64
|
+
|
|
65
|
+
### Changed
|
|
66
|
+
- **BREAKING**: Monitoring functions (`checkFreshness`, `checkVolumeAnomaly`) now accept a `Connector` interface instead of raw database connections. Update call sites to pass a connector instance.
|
|
67
|
+
|
|
68
|
+
## [0.8.0] - 2026-01-26
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
- Comprehensive debug mode for enhanced developer experience when troubleshooting monitoring pipelines
|
|
72
|
+
|
|
73
|
+
## [0.7.0] - 2026-01-25
|
|
74
|
+
|
|
75
|
+
### Added
|
|
76
|
+
- Configurable PostgreSQL schema support (custom schema names)
|
|
77
|
+
- Enhanced baseline calculation for freshness monitoring
|
|
78
|
+
|
|
79
|
+
## [0.6.0] - 2026-01-24
|
|
80
|
+
|
|
81
|
+
### Added
|
|
82
|
+
- **Metadata storage abstraction** — `MetadataStorage` interface with DuckDB and PostgreSQL backends
|
|
83
|
+
- `createMetadataStorage()` factory for zero-setup self-hosting
|
|
84
|
+
- Historical execution tracking for volume anomaly detection
|
|
85
|
+
|
|
86
|
+
## [0.5.2] - 2026-01-23
|
|
87
|
+
|
|
88
|
+
### Fixed
|
|
89
|
+
- Multiline SQL validation no longer rejects legitimate queries
|
|
90
|
+
|
|
91
|
+
## [0.5.1] - 2026-01-23
|
|
92
|
+
|
|
93
|
+
### Fixed
|
|
94
|
+
- PostgreSQL multiline query pattern matching bug
|
|
95
|
+
|
|
96
|
+
## [0.5.0] - 2026-01-23
|
|
97
|
+
|
|
98
|
+
### Added
|
|
99
|
+
- Integration test infrastructure with real database setup (`docker-compose.test.yml`)
|
|
100
|
+
|
|
101
|
+
## [0.4.2] - 2026-01-22
|
|
102
|
+
|
|
103
|
+
### Added
|
|
104
|
+
- `BigQueryConnector` and `SnowflakeConnector` exported from public API
|
|
105
|
+
|
|
106
|
+
## [0.4.1] - 2026-01-22
|
|
107
|
+
|
|
108
|
+
### Fixed
|
|
109
|
+
- `pino-pretty` made an optional dependency with graceful fallback
|
|
110
|
+
|
|
111
|
+
## [0.3.0] - 2026-01-22
|
|
112
|
+
|
|
113
|
+
### Added
|
|
114
|
+
- Comprehensive security hardening for database connectors (Phase 1 & 2)
|
|
115
|
+
- SQL injection protection and query validation
|
|
116
|
+
- Input sanitization and identifier validation
|
|
117
|
+
- Error sanitization (no credential leakage)
|
|
118
|
+
- Circuit breaker, retry, and timeout protection
|
|
119
|
+
- Error classes exported from main module API (`SecurityError`, `ConnectionError`, `TimeoutError`, `QueryError`, `ConfigurationError`, `MonitoringError`)
|
|
120
|
+
- SBOM generation and cosign package signing in publish workflow
|
|
121
|
+
|
|
122
|
+
## [0.2.0] - 2026-01-21
|
|
123
|
+
|
|
124
|
+
### Added
|
|
125
|
+
- **BigQuery connector** (`BigQueryConnector`)
|
|
126
|
+
- **Snowflake connector** (`SnowflakeConnector`)
|
|
127
|
+
|
|
128
|
+
## [0.1.2] - 2026-01-21
|
|
129
|
+
|
|
130
|
+
### Fixed
|
|
131
|
+
- Ensure pnpm is available during npm publish
|
|
132
|
+
- Enable automatic release notes in CI
|
|
133
|
+
|
|
134
|
+
## [0.1.1] - 2026-01-21
|
|
135
|
+
|
|
136
|
+
### Fixed
|
|
137
|
+
- CI/CD publishing workflow fixes for npm trusted publishing
|
|
138
|
+
|
|
139
|
+
## [0.1.0] - 2026-01-21
|
|
140
|
+
|
|
141
|
+
### Added
|
|
142
|
+
- Initial release
|
|
143
|
+
- **Freshness monitoring** (`checkFreshness`) — detect stale data based on timestamp columns
|
|
144
|
+
- **Volume anomaly detection** (`checkVolumeAnomaly`) — identify unexpected row count changes
|
|
145
|
+
- **PostgreSQL connector** (`PostgresConnector`)
|
|
146
|
+
- **DuckDB connector** (`DuckDBConnector`)
|
|
147
|
+
- CLI tool (`freshguard` command)
|
|
148
|
+
- Drizzle ORM database schema and migrations
|
|
149
|
+
- MIT license
|
|
150
|
+
|
|
151
|
+
[Unreleased]: https://github.com/freshguard-dev/freshguard-core/compare/v0.12.0...HEAD
|
|
152
|
+
[0.12.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.3...v0.12.0
|
|
153
|
+
[0.11.3]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.2...v0.11.3
|
|
154
|
+
[0.11.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.1...v0.11.2
|
|
155
|
+
[0.11.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.11.0...v0.11.1
|
|
156
|
+
[0.11.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.10.0...v0.11.0
|
|
157
|
+
[0.10.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.9.1...v0.10.0
|
|
158
|
+
[0.9.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.9.0...v0.9.1
|
|
159
|
+
[0.9.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.8.0...v0.9.0
|
|
160
|
+
[0.8.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.7.0...v0.8.0
|
|
161
|
+
[0.7.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.6.0...v0.7.0
|
|
162
|
+
[0.6.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.5.2...v0.6.0
|
|
163
|
+
[0.5.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.5.1...v0.5.2
|
|
164
|
+
[0.5.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.5.0...v0.5.1
|
|
165
|
+
[0.5.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.4.2...v0.5.0
|
|
166
|
+
[0.4.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.4.1...v0.4.2
|
|
167
|
+
[0.4.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.3.0...v0.4.1
|
|
168
|
+
[0.3.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.2.0...v0.3.0
|
|
169
|
+
[0.2.0]: https://github.com/freshguard-dev/freshguard-core/compare/v0.1.2...v0.2.0
|
|
170
|
+
[0.1.2]: https://github.com/freshguard-dev/freshguard-core/compare/v0.1.1...v0.1.2
|
|
171
|
+
[0.1.1]: https://github.com/freshguard-dev/freshguard-core/compare/v0.1.0...v0.1.1
|
|
172
|
+
[0.1.0]: https://github.com/freshguard-dev/freshguard-core/releases/tag/v0.1.0
|