Releases: flybot-sg/clojure-clr
Releases · flybot-sg/clojure-clr
Release list
ClojureCLR 1.11.0-flybot5 (net462)
Fixes
- #46
splitnow matches JVM Clojure. It drops trailing empty strings, so(split "a b " #" ")returns["a" "b"]. A negative limit returns every part instead of throwingArgumentOutOfRangeException. It also drops an empty first part, so(split "abc" #"")returns["a" "b" "c"] - #48
Util.hasheqhashes a string with Java'sString.hashCode, not .NET's randomizedString.GetHashCode.APersistentMap/mapHasheqreturnsMurmur3.HashUnordered, not the pre-1.6 sum of XORs, which thedefrecordmacro bakes into every record'shasheq.(hash "0ca")returns the JVM's-1465009350in every process, and so do records and maps.keyswalks a string-keyed map in the JVM's order
Backports
Keyword to symbol (#44)
- CLJCLR-145 (86578fcc)
Keyworddeclares itsSymbolpropertypublicinstead ofinternal, so the arity-1symbolcall site incore.cljbinds it and(symbol :foo)returnsfooinstead of throwingMissingMethodException
ClojureCLR 1.11.0-flybot4 (net462)
Fixes
- #32
file-modeopens a
plain write withFileMode/Createand:appendwithFileMode/Append
instead ofFileMode/OpenOrCreatefor every write, sospitandwriter
truncate the file they overwrite and:appendappends, like JVM Clojure,
instead of writing at position 0 and dropping the option - #37
fp-strformats
Double and Single with"R"and the invariant culture instead ofstr, so
on .NET Framework and Mono, where the default format emits 15 significant
digits, a printed double reads back equal instead of losing its last digits - #33
RT.longCast(object)
converts the matchedulonglocal instead of unboxing theUInt64box as
Int64, which the CLR rejects, so(long x)and(int x)on a boxed
UInt64convert instead of throwingInvalidCastException
Backports
Stack frame printing (#40)
- CLJCLR-162
(fffa5e35)
print-methodandStackTraceElement->vecread the declaring type of the
frame's method, through a newstack-frame-info, instead of(.GetType o),
which is alwaysSystem.Diagnostics.StackFrame, so a printed frame and every
Throwable->map:atand:traceentry name the code that ran - CLJCLR-183
(30047284) A frame
whose method reports no declaring type prints<Unknown type>instead of
throwingNullReferenceException
ClojureCLR 1.11.0-flybot3 (net462)
What's Changed
- fix(sort): accept a boolean comparator and sort stably (#24, #25) by @skydread1 in #26
- fix(compare): compare strings, symbols, and keywords ordinally by @skydread1 in #27
- chore(release): 1.11.0-flybot3 by @skydread1 in #28
Full Changelog: clojure-1.11.0-flybot2...clojure-1.11.0-flybot3
ClojureCLR 1.11.0-flybot2 (net462)
What's Changed
- fix: resolve RT's DLL load paths from Clojure.dll's directory by @parth-io in #16
- fix(ci): copy the runtime DLLs into the loose release assets by @parth-io in #18
- fix: drop the version-resource fallback retracted upstream by @parth-io in #20
- chore(release): 1.11.0-flybot2 by @parth-io in #22
Full Changelog: clojure-1.11.0-flybot1...clojure-1.11.0-flybot2
ClojureCLR 1.11.0-flybot1 (net462)
What's Changed
- chore: fix ClojureCLR failing tests on different platforms, and add tooling for devs by @parth-io in #3
- fix: use fully-qualified class names in datafy, defn type hints, and object printing by @parth-io in #7
- fix: support the cljr CLI on 1.11 (.cljr loading + 1.12 API backports) by @skydread1 in #11
- fix: prefer core-library type when System type names collide by @parth-io in #12
- chore: add net462 release CI and set version to 1.11.0-flybotrc1 by @parth-io in #13
- chore(release): set version to 1.11.0-flybot1 by @parth-io in #14
New Contributors
- @parth-io made their first contribution in #3
- @skydread1 made their first contribution in #11
Full Changelog: https://github.com/flybot-sg/clojure-clr/commits/clojure-1.11.0-flybot1