|
| 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 | +## [1.5.3] - 2025-10-07 |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +- Fix bad build and add validation to prevent in future |
| 13 | + |
| 14 | +## [1.5.2] - 2025-10-07 |
| 15 | + |
| 16 | +### Added |
| 17 | + |
| 18 | +- Added coverage utilities to parse v8 and type coverage reports |
| 19 | + |
| 20 | +### Fixed |
| 21 | + |
| 22 | +- Fixed `isPath` function to exclude URLs with protocols |
| 23 | +- Fixed `isolatePackage` to handle file: URLs and npm-package-arg paths correctly |
| 24 | + |
| 25 | +## [1.5.1] - 2025-10-05 |
| 26 | + |
| 27 | +### Added |
| 28 | + |
| 29 | +- Added `isolatePackage` to `lib/packages/isolation` for creating isolated package test environments |
| 30 | + |
| 31 | +### Changed |
| 32 | + |
| 33 | +- Removed `dependencies/index` barrel file to prevent eager loading of all dependency modules |
| 34 | + |
| 35 | +## [1.5.0] - 2025-10-05 |
| 36 | + |
| 37 | +### Added |
| 38 | + |
| 39 | +- Added support for testing local development packages in addition to socket-registry packages |
| 40 | +- Exposed isolation module as part of public API via `lib/packages` |
| 41 | + |
| 42 | +### Changed |
| 43 | + |
| 44 | +- Renamed `setupPackageTest` to `isolatePackage` for clearer intent |
| 45 | +- Refactored `installPackageForTesting` to accept explicit `sourcePath` and `packageName` parameters |
| 46 | +- Simplified package installation logic by removing path detection from low-level function |
| 47 | +- Consolidated `setupPackageTest` and `setupMultiEntryTest` into single `isolatePackage` function with options |
| 48 | + |
| 49 | +## [1.4.6] - 2025-10-05 |
| 50 | + |
| 51 | +### Added |
| 52 | + |
| 53 | +- Added comprehensive package.json exports validation tests |
| 54 | + |
| 55 | +## [1.4.5] - 2025-10-05 |
| 56 | + |
| 57 | +### Added |
| 58 | + |
| 59 | +- Added performance monitoring utilities with timer, measurement, and reporting functions |
| 60 | +- Added memoization utilities with LRU, TTL, weak references, and promise deduplication support |
| 61 | +- Added table formatting utilities (`formatTable`, `formatSimpleTable`) for CLI output |
| 62 | +- Added progress tracking to spinner with `updateProgress()` and `incrementProgress()` methods |
| 63 | +- Added `isDir` and `safeStats` async helpers to fs module |
| 64 | + |
| 65 | +### Changed |
| 66 | + |
| 67 | +- Removed `platform` and `arch` options from `dlxBinary` function as cross-platform binary execution is not supported |
| 68 | + |
| 69 | +### Fixed |
| 70 | + |
| 71 | +- Fixed Windows shell execution in `dlxBinary` by adding cache directory to PATH |
| 72 | + |
| 73 | +## [1.4.4] - 2025-10-05 |
| 74 | + |
| 75 | +### Fixed |
| 76 | + |
| 77 | +- Fixed subpath exports |
| 78 | + |
| 79 | +## [1.4.3] - 2025-10-04 |
| 80 | + |
| 81 | +### Added |
| 82 | + |
| 83 | +- Spinner lifecycle utilities (`withSpinner`, `withSpinnerRestore`, `withSpinnerSync`) for automatic spinner cleanup with try/finally blocks |
| 84 | + |
| 85 | +## [1.4.2] - 2025-10-04 |
| 86 | + |
| 87 | +### Added |
| 88 | + |
| 89 | +- Added `GITHUB_API_BASE_URL` constant for GitHub API endpoint configuration |
| 90 | +- Added `SOCKET_API_BASE_URL` constant for Socket API endpoint configuration |
| 91 | +- Added generic TTL cache utility (`createTtlCache`) with in-memory memoization and persistent storage support |
| 92 | + |
| 93 | +### Changed |
| 94 | + |
| 95 | +- Refactored GitHub caching to use the new `cache-with-ttl` utility for better performance and consistency |
| 96 | + |
| 97 | +## [1.4.1] - 2025-10-04 |
| 98 | + |
| 99 | +### Changed |
| 100 | + |
| 101 | +- Update maintained Node.js versions of `constants.maintainedNodeVersions` |
| 102 | + |
| 103 | +## [1.4.0] - 2025-10-04 |
| 104 | + |
| 105 | +### Added |
| 106 | + |
| 107 | +- Added `PromiseQueue` utility for controlled concurrency operations |
| 108 | +- Added lazy dependency loaders and test utilities |
| 109 | +- Added HTTP utilities with retry logic and download locking |
| 110 | +- Added `.claude` directory for scratch documents |
| 111 | +- Added `noUnusedLocals` and `noUnusedParameters` to TypeScript config |
| 112 | + |
| 113 | +### Changed |
| 114 | + |
| 115 | +- Refactored all library functions to use options objects for better API consistency |
| 116 | + - `lib/strings.ts` - String manipulation functions |
| 117 | + - `lib/url.ts` - URL handling functions |
| 118 | + - `lib/words.ts` - Word manipulation functions |
| 119 | +- Refactored `lib/packages` module into specialized submodules for improved code organization |
| 120 | + - `lib/packages/editable.ts` - Package editing functionality |
| 121 | + - `lib/packages/exports.ts` - Export resolution utilities |
| 122 | + - `lib/packages/licenses.ts` - License handling and validation |
| 123 | + - `lib/packages/manifest.ts` - Manifest data operations |
| 124 | + - `lib/packages/normalize.ts` - Path normalization utilities |
| 125 | + - `lib/packages/operations.ts` - Package installation and modification operations |
| 126 | + - `lib/packages/paths.ts` - Package path utilities |
| 127 | + - `lib/packages/provenance.ts` - Package provenance verification |
| 128 | + - `lib/packages/specs.ts` - Package spec parsing |
| 129 | + - `lib/packages/validation.ts` - Package validation utilities |
| 130 | +- Moved configuration files (vitest, eslint, knip, oxlint, taze) to `.config` directory |
| 131 | +- Replaced `fetch()` with Node.js native `http`/`https` modules for better reliability |
| 132 | +- Replaced `any` types with meaningful types across library utilities |
| 133 | +- Improved pnpm security with build script allowlist |
| 134 | +- Updated vitest coverage thresholds to 80% |
| 135 | +- Consolidated test files to reduce duplication |
| 136 | +- Note: Public API remains unchanged; these are internal organizational improvements |
| 137 | + |
| 138 | +### Fixed |
| 139 | + |
| 140 | +- Fixed resource leaks and race conditions in socket-registry |
| 141 | +- Fixed `yarn-cache-path` constant to return string type consistently |
| 142 | +- Fixed Yarn Windows temp path detection in `shouldSkipShadow` |
| 143 | +- Fixed path normalization for Windows compatibility across all path utilities |
| 144 | +- Fixed cache path tests for Windows case sensitivity |
| 145 | +- Fixed type errors in promises, parse-args, logger, and specs tests |
| 146 | +- Fixed GitHub tests to mock `httpRequest` correctly |
| 147 | +- Fixed SEA build tests to mock `httpRequest` |
| 148 | +- Decoded URL percent-encoding in `pathLikeToString` fallback |
| 149 | + |
| 150 | +## [1.3.10] - 2025-10-03 |
| 151 | + |
| 152 | +### Added |
| 153 | + |
| 154 | +- New utility modules for DLX, shadow, SEA, cacache, and versions functionality |
| 155 | +- getSocketHomePath alias to paths module |
| 156 | +- del dependency and external wrapper for safer file deletion |
| 157 | +- @fileoverview tags to lib modules |
| 158 | +- camelCase expansion for kebab-case arguments in parseArgs |
| 159 | +- Coerce and configuration options to parseArgs |
| 160 | + |
| 161 | +### Changed |
| 162 | + |
| 163 | +- Updated file removal to use del package for safer deletion |
| 164 | +- Normalized path returns in fs and Socket directory utilities |
| 165 | +- Removed default exports from git and parse-args modules |
| 166 | +- Enhanced test coverage across multiple modules (parse-args, prompts, strings, env, spawn, json) |
| 167 | + |
| 168 | +## [1.3.9] - 2025-10-03 |
| 169 | + |
| 170 | +### Changed |
| 171 | + |
| 172 | +- Internal build and distribution updates |
| 173 | + |
| 174 | +## [1.3.8] - 2025-10-03 |
| 175 | + |
| 176 | +### Added |
| 177 | + |
| 178 | +- Added unified directory structure for Socket ecosystem tools |
| 179 | +- New path utilities module for cross-platform directory resolution |
| 180 | +- Directory structure constants for Socket CLI, Registry, Firewall, and DLX |
| 181 | + |
| 182 | +## [1.3.7] - 2025-10-02 |
| 183 | + |
| 184 | +### Changed |
| 185 | + |
| 186 | +- Updated manifest.json entries |
| 187 | + |
| 188 | +## [1.3.6] - 2025-10-01 |
| 189 | + |
| 190 | +### Fixed |
| 191 | + |
| 192 | +- Fixed indent-string interoprability with older v1 and v2 versions |
| 193 | + |
| 194 | +## [1.3.5] - 2025-10-01 |
| 195 | + |
| 196 | +### Added |
| 197 | + |
| 198 | +- Added lib/git utilities module |
| 199 | + |
| 200 | +### Fixed |
| 201 | + |
| 202 | +- Fixed invalid manifest entries |
| 203 | +- Fixed parseArgs strip-aliased bug |
| 204 | + |
| 205 | +## [1.3.4] - 2025-10-01 |
| 206 | + |
| 207 | +### Changed |
| 208 | + |
| 209 | +- Updated various package override versions |
| 210 | + |
| 211 | +## [1.3.3] - 2025-10-01 |
| 212 | + |
| 213 | +### Fixed |
| 214 | + |
| 215 | +- Fixed normalizePath collapsing multiple leading `..` segments incorrectly |
| 216 | + |
| 217 | +## [1.3.2] - 2025-10-01 |
| 218 | + |
| 219 | +### Added |
| 220 | + |
| 221 | +- Added 'sfw' to isBlessedPackageName method check |
| 222 | +- Added ENV.DEBUG normalization for debug package compatibility |
| 223 | + - `DEBUG='1'` or `DEBUG='true'` automatically expands to `DEBUG='*'` (enables all namespaces) |
| 224 | + - `DEBUG='0'` or `DEBUG='false'` automatically converts to empty string (disables all output) |
| 225 | + - Namespace patterns like `DEBUG='app:*'` are preserved unchanged |
| 226 | + |
| 227 | +## [1.3.1] - 2025-09-30 |
| 228 | + |
| 229 | +### Changed |
| 230 | + |
| 231 | +- Renamed debug functions from *Complex to *Ns |
| 232 | + |
| 233 | +### Fixed |
| 234 | + |
| 235 | +- Fixed regression with lib/prompts module imports |
| 236 | + |
| 237 | +## [1.3.0] - 2025-09-29 |
| 238 | + |
| 239 | +### Changed |
| 240 | + |
| 241 | +- Updated registry subpath exports |
| 242 | + |
| 243 | +### Fixed |
| 244 | + |
| 245 | +- Fixed Node.js built-in module imports in CommonJS output |
| 246 | + |
| 247 | +## [1.2.2] - 2025-09-29 |
| 248 | + |
| 249 | +### Changed |
| 250 | + |
| 251 | +- Internal improvements to module structure |
| 252 | + |
| 253 | +## [1.2.1] - 2025-09-29 |
| 254 | + |
| 255 | +### Changed |
| 256 | + |
| 257 | +- Restructured constants module with new architecture |
| 258 | +- Updated build configuration and package exports |
0 commit comments