Fixed
- Use any functions, any data structure of any python packages as jinja2 filters, tests, globals
Fixed
- #399: content processor should be called only once
- content processor shall pass on options to content processors
Removed
- moban.plugins.jinja2.tests.files is moved to moban-ansible package
- moban.plugins.jinja2.filters.github is moved to moban-jinja2-github package
Fixed
- #396: custom jinja2 plugins(filters, tests and globals) are not visible if a template is passed as a string.
Updated
- #393: Rendered content output to stdout once
Updated
- #390: single render action will print to stdout by default
Added
- #313: Non-textual source files should default to copy
Added
- -pd for command line to include custom plugin directories
Fixed
- strip did not work in 0.7.6
Added
- #38: finally be able strip the rendered content
Added
- #167: reverse what moban have done: delete
Fixed
- #378: suppress stdout message from deprecated pip install. but please do not use and migrate deprecated`requires` syntax.
Added
- Added continuous check in travis for setup.py descriptions. No impact to moban user.
Added
- Support for templates and configuration files over HTTP(S) protocol with httpfs! Yepee!
Fixed
- #365: regression was introduced by v0.6.5. If you uses mobanfile as data configuration file, you are very likely to have this show stopper. Please upgrade to this version.
Removed
Updated
- #360: show friendlier error when unknown protocol exception was raised.
Updated
- since version 0.5.0, when rendering a single file or string, moban would report 'Templated 1 of 0 files', which should have been 'Templated 1 file.'
Removed
- python 3.4 support is gone because colorama requires Python '>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*'
Updated
- no verbose for error, -v for warning, -vv for warning+info, -vvv for warning+info+debug
- #351, show template plugin name, i.e. 'copying' for copy instead of 'templating'
Removed
- Message: 'Warning: Attempting to use environment vars as data...' became warning log
- Message: 'Warning: Both data.yml and /.../.moban.cd/data.yml does not exist' became warning log
- with -v, you would see them in such a situation
Added
- support moban file inheritance. one base moban file and child repos can inherit and override
Added
- #335: support intermediate targets in moban file
Updated
- Command options have been grouped. --template_type became --template-type
- Increment gitfs2 to version 0.0.2. gitfs#4
Added
- #260: jinja-cli parity: support command line pipe stream.
Added
- #322: Implicit targets with template extensions default to copy
- #257: '-e' to load extensions for template engines, i.e. jinja2
- #333: command line template fails with version 0.6.1
Fixed
- #328: update backward compatibility
Added
- #205: support pyFilesystem2
- #185: -v will enable moban application logging for development. And -V is for version.
- #325: -vv show debug trace
- #126: Allow mobanfile to include data from arbitrary config files
- #256: jinja2-cli parity: '-d hello=world' to define custom variable on cli
Updated
- #275: fix moban 0.4.5 test failures on openSUSE Tumbleweed
Updated
- #277: Restored dependency git-url-parse, replacing incompatible giturlparse which was used during moban 0.4.x
- #281: Fixed unicode support on Python 2.7
- #274: Updated ruamel.yaml dependency pins to restore support for Python 3.4, and prevent installation of versions that can not be installed on Python 3.7
- #285: Fixed CI testing of minimum requirements
- #271: Fixed repository caching bug preventing branch switching
- #292: Reformatted YAML files according to yamllint rules
- #291: Fixed filename typos in README
- #280: Added CI to ensure repository is in sync with upstream
- #280: sync setup.py from pypi-mobans
Updated
- #271: support git branch change in later run.
Updated
- #265: Use simple read binary to read instead of encoding
Removed
- #253: symbolic link in regression pack causes python setup.py to do recursive include
Added
- #209: Alert moban user when git is not available and is used.
Updated
- #261: since moban group template files per template type, this fill use first come first register to order moban group
Added
- #234: Define template parameters on the fly inside targets section
- #62: select a group target to run
Updated
- #180: No longer two statistics will be shown in v0.4.x. legacy copy targets are injected into a normal targets. cli target is made a clear priority.
- #244: version 0.4.2 is first version which would work perfectly on windows since 17 Nov 2018. Note that: file permissions are not used on windows. Why the date? because samefile is not avaiable on windows, causing unit tests to fail hence it lead to my conclusion that moban version between 17 Nov 2018 and March 2019 wont work well on Windows.
Added
- #235: user defined template types so that custom file extensions, template configurations can be controlled by moban user
- #232: the package dependencies have been fine tuning to lower versions, most of them are dated back to 2017.
Added
- #165: Copy as plugins
Updated
Added
- #174: Store git cache in XDG_CACHE_DIR
- #107: Add -v to show current moban version
- #164: support additional data formats
Updated
- #178: UnboundLocalError: local variable 'target' referenced before assignment
- #169: uses GitPython instead of barebone git commands
Updated
- #90: allow adding extra jinja2 extensions. jinja2.ext.do, jinja2.ext.loopcontrols are included by default. what's more, any other template enigne are eligible for extension additions.
- #158: Empty file base_engine.py is finally removed
Updated
- #141: disable file permissions copy feature and not to check file permission changes on windows.
- #154: introduce first ever positional argument for string base template.
- #157: the exit code behavior changed. for backward compactibility please use --exit-code. Otherwise, moban will not tell if there is any changes.
Updated
- #146: added a low-setup usage mode via environment variables to moban
- #148: include test related files in the package for package validation when distributing via linux system, i.e. OpenSuse
Updated
- #143: moban shall report permission error and continue the rest of the copying task.
- #122: Since 0.3.6, moban is tested on windows and macos too, using azure build pipelines. It is already tested extensively on travis-ci on linux os.
Updated
- #37: moban will report line number where the value is empty and the name of mobanfile. Switch from pyyaml to ruamel.yaml.
Updated
- #137: missing contributors.rst file
Added
- global variables to store the target and template file names in the jinja2 engine
- moban-handlebars is tested to work well with this version and above
Updated
- Template engine interface has been clarified and documented
Added
- alternative and expanded syntax for requires, so as to accomendate github submodule recursive
Added
- configuration dirs may be located by requires, i.e. configuration files may be in a python package or git repository.
Added
- #97: requires will clone a repo if given. Note: only github, gitlab, bitbucket for now
Added
- #89: Install pypi-hosted mobans through requires syntax
Updated
- #96: Fix for FileNotFoundError for plugins
- various documentation updates
Removed
- #88: removed python 2.6 support
- removed python 3.3 support
Added
- #32: option 1 copy a directory without its subdirectories.
- #30: command line template option is ignore when a moban file is present
Added
- #76: running moban as a module from python command
- #32: copy a directory recusively
- #33: template all files in a directory
Added
- #31: create directory if missing during copying
Updated
- #28: if a template has been copied once before, it is skipped in the next moban call
Updated
- templates using the same template engine will be templated as a group
- update lml dependency to 0.0.3
Added
- #18: file exists test
- #23: custom jinja plugins
- #26: repr filter
- #47: allow the expansion of template engine
- #58: allow template type per template
Updated
- #34: fix plural message if single file is processed
Updated
- #21: targets become optional
- #19: transfer symlink's target file's file permission under unix/linux systems
- #16: introduce copy key word in mobanfile
Updated
- handle unicode on python 2
Added
- #13: strip off new lines in the templated file
Added
- the ability to present a long text as multi-line paragraph with a custom upper limit
- speical filter expand github references: pull request and issues
- #15: fix templating syntax to enable python 2.6
Added
- #14, provide shell exit code
Added
- #11, recognize .moban.yaml as well as .moban.yml.
- #9, preserve file permissions of the source template.
- -m option is added to allow you to specify a custom moban file. kinda related to issue 11.
Updated
- use explicit version name: moban_file_spec_version so that version can be used by users. #10 Please note: moban_file_spec_version is reserved for future file spec upgrade. For now, all files are assumed to be '1.0'. When there comes a new version i.e. 2.0, new moban file based on 2.0 will have to include 'moban_file_spec_version: 2.0'
Added
- #8, verify the existence of custom template and configuration directories. default .moban.td, .moban.cd are ignored if they do not exist.
Updated
- Colorize error messages and processing messages. crayons become a dependency.
Added
- Bring the visibility of environment variable into jinja2 templating process: #7
Added
- added '-f' flag to force moban to template all files despite of .moban.hashes
Updated
- moban will not template target file in the situation where the changes occured in target file than in the source: the template file + the data configuration after moban has been applied. This new release will remove the change during mobanization process.
Added
- Create a default hash store when processing a moban file. It will save unnecessary file write to the disc if the rendered content is not changed.
- Added summary reports
Updated
- Bug fix #5, should detect duplicated targets in .moban.yml file.
Updated
- Bug fix #4, keep trailing new lines
Updated
- Bug fix #1, failed to save utf-8 characters
Added
- Initial release