has been released on PyPI
. 1.0.0 is a landmark release of MacroPy which means:
- The core engine and bundled macros are looking more-or-less as they should. There will still be changes happening and bugs being fixed, but architecturally I'm pretty happy where they are now.
- The nightly break-all-the-things backwards-incompatible changes are over. Changes will be properly batched up into point releases from now on, with changelists.
- Development should now take place in the dev branch, with only numbered releases being merged into master. This means that people going to the github will see the docs for a stable, point release instead of the in-flux dev version.
- There's now a mailing list/google group (this one!) so it should be easier to ask questions or just talk about things.
There are still a number of things that I would like to add to MacroPy, but I think that as of now the thing MacroPy needs most is feedback from people actually using it (both using the bundled macros and writing their own) to its future direction. As of this release, the previously ridiculously-in-flux rate of development (which I have received emails about, and which means a bunch of people are using various commits from Github) will slow down.
This means if you are:
- Waiting for a chance to try out the bundled macros (e.g. case classes), now is the chance to do so, as you can be sure they won't shift suddenly under your feet. Functionality may be added, and things may change in backwards-incompatible ways, but those changes should be documented for each point release.
- Wanting to try writing your own macros, now is the time. With hygienic quasiquotes and the host of tools provided for macro-writers to use, I'm quite happy with how writing macros feels right now.
- Using some old, random snapshot, waiting for the dust to settle before bothering to upgrade (for fear of being left behind yet again) the dust has basically settled by this point, and there are a bunch of nice goodies to be had!
Looking forward to any feedback =)
 Things that 1.0.0 provides that whatever earlier version of MacroPy you're using probably doesn't
- A nicer internal architecture, allowing macros to register pre/post-processing hooks that operate on entire files before/after expansion
- Dozens of small bug-fixes and tweaks