Bitcart Versions Save

https://bitcart.ai

0.8.0.0

8 months ago

Name change: from BitcartCC to Bitcart

It is an important milestone in our project. Initially we couldn't take that name because it was already filled by some other projects Now, after years there is only one bitcart: ours. In fact, it was used as bitcart in code before, and now the UI naming will catch up too It is more consistent. Also from the community polls it is easier and many people used Bitcart instead of BitcartCC even before.

Together with a new name, we've got a new professional-made logo redesign

This release has breaking changes in docker deployment mostly due to changing of some files.

In order to do the update, run:

./update.sh
./setup.sh
contrib/upgrades/upgrade-to-0800.sh

The env vars are now stored in /etc/profile.d/bitcart-env.sh, and systemd file is also named bitcart.service now.

All plugins have been updated with new naming and logos

Electrums upgrade

With the new electrums and other daemons update, it fixed a rare but possible bug when BTC or LTC wallets got stuck forever. More robustness, more performance!

Tracing internal ETH transactions

If your RPC supports debug_traceTransaction method, then bitcart will also automatically detect internal transactions to your wallet! Unfortunately for now the default RPC doesn't support it, but bitcart is ready

Publish to multiple container registries

Now Bitcart docker image is published to dockerhub, ghcr.io and nirvati registries for better reliability!

Bug fixing

  • A bug with metamask button in admin panel have been fixed
  • Also, before when you added a new wallet with contract in a new blockchain, it broke the exchange rates system and everything was stuck until a reboot. This is now fixed
  • get_updates method now no longer crashes in eth-based daemons
  • Speed-up payouts loading, fix tron payouts
  • Add more data to new_transaction event in eth-based coins
  • Allow passing nonce directly and add getnonce method in eth-based coins
  • Add ability to customize gas price by a multiplier globally or by call in eth-based coins
  • Store time it takes for customer to pay for an invoice
  • Fix store POS for non-global store

0.7.4.1

1 year ago

Fix an issue with new store POS checkout for tor onedomain mode

Allow to disable POS calculator screen

0.7.4.0

1 year ago

New exchange rates engine

Because of recent issues of coingecko, as well of lack of some local currencies and other issues, our rate engine has been improved.

The exchange rates functionality have been moved from the daemon one layer up, to the Merchants API. If you use exchange_rate or list_fiat functions from daemons RPC protocol, please either use Merchants API directly (some usecases of SDK can completely be replaced by the Merchants API), or fetch exchange rates manually. This already gives you more control over how to do the fetching.

For the rest of the users, no breaking changes are made. In fact, the system is more reliable. It is now possible to add custom rate rules in store settings.

If your local currency is not supported, you can do something like

X_MYCUR = X_USD * fiat(USD_MYCUR)

You can use a variety of exchanges. Most of them are added via coingecko exchanges API, but kraken and fiat are added natively. fiat refers to currency API hosted by github pages, updated daily list of USD to other fiat currencies rates.

You can also use functions like mean or median to gather rate off multiple exchanges. In case one fails, others will be still counted in.

Optimizations in daemons

We continue to optimize the performance and memory usage of the daemons. An issue with infinitely growing list of events for polling has been fixed, it's now capped by 100 events per wallet max. Polling is not used by merchants API, so it was a useless use of memory and performance.

Store POS improvements

The store POS has received numerous improvements in this release.

An initial prototype of a keypad UI is now accessible. It is useful for in-person checkouts for example.

Also, store POS now uses admin panel's checkout page, which means there is now only one reference universal checkout page.

Misc changes

  • Fix order_id endpoint in large instances
  • Fix issues in payouts sending
  • Add batch delete for API tokens
  • Handle ValidationError in OAuth2 endpoint
  • Improve UX of admin panel's autocompletes

0.7.3.0

1 year ago

Admin panel UI revamp

Admin panel has got a revamped UI - the datatables now display 10 items at a time in full screen mode. Also you will see horizontal scrollbars in less cases.

Navigation is now performed via a toolbar at the left. This allows us to expand the dashboard in future releases with new graphs and statistics

Zero-amount invoices have better formatting now

Important: fixes for template rendering

In case your server is a public instance with many users, update is recommended. In short: in some cases template rendering could allow executing commands inside the worker containers

Batch payouts

It is now possible to batch payouts in one transaction to save on costs, for btc-based coins only for now

Lightning network send amount support

Lightning network now displays sent amount correctly, and payment hash is filled in transaction hashes value

Important: fix memory leaks in daemons

After a large investigation, we've found the issues of the leak to be located in malloc() linux function. To resolve this complex issue, all our python docker images now include and use jemalloc memory allocator for better performance and to avoid memory fragmentation.

