Releases: junkdog/beamterm
Releases · junkdog/beamterm
beamterm-v0.8.0
[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
[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
[beamterm-v0.6.0] - 2025-08-14
🚀 Features
- (renderer) Add
TerminalBuilder::enable_debug_api
. When enabled, a debug API will be available atwindow.__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
[beamterm-0.5.0] - 2025-06-29
🚀 Features
- (renderer) Add
TerminalGrid::cell_data_mut
andCellDynamic
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
🚀 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
[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
[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
withto_le_bytes()
Release beamterm-0.1.1
beamterm-0.1.1