Releases: vrognas/vscode-nmtran
Releases · vrognas/vscode-nmtran
Release v0.2.18
Fixed
- Memory Leaks: Fixed potential memory leaks in client and server
- Configuration change handler now properly disposed via context.subscriptions
- Document settings cache now cleared when documents close
Release v0.2.17
Changed
-
Test Framework Migration: Migrated server tests from Jest to Vitest
- Replaced Jest with Vitest v3.0.0 for faster test execution
- Added @vitest/coverage-v8 for coverage reporting
- Created
vitest.config.tswith 80% coverage thresholds - Removed Jest dependencies (
jest,ts-jest,@types/jest)
-
Test Type Safety: Added typed mock infrastructure
- Created
mocks/mockConnection.tswithMockConnectiontype and factory - Replaced all
anytyped mocks with proper TypeScript types - Added
getHoverValue()helper for type-safe hover content extraction - Zero ESLint warnings in test files (was 24)
- Created
Added
- DocumentService Tests: New comprehensive test suite for document caching
- LRU eviction behavior tests
- Cache statistics tests
Fixed
- Package Size: Improved
.vscodeignoreto exclude dev files from vsix- Excluded tsconfig files, tsbuildinfo, vitest config
- Excluded package-lock.json files and test runners
- Reduced package to 15 essential files
Release v0.2.15
Fixed
- Snippet Syntax: Fixed VSCode warning about confusing snippet variables and placeholders
- Corrected extra brace in Surge model snippet (
THETA({${3:...})→THETA(${3:...})) - Fixed
$TM_FILENAME_BASEvariable syntax in FOCEI snippet - Escaped literal
$TABLEin Xpose TABLEs snippet comment
- Corrected extra brace in Surge model snippet (
Release v0.2.14
Fixed
- Security Vulnerabilities: Resolved all npm audit vulnerabilities across root, client, and server packages
- ESLint Migration: Upgraded from ESLint v8 to v9 with flat config format (eslint.config.mjs)
Updated
- eslint: Updated from v8.57.0 to v9.18.0
- typescript-eslint: Migrated from separate @typescript-eslint/* packages to unified typescript-eslint v8.38.0
- brace-expansion: Patched ReDoS vulnerability
- diff: Patched DoS vulnerability in parsePatch/applyPatch
- js-yaml: Patched prototype pollution vulnerability
Changed
- Package Exclusions: Improved .vscodeignore to exclude dev files from vsix package
Release v0.2.13
Added
- NONMEM 7.6.0 Support: Added function highlighting for new NONMEM 7.6.0 functions (PLOG, PEXP, PSQRT, PSIGN, PSIND, PCOSD, PSIND1, PCOSD1)
- Parameter Bounds Validation: Comprehensive validation for THETA, OMEGA, and SIGMA parameter bounds syntax
- Continuation Marker Validation: Proper validation of
&continuation characters in NMTRAN code - BLOCK Matrix Validation: Enhanced validation for BLOCK matrix syntax in OMEGA and SIGMA records
- NMTRAN Parameter Examples: Added comprehensive parameter syntax reference examples for documentation
- ERR/EPS Equivalence: Full support for ERR() as synonym for EPS() parameters throughout the extension
Enhanced
- Syntax Highlighting: Improved highlighting for generated subroutines (ADVAN/TRANS combinations)
- Performance Optimization: Enhanced ERR/EPS equivalence processing for better responsiveness
- FormattingService: Refactored for improved maintainability and code organization
- Error Handling: Added structured error context and enhanced parameter validation utilities
- Test Coverage: Comprehensive test suites for NONMEM 7.6.0 features, edge cases, and validation scenarios
- Code Organization: Better utility class structure and improved parameter scanning architecture
Fixed
- Parameter Bounds: Resolved OMEGA/SIGMA parameter bounds validation edge cases
- THETA Hover: Fixed hover functionality for THETA parameters in complex syntax scenarios
- TypeScript Compliance: Resolved strict mode compliance issues for reliable builds
- Test Reliability: Fixed various test cases and TypeScript compilation errors
- Build Management: Added dist/ directory to .gitignore for cleaner repository state
- Code Quality: Fixed unused parameter lint error in ParameterScanner service
Updated
- Reserved Variables: Updated for NONMEM 7.6.0 compatibility
- Documentation: Enhanced CLAUDE.md, MAINTENANCE.md, and ARCHITECTURE.md with current practices
- Development Tools: Improved pre-release scripts and build configuration
Release v0.2.12
Enhanced
- Architecture Overhaul: Refactored extension to service-based architecture with proper dependency injection
- Modern Bundling: Implemented ESBuild bundling for improved performance and reliable dependency packaging
- Configuration Management: Added centralized configuration service with user-configurable debug settings
- Structured Logging: Professional logging service with configurable levels and consistent formatting
- Code Quality: Comprehensive improvements across maintainability, readability, performance, and testability
- Modular Design: Extracted features into dedicated services (folding, language server, parameter parsing)
- TypeScript Strict Mode: Enhanced type safety with proper null checking and strict compilation
- Error Handling: Improved error handling and recovery throughout the extension
Fixed
- TypeScript Compilation: Fixed strict mode errors in parameter parser for reliable GitHub CI builds
- Dependency Updates: Updated TypeScript ESLint packages to v8.x for better code quality enforcement
- Import Statements: Converted legacy require() calls to modern ES6 imports for better bundling
- ESLint Configuration: Enhanced rules to properly handle unused variables and caught errors
Updated
- @typescript-eslint/eslint-plugin: Updated from v6.21.0 to v8.38.0
- @typescript-eslint/parser: Updated from v6.21.0 to v8.38.0
- @types/vscode: Updated from v1.80.0 to v1.102.0
- @types/node: Updated from v20.19.9 to v22.10.2
Release v0.2.11
Fixed
- Bugfix
Release v0.2.10
Fixed
- Extension Activation: Fixed TypeScript compilation error that prevented extension from activating properly
- Go to Definition: Resolved "Cannot find module 'vscode-languageclient/node'" error that blocked parameter navigation features
Release v0.2.9
Full Changelog: v0.2.8...v0.2.9
Release v0.2.5
Full Changelog: v0.2.4...v0.2.5