Skip to content

Releases: ikelaiah/stringkit-fp

🧵 StringKit-FP v1.8.0 -- Code Quality & Beginner Experience

Choose a tag to compare

@ikelaiah ikelaiah released this 28 Nov 23:50
fb9d6ec

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

Choose a tag to compare

@ikelaiah ikelaiah released this 19 Aug 22:04
b381fec

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.TStringDynArray for 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
  • Internal consistency fixes in examples/comments (split/join, n-grams)

⬆️ Migration Notes

  • Replace any TMatchStrings with Types.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

Choose a tag to compare

@ikelaiah ikelaiah released this 12 Aug 11:35

🧵 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)