Releases: f5devcentral/f5-corkscrew
Releases · f5devcentral/f5-corkscrew
f5-corkscrew-1.6.1.tgz
Changed
-
Dependency Cleanup: Removed 8 unused packages
balanced-match,@types/balanced-match(replaced by custom bracket matching)decompress,@types/decompress(replaced by tar-stream)xregexp(only used by dead code)object-path,@types/object-path(replaced with inlinedeepGet)f5-conx-core(replaced with local logger)
-
Dead Code Removal: Removed ~900 lines of unused code
src/deepParse.tsdeleted entirely (~750 lines)src/tmos2json.tsdeleted (bracket matching functions unused after universal parser)- Dead functions:
uniqueList,nestedObjValue,setNestedKey,parseConfigs - Orphan test file
010_json_objects.test.ts(never ran due to naming)
-
Local Logger Enhancement: Simplified
src/logger.tswith console toggle and journal access for CLI
Fixed
- Removed broken imports in test files
f5-corkscrew-1.6.0.tgz
Added
-
Universal Parser: Full-depth recursive TMOS parser ported from tmos-converter
- Handles any nesting depth automatically
- iRule-aware bracket matching (proper TCL handling)
- Edge cases: multiline strings, pseudo-arrays, empty objects,
monitor min X of - GTM topology preprocessing
- Preserves original config in
lineproperty
-
String Input Method:
loadParseString(configText, fileName?)- Parse TMOS config directly from string (no file required)
- Ideal for MCP servers, APIs, and programmatic workflows
- Emits same events as file-based parsing
-
Discovery APIs for efficient filtering:
listPartitions(): Returns array of unique partition nameslistApps(partition?): Returns array of virtual server pathslistAppsSummary(partition?): Returns lightweight app summaries with metadata
-
Enhanced
apps()Method with filter options:apps({ partition: 'Tenant1' }): Filter by single partitionapps({ partitions: ['T1', 'T2'] }): Filter by multiple partitionsapps({ apps: ['/Common/vs1', '/T1/vs2'] }): Filter by specific app names- Backward compatible with legacy single string argument
-
New Types in models.ts:
AppsFilterOptions: Interface for apps() filter optionsAppSummary: Interface for lightweight app summaries
-
New Tests: ~41 new tests covering universal parser, string input, discovery APIs, and filter options
-
Documentation:
- PARSER_ANALYSIS.md: Technical analysis of parser implementation
- MERGE_STRATEGY.md: tmos-converter merge status and plans
- Updated CLAUDE.md with new API documentation
- Updated README.md with usage examples
Changed
- Parsing now uses universal recursive parser instead of selective deep-parse
- Config objects now have full depth (all nested properties parsed)
- Improved iRule handling with bracket-aware parsing
f5-corkscrew-1.5.0.tgz
Changed
- Updated all dependencies to latest versions
- Major updates: f5-conx-core (1.2.0), deepmerge-ts (7.1.5), fast-xml-parser (5.3.0), uuid (13.0.0), glob (11.0.3), yargs (18.0.0), mocha (11.7.4), nyc (17.1.0), eslint (9.38.0), @typescript-eslint (8.46.2)
- Moved tar package from dependencies to devDependencies (only used in tests)
- Updated TypeScript target from ES6 to ES2022
- Updated @types packages to match parent package versions
- Removed @types/glob and @types/uuid (now have built-in types)
f5-corkscrew-1.4.2.tgz
Fixed
- bug in tenants/partitions with special chars: .-_
f5-corkscrew-1.4.1.tgz
Fixed
- bug in objCounter when missing properties/objects
f5-corkscrew-1.4.0.tgz
Fixed
- fixed initial why nesting of vs rank
- fixed UCS parsing bug related to non qkview files
f5-corkscrew-1.3.0.tgz
Added
- generate and add test qkview to releases for consumption in vscode-f5 extension
- [RFE] include xml stats in extraction #15
- initial xml stats rank system to show top 10 VS and GSLB
- includes other stats for irule, asm and some lists of objects that have no stats
- initial report builder (html report) testing/dev
- full license parsing
Fixed
- added more catch statements to prevent errors (and log them) from total failures
f5-corkscrew-1.2.0.tgz
f5-corkscrew-1.1.3.tgz
Changed
- [BUG] more snatpool abstraction bug/tweaks
- log error when app abstraction encounters error