Skip to content

Releases: Gonie-Gonie/oo-docs

v1.0.4

10 Jun 01:25

Choose a tag to compare

v1.0.4

Highlights

  • Streamlines GitHub Release assets so evidence internals do not clutter the
    release download list.
  • Keeps oodocs-evidence-report.pdf as the single release evidence document.
  • Keeps machine-readable CSV/JSON/checksum files inside the evidence build
    workflow as report inputs rather than publishing each one as a release asset.

Compatibility Notes

  • No public Python APIs changed.
  • The evidence builder still creates the supporting machine-readable files
    locally so the PDF report can include their contents.
  • The native Python benchmark example remains available as an example and test
    fixture, but it is not a release asset.

Release Notes

  • Release uploads now include distributions, curated release PDFs, and
    oodocs-evidence-report.pdf.
  • Release uploads no longer include feature-coverage.csv,
    renderer-consistency.csv, validation-results.csv,
    compatibility-matrix.csv, reproducibility-manifest.json,
    artifact-checksums.sha256, or evidence DOCX/HTML variants.

v1.0.3

10 Jun 01:08

Choose a tag to compare

v1.0.3

Highlights

  • Adds import diagnostics with ImportIssue, ImportResult, and
    ImportPolicyError.
  • Adds diagnostics=True and import_policy="lossy" | "warn" | "strict" to
    Markdown and notebook import flows without changing their default return
    values.
  • Adds NotebookImportOptions for tag filtering, output truncation, generated
    image captions, and error-output policy.
  • Adds oodocs.adapters for pyproject metadata, GitHub Actions workflow YAML,
    JSON manifests, CSV/TSV evidence tables, and release evidence documents.
  • Adds python -m oodocs.evidence build --out artifacts/evidence to create
    machine-readable evidence files, checksums, and DOCX/PDF/HTML evidence
    reports.
  • Updates the release workflow to attach the evidence bundle and no longer
    attach the native Python benchmark example PDF as a release asset.

Compatibility Notes

  • Existing Markdown and notebook calls still return list[Block] by default.
    ImportResult is returned only when diagnostics=True.
  • import_policy="strict" is opt-in. Existing lossy import behavior remains the
    default.
  • PyYAML is available through the optional adapters extra and the development
    extra. Core installs do not gain a required YAML dependency.
  • The native benchmark example remains in the repository and test suite; it is
    simply treated as an example rather than a release asset.

Release Notes

  • oodocs convert now supports --show-import-warnings and --strict-import.
  • Release assets now focus on package distributions, curated release documents,
    and evidence files such as feature-coverage.csv,
    reproducibility-manifest.json, artifact-checksums.sha256, and
    oodocs-evidence-report.*.

v1.0.2

10 Jun 00:50

Choose a tag to compare

v1.0.2

Highlights

  • Adds builder-style add(...) and extend(...) methods to Document,
    Body, sections, boxes, multi-column containers, parts, column spans, and
    theorem-like countable blocks.
  • Adds Python-native table helpers: Table.from_records(...),
    Table.from_mapping(...), Table.from_csv(...), and Table.from_tsv(...).
  • Adds table style presets through TableStyle.plain(),
    TableStyle.compact(), and TableStyle.evidence().
  • Adds Figure.from_bytes(...) and Figure.from_buffer(...) for in-memory
    image workflows.
  • Adds validation serialization with ValidationIssue.to_dict(),
    ValidationResult.to_dict(), and ValidationResult.to_json().
  • Adds CLI support for oodocs validate --format json, --traceback,
    --show-warnings, and --fail-on-warning.

Compatibility Notes

  • Existing constructor-style documents keep the same public behavior and render
    path. All new authoring APIs are opt-in convenience layers over the existing
    object model.
  • CLI text output remains the default. JSON validation output and stricter
    warning handling only apply when the new flags are passed.
  • No new required runtime dependencies were added.

Release Notes

  • Builder APIs reuse the same block coercion rules as constructors, including
    None, strings, existing blocks, and nested child sequences.
  • CSV and TSV table imports use Python's standard library csv module.
  • Validation JSON is intended for CI logs, release evidence, and other
    machine-readable checks.

v1.0.1

02 Jun 07:10

Choose a tag to compare

v1.0.1

