aboutsummaryrefslogtreecommitdiffstats
path: root/debian/changelog
blob: e98310c33ed2e32dd33d2bd5ab619fdc81db588c (plain)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
osmo-pcu (1.2.0) unstable; urgency=medium

  [ Vadim Yanitskiy ]
  * encoding: fix an uninitialized field in gen_freq_params()
  * neigh_cache: fix: properly convert from nanoseconds to microseconds
  * tests/rlcmac: remove unused #includes
  * tests/rlcmac: remove unused printSizeofRLCMAC()
  * tests/rlcmac: make all test functions static
  * tests/rlcmac: cosmetic: fix coding style in arrays
  * tests/rlcmac: use ARRAY_SIZE macro
  * tests: make target 'check-local' depend on 'atconfig'
  * tests: target 'check-local' does not depend on BUILT_SOURCES
  * Makefile.am: generate missing .version file
  * Makefile.am: add 'git-version-gen' to EXTRA_DIST
  * {ms,gprs_pcu}_talloc_destructor(): call osmo_timer_del() unconditionally
  * {src,tests}/Makefile.am: $(COMMON_LA) is not definied
  * fix pcu_l1if_tx_ptcch(): do not send empty blocks to GSMTAP
  * Make linter happy: fix coding style issues
  * bts_set_current_frame_number(): log expected TDMA FN
  * bts: bts_snd_dl_ass(): clarify the meaning of last_rts_fn + 21216
  * bts: bts_snd_dl_ass(): use GSM_TDMA_FN_SUM() macro
  * Makefile.am: drop unneeded '-ldl -pthread' from AM_CXXFLAGS

  [ Pau Espin Pedrol ]
  * nacc_fsm: Fix uninitialized plmn.mnc_3_digits parsing CTRL neigh resolution cmd
  * cosmetic: Add missing spacing between params
  * Use GSM48_MT_RR_IMM_ASS instead of hardcoded 0x3f value
  * Clarify use RR imm_ass msg fields
  * bts_rcv_imm_ass_cnf(): Improve logging
  * cosmetic: Update reference to func renamed in the past
  * gprs_ms: Document functions setting/updating TLLI
  * Call ms_store->get_ms() with GSM_RESERVED_TMSI instead of 0
  * gprs_ms: Move creating string name of object to a function
  * Move LLC enqueuing and retransmit timer to MS object
  * tbf_ul_ack_fsm: Pass ul_tbf instead of generic tbf
  * Rename tbf_alloc_dl_tbf() -> dl_tbf_alloc()
  * tbf_dl: Make dl_tbf_alloc API available in C code
  * Fix mess with struct tbf types passed to LOGPTBF macro
  * Rename as_{dl,ul}_tbf -> tbf_as_{dl,ul}_tbf
  * tbf_ul_ack_fsm: get ul_tbf base class only when needed
  * use new {dl,ul}_tbf_as_tbf(_const) helper functions
  * pdch: Use helper function tbf_as_ul_tbf()
  * rcv_resource_request(): Validate expected message before MS lookup & allocation
  * encoding: Use MT_PACKET_UPLINK_ASSIGNMENT define instead of hardcoded value
  * rcv_resource_request(): Update meas before allocating and assigning new UL TBF
  * Delay ImmAss(PCH, PktDlAss) if waiting for PKT_CTRL_ACK answering UL_ACK_NACK (FinACK=1)
  * Refactor and clarify tbf->triger_ass() code
  * Rename function tbf_dl_request_dl_ack() -> dl_tbf_request_dl_ack()
  * Replace tbf->establish_dl_tbf_on_pacch() refactoring GprsMs functions
  * ul_tbf: Define m_contention_resolution_done as bool
  * tbf_fsm: Identify several events as Dl-TBF only
  * Move UL allocation&assign functions to gprs_ms.c
  * update_ms(): Set TLLI of new MS object before merge with old MS
  * Join ms_merge_and_clear_ms() and ms_merge_old_ms()
  * gprs_ms: Add comment warning the user that a ptr may be freed after call to func
  * Rename tbf_alloc_ul_tbf -> ul_tbf_alloc
  * Rework tbf::update_ms()
  * tbf_fsm: Introduce new event TBF_EV_FIRST_UL_DATA_RECVD
  * Avoid losing DL-TBF during MS merge
  * tbf_fsm: Introduce new event to act upon contention resolution success
  * tbf_ul: Assign DL-TBF if needed after UL-TBF has gone over contenion resolution
  * Improve TBF logging
  * Improve MS logging
  * Disable logging fsm addresses
  * tbf_fsm: Move tbf_fsm_state_chg macro to .c file
  * tbf_fsm: Move osmo_fsm_inst fi out of struct tbf_fsm_ctx
  * tbf: Drop unused function
  * tbf: Add tbf_as_{ul,dl}_tbf_const func helpers
  * Refactor tbf_is_tfi_assigned() to avoid accessing tbf->state_fsm
  * Split tbf_fsm as tbf_{ul,dl}_fsm
  * Convert gprs_debug.cpp to C
  * pdch: Initial support Handling PktResReq with ID_TYPE=UL/DL_TFI
  * pdch_ulc_get_node(): assert if ulc pointer is null
  * Pass gprs_rlcmac_pdch to tbf_is_control_ts
  * Pass pdch ptr to tbf_compute_priority
  * encoding::write_immediate_assignment(): Constify tbf param
  * tbf_ul_fsm_ctx: Properly define tbf backptr as ul_tbf
  * tbf_dl_fsm_ctx: Properly define tbf backptr as dl_tbf
  * Move control_ts explicit checks out of the scheduler implementation
  * sched: Pass pdch to *_create_rlcmac_msg() functions
  * Move first_common_ts from gprs_rlcmac_tbf to GprsMs
  * Get rid of tbf->first_ts
  * Refactor code related to DL-TBF upgrade to multislot
  * Trigger PACCH assignment inside dl_tbf_upgrade_to_multislot()
  * tbf_ul: Fix wrong struct type in field
  * Refactor code rejecting UL-TBF upon rx of PktResourceReq
  * bts: Adapt slot_mask to trx defined array size
  * Convert ms_first_common_ts to struct gprs_rlcmac_pdch
  * Rename gprs_rlcmac_ts_alloc.cpp -> alloc_algo.cpp & create own .h file
  * pdch: Introduce APIs to print PDCH name
  * tbf: Fix typo in define used
  * Convert tbf->control_ts to be a gprs_rlcmac_pdch*
  * tests/tbf: test_tbf_dl_llc_loss(): Fix wrong param passed and wrong expectancies
  * Pass gprs_rlcmac_pdch to create_dl_acked_block()
  * Pass gprc_rlcmac_pdch to tbf_check_polling
  * Pass gprc_rlcmac_pdch to tbf_set_polling
  * bts: Adapt trx check based on bts->trx[] defined array size
  * tests/TbfTest: reproduce buggy corner case: MS with TBFs on 2 TRXs
  * Avoid moving DL-TBF from old_msg to new_ms during ms_merge
  * llc: Mark llc_is_user_data_frame() as static
  * llc: Refactor code checking if PDU expired while dequeueing
  * llc: remove unused reference to msgb address
  * cosmetic: Remove unneeded curly braces
  * Mark several fsm related internal symbols as static
  * rlc.h: Fix typo in param name

  [ Max ]
  * Set working directory in systemd service file
  * Update and document realtime scheduling priority in service file
  * cosmetic: drop unused field from struct pdch_ulc
  * cosmetic: drop duplicated comment
  * constify pdch_ulc_get_next_free_fn() parameter

  [ Philipp Maier ]
  * pcuif_proto: cosmetic: rename struct member "h" to "hopping"
  * pcuif_proto: cosmetic: rename gsm_pcu_if_info_ts to gsm_pcu_if_info_trx_ts
  * pcuif_proto: use define constant to specify nax number of trx
  * bts: refuse to set invalid frame numbers
  * bts: use GSM_TDMA_FN_ macros and uint32_t in bts_rfn_to_fn
  * bts: log FN jump delta in bts_set_current_frame_number()
  * pcuif_proto: add indication to communicate E1 parameters
  * pcu_l1_if: cosmetic: use sizeof instead of constants
  * pcu_l1_if: ignore frame numbers that exceed the valid range
  * pcuif_proto: rename PCU_IF_SAPI_AGCH_DT to PCU_IF_SAPI_PCH_DT

  [ Harald Welte ]
  * update horribly outdated copyright statement on VTY

  [ arehbein ]
  * osmo-pcu:  Transition to use of 'telnet_init_default'

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 07 Feb 2023 17:10:40 +0100

