-
Notifications
You must be signed in to change notification settings - Fork 38
/
Copy pathChanges
811 lines (765 loc) · 30.1 KB
/
Changes
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
- version: 0.1.88
date: Wed 15 Jan 2025 12:46:13 PM PST
changes:
- refactor: Change all '!yamlscript/v0/' to '!yamlscript/v0:'
- core: Increase max file extension length to 16
- core: Include clojure.java-time in runtime as java-time
- std: Add std/now datetime function
- std: Make std/split call str on input
- core: Fix bug for multiple consecutive map conditionals
- build: Use -march=compatibility to support more cpus
- core: Allow fq function tags like !:a/b
- core: Support chained tag calls !:foo*:bar
- core: Support '!:foo' after '::' as '!:foo:'
- core: Refactor ys.ys internals into yamlscript.externals
- core: Major rework of the 'use' command
- core: Add ql qm qo qv and to-omap to std
- core: Add O and remove P and A in std
- core: Infix add works on functions
- core: Vector * Number -> Vector
- core: Added std/diff (cloure.data/diff)
- version: 0.1.87
date: Mon 16 Dec 2024 09:18:04 AM PST
changes:
- doc: Updates to docs after KubeCon SLC
- core: Remove a duplicated function from transformers.clj
- core: Change yaml/load to not load keys as keywords
- core: Fix bug for alias to map with a << merge key
- std: Add fs-basename function
- core: Add DIR global var to runtime
- core: Fix bug in conditional pairs in map
- core: Add ys/eval-stream function
- core: Fix bug with tag calls on let exprs
- core: Add ys/def-vars-from-map function
- version: 0.1.86
date: Sun 01 Dec 2024 10:32:59 PM CST
changes:
- core: Improvements and tests for << merge key
- core: Add aliases for truey? T? and falsey? F?
- core: Fix and improve code in data mode sequences
- core: Support chained << mapping merges
- version: 0.1.85
date: Tue 26 Nov 2024 08:54:30 PM EST
changes:
- core: Colon at end of method call tag toggles mode
- core: Support code sections in data mode sequences
- version: 0.1.84
date: Fri 15 Nov 2024 02:02:06 AM MST
changes:
- core: Add global var Y to hold current stream
- code: Support '<<::' merge in data mode
- core: Add '!yamlscript/v0:' for data mode
- core: Fix some -s + -e bugs
- core: Add +++ symbol, contains current stream value
- version: 0.1.83
date: Fri 08 Nov 2024 09:40:28 PM PST
changes:
- www: CSS changes for yamlscript.org site
- core: Don't abspath YSPATH paths
- blog: November post highlighting Exercism and KubeCon
- doc: Doc updates
- version: 0.1.82
date: Sun 03 Nov 2024 07:03:26 PM PST
changes:
- make: Detect IS_ARM with aarch64
- util: Fixes for brew-update
- release: Test for YS_GH_USER up front
- core: Fix bug in let bindings in dmap construction
- core: Fix bug in dot chain colon call after dollar key
- core: Apply TTT to auto call to main with -x
- std: Add condf macro
- std: Add when+ macro that binds _ to the test result
- core: Fix bugs with compile to ordered maps by default
- std: Fix in? and has? to check nil/false in seq
- util: 0.1.81 refactorings to utility scripts
- doc: Update main repository ReadMe.md file
- doc: Update language binding ReadMe files
- version: 0.1.81
date: Fri 01 Nov 2024 06:15:43 PM PDT
changes:
- std: Add A (atom) D (deref) and G(to-set) aliases
- std: Tighten to-list and to-vec casts
- std: Add to-type(x) and x:T
- std: All cast functions take a single argument
- std: Make to-str return "nil" for nil
- std: Don't allow nil to be used as a number
- std: Fixes for collection casts from seqs
- core: Introduce internal condf macro
- core: Fix XTRACE to work with try/catch
- yaml: Add dump-all function
- build: Statically link musl libc to ys on Linux
- core: Fix some tokenization bugs
- core: Refactor tags and ast node types
- core: Support basic tag calls in code mode
- core: Fix bugs with anchors in certain contexts
- core: Support '<<' merge key in bare and data modes
- core: Change `!foo*:` call tags to `!:foo*`
- core: Add ys::yaml/load-file function
- core: Support assignments in data mode mappings
- std: Add P for partial
- std: Make get+ work in more situations
- std: Make has? and in? return partials
- core: Replace $ $$ $# with stream()
- release: Add script to update homebrew
- cli: Add --stream (-s) option for multi-doc output
- core: Support conditional data in data mode mappings
- core: Allow quoted string keys in case/condp bodies
- www: Fix bash bug in run-ys
- version: 0.1.80
date: Thu 10 Oct 2024 10:46:40 AM PDT
changes:
- core: Fix Mac bug; 2 fns w/ same name differing case
- std: Support die() with no args
- std: Support index on sequentials
- sample: Updates to sample programs
- core: Refactor most cond forms to condp
- ys: Fixes for YS_ env var logic
- ys: YS_OUTPUT=file writes output to file
- std: Add std 'eval' function to eval a YS string
- release: Run tests before release
- version: 0.1.79
date: Mon 30 Sep 2024 01:02:02 PM PDT
changes:
- core: Fix bug with '5.in?(1 .. 10)'
- core: Change -x output prefix to '+7 >>> ...'
- core: Improve -x debugging output formatting
- core: Fix a bug where the environment mapping was wrong
- core: Support making env updates visible to launched processes
- core: Support m.A_B:C keys with _ followed by :X
- core: Fix bugs with process calls
- version: 0.1.78
date: Sat 28 Sep 2024 11:04:07 PM PDT
changes:
- core: Upgrade to GraalVM 23 and Clojure 1.12.0
- core: Add the ... rng+ operator
- core: Make s.replace(y) remove y with y is str or rgx
- core: Add cons, mapcat, reduce to poly
- std: Add more math and string aliases
- core: Make 1-arity eq, gt etc be partials
- core: Turn regex into function for certain dot functions
- core: Refactor special dot operations
- std: Add chop function
- core: The ... operators uses 'range' now
- core: Change truey? to return nil or value
- std: Add flat function - shallow flatten
- core: Change to-num to return nil for nil or "x"
- std: Add one letter type cast aliases
- core: Allow map on RHS of YeS pair
- core: Support 'a b =:...' destructuring def/let
- core: Add support for slice() lookups
- sample: Update sample ys programs
- core: Support a:b for a.b()
- core: Drop support for a->b style symbols
- core: Support a:b/c calls
- core: Support a.--:b a.#:b etc
- std: Make adjustments to casting functions
- core: Make adjustments to chaining functions
- core: Make 'ys -x' code tracing work correctly
- core: Major refactoring of internal namespaces
- core: Add support for 'env-update'
- ys: Add YS_* environment variables to set ys options
- core: Support numbers at start of dot chains
- version: 0.1.76
date: Sun 15 Sep 2024 04:22:57 PM PDT
changes:
- sample: Improve sample programs
- core: Support basic destructuring for def
- std: All more than 2 args for add+
- core: Add support for sub+ for infix `-`
- core: Support .++ and .-- on characters
- std: Remove `just` alias of `identity`
- core: Support nil punning in get+ for dot chains
- core: Support .++ and .-- on characters
- std: Fix add+ short maps with long maps bug
- std: The div+ function should have div semantics
- std: Add digits function
- release: Change rx to qr
- doc: More documentation
- version: 0.1.75
date: Thu 05 Sep 2024 09:45:59 PM PDT
changes:
- util: Updates for 0.1.74
- core: Change dot debug from .??? to .>
- std: Have sum ignore nils
- std: Refactor value and each
- std: Have 'each' return its evaluation like 'for'
- std: Add 'lines' and 'text' opposites
- core: Fix for string escapes
- std: Remove 'fun' alias for 'partial'
- core: Support YeS expr on LHS of YeS pair
- version: 0.1.74
date: Mon 02 Sep 2024 10:23:14 PM PDT
changes:
- nodejs: Install nodejs locally for testing
- www: Delete yarn.lock file to avoid github security warnings
- std: Refactor casting functions
- std: Refactor truthy functions
- std: Refactor fs functions
- std: Refactor quoting functions
- std: General std library refactoring
- core: Support YeS infix triplets across key/val pairs
- core: Support .? .! .# .?? .!! .#? .#! .??? specials
- core: Properly handle inline comments in a ysexpr
- std: Make div cast ratio result to double
- std: Fix pow to take multiple args
- std: Add an 'add' function alias for '+'
- core: Allow _ to mean %1 in anonymous functions
- core: Support .-- .++ .#-- .#++
- std: Cast to-num support characters
- core: Support anonymous fns with only a regex
- core: Fix fn(*) compilation
- std: Change sum to take 1 sequence argument
- sample: Refactor sample programs
- test: Refactor ys tests; less bash more ys
- release: Prevent bump of BUILD_BIN_YS_VERSION
- ys: Update --binary compiler to us graalvm v22
- core: Improve debugging functions
- make: Prefix GH_ vars with YS_
- version: 0.1.73
date: Tue 27 Aug 2024 02:01:13 PM PDT
changes:
- core: Disallow `=` as function; replaced by `==`
- core: Use `-` to escape YAML syntax at start of ysexpr
- core: Add RUN dynamic var; mapping of runtime info
- core: Refactor yamlscript.runtime
- core: Support [a *b] destructuring syntax
- core: Support add+ mul+ div+ t? f? t-or t-and ||| &&& |||= &&&= **= /=
- core: Fixes for .map() and .mapv()
- std: Fix value and call; can call string now
- std: Rename short functions again
- std: Support character ranges
- std: Refactor casting functions
- version: 0.1.72
date: Fri 23 Aug 2024 05:42:19 PM PDT
changes:
- core: Support auto-install ys configurations
- std: Redo some of the shortname fns
- core: Refactor dot compilation
- core: Support splitting a dot chain into a pair
- core: Change defn doc string to only use `::`
- make: Add rule to list all repo YS files
- core: Remove `do` from form if contains 1 form
- core: For cond, replace `=>` with `else`
- core: Allow trailing else on if cond case etc
- core: Change inline comments \#"..." -> \"..."
- core: Turn `V` into a macro to work across namespaces
- core: Make get+ return nil when coll is nil
- core: Support foo.bar(*) -> (apply bar foo)
- poly: Put collection at end of .partition(...)
- version: 0.1.71
date: Mon 12 Aug 2024 09:05:55 PM PDT
changes:
- doc: Update binding ReadMe.md files
- www: Add new official YAMLScript logo
- core: Refactor ys::std; fix bugs, add tests
- version: 0.1.70
date: Sat 10 Aug 2024 12:53:19 AM PDT
changes:
- core: Add more functions to poly.clj
- test: Assume 'want:\ true' for 'code:' tests
- core: Add more classes and functions to runtime
- core: Make == compile to =
- std: Updates to std and add initial tests for std
- core: Support defn- for private functions
- release: Don't validate Changes YAML until reviewed
- core: Fix pair semantics for `case` and `condp`
- core: Fix bug for case and condp
- core: Add support for `map+`; coll.map('abc')
- std: Add reduce+
- core: Allow `call` to take function as string
- core: Add a `!~` operator for not re-find
- core: Operator fixes and tests
- core: Add missing string escaped characters
- core: Improve error messages
- core: Transform binding and test forms for some fns
- www: Update the old blog post to current truths
- www: Renamed 2024 blog files to a better scheme
- core: Support Clojure set literals with \{...}
- core: Add partition to poly functions
- std: Make split("") -> []
- core: Support _ arg positioning in block forms
- core: Support maps.map('key')
- version: 0.1.69
date: Tue 30 Jul 2024 10:46:51 AM PDT
changes:
- ruby: Install deps locally on demand
- julia: Ignore make commands if Julia not installed
- nodejs: Makefile ignores rules if npm not installed
- perl: Install CPAN deps locally for `make test`
- core: Allow escape of pound and colon in ys expr strings
- core: Allow for *xs and * in defn args
- core: Allow mix of default args and slurp args
- core: Support variable arg * syntax in multi-arity defn
- core: Add 'apply' to poly.clj
- test: Improved TAP error formatting for ys::taptest
- version: 0.1.68
date: Fri 19 Jul 2024 12:00:53 PM PDT
changes:
- dev: Fix .profile bug
- rust: Add the repository field to Cargo.toml
- go: Version libyamlscript.h
- doc: Fix formatting bug in util/markys
- doc: Change tagline to 'Program in YAML — Code is Data'
- taptest: Changes to taptest API
- doc: Many documentation updates
- version: 0.1.67
date: Tue 16 Jul 2024 08:44:18 PM PDT
changes:
- binding: Change binding ReadMe.md files
- sample: Add more RosettaCode YS examples
- core: Add more polymorphic dot chain functions
- test: Make ys::taptest much more complete
- test: Add new taptest tests for ys
- test: Add a YS testing script
- doc: Documentation updates
- version: 0.1.66
date: Thu 11 Jul 2024 01:09:06 PM PDT
changes:
- julia: Fixes for Julia release process
- go: Fix `make test` on MacOS
- core: Fix using $1 in double quoted strings
- core: Inline comment syntax \#"..."
- core: Order map literals by default; add --unordered
- core: Add +map chaining support
- version: 0.1.65
date: Sat 06 Jul 2024 12:05:01 PM PDT
changes:
- go: Add the Go binding library for libyamlscript
- doc: Update the binding ReadMe files
- build: Fix unicode bug in 0.1.64
- version: 0.1.64
date: Thu 04 Jul 2024 12:36:04 PM PDT
changes:
- doc: Many docs are now partially generated
- doc: Add ruby/doc files
- core: Forbid folded scalars in code mode
- make: Unset YS_FORMATTER if it is in the environment
- www: Add info page from the TPRC 2024 conference
- core: Change dot operator function from __ to _->
- core: Allow :all on one line require
- core: Add the ys::taptest testing library
- version: 0.1.63
date: Wed 19 Jun 2024 12:51:46 PM EDT
changes:
- core: Add ys.std/qw macro for quoting words
- core: Add ys::std/rx for creating regex pattern from string
- core: Support _ in dot chain symbols
- core: Using 'catch' with no args should not bind to e
- core: Add ys::std/reverse polymorphic
- core: Add ys::std/split with string and re swappable
- core: Add ys::std/words (split on ws)
- core: Add ys::std/lines to split text into lines
- core: Make has and in work with strings
- core: Add std capitalize lower-case and upper-case
- core: Add std replace for arities 1, 2 (core) and 3 (string)
- core: Add std chomp trim triml trimr
- sample: Update sample code to use latest YS features
- core: Refactored yamlscript.debug completely
- core: Add support for .? debugging
- core: Clojure style comments `; ...` now longer supported
- version: 0.1.62
date: Sat 15 Jun 2024 01:47:13 PM EDT
changes:
- doc: Move doc files from www/src/doc/ to doc/
- doc: New pages /yaml and /gotcha
- core: Fix bug when $ alone in interpolated string
- core: Support + escaping like . escaping
- release: Bug fix in .version.sh
- ys: When file name is first, args go to file
- std: Add `in` and `has` functions
- sample: Add ollama.ys local LLM query utility
- core: Support ||= .= += -= *= /= operators
- core: Allow loop with no bindings (implies [])
- core: Support 'catch:_…' and 'catch e:_…'
- version: 0.1.61
date: Wed 12 Jun 2024 11:54:55 AM EDT
changes:
- make: Upgrade GraalVM to version 22 (from 21)
- core: Support `&` in defn args
- install: Check if shell used is not Bash
- core: Resolve plain :foo to :key in data mode
- std: Add an `exit` defn for System/exit
- version: 0.1.60
date: Thu 06 Jun 2024 12:09:19 PM BST
changes:
- core: Refer clojure.core/file-seq
- core: Add != operator
- core: Add support for then/else transform in if
- std: Add std/V to gain access to weird clojure symbols
- sample: New and updated RosettaCode solutions
- core: Support !clj scalars for raw Clojure code
- version: 0.1.59
date: Wed 22 May 2024 02:56:59 PM EDT
changes:
- core: Refactor compiler's compile functions
- ys: Add a --time option for stage timing
- core: Support "a${b}c" in interpolation
- util: Rewrite version-bump script in YAMLScript
- core: Set runtime size limit for anchored nodes
- core: Add a `call` function to ys::std
- version: 0.1.58
date: Fri 26 Apr 2024 11:57:22 AM WEST
changes:
- core: Fix a bug in require transformation
- version: 0.1.57
date: Mon 22 Apr 2024 01:39:33 PM EDT
changes:
- core: Fix a namespace typo for clojure::walk
- www: Update yamlscript.org/about page
- www: Add new blog post for 2024 YS changes
- core: Add fs-* fns to ys::std
- core: Allow one part namespaces for require
- core: Support dot function polymorphism
- core: Don't wrap final doc expr with +++ when --compile
- version: 0.1.56
date: Sat 13 Apr 2024 01:17:23 PM PDT
changes:
- ys: Added `--` CLI args separator
- version: 0.1.55
date: Fri 12 Apr 2024 12:28:29 PM PDT
changes:
- doc: Change curl commands to use https explicitly
- www: Rework yamlscript.org main page
- core: Fix a bug with backslash escaping
- release: Version bump fix for main web page
- version: 0.1.54
date: Thu 11 Apr 2024 07:00:11 AM PDT
changes:
- make: Include java.mk before clojure.mk
- nodejs: Fix test require("@yaml/yamlscript")
- make: Support 'make test-bindings'
- rust: Display install instructions on `NotFound`
- rust: Add support for dylib
- core: Add anchor / alias support
- core: Add tag functions for data mode
- www: Initial YAMLScript documentation
- version: 0.1.53
date: Sat 06 Apr 2024 05:36:24 AM PDT
changes:
- www: Add NodeJS to binding list
- clojure: Fix bug with double deploy
- clojure: Fix double include of java.mk
- nodejs: Fix doc and sample bug naming @yaml/yamlscript
- version: 0.1.52
date: Fri 05 Apr 2024 01:34:55 PM PDT
changes:
- nodejs: NOdeJS/NPM binding module for YAMLScript
- version: 0.1.51
date: Thu 04 Apr 2024 11:46:15 AM PDT
changes:
- core: Fix a bug with 'each' in 0.1.50
- version: 0.1.50
date: Thu 04 Apr 2024 08:12:21 AM PDT
changes:
- raku: New error msg when libyamlscript not found...
- core: Add more Clojure and Java classes to runtime
- ys: Error on non-string mapping keys for JSON
- ys: Add reflection.json to ys native-image build
- core: Add polymorphic 'num' to ys::std
- core: Add ys::clj library for replaced clojure.core fns
- refactor: Remove unused functions
- refactor: Squelch clj-kondo warnings
- refactor: Revise all 'die' defns and calls
- version: 0.1.49
date: Sun 31 Mar 2024 03:04:29 PM PDT
changes:
- release: Add description of changes to each release
- java: Don't pass version string to mvn deploy:deploy-file
- release: Release fixups
- ys: Fix for Bash test on macOS
- version: 0.1.48
date: Fri 29 Mar 2024 08:02:23 PM PDT
changes:
- make: Use downloaded mvn command, not system one
- java: Look for libyamlscript in ~/.local/lib/ by default
- clojure: Fix throwing error message
- clojure: Throw unless JSON has data or error key
- core: Support ordered mappings
- version: 0.1.47
date: Mon Mar 25 10:28:21 AM PDT 2024
changes:
- release: Fix bug in release script
- core: Switch $ and $$ symbols
- core: Make !yamlscript/v0/ short for !yamlscript/v0/data
- ys: Fix typo in Makefile variable name
- core: Add support with `=>` code mode preamble in data mode
- release: Add -R to copy for macOS/Intel bug fix
- ys: Don't print help text after usage error
- ys: Add current version to --help title
- ys: -e '.foo' -> -e '$$.foo' for simple expressions
- sample: Add more YS code samples
- version: 0.1.46
date: Wed Mar 20 10:55:26 AM PDT 2024
changes:
- release: Fix known issues with release automation
- version: 0.1.45
date: Mon Mar 18 09:46:26 AM PDT 2024
changes:
- release: More fixes to release process
- version: 0.1.44
date: Mon Mar 18 08:14:24 AM PDT 2024
changes:
- make: Change reference to yamlscript-java to yamlscript
- make: Refactor 'make release'
- ys: Fix for --binary compilation
- version: 0.1.43
date: Sun Mar 17 03:34:47 PM PDT 2024
changes:
- main: Fix typo in ReadMe.md
- blog: March 14 2024 - YAMLScript Firsts
- www: Update home page
- make: Fix 'make clean' for release log files
- core: Support foo* splat expansion
- core: YS no longer allows *foo* earmuff symbols
- core: Support splats in pair expressions
- core: Fix some problems with dot chain evauation
- java: Fix directory with wrong name
- rust: Look for library in `${HOME}/.local/lib`
- www: Review and update advent posts 1-5
- core: Add std/print that auto flushes
- util: Fix TODO items in release-yamlscript
- version: 0.1.42
date: Wed Mar 13 06:39:29 PM PDT 2024
changes:
- core: Support -> in symbols like a->b
- java: Add Clojure and Java bindings
- clojure: Use lein rather than deps.edn
- java: Add Makefile and maven support
- java: Rework Makefiles to support Java and Clojure bindings
- java: Update version to 0.1.41
- java: Get deploy to Clojars working
- clojure: Add support for deploying the Clojure binding to Clojars
- clojure: Rename Java and Clojure classes,groups,namespaces
- build: Disable putting .m2 in /tmp/yamlscript/ for now
- clojure: Don't use lein :managed-dependencies
- clojure: Fix a warning about replacing clojure.core/load
- python: Fixes for Makefile
- libyamlscript: Add some debug printing to libyamlscript
- core: Add exec, process, shell and sh to std
- core: Add ys/for eager version of for
- release: Write YS program to manage the release process
- release: 0.1.42
- release: Fix a couple version bump bugs
- version: 0.1.42
date: Wed Mar 13 05:57:45 PM PDT 2024
changes:
- core: Support -> in symbols like a->b
- java: Add Clojure and Java bindings
- clojure: Use lein rather than deps.edn
- java: Add Makefile and maven support
- java: Rework Makefiles to support Java and Clojure bindings
- java: Update version to 0.1.41
- java: Get deploy to Clojars working
- clojure: Add support for deploying the Clojure binding to Clojars
- clojure: Rename Java and Clojure classes,groups,namespaces
- build: Disable putting .m2 in /tmp/yamlscript/ for now
- clojure: Don't use lein :managed-dependencies
- clojure: Fix a warning about replacing clojure.core/load
- python: Fixes for Makefile
- libyamlscript: Add some debug printing to libyamlscript
- core: Add exec, process, shell and sh to std
- core: Add ys/for eager version of for
- release: Write YS program to manage the release process
- version: 0.1.41
date: Thu Mar 7 11:24:36 AM PST 2024
changes:
- core: Support --trace runtime tracing
- version: 0.1.40
date: Wed Mar 6 11:11:11 PM PST 2024
changes:
- release: Fixes to release process
- ys: Add Bash testing for command output
- ys: Add tests for sample/rosetta-code/*.ys programs
- ys: Add tests for sample/advent/*.ys programs
- cli: Fixed a bug where --clojure not working; added test
- core: Refactor threading macros
- core: Support _ placeholders in dot threading calls
- core: Add runtime tests
- core: Support backslash-tick quote escaping
- core: Support backslash-backslash char escaping
- core: Define a `q` macro for quote
- core: Add support for using babashka pods
- core: Add more common namespaces to runtime
- core: Support Clojure special syntax chars
- core: Lex every char and fail if not recognized
- core: Fix ENV and CWD to set at runtime
- version: 0.1.39
date: Sat Mar 2 06:07:02 AM PST 2024
changes:
- std: Add sleep [s]
- dist: Add support to publish jar files
- test: Auto support auto-reload for nrepl tests
- core: Lex and error on invalid number tokens
- core: Support the `.` operator
- core: Simplify yes-expression handling
- core: Auto-group dot expressions
- test: Save and use last test ns when ambiguous
- test: Add build-from-string testing fn for ysreader
- core: Fix bug with fq-sym followed by paren
- core: Support a.$b variable key lookup
- core: Support multi doc with addressing
- version: 0.1.38
date: Wed Feb 21 02:23:21 PM PST 2024
changes:
- core: Support destructured let, but err on def
- core: Support names in fn calls and fix multi-arity defn and fn
- core: Add support for ys/use and YSPATH
- core: Make `use` -> `ys.ys/use`
- python: Fix a bug. null is a valid JSON data response.
- core: Fix bugs with switching from data to code mode
- core: Add abspath cwd & dirname to ys::std
- www: Updates for yamlscript.org front page
- core: Fixes so binding modules can resolve relative paths
- ys: Support --install and --upgrade
- version: 0.1.37
date: Wed Feb 14 01:26:10 PM PST 2024
changes:
- www: Bash improvements suggested by friend on IRC #perl
- core: Support ARGV, ARGS, FILE, VERSION etc
- core: Parse floats in ARGS
- core: Add VERSIONS and remove SCI-VERSION
- core: Support |:_form pair indicator
- core: Add transformer for `require`
- core: Apply transforms to key/val not entire map node
- core: Support `require a::b:_:all`
- core: Allow a single `_` to be a valid YS symbol
- version: 0.1.36
date: Fri Feb 2 01:25:27 PM PST 2024
changes:
- release: Fix some issues with release automation
- rust: Fix the ReadMe example rust code instuctions
- core: "Special 'fn(a b): ...' -> 'fn [a b]: ...'"
- core: Regex literal syntax /.../
- core: Add an =~ operator for re-find
- core: Support '%:' for separate left/right forms
- core: Auto group case and cond body forms
- core: Turn => to true in cond and condp
- core: Allow . at end of symbol
- stdlib: Add `die` function
- core: Support single quoted strings
- www: Support '. <(curl -sL yamlscript.org/try-ys)'
- ys: Option -X means -xall and -S means --stack-trace
- core: Support argument symbols with default values
- core: Change fq symbol from foo.bar to foo/bar
- core: Make common java classes and clojure.string available
- core: Support interpolation in ys double quoted strings
- core: Fix compilatation of "... $(...) ..."
- core: Support floating point numbers
- core: Add exponentiation operator `**`
- version: 0.1.35
date: Sat Jan 20 01:03:51 PM EST 2024
changes:
- sample: Add sample/ directory
- Release a Perl binding to libyamlscript
- Release a Rust binding to libyamlscript
- Release a Raku binding to libyamlscript
- Release a Ruby binding to libyamlscript
- libyamlscript: Remove compile function from API for now
- www: Move www website branch into main
- core: Fix all warnings and errors found by clj-kondo
- make: Support linux aarch64 builds
- core: Anonymous fns are multi arity; % must be %1
- core: Error when `%` used as anon fn arg
- core: Add % (rem) and %% (mod) infix operators
- test: Add support for substring and regex matching
- core: Add first transformer "macro" for defn docstrings
- core: Support defn transform macros for docstring
- meta: Add a Code of Conduct statement
- meta: Add Contributing.md doc
- core: Error on valid Clojure symbols but invalid YS
- core: Don't pretty print Clojure compilation by default
- build: Simplify the version bump utility
- build: Make all binding versions match libyamlscript version
- core: Don't allow underscore in YS symbols
- doc: Update binding documentation for all bindings
- test: Don't run binding tests when language not installed
- version: 0.1.34
date: Thu Dec 21 11:21:14 PM PST 2023
changes:
- core: Implement mode swapping with '::'
- version: 0.1.33
date: Thu Dec 21 12:09:16 PM PST 2023
changes:
- core: Fix a bug switching from code mode to data mode
- version: 0.1.32
date: Thu Dec 21 09:01:18 PM PST 2023
changes:
- python: Remove 'compile' from API for now
- python: Rework API
- libyamlscript: Use yamlscript.runtime instead of raw sci
- version: 0.1.31
date: Wed Dec 20 08:51:20 PM PST 2023
changes:
- libyamlscript: Fix memory leak when returning strings
- python: Updates for next release
- version: 0.1.30
date: Wed Dec 20 10:46:04 AM PST 2023
changes:
- bug: Minor fix for --native on macos
- version: 0.1.29
date: Wed Dec 20 10:12:44 AM PST 2023
changes:
- core: Support --native for compiling YS to machine code
- version: 0.1.28
date: Mon Dec 18 08:57:06 AM PST 2023
changes:
- core: Fix bug in namespace token regex
- core: Support 'a + b + c' with no parens
- sample: Update lol.ys (let over lambda)
- core: Implement `.` operator for path chain lookup
- sample: Update fizzbuzz.ys
- ys: Change --debug to --stack-trace
- core: Add yyy and zzz to ys::std and yamlscript::debug
- sample: Add sample programs from advent blog posts
- version: 0.1.27
date: Wed Dec 13 10:35:17 AM PST 2023
changes:
- core: Add `each` general eager loop to ys::std
- test: Small change to a test
- test: Un-SKIP a test that is implemented now
- core: Implement yamlscript let bindings
- core: Handle let RHS is mapping
- core: Fix bug in ys::std.join
- version: 0.1.26
date: Mon Dec 11 10:24:17 PM PST 2023
changes:
- core: Rewrite constructor w/ pair expr semantics
- version: 0.1.25
date: Sun Dec 10 09:44:09 PM PST 2023
changes:
- core: Improve error messages
- core: Fix bugs with auto-declare
- core: Add lambda anonymous function support
- version: 0.1.24
date: Sat Dec 9 10:28:21 PM PST 2023
changes:
- core: Refactor removing unnecessary let forms
- release: Improve release process
- sample: Add more sample YS programs
- version: 0.1.23
date: Fri Dec 8 10:13:14 PM EST 2023
changes:
- core: Support '10 .. 1'
- version: 0.1.22
date: Thu Dec 7 08:48:20 PM EST 2023
changes:
- core: YS namespaces now start with `ys.`
- core: Allow =>(...) form
- ys: Generate deps.edn for ys directory
- core: Implement namespace symbols like foo::bar
- version: 0.1.21
date: Wed Dec 6 07:35:15 PM PST 2023
changes:
- core: Collapse (=> ...) -> ...
- Start logging project changes in Changes yaml file
- ys: Disable -R -N -K repl options for now
- core: Add call to main when only one top level form
- core: Support def and defn symbols with dashes in them
- version: 0.1.20
date: Wed Dec 6 08:39:19 AM PST 2023
changes:
- First official release to https://github.com/yaml/yamlscript/releases
- Working YS to CLJ compiler written in Clojure
- Builds bin/ys CLI and lib/libyamlscript.so shared libarary
- Unit test suites for compiler and CLI
- Make targets for build, test and install