3.4 KiB
3.4 KiB
IronJava v1.1.0 - Production-Ready Java Parser for .NET
🎉 Release Highlights
IronJava v1.1.0 marks our first production-ready release, delivering a robust, fully-featured Java parser for the .NET ecosystem. This release completes the implementation of all core features and brings significant improvements in stability, performance, and developer experience.
🚀 What's New
Complete Parser Implementation
- Full AST Builder: Implemented comprehensive ANTLR-to-AST conversion supporting all Java 17 language constructs
- Production-Ready Parser: Fixed ~150+ compilation issues to deliver a fully functional parser
- Complete Type System: Support for all Java types including primitives, classes, interfaces, enums, and generics
JSON Serialization & Deserialization
- Bidirectional JSON Support: Complete implementation of AST serialization and deserialization
- 40+ Node Types: Full support for all AST node types in JSON format
- Round-Trip Guarantee: AST → JSON → AST preserves complete structure and source locations
.NET 9 Migration
- Latest Framework: Upgraded entire solution to .NET 9.0
- Modern C# Features: Leveraging latest language features for better performance and maintainability
- Cross-Platform: Full support for Windows, Linux, and macOS
CI/CD & DevOps
- GitHub Actions: Automated build, test, and release pipelines
- Multi-Platform Testing: Tests run on Windows, Linux, and macOS
- Automated Releases: NuGet package publishing on version tags
- Code Coverage: Integrated coverage reporting with Codecov
Developer Experience
- Comprehensive Documentation: Complete API documentation and usage examples
- 100% Test Coverage: All features thoroughly tested with 27 comprehensive test suites
📊 Key Features
- Java 17 Support: Parse modern Java code with full language feature support
- Strongly-Typed AST: Navigate Java code structure with C# type safety
- Visitor Pattern: Powerful AST traversal and analysis capabilities
- LINQ Integration: Query Java code structures using familiar LINQ syntax
- AST Transformations: Modify and refactor Java code programmatically
- Source Location Tracking: Precise line/column information for all AST nodes
- Extensible Architecture: Easy to extend with custom visitors and transformations
🔧 Technical Improvements
- Fixed all parser implementation issues
- Resolved ~150+ compilation errors in AstBuilder
- Implemented complete JSON deserialization for all node types
- Fixed binary expression parsing for left-recursive grammars
- Resolved string comparison and type compatibility warnings
- All tests passing on all platforms
📦 Installation
dotnet add package IronJava --version 1.1.0
🙏 Acknowledgments
Special thanks to all the examples throughout GitHub who helped make this release possible. IronJava is built on the excellent ANTLR4 parser generator and the Java 9 grammar from the ANTLR grammars repository.
🐛 Bug Fixes
- Fixed AST builder compilation errors
- Resolved JSON deserialization for all node types
- Fixed test expectations to match actual parser behavior
- Corrected binary expression parsing
- Fixed string comparison warnings
📚 Documentation
Full documentation available at: https://github.com/MarketAlly/IronJava
Full Changelog: https://github.com/MarketAlly/IronJava/commits/v1.1.0