osmo-pcu (1.1.0) unstable; urgency=medium

  [ Oliver Smith ]
  * treewide: remove FSF address

  [ Pau Espin Pedrol ]
  * Fix assert hit if connecting to SGSN fails
  * llc: Convert to C: s/m_//g
  * llc: Convert to C
  * llc: Move static functions below related object
  * ms: validate codel enabled against proper define
  * ms: Remove unneeded bts!=NULL check
  * gprs_ms_storage: MS always has non NULL ms->bts
  * llc: schedule frames to MS based on SAPI priority
  * pdch is_enabled: Use API getter instead of accessing field directly
  * llc_queue: Refactor to handle codel_state per prio queue internally
  * tests/llc: Add test_llc_meta_pdu_life_expire
  * tests/llc: Add test_llc_codel
  * gprs_ms: Use osmo_timer_setup() API
  * gprs_ms_storage: Use bts_stat_item_inc/dec APIs
  * tests/tbf: Set up pcu timers in prepare_pcu()
  * gprs_pcu: Explicitly free all bts objects in list before freeing pcu
  * bts: Call gprs_bssgp_destroy() in destructor
  * TbfTest: Reset MS timeout to 0 in test_tbf_dl_llc_loss()
  * gprs_ms_stoage: Release all MS in ms_storage cleanup()

  [ Harald Welte ]
  * update git  URLs (git -> https; gitea)

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 29 Jun 2022 09:48:53 +0200