Highlights

  • Renames the project to OODocs, short for Object-Oriented Documentation Tool,
    and aligns the repository, package metadata, Python import path, CLI command,
    generated examples, and user-facing documentation around the oodocs name.
  • Reframes the README around object-oriented documentation: documents are typed
    Python object trees, not string templates or markup streams.
  • Keeps the authoring model focused on reusable objects such as Document,
    DocumentSettings, Chapter, Section, Paragraph, Table, Figure,
    Box, and CitationSource.

Compatibility Notes

  • The public package and module name are now oodocs. Update imports such as
    from docscriptor import Document to from oodocs import Document.
  • The command-line entry point is now oodocs. Update commands such as
    docscriptor build report.py --out artifacts to
    oodocs build report.py --out artifacts.
  • The public base exception is now OODocsError.
  • PyPI Trusted Publishing is configured for the renamed oodocs package and the
    Gonie-Gonie/oo-docs repository.

Release Notes

  • Package metadata, project URLs, package discovery, and console scripts now use
    oodocs.
  • Source packages, tests, examples, generated artifact names, and generated HTML
    class prefixes now use oodocs.
  • The local fallback version metadata is aligned with the 1.0.1 release line for
    source trees without git tag metadata.

v1.0.0

01 Jun 07:39

Choose a tag to compare

v1.0.0

Highlights

  • Marks Docscriptor as the first stable release line for Python-first document
    authoring across DOCX, PDF, and HTML.
  • Treats the Document plus DocumentSettings API as the official public shape
    for document content, metadata, page geometry, theme options, validation, and
    rendering.
  • Keeps the CLI and Python workflow APIs aligned through docscriptor build,
    docscriptor convert, docscriptor validate, and the matching
    docscriptor.workflows functions.
  • Includes editable Markdown and notebook import paths so converted sources can
    still become Docscriptor object trees before rendering.
  • Includes validation preflight for common authoring mistakes, renderer-specific
    compatibility warnings, missing assets, overly wide tables or figures, and
    reference/caption issues.
  • Includes regression coverage for example outputs across DOCX, PDF, and HTML,
    including rendered bundles, PDF text/page checks, DOCX structure checks, and
    HTML anchor checks.

Compatibility Notes

  • No additional public breaking change is introduced by this release candidate.
    The API cleanup that made DocumentSettings the canonical settings surface was
    already documented in v0.10.0.
  • Future public API changes should follow semantic versioning from this stable
    line: major for breaking changes, minor for backward-compatible features, and
    patch for fixes.

Release Notes

  • Package metadata now advertises Docscriptor as production/stable rather than
    alpha.
  • Local fallback version metadata is aligned with the 1.0.0 release line for
    source trees without git tag metadata.
  • Release-note digest tests now derive the latest release note dynamically, so
    adding the next release note does not require rewriting hard-coded version
    assertions.

v0.10.0

01 Jun 05:14

Choose a tag to compare

v0.10.0

Highlights

  • Simplified the user-facing Document API so document metadata, page geometry, page overlays, units, and renderer theme options all live under DocumentSettings.
  • Updated renderers, examples, and documentation to use document.settings.theme, document.settings.cover_page, document.settings.subtitle, and related settings fields internally and in public examples.
  • Moved page-positioned overlays to DocumentSettings(page_items=[...]), keeping Document(...) focused on title, body content, citations, validation, and rendering.
  • Renamed the simple file-property author setting to metadata_author so it is distinct from structured visible authors.
  • Added document validation and source validation workflows, including structured compatibility results that can be printed as readable tables.
  • Added CLI entry points for build, convert, and validate workflows.
  • Added theorem-like countable blocks such as Definition, Lemma, Theorem, Proof, Example, Remark, and Assumption, plus a countable_kind(...) helper for custom counters.
  • Added Markdown heading-level controls and a release-note digest example that imports versioned Markdown files into a generated document.
  • Expanded the usage guide and example documents with generated bitmap diagrams and refreshed rendered examples.

Compatibility Notes

  • Removed direct Document proxies for settings values such as document.author, document.summary, document.subtitle, document.authors, document.cover_page, document.unit, document.theme, and document-level geometry helpers.
  • Removed the Document(..., page_items=[...]) constructor shortcut. Use Document(..., settings=DocumentSettings(page_items=[...])) instead.
  • Renamed DocumentSettings(author=...) to DocumentSettings(metadata_author=...).
  • This is a minor release because backward compatibility is not preserved.

