Files
gitops/changelog.md

4.1 KiB

Changelog

2026-02-24 - 2.3.0 - feat(storage)

add StorageManager and cache subsystem; integrate storage into ConnectionManager and GitopsApp, migrate legacy connections, and add tests

  • Add StorageManager with filesystem and memory backends, key normalization, atomic writes and JSON helpers (getJSON/setJSON).
  • ConnectionManager now depends on StorageManager, persists each connection as /connections/.json, and includes a one-time migration from legacy .nogit/connections.json.
  • Introduce cache subsystem: CacheDb (LocalTsmDb + Smartdata), CacheCleaner, CachedDocument and CachedProject for TTL'd cached provider data, plus lifecycle management in GitopsApp.
  • GitopsApp now initializes StorageManager, wires ConnectionManager to storage, starts/stops CacheDb and CacheCleaner, and uses resolved default paths via resolvePaths.
  • Export smartmongo and smartdata in plugins and add corresponding deps to deno.json.
  • Add comprehensive tests: storage unit tests, connection manager integration using StorageManager, and a tsmdb + smartdata spike test.

2026-02-24 - 2.2.1 - fix(ts_bundled)

add generated bundled JavaScript and source map for ts build (bundle.js and bundle.js.map)

  • Added ts_bundled/bundle.js (≈168 KB) - compiled/bundled output from ts sources
  • Added ts_bundled/bundle.js.map (≈309 KB) - source map referencing ../ts/index.ts and ../ts_web/index.ts
  • This is generated build output (deno bundle) and does not change runtime API

2026-02-24 - 2.2.0 - feat(opsserver)

Serve bundled frontend from a dedicated dist_serve directory and update frontend UI/packaging

  • Serve static site using UtilityWebsiteServer with serveDir set to ./dist_serve and pass port into server.start()
  • Update bundler config: output bundle to ./dist_serve/bundle.js, change outputMode to 'bundle', and include html/index.html
  • Move root index.html into html/index.html and update .gitignore to ignore dist_serve/ (replace ts_bundled)
  • Frontend enhancements: add iconName to view tabs and resolvedViewTabs, add Lucide icons for each tab, replace manual stats markup with dees-statsgrid using IStatsTile tiles
  • Adjust shared CSS: center content, set max-width 1280px and adjust padding
  • Add npm test script and rename/update tests (test.basic.ts -> test.basic_test.ts)

2026-02-24 - 2.1.0 - feat(opsserver)

switch to TypedServer and serve bundled UI assets; add index.html; update bundling output and dev watch configuration

  • Replace UtilityWebsiteServer with TypedServer and load bundledContent from ts_bundled/bundle.ts; enable cors, spaFallback, injectReload, watch, and compression
  • Add a minimal index.html SPA entry and include it in the bundle so it is served from the bundled assets
  • Change tsbundle output to ./ts_bundled/bundle.ts with outputMode 'base64ts' and includeFiles ['./index.html']
  • Add a tswatch bundle config and replace the previous watcher with a backend watcher that runs the server via 'deno run --allow-all mod.ts server' (restart enabled)
  • Bump devDependency @git.zone/tswatch from ^2.3.13 to ^3.1.0 and update .gitignore to ignore ts_bundled/

2026-02-24 - 2.0.0 - BREAKING CHANGE(providers)

switch GitLab and Gitea providers to use @apiclient.xyz client libraries and export clients via plugins

  • Add new dependencies: @apiclient.xyz/gitea@^1.0.3 and @apiclient.xyz/gitlab@^2.0.3 in deno.json
  • Export giteaClient and gitlabClient from ts/plugins.ts
  • Refactor GiteaProvider to use plugins.giteaClient.GiteaClient for all API interactions and update mapping types/fields
  • Refactor GitLabProvider to use plugins.gitlabClient.GitLabClient for all API interactions and update mapping types/fields
  • Remove BaseProvider.apiFetch helper and setAuthHeader abstract method (breaking change to BaseProvider API)
  • Adjust mapping logic: simplify Gitea visibility, change group name/path and webUrl construction, update GitLab topics and projectCount handling

2026-02-24 - 1.0.0 - initial release

Initial commit and first release of the project.

  • Project initialized with the initial codebase and repository scaffold.
  • Base files and basic configuration added.
  • Tagged first release as 1.0.0.