🎉 MATLAB File Reader/Writer v0.3.0 Released - Production Quality Achieved! #4
kolkov
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
We're excited to announce the release of v0.3.0 - a major milestone bringing the library to production quality (Grade A-)!
🌟 Highlights
This release focuses on security, developer experience, and production readiness with 60 new tests, 3 critical security fixes, and modern Go API design patterns.
🎯 New Features
Functional Options Pattern
Clean, extensible API with backward compatibility:
Available options:
WithEndianness(binary.ByteOrder)- Control byte order for v5 filesWithDescription(string)- Set custom file descriptionWithCompression(int)- Set compression level (0-9) for v7.3 filesAPI Convenience Methods (70% Less Boilerplate!)
Before v0.3.0:
With v0.3.0:
New methods:
MatFile.GetVariable(name)- Direct variable accessMatFile.GetVariableNames()- List all variablesMatFile.HasVariable(name)- Check existenceVariable.GetFloat64Array()- Type-safe extraction with auto-conversionVariable.GetInt32Array()- Int32 extractionVariable.GetComplex128Array()- Complex number extractionVariable.GetScalar()- Single value extractionTestable Examples
17 new godoc examples that are:
go testverified)View them at: https://pkg.go.dev/github.com/scigolib/matlab#pkg-examples
🔒 Critical Security Fixes
Security Fix #1: Tag Size Validation (High Priority)
internal/v5/data_tag.go:53Security Fix #2: Dimension Overflow Protection (High Priority)
math.MaxIntchecks before multiplicationinternal/v5/writer.go:124,internal/v73/writer.go:98Security Fix #3: v73 Complex Reading (Functionality)
MATLAB_complexattribute detectioninternal/v73/adapter.go:50📊 Quality Metrics
🚀 What's Supported
Reader (Complete ✅)
Writer (v5 + v7.3 ✅)
📦 Installation
🔄 Upgrading from v0.2.0
100% backward compatible - no breaking changes!
Your existing code will work without modifications. New features are opt-in via functional options.
📚 Resources
🎯 What's Next?
v0.4.0 (planned 2-3 weeks):
OpenWithContext()andWriteVariableWithContext()APIsv0.5.0+ (1-2 months):
See the ROADMAP for full details.
💬 Feedback
We'd love to hear from you! Please:
🙏 Acknowledgments
Special thanks to:
Ready for production! 🚀
Try it out and let us know what you think!
Beta Was this translation helpful? Give feedback.
All reactions