Renderer Notes

  • Table cells now default to left-aligned text across DOCX, PDF, and HTML so narrow cells do not inherit document-level justified paragraph spacing.
  • PDF, DOCX, and HTML rendering now handle more reference targets, caption/reference label customization, slight table, code, and highlight spacing, inline chips, vertical spacing, and footnote indexing more consistently across output formats.

Dependencies

  • Added Pillow as a runtime dependency for inline chip rendering.
  • Added Pygments as a runtime dependency for syntax highlighting.

v0.9.1

29 May 07:35

Choose a tag to compare

v0.9.1

Highlights

  • Added PyPI publishing to the release workflow using PyPI Trusted Publishing and the official pypa/gh-action-pypi-publish@release/v1 action.
  • Release tags now run the test suite before building distributions and publishing release artifacts.
  • Python distributions are stored as a workflow artifact and then uploaded to PyPI from a dedicated publish-pypi job that uses the pypi GitHub environment.
  • Updated README installation instructions for PyPI-first installation with pip install docscriptor.
  • Updated the maintainer release notes to describe the combined GitHub Release and PyPI publishing flow.
  • Moved the shared repository working notes from WORKING_NOTES.md to codex.md.

Compatibility Notes

  • No public docscriptor API changes are included in this patch release.

Publishing Notes

  • PyPI publishing depends on a PyPI trusted publisher or pending publisher configured for repository Gonie-Gonie/docscriptor, workflow .github/workflows/release.yml, and environment pypi.
  • The GitHub Release continues to include the wheel, source distribution, usage guide PDF, and journal paper PDF.

v0.9.0

29 May 07:20

Choose a tag to compare

v0.9.0

Highlights

  • Added Markdown import helpers for turning existing Markdown into normal docscriptor objects:
    • parse_markdown(...)
    • from_markdown(...)
    • Document.from_markdown(...)
  • Markdown import covers the renderer-neutral subset most useful for handoff workflows: headings, paragraphs, ordered and unordered lists, task-list markers, block quotes, fenced and indented code blocks, thematic breaks, tables, local images, links, autolinks, emphasis, inline code, and strikethrough.
  • Added Jupyter notebook import helpers:
    • parse_ipynb(...) / parse_notebook(...)
    • from_ipynb(...) / from_notebook(...)
    • Document.from_ipynb(...)
  • Notebook import converts Markdown cells through the Markdown parser, code and raw cells to CodeBlock(...), and textual outputs to optional output blocks so exploratory notebooks can be folded into larger reports.
  • Added multicolumn document flow with MultiColumn(...) and ColumnSpan(...), including automatic wide-media spanning for figures, tables, and subfigure groups when they do not fit a single column.
  • Added configurable citation and references formatting through CitationOptions and Theme(citation_format=..., reference_format=...). Numeric citations remain the default, with support for author-year-style inline labels and APA, MLA, Chicago, IEEE, numbered, and plain reference entries.
  • Expanded lightweight inline Markdown parsing in markup(...) with reference links, inline links, angle and bare autolinks, email autolinks, underscore emphasis, strikethrough, escaped punctuation, hard line breaks, and richer code-span handling.
  • Refined JournalArticleTemplate(...) into a more content-first manuscript builder with stronger default article styling and optional acknowledgement and data availability sections.
  • Expanded the usage guide, journal paper example, template preset example, and tests to demonstrate Markdown import, notebook import, multicolumn manuscript flow, configurable citations, and the updated template preset surface.

Compatibility Notes

  • Removed older convenience aliases from the public API:
    • PageBreaker
    • VSpace
    • vspace(...)
    • HorizontalRule
    • hrule(...)
    • md(...)
  • Use PageBreak, VerticalSpace, Divider, and markup(...) directly instead of the removed aliases.
  • JournalArticleTemplate(...) now treats tuple-style manuscript sections as level-1 Section(...) blocks instead of top-level Chapter(...) blocks, matching the content-first article structure.
  • This is a minor release because backward compatibility is not guaranteed.

Renderer Notes

  • DOCX, PDF, and HTML rendering now understand MultiColumn(...) and ColumnSpan(...).
  • DOCX uses continuous section columns for top-level multicolumn flows and a layout-table fallback inside nested containers.
  • Heading, reference, citation, figure, table, comment, and footnote indexing now traverses multicolumn children.
  • Configured citation labels and reference-entry formats are used consistently across DOCX, PDF, and HTML generated references.

