Changelog History
Page 3
-
v3.1.1 Changes
October 20, 2020๐ Previous deleted releases are cached. Need to bump to fix go mod issues.
-
v3.0.1 Changes
January 20, 2021- ๐ท Tag with protoc changes.
-
v3.0.0 Changes
October 20, 2020Overview
๐ Go Micro v2 (Apache 2.0) interfaces have now been pulled into Micro and Go Micro is now moving back to being a personal project under the import path github.com/asim/go-micro. Go Micro will no longer be supported by a company or paid maintainers. As a solo maintained (bootstrapped) effort for the majority of its lifetime, it moves back to that and v3 will introduce stricter licensing which you can read about below.
๐ For a further explanation on the direction of Micro 3.0 from an upcoming post (read here)
We will now be ending support for go-micro. Having personally spent 6 years since inception on go-micro I feel as though its time to finally let it go. What started as a tiny library to help write Kubernetes-as-a-Service back in 2014 turned into a widely used open source framework for Go microservices development. Having now amassed more than 14k stars you might wonder why we leave it behind. The truth is, while it solved a problem for many it never became what I had expected it to be. Go Micro was built on the premise that developers need a simpler way to build distributed systems. With strongly defined abstractions and a pluggable architecture it did that well but that became really unweidly to manage. With an MxN matrix of complexity, Go Micro became the thing it was trying to fight against. As we attempted to hone on this platform effort, it just became very clear that to do that we'd need to start fresh. Go Micro will live on as an independent library under my own personal account on GitHub but it will no longer be supported as an official Micro project. Hopefully it finds second life in some other ways but for now we say goodbye.
Licensing
๐ Go Micro is now licensed using Polyform Strict. After seeing what AWS has done to other projects, its clear as a library Go Micro needs to be more strictly licensed. All implementations of external infrastructure dependencies exist in go-plugins still licensed as Apache 2.0 but the interfaces will now be less permissive. Go Micro v1 and v2 are still defined by an Apache 2.0 license and the majority of users can choose to remain on those interfaces and associated plugins. I anticipate some hard forks but am also open to a discussion on the right type of licensing here that might allow Go Micro v3 to have a second life.
Rationale
๐ Go Micro was a solo effort and attempt to introduce a standard for Go based microservices development much like Rails and Spring achieved for web apps and enterprise Java. Go Micro and the related project Micro however became complex to manage and separately were a constant confusion for people. Micro became a real company in 2019 and since then it was far more apparent that we needed to consolidate that effort. Micro focuses on being a platform. Go Micro was simply a framework that had broader ambitions and tried to do too much. Having worked this long and hard on something like Go Micro, its hard to let go, but I also do not wish for large entities like AWS to come and copy that effort to reap the benefits without contributing back for all that time. I think open source is about to have its music industry moment and I think licensing will deem a more appropriate path.
๐ If you're a user of Go Micro to build unrelated software, you have no issue. If you use it to offer some sort of commercial packaged distributed systems or cloud services then it may require you to pay a license fee for that. This is dual licensing. Its fairly standard practice and I believe the future of Go Micro.
-
v3.0.0-beta.3 Changes
September 29, 2020๐ 87e898f (HEAD -> master, origin/master, origin/HEAD) Secret implementation of config. Supporting config merge (#2027)
โก๏ธ d246ccb Update tests.yml
๐ 017e156 remove transport options
๐ฆ d8f17ac readd service package (#2026)
6e2c9e7 env config implementation (#2024)
๐ 4028e01 runtime: remove builder package (moved to micro) (#2023)
๐ 76275e8 Fix branch names support for k8s runtime (#2020)
a18806c fix config bug (#2021)
๐ 255fecb runtime: minor fixes for local runtime (#2019)
โก๏ธ af8d55e remove memcache and update gomod
354a169 Add errors to config methods (#2015)
6e083b9 store/file: fix segmentation violation bug (#2013)
9dbd75f Config interface change (#2010)
8975184 proxy/grpc: fix client streaming bug (EOF not sent to the server) (#2011)
19a54f2 client/grpc: fix stream closed bug (#2009)
3c7f663 store/file: don't keep connection to boltdb open (#2006)
๐ 8fdc8f0 runtime/builder with golang implementation (#2003)
35349bd store: implement s3 blob store (#2005)
d5bfa1e store: add blob interface with file implementation (#2004)
๐ 3bb7686 auth: remove micro specific code (#1999)
275e92b Fix running subfolders (#1998)
d2728b4 api: fix request body re-sequencing bug (#1996)
601b223 add Name to auth.Account as a user friendly alias (#1992)
04d2aa4 Fixing top level run outside repo (#1993)
b8f79a3 runtime: normalised service statuses (#1994)
acd3bea Add 'Namespace' header to allowed CORS headers (#1990)
๐ a02a25d Remove all the external plugins except grpc (#1988)
d5e345d util/kubernetes: fix TCPSocketAction bug (#1987)
71f8cbd Fixing the metric tagging issue here (#1986) -
v3.0.0-beta.2 Changes
September 05, 2020Cutting v3 beta 2
-
v3.0.0-beta Changes
August 12, 2020V3 Redesign m3o/dev#269
-
v3.0.0-alpha Changes
July 27, 2020V3 Redesign m3o/dev#269
-
v2.9.1 Changes
July 03, 2020- ๐ณ push tags to docker hub (#1766).
-
v2.9.0 Changes
June 12, 2020- ๐ Fix regex detection. Fixes #1663 (#1696).
-
v2.9.0-rc5 Changes
June 11, 2020- ๐ Merge branch 'master' into release-2.9.0.