476
15
477
8
478
7
479
4
480
49
481
13

A new open-source tool called Betterleaks can scan directories, files, and git repositories and identify valid secrets using default or customized rules.

482
49
483
8
484
50
485
137
submitted 5 months ago* (last edited 5 months ago) by Canaii@lemmy.zip to c/opensource@programming.dev

We’re happy to present the first release of GIMP 3.2!

This marks a year of design, development, and testing from volunteers and our community.*

Here are some of the many highlights to look out for:

Link Layers

You can now use Link Layers to incorporate external image as part of your compositions, easily scaling, rotating, and transforming them without losing quality or sharpness. It functions similar to the “Linked Smart Object” concept from Photoshop. The Link Layer will automatically update if the external image is changed in another editor – for example, if you include a SVG logo as a Link Layer in GIMP, you can edit it in Inkscape and see the changes live in GIMP as well!

You can create a new Link Layer by choosing Open as Link Layer... in the File menu. You can change the image used at any time in the Layer Attributes dialog, which you can access by double-clicking the layer in the dock or by choosing Edit Layer Attributes... from the layer menu.

Vector Layers

The Path tool can now create Vector Layers, which lets you draw shapes with adjustable fill and stroke settings. The shape of the vector layer also automatically updates whenever you adjust the path, and you can non-destructively rotate, scale, and transform it too

PaintBrush improvements

The MyPaint Brush tool has been upgraded, adding 20 new brushes, including a much-requested arrow brush. It now automatically adjusts to your canvas zoom and rotation for more dynamic painting.

Better Text Editor

Our Text Editor has been the focus of several development projects to improve its usability and functionality. You can now drag the on-canvas text editor to move it out of the way when writing text. Several common shortcuts are now supported (such as Ctrl + B for bold, Ctrl + I for italics, and Shift + Ctrl + V for pasting unformatted text).

Non-Destructive Filter Updates

As well as working on new non-destructive layers (vector layers, link layers, and text layers), we’ve also been working on the non-destructive filters! You can now apply filters to channels non-destructively, in addition to layers and layer groups.

Overwrite Mode

A new Overwrite paint mode allows you to draw over existing colors without blending their transparency. It has many useful applications when working with pixel art

UX/UI improvements

This release includes a TON of small user interface and user experience improvements

New System color scheme

There is a new System color scheme for Default themes. If set, it will automatically update GIMP’s theme colors to match the current OS settings.

Automatic transparency

The Crop Tool and NDE filters now automatically add transparency to a layer when necessary, rather than requiring you to remember to do it manually.

Switch between tools easily

You can now quickly switch back and forth between your two most recent tools with the Shift + X shortcut

Welcome Dialog improvements

The Welcome Dialog has received improvements to help streamline user workflows.

It now recognizes the Ctrl + 0, 1, 2… 9 shortcuts for opening the most recent images.

It now recognizes your shortcuts to create a new image, or open an existing one (whether the respective default Ctrl + N or Ctrl + O, or your custom shortcuts)

It no longer appears if you intentionally open GIMP with an image

Flip images with your keyboard

The Flip and Shear Tools now respond to the arrow keys, similar to the Move and Rotate Tools.

Flip Tool: You can use the Left and Right arrows to flip the image horizontally, and the Up and Down arrows to flip it vertically.

Shear Tool: You can use the Left and Right arrows to shear your image horizontally, and the Up and Down arrows to do the same vertically. Like the Move tool, you can hold down Shift to shear with a larger value.

For Script and Plug-in Developers

GIMP 3.0 brought non-destructive filters and a new GimpDrawableFilter API for script developers to create them. However, it was not always easy to find the names and properties for the extensive list of potential filters, especially for third-party GEGL filters.

A new GEGL Filter browser has been added to make it easier to find non-destructive filters to use.

New formats

GIMP 3.2 includes built-in support for even more file formats! These range from well-known formats like APNGs to obsolete archival formats such as Seattle FilmWorks photos, supporting your quest of old data retrieval. For retro game developers, we now support Sony PlayStation TIM and Sega Dreamcast PVR textures.

We also added export support for JPEG 2000 images, which is the standard for the digital cinema industry. This now matches our import support, which we’ve had since GIMP 2.8

In addition to our existing darktable and RawTherapee plug-ins, we’ve added support for using ART for editing Camera RAW images.

As a side effect of adding support for NASA‘s .hgt.zip image format, GIMP can now load compressed images from any format that we currently support.