v0.8.0

12 May 09:40

Choose a tag to compare

v0.8.0

Highlights

  • Replaced the old fixed-layout Sheet(...) model with page-positioned drawing items:
    • Shape(...)
    • TextBox(...)
    • ImageBox(...)
    • Document(..., page_items=[...])
  • Added inline drawing placement for Shape, TextBox, and ImageBox with placement="inline".
  • Added richer table and figure layout controls:
    • Table(split=True/False)
    • repeated header rows for split tables
    • placement hints such as here, tbp/float, top, bottom, and page
    • PDF float handling so short tables can move after nearby prose when appropriate
  • Added row, column, and cell styling for tables, including background color, text color, bold, italic, and horizontal/vertical alignment.
  • Added SubFigure(...) and SubFigureGroup(...) with labeled subfigure references.
  • Added separate caption and in-text reference labels for tables and figures, making labels such as Figure, Fig., localized names, or custom abbreviations easier to manage.
  • Added Part(...) for book-like top-level divisions and improved heading hierarchy behavior across generated contents pages.
  • Added explicit references for more block types, including paragraphs, equations, code blocks, boxes, headings, tables, and figures.
  • Added syntax-highlighted CodeBlock(...) rendering backed by Pygments, plus PDF code wrapping and cleaner language labels.
  • Added compact inline chip helpers:
    • tag(...)
    • badge(...)
    • status(...)
    • keyboard(...)
  • Added prose and math script helpers:
    • subscript(...)
    • superscript(...)
    • prescript(...)
    • LaTeX-style \prescript{...}{...}{...} inside Math(...) and Equation(...)
  • Added LaTeX/Notion-like layout blocks:
    • VerticalSpace(...) / vspace(...)
    • Divider(...) / hrule(...)
  • Added reusable component and manuscript presets under docscriptor.presets, including callouts, compact/key-value tables, nomenclature boxes, and a generic JournalArticleTemplate(...).
  • Expanded the usage guide, journal paper example, and template preset examples to cover the new layout, reference, table, drawing, preset, and inline formatting APIs.

Compatibility Notes

  • Sheet(...) has been removed. Use Document(..., page_items=[...]) with Shape, TextBox, and ImageBox for fixed page overlays, or use normal flow blocks such as Box, Table, and Figure when Word editability matters.
  • Publisher-specific template preset examples were simplified into a generic journal article preset surface. The included template example is intentionally broad and should still be adapted to each journal's instructions for authors.

Renderer Notes

  • DOCX contents now use native Word TOC fields where appropriate.
  • DOCX, PDF, and HTML rendering now handle more reference targets, caption/reference label customization, subfigure labels, table placement, code highlighting, inline chips, vertical spacing, dividers, and front scripts consistently.
  • PDF code blocks wrap to the available page width instead of overflowing.

Dependencies

  • Added Pillow as a runtime dependency for inline chip rendering.
  • Added Pygments as a runtime dependency for syntax highlighting.

v0.7.0

01 May 05:05

Choose a tag to compare

v0.7.0

Highlights

  • Added Document.save(path), which chooses DOCX, PDF, or HTML rendering from the output file extension.
  • Added Document.save_all(output_dir), which writes the normal DOCX/PDF/HTML review bundle in one call.
  • Added Word-style inline authoring helpers:
    • highlight(...)
    • strike(...) / strikethrough(...)
    • line_break()
  • Added paragraph left/right/first-line indentation and ParagraphStyle.hanging(...) for Word-like hanging indents.
  • Made paragraph indent values follow DocumentSettings(unit=...) by default, with per-style overrides through ParagraphStyle(unit=...).
  • Added horizontal and vertical table-cell alignment controls:
    • TableCell(horizontal_alignment=..., vertical_alignment=...)
    • TableStyle(cell_horizontal_alignment=..., cell_vertical_alignment=...)
    • TableStyle(header_horizontal_alignment=..., header_vertical_alignment=...)
  • Expanded the README and usage guide with lower-friction save examples, LaTeX-to-docscriptor mapping, Word-style inline formatting, paragraph indentation, and table-cell alignment examples.

Notes

  • release-notes/v0.6.0.md has been restored to the content that matches the already-published v0.6.0 tag; post-v0.6.0 changes are collected here.