dict_list
now retains the value's type from the passed dictionary.
- Add a
sort
option tosavename
.
- Better default readme file for a new project.
- new keyword argument
rpath
forcollect_results!
that allows storing relative paths
- New macro
@onlyif
that allows placing restrictions on values in a dictionary used for expansion withdict_list
gitpach
now shows a warning ifgit
was not found in PATH
savename
now includesTimeType
(dates) in the default allowed types.
wsave/wload
now support keyword arguments.
- Macros
@pack!, @unpack
are re-exported by DrWatson.
- New function
struct2ntuple
that converts a struct to a NamedTuple (for saving)
savename
now has theignore
option.
@quickactivate
was enhanced to allow projects that also represent a module.initialize_project
no resolves the folder name for naming the project if the path is given as "." or ".."
- Improve the introductory file created by DrWatson.
@tag!
and@tagsave
now support using;
as keywords separator (#111)
quickactivate
doesn't do anything anymore if you try to activate to already active project.- New macro
@quickactivate
- Started to add support for overloading save/load for custom files. See the updated docs around
wsave
andwload
.
- Fix a bug that created incompatible version strings in generated
Project.toml
files on release candidate versions of Julia.
savename
now supports rounding to significant digits with the keyword argumentscientific
, wherescientific
defines the number of significant digits.
initialize_project
now adds a Julia version undercompat
in the createdProject.toml
when it is called.- The functions
tag!, tagsave
and their respective macros now obtain their arguments (besides the first two) as keywords instead of positional arguments. The positional versions are deprecated (#93). - New keyword
force = false
fortag!
and co. which replaces the existinggitcommit
field.
- Improved behavior of
savename
with respect to nested containers. If a nested container is empty, it is not printed instead. For example,T=100_p=()_x=2
now becomesT=100_x=2
. (ifp
is not empty then it is expanded as usual)
initialize_project
no longer makes a test directory.
- Allow
tag!
and derivatives to handle dictionaries with key typeAny
.
First major release (no notable change from 0.8.0).
- [BREAKING] : The
gitpath
argument used among many functions can now also point to a subdirectory within a git repository. Previously it had to be the top directory (i.e. the one containing.git/
). - [BREAKING] : Slightly changed how
produce_or_load
usespath
and interacts withsavename
, to better incorporate the changes done in version 0.6.0.prefix
is now also supported. tag!
and co now also store the git diff patch if the repo is dirty, seegitpatch
(#80).- [BREAKING] :
tag!
now saves the commit information into a fieldgitcommit
instead of justcommit
.
projectdir()
now warns if no project (other than the standard one) is active
- New macro
@savename
that is a shortcut forsavename(@dict vars...)
- New function
gitdescribe
(see below) - [DEPRECATED]
current_commit()
has been deprecated and replaced bygitdescribe()
which now replaces the output ofgit describe
if an annotated tag exists, otherwise it will return the latest commit hash.
- [BREAKING] Reworked the way the functions
projectdir
and derivatives work (#47, #64, #66). Nowprojectdir(args...)
usesjoinpath
to connect arguments. None of the functions likeprojectdir
and derivatives now end in/
as well, to ensure more stability and motivate users to usejoinpath
or the new functionality ofprojectdir(args...)
instead of using string multiplication*
. - New function
parse_savename
that attempts to reverse engineer the result ofsavename
.
- Improvements to
.gitignore
(#55 , #54)
This release has breaking changes.
- Adjusted return value of
produce_or_load
(#52). It now always return the file and the path it is saved. Ifloadfile = false
it returnsnothing, path
. - The functionality of
default_prefix
has been modified (#51). Now there is a nice interplay between defining adefault_prefix
and passing a prefix tosavename
. They are merged likejoinpath(prefix, default_prefix)
. This is valid only whendefault_prefix
has a value other than""
(the default).
- Add expand functionality to
savename
, which handles better containers with nested containers (#50) produce_or_load
now allows the possibility of not loading the file- New function
struct2dict
that converts a struct to a dictionary (for saving)
- Added
test
as a directory of the default project (#43) - Added
tmpsave
functionality: save the result ofdict_list
in temporary files and conveniently work with sequential clusters (#45) - Now all saving related functions of DrWatson first
mkpath
of the path to save at and then save (#45)
- Improve type-stability of return value of
dict_list
(#41)
- Changed
path
andprojectpath
arguments of various functions (e.g.tagsave
,current_commit
) togitpath
universally. - make keyword arguments of
tagsave
positional arguments instead (to work with the macros) - Added two new macros:
@tag!
and@tagsave
: these do the same thing astag!, tagsave
but in addition are able to record both the script name that called them as well as the line of code that they were called at.
This is the first beta release! Changelog is kept with respect to here!