Total Ink Coverage value

You can now see the Total Ink Coverage value for a color in the CMYK Color Selector. This is useful to know when soft-proofing your image for printing, as your printer may have an ink coverage limit to prevent over-saturation of the page.

https://www.gimp.org/release-notes/gimp-3.2.html#usability-improvements

This release is a GAME CHANGER!! Nothing will ever be the same. Adobe just got punched right in the face.

You can support Gimp

Thank you SO MUCH to developers, designers, translators, testers, donors and all members of our community 👏🏼👏🏼.

486
12

1W5yyEvd7kMTZsl.png

Preface: I know MediaWiki isn't part of the Fediverse, but the community is intended to be two parts (MediaWiki/nodeBB forums) and the forums will be federated. I could not find any active communities within the fediverse related to MediaWiki or wikis in general, so I figured this community might suffice, since ultimately this community as a whole will be federated through the forum.

Hello everyone, I have started on the journey to set up a community that focuses on open-licensed projects (open source/creative commons) where members can collaborate and network to help get their projects while contributing to a library of openly licensed projects.

The community is two parts: a MediaWiki & a nodeBB forum.
The idea is to have the wiki act as a hub to build/document open source projects, where individuals can contribute and help each other out in small ways, without necessarily needing to commit to a long term project - the community can work together to make small contributions to many projects to help the collective, rather then requiring individuals to formally commit to one or two projects long term. The forum is there to help people more easily communicate and network, and compliment the wiki as a collaboration platform/community building.


This project quickly got over my head, as it started out as an idea to create a forum to try and build a community for building up my open source projects. But the idea expanded and is now evolving to it's current state. I am figuring things out as I go, and have managed to get things mostly ready, but I have largely relied on LLMs and forums to get me this far. I am not experienced in wiki's or moderating a forum. I have found 2 other people who were interested in the project, so there are currently 3 of us that have been working to get this community platform up and running - but none of us are experienced in administrating MediaWiki or its settings.


The request:
I am hoping to find at least one "MediaWiki power-user" who can ensure we are following best practices, not opening ourselves up to vulnerabilities, etc. If someone who is potentially passionate in what we are trying to create, we would love to add another member (or a few) to our team to help ensure we are prepared to launch the community successfully.

In addition to setting up the community, it would obviously be nice you would also be interested in helping us moderate and maintain our community as we evolve.

I don't have any expectations for commitments, as this is simply a hobby project - whatever & whenever you can help.


Note: this endeavor is purely a hobby project, and I am just one person who is trying to find a few others who want to help contribute - this is by no means a business or intended as a source of revenue.

The wiki has registration closed at the moment, since we are still setting things up (be advised, some of the content may be broken or placeholder text), but if you want to check out more about our project to see if its something you are interested in: https://unfinishedprojects.net/

I hope someone might be interested :) . . . and if not, I am always open to simple feedback or suggestions if you have any, but don't have the time to actually help with the project.


If you are interested, please don't hesitate to reach out, and I'd be happy to discuss it further and details about joining the team. I obviously want to be careful about who I hand out permissions to, but overall, I believe that the more people and experience we have, the better; as long as you're a team player and want what is best for the project :D

487
7
488
7
submitted 5 months ago* (last edited 5 months ago) by ThorrJo@lemmy.sdf.org to c/opensource@programming.dev

good, good

edit: apparently it's satire, that's what I get for posting pre-covfefe

489
12

JADEx (Java Advanced Development Extension) is a safety layer that makes Java safer by adding Null-Safety and Final-by-Default semantics without modifying the JVM.


Null-Safety

NullPointerException (NPE) is one of the most common sources of runtime failures in Java applications.
Although modern Java provides tools such as Optional and static analysis, null-related bugs are still fundamentally a runtime problem in most Java codebases.

JADEx addresses this problem by introducing explicit nullability into the type system and enforcing safe access rules at compile time.

In JADEx:

  • Typenon-nullable by default
  • Type?nullable
  • ?.null-safe access operator
  • ?:Elvis operator (fallback value)

This design ensures that developers must explicitly acknowledge and handle nullable values before accessing them.

For example:

String? name = repository.findName(id);
String upper = name?.toLowerCase() ?: "UNKNOWN";

When compiled by JADEx, this code is translated into standard Java:

JADEx compiles null-safe expressions into standard Java using a small helper API(SafeAccess).

@Nullable String name = repository.findName(id);
String upper = SafeAccess.ofNullable(name).map(t0 -> t0.toLowerCase()).orElseGet(() -> "UNKNOWN");

