Muninn

Latest version: v6.4.1

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 5

1.3.1

~~~~~~~~~~~~~~~~

* Added instructions for upgrading existing archives created with a prior
version of muninn to version 1.3.

* Fixed issue in product catalogue rebuild functionality related to the
plug-in API change introduced in version 1.3.

* Reverted changes to exception messages generated by the Postgres backend.

1.3

~~~~~~~~~~~~~~

* Added support for product tags
- Added muninn-tag, muninn-untag, and muninn-list-tags tools to manage
product tags from the command line.
- Added a -T/--tag option to the muninn-ingest tool and the ingest
function of the xml-pi tool.
- Added a has_tag() function that can be used in query expressions to
select products that have been tagged with the specified tag.
- Changed the muninn plug-in API: The analyze() function should return
a tuple or list of two elements: The product properties and a list of
product tags. To ensure backward compatibility, if a plug-in returns
an instance of muninn.Struct, this is used as the product properties,
and the product tags default to the empty list. New plug-in
implementations should conform to the updated API.

* Changes to the query expression language:
- Added support for \timestamps that only contain a date, e.g.
"2012-01-01".
- For properties from the core namespace, the "core." prefix may now be
omitted, e.g. "uuid" is equivalent to "core.uuid".
- The is_source_of() and is_derived_from() functions have been changed
from two argument (binary) to single argument (unary) functions. The
left-hand side is assumed to be the product being searched for, i.e.
is_derived_from(uuid) matches all product that are derived from
the product with the specified uuid.

* Added support for more than one export format per product type. See also the
new -f/--format option of the muninn-export tool.

1.2.1

~~~~~~~~~~~~~~~~

* Fixed race condition that caused failures when several clients tried to
ingest products that shared the same archive path.

* Fixed race condition that could cause failures when several clients try to
remove the same product(s).

* Added -c/--copy option to muninn-ingest that forces ingestion of a copy of
each product. The -l/--link option and -c/--copy option are mutually
exclusive. If neither option is provided, the "use_symlinks" option from the
archive configuration file controls wether products will be ingested as
symlinks or as copies.

1.2

~~~~~~~~~~~~~~

* Changed muninn-remove to always remove products from disk as well as from
the product catalogue.

* Added muninn-strip tool that removes products from disk but not from the
product catalogue.

* Added -d/--directory option to muninn-retrieve and muninn-export that
controls the directory where the retrieved/exported products will be stored.

* Changed muninn-search multi-valued arguments (-o and -p) such that these
options can be specified multiple times, and a white space separated list of
values can be provided. This avoids the use of "--".

* Several minor changes:
- Changed muninn-search to output all properties of the core namespace
when no properties are specified using "-p".
- Minor tweak to the output of muninn-search to improve readability of
empty values at the beginning or end of a line.
- Improved error messages produced by expression lexer/parser.

1.1

~~~~~~~~~~~~~~

* Fixed issue where failure during product ingestion could lead to stale
entries in the product catalogue with the "core.active" property set to
false.

* Changed ingest and remove operations to use temporary directories located
inside the product archive itself instead of using separate temporary
directory. Using a separate directory caused issues if it resided on a
different mount point than the product archive.
- NB. As a result of this change, the product archive is located
directly under the archive root path specified in the configuration
file. The intermediate "data" and "tmp" directories no longer exist.

* Create relative links when ingesting (using symbolic links) a product that
consists of one or more files or products that already reside inside the
archive. This ensures the archive as a whole can be relocated without
breaking intra-archive symbolic links.

* Improvements to avoid idle database connections:
- Added support for explicitly closing an archive when it is no longer
needed.
- Changed the Postgres backend to defer connecting to the database until
a connection is required.

* Removed support for verifying product hash when retrieving or exporting a
product.
- NB. As a consequence the "verify_hash_on_retrieve" archive
configuration option was removed as well.

* Added API support for updating (re-extracting) the properties of archived
products.

* Added API support for manipulating product properties.

* Changed extension loading to skip paths in the MUNINN_EXTENSIONS_PATH that
do not exist.

* Fixed issue where sections of a search expression that could not be
tokenized were silently ignored.

* Changed parser to ignore white space at the end of a search expression.

* Improved documentation.

1.0

~~~~~~~~~~~~~~

* First official release of muninn.

Page 5 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.