Skip to content

Releases: Jeevan-04/cpp-notebook

v0.1.0 — Alpha: Persistent-State C++ Notebook

04 Jan 09:01

Choose a tag to compare

🛠 Version 0.1.0 — Alpha: Native Interactive C++ Notebook

This release marks the first public snapshot of cpp-notebook.
The system has been developed and used locally prior to this release; this version formalizes the project with a proper release process and documentation.

cpp-notebook is a native, interactive C++ notebook environment designed for exploratory programming with persistent state in compiled C++.

✨ What’s Included

Core Features

  • Interactive notebook UI built with Dear ImGui and SDL2
  • Cell-based C++ execution using a persistent global translation unit
  • Variables, functions, and classes persist across cell executions
  • Automatic regeneration and recompilation of program state on each run

Editor & Documentation

  • Syntax-highlighted C++ editor (C++20-compatible, compiler-dependent)
  • Markdown cells with live preview toggle
  • Notebook-style keyboard shortcuts (e.g. Shift+Enter to execute)

Developer Tools

  • Real-time variable inspection with type and value display
  • Function and class outline panels
  • Execution timing and structured error reporting
  • Color-coded output for successful and failed executions

Build System

  • CMake-based build system
  • Supported platforms: macOS and Linux
  • Dependencies: SDL2, Dear ImGui, ImGuiColorTextEdit

🚧 Known Limitations

  • No interactive debugger (breakpoints or stepping)
  • Limited multi-file or project-level support
  • Compilation latency increases as the execution context grows
  • No package or dependency manager integration
  • Error messages lack precise source-to-cell line mapping

🎯 Planned for Future Releases

  • Save and load notebook files (.cppnb format)
  • Export notebooks to standalone .cpp or Markdown
  • ImPlot-based visualization support
  • Auto-completion and IntelliSense-style hints
  • Faster compilation via precompiled headers