Releases
0.30.0
Compare
Sorry, something went wrong.
No results found
Language changes
Macros
Add args/named_args macro methods to Annotations. (#7694 , thanks @Blacksmoke16 )
Unify resolve and types macro methods API for Type and Path for convenience. (#7970 , thanks @asterite )
Standard library
Numeric
Fixed incorrect Int#% overflow. (#7980 , thanks @asterite )
Fixed inconsistency between Float#to_s and BigFloat#to_s, always show .0 for whole numbers. (#7982 , thanks @Lasvad )
Text
Collections
Serialization
(breaking-change) JSON: use enums instead of symbols. (#7966 , thanks @asterite )
Fixed YAML deserialization of String in a union type. (#7938 , thanks @asterite )
Validate element names in XML::Builder. (#7965 , thanks @Blacksmoke16 )
Allow numeric keys in JSON (ie: Hash(Int32, String).from_json). (#7944 , thanks @asterite )
Add alias/merge methods to YAML::Builder and YAML::Nodes::Builder. (#7949 , thanks @Blacksmoke16 )
Files
Networking
(breaking-change) Improve URL encoding. URI.escape and URI.unescape are renamed to URI.encode_www_form and URI.decode_www_form. Add URI.encode and URI.decode. (#7997 , #8021 , thanks @straight-shoota , @bcardiff )
(performance) HTTP protocol parsing optimizations. (#8002 , #8009 , thanks @asterite )
Fixed HTTP::Server response double-close. (#7908 , thanks @asterite )
Enforce HTTP::Client host argument is just a host. (#7958 , thanks @asterite )
Allow HTTP::Params.encode to encode an arrays of values for a key. (#7862 , thanks @rodrigopinto )
Forward read_timeout/write_timeout in ssl socket to underlaying socket. (#7820 , thanks @carlhoerberg )
Natively support Same-site Cookies . (#7864 , thanks @Blacksmoke16 )
Allow setting buffer size for IO::Buffered. (#7930 , thanks @carlhoerberg )
Crypto
Require openssl algorithm in pkcs5. (#7985 , thanks @will )
Fixed cipher expectation in OpenSSL::SSL::Socket spec. (#7871 , thanks @j8r )
Concurrency
Fixed sysconf call on OpenBSD. (#7879 , thanks @jcs )
System
Compiler
Fixed codegen of pointer.as(Nil). (#8019 , thanks @asterite )
Fixed edge cases in parser and stringifier. (#7886 , thanks @oprypin )
Fixed concrete_types for virtual metaclass and modules. (#7951 , thanks @bcardiff )
Fixed incorrect remove_indirection in TypeDefType. (#7971 , thanks @bcardiff )
Fixed missing CRYSTAL_SPEC_COMPILER_FLAGS usage in some more specs. (774768 , thanks @bcardiff )
Revamp compile error formatting & output. (#7748 , thanks @martimatix )
Add support for LLVM 8. (#7987 , thanks @bcardiff )
Add support for LLVM 7. (#7986 , thanks @bcardiff , @waj , @foutrelis , @wmoxam )
Add debug log helper function for codegen. (#7935 , #7937 , thanks @bcardiff )
Refactor codegen of unions. (#7940 , thanks @bcardiff )
Move LLVMId from CodeGenVisitor to Program. (#7973 , thanks @bcardiff )
Minor additions and refactors on for LLVM codegen. (#7972 , thanks @bcardiff )
Add bin/check-compiler-flag helper script. Add make clean_cache. (da3892 , thanks @bcardiff )
Language semantics
Fixed generic metaclass argument expansion. (#7916 , thanks @asterite )
Fixed top-level private const not being scoped. (#7907 , thanks @asterite )
Fixed enum overflow when declaring members. (#7881 , thanks @asterite )
Fixed annotation lookup on generic types. (#7891 , thanks @asterite )
Tools
Formatter
Doc generator
Others
You can’t perform that action at this time.