Releases: Gonie-Gonie/oo-docs
Releases · Gonie-Gonie/oo-docs
v1.0.4
v1.0.4
Highlights
- Streamlines GitHub Release assets so evidence internals do not clutter the
release download list. - Keeps
oodocs-evidence-report.pdfas 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
v1.0.3
Highlights
- Adds import diagnostics with
ImportIssue,ImportResult, and
ImportPolicyError. - Adds
diagnostics=Trueandimport_policy="lossy" | "warn" | "strict"to
Markdown and notebook import flows without changing their default return
values. - Adds
NotebookImportOptionsfor tag filtering, output truncation, generated
image captions, and error-output policy. - Adds
oodocs.adaptersfor pyproject metadata, GitHub Actions workflow YAML,
JSON manifests, CSV/TSV evidence tables, and release evidence documents. - Adds
python -m oodocs.evidence build --out artifacts/evidenceto 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.
ImportResultis returned only whendiagnostics=True. import_policy="strict"is opt-in. Existing lossy import behavior remains the
default.- PyYAML is available through the optional
adaptersextra 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 convertnow supports--show-import-warningsand--strict-import.- Release assets now focus on package distributions, curated release documents,
and evidence files such asfeature-coverage.csv,
reproducibility-manifest.json,artifact-checksums.sha256, and
oodocs-evidence-report.*.
v1.0.2
v1.0.2
Highlights
- Adds builder-style
add(...)andextend(...)methods toDocument,
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(...), andTable.from_tsv(...). - Adds table style presets through
TableStyle.plain(),
TableStyle.compact(), andTableStyle.evidence(). - Adds
Figure.from_bytes(...)andFigure.from_buffer(...)for in-memory
image workflows. - Adds validation serialization with
ValidationIssue.to_dict(),
ValidationResult.to_dict(), andValidationResult.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
csvmodule. - Validation JSON is intended for CI logs, release evidence, and other
machine-readable checks.
v1.0.1
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 theoodocsname. - 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, andCitationSource.
Compatibility Notes
- The public package and module name are now
oodocs. Update imports such as
from docscriptor import Documenttofrom oodocs import Document. - The command-line entry point is now
oodocs. Update commands such as
docscriptor build report.py --out artifactsto
oodocs build report.py --out artifacts. - The public base exception is now
OODocsError. - PyPI Trusted Publishing is configured for the renamed
oodocspackage and the
Gonie-Gonie/oo-docsrepository.
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 useoodocs. - The local fallback version metadata is aligned with the 1.0.1 release line for
source trees without git tag metadata.
v1.0.0
v1.0.0
Highlights
- Marks Docscriptor as the first stable release line for Python-first document
authoring across DOCX, PDF, and HTML. - Treats the
DocumentplusDocumentSettingsAPI 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.workflowsfunctions. - 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 madeDocumentSettingsthe 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
v0.10.0
Highlights
- Simplified the user-facing
DocumentAPI so document metadata, page geometry, page overlays, units, and renderer theme options all live underDocumentSettings. - 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=[...]), keepingDocument(...)focused on title, body content, citations, validation, and rendering. - Renamed the simple file-property author setting to
metadata_authorso it is distinct from structured visibleauthors. - 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, andAssumption, plus acountable_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
Documentproxies for settings values such asdocument.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. UseDocument(..., settings=DocumentSettings(page_items=[...]))instead. - Renamed
DocumentSettings(author=...)toDocumentSettings(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
Pillowas a runtime dependency for inline chip rendering. - Added
Pygmentsas a runtime dependency for syntax highlighting.
v0.9.1
v0.9.1
Highlights
- Added PyPI publishing to the release workflow using PyPI Trusted Publishing and the official
pypa/gh-action-pypi-publish@release/v1action. - 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-pypijob that uses thepypiGitHub 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.mdtocodex.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 environmentpypi. - The GitHub Release continues to include the wheel, source distribution, usage guide PDF, and journal paper PDF.
v0.9.0
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(...)andColumnSpan(...), 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
CitationOptionsandTheme(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:
PageBreakerVSpacevspace(...)HorizontalRulehrule(...)md(...)
- Use
PageBreak,VerticalSpace,Divider, andmarkup(...)directly instead of the removed aliases. JournalArticleTemplate(...)now treats tuple-style manuscript sections as level-1Section(...)blocks instead of top-levelChapter(...)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(...)andColumnSpan(...). - 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
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, andImageBoxwithplacement="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, andpage - 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(...)andSubFigureGroup(...)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{...}{...}{...}insideMath(...)andEquation(...)
- 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 genericJournalArticleTemplate(...). - 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. UseDocument(..., page_items=[...])withShape,TextBox, andImageBoxfor fixed page overlays, or use normal flow blocks such asBox,Table, andFigurewhen 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
Pillowas a runtime dependency for inline chip rendering. - Added
Pygmentsas a runtime dependency for syntax highlighting.
v0.7.0
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 throughParagraphStyle(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.mdhas been restored to the content that matches the already-published v0.6.0 tag; post-v0.6.0 changes are collected here.