Files
typedserver/changelog.md

41 KiB

Changelog

2025-12-04 - 7.5.0 - feat(serviceworker)

Add real-time service worker push updates and DeesComms integration (metrics, events, resource caching)

  • Integrate DeesComms push channel for real-time SW → client communication and export/consume deesComms in relevant plugin modules.
  • Add typed push message interfaces for events, metrics snapshots and resource-cached notifications in serviceworker interfaces.
  • Implement backend push methods: pushEvent, pushMetricsUpdate (with 500ms throttle) and pushResourceCached in ServiceworkerBackend.
  • Trigger push updates from MetricsCollector and PersistentStore so metrics and logged events are broadcast to connected clients.
  • Add client-side DeesComms handlers in sw-dash app: receive metrics, event logs and resource notifications; add heartbeat and initial HTTP seed to maintain SW health state.
  • Add event push listener and cleanup in sw-dash-events component to prepend incoming events and avoid leaks.
  • Expose getServiceWorkerBackend() from SW init for internal modules to call push methods.
  • Misc: implement request deduplication and various robustness improvements (throttling, heartbeat, safer polling, removed noisy debug logs).

2025-12-04 - 7.4.1 - fix(web_serviceworker)

Improve service worker persistence, metrics and caching robustness

  • Ensure persistent store is initialized before use in dashboard handlers and service worker activation/handlers (calls to persistentStore.init())
  • Make serveCumulativeMetrics async and align fetchEvent.respondWith usage (remove unnecessary Promise.resolve)
  • Change persistent WebStore database name to 'losslessServiceworkerPersistent' to separate durable store from runtime store
  • Make PersistentStore.init() more resilient: add detailed logging, avoid throwing on init failure, mark initialized to prevent retry loops, and start periodic save only after load
  • Ensure logEvent awaits initialization and adds defensive logging around reading/writing the event log
  • Add request deduplication logic and improved cache handling in CacheManager (fetchWithDeduplication usage and safer respondWith)

2025-12-04 - 7.4.0 - feat(serviceworker)

Add persistent event store, cumulative metrics and dashboard events UI for service worker observability

  • Add PersistentStore (ts_web_serviceworker/classes.persistentstore.ts) to persist event log and cumulative metrics with retention policy and periodic saving.
  • Introduce persistent event types and interfaces for event log and cumulative metrics (ts_interfaces/serviceworker.ts).
  • Log lifecycle, update, network and speedtest events to the persistent store (install, activate, update available/applied/error, network online/offline, speedtest started/completed/failed, cache invalidation).
  • Expose persistent-store APIs via typed handlers in the service worker backend: serviceworker_getEventLog, serviceworker_getCumulativeMetrics, serviceworker_clearEventLog, serviceworker_getEventCount.
  • Serve new dashboard endpoints from the service worker: /sw-dash/events (GET), /sw-dash/events/count (GET), /sw-dash/cumulative-metrics (GET) and DELETE /sw-dash/events to clear the log (handled in classes.cachemanager and classes.dashboard).
  • Add sw-dash events panel component (ts_swdash/sw-dash-events.ts) and integrate an Events tab into the dashboard UI (ts_swdash/sw-dash-app.ts, sw-dash-overview.ts shows 1h event count).
  • Reset cumulative metrics on cache invalidation and increment swRestartCount on PersistentStore.init().
  • Record speedtest lifecycle events (started/completed/failed) and include details in the event log.

2025-12-04 - 7.3.0 - feat(serviceworker)

Modernize SW dashboard UI and improve service worker backend and server tooling

  • Revamped sw-dash UI: new header/logo, uptime badge, live auto-refresh indicator, reorganized panels and improved speedtest UI and controls
  • Shared styles overhaul: new theming variables, spacing scale, badges, refined progress/pulse animations and cleaner typography
  • Dashboard internals: metrics endpoint and SPA shell updated; Lit bundle loading and table sort icon changed to ↑/↓
  • Service worker: added request deduplication (in-flight request coalescing), safer caching logic, consistent CORS/caching headers, and cache revalidation
  • Metrics: richer MetricsCollector with per-resource tracking, domain/content-type stats, speedtest metrics and better summary/stat helpers
  • Update & network managers: rate-limited update checks, debounced update/revalidation tasks, online/offline checks and improved retry/backoff logic
  • TypedServer & tooling: addRoute API for custom routes, improved HTML reload script injection, TypedSocket integration and a backend speedtest handler
  • servertools: improved static/proxy handlers (more robust path extraction, compression handling) and deprecation notice for addTypedSocket()

2025-12-04 - 7.2.0 - feat(serviceworker)

