As part of this release we had 1 issue closed. Goals for this milestone:
- Update to use Freshli-Lib v0.4.0 (handle multiple manifest files).
Dependencies
- #43 Upgrade to Freshli-Lib v0.4.0
Associated Docker image: corgibytes/freshli-cli:0.5.0-beta.1-3.Branch.release-0.5.Sha.ad481d18e7ee54c12ab2c94431a16683bd0fbf1e
As part of this release we had 86 issues closed.
- Packaged as a Docker container instead of as a
dotnet tool - Adds the
analyzecommand- Implements a new processing pipeline
- Relies on "language agent" executables for language-specific operations and
- Uses language-agent-generated CycloneDX file as a data-source computing LibYear.
- Adds the
cache preparecommand- Prepares the cache that's used by the
analyzecommand. This is performed implicitly whenanalyzeis run and the cache does not already exist.
- Prepares the cache that's used by the
- Adds the
cache destroycommand- This command can be used to remove the cache
- Adds the
agents detectcommand- This command is used to list all of the language agents that are available to the
freshliexecutable. This operation is run implicitly whenanalyzeis run.
- This command is used to list all of the language agents that are available to the
- Adds the
agents verifycommand- This command is used to verify that each language agent (or a specific language agent) behaves in a way that is compatible with the
freshlicommand.
- This command is used to verify that each language agent (or a specific language agent) behaves in a way that is compatible with the
Note: the scan command is now deprecated. It will be removed in the next release.
Bugs
- #123
CurrentCultureis explicitly set toInvariantCulturebut where? - #133 Calling
freshli git clone ..twice in a row, results in a git error - #175 Exceptions thrown by
IApplicationActivity.HandleandIApplicationEvent.Handleneed to be more visible - #184 Make date time output format consistent with other Freshli projects
- #213 Compute history should be able to work with custom intervals like 2weeks or 3months
- #268 Change DateTimeOffset format string to 'o'
- #281 Generate error event if no agents are found
- #308 Analyzing repository with an interval bigger than it's age will fail
- #322 Use "as of" date when computing package LibYear value
- #342
gitis missing from production Docker container image - #343 Fix url for viewing results
- #344
PrepareCacheActivityis ignoring the result of callingCacheManager.Prepare - #345 The
PrepareCacheActivityshould not save aCachedAnalysisobject to the database - #346 Handle "database is locked" error when writing to cache database
- #347 Handle child modules in multi-module project
- #361 Prevent
process-manifestsfrom being called in parallel for the same directory
DevOps
- #33 Warning when adding assets to GitHub release in CI
- #41 Fixes #33, removes warning for GitReleaseManager on Add Asset
- #47 Workflows are referencing vulnerable actions
- #66 Configure Dependabot for auto upgrading dependencies
- #72 Upgrade GitVersion and GitReleaseManager to latest versions
- #74 Address warning messages during publish step
- #83 Add support for
*.rbto the.editorconfigfile - #124
MainCommand.cskeeps being edited by the formatter - #227 Fix failing CI on
mainbranch - #316 Build production image and push to Docker Hub
- #317 Ensure Freshli Web API is deployed
- #359 Get CI passing on the
mainbranch
Documentation
- #82 Document project style guidelines for C#
- #226 Clean up README file and NuGet
- #271 Auto-generate diagram for activities and events
Enhancements
- #25 Add Scan and Help commands
- #45 Specify level of debug information
- #49 Add
cache preparecommand - #50 Add
cache destroycommand - #51 Add
git clonecommand - #52 Add
git compute-historycommand - #53 Add
git checkout-historiescommand - #54 Add
git checkout-historycommand - #56 Add
analyzecommand - #57 Add
bom generate-historiescommand - #58 Add
bom generate-historycommand - #59 Add
bom detect-all-manifestscommand - #60 Add
bom process-all-manifestscommand - #61 Add
agents detectcommand - #62 Add
agents verifycommand - #65 Change executable name to
freshli - #87 Add
versioncommand - #97 Add
compute libyearcommand - #137 Add a Message Bus
- #146 Prepare Cache
- #147 Start analysis
- #148 Clone git repository
- #149 Compute history
- #150 Checkout history
- #151 Detect Manifests
- #152 Generate bill of materials
- #153 Compute libyear
- #163 Cache Destroy
- #174 Use
cache prepareactivities and events to prepare cache fromCacheWasNotPreparedEventhandler - #192 Create Docker image that includes
freshli-cliandfreshli-agent-javafor runningfreshli analyze - #205 Let
GitRepositoryClonedEvent.HandlepassComputeHistoryActivityto the activity engine - #208 Let
HistoryIntervalStopFoundEvent.HandlepassCheckoutHistoryActivityto the activity engine - #215 Let AnalysisStartedEvent.Handle pass CloneGitRepositoryActivity to the activity engine
- #232 Adjust number of workers that should be running
- #234 Add option to
analyzecommand so that it does not collect historical metrics - #235 Send
analyzeresults to Freshli-Web API - #237 Let
HistoryStopCheckedOutEvent.HandlepassDetectAgentsForDetectManifestsActivityto the Activity Engine - #238
ManifestDetectedEventdispatchGenerateBillOfMaterialsActivity - #239
BillOfMaterialsGeneratedEventdispatchComputeLibYearActivity - #240 Flesh out acceptance tests
- #242
AnalyzeRunnerable to return a non-zero exit code in case something went wrong - #287 Analyze a codebase that already has been checked out
- #315 Add acceptance test for QuestDB repository
- #323 Spawn an activity for computing the LibYear of each package
- #324 Performance
- #357 Cache calls to
retrieve-release-history
Epics
- #55 [EPIC] Implement CycloneDX-based pipeline
- #135 [EPIC] Implement an CQRS-Lite architecture
- #318 [EPIC] Fix any bugs that might be found while during a run through of the script
Questions
- #187 Determine if history interval logic has been implemented as described in
analyze - #188 Determine if commit history logic has been implemented as described in
analyze
Refactoring
Testing
As part of this release we had 7 issues closed. Goals for this milestone:
- Download CLI as .NET tool.
- Localize CLI.
- Better how to use documentation.
DevOps
- #35 Unexpected input for CLA action
- #21 Update GitReleaseManager support labels
- #20 Creating empty GitHub Release fails
Dependencies
- #38 Update Freshli Lib to 0.4.0-alpha0208
Documentation
- #22 Update ReadMe with how to use CLI
Enhancements
As part of this release we had 8 issues closed. Goals for this milestone:
- Proper versioning and change log.
- Use beta version of Freshli NuGet package.
- Make exe available to download.
Bug
- #13 Issue for testing changelog generation
Enhancements
- #15 Add CLA configuration
- #10 Rename Freshli.Cli project and namespaces to Corgibytes.Freshli.Cli
- #9 Make the command line executable downloadable as a GitHub release asset
- #8 Auto generate the release notes
- #7 Create automated build for the executable
- #6 Consumes Freshli Core as NuGet Package
- #4 Setup CodeClimate Maintainability and Code Coverage for CLI
ibytes/freshli-cli/issues/4) Setup CodeClimate Maintainability and Code Coverage for CLI
i-cli/issues/4) Setup CodeClimate Maintainability and Code Coverage for CLI