Skip to content

Releases

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 10:23
dcb100c

Changes since v0.1.0.

Tested on an X3 only. Every device measurement in this project was taken on an Xteink X3 (UC8279). One binary drives both models, but rotation is unverified on the X4 -- see #23.

  • fix(settings): the device drew V 0.1.0 while v0.2.0 was being tagged, and the gate never asked (#153)
  • docs(readme): the home screenshot still showed the pre-spine screen, and its alt text still described it (#150)
  • fix(reader): the percentage followed the decoder, and a chapter under one inflate chunk arrived fully read (#149)
  • feat(home): the book the card no longer has, and the hint that promised to open it (#147)
  • fix(design): WifiPassword's band says which run yields, and the omission was reachable (#146)
  • feat(home): the book's name goes on a spine, and vertical text costs a memcpy (#145)
  • docs(articles): tell a reader where clientId comes from, which nothing did (#144)
  • feat(articles): articles over wallabag, and the TLS handshake that made a sync restart the device (#143)
  • docs(plans): the Articles-over-wallabag implementation plan, four phases after a design pass (#142)
  • docs(wallabag): switch off Instapaper, and export.epub may mean no new parsing layer (#139)
  • docs(instapaper): get_text's credit is a billing gate on text Instapaper already holds (#138)
  • feat(v1.1): six Todo tickets -- the compare percentage, restore priming, the card log reserve and a text entry screen (#137)
  • fix(copy): the two connecting dashes come out, and /humanizer becomes a standing rule (#136)
  • fix(toc): a chapter the book's contents skip gets a row, so it can be reached (#135)
  • feat(instapaper): sign-in is a keyboard flow, so the browser board goes and six replace it (#131)
  • docs(instapaper): size the get_text fallback, and ask whether a reader may bring their own key (#129)
  • feat(wifi): the keyboard's layer key names where it takes you, so it reads abc on the symbol page (#128)
  • docs(instapaper): what the Full API credentials actually cover, and the premise that is false (#125)
  • docs(board): the Release table missed V1.2, for the second time in the same way (#127)
  • feat(wifi): the V1.1 connect flow, from the boards to the glass (#123)
  • docs(readme): show the typography panel, so the screenshots say what a reader can change (#122)
  • docs(readme): rewrite for the person who flashes it, and split the developer half into CONTRIBUTING (#118)
  • fix(design): generate the sleep cover from Middlemarch, so the card and the picture name one book (#121)
  • chore(repo): untrack build-asan, 412 files of build output with absolute paths in them (#117)

24 commit(s).

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 11 Sep 05:13
0bc80e1

The first tagged release; this is the whole history.

Tested on an X3 only. Every device measurement in this project was taken on an Xteink X3 (UC8279). One binary drives both models, but rotation is unverified on the X4 -- see #23.

  • fix(test): Grained lent a dangling view of a temporary, and now refuses to (#104)
  • ci(release): a pushed annotated tag on main publishes a release, with the two refusals the trigger cannot make (#103)
  • docs(agents): record the issue tracker, triage labels and domain-doc layout the engineering skills read (#102)
  • chore(graft): index the repo for coding agents, and record the one query it cannot answer (#101)
  • fix(chrome): the grey placeholder covers go, and a Library row gets a book mark (#100)
  • fix(v1): three cards from a week of reading -- the deferred percentage, the wake's baseline, and the battery cadence (#99)
  • fix(sleep): the reading card names the chapter, wrapped to two reserved lines (#98)
  • fix(home): the CONTINUE block names the chapter instead of counting the spine (#97)
  • fix(v1): the last five V1 tickets, and three defects the glass then found (#92)
  • fix(v1): five tickets -- Home rebuild, peek cursor, block split, Contents rule, PR-title gate (#91)
  • The sleep card's author wraps to two lines instead of escaping the card (#86)
  • docs(board): neither the keyword nor the field moves the other (#85)
  • Six TODO tickets: the card log, the Names row, sleep titles, Contents headers, and --only (#84)
  • feat(battery): the low banner and the critical shutdown, as one safety ladder (#80)
  • Move both corrupt-book copy shapes off the wrap boundary (#79)
  • The corrupt-book dialog, and the three dead ends it found on the way (#78)
  • fix(reading-position): a finished book opens at the front, not where it was left
  • fix(book-end): the band gives up the title, and the byline wraps to hold it
  • fix(book-end): the board drops the band's title and lets the byline wrap
  • fix(book-end): the footnote is tracked, which the board said and the render dropped
  • docs: BookEnd in the screens table, and the guard defect that recurred twice
  • docs(shell): why saveReadingPosition drops finished, at the site where it reads as a bug
  • feat(shell): handleFinish writes the flag, and BookEnd is primed when a book opens
  • fix(item-actions): Mark as finished acts, its comment's expiry date having passed
  • test(focus): BookEnd joins the screen catalogue, and both counts move to nine
  • test(book-end): goldens at both geometries, blessed after looking at the pixels
  • feat(sim): a book_end subcommand, under the id the comparison sheet already names
  • fix(reader): paging off the last page opens the end-of-book board instead of nothing
  • refactor(book-end): three review findings, and DONE reaching a third screen for free
  • feat(book-end): the factory builds it from primed facts, and refuses without them
  • docs: a README for a stranger, an on-glass checklist, and what v0.1.0 waits on (#58)
  • Hold power to wake, and a gate that makes the badge true (#62)
  • feat(reader-menu): cut the Bookmarks row, which stated a count and did nothing (#55) (#59)
  • fix(layout): a builder skipping to its start cursor must not charge the page it has not begun (#67)
  • docs: the board-to-issue link is one-way, so a card set to Done leaves its issue open (#65)
  • fix(xml): an attribute too long to hold reads as absent, not as a malformed document (#63)
  • feat(book-end): the render, derived from the board's box model
  • fix(session): the wake record stores BookEnd as itself, not as home
  • docs(plan): Task 6b for the wake record, and Task 12's premise was backwards
  • feat(book-end): the screen, its view model and its two slabs
  • docs(plan): Task 14 turns the latch's prose into a pointer, and tasks 1-5 are ticked
  • feat(app): Action::finish(), latched for the shell like Retry and Open
  • docs(book-end): Book details inherits DONE, and a grep that matched a comment
  • feat(library): a finished book's row reads DONE, from the flag rather than a typed-in demo value
  • feat(reading-position): a finished flag, written only when true
  • docs(plan): make icons writes only icons_data.h, and the dict needs symbol and note
  • feat(icons): kCheck, the end-of-book tick, generated from its own board
  • docs(plan): the commit-type vocabulary, and why the tick's shared path is not a problem
  • fix(book-end): the ramp's title role, a stated weight, kActionH, and a count the device can reach
  • docs(book-end): the implementation plan, fifteen tasks
  • docs(book-end): the finished Library row is already boarded, and its word is DONE
  • docs(book-end): the design for the end-of-book screen, and the two facts its board cannot state
  • fix(reader): glue a dialogue dash to its first word so the gap stops stretching (#53)
  • feat(sleep): the book's cover on the sleep screen, at four grey levels (#52)
  • Home reports the real battery charge, and a charging mark (#51)
  • ci: three-job workflow, and a compare gate that can fail (#50)
  • docs: the peek not surviving a wake is intended, re-asked and confirmed
  • peek: a stale kPeekLines mention in the focus-restore fixture
  • docs: the peek's box is fixed, and the two findings that inverted it
  • peek: the derived count against real pagination at both ends of both ramps
  • peek: the panel's box is the constant now, and the line count is derived
  • design: the peek's box is the constant, its line count the result
  • docs: a fourth way a mutation lies, and the only one that loses work
  • docs: the anchor's rule, the measurement that changed it, and two specs corrected
  • reader: the return anchor is a high-water mark, and that is one rule
  • reader: two idle walks that spun forever on the last page of a chapter
  • docs: the peek's committed cursor is exact to the block, not to the line
  • shell: the crossing detector could never learn where it started
  • fix: brace the bounds check advance() shipped unbraced, past the page cap
  • peek: four tests that claimed more than they checked
  • peek: four cleanups a final review found, one of them a test that could not fail
  • peek: a commit that walks the chapter once, and a band whose halves agree
  • docs: the peek, and the four things implementing it corrected
  • shell: Contents' chapter opens a peek instead of jumping
  • peek: goldens at both geometries, four-level and through the App
  • sim: a peek subcommand, rendered through the App as an overlay must be
  • peek: the factory builds one, and refuses one nothing primed
  • peek: the overlay, owning a headless ReaderScreen
  • peek: the line box is ppem x lead, and the eight-line assertion was a tautology
  • peek: the panel's box model, derived rather than pinned
  • peek: the screen id, its view model, and its record name
  • reader: brace advance()'s bounds guard, and drop the builder with the chapter
  • reader: release the chapter, take it back for free, jump to a cursor
  • peek: the 36,956 bytes are not behind a unique_ptr, and the spec said they were
  • chapter: let go of the stream, keep the location
  • peek: the veil is the same bytes in every grayscale plane, measured
  • peek: the implementation plan, twelve tasks
  • peek: the third gate does not exist, and the reason is worth keeping
  • peek: the overlay's design, with chapter selection as its first caller
  • typography: the preview's margin IS the book's, and a wake keeps the menu
  • golden: re-bless Typography for the margin preview, and close roadmap:1269
  • typography: 1.0 and 1.2 line spacing, and a non-property that became one
  • typography: the preview's padding IS the margin setting
  • design: the preview's padding IS the margin setting
  • docs: the typography panel, and six CLAUDE.md claims that were wrong
  • shell: a persisted Size now survives a reboot
  • typography: the apply waits for the panel to be gone
  • typography: BACK pops, and the shell re-paginates the Reader under it
  • shell: the sink re-rasterises the body faces when the size changes
  • reader: relayout(), which re-paginates where the reader is standing
  • reader menu: the Typography row opens the panel
  • spec: record the measured design-vs-firmware figures
  • golden: re-bless Settings for the READING door, and strengthen one assertion
  • settings: a READING section with a door, where five inert rows were
  • golden: the Typography panel at both geometries, blessed
  • design: the Size row states 15 PT, because the board contradicted itself
  • sim: typography, on the stack the device will have
  • prose: ProseAlign::Justify, so the Alignment row changes something
  • plan: Task 15b -- the preview justifies, so Alignment does something
  • docs: the preview box is 282/274, and the spec stops naming a book
  • test: Typography is the eighth screen whose focus round-trips
  • typography: pin the cycle, the commit and the two refusals
  • typography: the panel's five rows, one mode, CHANGE cycles in place
  • screens: ScreenId::Typography, appended, and both name catalogues
  • theme: renderTypography, and a clamp that measures ink
  • viewmodel: TypographyViewModel, one state and no book title
  • plan: fix two defects the Phase 4 dispatch would have hit
  • review: a test whose comment claimed more than it compared
  • theme: readerMetrics takes the settings, because three of them are box model
  • layout: alignment is a metric, not a threshold
  • settings: restore snapToTable's initialiser, and record 25 in the docs
  • settings: review findings on the typography fields
  • settings: the typography fields round-trip, and an old file still loads
  • settings: four typography fields, snapped rather than range-clamped
  • plan: Settings is the second door, and the apply keys on the stack
  • spec: the four edits the previous commit's message described but did not contain
  • spec: two entry points, and the apply keys on the stack not the top
  • design: Settings reaches Typography, and five readout rows become one door
  • plan: one mode, no book title, and a clamp that measures ink
  • design: the band names no book, because the screen is not about o...
Read more