All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
2019-11-03
- A number of improvements to the go dependency enumerator
- use
go env GOPATH
as a default if no other GOPATH is found - better compatibility with go modules when finding license content
- better compatibility with vendored go modules
- use a packages godoc.org page as it's homepage
- better checks for standard packages, reducing the amount of cached content
- use
2019-10-26
- Performance improvements during dependency enumeration (:tada: @krzysztof-pawlik-gat licensee#204, licensee#207) (licensee#210)
2019-10-22
- Mix source for Elixir (:tada: @bruce licensee#195)
2019-09-26
env
command to output application environment configuration (licensee#187, licensee#191)
status
command will pass if multiple allowed licenses are found (licensee#188)
2019-09-15
- Composer source for PHP (licensee#182)
2019-08-26
- Bundler with/without array settings are properly handled for bundler 1.15.x
2019-08-20
- Using the npm source with yarn, "missing" dependencies are no longer considered errors (:tada: @krzysztof-pawlik-gat licensee#170)
- The bundler source now calls
gem specification
with dependency version requirements (licensee#173)
2019-05-19
- New Pipenv dependency source enumerator (:tada: @krzysztof-pawlik-gat licensee#167)
2019-05-11
- Content hash versioning strategy for go and manifest sources (licensee#164)
- Python source handles urls and package names with "-" in requirements.txt (:tada: @krzysztof-pawlik-gat licensee#165)
2019-04-16
- New Gradle dependency source enumerator (:tada: @dbussink licensee#150, @jandersson-svt licensee#159)
- Metadata added to distributed packages (licensee#160)
- Bundler dependency source loads license key from a gem's cached gemspec file as a fallback (licensee#154)
- Licensed will only raise errors on an empty dependency path when caching records (licensee#149)
- Migrating to v2 will no longer crash trying to migrate cached records that don't exist (licensee#148)
- Reported warnings will no longer crash licensed when caching records (licensee#147)
2019-02-14
- Dependency paths that don't exist on the local disk are reported as warnings
- Cache, status and list output is sorted by app name, source type and dependency name
- Bumped
licensee
gem requirement
2019-02-09
This is a major release and includes breaking changes to the configuration and cached record file formats
- New
migrate
command to automatically update configuration and cached record file formats - New extensible reporting infrastructure
- New base command and source classes to abstract away implementation details
- Cached dependency metadata files are now stored entirely as YAML, with
.dep.yml
extension - The Bundler dependency source is now identified in configuration files and output as
bundler
instead ofrubygem
- Refactored sources for better consistency between classes
- Refactored commands for better consistency between classes
- Command outputs have changed for better consistency
- Updated Dependency classes for better integration with
licensee
- Licensed no longer exits on errors when evaluating dependency sources or finding dependencies
- The Bundler dependency source correctly finds the
bundler
gem as a dependency in more cases
2018-12-27
- Go source added support for Go modules and Golang 1.11+ (licensee#113)
- Licensed will have a non-zero exit code when commands fail (:tada: @parkr licensee#111)
2018-10-30
- Fixed a scenario where licensed wasn't finding bundler dependencies when run as an executable due to a ruby version mismatch (licensee#106)
2018-10-24
licensed (version | -v | --version)
command to see the current licensed version (:tada: @mwagz! licensee#101)
- NPM source no longer raises an error when ignored dependencies aren't found (:tada: @mwagz! licensee#100)
- Checking for a Git repo will no longer possibly modify
.git/index
(:tada: @dbussink licensee#102) - Fixed a scenario where licensed wasn't finding bundler dependencies when run as an executable (licensee#103)
2018-10-20
- Git Submodules dependency source 🎉
- Configuration option to explicitly set a root absolute path
COPYING
file is no longer matched as a legal file
- NPM source will enumerate multiple versions of the same dependency
- Running Licensed outside of a Git repository no longer raises an error
- Packaging scripts will correctly return to the previous branch when the script is finished
2018-09-20
- Bundler source will avoid looking for a gemspec file when possible
2018-09-07
- Manifest source configuration globs correctly enumerates files from within submodules
- The manifest source no longer errors when getting version information from submodules
2018-08-15
- Fixed issue when multiple versions of a cabal package are found
2018-08-01
- Fixed regression finding ruby gems by path
2018-07-25
- Manifests for the manifest dependency source can be specified using glob patterns in the configuration
- Paths to licenses for dependencies from the manifest dependency source can be specified in the configuration
- Manifest dependency source looks for license content in C-style comments if a license file isn't found
- GitHub is no longer queried to find remote license information
- Removed custom logic around determining whether to use the license key from
licensee
- NPM dependency enumeration doesn't use
npm list
- Licensed now tracks content from multiple license files when available
- Fixed regression finding platform-specific ruby gems
2018-06-22
- Building and packaging distributable exes for licensed releases
- Can now configure which Gemfile groups are excluded from dependency enumeration
- Bundler is no longer always reported as a dependency
- Set the minimum required ruby version for licensed
2018-06-04
- Pip dependency source 🎉
- Go Dep dependency source 🎉
- Changed how
sources
configuration property affects which sources are enabled - Raise informative error messages when shell commands fail
- Don't reuse cached license when cached version metadata is missing
- Disable dependency sources when dependent tools are not available
- Vendored packages from the go std library are properly excluded
- Cabal dependency enumeration properly includes executable targets
2018-04-26
- GOPATH settable in configuration file
- Reuse "license" metadata property when license text has not changed
- Path expansion for cabal "ghc_package_db" configuration setting occurs from repository root
- Local Gemfile(.lock) files correctly used in enumerating Bundler source dependencies
2018-02-20
Initial release 🎉