Objeck

Randy Hollines·RandyHollines.Objeck

Objeck is a 64-bit object-oriented and functional programming language designed to be fast, intuitive, and lightweight.

winget install --id RandyHollines.Objeck --exact --source winget

Latest 2026.9.0·September 4, 2026

Release Notes

Objeck Language v2026.9.0 A socket close that stops losing the response on Windows loopback, a language server that no longer serializes every request behind one lock, and a release pipeline that reports what it actually did.

What's New in v2026.9.0

  • A server that wrote a response and closed could lose all of it. On Windows loopback the reader got a connection reset and zero bytes — not a short read — even though every byte had been accepted and delivered. TCPSocket and TCPSecureSocket gain CloseGracefully(), which reads until the peer hangs up and then closes, so the client owns the teardown. Measured over 180 transfers of a 16KB response: Close() lost 21, CloseGracefully() lost none. (#669)
  • The language server serialized every request behind one lock. Concurrent analysis was correct only because of it, with TreeFactory and TypeFactory as process-wide singletons underneath. They are now bound per thread through an RAII scope guard, so each analysis gets its own, and the coarse lock gives way to per-program locking. Concurrent analysis is now a gating regression test rather than something run by hand. (#659)
  • Four publish steps reported success while doing nothing. Sourceforge, the Marketplace, the playground and the API docs each skipped on an absent credential and passed — so v2026.8.4 published with all four green while the playground served a three-month-old engine and objeck.org served the previous release's docs. A missing credential now fails and names the secret, or is declared manual in one place that also prints it as a to-do, and a pre-flight gate checks the pipeline can do what it advertises before the tag is pushed.
  • Documentation: docs/windows_loopback_sockets.md listed bounded drains at 100ms and 400ms as having no effect and then recommended a drain bounded at 1000ms. Both are true — the bound is the variable, not the technique — but the document did not say so and read as contradicting itself. Merged: #687, #688, #689, #690, #691

📦 Installation

Windows

  • x64: Download objeck-windows-x64_2026.9.0.msi and run the installer
  • ARM64: Download objeck-windows-arm64_2026.9.0.msi and run the installer
  • Portable: objeck-windows-x64_2026.9.0.zip, objeck-windows-arm64_2026.9.0.zip

Linux

  • x64: tar -xzf objeck-linux-x64_2026.9.0.tgz
  • ARM64: tar -xzf objeck-linux-arm64_2026.9.0.tgz

macOS

  • ARM64 installer: objeck-macos-arm64_2026.9.0.pkg
  • ARM64 archive: unzip objeck-macos-arm64_2026.9.0.zip (notarized by Apple)

Editor support

  • LSP / VS Code: objeck-lsp_2026.9.0.zip

📚 Documentation

🔐 Verification Both Windows installers in this release are signed, by CN=Randy Hollines (Sectigo Public Code Signing CA R36). Confirm before trusting a download: Get-AuthenticodeSignature objeck-windows-x64_2026.9.0.msi It reports Valid only when the file really is signed and unmodified. Verify any download against the SHA256SUMS asset, which was regenerated after signing — signing rewrites the installers, so a manifest made before it describes bytes you cannot download: sha256sum -c SHA256SUMS

🐛 Issues Report issues at: https://github.com/objeck/objeck-lang/issues

Installer types: wix, zip

x64machinewixC75BF4366D440777075FF4EAE245163496C72AEED54217373A8CEED2B13698C9
x64—zipAEBBAF269B7DB1FCBDCD893D7450A2D5FF783B50B1FC986DA860C74EEF64060F
arm64machinewixAB6D854F0D91FF65FD81033C6A93768DDD187CD34AABA80A476E04179A8316F4
arm64—zipA82C7B3CCDB7D0DB8E5F091943B311BD853CBDFC654EFA65F8E78A4F5479C898

Details

Homepage
https://github.com/objeck/objeck-lang
License
Self-designed License
Publisher
Randy Hollines
Support
https://github.com/objeck/objeck-lang/issues
Copyright
© 2024 Randy Hollines. All Rights Reserved.
Moniker
objeck

Tags

arm64assembly-languageccompilercplusplusdebuggersdocumentationexampleslinuxlsp-servermacosmemory-managementprogramming-languageruntime-systemwindowsx64

Older versions (6)

2024.4.1
x64—0C69C383E7BDCA05587003FB16999576511339F65F65FAE8D366AC0A55F585E6
2024.3.0
x64—6CFA9834314DA13864A3A3EA9D8431EB1093F81A9C0DF1FA89FDCE60715988A7
2024.2.1
x64—94F500E925AE7C7D56B73FC541509CC9C500E4A67C0811688790AA6CB2B34211
2024.2.0
x64—F79B92BC7A669C78002DAC5F7AF0645D974018A363FE3692F3177639092841A5
2023.12.0
x64—72FE3384B03AD867EA6C7ABF72C6D129B72AFF0544FDF172F7FA35D6E67672F9
23.11.2
x64—BE186F1CE57E2029A7E3C9625214A24F905725E29340ED0A8C962692785BB69E