# ToDo

These lists are meant to provide developers a reminder of undone projects. It is also a wish list capturing user’s desires for new features. New developers can also look here for projects which they might be interested in working on.

## Things to be done before the next release

- guile 1.8.x issues with netlist backends

## Longer term upgrades desired for specific tools

- Libgeda:
  - Enable handling of .sch files with symbols having some (but not all) pins promoted onto the .sch file. This will enable pin-swapping via backannotation from PCB.
- Gschem:
  - Enable hierarchical bus support.
  - Make gschemrc variables settable from within gschem using a “settings” pull-down menu item (new).
  - Improve symbol library to handle very large symbol collections better
  - Whenever the selection changes and we have selection dependant dialog, the dialog should get an information about that. Then it would be possible to change the attribute dialog to be non-modal.
- Gnetlist:
  - Enable `–help` flag. Do other gEDA/gaf programs recognize this flag?
- Gattrib:
  - Make it export CSV to support BOM generation.
  - Get printing working.
  - Enable attachment of attributes to nets.
- Garchive:
  - Incorporate guile so that it reads RC files using the same mechanism as the rest of gEDA/gaf.
- CD Installer:
  - Change it so that the user is presented a pick-list at the beginning of the install, instead of blindly installing everything.
- Refdes_renum:
  - Doesn’t currently work properly with slotted parts (it gives new refdes numbers to slotted parts). Fix it so it recognizes slotted parts and assigns refdes appropriately.
  - Provide `–gentle` option, which doesn’t clobber (overwrite) any refdeses which are already assigned.

## Ideas for new tools or gEDA Suite-wide enhancements

- Develop scheme for backward annotation of changes from PCB to gschem. Requires modifications to libgeda to support, e.g. pin promotion from .sym file to .sch file (enabling pin swapping).
- Create a Gerber → .pcb conversion tool. Result is metal layer or footprint editable by PCB. This might be a Perl script.
- Implement lockfiles between gattrib and gschem.