Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2026-02

[ANN] PasBuild 1.2.0 Released

1 message · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Unknown author

Hi everyone,

PasBuild 1.2.0 has been released.

PasBuild is a Maven-inspired build automation tool for Free Pascal projects. It provides convention-based project structure, dependency management, multi-module builds, resource filtering, and packaging.

Homepage:
https://github.com/graemeg/pasbuild

What's New in 1.2.0
--------------------

Version Inheritance for Multi-Module Projects

Child modules in a multi-module project no longer need to declare their own <version> element. The version is automatically inherited from the aggregator (root) project.xml. This eliminates the need to manually synchronise version numbers across all modules when preparing a release.

If a child module does declare a <version>, it must match the aggregator's version. A mismatch produces a clear error message with guidance on how to resolve it.

Bug Fixes

* The test runner now executes from the output directory (target/), ensuring test fixtures are found via their expected relative paths. Previously, tests that relied on fixture files would fail with "file not found" errors.

* Packaging validation error messages now correctly reference "aggregator" projects, making it clearer why a library or application module cannot declare child <modules>.

* The `pasbuild init` command's multi-module template no longer generates a <version> tag in child module project.xml files, consistent with the new version inheritance behaviour.

* Resolved all compiler warnings in PasBuild's own source code, including implicit string type conversions from the DOM API, unused variables, and hidden inherited constructor warnings.

Compatibility Notes

* Existing single-module projects are unaffected.

* Existing multi-module projects that already declare matching versions in child modules continue to work without changes.

* Child modules may now omit <version> entirely (recommended).

Upgrade Instructions

Replace your existing pasbuild binary with the new 1.2.0 build. No project configuration changes are required, though removing <version> from child modules in multi-module projects is recommended.

Getting started
---------------

Documentation includes:

- Updated quick-start guide with multi-module examples
- Sample projects demonstrating simple and complex scenarios
- Multi-module project creation via 'pasbuild init'
- Full design specification with architecture details

PasBuild is free software released under the BSD-3-Clause license.

Regards,
- Graeme -