Feliks

Feliks

Membrane Core Team

Membrane Core version 1.3 released

Membrane Core release 1.3 :tada: :tada: :tada:

Recently @Membrane-Core-Team released version 1.3 of membrane_core package. You can get it from hex.pm by adding {:membrane_core, "~> 1.3"} to deps in mix.exs of your project.

New guides

We gathered some feedback on what parts of Membrane are confusing and could use more learning materials and created some more guides to help getting more familiar with Membrane:

Tasks for code generation

All the big dog libraries in Elixir have Mix tasks for generating starter code - project skeletons, module templates, etc - and now Membrane has them too. We added tasks for creating templates for all the component types in Membrane. For example, if you call

$ mix membrane.gen.filter My.Filter

a lib/my/filter.ex file will be created with a My.Filter filter template. This template will have all the code required for a minimal working Filter, alongside commented out sections for optional functionalities.
See mix membrane.gen — Membrane Core v1.3.4 and other tasks for more.

AI skill

We’ve noticed that AI coding agents don’t always write Membrane Framework code perfectly. They frequently reach for APIs from outdated versions, or miss out on recent improvements. The likely reason: today’s models still draw heavily on training data scraped 3-4 years ago, when the Membrane Framework looked quite different.

To address this, we’ve shipped an official SKILL.md for AI agents, dedicated to anything involving the framework.
If you use Claude Code, install it via the plugin system:

/plugin marketplace add membraneframework/membrane_core
/plugin install membrane-framework@membrane

For a cross-agent install, get it using

npx skills add membraneframework/membrane_core -g

You can find more info about this topic in our README.

Membrane Actions upgrades

Version 1.3 provides the following improvements and upgrades in Membrane actions mechanism:

  • new broadcast action - improved successor of forward. You can use it to send any type of a Membrane stream item, like buffer, event or stream format.
  • now demand action accepts also buffers’ timestamps. More info on how to use this functionality in the manual demands guide.

Where Next?

Popular in News & Updates Top

mobileoverlord
New versions of the Kiosk systems are out. These systems update official Nerves systems with a local web browser for rendering user inter...
New
jjcarstens
Testing code destined for hardware can be tricky, but it just got one tiny bit easier! :tty0tty was just released which is an Elixir por...
New
hugobarauna
This post introduces the new data features in Livebook 0.9: fast data exploration through integration with Explorer, interactive data tab...
New
DominikWolek
Hi everyone! After about 3 months of really hard work, we have released the very first version of Jellyfish Media Server! The best star...
New
zachdaniel
Hey everyone! What I’ll cover in this post: Major refactors The future of Ash.Flow Current state of atomics and bulk actions Whats nex...
New
barnabasJ
You can now add subscriptions using the DSL. subscriptions do pubsub YourAppWeb.Endpoint subscribe :something_changed do action...
New
bartblast
Hologram v0.10 is out! The headline is the event system, which got a lot bigger this release. You can now handle keyboard, scroll, resize...
New

Other popular topics Top

rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
baxterw3b
Hi guys, i’m new in the Elixir world, and i have to say, that i love it! i’m having some problem to understand anonymous functions with ...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
New

We're in Beta

About us Mission Statement