Add service worker status updates, EventBus and UI status pill for realtime observability

  • Introduce a status update protocol for service worker <-> clients (IStatusUpdate, IMessage_Serviceworker_StatusUpdate, IRequest_Serviceworker_GetStatus).
  • Add typedserver-statuspill Lit component to display backend/serviceworker/network status in the UI, with expand/collapse details and persistent/error states.
  • Wire ReloadChecker to use the new status pill: show network/backend/serviceworker status, handle online/offline events, and subscribe to service worker status broadcasts.
  • Extend ActionManager (client) with subscribeToStatusUpdates and getServiceWorkerStatus helpers; forward serviceworker_statusUpdate broadcasts to registered callbacks.
  • Serviceworker backend: add serviceworker_getStatus handler and broadcastStatusUpdate API; subscribe to EventBus lifecycle/network/update events to broadcast status changes to clients.
  • Add EventBus for decoupled service worker internal events (ServiceWorkerEvent enum, pub/sub API, history and convenience emitters).
  • Ensure proper subscribe/unsubscribe lifecycle (ReloadChecker stops SW subscription on stop).
  • Improve cache/connection status reporting integration so status updates include details like cacheHitRate, resourceCount and connected clients.

2025-12-04 - 7.1.0 - feat(swdash)

Add live speedtest progress UI to service worker dashboard

  • Introduce reactive speedtest state (phase, progress, elapsed) in sw-dash-overview component
  • Start a progress interval to animate overall test progress and estimate phases (latency, download, upload)
  • Dispatch 'speedtest-complete' event and show a brief complete state before resetting UI
  • Add helper methods for phase labels and elapsed time formatting
  • Add CSS for progress bar, shimmer animation and phase pulse to sw-dash-styles

2025-12-04 - 7.0.0 - BREAKING CHANGE(serviceworker)

Move serviceworker speedtest to time-based chunked transfers and update dashboard/server contract

  • Change speedtest protocol to time-based chunk transfers: new request types 'download_chunk' and 'upload_chunk' plus 'latency'. Clients should call chunk requests in a loop for the desired test duration.
  • IRequest_Serviceworker_Speedtest interface updated: request fields renamed/changed (chunkSizeKB, payload) and response no longer includes durationMs or speedMbps — server now returns bytesTransferred, timestamp, and optional payload.
  • TypedServer speedtest handler updated to support 'download_chunk' and 'upload_chunk' semantics and to return bytesTransferred/timestamp/payload only (removed server-side duration/speed calculation).
  • Dashboard runSpeedtest now performs time-based tests (TEST_DURATION_MS = 5000, CHUNK_SIZE_KB = 64) by repeatedly requesting chunks and computing throughput on the client side.
  • Documentation/comments updated to clarify new speedtest behavior and default chunk sizes.

2025-12-04 - 6.8.1 - fix(web_serviceworker)

Move service worker initialization to init.ts and remove exports from service worker entrypoint to avoid ESM bundle output

  • Remove exports from ts_web_serviceworker/index.ts so the service worker entrypoint does not export symbols (prevents tsbundle from producing ESM output).
  • Add ts_web_serviceworker/init.ts which initializes the ServiceWorker instance and exports getServiceWorkerInstance() for internal imports.
  • Update ts_web_serviceworker/classes.dashboard.ts to import getServiceWorkerInstance from init.ts instead of index.ts.

2025-12-04 - 6.8.0 - feat(swdash)

Add SW-Dash (Lit-based service worker dashboard), bundle & serve it; improve servertools and static handlers

  • Add a new sw-dash frontend (ts_swdash) implemented with Lit: sw-dash-app, sw-dash-overview, sw-dash-urls, sw-dash-domains, sw-dash-types, sw-dash-table, shared styles and plugin shims.
  • Wire sw-dash into build pipeline and packaging: add ts_swdash bundle to npm build script and include ts_swdash in package files.
  • Serve the dashboard bundle: add paths (swdashBundleDir / swdashBundlePath) and a built-in route (/sw-dash/bundle.js) in BuiltInRoutesController.
  • Simplify service-worker dashboard HTML output to a minimal shell that mounts and loads the module /sw-dash/bundle.js (reduces inline HTML/CSS/JS duplication).
  • Lazy-load service worker bundle and source map in servertools.tools.serviceworker and expose /sw-typedrequest endpoints for SW typed requests (including speedtest handler).
  • Enhance compression utilities and static serving: Compressor now caches compressed results, prioritizes preferred compression methods, provides safer zlib calls, and exposes createCompressionStream; HandlerStatic gained improved path resolution, Express 5 wildcard handling and optional compression flow.
  • Improve proxy/static handler path handling to be compatible with Express 5 wildcard parameters and more robust fallback logic.
  • Deprecate Server.addTypedSocket (no-op) and document recommended SmartServe/TypedServer integration for WebSocket support.
  • Various minor packaging/path updates (paths.ts, plugins exports) to support the new dashboard and bundles.

