Releases: ikelaiah/stringkit-fp
Release list
StringKit-FP v1.9.2
What's Changed
Full Changelog: v1.9.1...v1.9.2
StringKit-FP v1.9.1
Documentation and usability release\n\n- Adds a beginner-friendly, versioned documentation site with tutorials, recipes, API reference, and an offline archive artifact.\n- Adds compile-and-run verification for all 14 documentation examples, recipe/source synchronization checks, and built-site link validation.\n- Publishes documentation through GitHub Pages at the versioned v1.9.1 path.\n\nNo intentional public API breakage.
StringKit-FP v1.9.0
StringKit-FP v1.9.0 adds identifier-aware casing, typed fuzzy-method selection, strict Try parsing APIs, explicit percent/form URL encoding, and canonical Flesch readability APIs. It also broadens URL TLD validation, prevents empty-delimiter Split loops, and cleans compiler diagnostics. No intentional breaking changes: legacy integer fuzzy dispatch, URLEncode/URLDecode form semantics, and FleschKincaidReadability remain supported. See CHANGELOG.md and the v1.9 API Contracts documentation for migration guidance.
StringKit-FP v1.8.1
Fixes
- Corrected substring counting, empty-input similarity handling, truncation guarantees, signed number grouping, and lossless split behavior.
- Clamped Jaro and Jaro-Winkler results to the valid range.
Quality
- Added regression coverage for static and helper APIs.
- Added Ubuntu and Windows CI, including Lazarus package validation.
- Removed stale artifacts and refreshed documentation and coverage reporting.
🧵 StringKit-FP v1.8.0 -- Code Quality & Beginner Experience
Unified code style and improved documentation to make StringKit-FP more accessible and maintainable. All 144 tests pass.
✨ Highlights
- Comment Style Standards: Unified Pascal comment conventions across all source files
- Beginner Documentation: New sections in README and CONTRIBUTING for easier onboarding
- Zero Breaking Changes: Full backward compatibility maintained
- Quality Verified: All 144 tests passing (72 TStringTests + 72 TStringHelperTests)
🔧 Changes
Code Quality:
- Updated Pascal comments: // for short (1–3 lines), (* *) for longer blocks, { } for compiler directives
- Applied style consistently across all 9 source files
Documentation:
- Added "Project Philosophy" section to CONTRIBUTING.md (emphasizing beginner-friendly design and IDE support)
- Added "Working Examples" section to README.md (showcasing StringKitExample, CaseAndEncodeDemo, EncodeOnlyDemo)
- Added "Common Beginner Questions" section to README.md (answers for top usage questions)
- Updated version to 1.8.0 in README.md and Lazarus package
✅ Compatibility
- Non-breaking update
- All existing APIs remain unchanged
- Focus on code quality and documentation improvements
- Recommended upgrade for better code maintainability
StringKit-FP v1.7.0: The Complete String Toolkit
Here’s a ready-to-paste Release Note for v1.7.0.
🧵 StringKit-FP v1.7.0 -- Move to Built-in RTL Types
Updated the API and docs to use built-in Free Pascal types. Replaces custom TMatchStrings with Types.TStringDynArray across public APIs, helpers, tests, and documentation. All 144 tests pass.
✨ Highlights
- Built-in types: migrate to
Types.TStringDynArrayfor arrays of strings - Cleaner helper signatures, e.g.,
JoinWith(const Strings: TStringDynArray) - Updated README and Cheat Sheet to match new types/signatures
- No functional regressions; full test suite (144) passes
🛠 Changes
- Public API and helper methods updated to use
TStringDynArray - Docs updated:
- README examples now use
TStringDynArray - Cheat Sheet note: Split returns
TStringDynArray - CHANGELOG adds 1.7.0 with migration notes
- README examples now use
- Internal consistency fixes in examples/comments (split/join, n-grams)
⬆️ Migration Notes
- Replace any
TMatchStringswithTypes.TStringDynArray - Add Types to uses where needed
- Prefer delimiter-first instance-style join:
', '.JoinWith(Arr)
✅ Compatibility
- Non-breaking update for most users
- No behavioral changes to algorithms or utilities
- All 144 tests pass locally
📋 Requirements
- Free Pascal 3.2.2+
- Lazarus 4.0+ (for package installation)
📎 References
- CHANGELOG: 1.7.0 section with details and migration steps
- README: updated examples and version badge
StringKit-FP v1.0.0: The Complete String Toolkit
🧵 StringKit-FP v1.0.0 - Initial Release
Professional string manipulation library for Free Pascal with 90+ static methods covering:
✨ Key Features:
- Validation: Email, URL, IP, date format checking
- Transformation: Case conversion, padding, truncation
- Analysis: Readability scoring, n-gram generation, word counting
- Similarity: Levenshtein, Jaro-Winkler, Hamming distance
- Phonetic: Soundex, Metaphone algorithms
- Encoding: HTML, URL, Hex encoding/decoding
- Pattern Matching: Regex support with extraction
- Number Formatting: Roman numerals, file sizes, ordinals
🎯 Highlights:
- Zero external dependencies - pure Free Pascal RTL
- Static API - no object instantiation required
- Comprehensive test suite
- MIT licensed for commercial and open source use
📋 Requirements:
- Free Pascal 3.2.2+
- Lazarus 4.0+ (for package installation)