In this example:

name is explicitly declared as nullable.

The ?. operator safely accesses toLowerCase() only if name is not null.

The ?: operator provides a fallback value if the result is null.

Instead of writing repetitive null-check logic such as:

if (name != null) {
    upper = name.toLowerCase();
} else {
    upper = "UNKNOWN";
}

JADEx allows the same logic to be expressed safely and concisely.

Most importantly, JADEx prevents unsafe operations at compile time. If a nullable variable is accessed without using the null-safe operator, the compiler will report an error.

This approach shifts null-related problems from runtime failures to compile-time feedback, helping developers detect issues earlier and build more reliable software.


Readonly (Final-by-Default)

JADEx also introduces optional readonly semantics through a final-by-default model.

In large Java codebases, accidental reassignment of variables or fields can lead to subtle bugs and make code harder to reason about. While Java provides the final keyword, it must be manually applied everywhere, which often results in inconsistent usage.

JADEx simplifies this by allowing developers to enable readonly mode with a single directive:

apply readonly;

Once enabled:

  • Fields, local variables, and parameters become final by default

  • JADEx automatically applies final where appropriate

  • Reassignment attempts are reported as compile-time errors

Example:

apply readonly;  
  
public class Example {  
    private int count = 0;  
  
    public static void main(String[] args) {  
        var example = new Example();  
        example.count = 10; // compile-time error  
    }  
}

Since count is generated as final, the reassignment results in a standard Java compile-time error.

If mutability is intentionally required, developers can explicitly opt in using the mutable modifier:

private mutable int counter = 0;

This approach encourages safer programming practices while keeping the code flexible when mutation is necessary.

When compiled, JADEx generates standard Java code with final modifiers applied where appropriate, ensuring full compatibility with the existing Java ecosystem.

//apply readonly;

@NullMarked
public class Example {
    private final int count = 0;

    public static void main(final String[] args) {
        final var example = new Example();
        example.count = 10; // compile-time error
    }
}

Summary

JADEx introduces two complementary safety mechanisms:

Null-Safety

  • Non-null by default

  • Explicit nullable types

  • Safe access operators (?., ?:)

  • Compile-time detection of unsafe null usage

Readonly (Final-by-Default)

  • Final by default

  • Explicit opt-in for mutability

  • Automatic final generation

  • Prevention of accidental reassignment

Together, these features strengthen Java’s type system while remaining fully compatible with existing Java libraries, tools, and workflows.

JADEx does not replace Java.
It simply adds a safety layer that makes Java safer while keeping full compatibility with the existing ecosystem.

490
59

Phased-array radars are great for all sorts of things, whether you’re doing advanced radio research or piloting a fifth-generation combat aircraft. They’re also typically very expensive. [Nawfal] hopes to make the technology more affordable with an open-source radar design of their own.

491
31

If you want to do livestreaming or video recording on Linux, OBS Studio is easily the best free and open source app you can get for it and v32.1.0 is out now

492
67

There's a bit of drama going on with the popular game manager Lutris right now, with users pointing out the developer using AI generated code via Anthropic's Claude.

Seems like something relevant to talk about, with AI tools being a huge cause of problems in the hardware industry. Like how the Steam Deck is constantly sold out and Valve can't even give us a price or release date of their upcoming hardware. All because these AI companies are sucking up all component manufacturing for their data centres. Every extra person using all these AI tools is only adding to the issue.

A user asked on the official Lutris GitHub two weeks ago "is lutris slop now" and noted an increasing amount of "LLM generated commits". To which the Lutris creator replied:

It's only slop if you don't know what you're doing and/or are using low quality tools. But I have over 30 years of programming experience and use the best tool currently available. It was tremendously helpful in helping me catch up with everything I wasn't able to do last year because of health issues / depression.

There are massive issues with AI tech, but those are caused by our current capitalist culture, not the tools themselves. In many ways, it couldn't have been implemented in a worse way but it was AI that bought all the RAM, it was OpenAI. It was not AI that stole copyrighted content, it was Facebook. It wasn't AI that laid off thousands of employees, it's deluded executives who don't understand that this tool is an augmentation, not a replacement for humans.

I'm not a big fan of having to pay a monthly sub to Anthropic, I don't like depending on cloud services. But a few months ago (and I was pretty much at my lowest back then, barely able to do anything), I realized that this stuff was starting to do a competent job and was very valuable. And at least I'm not paying Google, Facebook, OpenAI or some company that cooperates with the US army.

