This is the first RoboSats alpha release! π
Our previous release was nicknamed "Minimum Viable Project". With the first alpha release we intend to have a higher cadence of releases, sticking to semantic versioning. This is needed in order to ensure compatibility with the distributed clients (e.g. sovereign node apps or Android app)
Given that the API is still fluid, the major version will be 0 for the next few iterations. RoboSats web client, node client, and Android client, now check with the coordinator whether the major and minor versions match. In case of mismatch, the user will be instructed to update the client.
Every RoboSats component (i.e., the coordinator backend, web client, node client and Android client) will be versioned in lockstep,(matching versions) so there is no need for lookup compatibility tables. If the major and minor versions match, it's perfectly compatible.
A RoboSats release simply marks a milestone in development. The release is relevant for RoboSats developers and market coordinators. In addition, it gives us an opportunity to release a note summarizing all of the new cool features and credit all contributors.
Docker Images
Coordinator Backend Image v0.2.0-alpha (Docker Hub)
docker pull recksato/robosats:v0.2.0-alpha
Client App Image v0.2.0-alpha (Docker Hub)
docker pull recksato/robosats-client:v0.2.0-alpha
See nodeapp/docker-compose.yml for an example docker-compose usage of the robosats-client
image.
Android
This release has no APK assets available (Android app still under development, look at pre-releases).
Changelog
v0.2.0-alpha (2022-09-22)
Closed issues:
- Implement automated versioning, releases and version mismatch checks. #241
- Move the most recent value in sats of an order calculation to the backend #224
- [solved] QtQr adds invisible characters front of the string in the QRcode #214
- Improve docker-compose.yml / setup.md #208
- Order expired, LN still confirming #207
- Add onchain address validation compatible with Taproot adresses #194
- Add the fiat amount to the chat component #192
- Identify the taken amount as a maker of an order with an amount range on small screens is clumsy #181
- βExtraβ features to increase the popularity of RoboSats #179
- Add WebLN support #176
- Add 'stealth invoices': an On/Off toggle for lightning invoice description #168
- Detailed amounts of sats involved after a trade #150
- Add book depth chart #134
Merged pull requests:
- Update 03-premium.md and 04-bonds.md #248 (okada-blue)
- Update 02-robots.md #246 (okada-blue)
- Fix logic of checking whether non-participants can view order details #245 (redphix)
- Enable Telegram notifications for order takers #244 (Reckless-Satoshi)
- Frontend API client #242 (KoalaSat)
- Fix error when query parameters not passed #239 (redphix)
- Expose Satoshis Now on API #236 (KoalaSat)
- Move the most recent value in sats of an order calculation to the backend #235 (KoalaSat)
- Fix selfhosted secure/unsecure context bug #234 (Reckless-Satoshi)
- Current progress on issue #195 (auto-scale to fontsize) #233 (fmitjans)
- Add QR Code to enable Telegram notifications #232 (Reckless-Satoshi)
- Fix dependencies #231 (Reckless-Satoshi)
- Update 03-premium.md #229 (okada-blue)
- Change css to fix order book alignment in safari desktop #225 (ozoono)
- Update 02-robots.md #221 (okada-blue)
- Add book depth chart #219 (KoalaSat)
- Update th.json #218 (bkminer1984)
- Client app for soverign nodes #216 (Reckless-Satoshi)
- Add WebLN support #215 (KoalaSat)
- keeping russian up to date #213 (Tonytherussian)
- Make robosats setup more easy #212 (ShatteredBunny)
- Bump django from 3.2.14 to 3.2.15 #211 (dependabot[bot])
- Stealth invoices #210 (ShatteredBunny)
- Add grpc generation script and update setup.md to run it using docker container #209 (ShatteredBunny)
- thai translation #205 (bkminer1984)
- Pull#198 followup #202 (zx9r)
- Compute percentile over orders of the same type #201 (merchero)
- Issue#194 #198 (zx9r)
- Czech translation update #197 (Wertiko)
- Czech translation #191 (Wertiko)
- Bump tzinfo from 1.2.9 to 1.2.10 in /docs #189 (dependabot[bot])
- Update ca.json #188 (BlueLynx21)
- Bump terser from 5.10.0 to 5.14.2 in /frontend #187 (dependabot[bot])
- Add payment method: UPI #186 (prithugoswami)
- Add Swedish translation #185 (angeria)
- Bump django-celery-results from 2.2.0 to 2.4.0 #184 (dependabot[bot])
- Bump django from 3.2.13 to 3.2.14 #183 (dependabot[bot])
- Basque lang few spelling errors corrected #182 (OSFr0g)
- hotfix for weighted median premium #180 (ghost)
- Adding Portuguese translation #178 (LindomarRodrigues)
- Replace weighted average to weighted median. #173 (ghost)
- Basque (eu) language added #172 (4pt1x)
- Add Tunisian Dinars (TND) #171 (SkanderHelali)
- Update messages.py #167 (Gravity2106)
- Update send/receive icons #166 (Reckless-Satoshi)
- Initial Italian translation #165 (ChuckLeMostre)
- Update 07-wallets.md #163 (Gravity2106)
- Fix Spanish TG message #162 (Reckless-Satoshi)
- ru.json update #161 (Tonytherussian)
- Buyer payouts as on-the-fly reverse submarine swaps #160 (Reckless-Satoshi)
- docs: add CLN, other backends for Zeus, fix links #158 (openoms)
- Add AlertBot documentation #157 (Reckless-Satoshi)
- Add currency aed, which Yadio now supports #156 (sgornick)
- Update de.json #155 (dsitti)
- Add currencies byn egp lkr mad #154 (Reckless-Satoshi)
- Update ca.json #148 (BlueLynx21)
- Implement end-to-end auditable encryption and new user login methods. #147 (Reckless-Satoshi)
- Add Russian Translation #146 (Tonytherussian)
- update de.json #144 (dsitti)
- Add more details in frontend setup guide about css files #143 (ozoono)
- change docpaths #142 (smargold476)
- Convert ExchangeSummaryDialog, ProfileDialog and StatsDialog to Typescript #141 (fernandoporazzi)
- Add Learn.RoboSats splash screen art by @Red_purdy #140 (Reckless-Satoshi)
- Add banners and profile pics #139 (Reckless-Satoshi)
- Added iOS app and made some minor grammar edits #138 (hugoender)
- Add Jekyll markdown site as GH page #136 (Reckless-Satoshi)
- Catalan translation #133 (Reckless-Satoshi)
- Convert LinearDeterminate component to Typescript #132 (fernandoporazzi)
- Fix typos in spanish translation file #131 (ozoono)
- Fix layout for small iOS devices and allow scroll #130 (ozoono)
- Fix order book alignement in iOS #127 (ozoono)
- Update de.json #122 (dsitti)
- First group logos and icons revisited (@ RedPurdy) #120 (Reckless-Satoshi)
- Add complete set of localized amazon icons #119 (ozoono)
- Add new svg buy/sell icons #118 (Reckless-Satoshi)
- Update fr.json #117 (PeterMcBTC)
- Add amazon icons including flags of 8 regions #113 (ozoono)
- Polish translation #111 (Reckless-Satoshi)
- Advanced maker options v2 #110 (Reckless-Satoshi)
- de.json #108 (dsitti)
- fr.json #107 (PeterMcBTC)
- pl.json #105 (valladolidBTCpol)
- Bump django from 3.2.12 to 3.2.13 #104 (dependabot[bot])
- Add typescript support #103 (fernandoporazzi)
- Remove built main.js from versioning #102 (fernandoporazzi)
- BTC instead of Sats on Stats For Nerds #98 (ibertario)
- Spanish translation #96 (Reckless-Satoshi)
- Extract getCookie function into its own file #94 (fernandoporazzi)
- Internationalization #85 (Reckless-Satoshi)
- Add autocomplete, icons, custom selector #84 (Reckless-Satoshi)
- Create Fiat Payment Guide #83 (bkminer1984)
- Update currencies.json #82 (tradewind886)
- Update getFlags.js #81 (tradewind886)
- Add How-to-use_de, changed trading limits and time for open orders in the how-to-use.md #79 (dsitti)
- Robosats Logo #77 (MishoKanaria)
- Advanced maker options v1 #76 (Reckless-Satoshi)
- Implement X-of-Y steps in TradeBox #74 (Reckless-Satoshi)
- Spanish translation added #72 (GianfrancoBazzani)
- Update sensitive-data-PGP-guide.md #71 (GianfrancoBazzani)
- Fixed some issues related to the PGP guide #67 (GianfrancoBazzani)
- Add sensitive data cipher guide #63 (GianfrancoBazzani)
- A privacy friendly referral program #62 (Reckless-Satoshi)
- Upgrade fee structure #61 (Reckless-Satoshi)
- Chatbox fixes #59 (Reckless-Satoshi)
- Fix wrong spanish guide link #58 (beefgroin)
- Dispute system v2 #54 (Reckless-Satoshi)
- Telegram notifications #53 (Reckless-Satoshi)
- Migrate to postgresql #51 (Reckless-Satoshi)
- Update how-to-use_es.md #47 (mamifiero)
- Complete Spanish translation of tutorial #45 (Reckless-Satoshi)
- Stabilize runtime #43 (Reckless-Satoshi)
android-b4fac4c (2022-07-14)
Closed issues:
- Same backup code, shows new robot avatar, name and referral link #159
- Attempting Lightning Payment stuck #145
- Unclear flow for the seller taker #137
- Buyer payouts on-chain with on-the-fly reverse submarine swaps. #128
- Add Ukrainian Hryvnia #124
- Alert about backing up Robot Tokens #123
- Possible unwanted function redefined in api/tasks.py #114
- Order created with different range amount that specified #112
- Escrow locking time period is too short #106
- Use Create React App or Next.js on frontend #101
- Missing some icons on Desktop #90
- INFO button visibility on night mode #89
- Small typos on "What is RoboSats?" INFO #88
- Public order options: pause and renew #87
- Error changing Pricing Method when Amount Range is enabled #86
- Buy lightning btc with onchain btc #73
- Show the chat box even before the counterparty is 'online'? #70
- Give a 'Step x of y' infographic while trading #69
- Implement cookies tied to a browser window? #68
- Javascript error in Copy of Clipboard from Contract Box #65
- Suggestion: Publish README.md using Github Pages (i.e., Github.io ) #64
- A tutorial explicitly made for OpenKeychain+RoboSats (/docs/) #60
- Feature Request: Remove ajax.googleapis.com scripts from the app #57
- Introduce RoboSats to r/Bitcoin #55
- Advanced options for makers #52
- High sensitivity to client's clock #49
- Notify makers when an order is taken (even if they left the site) #48
- Make the frontend pretty. #37
- Multilanguage Support #35
- Keep user nickname, avatar and token on sight always #32
- Show small hints and description on mouse hover #31
- 'Ring' sound for makers when a taker is found. #30
v0.1.0-mvp (2022-01-31)
Closed issues:
- Dynamic countdown timer and progressbar (expiration bar) #27
- Lightning functionality; calls to LND RPC and logic updates as invoices are locked and validated. #24
- Make navigation trough Order Book and user gen functions sequential #23
- If user is logged in and is taker or maker, always redirect to Order page #22
- Order Book is by default set to any type (buy or sell) and any currency #21
- Create Get OrderBook API call and simple front end with cards #18
- Send correct status message when OrderView is called #17
- Create a general app status information endpoint and react component to place in the bottom #14
- Create user generator backend and frontend landing page #13
- Add field "payment_method" to Order model and front end form #10
- Create OrderPage.js and set up API endpoint #9
- Load all important application hparams from .env file on root dir #8
- Load currency dictionary from .json into both: backend model and frontend form. #7
- Initialize frontend and create first pages #5
- Add an API endpoint to make orders #3
- Init Django project #1
Merged pull requests:
- Logics update: escrow settles exactly at buyer payout time. #36 (Reckless-Satoshi)
- Logics third iteration #29 (Reckless-Satoshi)
- Create new chat app, configure urls #28 (Reckless-Satoshi)
- Lightning integration #26 (Reckless-Satoshi)
- Logics second iteration #25 (Reckless-Satoshi)
- Htlc model #20 (Reckless-Satoshi)
- Add book order API endpoint and basic frontend cards page #19 (Reckless-Satoshi)
- Improve content and handling on OrderPage #16 (Reckless-Satoshi)
- User generator page #15 (Reckless-Satoshi)
- Order details page #12 (Reckless-Satoshi)
- Add payment method field #11 (Reckless-Satoshi)
- Initialize frontend and create first pages #6 (Reckless-Satoshi)
- Implemet initial API with MakeOrder endpoint #4 (Reckless-Satoshi)
- Initialize the Django project and write setup guide #2 (Reckless-Satoshi)
* This Changelog was automatically generated by github_changelog_generator
New Contributors
- @mamifiero made their first contribution in #47
- @beefgroin made their first contribution in #58
- @GianfrancoBazzani made their first contribution in #63
- @MishoKanaria made their first contribution in #77
- @dsitti made their first contribution in #79
- @tradewind886 made their first contribution in #82
- @bkminer1984 made their first contribution in #83
- @dependabot made their first contribution in #104
- @valladolidBTCpol made their first contribution in #105
- @ozoono made their first contribution in #113
- @PeterMcBTC made their first contribution in #107
- @hugoender made their first contribution in #138
- @smargold476 made their first contribution in #142
- @BlueLynx21 made their first contribution in #148
- @Tonytherussian made their first contribution in #146
- @sgornick made their first contribution in #156
- @openoms made their first contribution in #158
- @Gravity2106 made their first contribution in #163
- @ChuckLeMostre made their first contribution in #165
- @LindomarRodrigues made their first contribution in #178
- @4pt1x made their first contribution in #172
- @SkanderHelali made their first contribution in #171
- @OSFr0g made their first contribution in #182
- @angeria made their first contribution in #185
- @prithugoswami made their first contribution in #186
- @Wertiko made their first contribution in #191
- @zx9r made their first contribution in #198
- @merchero made their first contribution in #201
- @KoalaSat made their first contribution in #215
- @okada-blue made their first contribution in #221
- @fmitjans made their first contribution in #233
- @redphix made their first contribution in #239
Full Changelog: v0.1.0-mvp...v0.2.0-alpha