-
Notifications
You must be signed in to change notification settings - Fork 76
/
NEWS
3428 lines (2998 loc) · 132 KB
/
NEWS
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
Vala 0.53.2
===========
* Various improvements and bug fixes:
- codegen:
+ Fix property access inside opaque compact class
+ Add missing cast to access base-class members in class/static ctor [#1221]
* Bindings:
- glib-2.0: Current constants in GLib.Math are part of glib.h [#1220]
- glib-2.0: Add RefString since 2.58 [#723]
- gstreamer: Update from 1.19.0+ git master
- gtk4: Update to 4.5.0~e681fdd9
- vapi: Update GIR-based bindings
Vala 0.53.1
===========
* Highlights:
- Support explicit nullable var-type declarations [#1146]
- Add support for variadic delegates [#160]
- Add support for sealed classes [#278]
- Add support for null-safe access operator [#522]
- Emit external creation methods in bindings
- Introduce VALA_EXPORT for public symbols to improve portability
- girwriter:
+ Use "optional" and "nullable" instead of deprecated "allow-none"
+ Improve struct creation method binding
- girparser:
+ Improve instance method detection [#1210]
+ Never skip "function" elements
+ Add "move-to" value of functions as Version.replacement
* Various improvements and bug fixes:
- codegen:
+ Use ssize_t for length variables in common array helper functions
+ Fix support for public fields on GLib.Source subclasses
- vala:
+ Add Profile.LIBC as synonym for POSIX and accept "libc" profile
+ Improve semantic check of simple type structs
+ Refactor UnresolvedSymbol/Type constructors
+ Properly check GLib.Object naming convention for properties
+ Add foreach statement support for GLib.GenericArray
- build: Add "test-asan" make target for convenience
- build: Add --enable-test-ubsan configure option and "test-ubsan" make target
- build: Use jing to verify generated GIR file, if available
- testrunner: Allow checking generated C sources
* Bindings:
- Remove gedit-2.20 and webkit-1.0 bindings
- gio-2.0,glib-2.0: Add new symbols from 2.69.0
- gio-2.0: Improve DatagramBased.create_source() binding
- glib-2.0: Wrap TimeZone.identifier() constuctor for proper error support
- gstreamer-rtp-1.0: Fix some bindings errors [#1177]
- gstreamer: Update from 1.19.0+ git master
- javascriptcoregtk-4.0: Fix JSC.Class.add_property() binding
- linux: Add SocketCAN bindings, and ISOTP constants and options
- webkit2gtk-4.0: Update to 2.33.3
Vala 0.52.5
===========
* Various improvements and bug fixes:
- codegen:
+ Allow null to initialize non-null struct inside initializer list [#594]
+ Implementing GLib.Source.prepare/check is optional since 2.36
+ Fix variadic constructors for compact classes and structs [#1195]
+ Use detroy_value() for delete statement [#1201]
+ Fix params-array in constructor for struct [#1202]
- vala:
+ Rely on DataType.to_qualified_string() for error-types [#1206]
+ Disallow resize() for constant arrays [#944]
- Recognize multiple valid CCode.gir_namespace/_version in VAPI files [#1189]
- Slightly improve source_reference for get_dup_func_expression()
- girwriter:
+ Respect GIR.name for constants, errordomains and delegates [#1196]
+ Add explicit writable attribute to all field elements
+ Fix position of "result" parameter for struct constructor
+ Write missing c:type attribute of compact class record
- girparser: Add support for "final" class attribute
- tests/girwriter: Add missing [Flags] annotation
- testrunner: Add support for girwriter tests
- docs: Update bootstrap instructions in README.md
* Bindings:
- Partly revert "gstreamer: Update from 1.19.0+ git master" [#1210]
- glib-2.0: expected_type and return value of VariantDict.lookup_value()
is nullable
- glib-2.0: Add Uri.to_string/to_string_partial() (since 2.66)
- gobject-2.0: Fix the Closure.invoke() signature
- gstreamer: Update from 1.19.0+ git master
- gtk4: Update to 4.3.2+04f3c805
- linux: Substitute linux/if.h with net/if.h
- linux: Fix some bindings errors
- linux: Fix i2c-dev constants
Vala 0.52.4
===========
* Various improvements and bug fixes:
- codegen:
+ GArray, GByteArray and GPtrArray are reference counted
+ Replace wrongly hard coded usage of G_OBJECT_GET_CLASS
+ Don't add errornous cast for unknown type_symbol
+ Mark entry point method implementation "_vala_main" as static
+ Improve check for GLib.Source derived classes
- vala: Parameter following params-array parameter is not allowed
- doc: Update man page to include more information on profiles
* Bindings:
- glib-2.0: Add missing has_typedef attributes on SourceFuncs delegates
- gstreamer: Update from 1.19.0+ git master
- gtk+-3.0: Update to 3.24.29+f9fe28ce
- gtk4: Update to 4.3.0+24f0ae1d
- pango: Mark language parameter of AttrIterator.get_font() as out
- vapi: Update GIR-based bindings
Vala 0.52.3
===========
* Various improvements and bug fixes:
- codegen:
+ Apply gconstpointer to gpointer cast to GenericType only
+ Fix access to captured generics in async method of interfaces (2)
+ Use if-clause for is_in_destructor() condition to be more clear
+ Add missing "_return" label and "_inner_error*_" declaration in dtors
+ Don't use G_GNUC_INTERNAL on implicit type specific fields
- vala:
+ length-type of arrays must not be nullable
+ Report a warning for unhandled errors in destructors
- parser:
+ Minor semantic checks to improve error messages
+ Allow empty member-initializer and accept trailing comma
+ Include INTERR token in source_reference of parsed types
Vala 0.52.2
===========
* Regression and bug fixes:
- codegen:
+ Don't free temp-var for element-access to array with boxed structs [#1174]
+ Don't free unowned heap allocated struct
* Bindings:
- glib-2.0: Add simple_generics attribute to GenericArray.find_custom()
Vala 0.52.1
===========
* Various improvements and bug fixes:
- codegen:
+ Improve handling of ellipsis parameter in get_ccode_name()
+ Fix default value of get_ccode_destroy_notify_pos()
+ Don't override valid target/destroy of previous lambda argument [#59]
+ Don't call *_instance_init() in compact class chainup
- vala: Mark tranformed static member-access as qualified [#270]
- parser: Stricter mode for chained member initializer with --keep-going [#1158]
- girwriter: namespace expects "c:symbol-prefixes" attribute [#1038]
- girwriter: Don't use instance-parameter inside callback [#1167]
- girparser,libvaladoc/girimporter: Don't guess length of xml header, iterate
forward to <repository>
- libvaladoc/girimporter: parse_constant() use "c:identifier" attribute first
* Bindings:
- gsl: Add BLAS module [#1149]
- rest-0.7: Fix OAuthProxyAuthCallback binding
- gtk+-3.0: Fix ModuleInitFunc binding
- gio-2.0: Fix TlsPassword.get_value() binding
- Fix several bindings which lead to invalid code by using them in:
javascriptcoregtk-4.0, libusb, libusb-1.0, pixman-1,
webkit2gtk-web-extension-4.0, x11, zlib,
Vala 0.52.0
===========
* Various improvements and bug fixes:
- codegen: Include "glib.h" for deprecated symbols (GOBJECT) [#1155]
- vala: Improve error for incompatible expressions in conditional expression
- vala: Check for unused attributes unconditionally
- girparser: Allow overriding of "Compact" attribute for classes
- girparser: Handle empty "<type/>" element and report an error
- girparser: Add support for NoWrapper metadata for methods
- build: Add --enable-test-asan configure option
* Bindings:
- gio-2.0: Add some missing NoWrapper and CCode.has_typedef attributes
- gnutls: Fix some binding errors
- gsl: Fix some binding errors
- gstreamer: Update from 1.19.0+ git master
- gtk4: Add Gtk.INVALID_LIST_POSITION [#1151]
- gtk4-unix-print: Switch to gir
- gtk4: Update to 4.1.2
- linux: Provide Input.Event.input_event_sec/input_event_usec fields [#1152]
- vapi: Fix a couple of attribute typos
- webkit2gtk-4.0: Update to 2.31.91
Vala 0.51.91
============
* Various improvements and bug fixes:
- codegen:
+ Error for missing type-arguments of HashTable (de)serialization [#1147]
+ Free intermediate temp-variables of postcondition expression [#80]
+ Use the one available source_reference for internal error [#436]
+ Fix access to captured generics in async method of interfaces [#537]
+ Don't ever create null-aware free macro for GenericType
+ Don't add generics arguments/parameters to async finish method
+ Drop inner casts before converting between generics and integers
- vala:
+ Add missing null-check in DataType.get_type_signature()
+ Check array type of declarations for errornous type-arguments
+ Check (optional) type-arguments of array creation expression
+ Replace all type parameter occurances in parameters for signal delegate
* Bindings:
- glib-2.0,gio-2.0: Add some missing type-arguments
- vapi: Update GIR-based bindings
Vala 0.51.90
============
* Various improvements and bug fixes:
- codegen:
+ More use of get_ccode_type_name()
+ "_first_array" parameter for params-array is variadic too
+ Inherit GType from base struct of SimpleType structs
- vala:
+ Report warning if --target-glib=auto was not evaluated successfully
+ Fix ownership inheritance of "unowned var" in foreach statement
+ Use pre-resolved symbol/type of SemanticAnalyzer if possible
- gdbus: Don't leak memory of deserialized arguments on error in wrapper method
- girparser: Reuse populated Node.gtype_struct_for instead of resolving again
- girparser: Evaluate "glib:type-struct" twice to pick up reparented structs
- testrunner: Include Gio-2.0/gio-2.0 for GIR tests too
* Bindings:
- gtk4: Update to 4.1.1+f8f90d85
Vala 0.51.3
===========
* Various improvements and bug fixes:
- codegen:
+ Don't use volatile modifier in glib API when targetting >= 2.68 [glib!1719]
+ CCodeBaseModule.get_type_id_expression () won't return null
+ Don't wrongly emit declaration for default-handler of signals
+ Include "string.h" for strcmp() (POSIX)
- vala:
+ Generics value holding struct pointer requires casting on access [#347]
+ Infer needle type for "in" expression on enum [#1138]
+ Don't allow "in" operation with different enum types [#1139]
+ Improve context check whether property is writeable on assignments
+ Include "stdlib.h" for Enum.to_string() (POSIX) [#1143]
+ Set proper source_reference for implicit "this" and "result" variables
+ Report error for invalid inner operand of unary expressions
- girwriter: Output default handler of signals
* Bindings:
- glib-2.0: Add new symbols from 2.68
- webkit2gtk-4.0: Update to 2.31.90
- vapi: Update GIR-based bindings
Vala 0.51.2
===========
* Various improvements and bug fixes:
- vala:
+ Check type-arguments in base-types/prerequisites of class/interface [#404]
+ Include type-checks in preconditions of methods for type narrowing [#894]
+ Capturing va_list parameters/variables is not allowed [#1136]
+ Properly parse and handle chained initialization of members [#1137]
- codewriter: Output valid vala syntax for LoopStatement and don't write
trailing ";" after body of WithStatement
* Bindings:
+ gstreamer: Update from 1.19.0+ git master
+ vapi: Update GIR-based bindings
Vala 0.51.1
===========
* Highlights:
- Support "binding" to bind GtkCallback to class of given property [#1093]
- Add support for type narrowing [#894]
- Support chain up to simple generics constructor [#342]
- Perform runtime version check of libvala [#88]
- girparser: Handle anonymous delegate not backed by virtual-method or signal
- Add support for 'opaque' compact classes [#1129]
- Add further support for params arrays in constructors [#128]
- Improve handling of "NoWrapper" attribute
- Improve support of SimpleType struct constructors
- Use __attribute__ instead of G_GNUC_* in POSIX profile
- Add SDL 2.x bindings [#1032] amd drop SDL 1.x
* Various improvements and bug fixes:
- codegen:
+ Improve GValueModule.visit_cast_expression()
+ Drop obsolete dedicated handling of property value-parameter
+ Apply CCodeModifiers.PRINTF to "string_printf" (POSIX)
+ Allow CCode.type_cname for classes and use get_ccode_type_name()
+ Always use G_TYPE_INSTANCE_GET_CLASS/INTERFACE for external symbols
+ Also check array type of variable argument for ref parameters
+ Don't leak array memory after it was implicitly copied
+ Use g_boxed_free in free-wrapper for heap-allocated GLib.Value
+ Don't leak GLib.Value when implicitly unboxing it
+ Don't leak memory moving heap-allocated struct to stack
+ Chain up to base struct destroy function
+ Use g_memdup2 if target glib >= 2.68 is set
+ Replace "g_memdup" with "_vala_memdup2" for target glib < 2.68
+ Correctly retrieve symbol_reference of nested cast expressions [#1134]
+ Strip all nested occurances of CCodeCastExpression [#1134]
- vala:
+ Improve detection of duplicate package source files
+ GtkChild fields/properties must be declared as unowned [#1121]
+ Don't allow assigning GtkChild fields/properties [#1121]
+ Apply stricter condition for lambda to delegate assignment
+ Don't allow disposable SimpleType structs
+ Rename Loop to LoopStatement and introduce a common base class
+ GLib.Value unboxing returns unowned value
+ Don't allow GLib.Value casting to nullable struct/simple types
+ Add Block.unreachable_exit and have it set by FlowAnalyzer [#838]
+ Convert Report.*() to real printf-like functions
+ Avoid taking extra reference of foreach collection for index iteration
+ Make sure parent_symbol for special async parameters is available
+ Require a valid DataType instance for every TargetValue
- girparser:
+ Minor improvement to field getter detection
+ Apply "delegate_target" metadata for methods and parameters
+ Apply "destroy_notify_cname" metadata for fields
+ Apply "type_get_function" metadata for classes and inferfaces
+ Set CCode.type_cname for classes if it doesn't match our default
- girwriter: Infer gir_namespace/version from target GIR filename [#606]
- girwriter: Write instance-parameter elements [#1128]
- libvaladoc/html: Don't sort struct fields to keep their original order
- libvaladoc: Correctly retrieve value for Api.Class.is_compact
- libvaladoc: Add wrapper for "agedge" of graphviz
- valadoc: Correctly set verbose flag on CodeContext
- valadoc: Replace png icons with elementary's svg version
* Bindings:
- Add enchant-2 bindings for Enchant 2.x
- Add gnu.vapi with binding for getopt_long() and some other GNU APIs
- Add libunwind-generic binding
- Fix several bindings which lead to invalid code by using them in:
cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3,
libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4,
fuse, libxml-2.0
- curses: Remove initial “w” from some Window method names for consistency
- gdk-pixbuf-2.0: Fix Pixbuf.save_to_streamv_async()
- gdk-pixbuf-2.0: Update to 2.42.3~
- gio-2.0: Fix binding of PollableOutputStream.write*_nonblocking()
- gio-2.0,gtk+-3.0,gtk4: Drop explicit c-type attributes of va_list parameters
- gio-2.0: Pick up missing invoker for some AppInfo/File.*() methods
- gio-2.0: Update to 2.67.3
- glib-2.0: Add GLib.[S]List.is_empty() convenience methods for non-null
- glib-2.0: Add new symbols from 2.68
- glib-2.0: Bind assert_cmp* functions [#395]
- glib-2.0: Improve type of OptionEntry.flags field
- glib-2.0: Make PtrArray a subclass of GenericArray
- gobject-2.0: Add new symbols from 2.68
- gstreamer-1.0: Set CCode.type_id of MiniObject to G_TYPE_BOXED [#1133]
- gstreamer: Update from 1.19.0+ git master
- gtk+-2.0,javascriptcoregtk-4.0: Wrong usage of CCode.type_cname attribute
- gtk+-3.0,gtk4: Fix some delegate return values and parameters
- gtk4: Update to 4.1.0+2712f536
- posix: Add POSIX, GNU and BSD Regex APIs
- webkit2gtk-4.0: Update to 2.31.1
Vala 0.50.3
===========
* Various improvements and bug fixes:
- codegen:
+ Use CCodeInvalidExpression instead of place holders
+ Don't leak memory of already assigned out-parameter on error [#1123]
+ Don't leak memory on internal value comparison of property setter
+ Fix assignment of casted struct value to property [#1126]
- vala:
+ Report an error if gio-2.0 is missing for DBus support
+ Add missing TraverseVisitor.visit_addressof_expression()
+ value_type of PointerIndirection expressions must not be owned [#1118]
+ SliceExpression need to return heap-allocated or unowned references [#1120]
+ Accept "unowned var" as type for foreach variable declaration [#152]
+ Ownership transfer of inline-allocated array is not allowed [#931]
- tests: Use Automake’s parallel test driver to speed up running tests [#1094]
- testrunner: A lot of simplifications
* Bindings:
- gio-2.0: Fix DBusSubtreeIntrospectFunc binding
- gstreamer-1.0: Fix direction of GLib.Value typed parameters [#1014]
- gstreamer: Update from 1.19.0+ git master
- gtk4: Use correct cheader_include for wayland/x11 gdk backend [#1112]
- gtk4: Don't rename binding for gtk_css_provider_load_from_data [#1117]
- gtk4: Update to 4.0.1
- webkit2gtk-4.0: Update to 2.30.3
Vala 0.50.2
===========
* Various improvements and bug fixes:
- codegen:
+ More use of delegate_target_type and delegate_target_destroy_type
+ Reduce get_delegate_target/get_delegate_target_destroy_notify calls
+ Don't use inferred type for temp-value to access generic property [#1088]
+ Update outdated array _size_ variable of captured local-variable [#1090]
+ Report internal error for unsupported collection type in foreach
- vala:
+ Issue an error on void initializer for local-variable
+ Allow markup-reader to accept spaces around '=' of attribute assignment
+ CodeNode.source_reference is optional, so let the API respect that
+ Use DataType.compatible() to check for string concatenation [#1100]
- valadoc: Don't call CodeContext.pop() on empty stack [#1064]
- libvaladoc: Don't filter-out generic type-parameters of delegates
- libvaladoc/girimporter: Skip "docsection" elements in <namespace>
- testrunner: Add "-Werror=return-local-addr" flag
- manual: Update from wiki.gnome.org
* Bindings:
- alsa: Fix PcmDevice.set_poll_descriptors_revents() binding [#1092]
- curses: Add Terminfo API set, function keycodes F(n) and minor changes
- curses: Correctly use [PrintfFormat] attribute
- glib-2.0: Fix return-type of Uri.parse_params() binding
- glib-2.0: Add return codes to FileStream.putc/puts(), like posix
- glib-2.0: Add GenericArray.find_custom(), variant of find_with_equal_func()
- glib-2.0: Improve GenericArray.length property
- gio-2.0: Fix binding of Resolver.lookup_service*()
- gstreamer: Update from 1.19.0+ git master
- gtk4: Attribute Gsk.ShaderArgsBuilder.free_to_args with DestroysInstance
- gtk4: Update to 3.99.4+7551f85d [#1089]
- linux: Add missing struct in cname for Spi.IocTransfer
- posix: Declare fstat, stat, lstat and fstatat as public [#1086]
- posix: Add freopen binding, as FILE.reopen()
- rest-0.7: Fix ParamsIter.next() binding
- vapi: Update GIR-based bindings
Vala 0.50.1
===========
* Various improvements and bug fixes:
- codegen:
+ Don't falsly use g_return_val_if_fail() for async creation method [#1077]
+ Don't pass CCodeFunctionCall to NULL-aware free macro
- vala:
+ Improve parsing of with-statement and allow it as embedded statement
+ Prioritize the usage of an existing with-variable instance,
Recognize previously inserted implicit access to with-variable [#1043]
- parser: Allow to begin expression with statement keyword [#1073]
- g-i: Fix a couple of C compiler warnings
- libvaladoc: Fix a couple of C compiler warnings
- testrunner: Pass --enable-checking to increase coverage, Filter external
-0X flags to preserve current default -O0
- build: Stop passing obsolete --use-header
* Bindings:
- gstreamer: Update from 1.19.0+ git master
- gtk4: Don't skip LayoutManager.create_layout_child() [#1071]
- gtk4: Update to 3.99.1+15b635d7
- vapi: Update GIR-based bindings
- webkit2gtk-4.0: Update to 2.30.1
Vala 0.50.0
===========
* Various improvements and bug fixes:
- codegen: The actual struct size is required for calloc (POSIX) [#1068]
* Bindings:
- gstreamer: Update from 1.18.0+ git master
- poppler-glib: Update to 20.09.0
- vapi: Update GIR-based bindings
Vala 0.49.92
============
* Various improvements and bug fixes:
- Don't use locale dependent string functions on syntax strings [#1067]
- girparser: Additionally fallback to "glib:type-name" to retrieve the cname
- libvaladoc/girimporter:
+ Fallback to "name" for callback
+ Fallback to "glib:type-name" for class, interface and record
+ Improve parse_symbol_doc() and don't use parse_doc()
+ Skip "attribute" elements
- libvaladoc/gtkdoc-importer:
+ Correctly retrieve "url" from "ulink" elements
+ Don't let parse_block_taglet() return null
* Bindings:
- gtk4: Update to 3.99.1
- vapi: Update GIR-based bindings
Vala 0.49.91
============
* Various improvements and bug fixes:
- codegen: Don't append unreachable clean-up section of Block [#169] [#838]
- codegen: Always include base_struct declaration if available [#464]
- vala: Additionally break on ObjectCreationExpression in "tainted" check
- vala: Add ObjectCreationExpression.to_string()
- manual: Update from wiki.gnome.org
* Bindings:
- gio-unix-2.0,glib-2.0: Updates for 2.66
- gtk4: Resolve a few conflicts of methods with virtual-methods
Vala 0.49.90
============
* Regression and bug fixes:
- Revert "girwriter: Use appropriate get_ccode_* functions" [#1059]
- tests: Don't rely on undefined use-after-free behaviour of glibc
- Add TraverseVisitor for traversing the tree with a callback
- Force usage of temporary variables for "tainted" member accesses [#1061]
- vala: Move transformation of unary increment/decrement to codegen
- vala: Set parent_node for child nodes of lambda-expression [#1062]
* Bindings:
- gstreamer: Update from 1.17.2+ git master
- gtk4: Update to 3.99.0+e6e2d6b4
- pango: Update from 1.46.0
- webkit2gtk-4.0: Update to 2.29.91
Vala 0.49.2
===========
* Highlights:
- Support non-virtual signals with default handler [#1056]
* Various improvements and bug fixes:
- codegen: Include header for base-symbols when connecting vfuncs
- vala:
+ Inherit CCode.returns_floating_reference attribute from base [#1053]
+ Mark tranformed member-access as qualified [#57]
+ Switch context if with-variable is not owned by with-statement [#1043]
- girparser: Add support for string "feature_test_macro" metadata
* Bindings:
- gio-2.0: Include "gio/gsettingsbackend.h" for GLib.SettingsBackend
members [#1054]
- goocanvas-2.0: Fix some field ownerships and types [#1057]
- gstreamer: Update from 1.17.2+ git master
- gtk4: Update to 3.99.0+358b698e
- pango: Update from 1.45.4+
- posix: Add missing "has_typedef" attribute for some delegates
- posix: Declare WRDE_APPEND constant as public
- vapi: Update GIR-based bindings
Vala 0.49.1
===========
* Highlights:
- Use defintions of public header in internal header if available
and drop --use-header compiler option and enable it by default [#713]
- gdbus: Use GDBusProxy API to set `g-interface-info` at initialization time
- Check vfunc of abstract/virtual methods and property accessors for NULL
before using it [#153]
- Check coverage of switch on enum-type and issue warnings if needed [#777]
- Map empty start/end index to 0/length for slice expressions [#238]
- Add support for "with" statement (mark them experiemental) [#327]
- Use inheritted scopes of base-types/prerequisites to resolve symbols [#54]
* Various improvements and bug fixes:
- codegen:
+ Add implicit parameter and instance checks in async method [#1005]
+ Make use of CCode.cname for label name of CatchClause
- vala:
+ Move setting of target profile and standard packages into CodeContext
+ Remove some public API from expressions and statements
+ Add Expression.is_always_true/false() helpers
+ Add InvalidExpression as replacement for erroneous nodes instead
+ Don't loose invalid_syntax when copying array type for variables [#942]
- girparser: Strip "Enum"-suffix only from enumeration
- girwriter: Internal fields/vfuncs in type-symbols are public in C [#513]
- libvaladoc: Remove unused Api.Class.get_finalize_function_name() API
- testrunner: Add more -Werror=* flags
* Bindings:
- gio-unix-2.0: Fix "g_unix_mount_for" binding [#1052]
- glib-2.0,gio-2.0,gobject-2.0: Updates for 2.66
- glib-2.0: data of GLib.Bytes is allowed to be null
- glib-2.0: Add more explicit type_id attributes for various symbols
- gstreamer: Update from 1.17.2+ git master
- gtk4: Update to 3.99.0+d743e757
- pango: Update from 1.45.2
- vapi: Update GIR-based bindings
Vala 0.48.8
===========
* Various improvements and bug fixes:
- codegen:
+ Handle "gtk_param_spec_expression" in get_param_spec()
+ Properly compare string if binary-expression contains string-literal
+ Inline allocated and constant arrays are never NULL
+ Check param for null before using it
+ Properly destroy elements of an inline struct array [#365]
- vala:
+ Avoid subsequent critical caused by invalid array type for constant
+ Improve error handling of nested initializer lists
+ Don't allow "resize" invocation on variable with unowned array type [#928]
+ Property must be writable when invoking ReturnsModifiedPointer method [#1023]
+ Recursive check of assignment target to recognize constants [#944]
+ Return copy of constant type in get_value_type_for_symbol()
+ Handle parameter initializer without value-type
+ Fully qualify member-access when using-directive was used to resolve [#57]
+ Tranform instance member-access to a static one if possible [#270]
+ Improve check of expression passed to yield
+ Allow prototype access to signal with emitter
+ Check error-type accessibility of creation methods and delegates
- girparser: Warn about conflicting signals and properties
- girparser: Skip 'docsection' elements in <namespace>
- girwriter:
+ Add c:identifier-prefixes to <namespace>
+ Write c:type="void" when name="none"
+ Write c:symbol-prefix on supported elements
+ Don't include symbols outside of a namespace [#241]
+ Use appropriate get_ccode_* functions
- libvaladoc: Support exporting the `class` modifier on methods and fields
- Disable deprecation warnings when checking bindings
- tests: Fix "methods/extern" test with -Werror=address and gcc 5.4.0
* Bindings:
- glib-2.0: Add AtomicUint, an alternation of AtomicInt for uint [#915]
- gstreamer: Update from 1.17.2+ git master
- gtk+-3.0: Update to 3.24.21+ffe2df7b
- gtk+-3.0: Resolve conflicts of signals with properties
- gtk4: Resolve conflict of DropTarget.drop signal with property [#1033]
- gtk4: Improve Gtk.ParamSpecExpression binding
- gtk4: Fix binding of CClosureExpression ctor [#1024]
- gtk4,gtk4-unix-print: Update to 3.98.5+23dcf36e
- webkit2gtk-4.0: Update to 2.29.4
Vala 0.48.7
===========
* Various improvements and bug fixes:
- codegen:
+ Improve array-dup-wrapper for empty arrays [#999]
+ Don't call get_ccode_finish_instance() with non-async methods
+ Cast initializer-list to struct for non-constant/-array assignment [#1013]
+ Consistently use get_ccode_lower_case_prefix() for function names [#1008]
- vala:
+ Correctly handle qualified struct type in initializer list [#1004]
+ Reduce calls of CodeContext.get()
+ Fix value-type for ArrayCreationExpression used as argument [#1009]
+ Improve parameter check of "get" method used for foreach [#1017]
+ Don't carry floating reference into unknown target type expression [#1018]
- girparser: Actually respect given cprefix metadata for enumerations
- girwriter: Append symbol-attributes to callback field [#1006]
- parser: Avoid mitigation for missing token if it follows DOT or
DOUBLE_COLON [#987]
- libvaladoc/girimporter: Skip "function-macro" elements
- build: Update git-version-gen to latest upstream
- tests: Build typelib if g-ir-compiler is available
* Bindings:
- gstreamer-audio-1.0: Adjustments for Gst.Audio.Sink class extension
- gstreamer: Update from 1.17.1+ git master
- gtk+-3.0: Deprecated abstract methods are not required to be implemented
- gtk4: Prefix value names of PaintableFlags with "STATIC_" [#1011]
- gtk4: Mark optional methods of Gdk.Paintable interface as virtual [#1021]
- gtk4: Update to 3.98.5+fca2ba96
- harfbuzz-gobject: Update to 2.6.8
- pango: Update from 1.45.2
- webkit2gtk-4.0: Update to 2.29.2
- vapi: Update GIR-based bindings
Vala 0.48.6
===========
* Regression and bug fixes:
- codegen:
+ Correctly handle cast-expression of real struct to nullable struct [#991]
+ Use loop index instead of get_ccode_pos() for ellipsis parameter [#995]
- vala:
+ Allow node_ref being null in SemanticAnalyzer.get_instance_base_type()
+ SemanticAnalyzer.get_instance_base_type() is not allowed to return null
+ params-array parameter is not allowed in abstract/virtual method [#985]
+ Use stable hash for methods in HashMap of implicit_implementations [#990]
and Use "str_equal" as equal_func for ArrayList<string> instances
+ Set value_type of undefined member-access to avoid further criticals
+ Transform cast from floating-type to boxed-type [#991]
+ Transform cast from integer-type to boxed-type [#992]
+ Explicit "new" method may be incompatible with a posssible base method
- valadoc: Add implicit "Posix" using-directive for POSIX profile
- girparser: Add support for boolean "new" argument for methods
* Bindings:
- gtk4: Update to 3.98.3+028942c8
Vala 0.48.5
===========
* Regression and bug fixes:
- Revert "vala: Set default_construction_method in semantic-analyzer check
if required" [#982]
- tests: Fix make dist
Vala 0.48.4
===========
* Various improvements and bug fixes:
- codegen:
+ Fix binary 'in' operator on array with boxed value-typed needle [#951]
+ Use get_value_*_function() in GSignalModule.generate_marshaller() [#468]
+ Correctly handle signals returning real non-nullable struct [#466]
+ Use specified indices to access multidimensional array constants [#905]
+ Fix base-access to non-abstract/non-virtual properties [#204]
+ Fix default of CCode.pos for parameters in async methods
- vala:
+ Set default_construction_method in semantic-analyzer check if required
+ Fix cleaning of output in CodeContext.pkg_config_modversion()
+ Don't use possibly uninitialized backing field of package_name [#971]
+ Add SourceReference.contains() and SourceLocation.to_string()
+ Check assigned handler of dynamic signal before proceeding further
+ Don't perform version check on internal lambda method
+ Perform version check for types of non-external variable declarations
+ Quote symbol on report by version attribute check
+ Ensure non-empty argument list for "disconnect" before accessing it
- girparser
+ Move special handling for certain parameters to process_callable()
+ Drop special handling of GLib.Data, GLib.PtrArray and GLib.String
+ Improve detection of AsyncReadyCallback/AsyncResult parameters [#340]
- parser: Handle incomplete expression statements
* Bindings:
- gio-2.0: Add "async_result_pos" attributes to *.call_with_unix_fd_list()
[#340]
- glib-2.0: Fix Filename.canonicalize() binding of g_canonicalize_filename
- glib-2.0: Guard Pid.to_string() with GLIB_2_50 to deal with G_PID_FORMAT
- gstreamer-app-1.0: Don't merge Src.push_buffer_*() signal with its method
[#968]
- gstreamer-1.0: Don't skip GST_*_FORMAT strings [#970]
- gtk4: Update to 3.98.3
- vapi: Update GIR-based bindings
Vala 0.48.3
===========
* Various improvements and bug fixes:
- codegen:
+ Append initializer for "_*_size_" of array field in internal struct
+ Avoid critical trying to serialize an unsupported type to Variant [#952]
+ Don't free value if property setter takes ownership [#953]
+ Correct field declaration for captured inline-allocated array [#954]
+ Include "glib.h" for G_BEGIN_DECLS/G_END_DECLS usage
+ Correctly handle transformation of translated string-literal constants
+ Don't pass CCodeCastExpression to NULL-aware free macro [#953]
- vala:
+ Support struct initializer list in non-constant array [#949]
+ Handle unlock() statement in CodeWriter
+ Handle all ctors and dtors in CodeWriter
+ Consider boolean types are compatible with each other
+ Parse standalone integer/real literals as expression statement [#961]
+ Warn about usage of override to implement abstract interface methods
* Bindings:
- gio-2.0: Update to 2.65.0~a136776e
- gstreamer: Update from 1.17.0+ git master
- gtk4: Update to 3.98.2+11495027
Vala 0.48.2
===========
* Various improvements and bug fixes:
- vapigen: Define "GOBJECT" corresponding to set profile of CodeContext [#933]
- codegen:
+ Reset outdated array _size_ variable after use as ref parameter [#929]
+ Emit postconditions before free'ing local variables
+ Correctly access captured parameter in precondition of method [#144]
+ Use correctly typed array-length variable for property-getter
+ Use correctly typed array-length variable for delegate invocation
+ Inherit "array_length_type" from (base-) parameter/property/method [#938]
+ Improve handling of "array_length_type" attribute [#938]
+ Use memset to init inline-allocated array with non-constant size [#910]
+ Initialize temp-var for property array length before calling getter
+ Include "glib.h" for g_return_*() usage [#940]
- vala:
+ Use error() instead of Report.error() inside of CodeContext.get()
+ Accept enum-values as length for inline allocated arrays [#935]
+ Improve copy of required attributes from delegate to lamdba method
+ Inherit lambda parameter attributes from delegate
+ Inline-allocated array aren't instantiated with creation expression [#926]
- valadoc: Create and register current Vala.CodeContext properly
- parser: Improve error message for invalid ArrayCreationExpression [#939]
- tests: Drop usage of "--main main" and avoid ambigious entry-points
- manual: Update from wiki.gnome.org
* Bindings:
- Add cairo-gobject binding
- cairo: Add missing type_id attributes guarded by GOBJECT define
- glib-2.0: Add binding for g_poll() [#924]
- glib-2.0: Add binding for g_win32_ftruncate()
- glib-2.0: Add missing IOChannel's win32 API
- gio-2.0: Add binding for g_io_error_from_win32_error()
- gstreamer: Update from 1.17.0+ git master
- gtk4: Update to 3.98.1
- posix: Add pathconf and fpathconf bindings
- vapi: Update GIR-based bindings
Vala 0.48.1
===========
* Various improvements and bug fixes:
- codegen:
+ Replace hard-coded "gsize" with resolved "size_t"
+ Add destroy of parameter in vfunc of delegate property setter [#919]
+ Inherit "array" attributes from (base/-interface) property
+ Inherit "delegate_target" from (base/-interface) parameter/property/method
+ Actually respect "delegate_target" attribute of method/parameter
+ Move ObjectTypeSymbol casting to GTypeModule
+ Factor out GValueModule and GLibValue into a separate source-files
+ Avoid symbol clashes with "va_*" from "stdarg.h"
- vala:
+ Fix search for Parameter.base_parameter
+ Real struct-type without type_id can't be used for GObject property [#921]
- codewriter: Output inner interface declarations [#918]
* Bindings:
- glib-2.0: Add missing "type_id"/"has_type_id" attributes to structs [#921]
- glib-2.0: Memory profiling ("g_mem_*") is deprecated since 2.46
- linux: Don't depend on GLib.Time when using POSIX profile
- gtk4: Update to 3.98+2da445f9
- poppler-glib: Update to 0.85
- vapi: Update GIR-based bindings
Vala 0.48.0
===========
* Various improvements and bug fixes:
- vala:
+ Fix circular reference in Property/EnumValueType
+ Report an internal error for unavailable context and bail
+ Prevent possible stack-overflow in Class.is_subtype_of()
- Add missing CodeContext.pop() calls
- codegen: Add more "low-level" includes of "glib.h"
- girparser: Decrease return_array_length_idx for transformed function
- girparser: Delay adding of "GLib.Object" prerequisite to interfaces
- manual: Update from wiki.gnome.org
* Bindings:
- vapi: Update GIR-based bindings
* Contributors:
Alberto Fanjul, Arnaud Bonatti, Corentin Noël, Evan Nemerson, Florian Brosch,
Jeremy Philippe, Michael Gratton, Ole André Vadla Ravnås, Princeton Ferro,
Rico Tzschichholz, Simon Werbeck
Vala 0.47.92
============
* Various improvements and bug fixes:
- Add support for sealed classes in bindings [#278]
- codegen: Don't initialize stack-allocated array with local-constant
length [#910]
- vala: Improve robustness of analyzer pass for language-servers [#911]
- vala: Add local-variables to current scope regardless its error state
- testrunner: Pass G_DEBUG=fatal-warnings to invalid test
* Bindings:
- Add some fundamental deps files to improve --nostdpkg support [#911]
Vala 0.47.91
============
* Various improvements and bug fixes:
- vala:
+ Fix base-access check for compact classes (2)
+ Don't ignore errors in Parameter and acknowledge them further
+ Properly set CodeNode.error when reporting an error
- girparser: Report a warning for conflicting class and instance methods
- testrunner: Invalid tests and therefore expected failures must return 1
- manual: Update from wiki.gnome.org
* Bindings:
- Add harfbuzz-gobject binding [#909]
- gstreamer: Update from 1.17.0+ git master
- gtk+-*.0,gtk4: Fix iter parameter of TextIter.order() [#908]
- gtk4: Update to 3.98.0+410dbdf6
- pango: Update and add harfbuzz-gobject as dependency
- webkit2gtk-4.0: Update to 2.27.90
Vala 0.47.4
===========
* Various improvements and bug fixes:
- codegen:
+ Skip StructRegisterFunction for boolean/integer/floating types [#901]
+ Handle different type-symbols in visit_base_access() [#901]
+ Explicitly include header for length-type of arrays
+ Explicitly include <glib.h> as needed for null-literal
+ Make *_try_id specific to emit-context instead being global states
- vala:
+ Improve detection of recursive struct declarations [#902]
+ Inline allocated arrays require length or initializer [#903]
- parser: Improve robustness and behavior of --keep-going
* Bindings:
- javascriptcoregtk-4.0: Make JSC.Class usable by defining the right callback
- gtk4: Update to 3.96.0+4ab12ab7
- vapi: Update GIR-based bindings
Vala 0.47.3
===========
* Highlights:
- Add further support for params arrays [#128]
* Various improvements and bug fixes:
- codegen:
+ Don't set implemenation of interface property to its own [#891]
+ Use result value of assignment rather than its computation [#895]
+ Cast instance parameter in member-initializer for base-properties [#899]
- vala:
+ Infer target_type in coalescing expressions [#892]
+ Non-nullable value-type in coalesce expression needs to be copied [#893]
+ Fix short-circuiting behavior of coalescing operator [#534]
+ Always bail if there are semantic errors
- girparser: Apply explicitly given ctype metadata attributes on callables
* Bindings:
- glib-2.0: Let (u)int.try_parse() return false if there is an unparsed part
- gtk4: Update to 3.96.0+7e2e92a8
- gstreamer: Update from 1.17.0+ git master
- vapi: Update GIR-based bindings
- webkit2gtk-4.0: Update to 2.27.4
Vala 0.47.2
===========
* Highlights:
- compiler: Add "--depfile" option writing package dependencies to given file
* Various improvements and bug fixes:
- codegen:
+ Fix support of dynamic DBus methods
+ Fix vfunc signature of delegate-typed property in interface
+ Fix precondition in creation method of structs
+ Remove unreachable code in TypeRegisterFunction.init_from_type()
+ Improve *_get_type() fast path (requires glib >= 2.58) [#879]
- vala:
+ Report error for async creation expression without yield
+ Don't require constant initializer in fast-vapi [#461]
+ VoidType is actually compatible with itself [#878]
+ Improve handling of "void" as generic type [#878]
+ Keep formal_target_type on transform of method-call/object-creation [#835]
+ Add a basic parameter check for [Print] methods
+ Let the parser have set namespace members as static
+ Don't ignore inner errors in Block and acknowledge them further
+ Improve error message for unsupported inner types and declarations
+ Don't allow "va_list" as return-type or type of fields [#884]
+ Check before accessing "name" of parent_symbol which might be null
+ Allow to override base interface properties explicitly
- gidl/girparser: Creation methods must not be marked as static
- parser: Implicit "main" method of main-block is public and static
- scanner: "\x" requires two hex digits at most
- scanner: Improve check of "\u" escape sequence
- genie: Fix parser's inner state when a struct is declared after a class
* Bindings:
- glib-2.0: Add to_string() for GLib.PollFd and GLib.Pid
- glib-2.0: Add new symbols from 2.64
- glib-2.0: Reset errno before calling strto*() functions.
- gstreamer: Update from 1.17.0+ git master
- gtk4: Update to 3.96.0+448a4023
- pango: Update to 1.44+
- vapi: Update GIR-based bindings
- webkit2gtk-4.0: Update to 2.27.3
Vala 0.47.1
===========
* Highlights:
- Various improvements for the POSIX profile
- codegen:
+ Allow passing/retrieving any delegate to/from varargs parameter
+ Support gobject property of null-terminated array without length [#855]
+ Support gobject property of delegates not carrying their target [#856]
+ Warn when directly accessing member of silent cast-expression
- vala:
+ Add DelegateType.target/destroy fields to access its user-data [#857]
+ Accept interface as inner type for object-type symbols [#697]
+ Add GenericType.dup/destroy fields [#190]
+ Support "unowned var" to declare local variables [#152]
- compiler: Add "--list-sources" options to output list of all sources [#872]
* Various improvements and bug fixes:
- codegen:
+ Move type-argument checks to SemanticAnalyzer
+ Make CCodeBaseModule.generate_method_declaration() return bool
+ Fix custom reference-counting for compact classes
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC must not declared more than once
+ Use SemanticAnalyzer.get_data_type_for_symbol()
+ Commonize the determining of return-type for delegates and methods
- vala:
+ Rename DataType.data_type property to DataType.type_symbol
+ Unify backing symbol instance of data-types
+ Respect --abi-stability in Class/Interface.accept_children()
+ Don't mark method as used on recursive usage of itself [#100]
+ Set GLib.Error as symbol of error-types if no error-domain was given
+ Make Callable derive from Symbol
- libvaladoc: Remove TypeReference.pass_ownership API
- valadoc: Rename FormalParameter to Parameter
- girwriter: Fix position of priv field (--abi-stability) [#850]
* Bindings:
- glib-2.0: Add binding for "gettext()" [#864]
- glib-2.0: Add new symbols from 2.64
- glib-2.0: Add optional "base" parameter to *.parse/try_parse() of integers
and check errno for EINVAL and ERANGE in *.try_parse() [#223]
- glib-2.0: Add (u)int.try_parse() [#649]
- glib-2.0: Add "has_typedef = false" to custom MarkupParser*Func delegates
- gtk+-*.0: Fix iter parameter of TextBuffer.backspace()
- gtksourceview-2.0: Fix iter parameter in SourceBuffer.backward/forward/...
- libusb-1.0: Use a wrapper for Context.get_device_list() [#151]
Vala 0.46.4
===========
* Various improvements and bug fixes:
- codegen:
+ Use G_TYPE_INSTANCE_GET_INTERFACE to get vtable for base-access
+ Fix setting of generic-type properties for gobject chain up [#654702]
+ Make type-parameter properties readable [#190]
+ Reduce code duplications when generation base-access
- vala:
+ Warn when passing arrays to typeof(), except for "string[]" [#868]
+ Don't falsely resolve binary-expression to bool [#869]
+ Do not allow += for arrays with fixed length
+ Infer array length of inline allocated arrays for fields [#644046]
+ Do not allow to .resize() on arrays with fixed length
+ Do not allow to change .length of arrays with fixed length
+ Improve error message for arrays as type arguments
+ Improve error reporting for invalid interface prerequisites [#437]
+ Write value of constants/enums in fast-vapi if constant only [#461]
+ Restore DestroysInstance behaviour for non-compact classes [#873]
- parser: `owned` is not allowed on Constants
- girparser: Detect and replace "-" in parameter names
- girwriter: Add readable="0"/private="1" attribute to type-specific fields