|
| 1 | +--- |
| 2 | +title: 2026q4 Nim Core Libraries |
| 3 | +tags: |
| 4 | + - "2026q4" |
| 5 | + - "nim" |
| 6 | + - "ift" |
| 7 | +draft: false |
| 8 | +description: Maintain Nim core libraries, improve documentation, and integrate nimlangserver fixes with a consistent LSP protocol model. |
| 9 | +--- |
| 10 | + |
| 11 | +`ift-ts:nim:ift:2026q4-nim-core-libs` |
| 12 | + |
| 13 | +## Description |
| 14 | + |
| 15 | +Maintain and document the foundational Nim libraries used by IFT teams. |
| 16 | +Improve nimlangserver by reviewing and integrating applicable fixes from the recent fork and following the separation of protocol handling, JSON serialization, and protocol data models used by nim-web3. |
| 17 | + |
| 18 | +## Task List |
| 19 | + |
| 20 | +### Documentation Improvement |
| 21 | + |
| 22 | +* fully qualified name: `ift-ts:nim:ift:2026q4-nim-core-libs:docs-improvement` |
| 23 | +* owner: Constantine |
| 24 | +* status: not started |
| 25 | +* start-date: 2026/10/01 |
| 26 | +* end-date: 2026/12/31 |
| 27 | + |
| 28 | +#### Description |
| 29 | + |
| 30 | +Continue improving documentation for Nim core libraries, including missing API guidance, runnable examples, and integration notes needed by downstream teams. |
| 31 | +Improve documentation tooling where it helps keep package documentation accurate and maintainable. |
| 32 | + |
| 33 | +#### Deliverables |
| 34 | + |
| 35 | +- Documentation PRs covering identified gaps and downstream usage examples. |
| 36 | +- Documentation tooling improvements and validation of the updated examples or builds. |
| 37 | + |
| 38 | +### Maintenance |
| 39 | + |
| 40 | +* fully qualified name: `ift-ts:nim:ift:2026q4-nim-core-libs:maintenance` |
| 41 | +* owner: Constantine |
| 42 | +* status: not started |
| 43 | +* start-date: 2026/10/01 |
| 44 | +* end-date: 2026/12/31 |
| 45 | + |
| 46 | +#### Description |
| 47 | + |
| 48 | +Provide ongoing maintenance and fixes across Nim core libraries. |
| 49 | +Triage issues, address regressions and compatibility problems, support downstream consumers, and maintain tests and CI as dependencies and toolchains evolve. |
| 50 | + |
| 51 | +#### Deliverables |
| 52 | + |
| 53 | +- PRs fixing library defects and maintaining compatibility, tests, and CI. |
| 54 | +- Tracked issues and verification results for downstream integration problems. |
| 55 | + |
| 56 | +### Nimlangserver improvements |
| 57 | + |
| 58 | +* fully qualified name: `ift-ts:nim:ift:2026q4-nim-core-libs:nimlangserver` |
| 59 | +* owner: TBD |
| 60 | +* status: not started |
| 61 | +* start-date: 2026/10/01 |
| 62 | +* end-date: 2026/12/31 |
| 63 | + |
| 64 | +#### Description |
| 65 | + |
| 66 | +Review the recent nimlangserver fork and cherry-pick applicable improvements and fixes into the team's maintained branch, adapting changes where needed. |
| 67 | +Identify the fork URL, source commits, and target branch before selecting changes; these references remain to be specified. |
| 68 | + |
| 69 | +Use the nim-web3 approach as the model for the LSP implementation: |
| 70 | +- Keep JSON-RPC protocol handling in `nim-json-rpc`. |
| 71 | +- Define an LSP-specific `nim-json-ser` flavor for interpreting and emitting protocol JSON, including null values, number formatting, and missing or extra fields. |
| 72 | +- Represent the protocol data model with Nim objects that map directly to the [LSP 3.18 specification](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/), starting with the messages and structures used by nimlangserver today. |
| 73 | +- Make additional protocol objects straightforward to add using the same model. Generating objects from the specification is optional; the task does not require implementing every LSP feature. |
| 74 | +- Add regression tests for imported fixes and serialization tests for the supported protocol objects and edge cases. |
| 75 | + |
| 76 | +#### Deliverables |
| 77 | + |
| 78 | +- A fork review identifying source commits, target branch, selected fixes, and deferred changes. |
| 79 | +- PRs integrating applicable fork fixes and improvements into the maintained branch. |
| 80 | +- An LSP JSON serialization flavor and Nim protocol objects for the currently used messages and structures. |
| 81 | +- Regression and serialization tests, plus guidance for adding further protocol objects. |
0 commit comments