2025-12-04 - 6.7.0 - feat(web_serviceworker)

Add per-resource metrics and request deduplication to service worker cache manager

  • Introduce per-resource tracking in metrics: ICachedResource, IDomainStats, IContentTypeStats and a resourceStats map.
  • Add MetricsCollector.recordResourceAccess(...) to record hits/misses, content-type and size; provide getters: getCachedResources, getDomainStats, getContentTypeStats and getResourceCount.
  • Reset resourceStats when metrics are reset and limit resource entries via cleanupResourceStats to avoid memory bloat.
  • Add request deduplication in CacheManager (fetchWithDeduplication) to coalesce identical concurrent fetches and a periodic safety cleanup for in-flight requests.
  • Record resource accesses on cache hit and when storing new cache entries (captures content-type and body size).
  • Expose a dashboard resources endpoint (/sw-dash/resources) served by the SW dashboard to return detailed resource data for SPA views.

2025-12-04 - 6.6.0 - feat(web_serviceworker)

Enable service worker dashboard speedtests via TypedSocket, expose ServiceWorker instance to dashboard, and add server-side speedtest handler

  • Add serviceworker_speedtest typed handler in TypedServer to support download/upload/latency tests from service workers
  • Export getServiceWorkerInstance from the web_serviceworker entrypoint so other modules (dashboard) can access the running ServiceWorker instance
  • Make ServiceWorker.typedsocket and ServiceWorker.typedrouter public to allow the dashboard to create and fire TypedSocket requests
  • Update dashboard to run latency, download and upload tests over TypedSocket instead of POSTing to /sw-typedrequest
  • Deprecate legacy servertools.Server.addTypedSocket (now a no-op) and recommend using TypedServer with SmartServe integration for WebSocket support

2025-12-04 - 6.5.0 - feat(serviceworker)

Add server-driven service worker cache invalidation and TypedSocket integration

  • TypedServer: push cache invalidation messages to service worker clients (tagged 'serviceworker') before notifying frontend clients on reload
  • Service Worker: connect to TypedServer via TypedSocket; handle 'serviceworker_cacheInvalidate' typed request to clean caches and trigger client reloads
  • Web inject: add fallback to clear caches via the Cache API when global service worker helper is not available
  • Interfaces: add IRequest_Serviceworker_CacheInvalidate typedrequest interface
  • Plugins: export typedsocket in web_serviceworker plugin surface
  • Service worker connection: retry logic and improved logging for TypedSocket connection attempts

2025-12-04 - 6.4.0 - feat(serviceworker)

Add speedtest support to service worker and dashboard

  • Add serviceworker_speedtest typed request handler to measure download, upload and latency
  • Expose dashboard speedtest endpoint (/sw-dash/speedtest) and integrate runSpeedtest flow
  • Dashboard UI: add speedtest panel, run button, visual speed bars and online indicator
  • Metrics: introduce ISpeedtestMetrics and methods (recordSpeedtest, setOnlineStatus, getSpeedtestMetrics) and include speedtest data in metrics output
  • Server/tools: add typedrequest handling for speedtest in sw-typedrequest and route service worker dashboard path in CacheManager

2025-12-04 - 6.3.0 - feat(web_serviceworker)

Add advanced service worker subsystems: cache deduplication, metrics, update & network managers, event bus and dashboard

  • CacheManager: request deduplication for concurrent fetches, safer caching (preserve CORS headers), periodic in-flight cleanup and full cache cleaning API
  • Fetch handling: improved handling for same-origin vs cross-origin requests, more robust 500 debug responses when upstream fetch fails
  • UpdateManager: rate-limited update checks, offline grace period, debounced update and cache revalidation tasks, forceUpdate logic and persisted version/cache timestamps
  • NetworkManager: online/offline detection, retry/backoff, request timeouts and more resilient makeRequest implementation
  • EventBus: singleton pub/sub with history, once/onMany/onAll helpers and convenience emitters for cache/network/update events
  • MetricsCollector: comprehensive metrics for cache, network, updates and connections with helper methods and JSON/HTML dashboard endpoints (/sw-dash, /sw-dash/metrics)
  • ErrorHandler & ServiceWorkerError: structured error types, severity, context, history and helper APIs for consistent error reporting
  • ServiceWorker & backend: improved install/activate flows, clients.claim(), cache cleaning on activation, backend APIs to purge cache and trigger reloads/notifications
  • TypedServer / servertools: addRoute path pattern parsing (named params & wildcards), safer HTML injection for reload script, TypedRequest controller and service worker route helpers
  • Various safety and compatibility improvements (response cloning, header normalization, cache-control decisions, and fallback behaviors)

2025-12-04 - 6.2.0 - feat(web_serviceworker)

