Changelog and Update History
A changelog is a document that tracks the history of changes in a project, typically organized by version numbers. It serves as a transparent record for developers, users, and contributors, detailing what has been added, updated, fixed, removed, or addressed in terms of security. By offering a structured overview, changelogs play a vital role in maintaining trust, facilitating communication, and easing version management.
Changelogs provide a transparent narrative of a project’s evolution. They ensure users can make informed decisions about updating software and give contributors insights into the project’s direction. For development teams, changelogs are invaluable for version control and accountability. Well-maintained changelogs foster trust, improve user engagement, and ensure smoother project management for all stakeholders.
Key Components of a Changelog:
- Adds: This section highlights new features, tools, or functionalities introduced to the project. For example, a CLI tool may include a new command or configuration option. Clearly listing these additions allows users to discover improvements and expanded capabilities.
- Updates: Updates reflect modifications or enhancements to existing features, such as performance optimizations or UI/UX improvements. These entries help users understand what has evolved, ensuring they benefit from improved usability or efficiency.
- Fixes: Fixes document the resolution of bugs or issues. By specifying what was corrected, users gain confidence that problems they may have encountered have been addressed, reducing frustration.
- Removes: Sometimes, features or functionalities are deprecated or removed. Listing these changes prevents surprises, enabling users to adapt and refactor their workflows accordingly.
- Security: Security changes focus on vulnerabilities that have been mitigated or resolved. This section reassures users that the project maintains high standards for safety and data protection.
v1.3.4 - 2025-01-07
Adds
- File docstrings for source code, documenting the file role
- File docstrings now observed and inserted into output documentation markdown
Updates
- Mosheh now requires Python 3.13
- Dependencies now supports versions in
lib>=x.x.x
style, no morelib==x.x.x
only mosheh.doc
functions__write_to_file
to_write_to_file
and__update_navigation
to_update_navigation
Fixes
'.'
added to generated documentation files and dirs onmosheh.doc
creation lines
v1.3.3 - 2024-12-27
Adds
- "Role" defined and added to markdown generated doc files
- Functions now has docstring description on markdown
Updates
- Codebase readed files now documented under
- Codebase
section on generatedmkdocs.yml
Security
f'{name}'
tof'{name}'
ontests.PROJECT.dummy.views.index
test example
v1.3.2 - 2024-12-17
Adds
_mark_methods
created onmosheh.codebase
plusencapsulated_mark_methods_for_unittest
for testing- Examples for
mosheh.handler
functions on docstrings
Updates
- Sequence-like
mosheh.constants
constants sorted in code to better performing
Fixes
- Implementing
rich
as direct dependency
v1.3.1 - 2024-12-16
Adds
- Publish official documentation website: https://lucasgoncsilva.github.io/mosheh/
Updates
- Remaking the Mosheh's documentation itself
- Setting documentation website metadata on
pyproject.toml
mosheh.constants
constantsBUILTIN_MODULES
,BUILTIN_FUNCTIONS
,BUILTIN_DUNDER_METHODS
andACCEPTABLE_LOWER_CONSTANTS
fromtyping.Iterator
totyping.Sequence
v1.3.0 - 2024-12-13
Adds
- Handler functions to deal with statements not defined before, such as
ast.For
- all below:
Added Nodes | |||||
---|---|---|---|---|---|
ast.AsyncFor |
ast.AsyncWith |
ast.AugAssign |
ast.Await |
ast.Break |
ast.Continue |
ast.Del |
ast.Delete |
ast.ExceptHandler |
ast.Expr |
ast.For |
ast.FormattedValue |
ast.Global |
ast.If |
ast.Load |
ast.Match |
ast.NamedExpr |
ast.Nonlocal |
ast.ParamSpec |
ast.Pass |
ast.Raise |
ast.Return |
ast.Starred |
ast.Store |
ast.TryStar |
ast.Try |
ast.TypeAlias |
ast.TypeVarTuple |
ast.TypeVar |
ast.While |
ast.With |
ast.YieldFrom |
ast.Yield |
rtype
or return type notation ontests.unittest
test functions- New theme to Mosheh's self documentation code blocks inspired by Dracula Theme
- Insert logs on all the Mosheh's codebase using
mosheh.set_logging_config
and nativelogging
: - CRITICAL: when something crashes the script
- ERROR: non-crashing errors on the script
- WARNING: notorious advising that are not errors
- INFO: normal log level
- DEBUG: detailed step-by-step execution
Updates
mosheh.handler._handle_node
now can handle nodes off all types listed aboveast.FunctionDef
inside ofast.ClassDef
now withFunctionType.Method
attribute on output doc
Removes
Statement
class frommosheh.custom_types
unused types, such asStatement.Call
- all below:
Removed Types | ||
---|---|---|
BinOp = auto() |
Call = auto() |
Compare = auto() |
List = auto() |
Set = auto() |
Tuple = auto() |
Dict = auto() |
Slice = auto() |
Subscript = auto() |
v1.2.1 - 2024-12-10
Adds
- Unittest workflow for automated tests using
pytest
:.github/workflows/unittest.yml
- PyPI publishing workflow for new public versions using
uv
andtwine
:.github/workflows/publish_pypi.yml
- MkDocs publishing workflow for updating documentation using
uv
andmkdocs
:.github/workflows/publish_mkdocs.yml
- New badges for
README.md
"Stack" section: Material for MkDocs, GitHub, GitHub Pages and GitHub Actions [build-system]
,[project.urls]
,[project.scripts]
and some other small infos inserted onpyproject.toml
Updates
- Reordering Stack badges for
README.md
Fixes
mosheh
back as script entrypoint for Mosheh inpyproject.toml
config file
Removes
setup.py
deleted due total substitution bypyproject.toml
v1.2.0 - 2024-12-10
Adds
- Test file for
mosheh.utils
functions:tests.unittest.utils
- Test file for
mosheh.constants
constants:tests.unittest.constants
- Test file for
mosheh.doc
functions:tests.unittest.doc
- Test file for
mosheh.handler
functions:tests.unittest.handler
- Mock test file
mock.py.txt
for servingtests.unittest.handler
as template
Updates
pyproject.toml
settingpytest
to use-vv
parameterlist[Any] | tuple[Any]
tocollections.abc.Sequence[Any]
onmosheh.utils.bin:universe
argdict[Any, Any]
todefaultdict[Any, Any]
onmosheh.utils.nested_dict
rtypedict[Any, Any]
todefaultdict[Any, Any]
onmosheh.utils.add_to_dict:structure
arg and rtype- Changing all
moshe.doc
functions exceptgenerate_doc
to be private (e.g._process_file
) - Changing all
moshe.handlers
functions excepthandle_def_nodes
to be private (e.g._process_file
) - Renaming
moshe.handlers
tomoshe.handler
- Changing
moshe.codebase.iterate
to be private:moshe.codebase._iterate
Fixes
Proccess
word refined toProcess
v1.1.1 - 2024-12-06
Adds
metadata.py
created to separate metadata from the actualmain.py
file
Updates
- Migration from
pip
/requirements.txt
dependency management touv
/pyproject.toml
/uv.lock
/.python-version
documentation/*.md
files formattedREADME.md
updated with new local installation and running instructionsREADME.md
updated with new dependency management system into dir's demonstration- Substituting
handlers.py
'styping.Optional
to... | None
(e.g.Optional[str]
tostr | None
)
Removes
ruff.toml
deleted due topyproject.toml
creation
v1.1.0 - 2024-12-06
Adds
- Creation of
CHANGELOG.md
setup.py
intoREADME.md
dir's demonstrationdocumentation
intoREADME.md
dir's demonstration--edit-uri
parameter defined as'blob/main/documentation/docs'
Updates
README.md
's todo list targets--exit
parameter renamed to--output
--logo-path
argument's defaults toNone
--readme-path
argument's defaults toNone
clickable_checkbox
statement ofmkdocs.yml
defaults tofalse
- Some function docstrings reviewed
v1.0.0 - 2024-12-04
Adds
- First stable version release