diff options
| author | Shulhan <ms@kilabit.info> | 2025-07-06 16:24:17 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2026-04-13 19:24:38 +0700 |
| commit | f461d701925c6cb5331a50dc6a7fefc8985160b4 (patch) | |
| tree | 32fcaa37f6eb37676fe3a9ff9c3e3803104ed05c /CHANGELOG.adoc | |
| parent | 565c279322e4a26f51718d53ad0e7c18e514279a (diff) | |
| download | beku-dev.tar.xz | |
[wip] all: implement function to install Go toolsdev
Diffstat (limited to 'CHANGELOG.adoc')
| -rw-r--r-- | CHANGELOG.adoc | 234 |
1 files changed, 234 insertions, 0 deletions
diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc new file mode 100644 index 0000000..938f921 --- /dev/null +++ b/CHANGELOG.adoc @@ -0,0 +1,234 @@ += Change log for beku +:toc: +:sectanchors: +:sectlinks: + +[#v0_7_1] +== beku v0.7.1 (2022-01-30) + +This is the last release for v0 of beku. +The next release will pivot the beku program to maintain Go versions. + +[#v0_7_1_chores] +=== Chores + +go.mod: update all dependencies:: +This changes affect code that use lib/test.Assert(). + +all: simplify running linter:: +Instead of enabling all linters, run the default linter provided by +the latest golangci-lint. + +all: replace beku_test in testdata with gitsubmodule:: ++ +-- +Previously, the beku_test is bare clone of git repository stored as is. +This cause an initial clone of the beku repository itself does not +recognize it as git repository, which make the test fail: + +---- +go test -v -coverprofile=cover.out ./... || rm -f cover.out +fatal: '/home/ms/go/src/git.sr.ht/~shulhan/beku/testdata/beku_test.git' does not appear to be a git repository +fatal: Could not read from remote repository. + +Please make sure you have the correct access rights +and the repository exists. +2022/01/30 10:56:19 gitInstall: Clone: exit status 128 +FAIL github.com/shuLhan/beku 0.008s +---- + +This changes make the testdata/beku_test.git as git submodule, to make +the test run well. +-- + +[#v0_7_0] +== Beku v0.7.0 (2019-06-28) + +[#v0_7_0_enhancements] +=== Enhancements + +Do not auto cleanup unused repositories:: ++ +-- +Previously, we remove all unused repositories from $GOPATH, which caused +some important repositories that we forgot to track get removed during +freeze operation. + +This commit remove the auto cleanup and only print the unused repositories +to the screen. +-- + +Add $GOCACHE and $HOME to environments on GoInstall:: +The latest Go release will require $GOCACHE or $HOME environment variable +upon running "go install" command. + + +[#v0_6_0] +== Beku v0.6.0 (2019-03-30) + +[#v0_6_0_new_features] +=== New Features + +Make Go command works with Go v1.12 and later:: +This means turning off GO111MODULE when running Go command. + +Install package if missing when issuing SyncAll:: + +[#v0_6_0_enhancements] +=== Enhancement + +Use copy of "golang.org/x/tools/go/vcs":: ++ +-- +The indirect dependencies of package "golang.org/x/tools/go/vcs" is +overwhelming. Using "go get" on this package alone will pull up all +dependency of "golang.org/x/tools". + +To minimize unneeded download of unneeded packages we copy the package +vcs to our own repository including their license file. +-- + +[#v0_5_2] +== Beku v0.5.2 (2018-12-14) + +[#v0_5_2_enhancements] +=== Enhancement + +No need to reinstall all packages after freezing:: + +[#v0_5_2_enhancements] +=== Bug Fix + +git: set package remote URL according to value in database:: + + +[#v0_5_1] +== Beku v0.5.1 (2018-11-02) + +[#v0_5_1_bug_fix] +=== Bug Fix + +Fix sync all that cause version set to true:: + + +[#v0_5_0] +== Beku v0.5.0 (2018-11-01) + +[#v0_5_0_enhancements] +=== Enhancements + +Refactoring test to clone from local directory:: + +Get and save package remote branch in database:: +Some package does not have "master" branch. This will minimize parsing +and filter operation to get default branch before checking out revision. + +Scan package only if its not exist on local system:: +This will minimize freeze operations, removing unneeded fetching revision +(tag/commit) and parsing remote URL. + +Move all commons functions to shared package:: +"github.com/shuLhan/share/lib/{git,io}" + +[#v0_5_0_bug_fixes] +=== Bug Fixes + +cmd/beku: fix parsing multiple subcommand on Sync:: +Sync operation should accept both update and no dependency options in one +line as in "-Sud". + +Scan: Update package version only if current and new package both are tag:: + +env: fix get package from database that return first match by prefix:: +In case two packages have the same prefix, for example "a" and "a-a", +the GetPackageFromDB will always return "a" when the parameter importPath +is "a-a". + +Fix sync "--into" command:: + +[#v0_4_0] +== Beku v0.4.0 (2018-09-04) + +[#v0_4_0_breaking_changes] +=== Breaking Changes + +Remove vendor tools: gdm and govendor:: ++ +-- +govendor [1], cannot handle transitive dependencies (error when building +Consul) + +Turn out gdm [2] is not vendor tool, its use GOPATH the same as beku. Using +`gdm` will result in inconsistent build if two or more package depends on the +same dependency. For example, package A and B depends on X, package A +depends on X v0.4.0 and package B depends on X v0.5.0, while our repository +is depends on X v0.6.0. Running beku with the following order: `beku` on X, +`gdm` on A, and then `gdm` on B, will result in package X will be set to +v0.5.0, not v0.6.0. +-- + +Do not use "git stash" in pre and post version checking:: +Using "git stash" introduce many problems when rebuilding package after +update. + +[1] https://github.com/kardianos/govendor/issues/348 +[2] https://github.com/sparrc/gdm + +[#v0_4_0_enhancements] +=== Enhancements + +Add newline on each freeze commands and on each package when doing reinstall +all:: + +Add option "--version", to display current command version:: + + +[#v0_3_0] +== Beku v0.3.0 (2018-06-06) + +[#v0_3_0_new_features] +=== New Features + +* Use vendor tools to install dependencies. The following vendor tools is + known by beku: gdm, govendor, dep. +* Add option "-d" or "--nodeps" to disable installing dependencies +* Add common option "-V, --vendor" to work with vendor directory +* Able to install missing dependencies +* Handle custom import URL + +[#v0_3_0_bug_fixes] +=== Bug Fixes + +* Fix panic if package not found in database +* Clean non-empty directory on installation, after confirmed by user +* Save database on first time sync + + +[#v0_2_0] +== Beku v0.2.0 (2018-05-31) + +[#v0_2_0_new_features] +=== New Features + +* Add operation to exclude package from database +* Add option "--noconfirm" to by pass confirmation + +[#v0_2_0_bug_fixes] +=== Bug Fixes + +* Fetch new package commits before updating version +* Fix scan on non-exist "$GOPATH/src" directory +* package: GoInstall: set default PATH if it's empty + + +[#v0_1_0] +== Beku v0.1.0 (2018-05-27) + +In this version, beku can handle the following operations, + +* Scanning and saving all dependencies in GOPATH (-S) +* Installing a package (-S <pkg>) +* Updating a package (-S <pkg>) +* Removing a package with or without dependencies (-R[-s] <pkg>) +* Updating all packages in database (-Su) +* Freezing all packages (-B) |