Misc changes

  • Don't process pending blocks for fresh created wallets to speed up some operations.
  • Close wallet after performing diskless methods to avoid it being loaded in memory

0.7.2.3

1 year ago

Fix excessive memory usage of Lightning gossip and CLI not working

Make order id endpoint return invoice with any status other than expired. If it's expired, a new invoice is created

0.7.2.2

1 year ago

Fix incorrect use of distinct() when calculating some functions in database

0.7.2.1

1 year ago

Fix /manage/policies endpoint for non-superusers

0.7.2.0

1 year ago

This releases a ton of improvements and fixes in many different aspects of BitcartCC

MIT license

We are back to being at MIT license, possible to be used in any environments!

2FA support

Yes, it is now possible to protect your account with additional layer (or layers) of security.

After entering password, you will be able to login via either Time-Based One-time Passwords (TOTP) via apps like Google Authenticator or via FIDO2 (hardware devices, i.e. Ledger, YubiKey). Enjoy!

Email verification support

If the server owner has configured server's email server, it will be possible to ask users to verify their emails

Password reset added everywhere

It might sound weird, but before this moment it was not possible for a user to change their own password without asking server admin. This is now fixed, with additional abilities like "Log out all devices".

File upload support

It is possible to use your instance as a small file upload center. One of it's main application is to supply in e.g. Store Theme CSS URL setting or similar, but you can use it however you like

Add ability to generate wallet from the UI

In case you don't want to find an xpub or similar for your wallet, just click on the "+" icon, and generate either watch-only or a hot wallet right from BitcartCC UI in a secure way! Note: don't forget to write down your seed phrase of course!

Refunds support

The long-requested feature, you can now trigger refunds on any invoices with payments sent to them. You will be presented with a variety of options how much to refund, and BitcartCC can even send an email to your customer about the refund automatically.

When customer enters their address for refund, you will be notified via your configured notification providers. Two new templates were added to configure message sent to customer, and message sent to merchant

Add ability to include network fee in invoices

On some blockchains, network fees are extremely big. To avoid spending money on them, you can include it's cost in invoice amount automatically. We might built up improved methods of payment detection for ETH based on this setting

API docs improvements

Our API docs are autogenerated, and we fixed a number of issues preventing correct generation. Now you can see a clear description of when auth is needed or not, and when it is optional, as well as other fixes.

Plugins schema 1.1.0

With new plugins schema, plugin authors can add new metadata, like plugin website, source code URL, docs URL and license. It will be displayed in the UI

Plugin authors: improved BitcartCC CLI

Plugins author can now easily bootstrap their plugins via bitcart-cli plugin init, validate them via bitcart-cli plugin validate and package via bitcart-cli plugin package

BitcartCC CLI has been moved to https://github.com/bitcartcc/bitcart-cli, all further releases will be here

Xpub field's label can now be customized

This means that if you select eth as your wallets currency, it won't tell you to enter confusing "Xpub", but instead it will ask you for an address

Improvements in plugin APIs

The plugins API has been extended to allow plugins to register custom payment methods. Take a look at our Lightning network + plugin

Misc improvements

  • Script to disable multifactor auth in case of recovery
  • Fix local deployment issues once and forever
  • Make lightning network implementation use lightning gossip instead of trampoline: this means you would be able to open channels with other nodes just by node id again.
  • Improve CLI autocompletion not working sometimes
  • Avoid re-building plugins on updates if there's no plugin installed
  • Fix store POS rendering for amounts > 1000
  • Fix email presets
  • Allow sending all balance in payouts
  • Fix a long-standing bug where clicking on "Open wallet" button closed websockets and page didn't refresh on payment
  • Better logs management UI
  • Fix and improve order_id endpoint
  • Fix for weird cases when you had a pending amount with sent amount of 0, but exception status paid_partial
  • Fix an issue when invoice rate was not normalized in some cases, resulting in "rounding errors" in the UI
  • Reduce memory usage of ETH-based daemons
  • Tron: use native code for cryptography, speedups
  • Improve performance of exchange_rate: avoid fetching unnecessary rates on every call when currency changes

cli-1.1.0

1 year ago

Added a new command: bitcart-cli package <path> - creates a bitcartcc plugin from directory and strips unnecessary files

Also fixed packaging for docker plugins

cli-1.0.0

1 year ago

Adds new commands for plugins management:

bitcart-cli plugin validate <path> - validates that a plugin is correct (correct metadata and some component-specific checks)

bitcart-cli plugin init <path> - an interactive and easy-to-use wizard which will create everything needed for plugins, as well as setup development environment