Anyway, I was suspecting that this "issue" might come up so I've removed the Claude co-authorship from the commits a few days ago. So good luck figuring out what's generated and what is not. Whether or not I use Claude is not going to change society, this requires changes at a deeper level, and we all know that nothing is going to improve with the current US administration.

493
13

I can't believe I've had an original idea in wanting a face system monitor. The face would change, skin color, eye size, ear flapping, mouth screaming, whatever, and the user could configure it how they wanted. Then I could get a quick system overview just by looking at the face in the corner of my screen. I'd code it up myself, but for 2 reasons. I think I'd tire of it quickly, as badly as I want to see it. I don't even know where to start with coding anything more than some bash scripting.

494
209

Lutris maintainer use AI generated code for some time now. The maintainer also removed the co-authorship of Claude, so no one knows which code was generated by AI.

Anyway, I was suspecting that this "issue" might come up so I've removed the Claude co-authorship from the commits a few days ago. So good luck figuring out what's generated and what is not.

sauce 1

sauce 2

495
25
496
16
submitted 5 months ago* (last edited 5 months ago) by NomNom@feddit.uk to c/opensource@programming.dev
497
108

There's a lot of age checking / age assurance bills going around right now, and System76 have entered the fight in Colorado to help open source.

I've recently written about the one in California, with Ubuntu and Fedora developers commenting on the situation, and how more US states are looking at doing it or already have it coming in. System76 are now throwing their hat in the ring, going directly to the source and starting the fight back.

498
46

Voiden is an offline-first, git-native API tool built on Markdown Voiden is an API client we have been building that takes a different approach from most existing tools.

It didn’t start with the idea of “building a better Postman”.

A bit of background. Over time, API tooling has become heavyweight: cloud dependencies for local work, forced accounts, proprietary formats, and workflows that break the moment you are offline. On top of that, time wasted on fixing API specs that don't match the code, docs in separate random tools, tests also separate and an overall governance mess. Not to mention collaboration.

So we asked a simple question: What if an API tool respected how developers already work?

That led to a few core ideas:

  • Offline-first , no accounts, no telemetry
  • Git as the source of truth.
  • Plain text files: specs, tests, and documentation live together in Markdown
  • A programmable interface instead of static forms: requests are composed from reusable blocks (endpoints, headers, auth, params, bodies, etc.) that you can structure the way you want
  • Plugin system for extending functionality rather than bloating the core with new features Some of our core plugins include gRPC,GraphQL,WebSockets,etc..

We have just also updated our docs to welcome community plugins, so teams can extend the tool for their own workflows or integrations. https://docs.voiden.md/docs/plugins/build-a-plugin

We opensourced Voiden because extensibility without openness just shifts the bottleneck. If (API) workflows should be transparent, the tools should be too.

Welcome to try out and share feedback- happy to chat with everyone.

Strong opinions are encouraged. :)

Github : https://github.com/VoidenHQ/voiden

Download here : https://voiden.md/download

499
25

On March 5, 2026, a threat actor exploited a classic "Pwn Request" vulnerability in the CI workflow of kubernetes-el/kubernetes-el, a popular Emacs package for managing Kubernetes clusters. The attacker stole the repository's GITHUB_TOKEN (with full write permissions), exfiltrated CI/CD secrets, defaced the repository, and injected destructive code.

The package has since been removed from MELPA (a popular third-party Emacs package repository) and blocked from updating on the Emacsmirror, affecting users who depend on it for Kubernetes management within Emacs.

500
50

cross-posted from: https://piefed.social/c/selfhosted/p/1860178/truenas-build-system-going-closed-source

Readme updated today: > > This repository is no longer actively maintained. > > The TrueNAS build system previously hosted here has been moved to an internal infrastructure. This transition was necessary to meet new security requirements, including support for Secure Boot and related platform integrity features that require tighter control over the build and signing pipeline. > > No further updates, pull requests, or issues will be accepted. Existing content is preserved here for historical reference only. > > https://github.com/truenas/scale-build > > Wondering if this is just the first step towards doing a minio in the future.

view more: ‹ prev next ›

Opensource

6636 readers
133 users here now

A community for discussion about open source software! Ask questions, share knowledge, share news, or post interesting stuff related to it!

CreditsIcon base by Lorc under CC BY 3.0 with modifications to add a gradient



founded 2 years ago
MODERATORS