Releases
1.8.0
Language
Standard Library
Fix SyntaxHighlighter::HTML
to escape identifier values (#13212 , thanks @straight-shoota )
Add workaround for Value#not_nil!
copying the receiver (#13264 , thanks @HertzDevil )
Fix Pointer#copy_to
overflow on unsigned size and different target type (#13269 , thanks @HertzDevil )
Docs: Added note about imports where necessary (#13026 , #13066 , thanks @Tamnac , @straight-shoota )
Suppress compiler output in compile_file
spec helper (#13228 , thanks @straight-shoota )
Define equality for Process::Status
and OAuth::RequestToken
(#13014 , thanks @HertzDevil )
Fix some Linux glibc bindings (#13242 , #13249 , thanks @ysbaddaden , @HertzDevil )
Collection
(breaking-change) Fix Enum#includes?
to require all bits set (#13229 , thanks @straight-shoota )
(breaking-change) Deprecate Enum.flags
(#12900 , thanks @straight-shoota )
(breaking-change) Remove compile-time error for Range#size
, #each
, #sample
(#13278 , thanks @straight-shoota )
(breaking-change) Docs: Require all Indexable
s to be stable (#13061 , thanks @HertzDevil )
Add Enum.[]
convenience constructor (#12900 , thanks @straight-shoota )
Rename internal Iterator::Slice
type to not conflict with ::Slice
(#12983 , thanks @Blacksmoke16 )
Fix Array#replace
on shifted arrays (#13256 , thanks @HertzDevil )
Add Tuple#to_static_array
(#12930 , thanks @straight-shoota )
Add Enum#inspect
(#13004 , thanks @straight-shoota )
Add Slice#+(Slice)
and Slice.join
(#12081 , thanks @HertzDevil )
Add Enumerable#min(count)
and #max(count)
(#13057 , thanks @nthiad )
Fix Array(T)#[]=(Int, Int, Array(T))
on shifted arrays (#13275 , thanks @HertzDevil )
Concurrency
Files
LLVM
Networking
Fix socket specs when network not available (#12961 , thanks @straight-shoota )
Fix wrong default address when binding sockets (#13006 , thanks @etra0 )
Clarify WebSocket documentation (#13096 , thanks @j8r )
Add Socket::IPAddress#link_local?
(#13204 , thanks @GeopJr )
Clean up back\slash.txt
in HTTP::StaticFileHandler
specs (#12984 , thanks @HertzDevil )
Add MIME::Multipart.parse(HTTP::Client::Response, &)
(#12890 , thanks @straight-shoota )
Replace LibC.ntohs
and htons
with native code (#13027 , thanks @HertzDevil )
Add OAuth2::Client#make_token_request
returning HTTP response (#12921 , thanks @cyangle )
Use exhaustive case in HTTP::WebSocket#run
(#13097 , thanks @j8r )
Increase time drift for HTTP::StaticFileHandler
's gzip check (#13138 , thanks @HertzDevil )
OpenSSL: use Windows' system root certificate store (#13187 , thanks @HertzDevil )
Handle Range
requests in HTTP::StaticFileHandler
(#12886 , thanks @jgaskins , @straight-shoota )
Skip hostname spec if hostname
command fails (#12987 , thanks @Blacksmoke16 )
Fix Socket#tty?
to false
on Windows (#13175 , thanks @Blacksmoke16 )
Fix HTTP::Server::Response#reset
for status_message
(#13282 , thanks @straight-shoota )
Numeric
Runtime
Serialization
Specs
System
(breaking-change) Add full stub for Windows signals (#13131 , thanks @HertzDevil )
(breaking-change) Deprecate and internalize Process.fork
(#12934 , thanks @straight-shoota )
Fix Process
spec to wait on started processes (#12941 , thanks @straight-shoota )
Drop privileges in chroot spec (#13226 , thanks @straight-shoota )
Drop deprecated from_winerror
overload for flock_*
(#13039 , thanks @HertzDevil )
Add Process.on_interrupt
(#13034 , thanks @HertzDevil )
Add Process::Status#to_s
and #inspect
(#13044 , thanks @straight-shoota )
Add graceful
parameter to Process#terminate
(#13070 , thanks @HertzDevil )
Add Process::ExitReason
and Process::Status#exit_reason
(#13052 , thanks @HertzDevil )
Implement File.tempfile
in Crystal (#12111 , thanks @straight-shoota )
System::User#name
: Fall back to #username
if unavailable (#13137 , thanks @HertzDevil )
Implement Process.ppid
on Windows (#13140 , thanks @HertzDevil )
AArch64 Android support (#13065 , thanks @HertzDevil )
Windows 7 support (#11505 , thanks @konovod )
Text
(breaking-change) Fix PCRE crashing on invalid UTF-8 (#13240 , #13311 , #13313 , thanks @straight-shoota )
(breaking-change) Switch default regex engine to PCRE2 (#12978 , thanks @straight-shoota )
(breaking-change) Add more members to Regex::Options
(#13223 , thanks @straight-shoota )
(breaking-change) Add Regex::MatchOptions
(#13248 , thanks @straight-shoota )
Fix PCRE2 implementation and tests (#13105 , thanks @straight-shoota )
Remove pending spec for Path#drive
with IPv6 UNC host names (#13190 , thanks @HertzDevil )
Remove Regex::PCRE2#finalize
redefinition (#13309 , thanks @HertzDevil )
Clarify behavior of strings with invalid UTF-8 byte sequences (#13314 , thanks @HertzDevil )
Refer to PCRE2 in Regex
's summary (#13318 , thanks @HertzDevil )
Compiler
Debugger
Codegen
Generics
Fix type names for generic instances with empty splat type vars (#13189 , thanks @HertzDevil )
Interpreter
Parser
Semantic
Tools
Fix Crystal tool cursor parsing for filenames containing :
(#13129 , thanks @HertzDevil )
Formatter
Infrastructure
Fix bin/crystal
print no error message when crystal
is missing (#12981 , thanks @straight-shoota )
Prevent infinitely recursive wrapper script (#11712 , thanks @ThunderKey )
Changelog helper: Report error from HTTP request (#13011 , thanks @straight-shoota )
Fix wrapper script to handle CRYSTAL
variable pointing to itself (#13032 , thanks @straight-shoota )
Propagate exit code correctly in Windows wrapper batch script (#13048 , thanks @HertzDevil )
Remove __declspec(dllimport)
from Windows libiconv build (#13219 , thanks @HertzDevil )
Update previous Crystal release - 1.7.0 (#12925 , thanks @straight-shoota )
[CI] Remove verbose=1
in test_llvm
(#12931 , thanks @straight-shoota )
Missing quotes in Wrapper Script (#12955 , thanks @stellarpower )
Makefile: refactor test recipe (#12979 , thanks @straight-shoota )
Merge release branch for 1.7 into master (#12998 , thanks @straight-shoota )
Update previous Crystal release - 1.7.2 (#13001 , thanks @straight-shoota )
Update distribution-scripts (#13051 , #13068 , #13188 , #13213 , #13298 , thanks @straight-shoota )
[CI] Use Ubuntu 22.04 base image for LLVM tests (#13035 , thanks @straight-shoota )
Add instructions for other repos to pre-commit hook (#10535 , thanks @straight-shoota )
Makefile: Add ./scripts
to format
recipe (#13064 , thanks @straight-shoota )
Crystal wrapper script enhancements (#12959 , thanks @j8r )
Fix sed command in scripts/update-distribution-scripts.cr
(#13071 , thanks @straight-shoota )
Update GH Actions (#13075 , #13132 , thanks @renovate )
CI: Enable testing with libpcre2
on wasm32 (#13109 , thanks @lbguilherme )
Build the compiler with PCRE2 (#13084 , #13133 , thanks @straight-shoota )
Prefer matching llvm-config
in find-llvm-config
(#13087 , thanks @straight-shoota )
(performance) Run compiler specs in release mode (#13122 , thanks @straight-shoota )
[CI] Increase no_output_timeout
on circleci (#13151 , thanks @straight-shoota )
Update NOTICE.md (#13159 , thanks @HertzDevil )
Merge release/1.7
@1.7.3 (#13168 , thanks @straight-shoota )
[CI] Cancel in-progress jobs when another commit is pushed (#13179 , thanks @Blacksmoke16 )
Mute shell comments in Makefile (#13201 , thanks @straight-shoota )
Update previous Crystal release - 1.7.3 (#13167 , thanks @straight-shoota )
[CI] Remove cross-compiliation on Windows (#13207 , thanks @straight-shoota )
[CI] Increase no_output_timeout
on circleci (cont.) (#13185 , thanks @straight-shoota )
[CI] Update Windows job to LLVM 15 (#13208 , thanks @straight-shoota )
Clean up .gitignore
(#13241 , thanks @straight-shoota )
[CI] Extract LLVM tests in separate workflow (#13246 , thanks @straight-shoota )
[CI] Extract interpreter workflow and split std_spec
execution (#13267 , thanks @straight-shoota )
Avoid test.cr
in root of repo conflicting with parser warning specs (#13259 , thanks @Blacksmoke16 )
Fix bin/crystal
in symlink working directory (#13281 , thanks @straight-shoota )
Fix bin/crystal
when no global crystal
command is installed (#13286 , thanks @straight-shoota )
Makefile: Add interpreter_spec
(#13251 , thanks @straight-shoota )
Makefile: Add all
target as default before including Makfile.local
(#13276 , thanks @straight-shoota )
Update shards 0.17.3 (#13296 , thanks @straight-shoota )
Other
You canβt perform that action at this time.