All notable changes to this project are documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning for release tags (vMAJOR.MINOR.PATCH.REVISION).
- Completed Netezza source search, schema/cache refresh, quoted identifier completion, and
DROPrisk handling.
- Added a Preferences option to suppress
UPDATE/DELETE/DROPconfirmation warnings.
- Updated stable NuGet package dependencies.
- Improved SQL authoring handling for legacy ampersand declarations.
- Number format presets and a modal preview for integer and decimal formats in Preferences.
- Independent editing remains available for custom .NET numeric format strings.
- Restore the Windows runtime and ReadyToRun packages before creating the self-contained release installer.
- Support for
declare &variable = SQL_RESULT[...]with substitution in identifiers and SQL string literals.
- Nested preprocessing SQL now follows the risk gate, cancellation, retained-connection, and affected-row execution paths.
- Built-in date and time variables are refreshed before SQL preprocessing.
- Preserve ghost continuation across FastColoredTextBox's intermediate clear notification while replacing an autocomplete fragment.
- Keep the regular FIM refresh path when autocomplete has no AI continuation to preserve.
- Capture the existing ghost continuation at autocomplete selection time so accepting a column cannot fall back to a newly generated suggestion.
- Preserve the existing ghost continuation after accepting a SQL autocomplete item with Tab instead of triggering a second, different completion.
- Inline FIM ghost text now follows the selected SQL autocomplete item, matching VS Code-style Tab acceptance.
- Hierarchical AST-backed SQL Outline with CTE, table, JOIN, subquery, view, procedure, and procedural block nodes.
- Source navigation, icons, parser fallback, and cached Outline refreshes.
- CTE Outline navigation now selects the definition name instead of a later query reference.
- Online Netezza DDL loading path with coverage.
- SQL execution risk gate with host confirmation port and streamlined execution UI.
- SQL authoring performance improvements for large scripts.
- Removed legacy
ObjectExplorerControlin favor of MVVM database explorer. - Schema refresh refactored through coordinator, repository modes, and editor catalog projection.
- Netezza schema refresh flags moved to
INetezzaHelperServiceand gated downloads. - Connection credentials injected via profile catalog instead of
LoginDataDic. - Editor workspace document logic centralized for tabs and docking.
- Autocomplete suggestion handling refactored across database classes.
- Netezza dynamic collection helpers renamed to
NetezzaLegacyCompletionHelpers. - FlaUI tests aligned with explorer and SQL execution refactors.
- Registered new application ports in DI and wired
BaseWindowshell dependencies.
- SQL result grid second-run behavior and virtual row metrics policy.
- Updated
.gitignoreto exclude local live-test gallery run logs.
- Pre-publish helpers:
scripts/verify-no-tracked-secrets.ps1, docs/GITHUB_PUBLISH.md. - File diagnostic logging under
%LOCALAPPDATA%\JustyBaseLegacy\logs(separate from user MessageBox notifications). - Portfolio documentation: screenshots, smoke checklist, and clearer install vs contributor build paths.
- Optional local
JustyBase.ImportExportproject reference when siblingJustyBase.NetezzaSqlcheckout is present.
- Netezza CSV fast import and related tabular export paths use the shared JustyBase.ImportExport NuGet package (legacy
FastNetezzaCsvImportandCsvFastImportUI removed). - Netezza integration tests are local-only; removed the GitHub Actions workflow and badge (hosted runners cannot reach a real database). See docs/INTEGRATION_TESTS.md.
- GitHub URLs and workflow checkouts aligned with the
justybaseorganization (including winget manifest template and installer metadata). - README testing section documents core coverage figures; CI runs the secrets verification script.
- Release workflow quality gates aligned with CI (full core test matrix and coverage threshold).
- Local JustyBase library wiring and CI coverage thresholds (≥46% blended, assembly floors for Netezza adapters and services).
- Netezza catalog/schema code refactored toward injected dependencies and shared package helpers (connection session registry, schema table catalog).
- After editing and saving a connection (including the first-run placeholder), schema refresh rebuilds the live session so a restart is no longer required.
- Failed Netezza schema download drops the stale session so the next connect/edit can retry with fresh credentials.
- Initial public release packaging (self-contained Windows x64, Inno Setup installer, ZIP).
- CI pipeline with NuGet audit, smoke test, coverage gate, and architecture tests.