Add service-worker dashboard and request deduplication; improve caching, metrics and error handling

  • Add DashboardGenerator to serve an interactive terminal-style dashboard at /sw-dash and a metrics JSON endpoint at /sw-dash/metrics
  • Introduce request deduplication in CacheManager to coalesce concurrent network fetches and avoid duplicate requests
  • Add periodic cleanup for in-flight request tracking to prevent unbounded memory growth
  • Improve caching flow: preserve response headers (excluding cache-control headers), ensure CORS headers and Cross-Origin-Resource-Policy, and store response bodies as blobs to avoid locked stream issues
  • Provide clearer 500 error HTML responses for failed fetches to aid debugging
  • Integrate metrics and event emissions for network and cache operations (record request success/failure, cache hits/misses, and emit corresponding events)

2025-12-04 - 6.1.0 - feat(web_serviceworker)

Enhance service worker subsystem: add metrics, event bus, error handling, config and caching/update improvements; make client connection & polling robust

  • Introduce MetricsCollector (cache, network, update, connection) for runtime observability and APIs to retrieve metrics
  • Add EventBus singleton to emit/subscribe to internal SW events (cache hits/misses, network events, update lifecycle, connection events)
  • Add ErrorHandler and ServiceWorkerError types for consistent error classification and tracking
  • Add ServiceWorkerConfig with defaults and WebStore persistence to centralize SW settings (cache, update, network, blocked/cacheable domains)
  • CacheManager: implement request deduplication (in-flight request coalescing), periodic in-flight cleanup, record cache hit/miss metrics and safer cache storing (headers/body handling)
  • UpdateManager: rate-limited and concurrency-safe update checks, improved stale-cache handling, event emissions, debounced update and revalidation tasks, and metrics recording
  • NetworkManager: enhanced online/offline detection and robust request retries/timeouts/backoff handling
  • ServiceworkerBackend: improved client reload logic and notification handling via DeesComms and clients API
  • Serviceworker client-side: ActionManager.waitForServiceWorkerConnection now returns a structured result with timeout/retries/backoff; ServiceworkerClient gains controllable polling (AbortController), visibility-based pause/resume, manual trigger and lifecycle cleanup
  • Expose serviceworker bundle routes at both nested and root paths (/serviceworker/*splat and /serviceworker.bundle.js(.map)) in servertools
  • Add/extend typed interfaces for serviceworker metrics and connection results

2025-12-04 - 6.0.1 - fix(web_inject)

Use TypedSocket status API in web_inject and bump dependencies

  • ts_web_inject: switch from typedsocket.addTag + eventSubject to await typedsocket.setTag + statusSubject; update logging and handle 'reconnecting' status as backend connection loss
  • Await setTag call to ensure tag is applied before relying on socket state
  • Bump dependencies: @api.global/typedrequest -> ^3.1.11, @api.global/typedsocket -> ^4.1.0, @push.rocks/smartserve -> ^1.1.2

2025-12-03 - 6.0.0 - BREAKING CHANGE(servertools.Server.addTypedSocket)

Deprecate Server.addTypedSocket and upgrade typedsocket to v4; make addTypedSocket a no-op and log a deprecation warning. Bump tsbundle devDependency.

  • Upgrade dependency @api.global/typedsocket to ^4.0.0. TypedSocket v4 no longer supports attaching to an existing Express server.
  • Deprecate servertools.Server.addTypedSocket(): the method is now a no-op and emits a console.warn directing users to use TypedServer with SmartServe integration for WebSocket support.
  • Bump devDependency @git.zone/tsbundle to ^2.6.3.
  • Breaking change: any consumer code that relied on addTypedSocket to attach a WebSocket server to an existing Express instance will need to migrate to the new SmartServe/TypedServer integration.

2025-12-02 - 5.0.0 - BREAKING CHANGE(devtools)

Switch /reloadcheck endpoint from GET to POST in DevToolsController

  • Updated ts/controllers/controller.devtools.ts: decorator changed from @plugins.smartserve.Get('/reloadcheck') to @plugins.smartserve.Post('/reloadcheck').
  • Clients that previously performed GET requests against /reloadcheck must be updated to use POST. This is a breaking API change.
  • Bump major version to reflect the change in the public HTTP API.

2025-12-02 - 4.1.1 - fix(classes.typedserver)

Instantiate and register DevToolsController only when injectReload is enabled; compile ControllerRegistry routes after registration

  • DevToolsController is now created and registered only if options.injectReload is true to avoid unnecessary/invalid registrations when live reload is disabled.
  • ControllerRegistry.compileRoutes() is invoked after registering controllers to precompile decorated routes for faster route matching.

2025-12-02 - 4.1.0 - feat(TypedServer)

Integrate SmartServe controller routing; add built-in routes controller and refactor TypedServer to use controllers and FileServer

  • Add BuiltInRoutesController exposing /robots.txt, /manifest.json, /sitemap, /sitemap-news, /feed and /appversion
  • Refactor TypedRequestHandler into a SmartServe-decorated TypedRequestController and register it with ControllerRegistry
  • Refactor TypedServer to use SmartServe: register controller instances, use ControllerRegistry matching, and delegate WebSocket integration to SmartServe
  • Introduce FileServer-based static serving with HTML reload script injection and improved default root handling
  • Expand supported HTTP methods to include HEAD and OPTIONS
  • Remove legacy FeedHelper and consolidate sitemap/feed handling into controllers and helpers
  • Enhance servertools legacy Express utilities: improved HandlerProxy, HandlerStatic, Compressor with caching and preferred compression support
  • Service worker subsystem improvements: CacheManager, NetworkManager, UpdateManager and backend enhancements for robust caching, revalidation and client reloads
  • Web-inject LitElement properties switched from private fields to accessor syntax (typedserver_web.infoscreen)

2025-12-02 - 4.0.0 - BREAKING CHANGE(typedserver)

Migrate to new push.rocks packages and async smartfs API; replace smartchok with smartwatch; update deps and service worker handling

  • Major dependency updates: @push.rocks packages upgraded (smartfile -> v13, smartfs added v1.2.0, smartenv v6, smartrequest v5, smartwatch v5, webrequest v4), Express and dev-tooling bumped.
  • Replace sync smartfile APIs with async SmartFs instance (plugins.fsInstance). All file reads now use async smartfs calls.
  • smartfile v13 migration: removed sync fs helpers; added plugins.fsInstance (SmartFs + Node provider).
  • Renamed file watcher usage: Smartchok -> Smartwatch and property names updated (smartwatchInstance).
  • WebRequest class rename handled: WebRequest -> WebrequestClient (webrequest v4).
  • Service worker bundle is lazy-loaded (avoid startup sync file reads) and added routes for bundle and source map.
  • Service worker & SW-related improvements: more robust caching, enhanced cache headers, offline handling, revalidation, and update forcing logic.
  • createServeDirHash now uses smartfs.directory().recursive().treeHash() and truncates hash to 12 chars; fallback hash logic retained.
  • HandlerStatic, HandlerProxy and route handling hardened for Express 5 wildcard params (array/various shapes supported).
  • Various runtime improvements: safer start/stop handling, improved error logging, and non-blocking initialization of optional features (file watcher, TypedSocket).
  • Updated tooling/dev deps: @git.zone/tsbuild/tsbundle/tstest and @types/node updated.

2025-11-19 - 3.0.80 - fix(dependencies)

Bump dependencies and devDependencies to updated versions

  • Upgrade @push.rocks/smartfeed: ^1.0.11 → ^1.4.0
  • Upgrade @push.rocks/smartfile: ^11.2.5 → ^11.2.7
  • Upgrade @push.rocks/smartjson: ^5.0.20 → ^5.2.0
  • Upgrade @push.rocks/smartlog: ^3.1.8 → ^3.1.10
  • Upgrade @push.rocks/smartsitemap: ^2.0.3 → ^2.0.4
  • Upgrade @push.rocks/taskbuffer: ^3.1.7 → ^3.4.0
  • Upgrade @tsclass/tsclass: ^9.2.0 → ^9.3.0
  • Upgrade @types/express: ^5.0.3 → ^5.0.5
  • Dev: Upgrade @git.zone/tsbuild: ^2.6.4 → ^3.1.0
  • Dev: Upgrade @git.zone/tsbundle: ^2.5.1 → ^2.5.2
  • Dev: Upgrade @git.zone/tsrun: ^1.3.3 → ^2.0.0
  • Dev: Upgrade @git.zone/tstest: ^2.3.4 → ^2.8.2

2025-09-03 - 3.0.79 - fix(servertools)

Normalize Express wildcard parameter notation to /{*splat} across server routes and handlers; add local Claude settings

  • Replaced route pattern '/*splat' with '/{*splat}' in ts/classes.typedserver.ts and ts/servertools/tools.sslredirect.ts
  • Updated Express options route to use '/{*splat}' in ts/servertools/classes.server.ts
  • Clarified wildcard handling comments and array-join logic for splat params in ts/servertools/classes.handlerproxy.ts and ts/servertools/classes.handlerstatic.ts
  • Added .claude/settings.local.json containing local tool permissions for Claude/dev onboarding
  • No functional API changes — routing pattern normalization and comment/handler improvements only

2025-09-03 - 3.0.78 - fix(servertools)

Fix wildcard path extraction for static/proxy handlers, correct serviceworker route, add local settings and test typo fix

  • Make HandlerProxy and HandlerStatic robust to Express 5 wildcard param shapes (handle req.params.splat, numeric params, req.baseUrl and root routes) to correctly compute relative paths
  • Change serviceworker route registration to use '/serviceworker/*splat' (instead of previous pattern) for consistent wildcard handling
  • Fix test wording typo in test/test.server.ts ('exposer' -> 'expose')
  • Add .claude/settings.local.json with local tool permissions and add .serena/.gitignore to ignore /cache

2025-08-17 - 3.0.77 - fix(servertools)

Adjust route wildcard patterns and CORS handling; update serviceworker and SSL redirect patterns; bump express dependency; add local Claude settings

  • Normalize route wildcard patterns to use splat tokens (e.g. '/someroute/*' -> '/someroute/splat', '/' -> '/*splat') for consistent route matching
  • Update serviceworker route registration to '/serviceworker{.*}' and adjust related handler
  • Change SSL redirect route from '*' to '/*splat'
  • Adjust CORS preflight options path to '/*splat' and update tests to reflect new route patterns
  • Bump express dependency from ^4.21.2 to ^5.1.0
  • Add .claude/settings.local.json for local Claude tool permissions

2025-08-16 - 3.0.76 - fix(handlerproxy)

Use SmartRequest API and improve proxy/asset response handling; update tests and bump dependencies; add local project configuration files

  • Replace deprecated smartrequest.request usage with SmartRequest fluent API in ts/servertools/classes.handlerproxy.ts and add explicit handling for GET/POST/PUT/DELETE/PATCH methods.
  • Normalize proxied response body handling by using arrayBuffer()/text() and converting to Buffer to avoid body type inconsistencies.
  • Switch asset fetching in ts/utilityservers/classes.websiteserver.ts to SmartRequest + arrayBuffer for reliable binary handling.
  • Update tests (test/test.server.ts) to use SmartRequest.create() and to read response bodies via response.text(), matching the updated request API.
  • Bump dependencies: @push.rocks/smartrequest -> ^4.2.1 and body-parser -> ^2.2.0.
  • Add local project configuration files: .claude/settings.local.json and .serena/project.yml.

2025-08-16 - 3.0.75 - fix(deps)

Update dependencies, test tooling and test imports; enhance npm test script

  • Bump multiple runtime dependencies to newer patch/minor versions (notable updates: @cloudflare/workers-types, @push.rocks/* packages such as smartchok, smartfile, smartlog, smartpath, smartrx, and others, @tsclass/tsclass, @types/express, lit).
  • Upgrade dev tooling versions: @git.zone/tsbuild and @git.zone/tsbundle; update @git.zone/tstest to v2.3.4.
  • Improve npm test script by adding --verbose, --logfile and increased --timeout.
  • Fix test imports to use @git.zone/tstest/tapbundle in test/test.reload.ts and test/test.server.ts.

2025-04-12 - 3.0.74 - fix(commit-info)

chore: update commit metadata (no source code changes)

  • Uncommitted diff shows no changes in source files; the commit updates internal commit info only.

2025-04-11 - 3.0.73 - fix(metadata)

Update repository URLs and metadata to reflect the new organization scope

  • Changed gitscope from 'pushrocks' to 'api.global' in npmextra.json
  • Updated repository URL, bugs URL, and homepage in package.json to use code.foss.global/api.global/typedserver

2025-04-11 - 3.0.72 - fix(project)

chore: no changes - commit metadata update

2025-04-11 - 3.0.71 - fix(serviceworker)

Improve error handling and logging in service worker backend and network manager; update multiple dependency versions and packageManager settings.

  • Upgrade dependency versions in package.json (e.g. @cloudflare/workers-types, @push.rocks/smartfile, @push.rocks/smartpromise, @push.rocks/smartrequest, @tsclass/tsclass, and @types/express)
  • Add packageManager field to package.json
  • Enhance error handling in ServiceworkerBackend (using try/catch and detailed logging) during client reload, notification display, and alert message sending
  • Improve network request handling by clearing timeouts and converting errors reliably in NetworkManager
  • Wrap service worker install and activate event handlers with try/catch to log errors appropriately

2025-03-16 - 3.0.70 - fix(TypedServer)

Improve error handling in server startup and response buffering. Validate configuration for reload injections, wrap file watching and TypedSocket initialization in try/catch blocks, enhance client notification and stop procedures, and ensure proper Buffer conversion in the proxy handler.

  • Add validation to throw error if reload script is enabled without a serve directory
  • Wrap file watching and TypedSocket initialization in try/catch to prevent crashes during startup
  • Update the reload function to safely notify clients and handle notification errors
  • Enhance the stop procedure to aggregate cleanup tasks with error handling
  • Ensure consistent conversion of response bodies to Buffer in HandlerProxy with fallback when undefined
  • Include fallback hash generation in createServeDirHash for error resilience

2025-03-16 - 3.0.69 - fix(servertools)

Fix compression stream creation returns, handler proxy buffer conversion, and sitemap URL concatenation

  • Return compression stream immediately in createCompressionStream for each case instead of using break statements
  • Convert proxied response to a Buffer in handler proxy rather than throwing an error when it isn't a string
  • Fix addUrls method in sitemap to correctly concatenate new URLs without duplicating existing entries

2025-02-07 - 3.0.68 - fix(cache-manager)

Simplify cache control headers in cache manager

  • Removed unnecessary cache control headers while setting modern Cache-Control.

2025-02-06 - 3.0.67 - fix(serviceworker)

Enhance header security for cached resources in service worker

  • Added Cross-Origin-Resource-Policy header management for service worker cached resources.

2025-02-06 - 3.0.66 - fix(serviceworker)

Improve error handling and logging in cache manager and update manager.

  • Enhanced error handling and logging in cache management functions.
  • Corrected network request handling in update manager.
  • Added missing error handling for fetch events.

2025-02-04 - 3.0.65 - fix(readme)

Update documentation with advanced usage and examples

  • Added section on advanced usage including service worker and edge worker setup
  • Detailed integration examples for type-safe API requests and WebSocket communication
  • Expanded configuration options and cache strategies

2025-02-04 - 3.0.64 - fix(serviceworker)

Improve cache handling and response header management in service worker.

  • Addressed issue preventing caching of certain responses due to missing CORS headers.
  • Added 'Vary: Origin' header to ensure proper response handling.
  • Included 'Access-Control-Expose-Headers' for better CORS support.

2025-02-04 - 3.0.63 - fix(core)

Refactored caching strategy for service worker to improve compatibility and performance.

  • Removed hard and soft caching distinctions.
  • Simplified cache setup process.
  • Improved browser caching control headers.

2025-02-04 - 3.0.62 - fix(Service Worker)

Refactor and clean up the cache logic in the Service Worker to improve maintainability and handle Safari-specific cache behavior.

  • Refactored logic for determining cached domains, enhancing the readability and maintainability of the code.
  • Improved handling of CORS settings in caching requests, notably bypassing caching for soft cached domains in Safari to avoid CORS issues.
  • Enhanced error response creation for failed resource fetching, maintaining clarity on why and how certain resources were not fetched or cached.
  • Revised the structure of the caching logic to ensure consistent behavior across all supported browsers.

2025-02-04 - 3.0.61 - fix(ServiceWorkerCacheManager)

Fixed caching mechanism to better support Safari's handling of soft-cached domains.

  • Added logic to differentiate between hard and soft cached domains.
  • Implemented special handling for soft cached domains on Safari by bypassing caching.
  • Ensured appropriate CORS headers are present in cached responses.
  • Improved error handling with informative 500 error responses.
  • Optimized caching logic to prevent redundant caching and potential issues with locked streams on Safari.

2025-02-04 - 3.0.61 - fix(ServiceWorkerCacheManager)

Fixed caching mechanism to better support Safari's handling of soft-cached domains.

  • Added logic to differentiate between hard and soft cached domains.
  • Implemented special handling for soft cached domains on Safari by bypassing caching.
  • Ensured appropriate CORS headers are present in cached responses.
  • Improved error handling with informative 500 error responses.
  • Optimized caching logic to prevent redundant caching and potential issues with locked streams on Safari.

2025-02-04 - 3.0.61 - fix(ServiceWorkerCacheManager)

Fixed caching mechanism to better support Safari's handling of soft-cached domains.

  • Added logic to differentiate between hard and soft cached domains.
  • Implemented special handling for soft cached domains on Safari by bypassing caching.
  • Ensured appropriate CORS headers are present in cached responses.
  • Improved error handling with informative 500 error responses.
  • Optimized caching logic to prevent redundant caching and potential issues with locked streams on Safari.

2025-02-04 - 3.0.60 - fix(cachemanager)

Improve cache management and error handling

  • Updated comments for clarity and consistency.
  • Enhanced error handling in fetch event listener.
  • Optimized cache key management and cleanup process.
  • Ensured CORS headers are set for cached responses.
  • Improved logging for caching operations.

2025-02-03 - 3.0.59 - fix(serviceworker)

Fixed CORS and Cache Control handling for Service Worker

  • Improved handling of CORS settings for external requests.
  • Preserved important headers while excluding caching headers.
  • Ensured the presence of CORS headers in cached responses.
  • Adjusted Cache-Control headers to prevent browser caching but allow service worker caching.

2025-02-03 - 3.0.58 - fix(network-manager)

Refined network management logic for better offline handling.

  • Improved logic to handle missing connections more gracefully.
  • Added detailed online/offline connection status logging.
  • Implemented a check for stale cache with a grace period for offline scenarios.
  • Network requests now use optimized retries and timeouts.

2025-02-03 - 3.0.57 - fix(updateManager)

Refine cache management for service worker updates.

  • Ensured cache is forcibly updated if older than defined maximum age.
  • Implemented interval checks and forced updates for cache staleness.
  • Updated version information and cache timestamps upon forced updates or validations.

2025-02-03 - 3.0.56 - fix(cachemanager)

Adjust cache control headers and fix redundant code

  • Remove duplicate assetbroker URLs in the cache evaluation logic.
  • Update cache control headers to improve caching behavior.
  • Increase the timeout for fetch operations to improve compatibility.

2025-01-28 - 3.0.55 - fix(server)

Fix response content manipulation for HTML files with injectReload

  • Moved fileString declaration inside HTML file handling block to prevent unnecessary string conversion for non-HTML files.
  • Corrected responseContent assignment to ensure modified HTML strings are converted back to Buffer format.

2025-01-28 - 3.0.54 - fix(servertools)

Fixed an issue with compression results handling in HandlerStatic where content was always being written even if not compressed.

  • Corrected the double writing of response in HandlerStatic.
  • Ensured that file buffers are only conditionally written based on compression availability.

2024-12-26 - 3.0.53 - fix(infohtml)

Remove Sentry script and logo from HTML template

  • Removed Sentry script from the HTML template.
  • Removed Lossless GmbH logo and contact info.
  • Updated footer link to point to foss.global.

2024-12-25 - 3.0.52 - fix(dependencies)

Bump package versions in dependencies and exports.

  • Updated package dependencies to their latest versions.
  • Added './infohtml' in package exports.

2024-08-27 - 3.0.51 - fix(core)

Update dependencies and fix service worker cache manager and task manager functionalities

  • Updated dependencies in package.json to their latest versions
  • Enhanced service worker cache manager to include additional scoped URLs
  • Fixed task manager to start the task manager and added update task functionality
  • Removed .gitlab-ci.yml from the repository as part of the cleanup

2024-05-25 - 3.0.43 to 3.0.50 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.43 to 3.0.50

2024-05-23 - 3.0.37 to 3.0.42 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.37 to 3.0.42

2024-05-17 - 3.0.37 - Core

Routine update and bug fix

  • Updated core functionalities

2024-05-14 - 3.0.33 to 3.0.36 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.33 to 3.0.36

2024-05-13 - 3.0.31 to 3.0.32 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.31 to 3.0.32

2024-05-11 - 3.0.29 to 3.0.31 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.29 to 3.0.31

2024-04-19 - 3.0.27 to 3.0.28 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.27 to 3.0.28

2024-04-14 - 3.0.27 - Documentation

Updated Documentation

  • Improved and updated documentation

2024-03-01 - 3.0.25 to 3.0.26 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.25 to 3.0.26

2024-02-21 - 3.0.20 to 3.0.24 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.20 to 3.0.24

2024-01-19 - 3.0.19 to 3.0.20 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.19 to 3.0.20

2024-01-09 - 3.0.14 to 3.0.18 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.14 to 3.0.18

2024-01-08 - 3.0.11 to 3.0.13 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.11 to 3.0.13

2024-01-07 - 3.0.9 to 3.0.10 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.9 to 3.0.10

2023-11-06 - 3.0.8 to 3.0.9 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.8 to 3.0.9

2023-10-23 - 3.0.6 to 3.0.7 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.6 to 3.0.7

2023-10-20 - 3.0.5 to 3.0.6 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.5 to 3.0.6

2023-09-21 - 3.0.4 to 3.0.5 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.4 to 3.0.5

2023-08-06 - 3.0.2 to 3.0.3 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.2 to 3.0.3

2023-08-03 - 3.0.1 to 3.0.0 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 3.0.1 to 3.0.0

2023-08-03 - 2.0.65 - Core

Breaking change in core update

  • Introduced breaking changes updating core functionalities

2023-07-02 - 2.0.59 to 2.0.64 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 2.0.59 to 2.0.64

2023-07-01 - 2.0.54 to 2.0.58 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 2.0.54 to 2.0.58

2023-06-12 - 2.0.53 - Core

Routine update and bug fix

  • Updated core functionalities

2023-04-10 - 2.0.52 to 2.0.53 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 2.0.52 to 2.0.53

2023-04-04 - 2.0.49 to 2.0.51 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 2.0.49 to 2.0.51

2023-03-31 - 2.0.45 to 2.0.48 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 2.0.45 to 2.0.48

2023-03-30 - 2.0.37 to 2.0.44 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 2.0.37 to 2.0.44

2023-03-29 - 2.0.33 to 2.0.36 - Core

Routine updates and bug fixes

  • Updated core functionalities for better performance and stability in versions 2.0.33 to 2.0.36