Releases: simbadMarino/btfs-sharedLib
v2.3.2_u
Candidate release for v2.3.2 .
Main reason of this being flagged as "unstable" is related to the iOS binary release. Due to breaking changes in Xcode 15 I'm having problems to properly integrate the iOS binary into dCloud app.
This will be under a draft state until this issue is fixed.
New features:
- debug capabilities fixed for iOS by updating github.com/markbates/pkger@v0.17.0 to github.com/markbates/pkger@v0.17.1
- linux binaries included and makefiles updated.
- We are separating the btfs main file into 2 separate folders so we can easily build for desktop and mobile environments (btfs for desktop, btfs_lib for Android and iOS)
v2.3.2 go-btfs-lite
First release of go-btfs-lite which removes certain functionality to reduce the final binary files for multiple OS.
This release assumes user will opt to use btfs "simple mode" while initializing the node, meaning we are removing BTTC related repositories as much as possible without removing BTFS functionality.
Current reduction size (average): 43.6%
Removed dependencies for this release:
- github.com/go-redis/redis/v7
- github.com/bittorrent/go-btfs/guide
- github.com/anacrolix/torrent
- crawshaw.io/sqlite
- github.com/ipfs/go-ipld-git
- github.com/bittorrent/go-btfs/core/commands (Several commands)
- github.com/bittorrent/go-btfs-common/protos/guard
- github.com/andybalholm/brotli
- github.com/dgraph-io/badger
- github.com/anacrolix/torrent/request-strategy
- github.com/ethereum/go-ethereum/core/types
- bazil.org/fuse
Identified TO-DOs:
- Modify init default sequence to start a simple mode by default when triggering a
btfs init
command. - Explore compressing binaries using UPX, need to wait until ups maintainer fixes a blocker in upx/upx#686
Use cases
- Bulk data download plugin or library, e.g. Termux lib to download packages instead of relying on servers or IPFS
- Eventually create a similar command line tool like cURL or wget but using BTFS, maybe even adding support for BTFS on such programs. The simpler the better.
- BTFS websites stored visualizer avoiding the need of a centralized gateway.
v2.3.2 go-btfs-wasm_POC
First release of wasm binary and source code.
Roadmap and progress for a fully functional wasm binary:
- Update major go-btfs dependencies to support wasm.
- Source code compiles
- Daemon starts and can interpret basic commands
- BTFS daemon starts and reports status to the outside world using simple mode
- BTFS repository embedded in binary (temporary solution until golfing team releases os package compatible with wasm)
- BTFS filesystem os operations like write into disk, read, etc moved to browser environment.
- BTFS full stack is available in wasm binary.
BTFS Shared library v2.3.1
Base code was forked from: https://github.com/bittorrent/go-btfs/releases/tag/btfs-v2.3.1
Additional changes:
-
Android compiling issues resolved at Make file level
-
gopsutil version update
-
karalabe go.mod versions updated to support disk operations
-
Changes from go-btfs go.mod (pending to do a pull request in go-btfs repo):
-
From github.com/shirou/gopsutil/v3 v3.20.12 —> github.com/shirou/gopsutil/v3 v3.22.11 (Still issues)
-
From github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible —> github.com/shirou/gopsutil v3.21.11+incompatible (Still issues)
-
From github.com/karalabe/usb v0.0.0-20190919080040-51dc0efba356 —> github.com/karalabe/usb v0.0.2
-
Additional for gosigar package (iOS SDK does not contain libproc.h thus we need to manually change in sigar_common_darwin):
-
/*
#cgo CFLAGS: -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
#include <stdlib.h>
#include <sys/sysctl.h>
#include <sys/mount.h>
#include <mach/mach_init.h>
#include <mach/mach_host.h>
#include <mach/host_info.h>
#include <libproc.h>
#include <mach/processor_info.h>
#include <mach/vm_map.h>
*/
If issues are observed during gopsutil compilation on iOS please check: shirou/gopsutil#1402 (comment)
BTFS Shared library v2.2.1
Base code was forked from: https://github.com/bittorrent/go-btfs/releases/tag/btfs-v2.2.1
Additional changes:
- Adjusted Environment Variable for android shared-lib
- Path differentiation included for Android &iOS directly from golang code
- debug prints for btfs init and daemon start to help on troubleshoots (will remove this on v2.3.0)
BTFS-Shared-Lib v2.2.0
As per go-btfs from Bittorrent:
-
Optimize node info reporting, submit an online proof to the status signature service to get an online proof signature, and submit the online proof signatures to smart contracts on BTTC. bittorrent/go-btfs#197
-
Optimize node startup, nodes start in host mode by default. bittorrent/go-btfs#199
-
Memory optimization when renter uploads file. bittorrent/go-btfs#198
-
Bug fixes. bittorrent/go-btfs#199 bittorrent/go-btfs#204
-
Dashboard is released, refer to btfs-dashboard v2.2.0
-
Btfs-status-contract is released, refer to btfs-status-contract v2.2.0
-
Golang version used to compile: 1.16.15 Darwin/arm64
BTFS-Shared-Lib (iOS only) v2.1.3
- Improve the high memory usage issue bittorrent/go-btfs#165
- Support for modifying the BTFS host path on the dashboard bittorrent/go-btfs@4c7e652 bittorrent/go-btfs@48753c9
- Added 1.0 wallet balance query and cash withdrawal functions on the dashboard bittorrent/go-btfs#166
- Provides a bat script to upgrade from 1.0 BTFS installed by BT client to the latest version bittorrent/go-btfs#171
- Added guide page function to start the service for new node users bittorrent/go-btfs#171
- Optimize script batch_cash.sh bittorrent/go-btfs#162
- dashboard is released, refer to btfs-dashboard v2.1.3
- Switched to go1.16.15 darwin/arm64 version to compile