Releases: linsomniac/uplaybook
0.9.7: Requiring keywords for task args, making a better she-bang
Keywords are now required for task arguments, where before it was just convention. Turns out I was breaking convention A LOT. So you can't do "fs.exists('foo')" anymore, you have to do "fs.exists(path='foo')". This is to help make playbooks more self-documenting.
Also improved the she-bang line to: "#!/usr/bin/env -S python3 -m uplaybook.cli". This is longer, but also includes "python3" in the she-bang line so that editors can more easily auto-detect that it is python3 syntax.
0.9.6: Decided to go back to fs.cp
After literally sleeping on it, I decided to switch fs.write back to fs.cp. I originally wasn't happy that "fs.cp()" didn't really work like the os cp, because src was relative to the playbook. But I decided I was ok with that, giving an escape hatch of specifying absolute paths, and possibly adding a flag to "use_cwd" or similar if that functionality is desired.
0.9.5: Renaming "fs.cp" to "fs.write".
The big, backwards incompatible change made in this release is to change "fs.cp" to "fs.write". This is because "fs.ln" operates on the system for both "src" and "path", which made it seem like "fs.cp" probably should as well, given it's namesake.
fs.write now also has implemented the "template_filenames" argument.
Changed fs.builder to take a list of operations to perform, rather than needing to be looped over at a higher level. The old "fs.builder" was renamed "fs.fs()" as a kind of "mega entrypoint" taking the arguments it used to, and fs.builder loops over the input and feeds it to fs.fs.
Added encrypted template reading code.
Traceback display is enhanced.
Added core.include() to load sub-playbooks.
core.run() error output is better.
Added core.get_url()
0.9.4: Lots of clean-ups, some new features.
I've completed a lot of the clean-up getting ready for asking for feedback and starting to use in my own projects. The features I want for a 1.0 release are in here.
- Enhanced documentation.
- Changed the "dst" argument in fs to "path".
- core.get_url() to download from the web.
- core.include() to include other playbooks or var files.
- Fixing the loading of module docstring in arg parsing.
- Added /etc/uplaybook to default search path for system-wide playbooks.
- "up path/to/playbook" now does not search the path.
- Removing "#taskdoc" from task docstrings, identifying tasks by "is_uplaybook_task" set on task functions.
- @task decorator can now expand TemplateStr in a list argument.
- Adding some more tests.
- More examples.
0.9.3 Brining in remaining pyinfra modules.
This version includes all the remaining pyinfra modules. 0.9.2 also had "raise NotImplementedError()" in many of the pyinfra operations, from boilerplate I had forgotten to remove in the code that generates the stubs.
0.9.2: pyinfra tasks added
A great number of tasks have been added via wrappers of pyinfra, including apt, yum, pip, systemd, and many others. This provides a rich set of new capabilities to uPlaybook.
0.9.1: Moving IgnoreFailures() to core, changing "ignore_failures" to "ignore_failure"
Some small changes to ignore failures functionality:
- Moving IgnoreFailures() from init.py to core.py.
- In tasks, changing the argument name from "ignore_failures" to "ignore_failure".
0.9.0: First Beta release
This version is my first beta release: I have the core where I'd like it to be and am going to be working on documentation, using it in my day-to-day work, and adding tasks. Things may change in incompatible ways before a final release.
I would appreciate feedback from others if you take a look at it.
0.0.2 Another early testing release.
This is another build, testing the deploy mechanism, it is an early release and things may change prior to going to 1.0 as continued development proceeds.
0.0.1 Getting release process figured out.
This is a test release to configure and test the release mechanism. This is still in a rapid development stage, it's worth trying, but core things may change.