osmo-pcu (1.0.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * Support uplink multi-slot allocations
  * tbf: Log timeslot allocation failure
  * bts: Count TBF TS allocation failure
  * pdch: Standarize and improve logging
  * tbf: Improve logging when TBF being allocated or no TBF avail
  * Remove uneeded ms param from alloc_algorithm_func_t func
  * bts: Add new stats to detect TBF allocation failure reasons
  * llc: use memset to fill llc dummy frame padding
  * tbd_dl: Don't re-initialize class field twice
  * tbf: log keep_open condition status
  * tbf_dl: Fix m_last_dl_drained_fn not set under some conditions
  * tbf_dl: fix FBI not set upon X2031 = 0
  * ms: clarify delayed MS release process related code and logging
  * gprs_ms: Use standarized logging on more messages
  * sched: sched_select_ctrl_msg(): Clean up param list and improve logging
  * sched: sched_select_downlink(): Clean up param list and improve logging
  * TODO-RELEASE: document requirement of master libosmocore
  * tbf: Log N310* counter increments
  * pdch: Silently ignore DATA.ind with len=0
  * direct_phy: Support submitting DATA.ind with len=0 to upper layers
  * pcu_utils.h: Fix trailing whitespace
  * Track TDMA clock with DATA.ind instead of TIME.ind
  * Introduce init() APIs for PDCH and TRX objects
  * tests: rlcmac: Fix C vs C++ linkage of extern symbol
  * pdch.h: Drop uneeded include bts.h
  * Improve DATA.ind logging
  * Improve logging in DATA.req and ACT.req
  * tbf: Fix wrong variable printed in log
  * pdch: Log FN when decoding UL Ctrl block
  * Add new PDCH UL Controller, drop SBAllocator class
  * Replace PollController with newly added PDCH UL Controller
  * sched: Use new PDCH UL Controller
  * bts: Detect FN jumps
  * cosmetic: tests/Makefile.am: Split content into several lines
  * tests: Introduce unit tests for PDCH UL Controller
  * tests: ulc: Show current bug with FN wrap around
  * ulc: Fix FN store order upon wrap around
  * sysmo: fix wrong FN jumps in rx RA.ind
  * direct_phy: Fix condition dropping rx DATA.ind payload in in
  * Fix: left shift cannot be repesented in type int
  * sched: Fix scheduling UL TBF not matching conditions
  * sched: Simplify usf selection code
  * Set matching USF if available when polling a UL TBF
  * pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif
  * pdch_ulc: Create helper API pdch_ulc_release_node
  * Track scheduled UL blocks through USF
  * Properly implement N3101
  * sba: Document AGCH_START_OFFSET after some experimental tests
  * pdch_ulc: Optimize rbtree FN search
  * Pick unreserved UL FN when allocating an SBA
  * pdch_ulc: Support picking RRBP other than N+13
  * Drop unused function tbf_check()
  * pdch_ulc: Store TBF poll reason
  * tbf: Get rid of unneeded poll_scheduled()
  * tbf: Allow multiple concurrent polls
  * Remove unneeded poll_state check
  * tbf: get rid of poll_state completely
  * Get rid of param 'poll' with constant value
  * tbf: Get rid of attribute poll_fn
  * tbf: Get rid of attribute poll_ts
  * RIM: Improve logging
  * sba: Drop unused function find_sba_rts
  * pdch: rcv_resource_request: Improve robustness
  * pdch: tbf_by_tfi(): Allow returning TBFs in state RELEASING
  * Stop abusing T3169
  * Make use of T3142 received from BTS
  * Use negative numbers for non-spec osmo-specific timers
  * ul_tbf: Clean up handle_tbf_reject()
  * Make WaitIndication T3172 configurable
  * sched: Simplify else-if condition
  * Clarify, document Assignment related timers
  * doc/tbf.txt: Update and improve some information
  * bts: constify arg in func bts_ms_store()
  * sched: Rename func to describe its used only for RLCMAC CTRL blocks
  * rim: Constify param in func
  * Simplify helper function tbf_select_slot_set()
  * alloc_algorithm_b: Rearrange variable initialization
  * Rename function s/tbf_alloc_ul/tbf_alloc_ul_pacch/
  * Split ul_tbf alloc on CCCH into new function
  * Implement T3141
  * tbf_ul: Use is_tlli_valid() API
  * Tx ul ack/nack: Avoid sending invalid/unknown TLLI
  * encoding: Use gsm48_ta_is_valid() API
  * encoding: Encode TA in UL ACK/NACK if available
  * sched: Clean up helper function and improve logging
  * Drop existing tbf->ms() check condition
  * ul_tbf: Simplify function rcv_data_block_acknowledged
  * ul_tbf: Fix accessing zeroed block when checking if transfer is complete
  * sched: Clean up param passing and improve logging
  * pdch: Use llist_first_entry() API
  * RIM: Refactor Rx path to decode stack in proper order
  * Clean false positive in newer GCC version checking guard of else clause
  * Use LOGPDCH macro in bts_add_paging()
  * Optimize PAGING-CS PDCH set selection when target MS is known
  * bts: Use ms_store when calculating set of target PDCHs for Pkt Paging Request
  * tbf: Log error path in setup() failing to assign control TS
  * Move TBF list from BTS to the TRX structure
  * MsTest: Set up tbf talloc destructor
  * tbf: Move existing tbf_state implementation to osmo_fsm
  * cosmetic: Fix typo s/TIMSI/TMSI/
  * gsm_rlcmac.c: Fix arg list of 2 callbacks
  * csn1: Implement CSN_CALLBACK type in encoder
  * bts: Fix typo in field name
  * Use new stat item/ctr getter APIs
  * pdch: Log pdch_ulc reason upon rx of pkt ctrl ack
  * pcuif: Support receiving System Information 2
  * pdch: Fix null MS access gprs_rlcmac_pdch::rcv_control_ack
  * pcuif_proto.h: Add new container message
  * Support proto IPAC_PROTO_EXT_PCU BSC<->PCU
  * pdch: Fix heap-use-after-free in pdch->ulc
  * Make gcc 11.1.0 false positivies happy
  * tbf: Drop impossible paths in create_dl_ass()
  * tests/tbf: Fix null pointer access if slowly stepping with gdb
  * Revert "coverity: fix null deref from recent UL TBF leak fix"
  * Revert "fix: handle NULL return of as_dl_tbf() and as_ul_tbf()"
  * Revert "Revert "Stop abusing T3169""
  * Move NULL and ASSIGN tbf_state transition to tbf_fsm
  * Move FLOW tbf_state transition to tbf_fsm.
  * tests: tbf: Fix dl_tbf polled for data without being in FLOW state
  * Move FINISHED tbf_state transition to tbf_fsm
  * Move WAIT_RELEASE tbf_state transition to tbf_fsm
  * Move RELEASING tbf_state transition to tbf_fsm
  * Move T3169 and T3195 to tbf_fsm
  * Drop duplicate log line
  * Put dl_tbf::cleanup into destructor
  * Drop logging last mas report before freeing TBF
  * Remove duplicate call to gprs_rlcmac_lost_rep
  * Move rate_ctr free to tbf subclass destructor
  * Get rid of tbf_dl:abort()
  * tbf_free: Get rid of uneeded tbf_state transition
  * Replace ul_ass_state with osmocom FSM
  * tbf: Reimplement rlcmac_diag() and make it available from C
  * tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_UL_ASS
  * replace dl_ass_state with osmocom FSM
  * tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_TO_DL_ASS
  * tbf: Drop unuseful flag GPRS_RLCMAC_FLAG_UL_DATA
  * Move timer X2001 to tbf_fsm
  * Get rid of lots of code only used by tests
  * tbf: Merge handle_ack_nack() into rcvd_dl_ack()
  * Fix typos in comments documenting fsm st chg macro
  * tbf: Use type bool for upgrade_to_multislot
  * Move timer X2002 to tbf_fsm
  * tbf_dl: Clarify requirements for DL ACK/NACK
  * tbf.h: Improve documentation on several flags
  * Move tbf ul_ack_state to osmocom FSM
  * Simplify tbf::set_polling()
  * tbf: Move T3193 to tbf_state FSM
  * fix typo 's/dowlink/downlink/g'
  * cosmetic: Fix typo in comment
  * sched: energy saving: Avoid Tx dummy blocks on empty PDCH TS
  * Fix crash with dyn TS when using direct pcu
  * Use LOGPDCH macro to standarize log line
  * cosmetic: sysmo: Drop unneded comment line
  * bts: Use public getter instead of class member
  * sched: Lower log level of RTS on disabled pdch
  * pdch: Make sure pending ImmAssRej scheduled for disabled pdch are dropped
  * Support Neighbor Address Resolution over PCUIF IPA multiplex
  * nacc_fsm: Move logic checking if SI is being waited for to a func helper
  * scheduler: Skip Tx DL idle blocks in TRX0 when not in DIRECT_PHY mode
  * PTCCH: skip Tx DL idle blocks when possible
  * tbf_ul_ass_fsm.c: Fix missing state transition in FSM description
  * tbf: poll_timeout(): Validate expected poll reason
  * nacc: Introduce helper function nacc_fsm_exp_ctrl_ack()
  * tbf: refactor poll_timeout() with a switch statement
  * tests: TbfTest: Fix wrong behavior in test_tbf_dl_reuse()
  * pdch: refactor rcv_control_ack() with a switch statement
  * cosmetic: Fix missing space
  * assert if tbf pointer for POLL event is NULL
  * tbf_fsm: Ignore event DL_ACKNACK_MISS in state RELEASING
  * tests: RLCMACTest: Add one more sample RA capabilities to suite
  * rlcmac: Fix CSN1 definition for DownlinkDualCarrierCapability_r7_t in MS RA cap
  * tbf: Assert if FSM allocation fails
  * sched: Rename function
  * pdch: Only release ULC entry if rx ul block matches the expected one
  * pdch: Validate poll reason matches in rcv_control_(egprs)_dl_ack_nack()
  * pdch: PktResReq: Avoid releasing ULC entry if expecting something else on UL
  * Handle Final UL ACK/NACK Confirmation in tbf_fsm
  * tbf_fsm: rename state NULL -> NEW
  * pdch_ulc: Log POLL reason upon timeout
  * tbf_dl_ass_fsm: Move block msg generation conditions to rts() function
  * tbf_ul_ass_fsm: Fix use of incorrect log macro
  * tbf_fsm: Handle MAX_N3105 in state ASSIGN
  * tbf: Use define to flag control_ts unset special value
  * tbf: Document temporary change of control_ts and move code assigning it back to FSM
  * Return void in tbf_assign_control_ts()
  * pdch: rcv_data_block: Avoid releasing ULC entry if expecting something else on UL
  * tbf: Avoid keeping poll nodes in pdch_ulc of temporary control_ts used during PACCH assignment
  * tbf_ul_ass_fsm: Avoid retrying Pkt Ul Ass if tbf is not in state ASSIGN
  * Abort scheduling of pending Pkt Ul Ass if tbf goes into RELEASE step
  * tbf: Drop pending polls during free also on states != ASSIGN
  * pdch: Simplify code path allocating UL TBF
  * pdch: Log reason of expected POLL when receiving unexpected UL data
  * bts_rcv_rach(): Gather pointers to data objects early and use them later
  * bts_rcv_rach(): Split code paths for Ass and Ass Rej
  * Get rid of tbf tsc field
  * ts_alloc: Rename s/tbf_/tbf/
  * tbf: Update FSM names when TFI change during tbf_update()
  * tbf_fsm: Add assert verifying X2002 only triggers for DL TBF
  * tbf: Assert if update() is called on UL TBF
  * tbf: update(): return negative val on error
  * tbf: Drop unneeded braces in one line condition
  * cosmetic: Fix typo in comment
  * pcuif: Submit data_req with len=0 as idle frames
  * Split csn1.c into common, enc and dec files
  * csn1: Add unit test showing RadioAccess Capability decoding failure
  * csn1: Avoid failing if optional DownlinkDualCarrierCapability_r7 is missing
  * csn1: Avoid storing existence bit as true if content was actually NULL
  * csn1_dec.c: Fix stored bit in CSN_NEXT_EXIST_LH
  * bts: Fix misleading log line in bts_rcv_rach()
  * tbf_ul: Document context where tbf_alloc_ul_ccch() is used
  * bts: Rename 11bit RACH request counter
  * vty: Avoid crash in tbf_print_vty_info with null ptr ctrg
  * vty: Log tbf_state when showing a TBF
  * vty: show tbf: Drop unneeded check for non-null ms
  * bts: Introduce new RACH req counters for one/two phase access
  * bts: Improve logging to clarify RACH req is for 2 phase access
  * bts: Count RACH Request with unexpected content
  * tbf: Increase log level of line about unable to allocate poll for TBF
  * pdch: Improve log line and increase log level
  * tbf_ul: Set first_(common_)ts in handle_tbf_reject
  * tbf: Set m_created_ts in constructor
  * tbf: Mark initial first_(common_)ts with special value
  * tbf: Set tfi to initial special value
  * bts: Add counters for successful 1,2 phase pkt access
  * tbf_ul: Update FSM names for dummy reject TBFs
  * cosmetic: Add parenthesis around expression to clarify it
  * pdch::rcv_resource_request(): Use local var to store bts pointer
  * tbf_ul: Improve documentation of tbf_alloc_ul_pacch()
  * Add counter for successful contention resolution procedures
  * doc: Update counters_generated.adoc using osmo_vty_interact.py
  * bts_pch_timer: Fix timer working only for MI type IMSI
  * tests/alloc: Extend test_bts_pch_timer() to validate MI type TMSI
  * bts_pch_timer: Avoid resend Paging Request over PCUIF if T3113 is armed
  * pdch: Log line detaching TBF at start of the function
  * pdch: Log TS enable/disable transitions
  * pdch: Log DL TBF originating the new UL TBF
  * ts_alloc: Simplify tfi_find_free logic
  * ts_alloc: rename function to clraify what it does
  * ts_alloc: rename variable to clarify meaning
  * pdch: Update ms_reserved_slots in GprsMS when TS becomes disabled
  * pdch: Drop previous UL TBF from MS who sent PktResReq through SBA
  * pdch: Increase log level of line informing about TS control change
  * tbf_ul_ass_fsm: Log both TBFs if old TBF is handling assignment for new one
  * cosmetic: gprs_pcu.h: Fix typo in comment
  * tbf_dl_ass_fsm: Log both TBFs if old TBF is handling assignment for new one
  * tbf_dl_ass_fsm: Fix missing transition to NONE if DL TBF is nonexistent
  * tbf_{dl,ul}_ass_fsm.c: use proper macro to log tbf
  * pcu_main: Mark -r cmdline param as deprecated
  * vty: Introduce command 'gsmtap-remote-host' and 'gsmtap-category enable-all'
  * Fix MS ending up with assigned imsi 000
  * bts: Add counter availablePDCHAllocatedTime
  * tbf_dl_ass_fsm: Drop unsued X2000 timer callback
  * T_defs_pcu: Set default val for X2000 to 0 ms
  * Move T3172 T_defs_bts->T_defs_pcu to have it configurable in VTY

  [ Alexander Couzens ]
  * gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originated BSSGP-RESET
  * gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN
  * gprs_bssgp_pcu: add comments to the pcu states

  [ Harald Welte ]
  * pdch_ul_controller: Fix compiler warning on gcc-10.2
  * manual: remove revhistory, as we don't maintain it manually anyyway
  * manual: Update copyright years
  * vty: Add configuration for Gb DSCP and socket priority
  * manual: Include QoS chapter and add osmo-pcu specific example

  [ Vadim Yanitskiy ]
  * gprs_rlcmac_sched: fix incorrect length for CTR_RLC_DL_BYTES
  * PCUIF protocol: add message definition for interference report
  * pcu_l1_if: ignore PDCH interference reports, do not log errors

  [ Oliver Smith ]
  * test: add 'make update_exp' target
  * Add counters: pcu.sgsn.N.rx_paging_{cs,ps}
  * Add counters: pcu.bts.N.pch.requests
  * Add counters: pcu.bts.N.pch.requests.timeout
  * bts: delete pch_timer list in destructor
  * tests: make update_exp: build check_PROGRAMS first
  * debian/control: remove dh-systemd build-depend
  * Add stats: pcu.bts.N.pdch.available/occupied
  * Add stats: pcu.bts.N.pdch.occupied.gprs/egprs
  * pdch: has_gprs_only_tb_attached: use m_num_tbfs

  [ Neels Hofmeyr ]
  * T_defs_bts: remove unit from doc strings
  * Revert "Stop abusing T3169"
  * fix: handle NULL return of as_dl_tbf() and as_ul_tbf()
  * coverity: fix null deref from recent UL TBF leak fix

  [ Daniel Willmann ]
  * gprs_bssgp_pcu: Fix crash when configuring an existing ns bind

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 16 Nov 2021 16:47:29 +0100

osmo-pcu (0.9.0) unstable; urgency=medium

  [ Pau Espin Pedrol ]
  * Pass paging group instead of imsi where later is not needed
  * Allow Gb PAGING-PS without P-TMSI
  * Support Gb PAGING-CS
  * Support PAGING-CS and PAGING-PS on on PTP-BVCI
  * tests/rlcmac: print test name at the start
  * tests/rlcmac: Memzero decoded struct
  * tests/rlcmac: Fix missing commas with unexpected results
  * tests/rlcmac: Use osmo_hexdump to print buffers
  * tests/rlcmac: Don't check stderr output
  * tests/rlcmac: Add test to showcase that decode_gsm_ra_cap() fails
  * csn1: Extend CSN_SERIALIZE to allow 0 bit of length
  * csn1: Allow CHOICE elements to re-process the bits used for the choice
  * csn1: Fix pedantic compiler warnings in csn.1 dissectors
  * csn1: Drop format_p union from CSN_DESCR
  * gsm_rlcmac.cpp: Fix trailing whitespace
  * cosmetic: csn1.cpp: Fix whitespace
  * csn1.cpp: Rework ProcessError() function to print errors
  * rlcmac: Return error code from csn1 encoder/decoder
  * Check return code of rlcmac decode/encode functions
  * rlcmac: Transform a few LOGPC messages to LOGP
  * Fix trailing newline mess with LOGP(C) in rlcmac/csn1
  * llc_queue::{dequeue,enqueue}() refactor
  * gsm_rlcmac: fix Packet_Resource_Request_t: s/Slot/I_LEVEL_TN/
  * tests/llc: Change unrealistic time jump to avoid runtime error under ARM
  * Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere
  * Use downlink BSSGP RA Cap IE
  * tests/RLCMACTest: free allocated bitvectors
  * tests/RLCMACTest: Several fixes and improvements to RAcap tests
  * rlcmac: Don't pass array element to CSN1 descriptors
  * csn1: Validate recursive array max size during decoding
  * rlcmac: Fix bug receiving RA cap
  * rlcmac: Log names of de/encoded rlcmac packet types
  * rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits
  * cosmetic: rlcmac: Fix comment typo and whitespace introduced recently
  * rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t
  * pcu_l1_if.cpp: Add missing header ctype.h
  * gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec'
  * cosmetic: Do not indent header includes inside extern C block
  * gsm_rlcmac.cpp: Avoid declaring variable in for loop
  * csn1.h: Fix trailing whitespace
  * tbf.cpp: Include c++ <new> header required for new operator's replacement type
  * gsm_rlcmac: Disable unused CSN1 descriptors
  * Move gsm_rlcmac.cpp -> .c
  * rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description
  * rlcmac: add dissection of 2G->3G/4G PS handover
  * csn1: Fix Several typos & whitespace
  * csn1: verify enough bits present to decode whole CSN_UINT_ARRAY
  * csn1: Properly verify CSN_BITMAP length
  * csn1: Remove code block from CSN_NEXT_EXIST_LH
  * pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks
  * pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block
  * tbf: Avoid crash: don't set TBF window size if setup failed
  * bts: Rename mslot_class_from_ra
  * bts: Fix Decoding EGPRS MultislotClass from 11-bit EGPRS PACKET CHANNEL REQUEST
  * bts: Return uint8_t in egprs_mslot_class_from_ra()
  * Use OSMO_FD_* instead of deprecated BSC_FD_*
  * Expect ms object to exist before calling tbf_alloc_ul_tbf()
  * Expect ms object to exist before calling tbf_alloc_dl_tbf()
  * pdch: rcv_resource_request(): Clarify tbf_free only needed if MS used to exist beforehand
  * Drop unneeded arg 'ta' in tbf_alloc_ul()
  * bts: Drop specific functions to increase counters
  * bts: Drop specific functions to add values to counters
  * bts: Drop specific functions to add values to stats
  * pcu: tbf_ul: Clean up maybe_schedule_uplink_acknack()
  * sysmo: femtobts.h: Avoid redefining global variables
  * rlc: Drop unused function gprs_rlc_data::put_data
  * rlc: Move prepare() function out of gprs_rlc_data struct
  * tbf_ul: Fix UL ACK not sent to MS if intermediate UL block is lost
  * Get rid of class GprsCodingScheme
  * gsmtap: Set signal level and SNR fields
  * gprs_ms: Small clean ups in IMSI storage related code
  * gprs_ms: Transfer known EGPRS MS class when mergling old MS
  * tbf: Drop unneeded method set_tlli_from_ul
  * pdch.cpp: Fix logging line format in rcv_block wrong length
  * Set correct GSMTAP channel type for PDTCH messages returning error
  * decoding.cpp: Improve logging in malformed UL data parsing
  * tbf_dl: uint8_t is enough to store a TA value
  * encoding: Encode TA as unsigned and check validty against GSM48_TA_INVALID
  * encoding.cpp: Fix missing spacing in function param
  * pdch.cpp: Avoid dropping existing DL TBF during rcv_resource_request
  * pdch.cpp: Avoid resetting (egprs_)ms_class to unknown if not found in MS RadioAccCap
  * pdch.cpp: Fix wrong annoying log line about non-scheduled ResourceReq received
  * pdch.cpp: Store TLLI promptly on newly created TLLI in rcv_resource_request
  * Fix typo in log message
  * pdch: Drop unneeded notice log message in rcv pkt meas report
  * Introduce log macro helper LOGPMS
  * configure.ac: Fix trailing whitespace
  * doc: Update VTY reference xml file
  * Support setting rt-prio and cpu-affinity mask through VTY
  * pdch: rcv pkt meas rep: Allocate MS object early in path and use it
  * Fix recent typo preventing MS from registering
  * gitignore: Add __pychache__ dir
  * tbf: Don't log rlcmac_diag() output in separate lines
  * gprs_ms_storage.h: Set pointer to NULL instead of 0
  * Free all MS TBFs when receiving GPRS Suspension Request
  * cosmetic: fix indentation alignment
  * vty: Add 'show bts pdch' command
  * cosmetic: Fix indentation of for loops
  * cosmetic: Fix typo in comment
  * Fix crash accessing NULL tbf->pdch[first_ts]
  * contrib/jenkins: Enable parallel make in make distcheck
  * Improve debug logging for alloc algos
  * Fix several calls to LOGPAL
  * Move gprs_rlcmac_ul_tbf::window to correct file
  * Move constructor gprs_rlcmac_dl_tbf::BandWidth to correct file
  * tbf: Make window() available to tbf base class
  * tbf: Implement enable_egprs() once
  * tbf: Set MS during constructor time
  * Move ul_tbf allocation code to correct file
  * Move dl_tbf allocation code to correct file
  * tbf: Drop unused function disable_egprs()
  * tests: ms: Pass correct pointer in constructor instead of NULL
  * tbf: Clean up gprs_rlcmac_dl_tbf::handle()
  * alloc_algo_b: Select TRX with least assigned TFIs during TBF alloc
  * bts: define egprs_enabled as bool
  * cosmetic: Fix ws between if keyword and parenthesis
  * tbf_dl: Update (egprs_)ms_class for already known MS
  * cosmetic: tests: pcu_emu: fix trailing whitespace
  * gprs_ms: Use proper function to get CS
  * Move BTS initial values inside bts.cpp
  * pcuif: Improve BTS-supported CS/MCS handling
  * Move EGPRS MS mode set to gprs_ms.cpp
  * Take into account BTS supported (M)CS values when retrieving the maximum
  * Enable egprs support through PCUIF from BTS/BSC
  * pdch: Process received CS1-4 data blocks regardless of egprs_enabled
  * tbf_dl: Don't fake EGPRS MS class when no related info is available
  * tbf_ul: Allow non-egprs phones if EGPRS is enabled
  * Get rid of bts->egprs_enabled
  * Fix configuration of initial_(m)cs
  * Fix mcs_is_valid(): UNKNOWN value is not a valid (M)CS
  * gprs_ms: Avoid enabling EGPRS if no MCS are supported
  * tbf_ul: Log mismatching TLLI on log message
  * Fix ctr reports: Remove ctr description from already removed counter
  * encoding: Fix duplicate word in log str
  * sched: Fix sending GSMTAP DL data blocks with unset USF
  * sched: Use correct GMSTAP category for EGPRS DL data blocks
  * Support multiplexing of GPRS and EGPRS TBFs in one PDCH
  * pdch: packet_paging_request: Put back non-fitting paging entry where where it was
  * pdch: Log hexdump of decde failure for dl rlcmac block
  * csn1: Fix readIndex pointer change in CSN_VARIABLE_ARRAY
  * csn1: Log CSN_VARIABLE_ARRAY values as hex
  * main: generate coredump and exit upon SIGABRT received
  * tbf: Log previous TS when changing Control TS
  * Implement downgrade to DL MCS1-4 when USF for GPRS_only MS
  * Dl TBF: Get rid of LLC UI dummy blocks following other data
  * rlcmac: Fix typo in MT_PACKET_CELL_CHANGE_NOTIFICATION value_string
  * gprs_rlcmac_sched: Use helper structure to store several tbf pointer params
  * sched: Convert code handling next_list array to be size independant
  * Convert GprsMS and helpers classes to C
  * tbf: Fix wrong verb used in log message
  * .gitignore: ignore files ending with ~
  * doc: Improve CS/MCS GPRS/EGPRS considerations in User Manual
  * tbf: remove 'software error' logs from tbf_free
  * ms: Replace struct var with rate_ctr
  * AllocTest: Avoid queuing tons of to-be-freed ms
  * gprs_ms: Mark ms_ctrg_desc static
  * Workaround ASan false positive runtime errors under some platforms
  * Split PCU global PCU object from BTS object
  * Move T_defs_pcu from BTS to PCU object
  * Move force_two_phase field from BTS to PCU
  * Move alpha,gamma fields from BTS to PCU
  * Move dl_tbf_preemptive_retransmission field from BTS to PCU
  * Move dl_arq_type field from BTS to PCU
  * Move cs_adj* fields from BTS to PCU
  * Move cs_downgrade_threshold field from BTS to PCU
  * Move (m)cs_lqual_ranges fields from BTS to PCU
  * Move ns_dialect field from BTS to PCU
  * Move fc_* fields from BTS to PCU
  * tests/tbf: Allocate PCU per test instead of globally
  * Move ws_* fields from BTS to PCU
  * Move llc_* fields from BTS to PCU
  * Fix configuration mess of initial_cs/mcs between PCUIF and VTY
  * Unify BTS into a C usable structure
  * Get rid of bts singletons
  * Rename 'bts_data' leftovers to 'bts'
  * bts: combine bts_{init,cleanup} into consturctor/destructor methods
  * Get rid of unused gsm_timer.{cpp,h}
  * Convert gprs_bssgp_pcu.cpp to C
  * Move tbf::free_all static methods to proper object files
  * Convert osmo_bts_sock.cpp to C
  * Allow multiple bts objects in PCU
  * bts: Store RAC+CI from info_ind
  * Get rid of singleton gprs_bssgp_pcu_current_bctx()
  * Initial handling support for RIM messages
  * gprs_pcu: Use libosmocore osmo_cgi_ps_cmp API
  * ms: Drop always-false check
  * sched: Check if egprs is enabled in TBF rather than MS being egprs capable
  * tbf: Drop always-true condition checking for MS
  * encoding: fix typos in comment
  * ms: Set proper initial MCS values setting mode EGPRS_GMSK
  * ms: Properly handle EGPRS_GMSK mode in ms_max_cs_dl/ul()
  * Fix Dl EGPRS data blocks being generated occasionally on GPRS TBFs
  * sched: Avoid picking TBF with nacked dl blocks when GMSK is required
  * tbf: Make tbf_ms() param const
  * Introduce NACC support
  * NACC: Fix crash freeing struct if CTRL conn was refused during alloc
  * NACC: delay CTRL conn socket init until it's needed
  * NACC: allow setting keep time for entries in neigh and si cache
  * NACC: Configure neighbor and SI resolution timeout values
  * NACC: Send only Pkt Cell Chg Continue if SI retrieve fails
  * doc: Mark PCU node red in network node diagram
  * doc: Introduce section documenting NACC support
  * nacc: Improve log line failing to establish CTRL neigh conn
  * Update TS 04.60 references to new TS 44.060
  * Drop comment about an already implemented TODO
  * Move src/tbf.txt to doc/
  * encoding: Fix comment description of S/P field
  * tbf: Reuse stored result in variable in check_polling()
  * tbf: Constify some methods
  * nacc: Fix typo in function name
  * nacc: Implement Pkt Cell Change Continue retransmission
  * nacc: Avoid RIM procedures targeting cells under same PCU
  * rlc.h: Fix struct bit fields on big endian systems
  * cosmetic: fix typo in comment
  * nacc_fsm: Move code filling struct to helper function
  * nacc_fsm: Remove NACC_EV_RX_SI from in_event_mask of some states
  * nacc_fsm: Support receiving Pkt Cell Change Notify in state WAIT_RESOLVE_RAC_CI
  * nacc_fsm: nacc_fsm: Support receiving Pkt Cell Change Notify in state WAIT_REQUEST_SI
  * nacc_fsm: Support receiving Pkt Cell Chg Notif while in some advanced states
  * nacc_fsm: Improve log when sending RIM RAN-INFO to gather SI from remote cell
  * vty: Write 'neighbor resolution' config to file
  * cosmetic: fix line indentation
  * sched: Avoid selecting TBF to tx NACC Dl msg if no TFI is assigned
  * tests: Explicitly drop category from log
  * tests: Replace deprecated API log_set_print_filename
  * Use NULL as default value for pointer type
  * find_multi_slots: Avoid calling mslot_class_get_tx() on each iteration
  * find_multi_slots: Avoid multiple calls to mslot_class_get_rx()
  * find_multi_slots: Mark mslot_class properties const
  * find_multi_slots: Avoid multiple calls to mslot_class_get_type()
  * Use ALPHA value received in SI13 from PCUIF

  [ Vadim Yanitskiy ]
  * pcu_l1_if.cpp: fix NULL-pointer dereference in imsi2paging_group()
  * gsm_timer: fix comparison of constant LONG_MAX with an integer
  * encoding: fix log_alert_exit(): do not treat error as format string
  * tests/alloc: fix implicit conversion from 'double' to 'int8_t'
  * gprs_bssgp_pcu: fix invalid use of non-static data member 'frame'
  * gprs_bssgp_pcu: fixup: fix length check in gprs_bssgp_pcu_rx_dl_ud()
  * csn1: fix csnStreamDecoder(): avoid conditional calls to bitvec_read_field()
  * VTY: get rid of pcu_vty_go_parent() / pcu_vty_is_config_node()
  * VTY: install talloc context introspection commands
  * pcu_sock: fix memleak, allocate pcu_sock_state on stack
  * pcu_sock: cosmetic: fix typo in a comment message
  * tbf: cosmetic: fix spacing in gprs_rlcmac_tbf::create_ul_ass()
  * tbf: fix NULL pointer dereference in create_[ul|dl]_ass()
  * encoding: assert return value of bitvec_set_u64()
  * csn1: fix some mistaken CSN.1 error names
  * csn1: fix csnStreamDecoder(): catch unknown CSN_CHOICE values
  * tests/rlcmac: mark Packet Polling Request as malformed
  * csn1: fix existNextElement(): use bitvec_get_bit_pos()
  * tests/rlcmac: additionally match debug output of the CSN.1 codec
  * csn1: get rid of C++ specific code, compile with GCC
  * csn1: fix csnStreamDecoder(): do not subtract no_of_bits twice
  * csn1: fix csnStreamDecoder(): always keep remaining_bits_len updated
  * csn1: fix csnStreamDecoder(): update bit_offset in CSN_EXIST{_LH}
  * csn1: bitvec_get_uint() may return a negative, use %d
  * csn1: use proper format specifier for unsigned integers
  * gsm_rlcmac: fix misleading LOGP statement in decode_gsm_ra_cap()
  * tests/rlcmac: fix malformed MS RA capability in testRAcap()
  * tests/rlcmac: also verify encoding of MS RA Capability
  * tests/rlcmac: add a new test vector for Packet Resource Request
  * csn1: fix csnStreamDecoder(): skip bits unhandled by serialize()
  * tests/rlcmac: also enable logging for DRLCMACDATA category
  * rlcmac: fix encode_gsm_*(): do not suppress encoding errors
  * csn1: fix: do not return 0 if no bits left in the buffer
  * BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore
  * BSSGP: fix: properly encode P-TMSI in RR Paging Request
  * pdch: fix packet_paging_request(): properly print paging MI
  * pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore
  * fix: properly include pure C headers from C++ code
  * l1if: fix pcu_rx_rach_ind(): use proper format string specifiers
  * sba: fix possible memleak in SBAController::alloc()
  * TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI
  * fix egprs_mslot_class_from_ra(): multislot class may not be present
  * l1if: fix: s/pcu_rx_rach_ind_pdtch/pcu_rx_rach_ind_ptcch/g
  * csn1: fix M_CHOICE: restirct maximum length of the choice list
  * csn1: fix csnStreamEncoder(): also check length of the choice list
  * csn1: fix csnStreamEncoder(): always check the choice index
  * csn1: fix: never use enumerated types in codec structures
  * encoding: cosmetic: use RLC_MODE_ACKNOWLEDGED where possible
  * RLC/MAC: implement decoding of EGPRS Packet Channel Request
  * encoding: fix write_ia_rest_egprs_uplink_sba(): add missing CHECK(rc)
  * doc/manuals: fix typo in overview.adoc: s/Omsocom/Osmocom/g
  * bts: refactor handling and parsing of RACH.ind
  * BTS::parse_rach_ind(): properly handle EGPRS Packet Channel Request
  * bts: add send_gsmtap_rach(), also send PTCCH/U over GSMTAP
  * bts: fix send_gsmtap_rach(): properly pack 11 bit RA
  * bts: cosmetic: use DUMMY_VEC for padding where possible
  * encoding: drop log_alert_exit(), use OSMO_ASSERT() instead
  * encoding: assert() presence of Downlink TBF
  * direct-phy: fix handle_ph_ra_ind(): handle PH-RA.ind on PRACH SAPI
  * debian/control: change maintainer to the Osmocom team / mailing list
  * pcu_l1_if: use proper format specifier for PCUIF version
  * pcu_l1_if: constify the argument of pcu_rx_info_ind()
  * pcu_l1_if: cosmetic: rename both 'trx'/'ts' to 'trx_nr'/'ts_nr'
  * pcu_l1_if: cosmetic: move struct 'gprs_rlcmac_pdch' into the for loop
  * pcu_l1_if: cosmetic: correct error message in pcu_rx_info_ind()
  * gsm_rlcmac: use consistent naming for [Extended] Packet Timing Advance
  * tbf: cosmetic: use GSM_MACBLOCK_LEN where possible
  * tbf: allocate the bitvec on stack in create_{dl,ul}_ass()
  * encoding: constify 'tbf' in UL/DL assignment functions
  * encoding: do not encode out of range Timing Advance values
  * encoding: fix RRBP field in write_packet_uplink_assignment()
  * encoding: use bool for use_egprs in write_packet_uplink_assignment()
  * encoding: pass pdch slot directly to encoding functions
  * encoding: clarify docstring for write_packet_downlink_assignment()
  * encoding: use CSN.1 codec to generate Packet Uplink Assignment
  * encoding: implement handing of hopping parameters
  * encoding: fix gen_freq_params(): do not check pdch twice
  * pcuif_proto: version 10: add frequency hopping parameters
  * pcu_l1_if: cosmetic: use ARRAY_SIZE() in pcu_rx_info_ind()
  * pcu_l1_if: correct logging level in pcu_rx_info_ind()
  * pcu_l1_if: cosmetic: make {local,remote}_sockaddr scoped variables
  * pcu_l1_if: use proper format string specifiers: %d -> %u
  * pcu_l1_if: print NSVC address in more common format
  * gprs_bssgp_pcu: make osmo_sockaddr local/sgsn arguments const
  * gprs_bssgp_pcu: fix possible memleak in gprs_nsvc_create_and_connect()
  * struct gprs_rlcmac_bts: remove unused 'nsei' field
  * gprs_bssgp_pcu: fix: do not crash on receipt of subsequent INFO.ind
  * doc/manuals: (re-)generate XML VTY reference automatically
  * fix tbf_select_slot_set(): use LOGP() instead of LOGPC()
  * main: remove line breaks in print_help(), increase spacing
  * main: add --vty-ref-mode, use vty_dump_xml_ref_mode()
  * BSSGP: use tlvp_val8() in gprs_bssgp_pcu_rx_paging_cs()
  * BSSGP: constify argument 'tp' of gprs_bssgp_pcu_rx_paging_{cs,ps}
  * TLLI 0x00000000 is a valid TLLI, use 0xffffffff instead
  * gprs_rlcmac_sched: fix incorrect SBA frame number assignment
  * bts: fix uninitialized memaccess in BTS::send_gsmtap_rach()
  * bts: fix uninitialized memaccess in BTS::send_gsmtap()
  * tests/rlcmac: add more test vectors for Packet Resource Request
  * contrib/osmo-pcu.spec.in: require libosmo* version 1.4.0
  * contrib/osmo-pcu.spec.in: add missing libosmoctrl dependency
  * vty: register libosmocore's FSM introspection commands

  [ Anders Broman ]
  * csn1: Update M_NULL CSN_DESCR to match wireshark
  * csn1: packet-csn1.c:179: warning: 'pui8' may be used uninitialized in this function
  * csn1: Fix warning with -Wmissing-prototypes
  * csn1: Try to fix cast discards '__attribute__((const))' qualifier from pointer target type
  * gsm_rlcmac.cpp: hanged all M_BIT macros to M_UINT, as M_BIT does not use the referenced hf.

  [ Jeff Morriss ]
  * csn1: shuffle decrements of remaining_bits_len

  [ Pascal Quantin ]
  * csn1: Fix an infinite loop in CSN.1 dissector when having more than 255 padding bits
  * gsm_rlcmac.h: Remove Uplink messages from the RlcMacDownlink_t structure
  * gsm_rlcmac: Enhance dissection of PSI1
  * gsm_rlcmac.cpp: Do not skip too many lines of the CSN_DESCR when the field is missing
  * gsm_rlcmac.cpp: fix an out of bounds access
  * gsm_rlcmac.cpp: fix another global-buffer-overflow error reported by ASAN
  * gsm_rlcmac.cpp: fix global-buffer-overflow error reported by ASAN

  [ Guy Harris ]
  * csn1: Don't cast away constness

  [ Alexis La Goutte ]
  * csn1: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7

  [ Bill Meier ]
  * gsm_rlcmac.h: #if 0 unused stuff

  [ Gerald Combs ]
  * gsm_rlcmac.h: Make sure we have a corresponding 'u' member to RlcMacDownlink_t for every call

  [ Vincent Helfre ]
  * gsm_rlcmac: add dissection of NAS container
  * gsm_rlcmac: improve dissection of MS RA Capability IE

  [ AndersBroman ]
  * gsm_rlcmac: Update : PACKET RESOURCE REQUEST to Release 14.0.0

  [ Keith ]
  * Send UL-CTRL Packet to GSMTAP even if we fail to decode.
  * Don't check ul_control_block before decoding into it.

  [ Harald Welte ]
  * csn1.c: Almost all of the logging is DEBUG, not NOTICE
  * TODO: remove those that have obviously been implemented 5+ years ago
  * bts.cpp: Increase constructor priority
  * Use osmo_fd_setup() whenever applicable
  * Use osmo_fd_*_{disable,enable}
  * gb manual: 08.16 -> 48.016 / 08.18 -> 48.018
  * gb manual: NS is implemented in libosmogb, not libosmocore
  * manuals/gb/ns.adoc: Update documentation regarding SNS capability
  * migrate to DLBSSGP as log sub-system for BSSGP

  [ Eric ]
  * configure.ac: fix libtool issue  with clang and sanitizer
  * tbf: add virtual destructor

  [ Philipp Maier ]
  * gprs_debug: Use only LOGL_NOTICE as default loglevel
  * vty: add attributes to VTY commands indicating when they apply
  * pcu_main: add commandline option --vty-ref-xml
  * gprs_bssgp_rim: add serving BSS NACC application

  [ Oliver Smith ]
  * contrib: import RPM spec
  * contrib: integrate RPM spec
  * Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in
  * contrib/jenkins: don't build osmo-gsm-manuals
  * configure.ac: set -std=gnu11

  [ Neels Hofmeyr ]
  * use new osmo_mobile_identity api (avoid deprecation)
  * paging: pass struct osmo_mobile_identity, not encoded IE bytes

  [ Alexander Couzens ]
  * pcuif_proto: version 0xa: add support for IPv6 NSVCs
  * Revert "pcuif_proto: version 0xa: add support for IPv6 NSVCs"
  * pcuif_proto: version 10: add support for IPv6 NSVCs
  * Use the new NS2 lib
  * Rework NS configuration over the info indication
  * pcu_l1_if: fix misaligned assignment of remote address
  * NS2: follow the change of ownership
  * gprs_bssgp_pcu: follow ns2 library changes
  * NS2: rework handling of unknown primitive
  * ns2: follow ns2 dialect changes
  * ns2: follow changes to add a unique name to all binds
  * ns2: follow ns2 sns api changes
  * gprs_ns2: set default dialect to ipaccess
  * gprs_rlcmac_sched: don't leak a sched_dummy()
  * gprs_rlc_ts_alloc: ensure no rolling slots are allocated
  * follow gprs_ns2 API enum changes
  * gprs_ns2: migrate to the new vty syntax
  * gprs_bssgp: rework and rename ns_create_nsvc -> ns_configure_nse
  * gprs_bssgp: rename gprs_ns_config -> gprs_ns_update_config
  * gprs_bssgp: use gprs_ns2_sns_add_bind() to allow the NSE to use the binds for IP-SNS configuration

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Tue, 23 Feb 2021 14:41:00 +0100

osmo-pcu (0.8.0) unstable; urgency=medium

  [ Alexander Couzens ]
  * tests: test encoding of egprs ul ack/nacks
  * tbf_dl: add comments to the scheduler
  * encoding: fix space, tabs

  [ Vadim Yanitskiy ]
  * osmobts_sock.cpp: pcu_sock_cb(): use libosmocore's socket API
  * osmobts_sock.cpp: pcu_sock_read(): use stack buffer, not heap
  * osmobts_sock.cpp: pcu_sock_read(): further simplify the code
  * osmobts_sock.cpp: do not print the same debug message twice
  * VTY: refactor pcu_vty_show_ms_all(): use show_ms()
  * VTY: fix command 'show tbf all': properly filter TBFs
  * BSSGP: do not reject SUSPEND ACK / NACK messages
  * BSSGP: properly print BVCI for signalling messages (BVCI=0)
  * tests/tbf: suspend warnings about the link quality measurements
  * GprsMs::update_cs_ul(): clarify the meaning of old_link_qual
  * gprs_bssgp_destroy(): fix memleak and NULL-pointer dereference
  * PTCCH: implement basic message codec and API
  * PTCCH: properly handle RTS.req for PCU_IF_SAPI_PTCCH
  * pcuif_proto.h: extend RACH.ind with TRX / TS numbers
  * PTCCH: properly handle RACH.ind for PCU_IF_SAPI_PTCCH
  * VTY: add warning about changing PCU socket path at run-time
  * VTY: cosmetic: use osmo_talloc_replace_string()

  [ Pau Espin Pedrol ]
  * cosmetic: tbf: Rename T and N arrays
  * Use proper API osmo_timer_setup() to set up timer struct
  * Introduce osmo_tdef infra and timer VTY commands
  * bts.cpp: Fix osmo_tdef initialization on older g++ compilers
  * Use osmo_tdef for BSSGP T1 and T2
  * Use osmo_tdef to implement T3190
  * tests: TbfTest: Unify stderr and stdout to ease debugging
  * Use osmo_tdef to implement ms-idle-time
  * Use osmo_tdef to implement dl-tbf-idle-time
  * pdch.cpp: Refactor bitvec param passing in rcv_control_block
  * pdch.cpp: Use pcu_l1_meas previously filled by lower layers
  * cosmetic: fix whitespace
  * Move out tbf subclasses from tbf.h to their own headers
  * Move tbf_{dl,ul} child constructors to respective .cpp files
  * tbf_dl: Setup m_llc_timer in constructor using osmocom API
  * tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE
  * vty: Fix osmo_tdef timers not listed in write config
  * Log RACH Requests using GSMTAP
  * Log AGCH and PCH blocks using GSMTAP
  * pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding
  * pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer
  * pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items
  * pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN
  * Fix assertion hit upon CCCH Paging Request
  * doc: vty: Update osmo-pcu_vty_reference.xml
  * Clarify (M)CS related VTY attributes
  * Remove dash from name used in VTY cmd prompt
  * tbf_dl.cpp: Fix typo in log line
  * pcu_l1_if: Check pag_req id_lv len fits buffer
  * prs_bssgp_pcu.cpp: Mark priv funcs as static and remove trailing whitespace
  * Fix trailing whitespace
  * fix typo in log message
  * Log BVCI PTP value upon msg recv
  * Split identity_lv param into mi+mi_len

  [ Oliver Smith ]
  * doc: update generated VTY reference
  * tbf_dl: make preemptive retransmission optional
  * Forward ETWS Primary Notification to MS
  * tests/app_info: fix compiling with older g++
  * configure.ac: set C and C++ dialects

  [ Harald Welte ]
  * manual: Fix copy+paste error
  * manual: Fix documentation missing "-D" command line option
  * manual: Add missing documentation for '-i' command line option

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Fri, 03 Jan 2020 19:40:02 +0100

osmo-pcu (0.7.0) unstable; urgency=medium

  [ Rafael Diniz ]
  * Added support for daemonize to osmo-pcu.
  * Fix help message formatting of osmo-pcu.

  [ Max ]
  * Don't install pcuif_proto.h header
  * Move C include to proper place
  * Add define for dummy burst string
  * Add encoding tests for Immediate Assignment
  * Clarify write_immediate_assignment() signature
  * Restructure IA Rest Octets encoders
  * Rewrite Packet Downlink Assignment
  * Rewrite EGPRS Packet Uplink IA Rest Octets for MBA
  * Rewrite EGPRS Packet Uplink IA Rest Octets for SBA
  * MCS: internalize 'family' parameter
  * EDGE tests: reduce code duplication
  * MCS: remove dead code
  * EDGE tests: remove no-op check
  * Use msgb_eq_data_print() in tests
  * Tighten lqual table limits check
  * Enable LGLOBAL logging for TBF tests
  * Log (M)CS UL update errors
  * MCS: move Coding Scheme enum outside of class definition
  * Make get_retx_mcs() into regular function
  * MCS: remove unused function
  * Debian: bump copyright year
  * Use unique NSEI/BVCI/NSVCI in TBF tests
  * MS store: move test helper to unit test
  * Explicitly clean up BTS singleton
  * MCS: move HeaderType enum outside of class definition
  * MCS: use value_string for conversion
  * TBF-DL: log MCS as string
  * Fix TA index encoder
  * MCS: move Mode enum outside of class definition
  * MCS: add mcs_is_*() helpers
  * MCS: add Channel Coding Command encoder
  * Fix Channel Coding Command for MCS
  * Rewrite Packet Uplink IA Rest Octets for MBA
  * Rewrite Packet Uplink IA Rest Octets for SBA
  * Use Timing Advance Index in UL assignments
  * TBF: update MCS counters
  * TBF-DL: cosmetic update for helper routines
  * Update IA Rest Octets encoding
  * TS alloc: expand tests log
  * vty: add commands to show TBF of a certain kind
  * Update MCS selection for retransmission
  * cosmetic: use const pointer for bts_data
  * Add test for MS mode and (M)CS settings
  * Use libosmocore for IMSI parsing

  [ Harald Welte ]
  * Mark gprs_ns_reconnect() as static (not used outside of C file)
  * Optionally Use the NS Sub-Network-Service (SNS) on Gb
  * pcu_l1_if: Fix erroneous endian-swapping of the CellID
  * Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP
  * gprs_debug: Use named initializers and explicit array indicies
  * bssgp: Fix dead code: PDUT_STATUS can never reach this part

  [ JF Dionne ]
  * encoding: Fixes TMSI vs MI bit selection in repeated page info

  [ Oliver Smith ]
  * tests: use -no-install libtool flag to avoid ./lt-* scripts
  * debian: create -doc subpackage with pdf manuals
  * contrib/jenkins.sh: run "make maintainer-clean"

  [ Daniel Willmann ]
  * Include pdch.h in bts.h even if we're not compiling C++
  * oc2g: Remove custom alarms
  * oc2g: Change log type (Litecell15->Oc2g)
  * jenkins.sh: Add oc2g build support
  * manuals: Add script to regenerate vty/counter documentation
  * manuals: Update VTY documentation

  [ Jean-Francois Dionne ]
  * Initial commit for OC-2G support.

  [ Minh-Quang Nguyen ]
  * OC-2G: Fix missing header
  * OC-2G: Fix TA adjustment
  * OC-2G: Always use positive TA information provided in PH-RA-IND

  [ Alexander Couzens ]
  * gprs_bssgp_pcu: make gprs_bssgp_ns_cb public
  * gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance
  * encoding: correct encoding of CRBB in ACK/NACK when not byte aligned
  * encoding: use `/* */` for comments instead of `#if 0 #endif`
  * egprs_rlc_compression: fix white spaces
  * tests/BitcompTest: fix wording in log message
  * rlc: replace int with uint16_t
  * Encoding: drop struct gprs_rlcmac_bts* from all functions
  * decompress_crbb: add length argument for search_runlen
  * Encoding: write_packet_ack_nack_desc_egprs: don't use a reference for rest_bits
  * bts.cpp: ensure left-shift operation does not exceed uint32_t
  * Encoding: use uint16_t when interacting with the window object
  * Encoding: ACK/NACK: always encode with length field present

  [ Keith ]
  * Cosmetic: Osmcoom -> Osmocom

  [ Vadim Yanitskiy ]
  * src/pcu_l1_if.cpp: fix: properly pass measurements from PCUIF
  * gprs_bssgp_pcu_rx_dl_ud(): fix: BSSGP_IE_IMSI is optional
  * gprs_bssgp_pcu.cpp: check return code of gsm48_mi_to_string()
  * gprs_bssgp_pcu_rx_dl_ud(): use OSMO_IMSI_BUF_SIZE

  [ Thorsten Alteholz ]
  * fix spelling errors detected by lintian

  [ Eric Wild ]
  * ubsan: fix shift

  [ Pau Espin Pedrol ]
  * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
  * Require newer libosmocore to avoid compile failures

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Wed, 07 Aug 2019 21:09:53 +0200

osmo-pcu (0.6.0) unstable; urgency=medium

  [ Harald Welte ]
  * debian/rules: Don't overwrite .tarball-version
  * gprs_rlcmac_received_lost(): Fix regression / uninitialized now_tv
  * initial checkin of manuals to public repo
  * Add link to Asciidoc source code of manual
  * Initial place-holder for the new Gb/IP interface documentation
  * Gb message sequence chart: flip sides (SGSN should be right)
  * Gb message sequence chart: Add notion of PCU unix domain socket
  * Gb: Various spelling fixes
  * gb: Some language improvements, formatting changes
  * consistently use '3GPP TS' not sometimes 3GPP TS and sometimes TS.
  * gb/NS: Clarify the language regarding the UDP port numbers / socket
  * vty-ref: Update URI of docbook 5.0 schema

  [ Pau Espin Pedrol ]
  * Cleanup of systemd service files
  * configure.ac: Set CXXFLAGS during --enable-sanitize
  * Install systemd services with autotools
  * Move examples/ to doc/examples/
  * Install osmo-pcu.cfg to docdir/examples
  * Allow easily disabling GFDL references

  [ Stefan Sperling ]
  * check for overlong unix socket paths

  [ Max ]
  * deb: add missing copyright file
  * OsmoPCU: fix Gb documentation front page
  * OsmoPCU: expand NS documentation
  * OsmoPCU: expand BSSGP documentation
  * OsmoPCU: add MSC chart

  [ Neels Hofmeyr ]
  * Importing history from osmo-gsm-manuals.git
  * make clean: also remove generated image files
  * add 'make check' target
  * fix 'make clean': shell glob, ignore failure
  * refactor Makefile build rules, don't use the FORCE

  [ Jonathan Brielmaier ]
  * fix various typos across all manuals

  [ Philipp ]
  * configuration: fixing typos

  [ Alexander Couzens ]
  * OsmoPCU: add rate counter documentation

  [ Daniel Willmann ]
  * Change OpenBSC mentions to OsmoBSC where applicable

  [ Oliver Smith ]
  * build manuals moved here from osmo-gsm-manuals.git
  * Fix DISTCHECK_CONFIGURE_FLAGS override
  * contrib/jenkins.sh: build and publish manuals
  * contrib: fix makedistcheck with disabled systemd

 -- Harald Welte <laforge@gnumonks.org>  Mon, 21 Jan 2019 19:03:52 +0100

osmo-pcu (0.5.1) unstable; urgency=medium

  [ Harald Welte ]
  * Don't register SIGHUP handler without actually handling SIGHUP

  [ Pau Espin Pedrol ]
  * tbf: Fix memset(0) on object with no trivial copy-assignment
  * rlc: Fix memset(0) on object with no trivial copy-assignment
  * jenkins.sh: use flag --enable-werror for sysmo and none
  * tbf: Use incrementing id for rate_ctr_group_alloc
  * tbf: Replace '.' in counter names with ':'

  [ Stefan Sperling ]
  * fix a one-byte stack buffer overrun in osmo-pcu
  * read monotonic clock with clock_gettime() instead of gettimeofday()
  * fix time-delta calculations for measurement reports
  * change log level of "DL packet loss" log messages
  * check bssgp_tlv_parse() return code in gprs_bssgp_pcu_rcvmsg()

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Fri, 27 Jul 2018 21:56:38 +0200

osmo-pcu (0.5.0) unstable; urgency=medium

  [ Neels Hofmeyr ]
  * jenkins: use osmo-clean-workspace.sh before and after build
  * vty: skip installing cmds now always installed by default
  * implement support for 3-digit MNC with leading zeros
  * configure: add --enable-werror
  * mslot_class: find_free_tfi(): use uint32_t to shift 1 << 31
  * mslot_class: two more: use uint32_t to shift 1 << 31
  * Revert "Use Timing Advance Index in UL assignments"
  * Revert "Rewrite Packet Uplink Assignment"
  * Revert "Rewrite Packet Downlink Assignment"
  * configure: fix --enable-sysmocom-dsp and --with-sysmobts flags
  * configure: properly quote CFLAGS in lc15 check
  * Revert "Rewrite EGPRS Packet Uplink Assignment"
  * use osmo_init_logging2() with proper talloc ctx

  [ Minh-Quang Nguyen ]
  * PCU: Fix TA adjustment
  * PCU: display TA information in TBF stats

  [ Max ]
  * Remove unused parameter
  * Move multislot table to separate file
  * Replace '.' in counter names with ':'
  * Fix compiler warning
  * TBF: log timer override
  * TBF: fix compiler warning in test
  * TBF: expand timer logging
  * vty: print class and TBFs for each MS
  * DL window: constify resend_needed() function
  * TBF: move EGPRS enablement into (U|D)L-TBF
  * TBF-DL: fix misleading idle time check
  * TBF: remove unused variable
  * Remove unused includes and forward declarations
  * Fix tests after rate_ctr change
  * Introduce LOGTBF* for consistent logging
  * TBF: implement independent T31xx timers
  * TBF: add N3101 counter
  * Fix warnings
  * Add function to get max supported MS class
  * Add --enable-sanitize configure option
  * Enable sanitize for CI test
  * Add tests for pcu_lsb()
  * Add optional profiling support
  * TBF: unify timer handling
  * TBF: log timer invocation source
  * TBF: bail out for unknown timers
  * Fix llc_queue_size() type
  * TBF-DL: mark rcvd_dl_ack() parameters as boolean
  * window: move encoding into functions
  * cosmetic: clarify coding scheme and puncturing
  * Make TBF state private
  * TBF: cleanup state flag handling
  * Clarify RACH-related interfaces
  * TBF-UL: add simpler test helper
  * Avoid code duplication in TBF test
  * TBF: move window parameters to UL/DL level
  * TBF-DL: move priority computation into function
  * TBF: unify EGPRS window calculation
  * Don't access TBF internals in vty functions
  * Fix jenkins.sh to match jenkins job axis filter
  * Allocate global context for TypesTest
  * Fix sanitizer build
  * Rewrite EGPRS Packet Uplink Assignment
  * Rewrite Packet Downlink Assignment
  * Rewrite Packet Uplink Assignment
  * Use Timing Advance Index in UL assignments
  * Allow specifying sysmocom headers explicitly
  * TBF: log source of state transitions
  * jenkins.sh: Disable building doxygen for deps
  * Set V_N and V_B to known initial state
  * TBF: add dedicated log categories
  * TBF: make UL/DL state internal
  * TBF: make UL ack state internal
  * TBF: make poll state internal
  * TBF: adjust test log levels
  * Add tests for find_multi_slots()
  * AllocTest: adjust test_alloc_b()
  * AllocTest: expand test output
  * AllocTest: remove assumption on max MS class
  * Add multislot classes from latest spec
  * cosmetic: fix whitespace issue with include files
  * TBF: decrease L1 logging verbosity in test
  * TBF: override send function via linker option
  * Simplify TS alloc: adjust allocator signatures
  * Simplify TS alloc: fix allocation calls
  * Simplify TS alloc: avoid TS reassignment
  * Simplify TS alloc: use defines for constants
  * Simplify TS alloc: adjust function signatures
  * TS alloc: print suggested TRX on allocation errors
  * Simplify TS alloc: internalize TRX check
  * TBF: decrease logging verbosity for traffic
  * TBF: add helpers for assignment type handling
  * TBF: show assignment kind in vty
  * vty: drop unused function
  * RACH: improve single block detection
  * TBF: move common test code into functions
  * emu: use libosmocore definitions
  * Use explicit type for pcu_lsb()
  * Move paging generation into PDCH
  * Move include guard to the top
  * Update header includes
  * Simplify TS alloc: split off RX mask computation
  * Simplify TS alloc: separate capacity computation
  * Simplify TS alloc: split allocation
  * Simplify TS alloc: split USF/UL allocation
  * Move PDCH-related functions into separate files
  * Simplify TS alloc: don't use PDCH for free TFI
  * Simplify TS alloc: constify max dl slot func
  * TBF: make network counters internal
  * Simplify TS alloc: move slot assignment
  * Simplify TS alloc: move slot check into functions

  [ Pau Espin Pedrol ]
  * Print error cause of pcu socket connect failure
  * gprs_bssgp_pcu.cpp: Comment unused function parse_ra_cap

  [ Stefan Sperling ]
  * Make osmo-pcu wait for BTS to become available at start-up time.
  * improve documentation of Encoding::write_paging_request()

  [ Alexander Couzens ]
  * pcuif_proto.h: fix whitespaces and indention
  * pcuif_proto: add version 8 features

  [ Philipp Maier ]
  * cosmetic: remove runaway semicolon
  * pcu_l1_if: add frame number to log output
  * tbf: add frame number to log output

 -- Pau Espin Pedrol <pespin@sysmocom.de>  Thu, 03 May 2018 16:20:00 +0200

osmo-pcu (0.4.0) unstable; urgency=medium

  [ Holger Hans Peter Freyther ]
  * Initial release.

  [ Max ]
  * Use value string check from osmo-ci
  * cosmetic: tighten direct-phy related code
  * Support receiving SI13 from BTS
  * Move gsmtap and accounting into separate function
  * cosmetic: convert explicit warnings to fixme/todo
  * Assert valid CS
  * TBF-DL: extend index check for RLC block copy
  * TS alloc: properly count UL slots
  * cosmetic: reformat multislot classes table

  [ Philipp Maier ]
  * gb: allow only packets from a specific SGSN

  [ Harald Welte ]
  * tests: Don't use private version of log_info but global gprs_log_info
  * Call osmo_init_logging() before static BTS constructor
  * Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP
  * Debian: Cosmetic changes to control file; add better Description
  * Debian: print test results in case of failure + clean-up autotest
  * Debian: migrate from DEB_BUILD_HARDENING to DEB_BUILD_MAINT_OPTIONS
  * Debian: upgrade to debhelper 9 / Standards 3.9.8

 -- Harald Welte <laforge@gnumonks.org>  Sun, 29 Oct 2017 12:03:05 +0100

osmo-pcu (0.3.0) UNRELEASED; urgency=medium

  * Initial release.

 -- Holger Hans Peter Freyther <holger@moiji-mobile.com>  Fri, 01 Apr 2016 18:59:00 +0200