Skip to content

v0.5.0

Compare
Choose a tag to compare
@github-actions github-actions released this 31 Oct 19:46

As part of this release we had 86 issues closed.

  • Packaged as a Docker container instead of as a dotnet tool
  • Adds the analyze command
    • 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 prepare command
    • Prepares the cache that's used by the analyze command. This is performed implicitly when analyze is run and the cache does not already exist.
  • Adds the cache destroy command
    • This command can be used to remove the cache
  • Adds the agents detect command
    • This command is used to list all of the language agents that are available to the freshli executable. This operation is run implicitly when analyze is run.
  • Adds the agents verify command
    • This command is used to verify that each language agent (or a specific language agent) behaves in a way that is compatible with the freshli command.

Note: the scan command is now deprecated. It will be removed in the next release.

Bugs

  • #123 CurrentCulture is explicitly set to InvariantCulture but where?
  • #133 Calling freshli git clone .. twice in a row, results in a git error
  • #175 Exceptions thrown by IApplicationActivity.Handle and IApplicationEvent.Handle need 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 git is missing from production Docker container image
  • #343 Fix url for viewing results
  • #344 PrepareCacheActivity is ignoring the result of calling CacheManager.Prepare
  • #345 The PrepareCacheActivity should not save a CachedAnalysis object 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-manifests from 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 *.rb to the .editorconfig file
  • #124 MainCommand.cs keeps being edited by the formatter
  • #227 Fix failing CI on main branch
  • #316 Build production image and push to Docker Hub
  • #317 Ensure Freshli Web API is deployed
  • #359 Get CI passing on the main branch

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 prepare command
  • #50 Add cache destroy command
  • #51 Add git clone command
  • #52 Add git compute-history command
  • #53 Add git checkout-histories command
  • #54 Add git checkout-history command
  • #56 Add analyze command
  • #57 Add bom generate-histories command
  • #58 Add bom generate-history command
  • #59 Add bom detect-all-manifests command
  • #60 Add bom process-all-manifests command
  • #61 Add agents detect command
  • #62 Add agents verify command
  • #65 Change executable name to freshli
  • #87 Add version command
  • #97 Add compute libyear command
  • #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 prepare activities and events to prepare cache from CacheWasNotPreparedEvent handler
  • #192 Create Docker image that includes freshli-cli and freshli-agent-java for running freshli analyze
  • #205 Let GitRepositoryClonedEvent.Handle pass ComputeHistoryActivity to the activity engine
  • #208 Let HistoryIntervalStopFoundEvent.Handle pass CheckoutHistoryActivity to 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 analyze command so that it does not collect historical metrics
  • #235 Send analyze results to Freshli-Web API
  • #237 Let HistoryStopCheckedOutEvent.Handle pass DetectAgentsForDetectManifestsActivity to the Activity Engine
  • #238 ManifestDetectedEvent dispatch GenerateBillOfMaterialsActivity
  • #239 BillOfMaterialsGeneratedEvent dispatch ComputeLibYearActivity
  • #240 Flesh out acceptance tests
  • #242 AnalyzeRunner able 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

  • #93 Spike: Enable Nullable Across Project
  • #139 Invoke CliWrap calls from a single functions

Testing

  • #63 Add Aruba Testing
  • #129 Let AgentsReader return mock data from a script