@@ -7,6 +7,112 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ### Removed
11+ - ** Release v0.3.0: Production-Ready Milestone** (2025-10-14 – jarroddavis68)
12+ This release brings NitroPascal from proof-of-concept to production-ready with
13+ comprehensive string handling, file I/O, exception handling, dynamic data
14+ structures, external library integration, and conditional compilation -
15+ everything you need to build real, working applications.
16+ KEY MILESTONE:
17+ NitroPascal now has enough features to start doing REAL, PRODUCTIVE WORK. You
18+ can build actual applications that manipulate strings, read/write files, handle
19+ errors gracefully with exceptions, use dynamic arrays and sets, call external
20+ libraries, and target different platforms with conditional compilation.
21+ EXCEPTION HANDLING:
22+ - try..except blocks for error recovery
23+ - try..finally blocks for resource cleanup
24+ - try..except..finally for comprehensive error handling
25+ - raise statement for throwing exceptions
26+ - on E: Exception do for typed exception catching
27+ - Proper exception propagation and stack unwinding
28+ - Resource safety with deterministic cleanup
29+ DYNAMIC DATA STRUCTURES:
30+ - Dynamic arrays (array of T) with SetLength, Length, and High
31+ - Sets (set of T) with Include, Exclude, and membership testing (in)
32+ - Enhanced RTL with np::DynArray<T > and np::Set<T > implementations
33+ STRING MANIPULATION:
34+ - Complete string library: Copy, Pos, Delete, Insert
35+ - Case conversion: UpperCase, LowerCase
36+ - Whitespace handling: Trim, TrimLeft, TrimRight
37+ - Type conversion: IntToStr, StrToInt, StrToIntDef, FloatToStr, StrToFloat
38+ - Formatted output: Format function with variadic templates
39+ MATH LIBRARY:
40+ - Basic operations: Abs, Sqr, Sqrt
41+ - Trigonometry: Sin, Cos, Tan, ArcSin, ArcCos, ArcTan
42+ - Rounding: Round, Trunc, Ceil, Floor
43+ - Utility: Max, Min, Random, Randomize
44+ FILE I/O:
45+ - File management: Assign, Reset, Rewrite, Append, Close
46+ - Text I/O: Write(F), WriteLn(F), ReadLn
47+ - Binary I/O: BlockRead, BlockWrite
48+ - File positioning: Seek, FilePos, FileSize, Eof
49+ - File system: FileExists, DirectoryExists, CreateDir, GetCurrentDir
50+ - File operations: DeleteFile, RenameFile
51+ CONTROL FLOW ENHANCEMENTS:
52+ - Loop control: break, continue
53+ - Early return: exit, exit with return value
54+ - Simplified access: with statement
55+ - Forward declarations for functions and procedures
56+ ORDINAL FUNCTIONS:
57+ - Type inspection: Ord, Chr, Low, High, SizeOf
58+ - Iteration: Succ, Pred, Inc, Dec (with optional step)
59+ - Pointer utilities: Assigned
60+ MEMORY MANAGEMENT:
61+ - Advanced allocation: GetMem, FreeMem, ReallocMem
62+ - Memory operations: FillChar, Move
63+ - Block operations for efficient buffer manipulation
64+ EXTERNAL LIBRARY INTEGRATION:
65+ - External function declarations (external 'library.dll')
66+ - Multiple calling conventions: stdcall, cdecl, fastcall
67+ - Automatic string type conversion (PChar, PWideChar, PAnsiChar)
68+ - External library tracking for automatic linking
69+ - Seamless C/C++ interoperability
70+ CONDITIONAL COMPILATION:
71+ - Platform detection: WIN32, WIN64, LINUX, MACOS, MSWINDOWS, POSIX
72+ - Architecture detection: CPUX64, CPU386, CPUARM64
73+ - Build mode detection: DEBUG, RELEASE
74+ - Application type: CONSOLE_APP, GUI_APP
75+ - Preprocessor directives: {$ifdef}, {$else}, {$endif}
76+ - Custom application type: {$apptype console|gui}
77+ PLATFORM SERVICES:
78+ - Command-line arguments: ParamCount, ParamStr
79+ - Program termination: Halt
80+ RUNTIME LIBRARY ENHANCEMENTS:
81+ - Enhanced np::String with comprehensive string manipulation
82+ - New np::DynArray<T > for dynamic array support
83+ - New np::Set<T > for set operations
84+ - File I/O wrappers maintaining Delphi semantics
85+ - Console input: ReadLn
86+ CODE GENERATION IMPROVEMENTS:
87+ - External function handling (no C++ declaration generation)
88+ - Automatic library dependency tracking
89+ - Calling convention mapping
90+ - String type conversions for external calls
91+ - Forward declaration support
92+ BUILD SYSTEM ENHANCEMENTS:
93+ - Automatic define injection based on target platform
94+ - Automatic define injection based on build mode
95+ - Architecture-specific defines
96+ - Application type defines
97+ - Windows subsystem control (console vs GUI)
98+ TESTING INFRASTRUCTURE:
99+ - Integrated test runner for validation
100+ - Comprehensive test suite covering all features
101+ This release represents a major leap forward in capability. With exception
102+ handling, string manipulation, file I/O, dynamic data structures, external
103+ library support, and conditional compilation, you can now build robust, real
104+ applications in NitroPascal.
105+ THE PRODUCTIVITY MILESTONE:
106+ NitroPascal is no longer just a compiler experiment - it's a tool you can use
107+ to build actual, working software. Parse files, manipulate data, handle errors
108+ gracefully, integrate with existing libraries, target multiple platforms, and
109+ ship real applications with confidence.
110+ Write once in pure Delphi. Compile to native C++. Run everywhere.
111+ Version: 0.3.0
112+
113+
114+ ## [ 0.2.0] - 2025-10-13
115+
10116### Added
11117- ** Repo Update** (2025-10-12 – jarroddavis68)
12118 Release v0.2.0: Core language features and RTL foundation
@@ -54,15 +160,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
54160 transpilation pipeline is: Pascal → C++ (via RTL) → Native Code (via Zig/LLVM).
55161 Version: 0.2.0
56162
57-
58- ### Fixed
59- - ** Repo Update** (2025-10-11 – jarroddavis68)
60- - Fixed links in README and on website
61-
62-
63- ## [ 0.1.0] - 2025-10-07
64-
65- ### Added
66163- ** Create FUNDING.yml** (2025-07-27 – Jarrod Davis)
67164
68165
@@ -85,3 +182,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
85182
86183- ** Initial commit** (2025-07-27 – Jarrod Davis)
87184
185+
186+ ### Fixed
187+ - ** Repo Update** (2025-10-11 – jarroddavis68)
188+ - Fixed links in README and on website
189+
0 commit comments