# Changelog for Dev::Util
All notable changes to this project will be documented in this file.
## [version/v2.19.6] - 2025-11-18
### ๐ Features
- *(os)* Add fn is_freebsd, and associated tests
- *(os)* Add distro version hashes, is_openbsd sub
- *(os)* Add functions is_freebsd and is_openbsd, with tests, docs
### ๐ Bug Fixes
- Check for existence of files before deleting
- *(file)* Skip tests if setting setuid/setgid/sticky on test file fails
- *(file)* Skip test (not skip_all) if block/char files is not avail
### โ๏ธ Miscellaneous Tasks
- *(version)* Bump version minor level
### ๐ Refactor
- *(test)* Remove the dependence on yath
- *(tests)* Utilize Test2::Require::Module to ensure test modules are available
### ๐งช Testing
- *(boilerplate)* Add Dev::Util::Sem
## [release/2025/11/15/1336] - 2025-11-15
### ๐ Documentation
- *(changelog)* Update changelog
## [version/v2.18.35] - 2025-11-15
### ๐ Bug Fixes
- *(test)* Remove the plan because number of tests is variable.
- *(mode)* Change file permissions to allow access to test file
- *(timezone)* Set timezone so all testers use the same one
### โ๏ธ Miscellaneous Tasks
- *(version)* Bump version patch level
### ๐ Refactor
- *(use)* Standarize module loading, remove use lib 'lib'
## [release/2025/11/15/0912] - 2025-11-15
### ๐ Documentation
- *(changelog)* Update changelog
## [version/v2.18.31] - 2025-11-15
### โ๏ธ Miscellaneous Tasks
- *(version)* Bump version patch level
### ๐ Refactor
- *(use)* Standarize module loading, remove use lib 'lib'
- *(yath)* Add option to not use concurrency (--single)
### ๐งช Testing
- *(yath)* Update test configuration and options
### ๐ง Build
- *(git)* Ignore yath temp file lastlog.jsonl
## [release/2025/11/14/0931] - 2025-11-14
### ๐ Documentation
- *(changelog)* Update changelog
## [version/v2.18.26] - 2025-11-14
### โ๏ธ Miscellaneous Tasks
- *(version)* Bump version patch level
### ๐งช Testing
- Remove Data::{Dumper,Printer}. Set plan
### ๐ Documentation
- *(pod)* Clarify documentation
- Documentation improvements
- *(readme)* Use Dev::Util::Syntax automatically adds use strict and use warnings
## [release/20251114] - 2025-11-14
### ๐ Documentation
- *(changelog)* Update changelog
### ๐ง Build
- *(manifest)* Update manifest and signature file
### Other
- *(other)* Merge branch 'sem' - Create Sem module
* sem:
build(manifest): Update manifest and signature file
docs(changelog): Update changelog
chore(version): Update version minor level
docs(pod): Expand the pod documentation
chore(example): Create simple example of semaphore locking
fix(diagnostics): Remove diagnostics code used in development
test(remove): Delete block testing second semaphore wait
feat(semaphor): Create Sem file locking module and tests
build(critic): Add _get_locks_dir to ProtectPrivateSubs
docs(links): Remove links to defunct websites: AnnoCPAN and CPAN Ratings
docs(contibuting): Document coding style for contributions
docs(contributing): Create a policy for contibutions to this project
fix(links): Remove links to defunct websites: AnnoCPAN and CPAN Ratings
chore(security): Add security policy tool. Create security policy.
build(support): Create support dir for development tools
build(makefile): Add IO::Prompt, App::Yath to PREREQ_PM and TEST_REQUIRES respectively
build(makefile): Add new tests in XT_TEST_REQUIRES
docs(readme): Add pod description for Dev::Util::Sem
test: Add xt tests for utf-8 and file name portability
test(pod): Rename pod.t to pod-syntax.t
## [version/v2.18.19] - 2025-11-14
### ๐ Features
- *(semaphor)* Create Sem file locking module and tests
### ๐ Bug Fixes
- *(links)* Remove links to defunct websites: AnnoCPAN and CPAN Ratings
- *(diagnostics)* Remove diagnostics code used in development
### โ๏ธ Miscellaneous Tasks
- *(security)* Add security policy tool. Create security policy.
- *(example)* Create simple example of semaphore locking
- *(version)* Update version minor level
### ๐งช Testing
- *(author)* Convert to Author test perl{tidy,critic}
- *(pod)* Rename pod.t to pod-syntax.t
- Add xt tests for utf-8 and file name portability
- *(remove)* Delete block testing second semaphore wait
### ๐ Documentation
- *(readme)* Add pod description for Dev::Util::Sem
- *(contributing)* Create a policy for contibutions to this project
- *(contibuting)* Document coding style for contributions
- *(links)* Remove links to defunct websites: AnnoCPAN and CPAN Ratings
- *(pod)* Expand the pod documentation
### ๐ง Build
- *(makefile)* Add new tests in XT_TEST_REQUIRES
- *(makefile)* Add IO::Prompt, App::Yath to PREREQ_PM and TEST_REQUIRES respectively
- *(support)* Create support dir for development tools
- *(critic)* Add _get_locks_dir to ProtectPrivateSubs
## [release/20251111] - 2025-11-11
### ๐ Documentation
- *(changelog)* Update changelog
## [version/v2.17.17] - 2025-11-11
### โ๏ธ Miscellaneous Tasks
- *(version)* Update version to v2.17.17
### ๐ Refactor
- *(use)* Clean up use statements
- *(use)* Clean up use statements
- *(use)* Remove un-needed modules
- *(makefile)* Add METE_MERGE info. Update PREREQ_PM & TEST_REQUIRES
### ๐งช Testing
- *(spell)* Add to spelling whitelist
- *(boilerplate)* Fix typo for README.md
### ๐ Documentation
- *(pod)* Add function descriptions
- *(readme)* Convert README to Markdown
- *(readme)* Customize README.md for this module and sub-modules
- *(pod)* Updated and corrected pod documentation for modules
### ๐จ Styling
- *(typo)* Fix spelling mistake
### ๐ง Build
- *(makefile)* Update Prereq_pm with needed modules
## [version/v2.17.4] - 2025-11-10
### ๐ Features
- *(mk_temp_file)* Autoflush temp file, don't unlink it
### โ๏ธ Miscellaneous Tasks
- *(version)* Update version to v2.17.4
### ๐ Refactor
- *(ipc_run)* [**breaking**] Rename functions ipc_run_{l,s} to ipc_run_{c,e}
- *(query)* Code clean up
### ๐งช Testing
- *(const)* Fix test diagnostic messages
- *(spelling)* Add spell check for pod documentation
- *(boilerplate)* Update list of submodules
- *(coverage)* Add tests for better conditional coverage
- *(read_list)* Add tests for read_list
- *(query)* Add tests for query module
### ๐จ Styling
- *(test)* Fix typo in test message
- *(spelling)* Fix mis-spelling of ACKNOWLEDGMENTS
### ๐ง Build
- *(docs)* Add make manifest and make signature
## [version/v2.15.4] - 2025-11-07
### โ๏ธ Miscellaneous Tasks
- *(version)* Update version minor level
### ๐ Refactor
- *(file)* [**breaking**] Move functions to File from Utils
- *(os)* [**breaking**] Move functions to OS from Utils
- *(utils)* [**breaking**] Move Utils to Query
### ๐งช Testing
- Test functions in new module
- *(query)* Convert to Query from Utils
### ๐ Documentation
- *(pod)* Update Pod docs
- *(pod)* Update Pod docs
### Other
- *(other)* Merge branch 'query'
* query:
docs(pod): Update Pod docs
test(query): Convert to Query from Utils
refactor(utils)!: Move Utils to Query
## [version/v2.16.4] - 2025-11-06
### ๐ Features
- *(docs)* Add script to make docs for modules
- *(read_list)* Add read_list function
- *(mk_tmp_dir)* Add ability to specify temp dir
### ๐ Bug Fixes
- *(pod)* Fix typo in pod
- *(display_menu)* Use prompt from IO::Prompt, not the local one
### โ๏ธ Miscellaneous Tasks
- Merge branch 'utils'
* utils: (26 commits)
fix(display_menu): Use prompt from IO::Prompt, not the local one
docs(pod): Update Pod docs
test(valid): Remove tests for deleted function
refactor(prompt): Modernize code with IO::Prompt, keeping API
refactor(display_menu): Modernize code, use IO::Prompt
feat(mk_tmp_dir): Add ability to specify temp dir
feat(read_list): Add read_list function
refactor(yes_no_prompt): Rewrite function using IO::Prompt
refactor: Remove get_keypress and valid functions, and tests
docs(markdown): Create markdown docs for modules via make_docs.sh
feat(docs): Add script to make docs for modules
build(manifest): Exclude scratch dir from manifest
fix(pod): Fix typo in pod
test(load): Include Dev::Util::File in load test
build(git): Update git ignore file
test(perlcritic): Update perl critic test
test(xt): Include xt tests when running yath
docs(install): Add installation documentation
refactor(test): Modernize Author tests
refactor(use): Remove un-needed modules
...
- *(version)* Update version to v2.12.4
### ๐ Refactor
- *(utils)* [**breaking**] Move file and dir functions to new module: Dev::Util::File
- *(use)* Remove un-needed modules
- *(test)* Modernize Author tests
- Remove get_keypress and valid functions, and tests
- *(yes_no_prompt)* Rewrite function using IO::Prompt
- *(display_menu)* Modernize code, use IO::Prompt
- *(prompt)* Modernize code with IO::Prompt, keeping API
### ๐งช Testing
- *(xt)* Include xt tests when running yath
- *(perlcritic)* Update perl critic test
- *(load)* Include Dev::Util::File in load test
- *(valid)* Remove tests for deleted function
### ๐ Documentation
- *(constants)* Define the constants
- *(install)* Add installation documentation
- *(markdown)* Create markdown docs for modules via make_docs.sh
- *(pod)* Update Pod docs
### ๐ง Build
- *(git)* Update git ignore file
- *(manifest)* Exclude scratch dir from manifest
## [version/v2.1.6] - 2025-10-29
### โ๏ธ Miscellaneous Tasks
- *(merge)* Merge branch 'devutil'
- *(version)* Bump version minor level
### ๐ Refactor
- *(utils)* [**breaking**] Move names constants to separate module, Dev::Util::Const
### ๐งช Testing
- *(const)* New tests for Const module
- *(module)* Include new Const module in loading tests
### ๐ Documentation
- *(module)* Update manifest
## [version/v2.0.7] - 2025-10-26
### โ๏ธ Miscellaneous Tasks
- *(version)* Bump version major level
### ๐ Refactor
- *(module)* [**breaking**] Begin conversion to Dev::Util from MERM::Base
- *(module)* [**breaking**] Convert Makefile.PL
- *(module)* [**breaking**] Convert cliff toml
- *(module)* [**breaking**] Convert example programs
- *(module)* [**breaking**] Convert lib dir name
- *(module)* [**breaking**] Convert pm modules
- *(module)* [**breaking**] Convert tests
### ๐งช Testing
- *(prereqs)* Update list of required modules
### ๐ Documentation
- *(changelog)* Update changelog
## [version/v1.1.6] - 2025-10-25
### โ๏ธ Miscellaneous Tasks
- *(version)* Bump version patch level
- *(merge)* Merge branch 'backup'
### ๐ Refactor
- Modernize code, use MERM::Base::Backup
- Modernize code, add pod docs
### ๐งช Testing
- *(load)* Include MERM::Base::Backup in load test
- *(backup)* Add tests for directory backup
### ๐จ Styling
- *(tidy)* Clean up code
## [version/v1.1.3] - 2025-10-23
### ๐ Features
- *(modules)* Add depentant modules for MERM::Base::Backup
- Add MERM::Base::Backup module
- Add bu script
### โ๏ธ Miscellaneous Tasks
- *(manifest)* Add SIGNATURE and VERSION
- *(version)* Bump version patch level
- *(version)* Bump version minor level
### ๐งช Testing
- Add tests for MERM::Base::Backup
- *(kwalitee)* Update kwalitee test
### ๐ Documentation
- *(pod)* Add reference to MERM::Base::Backup
- *(manifest)* Add Backup module and test files
- *(pod)* Fix format errors via podchecker
- *(changelog)* Add changelog generated by git cliff
- *(pod)* Update pod documentation for modules
### ๐จ Styling
- *(tidy)* Clean up code. Use /usr/bin/env perl
- *(tidy)* Clean up code
### ๐ง Build
- *(changelog)* Use git cliff
- *(cliff)* Fix error in default cliff.toml
## [version/v1.0.11] - 2024-09-17
### ๐ Features
- *(syntax)* Add 'use version', bump version to 1.0.10
### ๐ Bug Fixes
- *(yes_no_prompt)* Initialize value
### ๐จ Styling
- *(Utils)* Perl Tidy
### Other
- *(other)* Add test report-prereqs. Bump version
## [version/v1.0.8] - 2024-06-26
### Other
- *(other)* Update Makefile.PL to include requirements
- *(other)* Update manifest
- *(other)* Remove duplication
## [version/v1.0.6] - 2024-06-21
### Other
- *(other)* Base modules for perl development. Initial Commit.
- *(other)* Sync dev infrastructure with established codebase
MERM::SmartTools
- *(other)* Use base dev infrastructure for testing
Update to MERM::Base
- *(other)* Merge branch 'testing'
* testing:
Use base dev infrastructure for testing
module-starter
--module=MERM::Base
--module=MERM::Base::Syntax
--module=MERM::Base::Utils
--builder=ExtUtils::MakeMaker
--author='Matt Martini'
--email=matt@imaginarywave.com
--ignore=git
--license=gpl3
--genlicense
--minperl=5.018
--verbose
- *(other)* Tidy tests
- *(other)* Sync code with MERM::SmartTools
- *(other)* Add OS module and tests
- *(other)* Update version
<!-- generated by git-cliff -->