Releases: borb-pdf/borb
v3.0.8
📣 borb v3.0.8
Improvements & Maintenance:
- Expanded rounded border system across layout elements: Rounded corner support was significantly extended across multiple LayoutElement implementations, improving visual consistency and giving developers finer control over rendered UI components.
- Improved testing for rounded border rendering: New tests were added for images with rounded borders, strengthening coverage and ensuring correct rendering behavior across edge cases.
- Refinements to layout internals: Several iterations of improvements to rounded border handling were introduced, stabilizing behavior across different layout components and consolidating earlier incremental changes.
- LayoutElement robustness improvements: Method ordering and internal structure adjustments were applied to improve maintainability and reduce subtle integration issues in complex layouts.
- Code quality and type safety improvements: Multiple mypy fixes and static typing refinements were introduced across core modules, improving long-term reliability and reducing type-related regressions.
- Formatting and linting cleanup: Black formatting fixes were applied, including cleanup in self_truncating_heterogeneous_paragraph, keeping the codebase consistent with formatting standards.
- Test and rendering stability improvements: Additional subsetting tests and minor rendering-related fixes further improved robustness of document generation workflows.
- Rendering fallback and font handling improvements (maintenance work): Internal refactoring in font-related components and screenshot fallback behavior improved resilience in edge cases.
Internal Maintenance:
- Ongoing incremental refactoring of rendering and layout internals
- Continuous cleanup of legacy formatting inconsistencies
- Gradual consolidation of layout rendering behavior for future extensibility
These release notes were AI-generated from the public changelog and commit summaries, and while care was taken to reflect them accurately, they may still contain omissions or small inaccuracies.
v3.0.7
📣 borb v3.0.7
Improvements & Maintenance:
- Improved dependency management: The packaging configuration was refined to better support optional functionality. Feature groups such as
image,text, andgenaiare now exposed as installable extras, making it easier to install only the components required for a given workflow. - Convenient full installation option: A new
fullextra installs the union of all runtime feature dependencies, providing a simple way to enable the complete borb feature set. - Enhanced package metadata: Additional metadata such as improved keywords and packaging structure was added to improve discoverability and clarity on package indexes.
- Automated dependency updates: Added automated dependency monitoring and update proposals via
Dependabot, helping keep development tooling and integrations up to date with minimal maintenance overhead. - Packaging cleanup: Minor refactoring of the packaging configuration improves maintainability and keeps the project aligned with modern Python packaging practices.
These release notes were AI-generated from the public changelog and commit summaries, and while care was taken to reflect them accurately, they may still contain omissions or small inaccuracies.
v3.0.6
📣 borb v3.0.6
Improvements & Maintenance:
- Extended add-on ecosystem support: Built on the previously introduced template repository for borb add-ons, paving the way for a more modular extension ecosystem and smoother community-driven tooling.
- Graphics and color handling refinements: Minor but impactful fixes were integrated that improve the robustness of PDF rendering paths, particularly where very small or edge-case content streams had previously triggered assertion failures.
- Optional dependencies hardened: Usage statistics collection is now fully optional, with import guards preventing failures when optional packages like requests are absent.
- Code formatting and consistency: Continued alignment with current Python tooling — including updated black formatting standards — ensures consistent style and reduced diff churn across commits.
- GitHub workflow and CI enhancements: Alignment to add-on templates carried through to workflows, improving automated checks and streamlining development pipelines.
Bug Fixes:
- Improved PDF resilience: Fixed an issue where extremely small PDF files could lead to assertive failures during parsing.
- Safer imports: Avoids broken imports when optional packages are not installed by guarding around those modules.
These release notes were AI-generated from the public changelog and commit summaries, and while care was taken to reflect them accurately, they may still contain omissions or small inaccuracies.
v3.0.5
📣 borb v3.0.5
Improvements & Maintenance:
- Introduced a template repository for
borbadd-ons, improving consistency and maintainability across extensions. - Aligned the main
borbrepository more closely with the add-on template, including updates toGitHubworkflows. - Updated code formatting to a newer version of
black, ensuring consistent formatting going forward. - Fixed a bug where very small PDFs could trigger an assertion error during processing.
- Made usage statistics truly optional by guarding the requests import with a
try/except, avoiding failures when the dependency is not installed.
These release notes were AI-generated based on a provided list of changes, and while care was taken to reflect them accurately, they may still contain errors or omissions.
v3.0.4
📣 borb v3.0.4
Features:
- Improved typing across the codebase: focused on satisfying
mypyand correcting type annotations. - Improved font logic: font names no longer contain special characters.
- Corrected documentation for the
LayoutElementpaintmethod. - Improved
Watermarkclass: now correctly renders a translucent image over aPage. - Fixed background rendering bug in
LayoutElement. - Added
Regexto the toolkit: enables searching for a regular expression and returns rectangles that can be used for further processing. - Added a second decompression attempt in
FlateDecode. - Improved PDF reading logic.
These release notes were AI-generated based on a provided list of changes, and while care was taken to reflect them accurately, they may still contain errors or omissions.
v3.0.3
📣 borb v3.0.3
Features:
- Improved PDF reading engine: better error handling and more resilient parsing.
- Optimized import graph: cleaned up imports for better maintainability and slightly reduced footprint.
- Extensive type-checking / typing cleanup across modules: many commits focused on improving type hints, catching edge cases, and satisfying
mypy. - New
self_truncating_heterogeneous_paragraphimplementation (and associated caching fixes): improves how paragraphs compute line breaks. - Improved calendar / view UI elements (
DayView,WeekView,CalendarView): better default argument handling, docstrings, and bug fixes. - Refactored
table_of_contentsroutines: fixed static methods and default mutable arguments. - Adjustments to list layout: correct margin handling between bullets and content.
- Byte-offset recalculation in cross-reference visitor: increases robustness when reading complex PDFs.
- Documentation enhancements: added or improved docstrings in several areas, especially in layout- and calendar-related code.
These release notes were AI-generated based on the borb commit history, and while care was taken to interpret the changes accurately, they may still contain errors or omissions.
v3.0.2
maintenance release, featuring better PDF reading
v3.0.1
This is a major release (including breaking changes).
Some notable features include:
borbno longer usesDecimalthus making the code a bit easierborbavoids using non-python files, this was giving some people issues when attempting to packageborbAnnotationobjects are now part of theLayoutElementframework
The examples-repository has already been updated to showcase the new code, but expect minor updates to fine-tune it.
v3.0.0
This is a major release (including breaking changes).
Some notable features include:
borbno longer usesDecimalthus making the code a bit easierborbavoids using non-python files, this was giving some people issues when attempting to packageborbAnnotationobjects are now part of theLayoutElementframework
The examples-repository has already been updated to showcase the new code, but expect minor updates to fine-tune it.
v2.1.25
📣 borb release notes
This release features a minor bugfix in Paragraph related to text-alignment JUSTIFIED.