Loading...
- v2.0.3Android
- v3.16iOS
Built-in MCP Server & AI Agent Support - Codea now includes a built-in MCP server, making it easier to connect AI coding agents directly to your projects - To get started, open Air Code and check the updated menus and documentation Editor Scroll to Top Gesture - Adds a new setting in Editor Preferences to control the editor scroll-to-top gesture Xcode Export Improvements - Improves Xcode export - The Xcode exporter now uses the same packaging style as zip export, with dependencies embedded into the exported project IMPROVEMENTS Performance Improvements - Improves Codea startup performance - Attempts to improve loading performance on the project grid Game Center Turn-Based Support - Adds GKTurnBasedEventHandlerDelegate support Viewer Layout Improvements - Prevents the viewer split pane from being occluded by buttons in iPhone landscape mode FIXES - Fixes an issue where the dependency list could show items in an incorrect state - Fixes an issue where pressing return could incorrectly add an `end` statement - Fixes `require` when importing projects using modern buffer ordering syntax - Fixes image pixel access behaviour so it is no longer inverted on the Y-axis in Modern renderer - Minor UI fixes
- v3.15iOS
File API - This lets you copy, move, rename and delete files using asset keys. See the Storage chapter for documentation and examples Multi-Window Mode - iPad power users: you can now switch Codea into multi-window mode from the settings pane to open and run projects in new windows by default. Great for external displays iPad Menu Bar Support - Codea now supports the iPad menu bar IMPROVEMENTS Liquid Glass - Codea now supports the new UI. Edges more opinionated Documentation Sharing - Adds a share button to documentation pages to share markdown-formatted snippets. Share what you know, perhaps with an LLM? Project Reordering While Searching - You can now reorder projects even while a search is active Carbide Rendering & Canvas Improvements - Adds canvas.position and canvas.size - UI canvas position is no longer influenced by UI scale - Fixes an issue where camera viewport affected canvas rendering - Camera and matrix state handling is more robust when using render textures and matrix.push Carbide Shader Improvements - Adds a new sprite() mode to Shader Builder for improved sprite render order control - Improves handling of sampler flags in shaders. Textures behave themselves Editor Improvements - Autocomplete is now suppressed inside multi-line strings and comments FIXES - Fixed crashes when displaying PDFs - Documentation example views now display correctly - Fixed crashes related to camera state when mixing viewports, matrices, and render textures - Fixed issues with iCloud assets that could cause hangs - Fixed an issue where the Find view didn’t automatically search for selected text sometimes
- v3.14.3iOS
Screen sizes: you can now choose from a variety of screen sizes when running your projects. This includes iPhone, TV, and Square. Great for testing your layouts — use `layout.safeArea` to ensure your project is not obscured by device features
- v3.14.2iOS
NEW - Dependencies list is now searchable, supports iCloud and other project locations. Very dependable FIXED - Improved support for hot reload - Exposed tween target to Lua for more control in animations. You are the puppet master - Modern renderer: Fixed sprite rendering breaking some scene rendering - Modern renderer: Improved rendering by resetting view state when changing projection or view matrix. We don't know what it means either - Improves performance of the project grid to address lag and freeze issues with large projects. The grid no longer buckles under the weight of your creations
- v3.14.1iOS
NEW Better project export. Codea now includes all your dependencies when you export your project as a zip. They'll appear neatly packed in a /Dependencies folder, so anyone you share with has everything they need to run your code. No more incomplete offerings FIXED Fixed some editor UI bugs on iPhone. We've quashed the small screen rebellion Carbide: Fixed crash when using certain callback parameters that weren't functions Carbide: Resolved crash caused by nil sprite references. The void sprites can't hurt you anymore Carbide: Fixed issue causing an infinite loop when using text without arguments Carbide: Fixed bug where entity duplication could cause errors
- v3.14iOS
Codea is now free Are you upgrading from a previous version? You’ll get Codea Pro for free. If you’re not upgraded automatically, please contact us and we’ll make sure you are! Improvements - Fixed an issue causing an infinite loop when duplicating an entity twice. The cycle of creation is broken - Fixed issue with slice atlas by returning the correct image atlas - Resolved crash when closing Carbide. Endings are no longer violent - Improved error messages by better handling of optional .lua files in runtime errors - Quaternions now display member values in a more predictable order in debug output. Mathematical order has been imposed - Minor UI improvement: adjusted error marker width for better visibility. The marks of failure are now easier to see
- v3.13.5iOS
Improvements • Adds the classic FixedSys monospace font to Codea. The past reaches forward through time, one pixel at a time
- v3.13.4iOS
Fixes - We made some adjustments to the code editor last version, but those adjustments came with bugs! Crashes are mitigated in this version. The editor's rebellious phase has been quelled
- v3.13.3iOS
Improvements • Adds viewer.paused so you can pause the viewer. Can you unpause it? No. Because it's paused • Updates our modern renderer backend to the latest version. The shadows deepen Fixes • Fixes a bug where having very large projects in Codea could cause random hangs in the editor. The behemoths no longer freeze time • Fixes an issue with marked text entry which could cause the cursor to disappear. We found the cursor • Fixes undo in Shader Lab. History is no longer immutable
- v3.13.2iOS
Dependencies • Dependencies chosen in the sidebar now summon their `require()` statements into your code. Unselect them, and the code cleanses itself. No manual intervention required Modern Runtime • When creating new classes in the modern runtime, the class name is added as a parameter in the default template. Identity is bestowed at creation • Your custom components are now included in the returned components list from an entity. Nothing hides from the census • Adds camera.viewport and camera.aspect to Carbide. Narrow your world view Improvements • Replaces key.return with key.enter. The renaming will continue until morale improves • Added a "What's New" button in the settings pane. Discover the changes we've made while you weren't looking Fixes • Fixes Code Notes on iPad mini 6th generation. We thought you were using a phone, our bad • Fixes Xcode export for legacy projects. The old ways are preserved • Fixes an issue with worldToScreen in Carbide when used with viewports. Coordinates now translate correctly across dimensions
- v3.13.1iOS
FIXED • Example projects were not appearing occasionally on new installs. They were hiding in the shadows • If your example projects did not appear, please tap the settings icon in the top right, scroll down, and choose "Restore All Examples" • The missing shall be summoned at your command
- v3.13iOS
Introducing Code Notes Bring your Apple Pencil to your screen to write, scribble or draw on your code. Annotate, highlight, circle, underline. Make your intentions clear. Or obscure them completely And if you want to see what madness looks like, we’ve scribbled all over our example projects
- v3.12.5iOS
Motion Sensing • New motion API for Carbide. Track your device's accelerometer and more. It knows when you move File Picking • Introducing the pick() API family. Summon the iOS file picker directly from your running project. Choose wisely Type Introspection • New typeof() function reveals the true nature of Carbide types. Knowledge is power. Power corrupts Utilities • color.fromHSV lets you create colors from the void between hue, saturation, and value • table.flatten collapses your multi-dimensional data into a single plane of existence • Entity visible property can now hide elements from view. Just because something is invisible doesn't mean it isn't there Improvements • Editor UI polish. Sharper. Sleeker. More efficient at extracting your thoughts • Improved animations and keyboard behavior in collection creation. Empty names are rejected. All things must be named Fixes • Fixed autocomplete on the first blank lines. Emptiness yields to your commands • Resolved Air Code issues. Your remote coding sessions shall proceed unhindered • Fixed a crash in World Generator example project. World creation is a delicate process • Fixed occasional failures to load local projects. Your creations were hiding, but we found them Modern Renderer • Image smoothing can now be controlled. Blocky or smooth, you choose • Style is no longer reset when rendering empty text. Even nothingness deserves style • Entities now remain valid until their scene is destroyed. No more premature deaths • Fixed issues with child entity binding. Parent-child relationships were... complicated • Fixed load order issues. Everything must happen in the correct order
- v3.12.4iOS
- Pasteboard API: Your clipboard's thoughts are now accessible to both Carbide and Legacy - Vector Swizzling: Your vectors can now contort themselves into new forms. myVec.zzz or myVec.zx = vec2(5, 6)? The possibilities are... unsettling - Image Slices: slice.image and slice.atlas reveal the truth behind the fragments - Color Arithmetic: Colors can now add, subtract, multiply, and divide. The boundaries between hues blur ever more - Vector Evolution: cross, rotate, rotate90, and angleBetween have emerged for vec2 in Carbide FIXED - Key Recognition: Left and right modifiers have gained individual consciousness through proper keyCode values - Identity Crisis: leftCtrl and rightCtrl were masquerading as alt keys. Their true nature has been restored - Modifier Detection: key.modifiersPressed(modifiers) now sees all, regardless of left or right alignment. Nothing escapes its gaze - Collider Persistence: Deleting a collider no longer tears holes in the fabric of reality. The list remains intact - Project Creation: The creation screen stands firmer against accidental dismissal. Some things shouldn't be interrupted - Name Recognition: The name field has broken free from autocorrect's grip. Your projects deserve their true names - Icon Integrity: Custom tinted project icons have emerged from the shadows. Their tops are no longer haunted by transparency
- v3.12.3iOS
FIXED • Last update we introduced dark mode icons. Perhaps things got a little too dark. The renderer had a tendency to greet you with an ominous black screen. We’ve convinced it to show up properly now. • Sharing an iCloud project was causing the app to crash. Projects should be shared, not crash your hopes and dreams. This has been fixed.
- v3.12.2iOS
NEW • Dark Mode Icon: A new icon has emerged from the shadows. Embrace the darkness. RENDERER • Scene Naming: Scenes can now have names, courtesy of scene.name. It’s about time they got some recognition. • Entity IDs: You can now directly access entity.id. Every entity has an identity, after all. • Overridable Methods: The update and touched methods for scenes can now be overridden. You’re in control. • Renderer Backend Improvements: We’ve tinkered with the renderer backend. It’s smoother now, though you might not notice… until you do. ENHANCEMENTS • Syntax Highlighting (Modern Renderer): Syntax highlighting has made its way to the modern renderer. It’s still a work in progress, but the colors are coming together nicely. • viewer.safeArea Support: The modern renderer now respects viewer.safeArea. Your content will no longer collide with the edges of the screen. You’re welcome. FIXED • Objective-C Image Bridging: UIImages were wandering off. They’re back where they belong. • Lua Error Handling: The error function now actually triggers a Lua error, as it always should have. No more silent failures. • Memory Leaks in Code Editor: Memory was leaking in the code editor. The flood has been contained. • Air Code Crash on Save: Fixed an issue in Air Code that could cause a crash when saving. No more sudden exits. • Fullscreen Touch Input: Viewer controls were getting in the way of touch input in fullscreen mode. They’ve been told to step aside.
- v3.12.1iOS
FIXED Parameters were experiencing an identity crisis. Instead of being themselves, parameter.color() fancied itself an action button, and most parameters couldn’t quite figure out who they were meant to be, save for the number parameters, which stayed true to form. This existential confusion stemmed from a misconfigured switch statement. Order has now been restored; parameters can now confidently be themselves.
- v3.12iOS
NEW • Collection Management: Swipe to the left sidebar to manage your collections, create new ones, reorder them, and drag projects between them. It’s all under your control… for now. • textSize() Implementation: Carbide has gained a new trick. You can now use textSize() for more precise text handling. Everything must be precise. ENHANCEMENTS • Autocomplete: Continuously improving. Enjoy smoother, more accurate suggestions. The machine knows what you want. • Objective-C Initialization: objc classes now respond to the call operator. A minor tweak for a better experience. Everything should respond when called. • Xcode Export: Modernized and streamlined. Objectively better. Change is inevitable. • Runtime Type Detection: Check viewer.runtime to know if you’re running Carbide or Legacy. You should always know where you stand. FIXED • iCloud Projects: iCloud projects that hadn’t been downloaded now show in the Project Grid. They were hiding, but not anymore. • Collision Handling: Fixed the onCollisionEnded2d event issues when Began wasn’t defined. Peace has been restored. Or has it?
- v3.11.2iOS
IMPROVEMENTS - Added a "Play" option for projects on the project grid when you long-press them - Removed 2048x2048 image size restriction for imported assets - Import plain text files via the document picker in the assets pane - Modern renderer now has UIImage image bridging in objc - JF - Errors occurring during `willClose` (legacy) or `shutdown` (modern) get reported back to you - JF - Discrete slider behaviour is now used for Modern renderer parameter.integer - JF - Autocompletion for objc enums when their type is specified - JF FIXES - Renderer was able to deadlock under certain circumstances (particularly objc callbacks) - JF - Modern renderer asset caching no longer caches between runs - entity.worldPosition fixed for canvas entities (UI) - Modern renderer physics update now occurs before scene transform update - color:mix arguments inverted to match documentation - JF - Fixes a crash in the plain text editor - Fixes errors when renaming files in Air Code - JF - iOS 15: Shader Lab could crash on load - iOS 15: Asset picker could crash on load ACCESSIBILITY - Asset picker cells are much more accessible - Ari NOTE - This will be the last iOS 15-compatible update for Codea
- v3.11.1iOS
Fixes a crash that could occur on startup when running on iOS 15
- v3.11iOS
iCloud Drive • Store your projects on iCloud Drive, thanks to Unsung's amazing work. You can select a location when creating a new project or move existing projects to iCloud with a long press and select "Move to iCloud." Now you can have all your projects on all your devices, wherever you are Air Code • Devices running Codea will appear directly in VS Code, making Air Code easier than ever to use. Plus, we've introduced log points for evaluating expressions during debugging. All thanks to the tireless efforts of Jean-François Accessibility • Thanks to our newest team member, Ari, the main project browser is now more accessible, and is now navigatable via VoiceOver Collaboration via iCloud • Work on projects with friends by sharing through iCloud. Simply long-press a project in iCloud, choose "Share Project" and select "Collaboration" to get started UI Enhancements • The create project screen has been completely re-written. Set custom tint colors for your projects to personalize your workspace Editor • We've made code editing smoother with improvements in tokenization and keyboard navigation Modern Renderer • The modern renderer has received a host of improvements and fixes. Now, you can set colorspace, utilize clipping, and more. We're actively working on this, so let us know what you think Fixes • Numerous bug fixes and minor improvements, including performance issues when using asset keys Thank You • A big thank you to everyone who contributed to this release, especially our new team members!
- v3.10iOS
Air Code Fix desync issue between Codea and Air Code Assets are now available under an Assets folder Ability to read, save, copy and rename binary files from VSCode Made it possible to modify values of variables and watches while debugging Better expose some custom types in VSCode debugger (tables, colors, etc.) Fix soft lock when saving a file while the debugger is paused Fix breakpoints not working in newly created files Asset Keys Fixed issues with using external assets Improves Asset Key support in Modern renderer (to match Legacy) Asset Picker Fixed issue where all sections would be displayed for sub-folders Allow picking assets from other projects Add picker support to require() Refreshes the UI of the Sound Generator tool in the sound() picker Require Load files in buffer order when importing a project with require() Modern Renderer Fix issue where reading the red component of a color would return it as a float Legacy Renderer spriteSize now correctly returns the page count of PDFs Adds supported sound and music file formats to documentation readImage returns nil when the requested page is out-of-bounds ObjC Remove deprecated enums and values Add unnamed enums under objc.enum Add objc.async to run code async on the main thread
- v3.9.7iOS
FIXES - A bug where `sound` could stop working when re-running a project - Appearance issues with the font picker UI in editor - Initial scroll position in editor
- v3.9.6iOS
- Removes status bar when playing projects - Changes text truncation mode on project icons
- v3.9.5iOS
VIEWER - New sidebar with updated controls, including: - Full screen mode - Support for Dynamic Type - Works with classic and modern renderers - Set Project Icon feature lets you position and crop your icon CODE EDITOR - Tab will indent a block of code if you have a selection - Shift+Tab will de-indent a block of code - Cmd+Z and Cmd+Shift+Z should work again for undo/redo - Lots of fixes and optimizations for the code editor MODERN RENDERER - Improved stability, especially around pausing/restarting - Added gamepad.playerIndex - Fixed style.tint CLASSIC RENDERER - New physics.timeStep() to change the timestep when more precision is needed AIR CODE - Increased the maximum file size supported - Improved Carbide support OBJC - Added CGVector support, can be created using objc.vector - Fixed responsiveness issues with objc UI controls - objc objects can now be compared for equality - Add ability to implement the same protocol multiple times - Support numbers for objc structs like objc.rect - Fixed issues when using multiple windows - Error message improvements DEPRECATED API - backingMode - displayMode