Release 3.x
All new and shiny major release.
This release removes a lot of legacy things and inconsistencies.
Likely previous code that was using `2.x` releases needs some adaption.
See below for details about the changes.
New
- `cls_item.Variable` gained `IsImmediateModify()` to check if the statement is not a `prepend`, `append` or `remove` operation
- `cls_item` gained `FlagAssignment` class for all operations involving flags
- `cls_item` gained `Inherit` class, that support `inherit` and `inherit_defer` statements
- `cls_item` gained `Unset` class, that supports `unset` statements
- `cls_item` gained `TaskDel` class, that supports `deltask` statements
- `cls_item` gained `AddPylib` class, that supports `addpylib` statements
- `cls_stash.GetItemsFor` returns now `StashList` instead of a plain `List`
On those `Lists` `x.reduce` offers a way to further filter the results, with
the same parameters as `cls_stash.GetItemsFor`
- `cls_stash.Stash` now supports to enforce the use of the `kirkstone+` override syntax, by passing
`new_style_override_syntax=True` to the constructor
- Even more inline-functions are expanded now
- Expansion of inline functions now works properly even if the TRUE-value is empty
Breaking changes
- `cls_item.Variable.Flag` has been deprecated and returns an empty string
Use `cls_item.FlagAssignment` instead
- `cls_item.TaskAssignment` has been deprecated and returns empty strings
Use `cls_item.FlagAssignment` instead
- `helper_files.get_files()` has been deprecated
Use `cls_stash.Stash.GetFiles()` instead
- `helper_files.get_layer_root()` has been deprecated
Use `cls_stash.Stash.GetLayerRoot()` instead
- `helper_files.find_local_or_in_layer()` has been deprecated
Use `cls_stash.Stash.FindLocalOrLayer()` instead
- `helper_files._replace_with_known_mirrors()` has been deprecated
Use `cls_stash.Stash._replace_with_known_mirrors()` instead
- `helper_files.get_scr_components()` has been deprecated
Use `cls_stash.Stash.GetScrComponents()` instead
- `helper_files.safe_linesplit()` has been deprecated
Use `cls_stash.Stash.SafeLineSplit()` instead
- `helper_files.guess_recipe_name()` has been deprecated
Use `cls_stash.Stash.GuessRecipeName()` instead
- `helper_files.guess_base_recipe_name()` has been deprecated
Use `cls_stash.Stash.GuessBaseRecipeName()` instead
- `helper_files.guess_recipe_version()` has been deprecated
Use `cls_stash.Stash.GuessRecipeVersion()` instead
- `helper_files.expand_term()` has been deprecated
Use `cls_stash.Stash.ExpandTerm()` instead
- `helper_files.get_valid_package_names()` has been deprecated
Use `cls_stash.Stash.GetValidPackageNames()` instead
- `helper_files.get_valid_named_resources()` has been deprecated
Use `cls_stash.Stash.GetValidNamedResources()` instead
- `helper_files.is_image()` has been deprecated
Use `cls_stash.Stash.IsImage()` instead
- `helper_files.is_packagegroup()` has been deprecated
Use `cls_stash.Stash.IsPackageGroup()` instead
- `inherit` statements are now moved to `cls_item.Inherit` class.
They are not part of `cls_item.Variable` anymore
Removed legacy interfaces
- `const_func.FUNC_ORDER` has been removed
- `const_func.KNOWN_FUNCS` has been removed
- `const_vars.set_constantfile()` has been removed
- `const_vars.set_rulefile()` has been removed
- `const_vars.get_mandatory_vars()` has been removed
- `const_vars.get_suggested_vars()` has been removed
- `const_vars.get_known_mirrors()` has been removed
- `const_vars.get_protected_vars()` has been removed
- `const_vars.get_protected_append_vars()` has been removed
- `const_vars.get_known_vars()` has been removed
- `const_vars.get_known_distros()` has been removed
- `const_vars.get_known_machines()` has been removed
- `const_vars.get_image_classes()` has been removed
- `const_vars.get_image_variables()` has been removed
- `const_vars.get_base_varset()` has been removed
- `const_vars.VAR_ORDER` has been removed
- `constants.AddFromRuleFile()` has been removed
- `constants.AddFromConstantFile()` has been removed