[PR #152] [MERGED] Release v0.7.0 #223

Closed
opened 2026-03-03 16:23:23 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mum4k/termdash/pull/152
Author: @mum4k
Created: 2/24/2019
Status: Merged
Merged: 2/24/2019
Merged by: @mum4k

Base: masterHead: release-0-7-0


📝 Commits (10+)

  • 4caa570 Skeleton of the button widget.
  • 18a99ca Termbox now starts in 256 color mode by default.
  • b7fa909 Updating the CHANGELOG.
  • 550afdd Licences and fixing data race.
  • 69b7799 Adding licences.
  • 3ff8826 Merge pull request #116 from mum4k/256-color-default
  • 09f2140 API for the mouse FSM.
  • 768e3c3 Generalizing the mouse button FSM.
  • 9613145 Updating CHANGELOG and licences.
  • 6473cab Merge pull request #118 from mum4k/mouse-fsm

📊 Changes

163 files changed (+12115 additions, -1934 deletions)

View changed files

📝 .travis.yml (+3 -1)
📝 CHANGELOG.md (+81 -1)
📝 README.md (+48 -25)
📝 container/container.go (+106 -33)
📝 container/container_test.go (+484 -85)
📝 container/draw.go (+4 -4)
📝 container/draw_test.go (+7 -7)
📝 container/focus.go (+19 -6)
📝 container/focus_test.go (+41 -19)
container/mouse_fsm.go (+0 -67)
📝 container/options.go (+4 -4)
📝 container/traversal_test.go (+2 -2)
📝 doc/hld.md (+41 -26)
📝 doc/images/barchartdemo.gif (+0 -0)
doc/images/buttondemo.gif (+0 -0)
📝 doc/images/donutdemo.gif (+0 -0)
📝 doc/images/gaugedemo.gif (+0 -0)
📝 doc/images/hld.graffle (+0 -0)
📝 doc/images/hld.png (+0 -0)
doc/images/linechartdemo.gif (+0 -0)

...and 80 more files

📄 Description

[0.7.0] - 24-Feb-2019

Added

New widgets

  • The Button widget.

Improvements to documentation

  • Clearly marked the public API surface by moving private packages into
    internal directory.
  • Started a GitHub wiki for Termdash.

Improvements to the LineChart widget

  • The LineChart widget can display X axis labels in vertical orientation.
  • The LineChart widget allows the user to specify a custom scale for the Y
    axis.
  • The LineChart widget now has an option that disables scaling of the X axis.
    Useful for applications that want to continuously feed data and make them
    "roll" through the linechart.
  • The LineChart widget now has a method that returns the observed capacity of
    the LineChart the last time Draw was called.
  • The LineChart widget now supports zoom of the content triggered by mouse
    events.

Improvements to the Text widget

  • The Text widget now has a Write option that atomically replaces the entire
    text content.

Improvements to the infrastructure

  • A function that draws text vertically.
  • A non-blocking event distribution system that can throttle repetitive events.
  • Generalized mouse button FSM for use in widgets that need to track mouse
    button clicks.

Changed

  • Termbox is now initialized in 256 color mode by default.
  • The infrastructure now uses the non-blocking event distribution system to
    distribute events to subscribers. Each widget is now an individual
    subscriber.
  • The infrastructure now throttles event driven screen redraw rather than
    redrawing for each input event.
  • Widgets can now specify the scope at which they want to receive keyboard and
    mouse events.

Breaking API changes

High impact
  • The constructors of all the widgets now also return an error so that they
    can validate the options. This is a breaking change for the following
    widgets: BarChart, Gauge, LineChart, SparkLine, Text. The callers will have
    to handle the returned error.
Low impact
  • The container package no longer exports separate methods to receive Keyboard
    and Mouse events which were replaced by a Subscribe method for the event
    distribution system. This shouldn't affect users as the removed methods
    aren't needed by container users.
  • The widgetapi.Options struct now uses an enum instead of a boolean when
    widget specifies if it wants keyboard or mouse events. This only impacts
    development of new widgets.

Fixed

  • The LineChart widget now correctly determines the Y axis scale when multiple
    series are provided.
  • Lint issues in the codebase, and updated Travis configuration so that golint
    is executed on every run.
  • Termdash now correctly starts in locales like zh_CN.UTF-8 where some of the
    characters it uses internally can have ambiguous width.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mum4k/termdash/pull/152 **Author:** [@mum4k](https://github.com/mum4k) **Created:** 2/24/2019 **Status:** ✅ Merged **Merged:** 2/24/2019 **Merged by:** [@mum4k](https://github.com/mum4k) **Base:** `master` ← **Head:** `release-0-7-0` --- ### 📝 Commits (10+) - [`4caa570`](https://github.com/mum4k/termdash/commit/4caa570644a267cf3b4645853cdca6ba5b03f328) Skeleton of the button widget. - [`18a99ca`](https://github.com/mum4k/termdash/commit/18a99caf16b052a9d35aa5b3439ff77e0a207622) Termbox now starts in 256 color mode by default. - [`b7fa909`](https://github.com/mum4k/termdash/commit/b7fa90946662371a866b7874d923092e44739b68) Updating the CHANGELOG. - [`550afdd`](https://github.com/mum4k/termdash/commit/550afdd6134e3405494716215587253a1282fd2a) Licences and fixing data race. - [`69b7799`](https://github.com/mum4k/termdash/commit/69b7799847a6a5f7006da655945b2ed89209ef00) Adding licences. - [`3ff8826`](https://github.com/mum4k/termdash/commit/3ff88264ff66a2e4e5cf58dab39d5d9a19276061) Merge pull request #116 from mum4k/256-color-default - [`09f2140`](https://github.com/mum4k/termdash/commit/09f2140437f61db3d232dae28603c0856bdba1c8) API for the mouse FSM. - [`768e3c3`](https://github.com/mum4k/termdash/commit/768e3c306cac3d94f5e1005bea11a94912a61d9a) Generalizing the mouse button FSM. - [`9613145`](https://github.com/mum4k/termdash/commit/9613145a477a8bffc3652101717ddee1eb10c839) Updating CHANGELOG and licences. - [`6473cab`](https://github.com/mum4k/termdash/commit/6473cab150b58b0a29418387ebe9b7f9c6015211) Merge pull request #118 from mum4k/mouse-fsm ### 📊 Changes **163 files changed** (+12115 additions, -1934 deletions) <details> <summary>View changed files</summary> 📝 `.travis.yml` (+3 -1) 📝 `CHANGELOG.md` (+81 -1) 📝 `README.md` (+48 -25) 📝 `container/container.go` (+106 -33) 📝 `container/container_test.go` (+484 -85) 📝 `container/draw.go` (+4 -4) 📝 `container/draw_test.go` (+7 -7) 📝 `container/focus.go` (+19 -6) 📝 `container/focus_test.go` (+41 -19) ➖ `container/mouse_fsm.go` (+0 -67) 📝 `container/options.go` (+4 -4) 📝 `container/traversal_test.go` (+2 -2) 📝 `doc/hld.md` (+41 -26) 📝 `doc/images/barchartdemo.gif` (+0 -0) ➕ `doc/images/buttondemo.gif` (+0 -0) 📝 `doc/images/donutdemo.gif` (+0 -0) 📝 `doc/images/gaugedemo.gif` (+0 -0) 📝 `doc/images/hld.graffle` (+0 -0) 📝 `doc/images/hld.png` (+0 -0) ➕ `doc/images/linechartdemo.gif` (+0 -0) _...and 80 more files_ </details> ### 📄 Description ## [0.7.0] - 24-Feb-2019 ### Added #### New widgets - The Button widget. #### Improvements to documentation - Clearly marked the public API surface by moving private packages into internal directory. - Started a GitHub wiki for Termdash. #### Improvements to the LineChart widget - The LineChart widget can display X axis labels in vertical orientation. - The LineChart widget allows the user to specify a custom scale for the Y axis. - The LineChart widget now has an option that disables scaling of the X axis. Useful for applications that want to continuously feed data and make them "roll" through the linechart. - The LineChart widget now has a method that returns the observed capacity of the LineChart the last time Draw was called. - The LineChart widget now supports zoom of the content triggered by mouse events. #### Improvements to the Text widget - The Text widget now has a Write option that atomically replaces the entire text content. #### Improvements to the infrastructure - A function that draws text vertically. - A non-blocking event distribution system that can throttle repetitive events. - Generalized mouse button FSM for use in widgets that need to track mouse button clicks. ### Changed - Termbox is now initialized in 256 color mode by default. - The infrastructure now uses the non-blocking event distribution system to distribute events to subscribers. Each widget is now an individual subscriber. - The infrastructure now throttles event driven screen redraw rather than redrawing for each input event. - Widgets can now specify the scope at which they want to receive keyboard and mouse events. #### Breaking API changes ##### High impact - The constructors of all the widgets now also return an error so that they can validate the options. This is a breaking change for the following widgets: BarChart, Gauge, LineChart, SparkLine, Text. The callers will have to handle the returned error. ##### Low impact - The container package no longer exports separate methods to receive Keyboard and Mouse events which were replaced by a Subscribe method for the event distribution system. This shouldn't affect users as the removed methods aren't needed by container users. - The widgetapi.Options struct now uses an enum instead of a boolean when widget specifies if it wants keyboard or mouse events. This only impacts development of new widgets. ### Fixed - The LineChart widget now correctly determines the Y axis scale when multiple series are provided. - Lint issues in the codebase, and updated Travis configuration so that golint is executed on every run. - Termdash now correctly starts in locales like zh_CN.UTF-8 where some of the characters it uses internally can have ambiguous width. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-03 16:23:23 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/termdash#223
No description provided.