|
9 | 9 |
|
10 | 10 | ## Completed Milestones
|
11 | 11 |
|
| 12 | +- **v3.1.0**: Tracks Perl 5.42.0 |
| 13 | + - Update Perl version to `5.42.0`. |
| 14 | + - Added features: `keyword_all`, `keyword_any` |
| 15 | + |
| 16 | + - Accept input program in several ways: |
| 17 | + 1. **Piped input**: `echo 'print "Hello\n"' | ./jperl` - reads from pipe and executes immediately |
| 18 | + 2. **Interactive input**: `./jperl` - shows a prompt and waits for you to type code, then press Ctrl+D (on Unix/Linux/Mac) or Ctrl+Z (on Windows) to signal end of input |
| 19 | + 3. **File redirection**: `./jperl < script.pl` - reads from the file |
| 20 | + 4. **With arguments**: `./jperl -e 'print "Hello\n"'` or `./jperl script.pl` |
| 21 | + |
| 22 | + - Added overload operators: `!`, `+`, `-`, `*`, `/`, `%`, `int`, `neg`, `log`, `sqrt`, `cos`, `sin`, `exp`, `abs`, `atan2`, `**`, `@{}`, `%{}`. `${}`, `&{}`, `*{}`. |
| 23 | + - Subroutine prototypes are fully implemented. Added or fixed: `+`, `;`, `*`, `\@`, `\%`, `\$`, `\[@%]`. |
| 24 | + - Added double quoted string escapes: `\U`, `\L`, `\u`, `\l`. |
| 25 | + - Added star count (`C*`) in `pack`, `unpack`. |
| 26 | + - Added operators: `read`, `tell`, `seek`, `system`, `exec`, `sysopen`, `chmod`. |
| 27 | + - Added operator: `select(undef,undef,undef,$time)`. |
| 28 | + - Added operator: `^^=`. |
| 29 | + - Added operator: `delete`, `exists` for array indexes. |
| 30 | + - Added `open` option: in-memory files. |
| 31 | + - Syntax: identifiers starting with `::` are in `main` package. |
| 32 | + - Added I/O layers support to `open`, `binmode`: `:raw`, `:bytes`, `:crlf`, `:utf8`, `:unix`, `:encoding()`. |
| 33 | + - Add `open` support for pipe `-|`, `|-`, `ls|`, `|sort`. |
| 34 | + - Added `# line` preprocessor directive. |
| 35 | + - `Test::More` module: added `subtest`, `use_ok`, `require_ok`. |
| 36 | + - `CORE::` operators have the same prototypes as in Perl. |
| 37 | + - Added modules: `Fcntl`, `Test`, `Text::CSV`. |
| 38 | + - Operator `$#` returns an lvalue. |
| 39 | + - Improved autovivification handling: distinguish between contexts where undefined references should automatically create data structures versus where they should throw errors. |
| 40 | + - Bugfix: fix a problem with Windows newlines and qw(). Also fixed `mkdir` in Windows. |
| 41 | + - Bugfix: `-E` switch was setting strict mode. |
| 42 | + - BugFix: fix calling context in operators that return list. |
| 43 | + - BugFix: fix rules for overriding operators. |
| 44 | + - Added Makefile. |
| 45 | + - Debian package can be created with `make deb`. |
| 46 | + |
| 47 | + |
12 | 48 | - **v3.0.0**: Performance Boost, New Modules, and Streamlined Configuration
|
13 | 49 | - Added `--upgrade` option to `Configure.pl` to upgrade dependencies.
|
14 | 50 | - Added `Dockerfile` configuration.
|
@@ -236,39 +272,7 @@ The following areas are currently under active development to enhance the functi
|
236 | 272 |
|
237 | 273 | ## Upcoming Milestones
|
238 | 274 |
|
239 |
| -- **v3.0.1**: Next minor version |
240 |
| - - Update Perl version to `5.42.0`. |
241 |
| - |
242 |
| - - Accept input program in several ways: |
243 |
| - 1. **Piped input**: `echo 'print "Hello\n"' | ./jperl` - reads from pipe and executes immediately |
244 |
| - 2. **Interactive input**: `./jperl` - shows a prompt and waits for you to type code, then press Ctrl+D (on Unix/Linux/Mac) or Ctrl+Z (on Windows) to signal end of input |
245 |
| - 3. **File redirection**: `./jperl < script.pl` - reads from the file |
246 |
| - 4. **With arguments**: `./jperl -e 'print "Hello\n"'` or `./jperl script.pl` |
247 |
| - |
248 |
| - - Added overload operators: `!`, `+`, `-`, `*`, `/`, `%`, `int`, `neg`, `log`, `sqrt`, `cos`, `sin`, `exp`, `abs`, `atan2`, `**`, `@{}`, `%{}`. `${}`, `&{}`, `*{}`. |
249 |
| - - Subroutine prototypes are fully implemented. Added or fixed: `+`, `;`, `*`, `\@`, `\%`, `\$`, `\[@%]`. |
250 |
| - - Added double quoted string escapes: `\U`, `\L`, `\u`, `\l`. |
251 |
| - - Added star count (`C*`) in `pack`, `unpack`. |
252 |
| - - Added operators: `read`, `tell`, `seek`, `system`, `exec`, `sysopen`, `chmod`. |
253 |
| - - Added operator: `select(undef,undef,undef,$time)`. |
254 |
| - - Added operator: `^^=`. |
255 |
| - - Added operator: `delete`, `exists` for array indexes. |
256 |
| - - Added `open` option: in-memory files. |
257 |
| - - Syntax: identifiers starting with `::` are in `main` package. |
258 |
| - - Added I/O layers support to `open`, `binmode`: `:raw`, `:bytes`, `:crlf`, `:utf8`, `:unix`, `:encoding()`. |
259 |
| - - Add `open` support for pipe `-|`, `|-`, `ls|`, `|sort`. |
260 |
| - - Added `# line` preprocessor directive. |
261 |
| - - `Test::More` module: added `subtest`, `use_ok`, `require_ok`. |
262 |
| - - `CORE::` operators have the same prototypes as in Perl. |
263 |
| - - Added modules: `Fcntl`, `Test`, `Text::CSV`. |
264 |
| - - Operator `$#` returns an lvalue. |
265 |
| - - Improved autovivification handling: distinguish between contexts where undefined references should automatically create data structures versus where they should throw errors. |
266 |
| - - Bugfix: fix a problem with Windows newlines and qw(). Also fixed `mkdir` in Windows. |
267 |
| - - Bugfix: `-E` switch was setting strict mode. |
268 |
| - - BugFix: fix calling context in operators that return list. |
269 |
| - - BugFix: fix rules for overriding operators. |
270 |
| - - Added Makefile. |
271 |
| - - Debian package can be created with `make deb`. |
| 275 | +- **v3.2.0**: Next minor version |
272 | 276 | - Planned release date: 2025-12-10.
|
273 | 277 |
|
274 | 278 | - Work in Progress
|
|
0 commit comments