forked from GNOME/vala
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
3915 lines (3430 loc) · 151 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.56.14
============
* Various improvements and bug fixes:
- codegen: Generate compatible wrapper of ref-void functions [#1486]
- vala: Prevent usage of strlen() on non-null-terminated string [#1485]
* Bindings:
- glib-2.0: Add new symbols from 2.78
- gstreamer-1.0: Make ElementFactory.make()'s name parameter default to null
- gtk4-wayland: Add the missing wayland-client bindings
- wayland-client: Complete the binding
Vala 0.56.13
============
* Bindings:
- gtk4: Restore CssProvider.load_from_data() signature to take an array
[#1478]
Vala 0.56.12
============
* Regression fix:
- vala: Only transform default initializers of parameters [#1474]
* Bindings:
- gtk4: Preserve compatibility with <= 4.8.x [#1475]
Vala 0.56.11
============
* Various improvements and bug fixes:
- vala: Infer generic type from typeof() initializer of parameters
- girparser: Support glib:ref-func, glib:unref-func, copy-function
and free-function
* Bindings:
- gtk4: Update to 4.12.0
Vala 0.56.10
============
* Various improvements and bug fixes:
- codegen: Don't emit casts in static field initializers [#1459]
- parser: Reset tokens buffer when parsing a new source file
- vala: Output additional information when accessing unknown member
- vala: Allow "set" method of an container to return void or bool
- vala: Correctly handle possible null from SourceFile.get_source_line()
[#1464]
* Bindings:
- glib-2.0: Update return-type of HashTable.add/insert/replace() and
GenericSet.add() [#1465]
- linux: Add resolution field to Input.AbsInfo
- libpq: Fix a few binding errors
Vala 0.56.9
===========
* Various improvements and bug fixes:
- codegen: Add missing EXTERN flag for GType function of error domains
[#1449]
- codegen: Improve handling of sealed classes [#1451]
- vala: Report an error when trying to chain up to inaccessible private
ctor [#1445]
- vala: Fix spaces for attributes when writing property accessors
- girwriter: Fix c:type attribute for real struct parameters [#1444]
- testrunner: Add support to check generated header
- manual: Update from wiki.gnome.org
* Bindings:
- gio-2.0: Ease implemention of GLib.ActionGroup [#1447]
- glib-2.0: Fix return-type of GLib.SourceOnceFunc [#1446]
- glib-2.0: Add ConvertError.{NO_MEMORY,EMBEDDED_NUL}
- gtk4: Pick up fix for Gdk.Toplevel.compute_size.size parameter
- vapi: Add documentation to GLib.Math that '-X -lm' may be needed when
compiling [#1388]
Vala 0.56.8
===========
* Various improvements and bug fixes:
- codegen: Include "glib-object.h" when using GType/GBoxedCopyFunc
- valadoc: Backing method of lambda-expression isn't included in valadoc AST
- valadoc/tests: Add girwriter test
- build: Improve usage of AC_PATH_PROG() for valacs
- build: valadoc requires valac 0.18.1
* Bindings:
- gio-2.0: Add new symbols from 2.76
- glib-2.0: Add new symbols from 2.76
- glib-2.0: Fix binding of g_variant_type_n_items()
- gtk4: Don't skip AlertDialog ctor
Vala 0.56.7
===========
* Various improvements and bug fixes:
- codegen:
+ Fix usage of lambda-expression from delegate initializer [#1428]
- vala:
+ Check type-argument count of interface prerequisites
+ Improve Symbol.to_string() to include TypeParameters
+ Improve error message for wrong number of type-arguments
+ Improve check of type_reference in ObjectCreationExpression
+ Allow inheritance from sealed class in bindings [#1036]
- Fix a couple of type-argument issues in vala itself
- g-i: Fix compiling with mingw clang
* Bindings:
- gio-2.0,glib-2.0,gtk+-3.0,gtk4: Fix a few binding issues
- glib-2.0: g_chdir is declared in <glib/gstdio.h>
Vala 0.56.6
===========
* Regression fix:
- vala: Improve initialization of namespace fields with compound
literal [#1424]
* Bindings:
- gio-2.0,glib-2.0,gobject-2.0: Update 2.74 symbols
- webkit2gtk-4.*: Update to 2.40.0
- webkitgtk-6.0: Update to 2.40.0
Vala 0.56.5
===========
* Various improvements and bug fixes:
- codegen:
+ Consistently handle GLib.Error as boxed type [#1418]
+ Add cast to accessor calls for generic property implementations
+ Use g_object_class_override_property to implement generic interface
properties [#1419]
+ Add declaration for register call of dynamic DBus interfaces [#1422]
- vala:
+ Correctly handle pre/post-increment expression as index of element
access [#1417]
+ Set proper value-type of unary ref/out expression in initializers [#1421]
+ Allow assignment of namespace fields with inline allocated arrays
- gtkmodule: Improve error messages
* Bindings:
- gtk4: Update to 4.10.1~40b154bf from 0.58
- gtk4: Add sealed to all the final types
- gtk+-3.0: Fix ToolPalette.icon_size get-accessor type
- webkitgtk-6.0: Update to 2.39.90
Vala 0.56.4
===========
* Various improvements and bug fixes:
- codegen:
+ Add glib.h include for TRUE/FALSE literal
+ Append VALA_EXTERN also when using fast-vapi
+ Perform required casts for generic types of return-values and
in/out-parameters [#1407]
+ Correctly handle fixed-length array initialization of fields in classes
+ Perform required cast while assigning and passing function pointers [#1408]
+ Cast return value of generic type accessor functions [#1408]
+ Cast vfunc of property accessors by using cast_method_pointer() [#1408]
- vala:
+ Report error in real literal if exponent has no digits
+ Improve compatibility type checks of array elements in assignments
+ Improve missing exponent check for real literals
+ Better handling of [NoReturn] call inside finally clause
- Properly check for colored terminal output on Windows [#1383]
- Fix output decoding error of non-ASCII character on Win32 [#1379]
- parser: Properly handle chained equality expressions [#1385]
- manual: Update from wiki.gnome.org
* Bindings:
- cairo: Add missing Cairo.Pattern.get_rgba() [#1381]
- glib-2.0: Add `double_hash` and `double_equal`
- gtk4: Make Gtk.show_uri_full() an instance method of Gtk.Window [#1347]
- gtk4: Update workaround for DropTarget.drop() signal conflict [#1312]
- libgvc: Fix `cheader_filename` of the `Gvc` namespace
- pango: Fix a few binding errors
- pixman-1: Fix instance position of region copy methods
- webkit2gtk-*.*: Update to 2.37.91
- Add webkitgtk-6.0 bindings
- Update gnome-desktop-3.0 and gnome-desktop-4
Vala 0.56.3
===========
* Various improvements and bug fixes:
- vala: Don't unconditionally expect ObjectType of Class [#1341]
- vala: Make try-statement parsing more resilient [#1304]
- vala: Avoid problems with '\' in #line directives on Windows [#1353]
- gidlparser: Set source reference of parameters
* Bindings:
- atspi-2: Fix a few binding errors
- glib-2.0: Use g_abort for GLib.Process.abort() beginning with 2.50 [#1350]
- gtk+-3.0: Correctly unhide BindingSet.by_class to avoid Version attribute
Vala 0.56.2
===========
* Various improvements and bug fixes:
- codegen: Correctly set array-length for NoAccessorMethods properties [#1316]
- codegen: Detect usage of static type-parameter in runtime context [#1326]
- vala: Avoid critical in SourceFile.get_mapped_length() [#1330]
- codegen: Make sure to initialize static collections
- codegen: Split reserved identifiers for C and Vala
- codegen: Check cname of fields and methods against reserved identfiers [#1329]
* Bindings:
- glib2.0: Add abs() to int8/int16/int32/ssize_t [#1328]
- Add initial wayland-client binding
- Add geocode-glib-2.0 binding
- Add rest-1.0 bindings
Vala 0.56.1
===========
* Various improvements and bug fixes:
- vala: Improve accessibility check inside member initializer [#1300]
- vala: Don't allow nullable enum value as real GObject property [#1074]
- valadoc: Include path to doclet in error message
- manual: Update from wiki.gnome.org
* Bindings:
- gtk4: Fix GLib.Value parameter in ContentProvider.get_value()
- gtk4: Split out gtk4-wayland and gtk4-x11 into separate bindings [#1308]
- gstreamer: Update from 1.21+ git main
- vapi: Update GIR-based bindings
Vala 0.56.0
===========
* Various improvements and bug fixes:
- codegen: Drop confusing warning when accessing interface members
* Bindings:
- Add webkit2gtk-4.1 bindings
- glib-2.0: Fix memory management of TestSuite.add*/get_root() with 2.70 [#1295]
- libarchive: Fix a few binding errors
- SDL2_ttf: Fix a few binding errors
- tiff: Fix a few binding errors
Vala 0.55.91
============
* Various improvements and bug fixes:
- girparser:
+ Handle duplicated and unnamed symbols
+ Add support for "copy_/free_function" metadata for compact classes
+ Don't count instance-parameter when checking for backwards closure
reference [#721]
* Bindings:
- gst-editing-services-1.0: Fix BaseEffect.set_time_translation_funcs()
- gstreamer-audio-1.0: Fix a few binding errors
- gstreamer-base-1.0: Fix a few binding errors
- gstreamer-video-1.0: Fix a few binding errors
- gtk4: Fix content_deserialize_async()
- libarchive: Fix a few binding errors
- libgsf-1: Fix a few binding errors
- libgrss: Fix FeedItem.get_geo_point() parameters
Vala 0.55.90
============
* Various improvements and bug fixes:
- codegen:
+ Emit G_DEFINE_AUTOPTR_CLEANUP_FUNC() for interfaces with base class [#1292]
+ Emit G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC() for structs [#1293]
+ Default to "has_type_id = false" for external error-domains
+ Emit GType definition for error domains [#699]
- vala:
+ Catch and throw possible inner error of lock statements [#83]
+ Keep error-code symbol reference in callable expression context
+ Allow delegate without target to be used as constant type
- girparser: Pick up type_id of error domains
* Bindings:
- glib-2.0: Update 2.70/72 symbols
- gstreamer: Update from 1.21.0+ git main
- vapi: Update GIR-based bindings
Vala 0.55.3
===========
* Highlights:
- Allow usage of dynamic on VarType [#187]
* Various improvements and bug fixes:
- codegen: Use correct target/destroy of delegate field initializer [#1285]
- codegen: Stop generating wrappers for dynamic property access
- gtkmodule: Improve UI parsing and handling of nested objects and properties
- vala:
+ Add missing TraverseVisitor.visit_data_type()
+ Improve check of generic type references in static contexts [#1284]
+ Make sure to drop our "trap" jump target in case of an error [#1287]
+ Move dynamic property errors to semantic analyzer pass
+ Free empty stack list for code contexts
+ Clear SemanticAnalyzer.current_{symbol,source_file} when not needed anymore
* Bindings:
- gio-2.0,glib-2.0,gobject-2.0: Update 2.72 symbols
- gstreamer: Update from 1.19.90+ git main
- gtk4: Specify sentinel for GtkAcessible methods
- gtk4: Update to 4.6.0+06ec4ec1
- vapi: Update GIR-based bindings
Vala 0.55.2
===========
* Highlights:
- Add support for async main and yield statements in main block [#1275]
- Add foreach statement support for GLib.Array and GLib.Sequence
* Various improvements and bug fixes:
- codegen:
+ Avoid symbol clashes with "va_*" from "stdarg.h"
+ Access of inline allocated array is guaranteed to be non null [#1282]
+ Don't uncoditionally null check callback_func for GLib.Closure [#1282]
+ Access of stack allocated struct is guaranteed to be non null [#1282]
+ Write array length of formal parameters with fixed length
- vala:
+ Require lvalue access of delegate target/destroy "fields" [#857]
+ Implement missing YieldStatement.accept()
+ Add support to infer return type of dynamic signals
+ Transform assignment of an array element as needed [#889] [#1258]
- parser: Reduce the source reference of main block method to its beginning
- parser: Improve handling of nullable VarType in with-statement
- manual: Update from wiki.gnome.org
* Bindings:
- glib-2.0,gio-2.0: Update 2.72 symbols
- gstreamer: Update from 1.19.3+ git master
- gtk4: Update to 4.6.0+a092986a
- glib-2.0: Fix criticals in string.joinv() with arrays that start with null
- vapi: Add linux-media bindings (linux/media.h)
- alsa: Add/fix *.alloca() functions
- posix: Add limits.h binding
- v4l2: Update V4l2.Capabilities and fix some inline arrays
Vala 0.55.1
===========
* Highlights:
- Add support for partial classes [#370]
- Add support for nested methods (local functions) [#1232]
- Add multi-line support to Vala.Report [#764]
- Support "emit" for explicit signal emission
- Add native support to specify non default length-type for arrays [#607]
* Various improvements and bug fixes:
- codegen:
+ Move some errors to semantic analyzer pass
+ Stop generating wrappers for dynamic signal connections
+ gdbus: Use g_dbus_method_invocation_take_error() as simplification
+ Initialize type parameter properties for generics earlier [#67]
+ Initialize "result" variable on declaration for abstract methods only
+ Use __once instead of __volatile in generated code
+ Generated SimpleType structs don't have a type id
- vala:
+ Add optional SourceReference parameter to DataType classes
+ Preserve the source reference when resolving data types
+ Set source references of created DataType instances in OCE
+ Set TypeParameter as symbol of GenericType
+ Add accessibility check of type for constants and structs base type
+ Don't allow casting to void [#1070]
+ Don't allow casting real structs to classes or simple-types [#1249]
+ Check accessibility of initializer for constant and enum value
+ Show source location when reporting deprecations
* Bindings:
- Add gnome-desktop-4, gnome-bg-4 and gnome-rr-4 bindings
- Add libsoup-3.0 binding
- Add webkit2gtk-5.0 bindings
- glib-2.0: Add Unicode 14.0 symbols
- glib-2.0: Update 2.72 symbols
- gstreamer: Update from 1.19.3+ git master
- gstreamer-1.0: Make Gst.Uri a sealed class
- gtk4: Update to 4.6.0+06e5da45
- webkit2gtk-*.0: Update to 2.35.1
- vapi: Update GIR-based bindings
Vala 0.54.6
===========
* Various improvements and bug fixes:
- codegen:
+ Allow boxing of non-external SimpleType structs [#1273]
+ Cast given default-value of struct with possible member initializer [#1272]
+ Clear existing length values when revisiting a slice expression [#1274]
- vala:
+ Allow unsafe assignment of integer to enum while reporting a notice
+ Non nullable enum types are simple types [#1268]
+ Correctly replace "in" expression in pre-/postconditions of method [#1269]
* Bindings:
- gio-2.0: Add custom MemoryOutputStream.with_*data() wrappers [#1271]
Vala 0.54.5
===========
* Various improvements and bug fixes:
- codegen:
+ Correctly handle chain up of struct creation methods [#1264]
+ Use a dedicated EmitContext for _variant_get*() functions
+ gtkmodule: Handle nested closure elements and bind them accordingly [#1262]
- vala:
+ NullLiteral is not a valid argument for string concatenation [#1260]
+ Set is_yield_expression in async context when chaining up to async base ctor
+ Report statement parsing error if it is not meant to be an expression [#1261]
+ girparser: Avoid possibily creating duplicated attributes
- vapigen.m4: use $PKG_CONFIG_SYSROOT_DIR
* Bindings:
- glib-2.0: Always use the actual C type for CCode.array_length_type
- gstreamer: Cherry-pick bindings fixes from 0.56
- gstreamer-1.0: Unskip the ElementFactory.make/create_full() symbols
Vala 0.54.4
===========
* Various improvements and bug fixes:
- codegen:
+ Use CCodeConstant for member access of constant symbol
+ Emit constants without initializer list in defines section [#440]
+ Add and use CCodeConstantIdentifier for accessing constants
+ Check required length of enum type name for GType support
+ Add missing check while overriding virtual async interface methods [#852]
+ Drop inconsistent space for ObjectType parameters
+ Accept CCode.type attribute on parameters [#876]
+ Fix CCodeUnaryExpression.write() for PREFIX_INCREMENT/PREFIX_DECREMENT
- vala:
+ Improve error message for invalid handler of dynamic signal
+ Using SignalHandler.disconnect() is required for dynamic signals
+ Check for unavailable value-type of variable initializer [#1253]
+ Add [Profile] as known attribute for methods
+ Report error on missing gio-2.0 package for async constructors
+ Fix signals with generic return
+ parser: Split out Parser.parse_switch_section_statement()
+ parser: Better handling of misplaced switch sections [#1246]
- genie:
+ Amend text of indent and dedent for error messages [#497]
+ Accept INTERR token before type arguments when parsing type [#1245]
+ Properly handle plain "get" or "set" property accessors [#1248]
+ "exception" is the expected string for TokenType.ERRORDOMAIN
+ Accept accessibility/async modifiers on "construct" creation methods [#1235]
- girparser: Accept "sealed" for transformed records and compact classes
- gtkmodule: Improve error message for invalid signal element in ui-file
- build: Add "test-update" which passed UPDATE_EXPECTED=1 to refresh c-expected
- tests: Rename colliding test cases to avoid conflicts
* Bindings:
- alsa: Add more API and fix a few things
- gnome-desktop-3.0: Some parameter fixes
- gstreamer: Cherry-pick bindings fixes from 0.56
- gstreamer-base-1.0: Some parameter fixes [#1255]
- gtk4: Update to 4.5.0~cd9b7307
- pango: Cherry-pick bindings fixes from 0.56
Vala 0.54.3
===========
* Various improvements and bug fixes:
- codegen: Actually free data when using "remove(_all)"
on GLib.Queue/(S)List [#1238]
- vala:
+ Parameter following ellipsis parameter is not allowed [#1237]
+ More thorough check of ValueType and set CodeNode.error on failure
+ Really check compatiblity of error types for delegate symbol
+ Correctly output signature of callable throwing error
+ Report error for non ErrorType in throws
+ Implement CodeWriter.visit_foreach_statement()/visit_catch_clause()
- parser: Make sure ErrorCodes are accessible as needed
- girparser: Add support for "ref_/ref_sink_/unref_function"
metadata for classes [#1233]
Vala 0.54.2
===========
* Various improvements and bug fixes:
- vala:
+ Multi-dimensional params-array not allowed [#1230]
+ Accept NullType as generic type argument
+ Set source references of created DataType instances in OCE
* Bindings:
- gio-2.0: Update to 2.71.0~a0d2efdc
- glib-2.0: Update 2.70 symbols
- gtk4: Update to 4.5.0~da5efea6
Vala 0.54.1
===========
* Regression and bug fixes:
- codegen:
+ Add type declaration for implicit temporary local variable
+ Sealed class in external package is not special [#1229]
* Bindings:
- gstreamer: Update from 1.19.0+ git master
- gtk4: Update to 4.5.0~3e20ecd6
Vala 0.54.0
===========
* Various improvements and bug fixes:
- vala: Warn about unsupported cast to void and drop it [#1070]
- vala: Don't restrict element type of GLib.Array [#1227]
- valadoc: Correctly format background of inline @link's [#1226]
* Bindings:
- gio-2.0: Unhide a few usable symbols which are marked not introspectable [#1222]
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