Skip to content

Releases: junkdog/beamterm

beamterm-v0.8.0

09 Oct 15:31
fd7280b

Choose a tag to compare

[beamterm-v0.8.0] - 2025-10-09

🚀 Features

  • (renderer) Double-width emoji support (#37)
  • (atlas) Add emoji font selection via --emoji-font

💼 Other

  • (deps) Bump serde from 1.0.219 to 1.0.226 (#34)
  • (deps) Bump clap from 4.5.46 to 4.5.48 (#33)
  • (deps) Bump serde_json from 1.0.143 to 1.0.145 (#32)
  • (deps) Bump actions/github-script from 7 to 8 (#30)
  • (deps) Bump actions/setup-node from 4 to 5 (#29)

🐛 Bug Fixes

  • (atlas) Glyph mismatch from truncated conversion

⚙️ Miscellaneous Tasks

  • (font) Hack 14.94pt 11x18 with Noto Color Emoji

Release beamterm-v0.7.0

07 Sep 16:19
3eb94e5

Choose a tag to compare

[beamterm-v0.7.0] - 2025-09-07

🚀 Features

  • (atlas) Double glyph capacity from 512 to 1024 glyphs per font style (#27)
  • (atlas) Add --check-missing option to CLI

⚙️ Miscellaneous Tasks

  • (font) Hack 14.94pt, 11x18px

Release beamterm-v0.6.0

14 Aug 06:48
dd02f58

Choose a tag to compare

[beamterm-v0.6.0] - 2025-08-14

🚀 Features

  • (renderer) Add TerminalBuilder::enable_debug_api. When enabled, a debug API will be available at window.__beamterm_debug.
  • (atlas) Font size automatically resized to better fill the cell
  • (atlas) Nudge line decoration positions to half-pixel boundaries

🐛 Bug Fixes

  • (mouse) Handle cursor leaving terminal during selection
  • (atlas) Fix font face using system defaults instead of user-selected fonts

⚙️ Miscellaneous Tasks

  • (atlas) More glyphs
  • (font) Hack 16.6pt (12x20)

Release beamterm-v0.5.0

29 Jun 11:30
f848bbc

Choose a tag to compare

[beamterm-0.5.0] - 2025-06-29

🚀 Features

  • (renderer) Add TerminalGrid::cell_data_mut and CellDynamic mutators
  • (renderer) Expose TerminalMouseHandler public API for external mouse handling

💼 Other

  • (renderer) The mouse module is now pub and not re-exported from the root

Release beamterm-0.4.0

28 Jun 12:03
553e8ee

Choose a tag to compare

🚀 Features

  • (renderer) Add Terminal::update_cells_by_position

🗑️ Deprecations

  • (js) Batch::flush, as it is now automatic

⚡ Performance

  • (fragment shader) Remove all division ops and change to multiplication

beamterm-0.3.0

26 Jun 17:30
9e0d9e7

Choose a tag to compare

[beamterm-0.3.0] - 2025-06-26

🚀 New High-Level Terminal API

Terminal struct encapsulates the complete rendering system, providing a cleaner interface over the underlying Renderer and TerminalGrid components.

Terminal Builder Pattern

The new API uses a fluent builder pattern for flexible configuration:

use beamterm_renderer::{Terminal, SelectionMode};

// Simple terminal with defaults
let mut terminal = Terminal::builder("#canvas").build()?;

// Advanced configuration
let terminal = Terminal::builder("#canvas")
    .font_atlas(FontAtlasData::default())
    .fallback_glyph("X")
    .canvas_padding_color(0x1a1b26)
    .default_mouse_input_handler(SelectionMode::Block, true)
    .build()?;

🚀 Features

  • (renderer) Add Terminal API with builder pattern (#11)
  • (renderer) Add linear and block-based copy selection (#12)

🐛 Bug Fixes

  • (renderer) Remove faulty debug_assert from CellDynamic::new

beamterm-0.2.0

15 Jun 15:10
cc8e0dc

Choose a tag to compare

[beamterm-0.2.0] - 2025-06-15

🚀 Features

  • (js-api) Basic JS API locked behind "js-api" feature

🐛 Bug Fixes

  • (shader) Propagate LineEffects from FontAtlasData to fragment shader
  • (atlas) Skip control characters during generation

💼 Other

  • (renderer) Add TerminalGrid::base_glyph_id(&str)
  • (renderer) Add experimental JS support
  • (js) Add webpack example
  • (js) Add vite+typescript example
  • (github-pages) Deploy webpack and vite examples
  • (api-demo) Add JS API demo

📚 Documentation

  • (README) Add link to live demos

⚡ Performance

  • (renderer) Replace bit ops in CellDynamic with to_le_bytes()

Release beamterm-0.1.1

06 Jun 15:32
6feb5e8

Choose a tag to compare

beamterm-0.1.1