-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathCHANGELOG.txt
2109 lines (1369 loc) · 75.4 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Change Log
==========
2025-01-04 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* built api.chunk_write() method to make possible device to node file transfer
* built api.chunk_read() method to make possible node to device file transfer
* handling situations when wrong server or client code was entered during web socket device handshake procedure
* minor updates in api.file_* methods
* solved threading issue in routed_web_socket()
* bug fixes in DHT and service_web_socket_communicator()
* minor fix in keys_synchronizer()
2024-12-30 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* new approach to run BitDust on mobile devices
* built api.device_* methods for secure remote web socket connections
* added command line interface to manipulate paired devices
* save&load connected routers
* handling situations when web socket server or client are disconnected
* bug fix in group_participant()
2024-10-07 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* add uniqueness to Request()/Data() packets for index files
2024-10-07 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* Bump cryptography from 42.0.8 to 43.0.1
* prepare to add uniqueness to Request()/Data() packets for index files
* mulitple improvements related to files management (#207)
* solved issue with keys auto-restore from suppliers data after identity recovery
* various improvements in shared_access_coordinator(), restore_worker() and service_message_history()
* bug fixing group message chats and shared files after identity restore
2024-09-14 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* changed one of the seed nodes
* blocking uploading of a file when there is insufficient storage space expected
* populate details about service_proxy_server() in the api.network_status()
* keep track of files/folders/backups statistics for individual customers in the catalog
* bug fix in storage_contract.py
* IDURL fix in shared_access_coordinator()
2024-09-04 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bump pycryptodomex==3.20.0
* solved another issue with removing old versions of the same file
* calculate original file size before start the backup
* able to populate web-socket stream data for specific files/locations
* fix in bitdust/userid/id_url.py
* fix bug in logging
* fixed bug related to auto-removing oldest versions of the files
2024-07-29 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* downgrade coincurve version
* built supplier.storage_contract.scan_recent_storage_transactions() method
* added caching of identities unique names
* fix in supplier.storage_contract.verify_accept_storage_payment()
* fix in bitdust/supplier/customer_space.py
* fix in bitdust/blockchain/bismuth_wallet.py
2024-07-12 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* do not reject unpaid customers for now, storage contracts are still in progress
* fixed ed25519 to pynacl migration in Bismuth polysign
* removed un-used files
2024-06-15 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* switched from ed25519 to PyNaCl
2024-06-01 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* introduce new group streaming solution
* also a new solution for messages history sharing between group participants
* introduce process to accept storage payments by suppliers
* introduce sequence_number for storage contracts
* made keys_synchronizer() more reliable
* able to force restart of fire_hire() in api.files_sync()
* added regression test for new streaming methods
2024-04-14 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added HMTL WEB template
* updated id_server.py
* built new service_blockchain_explorer()
* updated bitdust/customer/payment.py
* Bump cryptography from 39.0.0 to 41.0.6
* disabled and removed few un-used services
* updated api.services_list()
* updated api.suppliers_list()
* introducing storage contracts
* bug fix in bitdust/storage/accounting.py
* bug fixes in bitdust/supplier/storage_contract.py
* bug fix in supplier_connector()
* IDURL fix in contacts/contactsdb.py
* small fix in main/config.py
2023-11-12 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bug fix in bitdust/system/deploy.py related to python3.11
* IDURL fix in bitdust/supplier/customer_space.py
* bug fix in butdust/userid/id_url.py
* disabled un-used Bismuth crypto methods
* Bump twisted from 22.4.0 to 23.8.0
2023-10-24 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* removed bitdust_forks/Bismuth/wallet/
2023-10-02 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* removed two seed nodes from the default_network.json file
* initial implementation of Bismuth blockchain node, miner, wallet and mining pool
* introducing a solution for foundation miners
* introducing storage contract between customer and supplier
* built multiple new service_bismuth_*() services
* built new service_blockchain_id() service
* built new service_blockchain_authority() service
* built new blockchain_registrator() automat
* built new authority_node() automat
* built new api.blockchain_*() methods
* added new module in bitdust/supplier/storage_contract.py
* added new module in bitdust/customer/payment.py
* added new module in bitdust/blockchain/known_bismuth_nodes.py
* added new settings for blockchain management
* make possible to register user identity in blockchain
* make sure to use UTC-based timestamps
* changes for Android, always use bz2 compression, minor API update (#182)
* use SIGKILL instead of SIGTERM for closing the main process
* renamed main process to BitDust-node for OSX release
* use same Bismuth wallet address for pool and miner
* use fixed mining difficulty
* use custom port numbers for Bismuth blockchain TCP connections
* modifications in Bismuth mining pool, switching off payouts
* modifications in Bismuth mining, disabled mining rewards
* updated default settings for few services
* updated customers_rejector() automat
* updated code to match config type changes
* Bump cryptography from 39.0.0 to 41.0.4
* Bump requests from 2.30.0 to 2.31.0
* solved relations issue between service_blockchain_id() should not start when service_blockchain_authority() is enabled
* solved issue in bitdust/userid/id_url.py
* bug fixes with config string types
* bug fix in lib.utime.unpack_time()
* bug fix in service_message_history() and group_member() (#184)
* bug fix in service_message_history()
* bug fix in group_member()
* bug fix python3.10 logging
* bug fix logging issue on Android
* Update README.md
2023-02-21 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* IDURL fix in shared_access_coordinator()
* added 'local_path' field to api.file_info() and api.files_list()
* set to always use bz2 as a default tar file reading/writing mode
* use internal Android app data location for restore
* Android fixes related to internal storage location
* removed some legacy scripts
2023-01-27 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* minor fix in bitdust/transport/tcp/tcp_node.py
* some more fixes related to WindowsOS
2023-01-23 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* moved apisecret file from .bitdust/default/metadata/apisecret to .bitdust/apisecret
* renamed main process on Windows to bitdust-node.exe
* some more updates to make app working on Windows
* version bump Twisted==22.10.0
2023-01-15 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* make possible to create new configurations and switch between different networks
* bug fix in shared_access_coordinator()
* some changes in bitdust/main/listeners.py
2022-11-20 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* updated CHANGELOG, prepare next release
* decrease _Debug logging
* fix in tests/test_raid_worker.py
* catching some unhandled failures from defered calls
* switched regression tests to python3.8
* added new services/gateway/p2p-timeout option
* cosmetic modifications in proxy_sender() and p2p_connector()
2022-11-19 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* catching some unhandled failures from defered calls
* switched regression tests to python3.8
* added new services/gateway/p2p-timeout option
* keep track of deleted shared files in backup_fs
* proper handling of backup_fs revision number
* updated shared_access_coordinator()
* solved an issue in archive_reader()
* more accurate streaming of the websocket events about the shared files
* updated api.share_info() with additional "revision" field
* make sure it is also possible to delete shared file
* bug fixes in list_files.py
* bug fixes in backup_matrix.py
* bug fixes in customer_assistant()
* updated "bitdust alias" command line method
* rework in backup_fs.py
2022-11-04 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* solved issue with p2p_queue consumer callbacks
* solved an issue related to message streaming in the message_peddler()
2022-11-03 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added file bitdust/main/default_network.py to simplify package distribution
* bug fix to make shared_access_coordinator() more reliable
* updated few timeout values in shared_access_coordinator() and index_synchronizer()
* few minor fixes in dev scripts
* small fix in the regression tests
2022-10-23 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* moved source code into bitdust/ sub-folder and all external libs to bitdust_forks/ sub-folder
* reformatting code using custom yapf style
* added pre-commit hook with "yapf" code-formatter
* updated unit tests to properly use settings.KeyFileName()
* found and fixed critical issue related to master key location
* solved issue with unit tests data isolation
* bug fix in userid.my_id
* bug fix in main.config
* disabled customer key in service_customer()
* deleted main/control.py
* deleted networks.json
* bug fix in interface/cmd_line_json.py
* bug fix in shared_access_coordinator()
* bug fix in gateway.on_outbox_packet()
2022-10-02 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* updated Pull Request build status badge in the README.md
* fix in raid/read.py
* turned off debug logging
2022-10-01 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added Layerfile for webapp.io CI/CD
* use "supplier-file-modified" event in the service_shared_data()
* auto-refreshing live status of the shared files to other authorized customers
* increase timeout in packet_out()
* compressed Blockchain Wallet static files
* also added files from Optipoolware, TornadoWallet, WalletServer repositories
* hard-code mining difficulty to 10
* copied source files of the Bismuth project, started working with internal blockchain
* make possible to set active/inactive state for a key
* make possible to respond with multiple simillar Ack()/Fail() packets at once
* cleanup empty doc text
* few IDURL bug fixed
* added api.share_info() method
* updated api response messages
* bug fix in api.file_info()
* bug fix in gateway.py
* bug fix in shared_access_coordinator()
2022-07-22 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* make sure all known shared locations are opened during start-up
* websocket api streaming of the shared locations
* bug fixes in few api methods related to key_aliases in backup_fs
2022-07-17 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bump twisted from 20.3.0 to 22.4.0
* do not publish device OS version in the identity file
* real-time data streaming via WebSocket API to support front-end apps (#161)
* keep track of key alias in storage/backup_fs.py (#163)
* transition from ParseGlobalID to NormalizeGlobalID
* rework in backup_fs and backup_control
* store backup_db file index separately for each private key
* changed dependecies of service_backups() and service_keys_storage()
* rework in shared_access_coordinator()
* keep track of suppliers's index file revision in the shared_access_coordinator()
* moved GetBackupStatusInfo() to restore_monitor.py
* bug fixes in customer_space.py and customer_assistant.py
* changed config services/customer/suppliers-number type to integer
* bug fixes in few services
* bug fixes in few API methods
* IDURL fix in message_peddler()
2022-05-22 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* populate more information in API streaming for private/shared files
* added api streaming of shared files
* use jsn.dumps() instead of pprint.pprint() in the interface/cmd_line_json.py
* fallback fix in packet_out() state machine
* small change in api.file_info() method
2022-04-06 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added api streaming of remote files versions
* added API streaming of private files
* added api.service_health() method
* added API steaming of online statuses
* added API streaming of correspondents
* bug fixes in lib/txws.py, p2p/p2p_service.py and system/deploy.py
* IDURL fix in p2p_service related to identity revision number
* bug fix in group_member()
* IDURL bug fix in identitydb
* bug fixing cmd line "daemon" command
* bug fix in userid/id_url.py
* adjusted ack timeouts in few places
2022-01-22 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bug fix related to pycryptodomex version bump
* updated scripts for setuptools distribution
* make possible to delete model data via websocket api streams
* make possible to populate model data once service is started
* added API streaming for messages and conversations
* added main/listeners.py and implemented real-time api updates with streaming via WebSocket
* home folder on Android is /storage/emulated/0/Android/data/org.bitdust_io.bitdust1/files/Documents/.bitdust
* enabled protection of API websocket and HTTP REST interfaces with secret token
2021-12-31 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* improvements related to logging
* make sure identity sources are never duplicated
* changed api.share_*() methods response format
* changed api.group_info() response format
* cleaned up unused api jsonrpc_server code
* added retries for dht lookup in proxy_receiver()
* IDURL fixes for my keys
* IDURL bug fixes in group_member() and message_peddler()
* minor fix in packet_out() related to automatic network reconnection process
* bug fix in few network services related to DHT layers connection process
* fixes in websocket command line interface
* bug fix in broker_negotiator()
* bug fix in api.services_list()
2021-12-24 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix in lib/net_misc.py
* run regression tests in parallel
* fix issues between broker_negotiator() and queue_keeper()
* fix issues between message_broker() and group_member()
* few fixes in identitycache.immediatelyCaching()
* archive_folder_path to be stored separately by brokers for each queue
* capturing "Unhandled error in Deferred" errors
* updated .circleci/config.yml
* changes in identity propagate
* bug fix in p2p_connector()
* added "attempts" input parameter to p2p_service_seeker()
* IDURL fix in group_member()
* bug fix in p2p/propagate.py
* bug fix in packet_out()
2021-12-01 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* IDURL fix in message_peddler()
* group_member() must always have access to the correct registered private key
* bug fix in packet_out()
2021-11-18 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bug fix in contacts/contactsdb.py
* bug fix in restore_worker()
* updated some regression tests
2021-11-15 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix in message_peddler()
* solved issue in api.process()
* IDURL fix in queue_keeper()
* bug fixes related to raid_worker()
* some improvements in p2p.propagate and id_rotator()
* IDURL fix in group_member()
* improvement in broker_negotiator()
2021-11-12 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* solved issue in api.process()
* improvements in p2p.propagate and id_rotator()
* bug fixes related to raid_worker()
* message_peddler() auto-start queue_keepers() on startup
* fix in stream.message
* added few more regression tests
* IDURL fix in p2p/propagate.py
* bug fixes in message_peddler()
* bug fixes in supplier_finder()
* bug fixes in group_member()
* improvement in broker_negotiator()
* adding verbosity level control to regression tests
* critical bug fix in userid.id_url
* enabling regression testing via ssh tunnel in CircleCI
* solved code coverage issues in the regression tests
* multiple IDURL fixes
* added start_suspended to local_service()
* added driver.suspend() and driver.resume() methods
* rework in network_connector() state machine
* solved a low-level issue in regression app Dockerfile
* added "no_debug" Makefile target
* some rework in list_files_orator() automat
* added .circleci/config.yml and disabled regression tests on travis ci
* refactoring regression tests
* bug fix in lib.websock
* logging changes
2021-08-18 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added "request-failed" event to packet_out() automat
* for single customer group_members() must be in sync when connected to same message brokers
* renaming queue ID when first broker is rotated
* added websocket_timeout argument to WebSocket cmd line client
* disabled JSONRPC API interface
* command line tool migrated to WebSocket API client
* built new Twisted-based WebSocket API client
* introduced a new algorithm for message brokers rotation
* rebuilt queue_keeper() state machine
* built new broker_negotiator() state machine
* regenerating digital signature when sharing a private key to another user
* fixes in proxy_receiver() state machine
* some of the services to be stopped explicitly in case failed to start right away
* added api.queue_peddlers_list() method
* added api.queue_keepers_list() method
* rebuilt group_member() state machine
2021-06-18 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix in dht_relations.read_customer_message_brokers()
* added new services/message-broker/message-ack-timeout config option
* fixes in shared_access_donor() and group_access_donor()
* bug fix in p2p.propagate
* small updates in api methods
* inreased PK transfer timout in group_access_donor() and shared_access_donor()
* fixing issue with message brokers lookup order in group_member()
* switching IdServer input traffic to HTTP POST protocol
* bug fix in id_server()
* fixed IDURL bug in identitycache.py
* bug fix in queue_keeper()
* fixing network reconnection in proxy transport
* updated some regression test keywords
2021-05-30 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added option "services/keys-storage/reset-unreliable-backup-copies"
* bug fix in proxy_router()
* bug fixes in messages streaming (#147)
2021-05-28 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bug fix in message_peddler()
* IDURL bug fix in queue_keeper()
* bug fix in p2p_service_seeker()
* bug fix in group_member()
* update dht revision number of the dht records storing message brokers info
2021-03-19 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* few critical changes in group_member(), queue_keeper() and message_peddler()
* solved concurency issues between message brokers
* solved critical issue with signature verifications using RSA keys
* solve some issues when broker IDURL was rotated
* added api.automat_info() method
* fix issue in proxy_receiver()
* added timeout to p2p_service.SendListFiles()
* added response_timeout to CancelService()
* bug fix in restore_worker()
* IDURL fix in contactsdb.get_supplier_meta_info()
* bug fix in accounting.report_donated_storage()
* rebuilt customers_rejector() state machine
* fix in message broker to deliver messages properly
* do not share group key label with message brokers
* fix in p2p_service_seeker()
* bug fixes in access/groups.py
2021-02-16 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* do not use DHT cache for group_member()
* more aggressive rejecting of idle customers
* IDURL bug fix in transport/packet_out.py
* always cleanup identitycache on startup
* added new api.events_list() method
* added services/customer-patrol/customer-idle-days option
* new feature to cleanup inactive customers automaticslly
2021-02-13 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* able to replace existing public keys received from other nodes
* bump cryptography from 3.2 to 3.4.4
2021-02-08 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* api.group_reconnect() should not use DHT cache
* fixed issue in message group reconnecting
* another issue with duplicated DHT records for message brokers
* bug fix in access/groups.py
2021-02-07 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* one more minor fix in message_peddler()
* added api.group_reconnect() method
2021-02-06 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* IDURL bug fixes in access/groups.py
* cache missing IDURLs in message_peddler() before loading all known streams
* added refresh task to queue_keeper() to keep DHT record alive
* set message_ack_timeout=25 in message_peddler()
* do not enable service_message_broker() by default
2021-02-05 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* adjusted logging to be able to trace down IDURL rotation issues
2021-02-04 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* properly rotate customer and broker IDURL in service_private_groups()
* bug fix in archive_reader()
* make possible to start/stop publishing events from any state machine in real-time
* small fix in api.friend_add()
* fixes in id_rotator()
* use routed packets to deliver "direct" traffic from router node
2021-01-26 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added host filtering for proxy_router() - make sure to not send to my own host
* solving issue with proxy_router()
* fixes for group messaging (#135)
2021-01-24 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fixes in group chat
* fixes in dht_service
* decommissiong old code for windows release auto-update
2021-01-20 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* solve issue with signatures for renamed keys after id rotations
* few Android fixes
2021-01-07 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* attach to pre-defined DHT layers at startup
* added a new file_sending_filter_callback
* solving some of proxy transport issues
* small fixes in group_member()
2021-01-05 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* another IDURL fix in supplier/customer_space.py
* solved issues with keys signing and verification during transfers
* also erase customer key in customers_rejector() and api.customer_reject()
* fix in keys_synchronizer()
* updated docs
2020-12-26 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* stop building PRs with python2
* updated README
* fix in api.customer_reject()
* solved issue with sender id in group messages
* do not force utf-8 locale
2020-12-21 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* IDURL fix in io_throttle
* added CICD config for CircleCI
2020-12-11 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* disabled few unused modules and skip creating some of the local folders
* force utf-8 for the locale
* fix for cmd line on Windows
2020-12-04 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fixed few typos and small bugs on Windows
2020-11-27 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* update conversations list when new group created
* added "keys" table also in message history db
* fix in shared_access_coordinator()
* my master key always registered locally with local_key_id=0
* index all locally registered keys by permanent local_key_id
2020-11-11 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* IDURL fix in shared_access_coordinator()
* fix in dht_relations.py
* bug fix in stream.file_up()
* built new api.message_conversations_list() method
* fix in keys_synchronizer()
* added descriptions for all settings
* always use identity name when search for people
* cleaned up some of the settings
* populate service-started and service-stopped events
* Bump cryptography from 2.8 to 3.2
* adjusted some settings related to packet timeouts
* fix in storage.restore_worker()
* IDURL fixes in group messaging
* added new state machine message_producer() and fixed api.group_leave() method
* added new service_personal_messages()
2020-08-27 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bug fix in backup_rebuilder()
* IDURL fix in customer_assistant()
2020-08-25 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* small bug fixes
2020-08-03 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* try to fix issue with unreliable keys
2020-08-01 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix issue with detecting already runnign BitDust process
2020-06-18 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix deploy script for Mac
2020-06-11 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* enrypted group chat messages
2020-06-11 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bug fix in message_peddler()
* bug fix in packet_in()
* bug fix in lib/jsontemplate.py
2020-06-11 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix setuptools==40.9.0 for MacOsX distribution
* working with group messages encryption
* updated requirements.txt and made a fix for MacOsX distribution
2020-06-06 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bump Twisted==20.3.0
* stabilyze regression
* recognize when route has changed in proxy_router()
* added "timeout" parameter to api.group_create_v1()
* bug fix in proxy_sender()
* improved proxy communications
2020-06-05 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* skip matching to outbox packets all incoming Relay*() packets in packet_in.handle()
* make 1 retry in proxy_sender() after receving RelayFail()
* drop routed connection in proxy_receiver() and proxy_router() when active session disconnects
* propagate my identity to contacts which are related only to active services
* added "services/employer/replace-critically-offline-enabled" option
* properly cleanup failed routed packets
* proxy_router() to remember recently closed routes to be able to properly reply
* added RelayAck(), RelayFail(), RelayIn() and RelayOut() p2p commands
* record and process later incoming group messages when group_member() is busy
* bug fix in message_peddler()
* bug fix in shared_access_coordinator()
* bug fix in index_synchronizer()
* bug fix in service_keys_storage()
2020-05-29 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* make possible to run service_private_groups() and service_message_broker() together
2020-05-29 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* bug fix in service_proxy_transport()
* bug fix in group_member()
* bug fix in DHT core
2020-05-27 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* IDURL fix in dht_relations.py
* added 10 second timeout for ListFiles() request to archive_reader()
* bug fix in message_peddler()
* try to re-run the failed regression test case 1 time
2020-05-27 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added new option services/private-messages/acknowledge-unread-messages-enabled
* reply back with Ack() for every incoming Message() even if it was not consumed
2020-05-25 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* make possible to ignore specific idurls in p2p.lookup
* fix scenario 12
* fix scenario 14
2020-05-25 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* get back to sequential regression tests
* merged all regression test into one "alpha" test
* added "join_network" parameter to api.identity_recover()
* group_member() state machine to be able to handle intermedieate states
* fix in online_status()
* attempt to fix signature error issue
* fix in id_registrator()
* IDURL fix in proxy_router
* make sure after identity rotate customer is still available via old IDURL
2020-05-20 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* try to run tests in parallel mode
* small fix in supplier/customer_space.py
2020-05-16 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* cleanup responses in few api methods
* several bug fixes
2020-05-15 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added new api.process_info() method
2020-05-13 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added p2p.network_service and new task for automatic network reconnect in service_p2p_notifications()
* added parameter "join_network" to api.identity_create() method
* start group_member() instances for active groups at startup
* make sure to restore all archived snapshots when reading message history
2020-05-11 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* disabled some API methods
* more updates in API & Docs
2020-05-10 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix in group_member()
* renamed and updated some API methods
* added a new example script in scripts/websocket_example.html
* fixed a bug in access.groups
* updated API docs
* websocket interface to be able to accept multiple connections at same time
2020-05-07 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* built a simple WebSocket API client for BitDust in scripts/websocket_client.html
* restore messages from archive when member joins the grouo
* store streamed messages in local sqlite3 DB as well
* improvements in restore_worker()
* pre-create archive folder for group communications history archive backups
* added list files query callbacks to simplify fetching list files from suppliers
* fix: make sure to not run duplicated backups in keys_synchronizer()
* new archive_reader() state machines
* new archive_writer() state machines
* make possible to request list files for selected files/folders only with a query
* added supplier/customer_space.py file to simplify service_supplier()
* added new service service_data_disintegration()
* share public part of group key to my supplier when creating a new group
* added message types: queue_message, queue_message_replica, private_message, group_message
* new feature: local DHT cache in .bitdust/servicedata/entangled_dht/cache/
* fix: make sure to select DHT record with latest revision always
* for every group there are 3 brokers: first is active, second and third are stand-by
* able to automatically detect "dead" broker and switch to next stand-by broker
* new file: CONTRIBUTING.md
* refactor API responses - all must have consistent response structure from now
* able to read messages from archive which is stored on group owner's suppliers
* possible to set group_member() status to active/inactive to be able to "mute" the group
* skip auto-update python sources if BitDust was clonned manually
* fetch logs from containers after regression test finishes more faster
* all group messages are delivered in sequential order, controlled by a broker
* use Message() packet instead of Event() to deliver group communications to consumers
* api.message_receive() can filter messages by type
* use streams.message queue to run group communications
* use sys.setrecursionlimit(2000) workaround fix for Py2 in txrestapi
* proper close settings in the end of the app execution
* make possible to sign my keys with my master key
* new streaming methods in service_message_broker()
* new queue_keeper() state machine to keep DHT records for the group
* new message_peddler() machine to run message broker duties and deliver messages
* new group_access_donor() state machine to be able to add new members to existing group
* new group_memeber() automat to make possible to join an existing private group
* added API methods to manage groups: create/join/leave/share
* added methods to read/write customer-message_broker relation from/to DHT
* rebuilt p2p_service_seeker() machine
* new role "message_broker" and
* new customer service private_groups()
2020-02-05 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* added logs/automat-events-enabled and logs/automat-transitions-enabled options
2020-02-05 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix in proxy_sender() state machine
* bug fix in packet_out() and set default debug level to 0 (#94)
* set debug level 18 in regression tests
2020-02-03 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* set option "services/proxy-server/enabled" by default to "false"
* bug fix in packet_out()
* added "logs/api-enabled" option
2020-02-02 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* py3 fixes in DHT and API
2020-01-31 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* decrease number of testing networks in regression tests
* added .bitdust/logs/api.log file
* fix in stun/stun_client.py
* py3 fixes in DHT
* IDURL fix in service_supplier()
* make sure python3 is building properly in regression
* added few devops scripts
* supplier to take in account ecc_map when leaving customer family
2020-01-28 Veselin Penev [penev.veselin@gmail.com](mailto:penev.veselin@gmail.com)
* fix in family_member() state machine
* set DHT bucket size to 4
* refactoring in regression tests
* fix in shared_access_donor() state machine
* changes in API responses for Renato
* warnings all to be logged with debug level 2 and also stored in a separate file
* populate friend-connected/friend-disconnected events