|
| 1 | +bpp (0.8.11) unstable; urgency=medium |
| 2 | + |
| 3 | + * Performance: |
| 4 | + - Entity inheritance refactored to use lazy parent-chain symbol lookup, |
| 5 | + completely eliminating the copying of object and class maps during |
| 6 | + inheritance. Compile time on a development for a 2.4-million-line |
| 7 | + generated source file dropped from ~30 minutes to ~22 seconds. |
| 8 | + - bpp-lsp's ProgramPool now subsumes earlier ASTs when a more complete |
| 9 | + program includes the same file, avoiding duplicate program entities |
| 10 | + and reducing memory pressure |
| 11 | + * bpp-lsp: |
| 12 | + - Added -j/--threads option to control the size of the worker thread pool |
| 13 | + - Cross-program entity resolution for references and renaming: we now |
| 14 | + search all programs associated with the given source file for reference |
| 15 | + or when workspace renames were requested |
| 16 | + - Fixed a bug in hover requests where a datamember could be |
| 17 | + misinterpreted as a non-datamember object |
| 18 | + - Handle didSave notifications to free resources that track unsaved |
| 19 | + changed |
| 20 | + - Includes that fail to parse are now tracked, allowing diagnostics to be |
| 21 | + properly updated when the included file is fixed. |
| 22 | + - ProgramPool now supports multiple programs per source file (Closes: #23) |
| 23 | + File changes trigger re-parses and diagnostics for all associated |
| 24 | + programs. |
| 25 | + - Added support for DocumentSymbols requests |
| 26 | + - Shutdown procedure now strictly follows the LSP spec: the server waits |
| 27 | + for an exit notification after acknowledging a shutdown request, and |
| 28 | + exits with the correct (spec-mandated) status codes. |
| 29 | + - ResponseError is now an optional field in protocol messages, in line |
| 30 | + with the LSP spec |
| 31 | + * VSCode extension: |
| 32 | + - Added support for the language server's -j/--threads option |
| 33 | + - The -b option (target Bash version) and -j option are now gated behind |
| 34 | + version checks, with a warning when the installed server is too old |
| 35 | + * Documentation and spec: |
| 36 | + - New spec page on value categories (lvalues vs. rvalues) |
| 37 | + - Clarified the semantic meaning of '@super', including its behavior |
| 38 | + when explicitly dereferenced via '*@super' |
| 39 | + - Clarified operator expansion rules: replaced ambiguous wording regarding |
| 40 | + the "output" of an operator with a more explicitly-defined statement |
| 41 | + about an operator's "result" and how it expands in shell contexts |
| 42 | + - Corrected wordings in the spec pages for methods and supershells |
| 43 | + * Build system: |
| 44 | + - Refactored manpage generation with pattern rules, allowing parallel |
| 45 | + builds. Make target renamed from 'manual' to 'manpages' |
| 46 | + * Code hygiene and modernization: |
| 47 | + - Split the monolithic bpp.h header into several smaller, focused headers |
| 48 | + - Removed the internal fake "primitive" class; primitives are now |
| 49 | + represented by class == nullptr, aligning the implementation with the |
| 50 | + language's model |
| 51 | + |
| 52 | + -- rail5 <andrew@rail5.org> Tue, 26 May 2026 18:00:30 +0800 |
| 53 | + |
1 | 54 | bpp (0.8.10) unstable; urgency=medium |
2 | 55 |
|
3 | 56 | * Performance: Significant compiler speed-ups from multiple optimizations: |
|
0 commit comments