Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pre-Release 3.0.0a4 #317

Open
8 of 49 tasks
Argmaster opened this issue Oct 13, 2024 · 0 comments · May be fixed by #340
Open
8 of 49 tasks

Pre-Release 3.0.0a4 #317

Argmaster opened this issue Oct 13, 2024 · 0 comments · May be fixed by #340
Assignees
Labels
enhancement New feature or request maintenance Issue related to maintenance of PyGerber project
Milestone

Comments

@Argmaster
Copy link
Owner

Argmaster commented Oct 13, 2024

PyGerber version 3.0.0a4 will continue incremental changes on top of 3.0.0a3.
There are still some breaking changes to be introduced (see list below). I will try to squish them into this release, then we can start beta development phase.

Changelog:

  • Relaxed pyparsing dependency requirements to allow for use of 3.2 and above for
    supported Python versions.
  • Relaxed numpy dependency requirements to allow for use of 2.x and above for
    supported Python versions.
  • Relaxed pydantic dependency requirements to allow for use of 2.x and above for
    supported Python versions.
  • Relaxed pillow dependency requirements to allow for use of 8.x and above for
    supported Python versions.
  • Relaxed click dependency requirements to allow for use of 8.x and above for
    supported Python versions.
  • Relaxed Python version requirement to allow for use of 3.8 and above.
  • Removed pygerber.sequence_tools module.
  • Removed pygerber.frozen_general_model module.
  • Removed pygerber.gerber.linter.diagnostic module.
  • Removed pygerber.warnings module.
  • Updated documentation links to point to stable release documentation.
  • Renamed GerberX3Builder.add_trace() to GerberX3Builder.add_line_trace() to be consistent with GerberX3Builder.add_clockwise_arc_trace() and GerberX3Builder.add_counter_clockwise_arc_trace().
  • Added support for Altium implied leading zeros omitted. Contributed by @sjgallagher2 in Add support for Altium implied leading zeros omitted #340.
  • Added arc drawing in GerberX3Builder.
  • Added region statement generation to GerberX3Builder.

Issues pending for 3.0.0:

Known TODO:

  • Remove frozen general model class
  • Add unit tests for pygments highlighting
  • Add unit tests for handling invalid syntax in different contexts
  • Add unit tests for file type detection in GerberFile class
  • Remove sequence_tools.py
  • Add pragma no cover to __main__.py
  • Add render_with_shapely to CompositeView class
  • Rename AM_close and alike to AMclose for consistency
  • Add plugin mechanism for pygerber_gerber_parser_cpp
  • Change ast structure to avoid nesting coordinates in D codes
  • Split pygerber.gerber.ast.other.coordinate into separate modules for X, Y, I, J
  • Adding metadata to Shape objects for VM
  • Fix inconsisten order of box and origin in create_eager_layer and create_deferred_layer
  • 95%+ coverage (determine which parts need tests)
  • Move E2E formatter tests out of test/gerberx3/test_formatter.py
  • Add single quadrant arc support
  • Implement incremental coordinates (beta?)
  • Ignore negative draws in box calculation (VM)
  • Move assets/generated to assets/gerberx3/generated
  • Move unit tests to test/unit/
  • Add svg vm (beta?)
  • Add svg vm tests (beta?)
  • Add ogl/vk vm (beta?)
  • Add ogl/vk vm tests (beta?)
  • Update command line interface to use new tools
    • Trash the old desing
    • Implement with new APIs
    • Add tests
  • Ensure correct re-exports from subpackages
  • Add docs for RVMC builder API (beta?)
  • Update reference assets
  • Add automatic checking against reference files to E2E tests
  • Use svglib + reportlab for SVG dumping as PNG files
  • Add native tokenizer (beta?)
  • Add POC optimizer pass (beta?)
  • Language server - add diagnostics
  • Separate E2E and Unit tests in CI
  • Add arc drawing to AST builder
  • Add block creation to AST builder
  • Add step repeat creatio to AST builder
  • Add region creation to AST builder
  • Add missing RVMC builder features
  • For Release change "Development Status :: 3 - Alpha" to Development Status :: 4 - Beta then Development Status :: 5 - Production/Stable
  • Update feature support docs
  • Add contribution guidelines
  • Add Gerber Json projects support
  • Add PyGerber 2.x.x -> 3.x.x migration guide
  • Add reference assets for e2e tests
  • 3D model generation?
@Argmaster Argmaster self-assigned this Oct 13, 2024
@Argmaster Argmaster added enhancement New feature or request maintenance Issue related to maintenance of PyGerber project labels Oct 13, 2024
@Argmaster Argmaster added this to the 3.0.0a4 milestone Oct 13, 2024
@Argmaster Argmaster pinned this issue Oct 13, 2024
@Argmaster Argmaster moved this to Research in PyGerber Oct 26, 2024
@Argmaster Argmaster linked a pull request Nov 18, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request maintenance Issue related to maintenance of PyGerber project
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

1 participant