By now, we've invested an enormous amount of time in **ProGuard**. You can
help by providing feedback! If you have problems, bugs, bug fixes, ideas,
encouragements, etc., please let us know:

- At [Guardsquare](http://www.guardsquare.com/), we develop ProGuard and its
  professional siblings DexGuard (for Android) and iXGuard (for iOS). If you
  find ProGuard useful and you are interested in more features or professional
  support, this is the place to go.
- The [help
  forum](https://sourceforge.net/projects/proguard/forums/forum/182456) (at
  SourceForge) and [Stack
  Overflow](http://stackoverflow.com/questions/tagged/proguard) are common
  places to ask questions about any problems you might have configuring and
  running ProGuard.
- The [open discussion
  forum](https://sourceforge.net/projects/proguard/forums/forum/182455) (at
  SourceForge) offers a place to share your thoughts and discuss new ideas.
- The [bug tracking page](http://sourceforge.net/p/proguard/bugs/) (at
  SourceForge) allows you to submit and consult bug reports. Please make sure
  the reports are complete and concise. If we can't reproduce the problem, we
  most likely can't fix it either.
- The [feature request
  page](http://sourceforge.net/p/proguard/feature-requests/) (at SourceForge)
  allows you to submit and consult feature requests. We generally have our own
  road map in mind, but this is the place express your interest in new and
  existing ideas.
- The [download section](https://sourceforge.net/projects/proguard/files/) at
  SourceForge may offer the possibility to subscribe to the announcements of
  new releases. They are the most efficient way to stay abreast of the latest
  developments.
