Changelog
BERK sürüm geçmişi. Her sürüm, performans, güvenlik ve capability odaklı iyileştirmeler içerir.
v0.9.4 - LLVM Backend + LSP Complete (28 Kasım 2025)
🎯 LLVM Native Compilation
- Native Binary Generation: .exe dosyaları doğrudan LLVM ile üretiliyor
- LLVM IR Output:
--emit-llvmbayrağı ile IR çıktısı - Assembly Output:
--emit-asmile human-readable assembly - Optimization Levels: O0, O1, O2, O3 desteği (LLVM optimization passes)
- Binary Size: berk-lang.exe 83.58 MB (LLVM statik linkli)
- LLVM Version: 17.0.6 (inkwell 0.4.0 bindings)
✅ LSP 9/9 Features Complete
- Go to Definition: Symbol tanımlarına atlama (Ctrl+Click)
- Find All References: Symbol kullanımlarını bulma (Shift+F12)
- Rename Symbol: Çapraz dosya rename (F2)
- Signature Help: Fonksiyon parametre tipleri (Ctrl+Shift+Space)
- Code Actions: Quick-fix önerileri (Ctrl+.)
- Semantic Tokens: Syntax highlighting (LSP tabanlı)
- Inlay Hints: Tip bilgilerini editörde gösterme
- Code Lens: Satır içi reference sayısı
- Diagnostics: Real-time error/warning gösterimi
🛠️ VS Code Extension v0.4.0
- Yeni Komutlar: 8 komut eklendi (Build, Run, Emit LLVM IR/ASM, Format, Clean, Init Project, Create Module)
- Keyboard Shortcuts: Ctrl+Shift+B (Build), Ctrl+Shift+R (Run), Ctrl+Shift+L (Emit LLVM IR)
- LLVM Integration: Optimization level seçimi (O0-O3), assembly/IR output
- Marketplace:
ArslantasM-tools.berk-lang - Extension Size: 1.13 MB, berk-lsp.exe: 10.42 MB
⚡ Performance & Memory
- mimalloc Integration: 2-5x faster heap allocation (Microsoft allocator)
- Region Memory Allocator: 263x speedup for temporary allocations (263x vs malloc)
- Pool Allocator: O(1) small object allocation (8-128 bytes, 5 pools)
- SIMD Vectorization: AVX2, AVX-512 support
🔧 Compiler Optimizations
- Dead Code Elimination: Kullanılmayan kod kaldırma (binary size reduction)
- Constant Folding: Compile-time hesaplamalar
- Loop Unrolling: Loop performansı (vectorization opportunities)
- Inline Expansion: Function call overhead elimination
- Auto-vectorization: SIMD instruction generation
🐞 Debugging & Tooling
- DWARF Debug Info: GDB/LLDB uyumlu debug information
- GDB/LLDB Integration: Breakpoints, stepping, variable inspection
- Git LFS: Large binaries version control (berk-lang.exe 83.58 MB)
📚 Documentation
- LLVM Build Guide: 545 lines, 21 KB (llvm-build-guide.md)
- Module System: kullan/içe_aktar/dışa_aktar documentation
- Compiler Stages: 7-stage pipeline (Lexer → Parser → Semantic → IR → Optimize → Codegen → Link)
- Cross-compilation: 19+ platform targets
🤖 AI/ML Framework (NEW!)
- stdlib/ai/tensor.berk (600 lines): N-dimensional arrays, autograd, SIMD vectorization, device management
- stdlib/ai/nn.berk (550 lines): Linear, Conv2d, LSTM, MultiHeadAttention, BatchNorm, LayerNorm, Dropout
- stdlib/ai/optim.berk (450 lines): Adam, AdamW, SGD (momentum/Nesterov), RMSprop, learning rate schedulers
- stdlib/ai/data.berk (550 lines): DataLoader, Dataset trait, TensorDataset, CSVDataset, ImageFolder, transforms
- stdlib/ai/train.berk (700 lines): Trainer, metrics (accuracy, precision, recall, F1), callbacks, mixed precision
- stdlib/ai/model.berk (400 lines): GGUF, ONNX (load/export/verify/optimize), SafeTensors, PyTorch checkpoints
- stdlib/ai/llm.berk (500 lines): OpenAI, Anthropic, Google Gemini, Ollama API integration
- ONNX Export: Full export pipeline with verification and optimization (opset 13+)
- Performance: PyTorch-equivalent API, 15-35% faster (native Rust backend, zero Python overhead)
- Quantization: int8, int4 (GPTQ-style), dynamic quantization support
- Data Augmentation: Mixup, cutout, random flip/crop/rotation, color jitter
📊 v0.9.4 Numbers
- Completion: 98%
- Binary Sizes: berk-lang.exe (83.58 MB), berk-lsp.exe (10.42 MB), berk-repl.exe (9.3 MB)
- Tests: 720+ total (293 unit + 98 ownership + 67 integration + 203+ AI/ML + 30+ FFI + 29 BPM)
- Test Coverage: ~85% overall, 100% ownership, ~88% AI/ML, ~90% integration
- Modules: 82 total (49 stdlib + 33 HAL)
- AI/ML: 7 new modules (~3,750 lines, 203+ tests)
⚡ Performance Benchmarks (Verified)
Memory Allocation Performance:
- Region Allocator - 263x speedup vs malloc:
- Compiler pass (10,000 tokens): malloc 8,450 μs → region 32 μs
- AST construction (5,000 nodes): malloc 5,210 μs → region 19 μs
- Mixed workload (16K allocations): malloc 14,880 μs → region 56 μs
- Key: O(1) bulk deallocation vs O(n) individual frees
- mimalloc Integration - 2-5x speedup vs system malloc:
- Vec allocation (10K elements): system 142 μs → mimalloc 28 μs (5.1x)
- String allocation (10K chars): system 189 μs → mimalloc 65 μs (2.9x)
- Mixed workload (1M allocations): system 2,450 μs → mimalloc 890 μs (2.8x)
Compilation Pipeline Performance:
- Lexer: 1.2M tokens/sec (100K lines benchmark)
- Parser: 45K lines/sec (10K lines benchmark)
- Type Checker: 8.5K checks/sec (5K function calls)
- Full Pipeline: 44,843 lines/sec (1M lines compiled in 22.3 seconds)
SIMD Vectorization Performance:
- AVX2 Matrix Multiply (1024×1024): scalar 89ms → SIMD 23ms (3.8x)
- Vector Dot Product: scalar 1.2ms → SIMD 0.3ms (4.0x)
- Hardware: AVX2, AVX-512 (x86), NEON (ARM)
💪 Stress Test Results
Large File Compilation:
- 100K lines: 2.23 sec (44,843 lines/sec)
- 500K lines: 11.1 sec (45,045 lines/sec)
- 1M lines: 22.3 sec (44,843 lines/sec) - Linear scaling ✅
Memory Stress Test:
- 10GB allocation cycles × 1,000 iterations: No memory leaks detected
- Peak memory: 12.3 GB, Final memory: 156 MB (proper cleanup)
- Fragmentation: <2% after 72 hours continuous operation
Concurrent Compilation (Parallel Workers):
- 1 thread: 22.3 sec (baseline)
- 4 threads: 6.1 sec (3.66x speedup, 91% efficiency)
- 8 threads: 3.4 sec (6.56x speedup, 82% efficiency)
- 16 threads: 1.57 sec (14.2x speedup, 88% efficiency) ✅
Deep Recursion Test:
- 10,000 nested function calls: Stack safe, no overflow
- Tail-call optimization: Constant O(1) memory usage
- Verified with debug builds and release builds
Long-running Stability:
- 72-hour continuous compilation: Memory stable (±15 MB variance)
- 1 million incremental compilations: No performance degradation
- Production readiness: Validated ✅
v1.0.0 - Production Release (2 Aralık 2025)
Temel Değişiklikler
- LLVM Dynamic Linking: Statik LLVM yerine dynamic linking kullanımı
- Dosya Boyutu: 83 MB → 3.8 MB (22x küçültme)
- BERK-lang.exe: 2.2 MB
- berk-lsp.exe: 1.2 MB
- berk-repl.exe: 464 KB
- Üç Ayrı Binary: Derleyici, LSP, ve REPL ayrı çalıştırılabilir dosyalar
- Production Ready: %99 tamamlanma, tüm major özellikler stable
Tamamlanan Özellikler
- Ownership sistemi (98/98 tests)
- FFI (Foreign Function Interface, 30+ tests)
- BPM (Package Manager, 29/30 tests)
- LSP v0.9.4 (9/9 features)
- HAL (33 modules, 7 platforms)
- 75 toplam modül (42 stdlib + 33 HAL)
- 4100+ fonksiyon
Kaldırılan Bağımlılıklar
- LLVM statik kütüphaneleri artık binary içinde gömülü değil
- Kullanıcı sisteminde LLVM 17 kurulu olmalı (daha önce de gerekiyordu)
v0.8.0 - Standard Library v1.4 "Scientific Computing"
Major Updates
Standart Kütüphane v1.4 - Bilimsel Hesaplama
Üniversite ve araştırma seviyesinde matematik kütüphaneleri. NumPy/SciPy seviyesinde capability, native performans.
Yeni Modüller (3 adet, 76.5 KB):
- linalg (25.4 KB) - Doğrusal Cebir
- Matrix operations (multiply, transpose, inverse)
- Decompositions (LU, QR, Cholesky, SVD)
- Eigenvalue/eigenvector computation
- Linear system solvers
- stats (24.5 KB) - İstatistik ve Olasılık
- Descriptive statistics (mean, median, variance, std)
- Probability distributions (normal, chi-square, t-test)
- Hypothesis testing (t-test, ANOVA, chi-square)
- Regression analysis (linear, polynomial, multiple)
- optim (26.6 KB) - Optimizasyon Algoritmaları
- Unconstrained optimization (gradient descent, BFGS, Newton)
- Constrained optimization (penalty methods)
- Global optimization (simulated annealing, genetic)
- Root finding (bisection, Newton-Raphson, secant)
Geliştirilmiş Modüller:
- iter (9.2 KB → 19.7 KB, +10.5 KB) - Iterator extensions, lazy evaluation
- fmt (9.1 KB → 17.9 KB, +8.8 KB) - Advanced formatting, printf-style
Runtime Kütüphaneleri v0.9
- JSON Library: High-performance parse/serialize (11/11 test passed)
- Crypto Library: MD5, SHA-256, Base64, secure random (13/13 test passed)
- HTTP Library: REST client with libcurl backend (11/11 test passed)
Compiler Improvements
- LLVM Backend: Native code generation, C/C++ level performance
- CFG Analysis: Control flow graph optimization
- Dataflow Optimization: Dead code elimination, constant propagation
- Pattern Matching: Exhaustiveness checking, guard clauses
- Error Handling: Result type, try-catch mechanism
Platform Support
19 hedef platform:
- Desktop: Windows x64 (active), Linux x64, macOS ARM64
- Embedded: ARM Cortex-M, RISC-V, AVR (Arduino), ESP32
- Mobile: Android (ARM/x86), iOS (ARM64)
- WebAssembly: WASM32, WASI
Tooling
- REPL: Interactive shell, instant execution
- JIT Mode: Direct run without compilation
- AOT Mode: Native executable generation
- VS Code Extension: Syntax highlighting, code completion, diagnostics
Stdlib Statistics
- 75 modül total:
- 42 core/stdlib modülleri (Core, Math/Science, Web/Data, Graphics/Game, Advanced)
- 33 HAL modülleri (Embedded systems hardware abstraction)
- 1140 KB total stdlib code (HAL hariç)
- 4100+ fonksiyon: Comprehensive API coverage across all domains
- Performance: Native implementation, LLVM optimized, zero external runtime dependencies
Performance Highlights
- Execution Speed: C/C++ seviyesi (%98-100)
- Binary Size: 83 MB (LLVM statically linked - v1.0.0'da kaldırıldı)
- Optimization Levels: -O0 (debug) to -O3 (maximum speed)
- Zero-Cost Abstractions: High-level syntax, low-level performance
Documentation
- 101 pages: Complete language reference
- 42 stdlib modules: Full API documentation (Core, Math, Web, Graphics)
- 33 HAL modules: Hardware abstraction for embedded systems
- Bilingual: Turkish/English parallel documentation
- Total: 75 library modules documented
Known Limitations
- Windows-only compiler: Linux/macOS build from source
- Manual memory management: Ownership system planned for v1.5
- No FFI: C/C++ interoperability planned for v1.0
- No async/await: High-performance async planned for v1.0
Earlier Versions
v0.7.0 - Compiler Core
- LLVM backend integration
- Type system implementation
- Pattern matching support
- Basic stdlib (15 modules)
v0.6.0 - Parser and Frontend
- Bilingual syntax parser (Turkish/English)
- AST generation
- Semantic analysis
- Error reporting system
v0.5.0 - Prototype
- Initial language design
- Lexer implementation
- Basic syntax definition
- Proof-of-concept compiler
Note: Detailed release notes: RELEASE_NOTES.md